From 95075418735842f54c116c2dc2d18199d4408e50 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 09 一月 2025 16:36:13 +0800 Subject: [PATCH] 无锡提交 --- src/views/system/user/index.vue | 241 ++++++++++++++++++++++++++++++++++------------- 1 files changed, 173 insertions(+), 68 deletions(-) diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 23cce5e..6fb0d9f 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -37,10 +37,19 @@ v-show="showSearch" label-width="68px" > - <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName"> + <el-form-item label="鐢ㄦ埛宸ュ彿" prop="userName"> <el-input v-model="queryParams.userName" - placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" + placeholder="璇疯緭鍏ョ敤鎴峰伐鍙�" + clearable + style="width: 240px" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName"> + <el-input + v-model="queryParams.nickName" + placeholder="璇疯緭鍏ョ敤鎴锋樀绉�" clearable style="width: 240px" @keyup.enter.native="handleQuery" @@ -70,7 +79,8 @@ /> </el-select> </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿"> + + <!-- <el-form-item label="鍒涘缓鏃堕棿"> <el-date-picker v-model="dateRange" style="width: 240px" @@ -80,7 +90,7 @@ start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" ></el-date-picker> - </el-form-item> + </el-form-item> --> <el-form-item> <el-button type="primary" @@ -174,7 +184,7 @@ v-if="columns[0].visible" /> <el-table-column - label="鐢ㄦ埛鍚嶇О" + label="鐢ㄦ埛宸ュ彿" align="center" key="userName" prop="userName" @@ -189,14 +199,14 @@ v-if="columns[2].visible" :show-overflow-tooltip="true" /> - <el-table-column + <!-- <el-table-column label="閮ㄩ棬" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" - /> + /> --> <el-table-column label="鎵嬫満鍙风爜" align="center" @@ -304,52 +314,55 @@ /> </el-form-item> </el-col> - <!-- <el-col :span="12"> - <el-form-item label="褰掑睘閮ㄩ棬" prop="deptId"> - <treeselect - v-model="form.depts" - :options="deptOptions" - :multiple="true" - :show-count="true" - placeholder="璇烽�夋嫨褰掑睘閮ㄩ棬" - /> + <el-col :span="12"> + <el-form-item label="鎮h�呰寖鍥�" prop="status"> + <el-select + v-model="form.searchscope" + placeholder="鎮h�呰寖鍥�" + clearable + > + <el-option + v-for="dict in searchscopelist" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> </el-form-item> - </el-col> --> + </el-col> </el-row> <el-form-item label="閫傜敤绉戝" prop="region"> - <el-cascader - style="width: 478px" - v-model="form.leaveldeptcodes" - :options="deptOptions" - :props="props" - :show-all-levels="false" - clearable - > - <template slot-scope="{ node, data }"> - <span>{{ data.label }}</span> - <span v-if="!node.isLeaf"> - ({{ data.children.length }}) - </span> - </template> - </el-cascader> - </el-form-item> - <el-form-item label="閫傜敤闄㈠尯" prop="region"> - <el-cascader - style="width: 478px" - v-model="form.leavehospitaldistrictcodes" - :options="deptOptions" - :props="props" - :show-all-levels="false" - clearable - > - <template slot-scope="{ node, data }"> - <span>{{ data.label }}</span> - <span v-if="!node.isLeaf"> - ({{ data.children.length }}) - </span> - </template> - </el-cascader> - </el-form-item> + <el-cascader + style="width: 478px" + v-model="form.deptCodes" + @remove-tag="removehpsp" + :options="deptOptions" + :props="props" + :show-all-levels="false" + clearable + > + <template slot-scope="{ node, data }"> + <span>{{ data.label }}</span> + <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> + </template> + </el-cascader> + </el-form-item> + <el-form-item label="閫傜敤鐥呭尯" prop="region"> + <el-cascader + style="width: 478px" + @remove-tag="removehpsp" + v-model="form.wardCodes" + :options="deptOptions" + :props="props" + :show-all-levels="false" + clearable + > + <template slot-scope="{ node, data }"> + <span>{{ data.label }}</span> + <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> + </template> + </el-cascader> + </el-form-item> <el-row> <el-col :span="12"> <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> @@ -374,12 +387,12 @@ <el-col :span="12"> <el-form-item v-if="form.userId == undefined" - label="鐢ㄦ埛鍚嶇О" + label="鐢ㄦ埛宸ュ彿" prop="userName" > <el-input v-model="form.userName" - placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" + placeholder="璇疯緭鍏ョ敤鎴峰伐鍙�" maxlength="30" /> </el-form-item> @@ -426,6 +439,7 @@ </el-form-item> </el-col> </el-row> + <el-row> <el-col :span="12"> <el-form-item label="宀椾綅"> @@ -532,12 +546,15 @@ addUser, updateUser, resetUserPwd, + adduserdept, + removeusertd, changeUserStatus, deptTreeSelect, } from "@/api/system/user"; import { getToken } from "@/utils/auth"; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; +import { type } from "jquery"; export default { name: "User", @@ -582,7 +599,7 @@ children: "children", label: "label", }, - props: { multiple: true, value: "id", label: "label" }, + props: { multiple: true, value: "deptCode", label: "label" }, // 鐢ㄦ埛瀵煎叆鍙傛暟 upload: { // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� @@ -607,24 +624,31 @@ status: undefined, deptId: undefined, }, + searchscopelist: [ + { value: "1", label: "绉戝" }, + { value: "2", label: "鐥呭尯" }, + { value: "0", label: "鍏ㄩ儴" }, + { value: "9", label: "鏃�" }, + ], // 鍒椾俊鎭� columns: [ { key: 0, label: `鐢ㄦ埛缂栧彿`, visible: true }, - { key: 1, label: `鐢ㄦ埛鍚嶇О`, visible: true }, + { key: 1, label: `鐢ㄦ埛宸ュ彿`, visible: true }, { key: 2, label: `鐢ㄦ埛鏄电О`, visible: true }, { key: 3, label: `閮ㄩ棬`, visible: true }, { key: 4, label: `鎵嬫満鍙风爜`, visible: true }, { key: 5, label: `鐘舵�乣, visible: true }, { key: 6, label: `鍒涘缓鏃堕棿`, visible: true }, ], + // 琛ㄥ崟鏍¢獙 rules: { userName: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, + { required: true, message: "鐢ㄦ埛宸ュ彿涓嶈兘涓虹┖", trigger: "blur" }, { min: 2, max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", + message: "鐢ㄦ埛宸ュ彿闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", trigger: "blur", }, ], @@ -685,9 +709,14 @@ }, /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ getDeptTree() { + // 绉戝鍒楄〃 deptTreeSelect().then((response) => { this.deptOptions = response.data; }); + // 闄㈠尯鍒楄〃 + // deptTreeSelect().then((response) => { + // this.deptOptions = response.data; + // }); }, // 绛涢�夎妭鐐� filterNode(value, data) { @@ -734,6 +763,8 @@ remark: undefined, postIds: [], roleIds: [], + deptCodes:[], + wardCodes:[], }; this.resetForm("form"); }, @@ -773,9 +804,9 @@ handleAdd() { this.reset(); this.open = true; - this.title = "娣诲姞鐢ㄦ埛"; - this.form.password = this.initPassword; - this.form.depts = []; + this.title = "娣诲姞鐢ㄦ埛"; + this.form.password = this.initPassword; + this.form.depts = []; // getUser().then((response) => { // this.postOptions = response.posts; // this.roleOptions = response.roles; @@ -789,8 +820,21 @@ const userId = row.userId || this.ids; getUser(userId).then((response) => { this.form = response.data; - this.form.leaveldeptcodes = JSON.parse(this.form.hospInfo); - this.form.leavehospitaldistrictcodes = JSON.parse(this.form.deptInfo); + this.belongDepts = response.belongDepts; + this.belongWards = response.belongWards; + if (this.form.hospInfo){ + this.form.deptCodes = JSON.parse(this.form.hospInfo); + }else{ + this.form.deptCodes = []; + } + if (this.form.deptInfo){ + this.form.wardCodes = JSON.parse(this.form.deptInfo); + }else{ + this.form.wardCodes = []; + } + console.log(this.form.wardCodes, "wardCodes"); + console.log(this.form.deptCodes, "deptCodes"); + this.postOptions = response.posts; this.roleOptions = response.roles; this.$set(this.form, "postIds", response.postIds); @@ -798,6 +842,16 @@ this.open = true; this.title = "淇敼鐢ㄦ埛"; this.form.password = ""; + }); + }, + // 鍒犻櫎绉戝 + removehpsp(valueArray) { + console.log(valueArray,'鍒犻櫎绉戝'); + console.log(this.form.userId,'鍒犻櫎'); + let code=valueArray[valueArray.length-1]; + removeusertd(this.form.userId,code).then((res) => { + if (res.code) { + } }); }, /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ @@ -823,14 +877,18 @@ }, /** 鎻愪氦鎸夐挳 */ submitForm: function () { - this.form.hospInfo = JSON.stringify(this.form.leaveldeptcodes); - this.form.deptInfo = JSON.stringify(this.form.leavehospitaldistrictcodes); - this.form.leaveldeptcodes = this.form.leaveldeptcodes.map( + this.form.hospInfo = JSON.stringify(this.form.deptCodes); + this.form.deptInfo = JSON.stringify(this.form.wardCodes); + if (this.form.deptCodes.length) + this.form.deptCodes = this.form.deptCodes.map( (subArr) => subArr[subArr.length - 1] ); - this.form.leavehospitaldistrictcodes = this.form.leavehospitaldistrictcodes.map( + if (this.form.wardCodes.length) + this.form.wardCodes = this.form.wardCodes.map( (subArr) => subArr[subArr.length - 1] ); + console.log(this.form.wardCodes, "wardCodes"); + console.log(this.form.deptCodes, "deptCodes"); this.$refs["form"].validate((valid) => { if (valid) { @@ -838,17 +896,64 @@ updateUser(this.form).then((response) => { this.$modal.msgSuccess("淇敼鎴愬姛"); this.open = false; - this.getList(); + this.adduserdept(); }); } else { addUser(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.open = false; - this.getList(); + this.form.userId = response.data; + console.log("寮�濮嬪姞閮ㄩ棬"); + + this.adduserdept(); }); } } }); + }, + // 鏂板鏁版嵁 + adduserdept() { + if (this.form.wardCodes[0]) { + this.form.wardCodes.forEach((dept) => { + const containsId8 = null; + if (this.belongWards) { + containsId8 = this.belongWards.some( + (item) => item.deptCode == dept + ); + } + + if (!containsId8) { + adduserdept({ + deptCode: dept, + deptType: 2, + userId: this.form.userId, + }).then((response) => { + this.open = false; + this.getList(); + }); + } + }); + } + if (this.form.deptCodes[0]) { + this.form.deptCodes.forEach((dept) => { + const containsId8 = null; + if (this.belongDepts) { + containsId8 = this.belongDepts.some( + (item) => item.deptCode == dept + ); + } + if (!containsId8) { + adduserdept({ + deptCode: dept, + deptType: 1, + userId: this.form.userId, + }).then((response) => { + this.open = false; + this.getList(); + }); + } + }); + } }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { @@ -882,7 +987,7 @@ /** 涓嬭浇妯℃澘鎿嶄綔 */ importTemplate() { this.download( - "system/user/importTemplate", + "smartor/import/getImportPatTemplate", {}, `user_template_${new Date().getTime()}.xlsx` ); -- Gitblit v1.9.3