src/views/doctor/examination/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/hosp/diseasetypes/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/jmreport/jmreport/clinical.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/reservation/career/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/system/comp/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/system/tijian/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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的就是样式 可以是color 也可以是backgroundColor src/views/hosp/diseasetypes/index.vue
New file @@ -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> src/views/jmreport/jmreport/clinical.vue
@@ -40,7 +40,7 @@ res + "/" + this.viewNum + "?tj_number=" + "?tjNumber=" + this.tj_number + "&token=Bearer " + getToken(); 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" 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="统一信用代码" prop="taxNumber"> <el-input v-model="form.taxNumber" placeholder="请输入统一信用代码" style="width: 476px" style="width: 510px" /> </el-form-item> <el-form-item label="法人代表" 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(); } 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, // 身份证需要 @@ -1926,11 +1928,15 @@ // 最新使用webSocket通信 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) {