edit.vue 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <template>
  2. <div v-loading="loading">
  3. <div class="white-box">
  4. <el-form ref="form" :model="form" label-width="250px" class="bkele-form-page">
  5. <el-form-item v-show="isAddOrEdit" :label="$t('Administrator.loginAccount')">
  6. <el-input v-model="form.adminName" :disabled="isEdit" />
  7. </el-form-item>
  8. <el-form-item v-show="isAddOrEdit" :label="$t('Administrator.name')">
  9. <el-input v-model="form.realName" />
  10. </el-form-item>
  11. <el-form-item v-show="isAddOrEdit" :label="$t('Administrator.role')">
  12. <el-select v-model="form.roleId" :placeholder="$t('Administrator.pleaseSelectRole')">
  13. <el-option v-for="item in roles" :key="item.ID" :label="item.ROLE_NAME" :value="item.ID" />
  14. </el-select>
  15. </el-form-item>
  16. <el-form-item :label="$t('Administrator.password')"><!-- 密码 -->
  17. <el-input v-model="form.password" type="password" />
  18. </el-form-item>
  19. <el-form-item :label="$t('Administrator.confirmPassword')"><!-- 确认密码 -->
  20. <el-input v-model="form.surePassword" type="password" />
  21. </el-form-item>
  22. <el-form-item v-show="isAddOrEdit" :label="$t('Administrator.bindIp')">
  23. <el-input
  24. v-model="form.bindIp"
  25. type="textarea"
  26. :rows="4"
  27. :placeholder="$t('Administrator.pleaseInputContent')"
  28. />
  29. <el-tag type="info">{{ $t("Administrator.bindIpNotice") }}</el-tag>
  30. </el-form-item>
  31. <el-form-item v-show="isAddOrEdit" :label="$t('common.note')">
  32. <el-input v-model="form.remark" />
  33. </el-form-item>
  34. <el-form-item v-show="isAddOrEdit" :label="$t('Administrator.isEnable')">
  35. <el-switch v-model="form.isEnable" />
  36. </el-form-item>
  37. <el-form-item v-show="isAddOrEdit" :label="$t('Administrator.isModifyPwd')">
  38. <el-switch v-model="form.isModifyPassword" />
  39. </el-form-item>
  40. <el-form-item>
  41. <el-button type="primary" :loading="submitButtonStat" @click="onSubmit">{{ $t('common.save') }}<!--保存--></el-button>
  42. </el-form-item>
  43. </el-form>
  44. </div>
  45. </div>
  46. </template>
  47. <script>
  48. import { adminAddAndEditAndChangePassword, adminAdd, adminEdit } from '@/api/filter'
  49. export default {
  50. name: 'RoleAdd',
  51. data() {
  52. return {
  53. form: {
  54. adminName: null,
  55. realName: null,
  56. remark: null,
  57. isEnable: true,
  58. isModifyPassword: false,
  59. bindIp: '',
  60. roleId: null,
  61. password: null,
  62. surePassword: null
  63. },
  64. loading: true,
  65. submitButtonStat: false,
  66. isEdit: false,
  67. roles: null
  68. }
  69. },
  70. computed: {
  71. isAddOrEdit() {
  72. if (this.$route.name === 'admin_add' || this.$route.name === 'admin_edit') {
  73. return true
  74. }
  75. return false
  76. }
  77. },
  78. watch: {
  79. '$route'() {
  80. for (const i in this.form) {
  81. this.form[i] = null
  82. }
  83. }
  84. },
  85. mounted() {
  86. if (this.$route.name === 'admin_edit') {
  87. adminEdit(this.$route.params.id).then(response => {
  88. this.form = response.data.oneData
  89. this.roles = response.data.adminRoles
  90. this.loading = false
  91. this.isEdit = true
  92. }).catch(err => {
  93. console.log('err=============' + err)
  94. this.loading = false
  95. this.$message({
  96. message: err,
  97. type: 'error'
  98. })
  99. })
  100. } else if (this.$route.name === 'admin_add') {
  101. adminAdd().then(response => {
  102. this.roles = response.data.adminRoles
  103. this.loading = false
  104. }).catch(err => {
  105. console.log('err=============' + err)
  106. this.loading = false
  107. this.$message({
  108. message: err,
  109. type: 'error'
  110. })
  111. })
  112. } else {
  113. this.loading = false
  114. }
  115. },
  116. methods: {
  117. onSubmit() {
  118. this.submitButtonStat = true
  119. let path = 'admin/add'
  120. if (this.$route.name === 'admin_edit') {
  121. path = 'admin/edit/' + this.$route.params.id
  122. } else if (this.$route.name === 'admin_change-password') {
  123. path = 'admin/change-password'
  124. }
  125. adminAddAndEditAndChangePassword(path, this.form).then(response => {
  126. this.submitButtonStat = false
  127. console.log(response)
  128. this.$message({
  129. message: response.data,
  130. type: 'success'
  131. })
  132. this.$router.go(-1)
  133. }).catch(err => {
  134. console.log('err=============' + err)
  135. this.submitButtonStat = false
  136. this.$message({
  137. message: err,
  138. type: 'error'
  139. })
  140. })
  141. }
  142. }
  143. }
  144. </script>
  145. <style scoped>
  146. .el-form-item{
  147. margin-top: 35px;
  148. }
  149. @media (min-width: 761px) {
  150. /deep/ .el-input__inner {
  151. width: 500px;
  152. }
  153. }
  154. @media (max-width:760px) {
  155. /deep/ .white-box {
  156. padding: 0px 0px;
  157. }
  158. /deep/ .el-form-item__content {
  159. margin-left:150px !important;
  160. }
  161. /deep/ .el-form-item__label {
  162. width:150px !important;
  163. }
  164. /deep/ .el-input__inner {
  165. width: 150px;
  166. }
  167. /* .el-input {
  168. width: 90%;
  169. } */
  170. }
  171. </style>