Elizabeth's proactive approach involves introducing urinal toilet attachment , an ingenious concept that optimizes space and functionality.

EditAdminInfo.vue 9.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. <template>
  2. <div class="app-container">
  3. <el-col :span="19" v-loading="loading">
  4. <el-form :model="form" ref="form" :rules="rules" label-width="100px">
  5. <el-form-item label="账号" prop="mobile">
  6. <el-input v-model="form.mobile" placeholder="用户手机号" :disabled="form.id !== 0"></el-input>
  7. </el-form-item>
  8. <el-form-item label="姓名" prop="name">
  9. <el-input v-model="form.name" placeholder="用户姓名"></el-input>
  10. </el-form-item>
  11. <el-form-item label="职称">
  12. <el-select v-model="form.user_type" placeholder="用户类型">
  13. <el-option v-for="item in user_types" :label="item.name" :value="item.index" :key="item.index"></el-option>
  14. </el-select>
  15. <el-select v-model="form.user_title" placeholder="用户职称">
  16. <el-option v-for="item in user_titles" :label="item.name" :value="item.index" :key="item.index"></el-option>
  17. </el-select>
  18. </el-form-item>
  19. <el-form-item label="角色" prop="role">
  20. <el-select v-model="form.role" placeholder="角色" >
  21. <el-option v-for="(item,index) in roles" :key="index" :label="item.name" :value="item.id"></el-option>
  22. </el-select>
  23. </el-form-item>
  24. <el-form-item label="介绍">
  25. <Tinymce :height=400 menubar='' ref="editor" v-model="form.intro" :show_upload_img="false" />
  26. </el-form-item>
  27. <el-form-item>
  28. <router-link to="/role/admin/manage">
  29. <el-button>取消</el-button>
  30. </router-link>
  31. <el-button type="primary" @click="submitAction">保存</el-button>
  32. </el-form-item>
  33. </el-form>
  34. </el-col>
  35. </div>
  36. </template>
  37. <script>
  38. import Tinymce from '@/components/Tinymce'
  39. import {getAddAdminInitData, addAdmin, getModifyAdminInitData, modifyAdmin} from '@/api/role/admin'
  40. // import store from '@/store'
  41. export default {
  42. name: 'EditAdminInfo',
  43. components: {
  44. Tinymce
  45. },
  46. data() {
  47. var checkMobile = (rule, value, callback) => {
  48. console.log(value)
  49. if (!value || value.length == 0) {
  50. return callback(new Error('手机号不能为空'))
  51. }
  52. if (/^1\d{10}$/.test(value) == false) {
  53. return callback(new Error('手机号格式错误'))
  54. } else {
  55. callback()
  56. }
  57. }
  58. var checkName = (rule, value, callback) => {
  59. if (!value || value.length == 0) {
  60. return callback(new Error('姓名不能为空'))
  61. } else {
  62. callback()
  63. }
  64. }
  65. return {
  66. user_types: [
  67. { index: 2, name: '医生' },
  68. { index: 3, name: '护士' },
  69. ],
  70. user_titles: [
  71. { index: 1, name: '医士' },
  72. { index: 2, name: '医师' },
  73. { index: 3, name: '住院医师' },
  74. { index: 4, name: '主治医师' },
  75. { index: 5, name: '副主任医师' },
  76. { index: 6, name: '主任医师' },
  77. { index: 7, name: '护士' },
  78. { index: 8, name: '护师' },
  79. { index: 9, name: '主管护师' },
  80. { index: 10, name: '副主任护师' },
  81. { index: 11, name: '主任护师' },
  82. { index: 12, name: '运营专员' },
  83. { index: 13, name: '运营主管' },
  84. ],
  85. roles: [], // [{id, name, intro, status}]
  86. loading: true,
  87. qntoken: '',
  88. form: {
  89. id: 0,
  90. mobile: '',
  91. name: '',
  92. user_type: '',
  93. user_title: '',
  94. role: '', // 其实应该是 int 类型
  95. intro: '',
  96. },
  97. rules: {
  98. mobile: [
  99. {validator: checkMobile, trigger: 'blur'}
  100. ],
  101. name: [
  102. {validator: checkName, trigger: 'blur'}
  103. ],
  104. role: [
  105. { required: true, message: '请选择角色', trigger: 'change' }
  106. ],
  107. }
  108. }
  109. },
  110. props: {
  111. admin_id: {
  112. type: Number,
  113. require: true
  114. }
  115. },
  116. created() {
  117. if (this.admin_id < 0) {
  118. this.$message.error("参数错误")
  119. this.loading = false
  120. return
  121. }
  122. this.form.id = this.admin_id
  123. if (this.admin_id === 0) {
  124. this.form.user_type = this.user_types[0].index
  125. this.form.user_title = this.user_titles[0].index
  126. getAddAdminInitData().then(rs => {
  127. this.loading = false
  128. var resp = rs.data
  129. if (resp.state === 1) {
  130. this.roles = []
  131. this.roles.push(...resp.data.roles)
  132. this.qntoken = resp.data.qntoken
  133. if (this.roles.length > 0) {
  134. this.form.role = this.roles[0].id
  135. }
  136. } else {
  137. this.$message.error(resp.msg)
  138. }
  139. }).catch(err => {
  140. this.loading = false
  141. this.$message.error(err)
  142. })
  143. } else {
  144. getModifyAdminInitData(this.form.id).then(rs => {
  145. this.loading = false
  146. var resp = rs.data
  147. if (resp.state === 1) {
  148. this.roles = []
  149. this.roles.push(...resp.data.roles)
  150. this.qntoken = resp.data.qntoken
  151. var admin = resp.data.admin
  152. this.form.name = admin.user_name
  153. this.form.mobile = admin.mobile
  154. this.form.user_type = admin.user_type
  155. this.form.user_title = admin.user_title
  156. this.form.role = admin.role_id
  157. this.form.intro = admin.intro
  158. this.form.deparment_id = admin.deparment_id
  159. } else {
  160. this.$message.error(resp.msg)
  161. }
  162. }).catch(err => {
  163. this.loading = false
  164. this.$message.error(err)
  165. })
  166. }
  167. },
  168. methods: {
  169. submitAction: function() {
  170. if (this.admin_id < 0) {
  171. return
  172. }
  173. console.log(this.form)
  174. if (this.form.role <= 0 || this.form.role == '' ){
  175. this.$message.error("请选择角色")
  176. return
  177. }
  178. this.$refs.form.validate((valid) => {
  179. if (valid) {
  180. this.loading = true
  181. if (this.form.id === 0) {
  182. addAdmin(this.form.mobile, this.form.name, this.form.user_type, this.form.user_title, this.form.role, this.form.intro).then(rs => {
  183. this.loading = false
  184. var resp = rs.data
  185. if (resp.state === 1) {
  186. this.$store.dispatch('DidChangeAdmins')
  187. var _this = this
  188. setTimeout(() => {
  189. _this.$store.dispatch('RecoverAdminsChangeState')
  190. }, 500)
  191. _this.$router.back(-1)
  192. } else {
  193. this.$message.error(resp.msg)
  194. }
  195. }).catch(err => {
  196. this.loading = false
  197. this.$message.error(err)
  198. })
  199. } else {
  200. modifyAdmin(this.form.id, this.form.name, this.form.user_type, this.form.user_title, this.form.role, this.form.intro).then(rs => {
  201. this.loading = false
  202. var resp = rs.data
  203. if (resp.state === 1) {
  204. this.$store.dispatch('DidChangeAdmins')
  205. var _this = this
  206. setTimeout(() => {
  207. _this.$store.dispatch('RecoverAdminsChangeState')
  208. }, 500)
  209. _this.$router.back(-1)
  210. } else {
  211. this.$message.error(resp.msg)
  212. }
  213. }).catch(err => {
  214. this.loading = false
  215. this.$message.error(err)
  216. })
  217. }
  218. } else {
  219. return false
  220. }
  221. })
  222. }
  223. }
  224. }
  225. </script>