From c7b33db117fd2893d7d1c93bf5d46e87d33e44d0 Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期一, 16 十二月 2024 16:08:51 +0800 Subject: [PATCH] 初审结果查询 --- src/views/hosp/project/index.vue | 424 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 333 insertions(+), 91 deletions(-) diff --git a/src/views/hosp/project/index.vue b/src/views/hosp/project/index.vue index 0d64bd2..d255fbb 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 @@ -76,6 +78,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 +103,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 +135,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 @@ -159,6 +174,20 @@ /> <!-- <el-table-column label="妫�鏌ユ柟寮�" align="center" prop="proCheckMethod" :show-overflow-tooltip="true" width="110px" /> --> + <el-table-column + label="鍙備笌灏忕粨" + align="center" + prop="needReport" + :show-overflow-tooltip="true" + width="110px" + > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_yes_no" + :value="scope.row.needReport" + /> + </template> + </el-table-column> <el-table-column label="鏄惁绌鸿吂" align="center" @@ -263,6 +292,7 @@ width="1200px" append-to-body :before-close="handleClose" + :close-on-click-modal="false" > <el-form ref="form" @@ -273,6 +303,7 @@ > <el-form-item label="涓婚」鍚嶇О" prop="proParentId"> <treeselect + :disabled="proParent" v-model="form.proParentId" :options="projectOptions" :normalizer="normalizer" @@ -314,11 +345,25 @@ <el-form-item label="涓村簥鎰忎箟" prop="proMeaning"> <el-input v-model="form.proMeaning" placeholder="璇疯緭鍏ヤ复搴婃剰涔�" /> </el-form-item> + <el-form-item label="鍙備笌灏忕粨" prop="needReport"> + <el-select + v-model="form.needReport" + placeholder="璇烽�夋嫨鏄惁鍙備笌灏忕粨" + style="width: 200px" + > + <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="proCheckMethod"> <el-select v-model="form.proCheckMethod" placeholder="璇烽�夋嫨鏄惁绌鸿吂" - style="width: 200px" + style="width: 260px" > <el-option v-for="dict in dict.type.sys_yes_no" @@ -338,7 +383,8 @@ <el-select v-model="form.proSex" placeholder="璇烽�夋嫨浣撴浜烘�у埆" - style="width: 260px" + style="width: 200px" + clearable > <el-option v-for="dict in dict.type.sys_user_sex" @@ -356,15 +402,15 @@ <el-select v-model="form.deptId" placeholder="璇烽�夋嫨绉戝鍚嶇О" - @change="changeValue" + @change="changeType" filterable - style="width: 205px" + 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> @@ -372,7 +418,7 @@ <el-select v-model="form.proStatus" placeholder="璇烽�夋嫨鐘舵��" - style="width: 260px" + style="width: 200px" filterable clearable > @@ -395,7 +441,7 @@ <el-select v-model="form.isSampling" placeholder="璇烽�夋嫨閲囨牱鏍囪" - style="width: 210px" + style="width: 260px" filterable clearable > @@ -411,7 +457,7 @@ <el-select v-model="form.specimenType" placeholder="璇烽�夋嫨鏍囨湰绫诲瀷" - style="width: 260px" + style="width: 200px" filterable clearable > @@ -443,7 +489,7 @@ <el-select v-model="form.resultType" placeholder="璇烽�夋嫨缁撴灉绫诲瀷" - style="width: 210px" + style="width: 260px" filterable clearable > @@ -455,11 +501,69 @@ ></el-option> </el-select> </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> + </el-form-item> + <el-form-item label="his缂栫爜" prop="hisXmbm"> + <el-input + v-model="form.hisXmbm" + placeholder="璇疯緭鍏is缂栫爜" + style="width: 200px" + /> + </el-form-item> + <el-form-item label="his椤圭洰鍚嶇О" prop="hisXmmc"> + <el-input + v-model="form.hisXmmc" + placeholder="璇疯緭鍏is椤圭洰鍚嶇О" + style="width: 260px" + /> + </el-form-item> + <el-form-item label="缁勫悎鏍囧織" prop="sfzhfy"> + + <el-select + v-model="form.sfzhfy" + placeholder="璇烽�夋嫨鏄惁缁勫悎鏍囧織" + style="width: 200px" + > + <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="his鍗曚环" prop="hisdj"> + <el-input + v-model="form.hisdj" + placeholder="璇疯緭鍏is鍗曚环" + style="width: 200px" + /> + </el-form-item> <el-form-item label="鏁伴噺" prop="sl"> + <el-input + v-model="form.sl" + placeholder="璇疯緭鍏ユ暟閲�" + style="width: 260px" + /> + </el-form-item> + <el-form-item label="澶囨敞" prop="proRemark"> <el-input v-model="form.proRemark" placeholder="璇疯緭鍏ュ娉�" - style="width: 510px" + style="width: 200px" /> </el-form-item> </el-form> @@ -618,7 +722,7 @@ </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"> <!--閮ㄩ棬鏁版嵁--> @@ -740,8 +844,8 @@ <pagination v-show="total > 0" :total="total" - :page.sync="querycharge.page" - :limit.sync="querycharge.pageSize" + :page.sync="queryParam.page" + :limit.sync="queryParam.pageSize" @pagination="getListByXmId" /> </div> @@ -755,17 +859,23 @@ <el-button type="primary" @click="submit">纭� 瀹�</el-button> </div> </el-dialog> + <Packagese ref="aaa" @add="handleChanges" /> </div> </template> <script> +import Packagese from "@/components/Packagese"; import { getProject, delProject, 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"; @@ -796,7 +906,7 @@ "tj_result_type", "sys_yes_no", ], - components: { Treeselect, IconSelect }, + components: { Treeselect, IconSelect, Packagese }, data() { let checkPhoneNum = (rule, value, callback) => { let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); @@ -809,6 +919,8 @@ } }; return { + xiugais: true, + xiugaiList: [], // 閮ㄩ棬鏍戦�夐」 deptOptions: undefined, dialogTableVisible: false, @@ -863,6 +975,7 @@ children: "children", label: "label", }, + proParent: false, id: "", // 閲嶆柊娓叉煋琛ㄦ牸鐘舵�� refreshTable: true, @@ -874,20 +987,37 @@ proEngName: null, checkType: null, deptId: undefined, + proId: undefined, }, querycharge: { pageNum: 1, - pageSize: 50, + pageSize: 10, xmmc: null, pym: null, }, + treeDate: {}, queryParam: { page: 1, pageSize: 10, id: null, }, // 琛ㄥ崟鍙傛暟 - form: {}, + form: { + proParentId: "", + deptId: "", + needReport: "Y", + hisXmbm:"", + hisXmmc:"", + sfzhfy: "Y", + hisdj:"", + sl:"", + proStatus: "0", + proName: "", + proPrice: "", + sfxmId: "", + lisXmbm: "", + lisXmmc: "", + }, // 琛ㄥ崟鏍¢獙 rules: { createTime: [ @@ -950,6 +1080,21 @@ this.getDeptTree(); }, methods: { + handleQuerys() { + this.$refs.aaa.open = true; + this.$refs.aaa.getAllList(); + this.$refs.aaa.title = "鏁版嵁瀛楀吀"; + }, + handleChanges(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) {}, /** 鏌ヨ浣撴椤圭洰鍒楄〃 */ @@ -967,9 +1112,11 @@ 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"); + this.projectList = response.data.list; this.loading = false; }); }, @@ -984,32 +1131,68 @@ /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd(row) { - this.reset(); + // this.reset(); this.loading = true; - ProjectTree().then((response) => { + this.proParent = false; + this.form.proPrice = 0.0; + this.form.proName = ""; + this.form.proId = null; + // ProjectTree + 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); - 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.loading = false; } }); - 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")) { gettreeList().then((response) => { this.deptOptionstree = response.data; - this.chargeId.push(this.deptOptionstree[0].id); }); } }, @@ -1021,11 +1204,17 @@ this.dialogTableVisible = false; } else { this.dialogTableVisible = true; + this.$nextTick(() => { + this.chargeId.push(this.deptOptionstree[0].id); + }); this.getlistSfxm(); } } else if (this.form.proParentId) { if (this.form.proParentId != 0) { this.dialogTableVisible = true; + this.$nextTick(() => { + this.chargeId.push(this.deptOptionstree[0].id); + }); this.getlistSfxm(); } else if (this.form.proParentId == 0) { this.dialogTableVisible = false; @@ -1034,16 +1223,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; } @@ -1061,6 +1253,12 @@ }); this.total = response.total; this.loading = false; + }); + }, + + Synchronizationfees(){ + tbhisproprice().then((response) => { + this.$modal.msgSuccess("鎵归噺鍚屾璐圭敤鎴愬姛"); }); }, // input寮规鎼滅储 @@ -1103,7 +1301,7 @@ // // 鏌ヨ浣撴椤圭洰鍒楄〃(鏍戝舰缁撴瀯) getData() { /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ - ProjectTree().then((response) => { + getAllChildListById().then((response) => { this.projectOptions = []; const project = { proId: 0, proName: "涓荤被鐩�", children: [] }; project.children = this.handleTree(response.data.list, "proId"); @@ -1125,7 +1323,7 @@ }, /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ getDeptTree() { - deptTree().then((response) => { + deptTree111().then((response) => { this.deptOptions = response.data; this.treeId.push(this.deptOptions[0].id); }); @@ -1143,13 +1341,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"); @@ -1189,12 +1398,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; }); }, @@ -1225,7 +1434,7 @@ deptName: null, consumablesList: [], tjStandardList: [], - proStatus: "鍚敤", + proStatus: "0", }; this.resetForm("form"); }, @@ -1237,7 +1446,7 @@ /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { this.resetForm("queryForm"); - this.queryParams.deptId = undefined; + this.queryParams.proId = undefined; this.$refs.tree.setCurrentKey(null); this.handleQuery(); }, @@ -1356,12 +1565,32 @@ 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) => { this.form = response.data; if (this.form.proParentId === "0") { @@ -1371,12 +1600,7 @@ this.showPrise = false; this.showRentPrise = true; } - this.form.deptId = Number(this.form.deptId); - if (this.form.proStatus === 0) { - this.form.proStatus = "鍚敤"; - } else { - this.form.proStatus = "鍋滅敤"; - } + // this.form.deptId = Number(this.form.deptId); if (this.form.proStandard === 0) { this.showPrise = true; this.showRentPrise = false; @@ -1384,6 +1608,7 @@ this.showPrise = false; this.showRentPrise = true; } + this.form.proStatus = this.form.proStatus.toString(); this.form.consumablesList = response.data.consumablesList; this.form.tjStandardList = response.data.tjStandardList; if (this.form.tjStandardList != null) { @@ -1418,7 +1643,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 = "浣撴椤圭洰淇℃伅缁存姢"; }); @@ -1491,14 +1725,16 @@ } }); } - if (this.form.proStatus === "鍚敤") { - this.form.proStatus = 0; - } else { - this.form.proStatus = 1; - } + 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) { @@ -1511,14 +1747,11 @@ this.$message.error("璇峰~鍐欑埗椤瑰悕绉版垨绉戝鍚嶇О"); this.open = true; } else { - if (this.form.proStatus === "鍚敤") { - this.form.proStatus = 0; - } else { - this.form.proStatus = 1; - } + this.form.lisXmbm = this.form.lisXmbm; addProject(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.cancel(); + this.getList(); }); } } @@ -1561,14 +1794,16 @@ } }); } - if (this.form.proStatus === "鍚敤") { - this.form.proStatus = 0; - } else { - this.form.proStatus = 1; - } + 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) { @@ -1581,14 +1816,11 @@ this.$message.error("璇峰~鍐欑埗椤瑰悕绉版垨绉戝鍚嶇О"); this.open = true; } else { - if (this.form.proStatus === "鍚敤") { - this.form.proStatus = 0; - } else { - this.form.proStatus = 1; - } + this.form.lisXmbm = this.form.lisXmbm; addProject(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.cancel(); + this.getList(); }); } } @@ -1667,4 +1899,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