|
@@ -1,6 +1,6 @@
|
|
<template>
|
|
<template>
|
|
<el-form
|
|
<el-form
|
|
- label-width="40px"
|
|
|
|
|
|
+ label-width="52px"
|
|
:model="editForm"
|
|
:model="editForm"
|
|
:rules="rules"
|
|
:rules="rules"
|
|
ref="editForm"
|
|
ref="editForm"
|
|
@@ -31,14 +31,22 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="角色" prop="roleId">
|
|
<el-form-item label="角色" prop="roleId">
|
|
<el-select v-model="editForm.roleId" placeholder="请选择角色...">
|
|
<el-select v-model="editForm.roleId" placeholder="请选择角色...">
|
|
- <el-option label="管理员" value="1"></el-option>
|
|
|
|
- <el-option label="测试人员" value="2"></el-option>
|
|
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="r of roles"
|
|
|
|
+ :key="r.id"
|
|
|
|
+ :label="r.name"
|
|
|
|
+ :value="r.id"
|
|
|
|
+ ></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="部门" prop="deptId">
|
|
<el-form-item label="部门" prop="deptId">
|
|
<el-select v-model="editForm.deptId" placeholder="请选择部门...">
|
|
<el-select v-model="editForm.deptId" placeholder="请选择部门...">
|
|
- <el-option label="总经办" value="1"></el-option>
|
|
|
|
- <el-option label="开发部" value="2"></el-option>
|
|
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="d of depts"
|
|
|
|
+ :key="d.id"
|
|
|
|
+ :label="d.name"
|
|
|
|
+ :value="d.id"
|
|
|
|
+ ></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
@@ -50,6 +58,10 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
+import { getAllRoles } from '@/api/roles';
|
|
|
|
+import { getAllDepts } from '@/api/dept';
|
|
|
|
+import { addUser } from '@/api/users';
|
|
|
|
+
|
|
export default {
|
|
export default {
|
|
name: 'UserEdit',
|
|
name: 'UserEdit',
|
|
props: ['id'],
|
|
props: ['id'],
|
|
@@ -63,11 +75,77 @@ export default {
|
|
deptId: '',
|
|
deptId: '',
|
|
face: '',
|
|
face: '',
|
|
},
|
|
},
|
|
|
|
+ rules: {
|
|
|
|
+ username: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ message: '账号必须填写!',
|
|
|
|
+ trigger: 'blur',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ password: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ message: '密码必须填写!',
|
|
|
|
+ trigger: 'blur',
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ min: 3,
|
|
|
|
+ max: 16,
|
|
|
|
+ message: '密码长度在3-16之间!',
|
|
|
|
+ trigger: 'blur',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ nickname: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ message: '昵称必须填写!',
|
|
|
|
+ trigger: 'blur',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ },
|
|
|
|
+ roles: [],
|
|
|
|
+ depts: [],
|
|
};
|
|
};
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- resetForm() {},
|
|
|
|
- submitForm() {},
|
|
|
|
|
|
+ resetForm() {
|
|
|
|
+ this.$refs.editForm.resetFields();
|
|
|
|
+ },
|
|
|
|
+ async submitForm() {
|
|
|
|
+ let valid = await this.$refs.editForm.validate().catch((err) => false);
|
|
|
|
+
|
|
|
|
+ // if (valid) {
|
|
|
|
+ // // ...
|
|
|
|
+ // }
|
|
|
|
+ if (!valid) return;
|
|
|
|
+
|
|
|
|
+ // 表单验证成功
|
|
|
|
+ // 此时有两种可能:新增用户 修改用户
|
|
|
|
+ if (this.id) {
|
|
|
|
+ // 修改用户
|
|
|
|
+ } else {
|
|
|
|
+ // 新增用户
|
|
|
|
+ let { code, msg } = await addUser(this.editForm).catch((err) => err);
|
|
|
|
+
|
|
|
|
+ this.$message(msg);
|
|
|
|
+
|
|
|
|
+ // 如果添加成功 需要将对话框关闭同时刷新数据
|
|
|
|
+ this.$store.commit('users/setDialogVisible', false);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ async fetchRoles() {
|
|
|
|
+ let { code, data } = await getAllRoles().catch((err) => err);
|
|
|
|
+ code === 200 && (this.roles = data.list);
|
|
|
|
+ },
|
|
|
|
+ async fetchDepts() {
|
|
|
|
+ let { code, data } = await getAllDepts().catch((err) => err);
|
|
|
|
+ code === 200 && (this.depts = data.list);
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ mounted() {
|
|
|
|
+ this.fetchRoles();
|
|
|
|
+ this.fetchDepts();
|
|
},
|
|
},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|