From 31b647535e49f0a7b85d87a8c1e34c5ab92ca9d0 Mon Sep 17 00:00:00 2001 From: shikeying <pxzsky@163.com> Date: 星期五, 10 三月 2023 14:54:25 +0800 Subject: [PATCH] 修改数据字典 支持树结构 --- src/views/system/user/index.vue | 22 ++++++++-- src/views/system/dict/data.vue | 44 +++++++++++++++------ 2 files changed, 48 insertions(+), 18 deletions(-) diff --git a/src/views/system/dict/data.vue b/src/views/system/dict/data.vue index 1dfe2f9..fabc1dc 100644 --- a/src/views/system/dict/data.vue +++ b/src/views/system/dict/data.vue @@ -92,20 +92,21 @@ <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="瀛楀吀缂栫爜" align="center" prop="dict_code" /> - <el-table-column label="瀛楀吀鏍囩" align="center" prop="dict_label"> + <el-table-column label="瀛楀吀ID" align="center" prop="dict_code" /> + <el-table-column label="瀛楀吀鍚嶇О" align="center" prop="dict_label"> <template slot-scope="scope"> <span v-if="scope.row.list_class == '' || scope.row.list_class == 'default'">{{scope.row.dict_label}}</span> <el-tag v-else :type="scope.row.list_class == 'primary' ? '' : scope.row.list_class">{{scope.row.dict_label}}</el-tag> </template> </el-table-column> - <el-table-column label="瀛楀吀閿��" align="center" prop="dict_value" /> - <el-table-column label="瀛楀吀鎺掑簭" align="center" prop="dict_sort" /> + <el-table-column label="瀛楀吀鍊�" align="center" prop="dict_value" /> + <el-table-column label="鎺掑簭" align="center" prop="dict_sort" /> <el-table-column label="鐘舵��" align="center" prop="status"> <template slot-scope="scope"> <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> </template> </el-table-column> + <el-table-column label="鐖秈d" align="center" prop="parent_id" /> <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true" /> <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="create_time" width="180"> <!-- <template slot-scope="scope">--> @@ -143,14 +144,17 @@ <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 --> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="瀛楀吀ID"> + <el-input v-model="form.dict_code" :disabled="false" placeholder="涓�涓敮涓�鏁板瓧"/> + </el-form-item> <el-form-item label="瀛楀吀绫诲瀷"> <el-input v-model="form.dict_type" :disabled="true" /> </el-form-item> - <el-form-item label="鏁版嵁鏍囩" prop="dict_label"> + <el-form-item label="瀛楀吀鍚嶇О" prop="dict_label"> <el-input v-model="form.dict_label" placeholder="璇疯緭鍏ユ暟鎹爣绛�" /> </el-form-item> - <el-form-item label="鏁版嵁閿��" prop="dict_value"> - <el-input v-model="form.dict_value" placeholder="璇疯緭鍏ユ暟鎹敭鍊�" /> + <el-form-item label="瀛楀吀鍊�" prop="dict_value"> + <el-input v-model="form.dict_value" placeholder="涓嶅~鍜屽瓧鍏窱D涓�鑷�" /> </el-form-item> <el-form-item label="鏍峰紡灞炴��" prop="css_class"> <el-input v-model="form.css_class" placeholder="璇疯緭鍏ユ牱寮忓睘鎬�" /> @@ -176,6 +180,9 @@ :label="dict.value * 1" >{{dict.label}}</el-radio> </el-radio-group> + </el-form-item> + <el-form-item label="鐖跺瓧鍏窱D" prop="dict_label"> + <el-input v-model="form.parent_id" placeholder="鐖跺瓧鍏竔d锛屽繀濉�" /> </el-form-item> <el-form-item label="澶囨敞" prop="remark"> <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> @@ -250,7 +257,7 @@ // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, - pageSize: 10, + pageSize: 15, dictName: undefined, dictType: undefined, status: undefined @@ -259,16 +266,23 @@ form: {}, // 琛ㄥ崟鏍¢獙 rules: { + dict_code: [ + { required: true, message: "瀛楀吀id蹇呴』杈撳叆", trigger: "blur" } + ], dict_label: [ { required: true, message: "鏁版嵁鏍囩涓嶈兘涓虹┖", trigger: "blur" } ], - dict_value: [ - { required: true, message: "鏁版嵁閿�间笉鑳戒负绌�", trigger: "blur" } + parent_id: [ + { required: true, message: "鐖秈d涓嶈兘涓虹┖", trigger: "blur" } ], + // dict_value: [ + // { required: true, message: "鏁版嵁閿�间笉鑳戒负绌�", trigger: "blur" } + // ], dict_sort: [ { required: true, message: "鏁版嵁椤哄簭涓嶈兘涓虹┖", trigger: "blur" } ] - } + }, + editMode: false }; }, created() { @@ -316,6 +330,7 @@ list_class: 'default', dict_sort: 0, status: "0", + parent_id: undefined, remark: undefined }; this.resetForm("form"); @@ -339,6 +354,7 @@ /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { this.reset(); + this.editMode = false; this.open = true; this.title = "娣诲姞瀛楀吀鏁版嵁"; // this.form.dictType = this.queryParams.dictType; @@ -353,6 +369,7 @@ /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { this.reset(); + this.editMode = true; const dictCode = row.dict_code || this.ids getData(dictCode).then(response => { this.form = response.data; @@ -364,7 +381,8 @@ submitForm: function() { this.$refs["form"].validate(valid => { if (valid) { - if (this.form.dict_code != undefined) { + // if (this.form.dict_code != undefined) { + if (this.editMode == true) { updateData(this.form).then(response => { this.$store.dispatch('dict/removeDict', this.queryParams.dictType); this.$modal.msgSuccess("淇敼鎴愬姛"); @@ -372,7 +390,7 @@ this.getList(); }); } else { - // console.log(this.form); + console.log(this.form); addData(this.form).then(response => { this.$store.dispatch('dict/removeDict', this.queryParams.dictType); this.$modal.msgSuccess("鏂板鎴愬姛"); diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index f5f512f..63b646b 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -425,7 +425,7 @@ // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, - pageSize: 10, + pageSize: 15, userName: undefined, phonenumber: undefined, status: undefined, @@ -498,10 +498,18 @@ ); }, /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ - getTreeselect() { - treeselect(this.queryParams.deptId).then(response => { + getTreeselect(deptId) { + // treeselect(this.queryParams.deptId).then(response => { + // this.deptOptions = response.data; + // }); + if(deptId == undefined || deptId == ""){ + this.$modal.alert("璇烽�夋嫨涓�涓儴闂�"); + return false; + } + treeselect(deptId).then(response => { this.deptOptions = response.data; }); + return true; }, // 2022-12-08锛屽姞杞介《绾ф満鏋勬爲鍒楄〃 @@ -594,7 +602,9 @@ // this.$modal.msgSuccess("璇峰厛閫夋嫨涓�涓《绾ф満鏋�"); // return; // } - this.getTreeselect(); + if(!this.getTreeselect(this.queryParams.deptId)){ + return; + } // getUser().then(response => { getNewUserRoles(this.queryParams.deptId).then(response => { // this.postOptions = response.posts; @@ -603,11 +613,12 @@ this.title = "娣诲姞鐢ㄦ埛"; this.form.password = this.initPassword; }); + }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { this.reset(); - this.getTreeselect(); + // this.getTreeselect(); // const userId = row.id || this.ids; const userId = row.id; getUser(userId).then(response => { @@ -619,6 +630,7 @@ this.open = true; this.title = "淇敼鐢ㄦ埛"; this.form.password = ""; + this.getTreeselect(this.form.dept_id); }); }, /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ -- Gitblit v1.9.1