UserEdit.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <template>
  2. <div class="user-edit part-box part-box-pad part-box-border">
  3. <el-form
  4. ref="modalFormComp"
  5. :model="modalForm"
  6. :rules="rules"
  7. label-width="100px"
  8. >
  9. <el-form-item prop="loginName" label="用户名:">
  10. <el-input
  11. style="width:282px;"
  12. v-model.trim="modalForm.loginName"
  13. placeholder="请输入用户名"
  14. clearable
  15. ></el-input>
  16. </el-form-item>
  17. <el-form-item prop="name" label="姓名:">
  18. <el-input
  19. style="width:282px;"
  20. v-model.trim="modalForm.name"
  21. placeholder="请输入姓名"
  22. clearable
  23. ></el-input>
  24. </el-form-item>
  25. <el-form-item prop="roleCode" label="角色:">
  26. <el-select
  27. style="width:142px;"
  28. v-model="modalForm.roleCode"
  29. placeholder="请选择角色"
  30. >
  31. <el-option
  32. v-for="item in roles"
  33. :key="item.id"
  34. :label="item.roleName"
  35. :value="item.roleCode"
  36. >
  37. </el-option>
  38. </el-select>
  39. </el-form-item>
  40. <el-form-item>
  41. <el-button
  42. style="width:88px;"
  43. type="primary"
  44. :disabled="isSubmit"
  45. @click="submit('modalFormComp')"
  46. >保存</el-button
  47. >
  48. <el-button style="width:88px;" @click="goback">返回</el-button>
  49. </el-form-item>
  50. </el-form>
  51. </div>
  52. </template>
  53. <script>
  54. import { updateUser, userDetail, roleList } from "../api";
  55. export default {
  56. name: "user-edit",
  57. data() {
  58. return {
  59. modalForm: {
  60. userId: "",
  61. name: "",
  62. loginName: "",
  63. roleCode: ""
  64. },
  65. rules: {
  66. name: [
  67. {
  68. required: true,
  69. message: "请输入用户名",
  70. trigger: "change"
  71. }
  72. ],
  73. loginName: [
  74. {
  75. required: true,
  76. message: "请输入姓名",
  77. trigger: "change"
  78. }
  79. ],
  80. roleCode: [
  81. {
  82. required: true,
  83. message: "请选择角色",
  84. trigger: "change"
  85. }
  86. ]
  87. },
  88. roles: [],
  89. isSubmit: false
  90. };
  91. },
  92. created() {
  93. this.init();
  94. },
  95. methods: {
  96. async init() {
  97. const data = await roleList();
  98. this.roles = data.records;
  99. const user = await userDetail(this.$route.params.userId);
  100. if (!user.account) {
  101. this.$message.error("当前用户不存在!");
  102. return;
  103. }
  104. this.modalForm = Object.assign({}, this.modalForm, user.account);
  105. },
  106. async submit(name) {
  107. const valid = await this.$refs[name].validate().catch(() => {});
  108. if (!valid) return;
  109. if (this.isSubmit) return;
  110. this.isSubmit = true;
  111. const data = await updateUser(this.modalForm).catch(() => {});
  112. this.isSubmit = false;
  113. if (!data) return;
  114. this.gaback();
  115. }
  116. }
  117. };
  118. </script>