From f68fa3bc5fc0a286c88d82ee6eb95e8ad6be0d16 Mon Sep 17 00:00:00 2001 From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com> Date: 星期四, 27 六月 2024 15:21:55 +0800 Subject: [PATCH] qxtj --- src/views/hosp/project/index.vue | 186 ++++++++++++++++++++++++++++++++++------------ 1 files changed, 137 insertions(+), 49 deletions(-) diff --git a/src/views/hosp/project/index.vue b/src/views/hosp/project/index.vue index 179afff..2615b50 100644 --- a/src/views/hosp/project/index.vue +++ b/src/views/hosp/project/index.vue @@ -12,19 +12,21 @@ style="margin-bottom: 15px" /> </div> - <div class="head-container"> - <el-tree - :data="deptOptions" - :props="defaultProps" - :expand-on-click-node="false" - :filter-node-method="filterNode" - ref="tree" - node-key="id" - :default-expanded-keys="treeId" - highlight-current - @node-click="handleNodeClick" - /> - </div> + <el-scrollbar style="height: 629px; width: 100%"> + <div class="head-container"> + <el-tree + :data="deptOptions" + :props="defaultProps" + :expand-on-click-node="false" + :filter-node-method="filterNode" + ref="tree" + node-key="id" + :default-expanded-keys="treeId" + highlight-current + @node-click="handleNodeClick" + /> + </div> + </el-scrollbar> </el-col> <el-col :span="20" :xs="24"> <el-form @@ -78,7 +80,7 @@ </el-col> <el-col :span="1.5"> <el-button - :disabled = "xiugais" + :disabled="xiugais" type="primary" icon="el-icon-plus" size="mini" @@ -124,7 +126,6 @@ :data="projectList" ref="tableRef" border - > <!-- :show-overflow-tooltip="true" --> <el-table-column @@ -292,6 +293,7 @@ > <el-form-item label="涓婚」鍚嶇О" prop="proParentId"> <treeselect + :disabled="proParent" v-model="form.proParentId" :options="projectOptions" :normalizer="normalizer" @@ -390,15 +392,15 @@ <el-select v-model="form.deptId" placeholder="璇烽�夋嫨绉戝鍚嶇О" - @change="changeValue" + @change="changeType" filterable style="width: 260px" > <el-option - v-for="dict in parentNameList" - :key="dict.deptId" - :label="dict.deptName" - :value="dict.deptId" + v-for="item in parentNameList" + :key="item.deptId" + :label="item.deptName" + :value="item.deptId" /> </el-select> </el-form-item> @@ -489,7 +491,7 @@ ></el-option> </el-select> </el-form-item> - <el-form-item label="LIS椤圭洰" prop="lisXmmc" > + <el-form-item label="LIS椤圭洰" prop="lisXmmc"> <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @@ -816,10 +818,11 @@ addProject, updateProject, ProjectTree, + getlist, deptTree, deptTree111, getAllChildListById, - getInfoByProId + getInfoByProId, } from "@/api/hosp/project"; import { listDept } from "@/api/system/dept"; import Treeselect from "@riophae/vue-treeselect"; @@ -863,8 +866,8 @@ } }; return { - xiugais:true, - xiugaiList:[], + xiugais: true, + xiugaiList: [], // 閮ㄩ棬鏍戦�夐」 deptOptions: undefined, dialogTableVisible: false, @@ -919,6 +922,7 @@ children: "children", label: "label", }, + proParent: false, id: "", // 閲嶆柊娓叉煋琛ㄦ牸鐘舵�� refreshTable: true, @@ -930,7 +934,7 @@ proEngName: null, checkType: null, deptId: undefined, - proId:undefined, + proId: undefined, }, querycharge: { pageNum: 1, @@ -938,6 +942,7 @@ xmmc: null, pym: null, }, + treeDate: {}, queryParam: { page: 1, pageSize: 10, @@ -945,12 +950,15 @@ }, // 琛ㄥ崟鍙傛暟 form: { + proParentId: "", + deptId: "", needReport: "Y", + proStatus: "0", proName: "", proPrice: "", sfxmId: "", - lisXmbm:"", - lisXmmc:"", + lisXmbm: "", + lisXmmc: "", }, // 琛ㄥ崟鏍¢獙 rules: { @@ -1020,16 +1028,14 @@ this.$refs.aaa.title = "鏁版嵁瀛楀吀"; }, handleChanges(param1) { - console.log(param1); // if(this.form.pacCode == "涓嶈"){ // this.form.cusIdcard = param1[0].xh; // }else{ // this.form.cusIdcard = param1[0].pacCode; // } - + this.form.lisXmbm = param1[0].pacCode; this.form.lisXmmc = param1[0].pacName; - }, //鏄惁鏄剧ず閫変腑鐨勫�� display(value) {}, @@ -1069,10 +1075,12 @@ handleAdd(row) { // this.reset(); this.loading = true; + this.proParent = false; this.form.proPrice = 0.0; this.form.proName = ""; this.form.proId = null; - getAllChildListById().then((response) => { + // ProjectTree + getlist().then((response) => { if (response.code == 200) { this.loading = false; this.projectOptions = []; @@ -1080,17 +1088,48 @@ project.children = this.handleTree(response.data.list, "proId"); this.key = response.data.key; this.projectOptions.push(project); - if (row) { - this.form.proParentId = row.proId; + if (row.proId) { + for (var i = 0; i < project.children.length; i++) { + if (project.children[i].proId === row.proId) { + this.form.proParentId = row.proId; + break; + }else{ + this.form.proParentId =0 + } + } + + this.open = true; + } else if (this.treeDate.id) { + for (var i = 0; i < project.children.length; i++) { + if (project.children[i].proId === this.treeDate.id) { + this.form.proParentId = this.treeDate.id; + break; + }else{ + this.form.proParentId =0 + } + } + + this.projectOptions.forEach((item) => { + item.children.forEach((item1) => { + if (this.form.proParentId == item1.proId) { + this.form.deptId = item1.deptId; + } + }); + }); this.open = true; } else { this.open = true; } } }); - this.title = "浣撴椤圭洰淇℃伅缁存姢"; - this.form.proId = this.queryParams.proId; + this.title = "浣撴椤圭洰淇℃伅缁存姢"; + if (this.queryParams.deptId) { + this.form.deptId = this.queryParams.deptId; + } else { + this.form.deptId = null; + } + // this.form.proId = this.queryParams.proId; this.form.proCheckMethod = "N"; if ((this.key = "Y")) { @@ -1126,16 +1165,19 @@ this.$message.error("璇烽�夋嫨涓婚」鍚嶇О"); } }, + changeType() { + this.$forceUpdate(); + }, obtain(vals) { if (this.projectOptions) { this.selectList = vals; - console.log(this.selectList); } if (this.selectList.proName === "涓荤被鐩�") { this.showPrise = true; this.showRentPrise = false; } else { + this.form.deptId = this.selectList.deptId; this.showPrise = false; this.showRentPrise = true; } @@ -1235,22 +1277,21 @@ }, // 鑺傜偣鍗曞嚮浜嬩欢 handleNodeClick(date) { - if(date.$treeNodeId == 3){ + this.treeDate = date; + if (date.qf == "0") { this.xiugais = true; - }else{ + } else { this.xiugais = false; } let proId = date.id; - getInfoByProId(proId).then((response)=>{ + getInfoByProId(proId).then((response) => { this.xiugaiList = response.data; - console.log(this.xiugaiList,222); - }) - console.log(date,111); + }); this.id = date.id; this.queryParams.proId = date.id; let data = { proId: this.queryParams.proId, - proName:this.queryParams.proNamez + proName: this.queryParams.proNamez, }; this.loading = true; getAllChildListById(data).then((response) => { @@ -1296,7 +1337,6 @@ proId: this.queryParams.proId, }; getAllChildListById(data).then((response) => { - console.log(response); // this.projectList = this.handleTree(response.data.list, "proId"); // this.ListId.push(this.projectList[0].proId); // this.key = response.data.key; @@ -1461,9 +1501,23 @@ this.form.tjStandardList.splice(index, 1); } }, - handleUpdate1(){ + handleUpdate1() { this.open = true; this.form = this.xiugaiList; + this.proParent = true; + // if(){ + // this.proParent = true + // } + getlist().then((response) => { + if (response.code == 200) { + this.loading = false; + this.projectOptions = []; + const project = { proId: 0, proName: "涓荤被鐩�", children: [] }; + project.children = this.handleTree(response.data.list, "proId"); + this.key = response.data.key; + this.projectOptions.push(project); + } + }); }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { @@ -1471,6 +1525,7 @@ this.getData(); // this.form = row; const proId = row.proId || this.ids; + this.proParent = false; getProject(proId).then((response) => { this.form = response.data; if (this.form.proParentId === "0") { @@ -1480,7 +1535,7 @@ this.showPrise = false; this.showRentPrise = true; } - this.form.deptId = Number(this.form.deptId); + // this.form.deptId = Number(this.form.deptId); if (this.form.proStandard === 0) { this.showPrise = true; this.showRentPrise = false; @@ -1523,7 +1578,16 @@ } }); } - + getlist().then((response) => { + if (response.code == 200) { + this.loading = false; + this.projectOptions = []; + const project = { proId: 0, proName: "涓荤被鐩�", children: [] }; + project.children = this.handleTree(response.data.list, "proId"); + this.key = response.data.key; + this.projectOptions.push(project); + } + }); this.open = true; this.title = "浣撴椤圭洰淇℃伅缁存姢"; }); @@ -1599,7 +1663,13 @@ this.form.lisXmbm = this.form.lisXmbm; updateProject(this.form).then((response) => { this.$modal.msgSuccess("淇敼鎴愬姛"); - this.cancel(); + if (this.proParent == true) { + this.getDeptTree(); + this.cancel(); + } else { + this.cancel(); + this.getList(); + } }); } else { if (this.form.proParentId === 0) { @@ -1616,6 +1686,7 @@ addProject(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.cancel(); + this.getList(); }); } } @@ -1661,7 +1732,13 @@ this.form.lisXmbm = this.form.lisXmbm; updateProject(this.form).then((response) => { this.$modal.msgSuccess("淇敼鎴愬姛"); - this.cancel(); + if (this.proParent == true) { + this.getDeptTree(); + this.cancel(); + } else { + this.cancel(); + this.getList(); + } }); } else { if (this.form.proParentId === 0) { @@ -1678,6 +1755,7 @@ addProject(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.cancel(); + this.getList(); }); } } @@ -1756,4 +1834,14 @@ background-color: #e5f3ff !important; color: #333 !important; } + +.el-scrollbar__bar.is-vertical { + opacity: 1; + padding-right: 5px; + width: 7px; +} + +.el-scrollbar__wrap { + overflow-x: hidden; +} </style> -- Gitblit v1.8.0