From 47b9d49bf40010d0eba022379ab50ca47d021c62 Mon Sep 17 00:00:00 2001 From: qx <1084500556@qq.com> Date: 星期五, 30 五月 2025 16:42:11 +0800 Subject: [PATCH] qx --- src/views/system/tijian/index.vue | 28 ++- src/views/doctor/examination/index.vue | 3 src/views/system/comp/index.vue | 36 +++- src/views/jmreport/jmreport/clinical.vue | 2 src/views/reservation/career/index.vue | 14 +- src/views/hosp/diseasetypes/index.vue | 320 +++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 370 insertions(+), 33 deletions(-) diff --git a/src/views/doctor/examination/index.vue b/src/views/doctor/examination/index.vue index dc40ce2..8a0b76b 100644 --- a/src/views/doctor/examination/index.vue +++ b/src/views/doctor/examination/index.vue @@ -166,6 +166,7 @@ <el-table-column label="妫�娴嬬粨鏋�" prop="pro_result"> </el-table-column> <el-table-column label="鍙傝�冭寖鍥�" prop="ckfw"> </el-table-column> + <el-table-column label="寮傚父鏍囧織" prop="ycbz"> </el-table-column> </el-table> </div> @@ -330,7 +331,7 @@ }, methods: { changRed({ row }) { - if (row.ycbz != "" && row.ycbz != null && row.ycbz === "1") { + if (row.ycbz != "" && row.ycbz != null && row.ycbz === 1) { // 鍙橀鑹茬殑鏉′欢 return { color: "red", // 杩欎釜return鐨勫氨鏄牱寮� 鍙互鏄痗olor 涔熷彲浠ユ槸backgroundColor diff --git a/src/views/hosp/diseasetypes/index.vue b/src/views/hosp/diseasetypes/index.vue new file mode 100644 index 0000000..f0afc9b --- /dev/null +++ b/src/views/hosp/diseasetypes/index.vue @@ -0,0 +1,320 @@ +<template> + <div class="app-container"> + <el-row :gutter="24"> + <!-- 绗竴鍒楋細鍗曢�夋爣鏈� --> + <el-col :span="8" :xs="24"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + label-width="68px" + style="height: 45px" + @submit.native.prevent + > + <el-form-item label="椤圭洰鍚嶇О" prop="tjh"> + <el-input + v-model="queryParams.tjh" + placeholder="璇疯緭鍏ラ」鐩悕绉�" + clearable + @keyup.enter.native="handleManual" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" size="mini" @click="handleManual">鏌ヨ</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + </el-form> + + <!-- 鏍囨湰鍗曢�夎〃鏍硷紙甯﹀閫夋鏍峰紡锛� --> + <el-table + border + v-loading="loading" + :data="filteredSpecimenData" + height="478" + style="width: 100%" + ref="specimenTable" + :row-key="row => row.value" + @select="handleSpecimenSelect" + > + <el-table-column type="selection" width="40px" align="center" /> + <el-table-column label="搴忓彿" align="center" type="index" width="50px" /> + <el-table-column label="鏍囨湰鍚嶇О" align="center" prop="label" show-overflow-tooltip /> + </el-table> + </el-col> + + <!-- 绗簩鍒楋細涓棿閫変腑椤圭洰鍒楄〃 --> + <el-col :span="8" :xs="24"> + <el-form :model="form" size="small" :inline="true" label-width="68px" style="height: 45px" @submit.native.prevent /> + <el-table + border + v-loading="loading" + :data="OnenewpacName" + height="478" + style="width: 100%" + > + <el-table-column label="宸查�夐」鐩垪琛�" align="center" prop="proName" /> + <el-table-column label="鎿嶄綔" align="center" width="85"> + <template slot-scope="scope"> + <el-button size="mini" type="text" icon="el-icon-delete" @click="handledbelete(scope.row)">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + <div class="dialog-footer1" style="margin-top: 60px; text-align: center;"> + <el-button type="primary" @click="submitrighr">纭骞朵繚瀛�</el-button> + <el-button @click="cancell">鍙� 娑�</el-button> + </div> + </el-col> + + <!-- 绗笁鍒楋細鎼滅储 + 椤圭洰閫夋嫨 --> + <el-col :span="8" :xs="24"> + <el-form + :model="queryParams1" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="68px" + style="height: 45px" + @submit.native.prevent + > + <el-form-item label="椤圭洰鍚嶇О" prop="proName"> + <el-input + ref="inputName" + v-model="queryParams1.proName" + placeholder="璇疯緭鍏ラ」鐩悕绉�" + clearable + @keyup.enter.native="handleSearchFor" + style="width: 140px" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearchFor">鎼滅储</el-button> + </el-form-item> + </el-form> + <el-table + border + v-loading="loading" + ref="tre" + :data="Treedata" + @selection-change="handleChangesingle" + height="478" + style="width: 100%" + > + <el-table-column type="selection" width="40px" align="center" /> + <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" show-overflow-tooltip /> + </el-table> + </el-col> + </el-row> + </div> +</template> + +<script> +import { searchBiaoben, delBiaoben, editBiaoben } from "@/api/hosp/biaoben"; +import { debounce } from 'lodash'; + +export default { + name: "Part", + data() { + return { + loading: false, + OnenewpacName: [], + Treedata: [], + originalTreedata: [], + queryParams: { + tjh: '', + tjCategory: null, + }, + queryParams1: { + proName: '', + }, + form: { + price: '', + }, + showSearch: true, + filteredSpecimenData: [], + originalSpecimenData: [], + }; + }, + dicts: ["sys_dict_specimen"], + created() { + this.fetchInitialBiaobenData(); + this.initializeSpecimenData(); + this.debouncedFetchBiaobenData = debounce(this.fetchBiaobenData, 300); + }, + watch: { + 'dict.type.sys_dict_specimen': { + handler(newVal) { + if (newVal && newVal.length > 0) { + console.log('鏍囨湰瀛楀吀鏁版嵁鍔犺浇:', newVal); + this.originalSpecimenData = [...newVal]; + this.filteredSpecimenData = [...newVal]; + } else { + console.warn('鏍囨湰瀛楀吀鏁版嵁涓虹┖鎴栨湭鍔犺浇'); + } + }, + deep: true, + immediate: true, + }, + }, + methods: { + initializeSpecimenData() { + if (this.dict?.type?.sys_dict_specimen) { + this.originalSpecimenData = [...this.dict.type.sys_dict_specimen]; + this.filteredSpecimenData = [...this.originalSpecimenData]; + console.log('鍒濆鍖栨爣鏈暟鎹�:', this.originalSpecimenData); + } else { + this.$message.warning('鏍囨湰鏁版嵁鏈姞杞斤紝璇锋鏌ュ瓧鍏搁厤缃�'); + this.originalSpecimenData = []; + this.filteredSpecimenData = []; + } + }, + handleSearchFor() { + const searchText = this.queryParams1.proName?.trim().toLowerCase() || ''; + if (searchText) { + this.Treedata = this.originalTreedata.filter(item => + item.proName.toLowerCase().includes(searchText) + ); + this.Treedata.length + ? this.$message.success('鏌ヨ鎴愬姛') + : this.$message.warning('鏈壘鍒板尮閰嶇殑椤圭洰'); + } else { + this.Treedata = [...this.originalTreedata]; + this.$message.info('宸叉樉绀烘墍鏈夐」鐩�'); + } + this.$refs.tre.clearSelection(); + }, + resetQuery() { + this.$refs.queryForm.resetFields(); + this.queryParams.tjh = ''; + this.queryParams.tjCategory = null; + this.OnenewpacName = []; + this.filteredSpecimenData = [...this.originalSpecimenData]; + this.$refs.specimenTable.clearSelection(); + this.$message.success('宸查噸缃煡璇㈡潯浠跺拰鏍囨湰鏁版嵁'); + }, + handleManual() { + const searchText = this.queryParams.tjh?.trim().toLowerCase() || ''; + this.filteredSpecimenData = searchText + ? this.originalSpecimenData.filter(item => item.label.toLowerCase().includes(searchText)) + : [...this.originalSpecimenData]; + + this.queryParams.tjCategory = null; + this.OnenewpacName = []; + this.$refs.specimenTable.clearSelection(); + + this.$message[this.filteredSpecimenData.length ? 'success' : 'warning']( + this.filteredSpecimenData.length ? '鏌ヨ鎴愬姛' : '鏈壘鍒板尮閰嶇殑鏍囨湰' + ); + }, + handleSpecimenSelect(selection, row) { + console.log('鏍囨湰閫夋嫨瑙﹀彂:', { selection, row }); + this.$refs.specimenTable.clearSelection(); + if (selection.includes(row)) { + this.$refs.specimenTable.toggleRowSelection(row, true); + if (this.queryParams.tjCategory !== row.value) { + this.queryParams.tjCategory = row.value; + console.log('閫変腑鐨勬爣鏈� value:', this.queryParams.tjCategory); + this.debouncedFetchBiaobenData(row.value); + } + } else { + this.queryParams.tjCategory = null; + this.OnenewpacName = []; + console.log('鏍囨湰閫夋嫨宸叉竻绌�'); + } + }, + handleChangesingle(selection) { + if (selection.length > 0) { + selection.forEach(item => { + if (!this.OnenewpacName.some(existing => existing.proId === item.proId)) { + this.OnenewpacName.push({ ...item }); + } + }); + this.$refs.tre.clearSelection(); + } + }, + cancell() { + this.openOne = false; + }, + submitrighr() { + if (!this.queryParams.tjCategory) { + this.$message.error('璇峰厛閫夋嫨涓�涓爣鏈�'); + return; + } + if (!this.OnenewpacName.length) { + this.$message.error('璇疯嚦灏戦�夋嫨涓�涓」鐩�'); + return; + } + const proIds = this.OnenewpacName.map(item => item.proId); + const bblx = this.queryParams.tjCategory; + this.loading = true; + editBiaoben({ proIds, bblx }) + .then(() => { + this.$message.success('淇濆瓨鎴愬姛'); + this.OnenewpacName = []; + this.queryParams.tjCategory = null; + this.$refs.specimenTable.clearSelection(); + this.loading = false; + }) + .catch(error => { + this.$message.error('淇濆瓨澶辫触'); + console.error(error); + this.loading = false; + }); + }, + handledbelete(row) { + this.loading = true; + delBiaoben({ proId: row.proId }) + .then(() => { + this.OnenewpacName = this.OnenewpacName.filter(item => item.proId !== row.proId); + this.$message.success('鍒犻櫎鎴愬姛'); + this.loading = false; + }) + .catch(error => { + this.$message.error('鍒犻櫎澶辫触'); + console.error(error); + this.loading = false; + }); + }, + fetchBiaobenData(bblx) { + console.log('璋冪敤 searchBiaoben锛堜腑闂磋〃鏍硷級锛屽弬鏁�:', { bblx }); + this.loading = true; + searchBiaoben({ bblx }) + .then(response => { + this.OnenewpacName = response.data || []; + this.loading = false; + }) + .catch(error => { + this.$message.error('鑾峰彇鏍囨湰鏁版嵁澶辫触'); + console.error(error); + this.loading = false; + }); + }, + fetchInitialBiaobenData() { + console.log('璋冪敤 searchBiaoben锛堝垵濮嬪姞杞斤紝鍙充晶琛ㄦ牸锛夛紝鍙傛暟: {}'); + this.loading = true; + searchBiaoben({}) + .then(response => { + this.originalTreedata = response.data || []; + this.Treedata = [...this.originalTreedata]; + this.loading = false; + }) + .catch(error => { + this.$message.error('鑾峰彇鍒濆椤圭洰鏁版嵁澶辫触'); + console.error(error); + this.loading = false; + }); + }, + }, +}; +</script> + +<style scoped> +.app-container { + padding: 20px; +} +.dialog-footer1 { + margin-top: 60px; + text-align: center; +} +</style> \ No newline at end of file diff --git a/src/views/jmreport/jmreport/clinical.vue b/src/views/jmreport/jmreport/clinical.vue index 9b22759..24c2f45 100644 --- a/src/views/jmreport/jmreport/clinical.vue +++ b/src/views/jmreport/jmreport/clinical.vue @@ -40,7 +40,7 @@ res + "/" + this.viewNum + - "?tj_number=" + + "?tjNumber=" + this.tj_number + "&token=Bearer " + getToken(); diff --git a/src/views/reservation/career/index.vue b/src/views/reservation/career/index.vue index b4f1091..70821e2 100644 --- a/src/views/reservation/career/index.vue +++ b/src/views/reservation/career/index.vue @@ -127,8 +127,8 @@ <!-- 娣诲姞鎴栦慨鏀逛綋妫�鍗曚綅淇℃伅缁存姢瀵硅瘽妗� --> <div class="dia"> - <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true"> + <el-dialog :title="title" :visible.sync="open" width="1100px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="106px" :inline="true"> <el-form-item label="鍗曚綅鍚嶇О" prop="cnName" @@ -194,7 +194,7 @@ v-model="form.lsgx" placeholder="璇烽�夋嫨闅跺睘鍏崇郴" clearable - style="width: 183px" + style="width: 202px" > <el-option v-for="dict in dict.type.sys_yes_no" @@ -210,7 +210,7 @@ v-model="form.jjlx" placeholder="璇烽�夋嫨缁忔祹绫诲瀷" clearable - style="width: 183px" + style="width: 202px" > <el-option v-for="dict in dict.type.sys_yes_no" @@ -229,7 +229,7 @@ v-model="form.hyfl" placeholder="璇烽�夋嫨琛屼笟鍒嗙被" clearable - style="width: 183px" + style="width: 202px" > <el-option v-for="dict in dict.type.sys_yes_no" @@ -245,7 +245,7 @@ v-model="form.fxpg" placeholder="璇烽�夋嫨椋庨櫓璇勪及" clearable - style="width: 183px" + style="width: 202px" > <el-option v-for="dict in dict.type.sys_yes_no" @@ -283,7 +283,7 @@ v-model="form.areaName" placeholder="璇烽�夋嫨琛屾斂鍖哄垝鍚嶇О" clearable - style="width: 186px" + style="width: 202px" > <el-option v-for="dict in dict.type.sys_yes_no" diff --git a/src/views/system/comp/index.vue b/src/views/system/comp/index.vue index cd3f7cc..bdc5579 100644 --- a/src/views/system/comp/index.vue +++ b/src/views/system/comp/index.vue @@ -150,6 +150,12 @@ <el-form-item label="绛剧害閲戦" prop="signingPrice"> <el-input v-model="form.signingPrice" placeholder="璇疯緭鍏ョ绾﹂噾棰�" /> </el-form-item> + <el-form-item label="鐥呯" prop="bz" v-if="dwlxs == 1"> + <el-select v-model="form.bz" placeholder="璇烽�夋嫨鐥呯" style="width: 180px" clearable> + <el-option v-for="dict in dict.type.reservation_pay_type" :key="dict.value" :label="dict.label" + :value="dict.value" /> + </el-select> + </el-form-item> </el-form> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> @@ -162,7 +168,7 @@ </el-col> </el-row> <el-table ref="tb" v-loading="loading" :data="deptList" @selection-change="handleSelection" border - style="width: 320px" height="350"> + style="width: 320px" height="300"> <el-table-column type="selection" width="40px" align="center" /> <el-table-column label="濂楅鍚嶇О" align="center" prop="dwDeptName" /> </el-table> @@ -201,6 +207,7 @@ :value="dict.value" /> </el-select> </el-form-item> + <el-form-item label="骞撮緞娈�"> <el-col :span="7"> <el-input v-model="forms.ltAge" style="width: 53px" /> @@ -563,14 +570,14 @@ <el-input v-model="form.cnName" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�" - style="width: 476px" + style="width:510px" /> </el-form-item> <el-form-item label="缁熶竴淇$敤浠g爜" prop="taxNumber"> <el-input v-model="form.taxNumber" placeholder="璇疯緭鍏ョ粺涓�淇$敤浠g爜" - style="width: 476px" + style="width: 510px" /> </el-form-item> <el-form-item label="娉曚汉浠h〃" prop="legalPerson"> @@ -597,14 +604,14 @@ <el-input v-model="form.registerAddress" placeholder="璇疯緭鍏ユ敞鍐屽湴鍧�" - style="width: 1058px" + style="width: 1128px" /> </el-form-item> <el-form-item label="閫氳鍦板潃" prop="mailingAddress"> <el-input v-model="form.mailingAddress" placeholder="璇疯緭鍏ラ�氳鍦板潃" - style="width: 1058px" + style="width: 1128px" /> </el-form-item> <el-form-item label="鎵�灞炲湴鍖�" prop="ssdq" v-if="form.dwlx == 1"> @@ -624,7 +631,7 @@ v-model="form.lsgx" placeholder="璇烽�夋嫨闅跺睘鍏崇郴" clearable - style="width: 186px" + style="width: 198px" > <el-option v-for="dict in dict.type.sys_yes_no" @@ -640,7 +647,7 @@ v-model="form.jjlx" placeholder="璇烽�夋嫨缁忔祹绫诲瀷" clearable - style="width: 186px" + style="width: 199px" > <el-option v-for="dict in dict.type.sys_yes_no" @@ -659,7 +666,7 @@ v-model="form.hyfl" placeholder="璇烽�夋嫨琛屼笟鍒嗙被" clearable - style="width: 186px" + style="width: 199px" > <el-option v-for="dict in dict.type.sys_yes_no" @@ -675,7 +682,7 @@ v-model="form.fxpg" placeholder="璇烽�夋嫨椋庨櫓璇勪及" clearable - style="width: 186px" + style="width: 198px" > <el-option v-for="dict in dict.type.sys_yes_no" @@ -685,18 +692,19 @@ /> </el-select> </el-form-item> + <br/> <el-form-item label="寮�鎴烽摱琛�" prop="bankAccount"> <el-input v-model="form.bankAccount" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" - style="width: 476px" + style="width: 510px" /> </el-form-item> <el-form-item label="閾惰璐︽埛" prop="countNum"> <el-input v-model="form.countNum" placeholder="璇疯緭鍏ラ摱琛岃处鎴�" - style="width: 476px" + style="width: 510px" /> </el-form-item> <el-form-item label="鑱旂郴閭" prop="email"> @@ -715,7 +723,7 @@ v-model="form.areaName" placeholder="璇烽�夋嫨琛屾斂鍖哄垝鍚嶇О" clearable - style="width: 186px" + style="width: 198px" > <el-option v-for="dict in dict.type.sys_yes_no" @@ -823,6 +831,7 @@ singleg: true, singlegg: true, isfalse: false, + dwlxs:null, // 闈炲涓鐢� multiple: true, // 鏄剧ず鎼滅储鏉′欢 @@ -1231,6 +1240,7 @@ const drugManufacturerId = row.drugManufacturerId || this.ids; getComp(drugManufacturerId).then((response) => { this.form = response.data; + this.form.dwlx= Number(response.data.dwlx) this.open = true; this.title = "淇敼浣撴鍗曚綅淇℃伅缁存姢"; }); @@ -1240,7 +1250,7 @@ this.opens = true; this.groupingList = []; - + this.dwlxs = this.form.dwlx if (this.form.drugManufacturerId) { this.beCurrentDept(); } diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue index 602e058..c72bc23 100644 --- a/src/views/system/tijian/index.vue +++ b/src/views/system/tijian/index.vue @@ -285,7 +285,8 @@ <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" v-model="activeNames" @tab-click="handleClick"> <el-tab-pane label="濂楅" name="first"> - <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="auto" @submit.native.prevent="handle"> + <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="auto" + @submit.native.prevent="handle"> <el-form-item label="濂楅鍚嶇О" prop="pacName"> <el-input v-model="queryParam.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" clearable @keyup.enter.native="handle" /> </el-form-item> @@ -957,6 +958,7 @@ // valueUrl: "ws://192.168.1.3:6789/websocket", valueUrl: "ws://127.0.0.1:6789/websocket", valueUrls: "ws://127.0.0.1:6789/websocket", + // valueUrls: "ws://"+getIp() +":6789/websocket", webSocket: null, // 韬唤璇侀渶瑕� @@ -1709,7 +1711,7 @@ }, /** 鐧昏鎻愪氦鎸夐挳 */ /** 鐧昏鎻愪氦鎸夐挳 */ - submitForm() { + submitForm() { let _this = this; if (!this.form.cusPhone || !this.form.cusName) { this.$message.warning("璇峰~閫夊繀濉」"); @@ -1734,7 +1736,7 @@ } if (formData.tjType === "") { formData.tjType = this.dict.type.dict_team[0].value; - + } addCustomer(formData).then((response) => { @@ -1926,11 +1928,15 @@ // 鏈�鏂颁娇鐢╳ebSocket閫氫俊 readCardWebSocket(resultObj) { let _this = this; - + const isChineseChar = (char) => /[\u4E00-\u9FA5]/.test(char) if (resultObj.code === 200 && resultObj.data.name != null) { //鍥炴樉鐩稿叧鏁版嵁 _this.form.cusName = resultObj.data.name; - _this.form.cusSex = resultObj.data.sex == "0" ? "濂�" : "鐢�"; + if (isChineseChar(resultObj.data.sex)) { + _this.form.cusSex = resultObj.data.sex == "濂�" ? 1 : 0 + } else { + _this.form.cusSex = resultObj.data.sex; + } _this.form.cusNational = resultObj.data.mz; _this.form.cusBrithday = resultObj.data.csrq; if (_this.form.cusBrithday) { @@ -1985,7 +1991,7 @@ //鍥炴樉鐩稿叧鏁版嵁 _this.form.cusName = resultObj.resultContent.partyName; _this.form.cusSex = - resultObj.resultContent.gender == "0" ? "濂�" : "鐢�"; + resultObj.resultContent.gender; _this.form.cusNational = resultObj.resultContent.nation; _this.form.cusBrithday = resultObj.resultContent.bornDay; if (_this.form.cusBrithday) { @@ -2282,7 +2288,7 @@ dwId: this.form.firmId, }; if (this.name) { - let name= this.name.toLowerCase() + let name = this.name.toLowerCase() getPackageListName(name).then((response) => { this.newpacName = response.data; this.loading = false; @@ -2940,9 +2946,9 @@ let Price = 0; if (this.tableData1) { this.tableData1.forEach((item) => { - if (typeof item.nowPrice === 'number') { - item.nowPrice = Number(item.nowPrice.toFixed(3)); - } + if (typeof item.nowPrice === 'number') { + item.nowPrice = Number(item.nowPrice.toFixed(3)); + } if (item.tjCategory != null) { this.tjCategory = item.tjCategory; } @@ -2956,7 +2962,7 @@ Price += item.nowPrice || 0; // 绱姞瀹炴敹閲戦 this.TotalPrice = Price.toFixed(2); }); - console.log( this.TotalPrice1,this.TotalPrice) + console.log(this.TotalPrice1, this.TotalPrice) // 璁$畻鎶樻墸 this.discount = this.TotalPrice1 > 0 ? (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10 : 0; -- Gitblit v1.8.0