From 99b062eeca471bdcbfcacd88e308fab9972cd6ec Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期二, 19 八月 2025 14:21:33 +0800
Subject: [PATCH] 展示优化
---
src/views/system/user/index.vue | 260 +++++++++++++++++++++++++++++++++------------------
1 files changed, 167 insertions(+), 93 deletions(-)
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 70a1b6d..3c84f4f 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"
@@ -304,52 +314,57 @@
/>
</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"
+ filterable
+ :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"
+ filterable
+ :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 +389,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 +441,7 @@
</el-form-item>
</el-col>
</el-row>
+
<el-row>
<el-col :span="12">
<el-form-item label="宀椾綅">
@@ -533,12 +549,14 @@
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",
@@ -608,24 +626,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",
},
],
@@ -686,9 +711,14 @@
},
/** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
getDeptTree() {
+ // 绉戝鍒楄〃
deptTreeSelect().then((response) => {
this.deptOptions = response.data;
});
+ // 闄㈠尯鍒楄〃
+ // deptTreeSelect().then((response) => {
+ // this.deptOptions = response.data;
+ // });
},
// 绛涢�夎妭鐐�
filterNode(value, data) {
@@ -735,6 +765,8 @@
remark: undefined,
postIds: [],
roleIds: [],
+ deptCodes:[],
+ wardCodes:[],
};
this.resetForm("form");
},
@@ -774,9 +806,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;
@@ -790,11 +822,20 @@
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);
- console.log(this.form.leavehospitaldistrictcodes,'leavehospitaldistrictcodes');
- console.log(this.form.leaveldeptcodes,'leaveldeptcodes');
+ 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;
@@ -803,6 +844,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) {
+ }
});
},
/** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */
@@ -828,17 +879,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.leavehospitaldistrictcodes,'leavehospitaldistrictcodes');
- console.log(this.form.leaveldeptcodes,'leaveldeptcodes');
-
+ console.log(this.form.wardCodes, "wardCodes");
+ console.log(this.form.deptCodes, "deptCodes");
this.$refs["form"].validate((valid) => {
if (valid) {
@@ -846,42 +898,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.leavehospitaldistrictcodes[0]) {
- this.form.leavehospitaldistrictcodes.forEach((dept) => {
- adduserdept({deptCode:dept,deptType:2,userId:this.form.userId}).then((response) => {
- this.open = false;
- this.getList();
- });
- })
- }
- if (this.form.leaveldeptcodes[0]) {
- this.form.leaveldeptcodes.forEach((dept) => {
- adduserdept({deptCode:dept,deptType:1,userId:this.form.userId}).then((response) => {
- this.open = false;
- this.getList();
- });
- })
- }
+ 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
+ );
+ }
- adduserdept(this.form).then((response) => {
- this.$modal.msgSuccess("娣诲姞鎴愬姛");
- this.open = false;
- this.getList();
- });
+ 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) {
@@ -915,7 +989,7 @@
/** 涓嬭浇妯℃澘鎿嶄綔 */
importTemplate() {
this.download(
- "system/user/importTemplate",
+ "smartor/import/getImportPatTemplate",
{},
`user_template_${new Date().getTime()}.xlsx`
);
--
Gitblit v1.9.3