UserManagementEdit.vue 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <template>
  2. <el-dialog
  3. :title="title"
  4. :visible.sync="dialogFormVisible"
  5. width="500px"
  6. @close="close"
  7. >
  8. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  9. <el-form-item label="用户名" prop="username">
  10. <el-input v-model.trim="form.username" autocomplete="off"></el-input>
  11. </el-form-item>
  12. <el-form-item label="密码" prop="password">
  13. <el-input
  14. v-model.trim="form.password"
  15. type="password"
  16. autocomplete="off"
  17. ></el-input>
  18. </el-form-item>
  19. <el-form-item label="邮箱" prop="email">
  20. <el-input v-model.trim="form.email" autocomplete="off"></el-input>
  21. </el-form-item>
  22. <el-form-item label="权限" prop="permissions">
  23. <el-checkbox-group v-model="form.permissions">
  24. <el-checkbox label="admin"></el-checkbox>
  25. <el-checkbox label="editor"></el-checkbox>
  26. </el-checkbox-group>
  27. </el-form-item>
  28. </el-form>
  29. <div slot="footer" class="dialog-footer">
  30. <el-button @click="close">取 消</el-button>
  31. <el-button type="primary" @click="save">确 定</el-button>
  32. </div>
  33. </el-dialog>
  34. </template>
  35. <script>
  36. import { doEdit } from "@/api/userManagement";
  37. export default {
  38. name: "UserManagementEdit",
  39. data() {
  40. return {
  41. form: {
  42. username: "",
  43. password: "",
  44. email: "",
  45. permissions: [],
  46. },
  47. rules: {
  48. username: [
  49. { required: true, trigger: "blur", message: "请输入用户名" },
  50. ],
  51. password: [
  52. { required: true, trigger: "blur", message: "请输入密码" },
  53. ],
  54. email: [{ required: true, trigger: "blur", message: "请输入邮箱" }],
  55. permissions: [
  56. { required: true, trigger: "blur", message: "请选择权限" },
  57. ],
  58. },
  59. title: "",
  60. dialogFormVisible: false,
  61. };
  62. },
  63. created() {},
  64. methods: {
  65. showEdit(row) {
  66. if (!row) {
  67. this.title = "添加";
  68. } else {
  69. this.title = "编辑";
  70. this.form = Object.assign({}, row);
  71. }
  72. this.dialogFormVisible = true;
  73. },
  74. close() {
  75. this.$refs["form"].resetFields();
  76. this.form = this.$options.data().form;
  77. this.dialogFormVisible = false;
  78. },
  79. save() {
  80. this.$refs["form"].validate(async (valid) => {
  81. if (valid) {
  82. const { msg } = await doEdit(this.form);
  83. this.$baseMessage(msg, "success");
  84. this.$emit("fetch-data");
  85. this.close();
  86. } else {
  87. return false;
  88. }
  89. });
  90. },
  91. },
  92. };
  93. </script>