From 93594afdf8567822384ad3b893e612c1cff082b8 Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期一, 06 一月 2025 18:00:14 +0800 Subject: [PATCH] 检查检验结果弹框 --- src/views/hosp/project/index.vue | 464 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 374 insertions(+), 90 deletions(-) diff --git a/src/views/hosp/project/index.vue b/src/views/hosp/project/index.vue index cba2153..1413453 100644 --- a/src/views/hosp/project/index.vue +++ b/src/views/hosp/project/index.vue @@ -12,19 +12,37 @@ 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 class="scrollable-container"> + <div class="content"> + <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" + :render-content="renderContent" + /> + </div> </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 @@ -76,6 +94,17 @@ >鏂板</el-button > </el-col> + <el-col :span="1.5"> + <el-button + :disabled="xiugais" + type="primary" + icon="el-icon-plus" + size="mini" + @click="handleUpdate1" + v-hasPermi="['hosp:project:add']" + >淇敼</el-button + > + </el-col> <!-- <el-col :span="1.5"> <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['hosp:project:edit']">淇敼</el-button> </el-col> --> @@ -90,6 +119,15 @@ @click="handleExport" v-hasPermi="['hosp:project:export']" >瀵煎嚭</el-button + > + </el-col> + <el-col :span="1.5"> + <el-button + type="primary" + icon="el-icon-download" + size="mini" + @click="Synchronizationfees" + >鎵归噺鍚屾璐圭敤</el-button > </el-col> <el-col :span="1.5"> @@ -113,13 +151,6 @@ :data="projectList" ref="tableRef" border - row-key="proId" - :expand-row-keys="ListId" - :row-class-name="selectSingleRow" - :tree-props="{ - children: 'tjProjectList', - hasChildren: 'tjProjectList.length>0', - }" > <!-- :show-overflow-tooltip="true" --> <el-table-column @@ -151,12 +182,20 @@ :show-overflow-tooltip="true" /> <el-table-column - label="涓村簥鎰忎箟" + label="缁撴灉绫诲瀷" align="center" - prop="proMeaning" - width="350px" + prop="resultType" + width="110px" :show-overflow-tooltip="true" - /> + > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.tj_result_type" + :value="scope.row.resultType" + /> + </template> + </el-table-column> + <!-- <el-table-column label="妫�鏌ユ柟寮�" align="center" prop="proCheckMethod" :show-overflow-tooltip="true" width="110px" /> --> <el-table-column @@ -196,19 +235,12 @@ > </el-table-column> <el-table-column - label="椤圭洰绫诲瀷" + label="涓村簥鎰忎箟" align="center" - prop="resultType" - width="110px" + prop="proMeaning" + width="350px" :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <dict-tag - :options="dict.type.tj_result_type" - :value="scope.row.resultType" - /> - </template> - </el-table-column> + /> <el-table-column label="澶囨敞" prop="remark" @@ -277,6 +309,7 @@ width="1200px" append-to-body :before-close="handleClose" + :close-on-click-modal="false" > <el-form ref="form" @@ -287,6 +320,7 @@ > <el-form-item label="涓婚」鍚嶇О" prop="proParentId"> <treeselect + :disabled="proParent" v-model="form.proParentId" :options="projectOptions" :normalizer="normalizer" @@ -296,22 +330,8 @@ @select="obtain" /> </el-form-item> - <el-form-item label="鏄庣粏椤圭洰" prop="proName" v-if="key == 'Y'"> - <span - slot="label" - style="display: inline-block; border-bottom: 2px solid blue" - @click="getDetailed" - > - 鏄庣粏椤圭洰 - <!-- <el-tooltip effect="dark" content="鏄庣粏椤圭洰" placement="bottom"> - <i class='el-icon-question' @click="getDetailed" /> - </el-tooltip> --> - </span> - <el-input v-model="form.proName" placeholder="璇疯緭鍏ユ槑缁嗛」鐩�"> - </el-input> - </el-form-item> - <el-form-item label="鏄庣粏椤圭洰" prop="proName" v-if="key == 'N'"> + <el-form-item label="鏄庣粏椤圭洰" prop="proName"> <el-input v-model="form.proName" placeholder="璇疯緭鍏ユ槑缁嗛」鐩�"> </el-input> </el-form-item> @@ -367,6 +387,7 @@ v-model="form.proSex" placeholder="璇烽�夋嫨浣撴浜烘�у埆" style="width: 200px" + clearable > <el-option v-for="dict in dict.type.sys_user_sex" @@ -384,15 +405,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> @@ -467,11 +488,47 @@ ></el-option> </el-select> </el-form-item> + <el-form-item label="鍗曚綅" prop="proMetering"> + <el-input + v-model="form.proMetering" + placeholder="璇疯緭鍏ュ崟浣�" + style="width: 260px" + /> + </el-form-item> + <el-form-item label="鍙傝�冭寖鍥�" prop="proScope"> + <el-input + v-model="form.proScope" + placeholder="璇疯緭鍏ュ弬鑰冭寖鍥�" + style="width: 200px" + /> + </el-form-item> + <el-form-item label="鏁伴噺" prop="sl"> + <el-input + v-model="form.sl" + placeholder="璇疯緭鍏ユ暟閲�" + style="width: 200px" + /> + </el-form-item> + <el-form-item label="缁勫悎鏍囧織" prop="sfzhfy"> + <el-select + v-model="form.sfzhfy" + placeholder="璇烽�夋嫨鏄惁缁勫悎鏍囧織" + style="width: 260px" + > + <el-option + v-for="dict in dict.type.sys_yes_no" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="缁撴灉绫诲瀷" prop="resultType"> <el-select v-model="form.resultType" placeholder="璇烽�夋嫨缁撴灉绫诲瀷" - style="width: 260px" + style="width: 200px" filterable clearable > @@ -483,20 +540,67 @@ ></el-option> </el-select> </el-form-item> - <el-form-item label="LIS椤圭洰" prop="lisXmmc" > + <el-form-item label="his椤圭洰鍚嶇О" prop="hisXmmc" v-if="key == 'Y'"> + <span + slot="label" + style="display: inline-block; border-bottom: 2px solid blue" + @click="getDetailed" + > + his椤圭洰鍚嶇О + </span> + + <el-input + v-model="form.hisXmmc" + placeholder="his椤圭洰鍚嶇О" + style="width: 200px" + > + </el-input> + </el-form-item> + <el-form-item label="his椤圭洰鍚嶇О" prop="hisXmmc" v-if="key == 'N'"> + <el-input + v-model="form.hisXmmc" + placeholder="璇疯緭鍏ユ槑缁嗛」鐩�" + style="width: 260px" + > + </el-input> + </el-form-item> + <el-form-item label="his缂栫爜" prop="hisXmbm"> + <el-input + v-model="form.hisXmbm" + placeholder="璇疯緭鍏is缂栫爜" + style="width: 260px" + /> + </el-form-item> + <el-form-item label="his鍗曚环" prop="hisdj"> + <el-input + v-model="form.hisdj" + placeholder="璇疯緭鍏is鍗曚环" + style="width: 200px" + /> + </el-form-item> + <el-form-item label="LIS椤圭洰" prop="lisXmmc"> <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="handleQuerys" > LIS椤圭洰 - <!-- <el-tooltip effect="dark" content="鏄庣粏椤圭洰" placement="bottom"> - <i class='el-icon-question' @click="getDetailed" /> - </el-tooltip> --> </span> - <el-input v-model="form.lisXmmc" placeholder="璇疯緭鍏IS椤圭洰"> + <el-input + v-model="form.lisXmmc" + placeholder="璇疯緭鍏IS椤圭洰" + style="width: 200px" + > </el-input> + </el-form-item> + + <el-form-item label="LIS缂栫爜" prop="lisXmbm"> + <el-input + v-model="form.LISXmbm" + placeholder="璇疯緭鍏is缂栫爜" + style="width: 260px" + /> </el-form-item> <el-form-item label="澶囨敞" prop="proRemark"> <el-input @@ -661,7 +765,12 @@ </div> </el-dialog> - <el-dialog title="鏀惰垂椤圭洰" :visible.sync="dialogTableVisible" width="80%"> + <el-dialog + title="鏀惰垂椤圭洰" + :visible.sync="dialogTableVisible" + width="80%" + :close-on-click-modal="false" + > <div class="app-container"> <el-row :gutter="24"> <!--閮ㄩ棬鏁版嵁--> @@ -810,7 +919,12 @@ addProject, updateProject, ProjectTree, + getlist, deptTree, + deptTree111, + getAllChildListById, + getInfoByProId, + tbhisproprice, } from "@/api/hosp/project"; import { listDept } from "@/api/system/dept"; import Treeselect from "@riophae/vue-treeselect"; @@ -854,6 +968,8 @@ } }; return { + xiugais: true, + xiugaiList: [], // 閮ㄩ棬鏍戦�夐」 deptOptions: undefined, dialogTableVisible: false, @@ -908,6 +1024,7 @@ children: "children", label: "label", }, + proParent: false, id: "", // 閲嶆柊娓叉煋琛ㄦ牸鐘舵�� refreshTable: true, @@ -919,6 +1036,7 @@ proEngName: null, checkType: null, deptId: undefined, + proId: undefined, }, querycharge: { pageNum: 1, @@ -926,6 +1044,7 @@ xmmc: null, pym: null, }, + treeDate: {}, queryParam: { page: 1, pageSize: 10, @@ -933,12 +1052,24 @@ }, // 琛ㄥ崟鍙傛暟 form: { + proParentId: "", + deptId: "", needReport: "Y", + hisXmbm: "", + hisXmmc: "", + sfzhfy: "Y", + hisdj: "", + sl: "", + proStatus: "0", proName: "", proPrice: "", sfxmId: "", - lisXmbm:"", - lisXmmc:"", + lisXmbm: "", + lisXmmc: "", + proMetering: "", + proScope: "", + proSex:'2', + resultType: "", // 鍒濆鍊� }, // 琛ㄥ崟鏍¢獙 rules: { @@ -1001,6 +1132,9 @@ this.getDeptList(); this.getDeptTree(); }, + mounted() { + this.getDeptTree(); + }, methods: { handleQuerys() { this.$refs.aaa.open = true; @@ -1008,16 +1142,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) {}, @@ -1036,9 +1168,13 @@ proName: this.queryParams.proName, checkType: this.queryParams.checkType, deptId: this.queryParams.deptId, + proId: this.queryParams.proId, }; - ProjectTree(data).then((response) => { - this.projectList = this.handleTree(response.data.list, "proId"); + getAllChildListById(data).then((response) => { + // this.projectList = this.handleTree(response.data.list, "proId"); + console.log(response, 1122); + + this.projectList = response.data.list; this.loading = false; }); }, @@ -1053,12 +1189,18 @@ /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd(row) { + this.form.hisXmbm = ""; + this.form.hisXmmc = ""; + this.form.hisdj = ""; // this.reset(); this.loading = true; + this.proParent = false; this.form.proPrice = 0.0; this.form.proName = ""; this.form.proId = null; - ProjectTree().then((response) => { + this.form.resultType = "1"; + // ProjectTree + getlist().then((response) => { if (response.code == 200) { this.loading = false; this.projectOptions = []; @@ -1066,17 +1208,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.deptId = this.queryParams.deptId; + 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")) { @@ -1088,6 +1261,8 @@ // 鎵撳紑input寮规 getDetailed() { + this.querycharge.xmmc = ""; + this.querycharge.pym = ""; if (this.selectList) { if (this.selectList.proName === "涓荤被鐩�") { this.dialogTableVisible = false; @@ -1112,16 +1287,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; } @@ -1131,6 +1309,7 @@ this.List = true; listSfxm(this.querycharge).then((response) => { this.sfxmList = response.rows; + response.rows.forEach((item, index) => { item.newID = (this.querycharge.pageNum - 1) * this.querycharge.pageSize + @@ -1139,6 +1318,12 @@ }); this.total = response.total; this.loading = false; + }); + }, + + Synchronizationfees() { + tbhisproprice().then((response) => { + this.$modal.msgSuccess("鎵归噺鍚屾璐圭敤鎴愬姛"); }); }, // input寮规鎼滅储 @@ -1150,6 +1335,7 @@ handleNodecharge(data) { this.queryParam.id = data.id; + this.List = false; this.getListByXmId(); }, @@ -1181,7 +1367,7 @@ // // 鏌ヨ浣撴椤圭洰鍒楄〃(鏍戝舰缁撴瀯) getData() { /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ - ProjectTree().then((response) => { + getAllChildListById().then((response) => { this.projectOptions = []; const project = { proId: 0, proName: "涓荤被鐩�", children: [] }; project.children = this.handleTree(response.data.list, "proId"); @@ -1203,10 +1389,23 @@ }, /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ getDeptTree() { - deptTree().then((response) => { + deptTree111().then((response) => { this.deptOptions = response.data; this.treeId.push(this.deptOptions[0].id); }); + }, + + renderContent(h, { node, data }) { + return h( + "span", + { + style: { + color: data.status === "1" ? "red" : "inherit", // 鍔ㄦ�佽缃鑹� + fontSize: "14px", + }, + }, + data.label // 鏄剧ず鑺傜偣鐨� label + ); }, // 绛涢�夎妭鐐� @@ -1221,13 +1420,24 @@ }, // 鑺傜偣鍗曞嚮浜嬩欢 handleNodeClick(date) { + this.treeDate = date; + if (date.qf == "0") { + this.xiugais = true; + } else { + this.xiugais = false; + } + let proId = date.id; + getInfoByProId(proId).then((response) => { + this.xiugaiList = response.data; + }); this.id = date.id; - this.queryParams.deptId = date.id; + this.queryParams.proId = date.id; let data = { - deptId: this.queryParams.deptId, + proId: this.queryParams.proId, + proName: this.queryParams.proNamez, }; this.loading = true; - ProjectTree(data).then((response) => { + getAllChildListById(data).then((response) => { if (response.code == 200) { if (response.data.list.length >= 1) { this.projectList = this.handleTree(response.data.list, "proId"); @@ -1267,12 +1477,12 @@ this.open = false; this.queryParam.id = this.id; let data = { - deptId: this.queryParams.deptId, + proId: this.queryParams.proId, }; - ProjectTree(data).then((response) => { - this.projectList = this.handleTree(response.data.list, "proId"); - this.ListId.push(this.projectList[0].proId); - this.key = response.data.key; + getAllChildListById(data).then((response) => { + // this.projectList = this.handleTree(response.data.list, "proId"); + // this.ListId.push(this.projectList[0].proId); + // this.key = response.data.key; this.loading = false; }); }, @@ -1304,6 +1514,7 @@ consumablesList: [], tjStandardList: [], proStatus: "0", + resultType: "1", }; this.resetForm("form"); }, @@ -1315,7 +1526,7 @@ /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { this.resetForm("queryForm"); - this.queryParams.deptId = undefined; + this.queryParams.proId = undefined; this.$refs.tree.setCurrentKey(null); this.handleQuery(); }, @@ -1434,13 +1645,34 @@ this.form.tjStandardList.splice(index, 1); } }, + handleUpdate1() { + this.open = true; + this.form = this.xiugaiList; + this.form.proStatus = this.form.proStatus.toString(); + 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) { this.reset(); this.getData(); // this.form = row; const proId = row.proId || this.ids; + this.proParent = false; getProject(proId).then((response) => { + console.log(response, 999); this.form = response.data; if (this.form.proParentId === "0") { this.showPrise = true; @@ -1449,7 +1681,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; @@ -1492,7 +1724,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 = "浣撴椤圭洰淇℃伅缁存姢"; }); @@ -1568,7 +1809,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) { @@ -1585,6 +1832,7 @@ addProject(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.cancel(); + this.getList(); }); } } @@ -1630,7 +1878,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) { @@ -1647,6 +1901,7 @@ addProject(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.cancel(); + this.getList(); }); } } @@ -1658,8 +1913,10 @@ // 鏀惰垂椤圭洰纭 submit() { this.ChangeList.forEach((item) => { - this.form.proName = item.xmmc; this.form.proPrice = item.ckdj; + this.form.hisXmbm = item.xmbm; + this.form.hisXmmc = item.xmmc; + this.form.hisdj = item.ckdj; this.sfxmId = parseInt(item.id); }); this.dialogTableVisible = false; @@ -1698,8 +1955,25 @@ }; </script> <style scoped> +.scrollable-container { + width: 200px; /* 璁剧疆瀹瑰櫒鐨勫搴� */ + height: 629px; /* 璁剧疆瀹瑰櫒鐨勯珮搴� */ + overflow: auto; /* 鍏佽鍐呭婧㈠嚭鏃舵樉绀烘粴鍔ㄦ潯 */ + border: 1px solid #ccc; /* 鍙�夛細娣诲姞杈规浠ユ洿濂藉湴鏄剧ず瀹瑰櫒 */ + position: relative; /* 鍙�夛細浣垮鍣ㄥ唴鐨勭粷瀵瑰畾浣嶅厓绱犺兘澶熸纭樉绀� */ +} + +.content { + width: 1000px; /* 璁剧疆鍐呭鐨勫搴︼紝浠ヨЕ鍙戞按骞虫粴鍔ㄦ潯 */ + height: 1000px; /* 璁剧疆鍐呭鐨勯珮搴︼紝浠ヨЕ鍙戝瀭鐩存粴鍔ㄦ潯 */ +} + .el-table__header-wrapper .el-checkbox { display: none; +} + +.red-text { + color: red !important; } .pag { @@ -1725,4 +1999,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