From f95fee588c5327b3a4f7b6c283b473c05abb8c76 Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期五, 27 六月 2025 17:48:38 +0800 Subject: [PATCH] 1 --- src/views/hosp/project/index.vue | 168 +++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 119 insertions(+), 49 deletions(-) diff --git a/src/views/hosp/project/index.vue b/src/views/hosp/project/index.vue index 219515f..31c8c32 100644 --- a/src/views/hosp/project/index.vue +++ b/src/views/hosp/project/index.vue @@ -14,9 +14,19 @@ </div> <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" v-loading="loadings" /> + <el-tree + :data="deptOptions" + :props="defaultProps" + :expand-on-click-node="false" + :filter-node-method="filterNode" + ref="tree1" + node-key="id" + :default-expanded-keys="treeId" + highlight-current + @node-click="handleNodeClick" + :render-content="renderContent" + v-loading="loadings" + /> </div> </div> </el-col> @@ -120,6 +130,7 @@ v-loading="loading" :data="projectList" ref="tableRef" + height="580" border > <el-table-column @@ -206,7 +217,13 @@ width="90px" > </el-table-column> - <el-table-column label="Lis椤圭洰鍚嶇О" align="center" prop="lisXmmc" :show-overflow-tooltip="true" width="200px"> + <el-table-column + label="Lis椤圭洰鍚嶇О" + align="center" + prop="lisXmmc" + :show-overflow-tooltip="true" + width="200px" + > </el-table-column> <el-table-column label="Lis缂栫爜" @@ -452,11 +469,27 @@ ></el-option> </el-select> </el-form-item> + <el-form-item label="鏍锋湰绫诲瀷" prop="specimenType"> + <el-select + v-model="form.specimenType" + placeholder="璇烽�夋嫨鏍锋湰绫诲瀷" + style="width: 200px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.yblx" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> <el-form-item label="妫�鏌ラ儴浣�" prop="checkBw"> <el-select v-model="form.checkBw" placeholder="璇烽�夋嫨妫�鏌ラ儴浣�" - style="width: 200px" + style="width: 260px" filterable clearable > @@ -472,7 +505,7 @@ <el-input v-model="form.proMetering" placeholder="璇疯緭鍏ュ崟浣�" - style="width: 260px" + style="width: 200px" /> </el-form-item> <el-form-item label="鍙傝�冭寖鍥�" prop="proScope"> @@ -486,14 +519,14 @@ <el-input v-model="form.sl" placeholder="璇疯緭鍏ユ暟閲�" - style="width: 200px" + style="width: 260px" /> </el-form-item> <el-form-item label="缁勫悎鏍囧織" prop="sfzhfy"> <el-select v-model="form.sfzhfy" placeholder="璇烽�夋嫨鏄惁缁勫悎鏍囧織" - style="width: 260px" + style="width: 200px" > <el-option v-for="dict in dict.type.sys_yes_no" @@ -530,7 +563,7 @@ <el-input v-model="form.hisXmmc" placeholder="his椤圭洰鍚嶇О" - style="width: 200px" + style="width: 260px" ></el-input> </el-form-item> <el-form-item label="his椤圭洰鍚嶇О" prop="hisXmmc" v-if="key == 'N'"> @@ -544,7 +577,7 @@ <el-input v-model="form.hisXmbm" placeholder="璇疯緭鍏is缂栫爜" - style="width: 260px" + style="width: 200px" /> </el-form-item> <el-form-item label="his鍗曚环" prop="hisdj"> @@ -565,14 +598,14 @@ <el-input v-model="form.lisXmmc" placeholder="璇疯緭鍏IS椤圭洰" - style="width: 200px" + style="width: 260px" ></el-input> </el-form-item> <el-form-item label="LIS缂栫爜" prop="lisXmbm"> <el-input v-model="form.lisXmbm" placeholder="璇疯緭鍏is缂栫爜" - style="width: 260px" + style="width: 200px" /> </el-form-item> <el-form-item label="澶囨敞" prop="proRemark"> @@ -586,8 +619,22 @@ <el-input v-model="form.xh" placeholder="璇疯緭鍏ユ帓搴�" - style="width: 200px" + style="width: 260px" /> + </el-form-item> + <el-form-item label="鏄惁鍙備笌寮傚父" prop="sfcyyc"> + <el-select + v-model="form.sfcyyc" + placeholder="璇烽�夋嫨鏄惁鍙備笌寮傚父" + style="width: 200px" + > + <el-option + v-for="dict in dictTypesy" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> </el-form-item> </el-form> <el-button @@ -939,6 +986,7 @@ "sys_dict_position", "tj_result_type", "sys_yes_no", + "yblx", ], components: { Treeselect, IconSelect, Packagese }, data() { @@ -964,6 +1012,16 @@ children: "dictSfxms", label: "xmmc", }, + dictTypesy: [ + { + value: "0", + label: "鏄�", + }, + { + value: "1", + label: "鍚�", + }, + ], xmmc: "", chargeId: [], List: false, @@ -1040,6 +1098,7 @@ proScope: "", proSex: "2", resultType: "", + sfcyyc: "0", }, rules: { createTime: [ @@ -1069,7 +1128,7 @@ this.debounceFilter(val); }, treeId(newVal) { - console.log(newVal,8989) + console.log(newVal, 8989); if (newVal && newVal.length > 0) { this.$nextTick(() => { const lastId = newVal[newVal.length - 1] || "532"; @@ -1104,9 +1163,9 @@ created() { this.getConsumables(); this.getDeptList(); - this.getDeptTree().then(() => { - this.precomputePinyin(); - }); + // this.getDeptTree().then(() => { + // this.precomputePinyin(); + // }); }, mounted() { this.getDeptTree().then(() => { @@ -1115,23 +1174,18 @@ }, methods: { debounceFilter: debounce(function (val) { - this.$refs.tree.filter(val); - }, 800), + this.$refs.tree1.filter(val); + }, 300), precomputePinyin() { const traverse = (nodes) => { nodes.forEach((node) => { if (node.label) { - const lowerSpell = cnchar.spell(node.label, 'low', 'array').join(''); // 瀹屾暣灏忓啓鎷奸煶 - const upperSpell = cnchar.spell(node.label, 'up', 'array').join(''); // 瀹屾暣澶у啓鎷奸煶 - const shortPinyin = node.label - .split('') - .map(char => cnchar.spell(char, 'array')[0]?.[0]?.toLowerCase() || char) // 鎷奸煶棣栧瓧姣� - .join(''); + const lowerSpell = node.label.spell("low", "array").join(""); + const upperSpell = node.label.spell("up", "array").join(""); this.pinyinCache.set(node.id, { lowerSpell, upperSpell, - shortPinyin, // 缂撳瓨鎷奸煶绠�鍐� - label: node.label + label: node.label, }); } if (node.children) traverse(node.children); @@ -1142,12 +1196,11 @@ filterNode(value, data) { if (!value) return true; const cached = this.pinyinCache.get(data.id); - if (!cached) return false; // 濡傛灉娌℃湁缂撳瓨鏁版嵁锛屼笉鏄剧ず璇ヨ妭鐐� - const searchLower = value.toLowerCase(); // 灏嗘悳绱㈣瘝杞负灏忓啓 + if (!cached) return false; return ( - cached.label.includes(value) || // 鐩存帴鍖归厤姹夊瓧 - cached.shortPinyin.includes(searchLower) || // 鍖归厤鎷奸煶绠�鍐� - cached.lowerSpell.includes(searchLower) // 鍖归厤瀹屾暣鎷奸煶 + cached.label.includes(value) || + cached.lowerSpell.includes(value) || + cached.upperSpell.includes(value) ); }, filterNode2(value, data) { @@ -1265,8 +1318,8 @@ this.open = true; } else if (this.treeDate.id) { if (this.treeDate.qf == "0") { - this.form.proParentId = "0" - this.form.deptId = this.treeDate.id + this.form.proParentId = "0"; + this.form.deptId = this.treeDate.id; } else { this.form.proParentId = this.treeDate.id; this.projectOptions.forEach((item) => { @@ -1278,10 +1331,9 @@ }); } - this.open = true; } else { - this.form.proParentId = "0" + this.form.proParentId = "0"; this.open = true; } } @@ -1305,7 +1357,7 @@ this.dialogTableVisible = true; if (this.deptOptionstree.length != 0) { this.$nextTick(() => { - this.chargeId.push(this.deptOptionstree[0].id); + // this.chargeId.push(this.deptOptionstree[0].id); }); } @@ -1332,10 +1384,13 @@ } }, getlistSfxm() { + console.log(2222); this.loading = true; this.List = true; listSfxm(this.querycharge).then((response) => { - this.sfxmList = response.rows; + this.sfxmList = response.rows || []; + console.log(response.rows, 111222); + response.rows.forEach((item, index) => { item.newID = (this.querycharge.pageNum - 1) * this.querycharge.pageSize + @@ -1360,18 +1415,26 @@ this.queryParam.id = data.id; this.List = false; this.getListByXmId(); + this.total = 0; }, getListByXmId() { + console.log(this.sfxmList); this.loading = true; + getListByXmId(this.queryParam).then((response) => { - this.sfxmList = response.data.date; - response.data.date.forEach((item, index) => { - item.newID = - (this.queryParam.page - 1) * this.queryParam.pageSize + index + 1; - }); + this.sfxmList = response.data.date || []; + if (response.data.date == null) { + return; + } else { + response.data.date.forEach((item, index) => { + item.newID = + (this.queryParam.page - 1) * this.queryParam.pageSize + index + 1; + }); + } + this.total = response.data.total; - this.loading = false; }); + this.loading = false; }, normalizer(node) { if (node.children && !node.children.length) { @@ -1401,13 +1464,17 @@ getDeptTree() { return deptTree111().then((response) => { this.deptOptions = response.data; - this.treeId.push(this.treeDate.id); + this.treeId = []; + if (this.treeDate.id) { + this.treeId.push(this.treeDate.id); + } else { + this.treeId.push("532"); + } }); }, handleNodeClick(date) { this.treeDate = date; - this.treeId = [] - console.log(this.treeId,2222); + this.xiugaiList = {}; this.xiugais = date.qf === "0"; let proId = date.id; getInfoByProId(proId).then((response) => { @@ -1562,8 +1629,10 @@ } }, handleUpdate1() { + this.form = {}; this.form = this.xiugaiList; this.form.proStatus = this.form.proStatus.toString(); + this.form.sfcyyc = this.form.sfcyyc.toString(); this.proParent = true; this.isPriceDisabled = true; getlist().then((response) => { @@ -1589,6 +1658,7 @@ this.showPrise = this.form.proParentId === "0"; this.showRentPrise = !this.showPrise; this.form.proStatus = this.form.proStatus.toString(); + this.form.sfcyyc = this.form.sfcyyc.toString(); this.form.consumablesList = response.data.consumablesList; this.form.tjStandardList = response.data.tjStandardList; if (this.form.tjStandardList) { @@ -1709,7 +1779,7 @@ this.precomputePinyin(); }); } - console.log(this.treeId) + console.log(this.treeId); }, submit() { this.ChangeList.forEach((item) => { @@ -1741,7 +1811,7 @@ this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) - .catch(() => { }); + .catch(() => {}); }, handleExport() { this.download( -- Gitblit v1.8.0