From e7eb78c74a233f665a24e99d5a3bd847c46feee7 Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期三, 03 四月 2024 18:23:15 +0800
Subject: [PATCH] 1
---
src/views/console/system/addUser.vue | 156 ++++++++++++++++++++++++++++-----------------------
1 files changed, 85 insertions(+), 71 deletions(-)
diff --git a/src/views/console/system/addUser.vue b/src/views/console/system/addUser.vue
index dd9b703..9f5f8fd 100644
--- a/src/views/console/system/addUser.vue
+++ b/src/views/console/system/addUser.vue
@@ -3,46 +3,46 @@
<el-form :model="form" :rules="rules" :disabled="mode=='show'" ref="dialogForm" label-width="120px" label-position="center">
<el-row>
<el-col :span="12">
- <el-form-item label="璐﹀彿" prop="userName">
- <el-input v-model="form.userName" placeholder="宀椾綅缂栧彿" clearable></el-input>
+ <el-form-item label="璐﹀彿" prop="account">
+ <el-input v-model="form.account" placeholder="璐﹀彿" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="璐﹀彿鏄电О" prop="name">
- <el-input v-model="form.name" placeholder="宀椾綅" clearable></el-input>
+ <el-form-item label="璐﹀彿鏄电О" prop="realName">
+ <el-input v-model="form.realName" placeholder="璐﹀彿鏄电О" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="瀵嗙爜" prop="name">
- <el-input v-model="form.name" placeholder="宀椾綅" clearable></el-input>
+ <el-form-item label="瀵嗙爜" prop="password">
+ <el-input v-model="form.password" placeholder="瀵嗙爜" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鎵嬫満鍙�" prop="name">
- <el-input v-model="form.name" placeholder="宀椾綅" clearable></el-input>
+ <el-form-item label="鎵嬫満鍙�">
+ <el-input v-model="form.phone" placeholder="鎵嬫満鍙�" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閭" prop="name">
- <el-input v-model="form.name" placeholder="宀椾綅" clearable></el-input>
+ <el-form-item label="閭">
+ <el-input v-model="form.email" placeholder="閭" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍏宠仈鍛樺伐" prop="name">
- <el-input v-model="form.name" placeholder="宀椾綅" clearable></el-input>
+ <el-form-item label="鍏宠仈鍛樺伐">
+ <el-cascader v-model="form.employeeId" :options="employeeIdOptions" :props="{value: 'id',label: 'name'}" placeholder="宀椾綅" style="width: 100%" clearable @change="employeeIdChange"/>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鏁版嵁鏉冮檺" prop="name">
- <el-select v-model="form.name" style="width: 100%">
- <el-option v-for="item in groups" :key="item.id" :label="item.label" :value="item.id"/>
+ <el-form-item label="鏁版嵁鏉冮檺" prop="deptId">
+ <el-select v-model="form.deptId" multiple style="width: 100%" @change="deptIdChange">
+ <el-option v-for="item in deptIdList" :key="item.id" :label="item.title" :value="item.id"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鎵�灞炶鑹�" prop="name">
- <el-select v-model="form.name" style="width: 100%">
- <el-option v-for="item in groups" :key="item.id" :label="item.label" :value="item.id"/>
+ <el-form-item label="鎵�灞炶鑹�" prop="roleId">
+ <el-select v-model="form.roleId" multiple collapse-tags collapse-tags-tooltip :max-collapse-tags="3" style="width: 100%" @change="roleIdChange">
+ <el-option v-for="item in roleList" :key="item.id" :label="item.roleName" :value="item.id"/>
</el-select>
</el-form-item>
</el-col>
@@ -60,7 +60,9 @@
emits: ['success', 'closed'],
data() {
return {
- value1: true,
+ deptIdList: [],
+ employeeIdOptions: [],
+ roleList: [],
mode: "add",
titleMap: {
add: '鏂板缓璐﹀彿',
@@ -71,49 +73,22 @@
isSaveing: false,
//琛ㄥ崟鏁版嵁
form: {
- id:"",
- userName: "",
- avatar: "",
- name: "",
- dept: "",
- group: []
+ account: "",
+ realName: "",
+ password: "",
+ phone: "",
+ email: "",
+ employeeId: "",
+ deptId: "",
+ roleId: ""
},
//楠岃瘉瑙勫垯
rules: {
- avatar:[
- {required: true, message: '璇蜂笂浼犲ご鍍�'}
- ],
- userName: [
- {required: true, message: '璇疯緭鍏ョ櫥褰曡处鍙�'}
- ],
- name: [
- {required: true, message: '璇疯緭鍏ョ湡瀹炲鍚�'}
- ],
- password: [
- {required: true, message: '璇疯緭鍏ョ櫥褰曞瘑鐮�'},
- {validator: (rule, value, callback) => {
- if (this.form.password2 !== '') {
- this.$refs.dialogForm.validateField('password2');
- }
- callback();
- }}
- ],
- password2: [
- {required: true, message: '璇峰啀娆¤緭鍏ュ瘑鐮�'},
- {validator: (rule, value, callback) => {
- if (value !== this.form.password) {
- callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
- }else{
- callback();
- }
- }}
- ],
- dept: [
- {required: true, message: '璇烽�夋嫨鎵�灞為儴闂�'}
- ],
- group: [
- {required: true, message: '璇烽�夋嫨鎵�灞炶鑹�', trigger: 'change'}
- ]
+ account:[{required: true, message: '璇疯緭鍏ヨ处鍙�'}],
+ realName:[{required: true, message: '璇疯緭鍏ユ樀绉�'}],
+ password:[{required: true, message: '璇疯緭鍏ュ瘑鐮�'}],
+ deptId:[{required: true, message: '璇烽�夋嫨鏁版嵁鏉冮檺', trigger: 'change'}],
+ roleId:[{required: true, message: '璇烽�夋嫨鎵�灞炶鑹�', trigger: 'change'}],
},
//鎵�闇�鏁版嵁閫夐」
groups: [],
@@ -130,10 +105,20 @@
}
},
mounted() {
- // this.getGroup()
- // this.getDept()
+ this.getRole();
+ this.getDeptIdList();
+ this.getEmployee();
},
methods: {
+ employeeIdChange(val) { //鍏宠仈鍛樺伐
+ val = val[val.length - 1];
+ },
+ roleIdChange(val) { //鏁版嵁鏉冮檺
+ this.form.roleIdStr = val.join(",");
+ },
+ deptIdChange(val) { //鏁版嵁鏉冮檺
+ this.form.deptIdStr = val.join(",");
+ },
//鏄剧ず
open(mode='add'){
this.mode = mode;
@@ -151,23 +136,52 @@
},
//琛ㄥ崟鎻愪氦鏂规硶
submit(){
+ var obj = Object.assign({},this.form);
+ obj.employeeId = obj.employeeIdStr;
+ obj.deptId = obj.deptIdStr;
+ obj.roleId = obj.roleIdStr;
+ delete obj.employeeIdStr;
+ delete obj.deptIdStr;
+ delete obj.roleIdStr;
this.$refs.dialogForm.validate(async (valid) => {
if (valid) {
- this.isSaveing = true;
- var res = await this.$API.demo.post.post(this.form);
- this.isSaveing = false;
- if(res.code == 200){
- this.$emit('success', this.form, this.mode)
- this.visible = false;
- this.$message.success("鎿嶄綔鎴愬姛")
- }else{
- this.$alert(res.message, "鎻愮ず", {type: 'error'})
- }
+ //this.isSaveing = true;
+ this.$HTTP.post("/api/blade-user/submit",obj).then(res=> {
+ this.isSaveing = false;
+ if(res.code == 200) {
+ this.$emit('success', this.form, this.mode);
+ this.visible = false;
+ this.$message.success("鎿嶄綔鎴愬姛");
+ }else {
+ this.$alert(res.message, "鎻愮ず", {type: 'error'});
+ }
+ })
}else{
return false;
}
})
},
+ getRole() {
+ this.$HTTP.get("/api/blade-system/role/list?roleAlias=&roleName=").then(res=> {
+ if(res.code == 200) {
+ this.roleList = res.data;
+ }
+ })
+ },
+ getDeptIdList() {
+ this.$HTTP.get("/api/blade-system/data-scope-manager/tree?tenantId=000000").then(res=> {
+ if(res.code == 200) {
+ this.deptIdList = res.data;
+ }
+ })
+ },
+ getEmployee() {
+ this.$HTTP.get("/api/blade-cps/employee/unbind-employee?employeeId=").then(res=> {
+ if(res.code == 200) {
+ this.employeeIdOptions = res.data;
+ }
+ })
+ },
//琛ㄥ崟娉ㄥ叆鏁版嵁
setData(data){
this.form.id = data.id
--
Gitblit v1.9.3