From 08881d6b6412822d5035f63a0775ca1f213c8668 Mon Sep 17 00:00:00 2001 From: WXL (wul) <wl_5969728@163.com> Date: 星期一, 20 十月 2025 10:17:22 +0800 Subject: [PATCH] 测试完成 --- src/views/followvisit/discharge/index.vue | 278 ++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 202 insertions(+), 76 deletions(-) diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue index 296305f..080eb02 100644 --- a/src/views/followvisit/discharge/index.vue +++ b/src/views/followvisit/discharge/index.vue @@ -120,7 +120,29 @@ placeholder="璇疯緭鍏ラ殢璁夸汉鍛�" ></el-input> </el-form-item> - + <el-form-item label="涓绘不鍖荤敓" prop="drname"> + <el-input + v-model="topqueryParams.drname" + placeholder="璇疯緭鍏ヤ富娌诲尰鐢�" + ></el-input> + </el-form-item> + <el-form-item label="缁忕鍖荤敓" prop="managementDoctor"> + <el-input + v-model="topqueryParams.managementDoctor" + placeholder="璇疯緭鍏ヤ富娌诲尰鐢�" + ></el-input> + </el-form-item> + <el-form-item label="鏃ユ湡闄愬埗" prop="status"> + <el-select v-model="endOut" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in endOuts" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> <el-form-item label="鎮h�呰寖鍥�" prop="status"> <el-cascader v-model="topqueryParams.scopetype" @@ -169,7 +191,7 @@ </el-form> <el-divider></el-divider> <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> + <!-- <el-col :span="1.5"> <div class="documentf"> <div class="document"> <el-button @@ -182,11 +204,10 @@ > </div> </div> - </el-col> + </el-col> --> <el-col :span="1.5"> <el-button type="primary" - plain icon="el-icon-plus" size="medium" @click="handleAdd" @@ -238,11 +259,7 @@ <el-col :span="1.5"> <div class="documentf"> <div class="document"> - <el-button - type="primary" - plain - size="medium" - @click="affiliation()" + <el-button type="primary" size="medium" @click="affiliation()" >鏈汉鎵�灞炴湇鍔�</el-button > </div> @@ -252,26 +269,37 @@ <div class="documentf"> <div class="document"> <el-button type="success" size="medium" @click="onthatday()" - >褰撴棩鏈嶅姟</el-button + >浠婃棩鏈嶅姟</el-button > </div> </div> </el-col> - <el-col :span="1.5"> + <!-- <el-col :span="1.5"> <div class="documentf"> <div class="document"> - <el-button - :disabled="multiple" - style="background: #983680; color: azure" - @click="scoreDialogVisible = true" - >婊℃剰搴﹁皟鏌�</el-button + <el-tooltip + content="璇峰厛閫変腑鏈嶅姟" + placement="top" + :disabled="!multiple" > + <div class="tooltip-wrapper"> + <el-button + type="primary" + :disabled="multiple" + class="purple-button" + @click="scoreDialogVisible = true" + > + 婊℃剰搴﹁皟鏌� + </el-button> + </div> + </el-tooltip> </div> </div> - </el-col> + </el-col> --> </el-row> <el-table v-loading="loading" + ref="userform" :data="userList" :row-class-name="tableRowClassName" @selection-change="handleSelectionChange" @@ -306,6 +334,15 @@ }}</span></el-button > </template> + </el-table-column> + <el-table-column + label="璇婃柇鍚嶇О" + align="center" + key="leavediagname" + prop="leavediagname" + width="120" + :show-overflow-tooltip="true" + > </el-table-column> <el-table-column label="浠诲姟鐘舵��" @@ -416,10 +453,19 @@ prop="drname" /> <el-table-column + v-if="orgname != '涓芥按甯備腑鍖婚櫌'" label="闅忚浜哄憳" align="center" key="updateBy" prop="updateBy" + width="120" + /> + <el-table-column + v-if="orgname != '涓芥按甯備腑鍖婚櫌'" + label="缁忕鍖荤敓" + align="center" + key="managementDoctor" + prop="managementDoctor" width="120" /> <el-table-column @@ -481,16 +527,6 @@ key="leavehospitaldistrictname" prop="leavehospitaldistrictname" width="120" - > - </el-table-column> - - <el-table-column - label="璇婃柇鍚嶇О" - align="center" - key="leavediagname" - prop="leavediagname" - width="120" - :show-overflow-tooltip="true" > </el-table-column> @@ -617,7 +653,7 @@ </el-row> <!-- 婊℃剰搴﹀脊妗� --> <el-dialog - title="闅忚璇勫垎" + title="闅忚婊℃剰搴﹁瘎鍒�" :visible.sync="scoreDialogVisible" width="80%" :close-on-click-modal="false" @@ -631,7 +667,7 @@ /> <el-table-column label="浠诲姟鍚嶇О" - width="150" + width="180" align="center" prop="taskName" /> @@ -641,8 +677,7 @@ align="center" key="authenticity" prop="authenticity" - sortable - width="120" + width="150" > <template slot-scope="scope"> <el-input-number @@ -659,8 +694,7 @@ align="center" key="weekFinish" prop="weekFinish" - sortable - width="120" + width="150" > <template slot-scope="scope"> <el-input-number @@ -677,7 +711,7 @@ align="center" key="standard" prop="standard" - sortable + width="150" > <template slot-scope="scope"> <el-input-number @@ -694,8 +728,7 @@ align="center" key="timeliness" prop="timeliness" - sortable - width="120" + width="150" > <template slot-scope="scope"> <el-input-number @@ -712,8 +745,7 @@ align="center" key="library" prop="library" - sortable - width="120" + width="150" > <template slot-scope="scope"> <el-input-number @@ -730,8 +762,7 @@ align="center" key="environment" prop="environment" - sortable - width="120" + width="150" > <template slot-scope="scope"> <el-input-number @@ -748,8 +779,7 @@ align="center" key="doctorSatisfaction" prop="doctorSatisfaction" - width="120" - sortable + width="150" > <template slot-scope="scope"> <el-input-number @@ -766,8 +796,7 @@ align="center" key="nurseSatisfaction" prop="nurseSatisfaction" - width="120" - sortable + width="150" > <template slot-scope="scope"> <el-input-number @@ -784,7 +813,7 @@ align="center" key="total" prop="total" - sortable + fixed="right" > <template slot-scope="scope"> <span>{{ calculateTotal(scope.row) }}</span> @@ -836,7 +865,17 @@ </el-form-item> </el-col> </el-row> - + <el-row> + <el-col :span="8"> + <el-form-item label="杩囨护鍖荤敓" width="100" prop="filterDrname"> + <el-input + v-model="form.filterDrname" + placeholder="璇疯緭鍏ュ尰鐢熷鍚�" + maxlength="30" + /> + </el-form-item> + </el-col> + </el-row> <el-row> <el-col :span="24"> <el-form-item label="杩囨护鍘熷洜"> @@ -1017,6 +1056,7 @@ buidegetTasklist, addserviceSubtask, query360PatInfo, + addsatisfaction, } from "@/api/AiCentre/index"; import { alterpatient, particularpatient } from "@/api/patient/homepage"; import Treeselect from "@riophae/vue-treeselect"; @@ -1109,7 +1149,7 @@ // value: 0, // }, { - name: "搴旈殢璁�", + name: "闇�闅忚", value: 0, }, { @@ -1120,10 +1160,10 @@ name: "寰呴殢璁�", value: 0, }, - { - name: "宸插彂閫�", - value: 0, - }, + // { + // name: "宸插彂閫�", + // value: 0, + // }, // { // name: "琛ㄥ崟宸插彂閫�", @@ -1147,6 +1187,17 @@ qystatus: "", btstatus: "", }, + endOut: 1, + endOuts: [ + { + value: 0, + label: "鎴鑷冲綋鏃ユ湇鍔�", + }, + { + value: 1, + label: "鍏ㄩ儴鏈嶅姟", + }, + ], topicoptionssort: [ { value: 0, @@ -1164,13 +1215,21 @@ value: 3, label: "鍙戦�佹椂闂�(鍊掑簭)", }, + { + value: 7, + label: "搴旈殢璁挎棩鏈�(姝e簭)", + }, + { + value: 8, + label: "搴旈殢璁挎棩鏈�(鍊掑簭)", + }, ], // 鏌ヨ鍙傛暟 topqueryParams: { pageNum: 1, pageSize: 10, sendstate: 2, - sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭) + sort: localStorage.getItem("orgname") == "涓芥按甯備腑鍖婚櫌" ? 8 : 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭) 7搴旈殢璁挎棩鏈�(鍊掑簭) 搴旈殢璁挎棩鏈�(姝e簭) serviceType: 2, searchscope: 3, visitCount: 1, @@ -1178,6 +1237,7 @@ leaveldeptcodes: [], leavehospitaldistrictcodes: [], }, + orgname: "", propss: { multiple: true }, options: [], @@ -1257,8 +1317,8 @@ YongHuXX: { XiTongID: "SUIFANGXT", XiTongMC: "闅忚绯荤粺", - YongHuID: "1400466972205912064", - YongHuXM: "JNRMYY", + YongHuID: localStorage.getItem("YongHuID"), + YongHuXM: localStorage.getItem("YongHuXM"), ZuZhiJGID: localStorage.getItem("orgid"), ZuZhiJGMC: localStorage.getItem("orgname"), idp: "lyra", @@ -1279,6 +1339,7 @@ this.serviceState = store.getters.serviceState; this.checkboxlist = store.getters.checkboxlist; this.errtype = this.$route.query.errtype; + this.orgname = localStorage.getItem("orgname"); this.leavehospitaldistrictcode = this.$route.query.leavehospitaldistrictcode; this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { @@ -1309,13 +1370,21 @@ /** 鏌ヨ闅忚鏈嶅姟鍒楄〃 */ getList(refresh) { // 榛樿鍏ㄩ儴 - if (this.topqueryParams.searchscope == 3) { this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( (obj) => obj.deptCode ); this.topqueryParams.leavehospitaldistrictcodes = store.getters.belongWards.map((obj) => obj.districtCode); + } + console.log(this.endOut); + + if (this.endOut == 0) { + this.topqueryParams.endOutHospTime = this.formatDateToYYYYMMDDHHMMSS( + this.getEndOfDay() + ); + } else { + this.topqueryParams.endOutHospTime = null; } // 鎺ュ彈寮傚父璺宠浆 if (this.errtype) { @@ -1344,7 +1413,7 @@ this.ycvalue = response.rows[0].yc; this.cardlist[2].value = response.rows[0].fssb; this.cardlist[3].value = response.rows[0].dsf; - this.cardlist[4].value = response.rows[0].yfs2; + // this.cardlist[4].value = response.rows[0].yfs2; this.yfsvalue = response.rows[0].yfs; } this.loading = false; @@ -1373,9 +1442,24 @@ this.total = response.total; }); }, + // 鏃堕棿 + getEndOfDay() { + const date = new Date(); // 鍒涘缓涓�涓〃绀哄綋鍓嶆椂闂寸殑Date瀵硅薄 + date.setHours(23, 59, 59, 0); // 灏嗘椂闂磋缃负23:59:59.000 + return date; + }, + formatDateToYYYYMMDDHHMMSS(date) { + const year = date.getFullYear(); + const month = String(date.getMonth() + 1).padStart(2, "0"); // 鏈堜唤琛ラ浂 + const day = String(date.getDate()).padStart(2, "0"); // 鏃ユ湡琛ラ浂 + const hours = String(date.getHours()).padStart(2, "0"); + const minutes = String(date.getMinutes()).padStart(2, "0"); + const seconds = String(date.getSeconds()).padStart(2, "0"); + + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; + }, affiliation() { - this.topqueryParams.drcode = store.getters.hisUserId; - this.topqueryParams.nurseId = store.getters.hisUserId; + this.topqueryParams.managementDoctorCode = store.getters.hisUserId; this.getList(1); }, onthatday() { @@ -1420,7 +1504,7 @@ this.ycvalue = response.rows[0].yc; this.cardlist[3].value = response.rows[0].fssb; this.cardlist[4].value = response.rows[0].dsf; - this.cardlist[5].value = response.rows[0].yfs2; + // this.cardlist[5].value = response.rows[0].yfs2; this.yfsvalue = response.rows[0].yfs; } this.loading = false; @@ -1570,6 +1654,8 @@ }); if (this.selectedRows.length > 0) { + this.multiple = false; + } else { this.multiple = true; } }, @@ -1590,15 +1676,25 @@ // 淇濆瓨璇勫垎 saveScores() { - // 杩欓噷鍙互娣诲姞淇濆瓨閫昏緫锛屽璋冪敤API淇濆瓨璇勫垎 - this.$message.success("璇勫垎淇濆瓨鎴愬姛"); - this.scoreDialogVisible = false; - - // 鏇存柊涓昏〃鏍兼暟鎹� - this.userList = this.userList.map((user) => { - const updatedUser = this.selectedRows.find((row) => row.id === user.id); - return updatedUser ? updatedUser : user; + this.selectedRows.forEach((item) => { + item.createBy = null; + item.patName = item.sendname; + item.hospitaldistrictname = item.leavehospitaldistrictname; }); + addsatisfaction(this.selectedRows).then((res) => { + if (res.code == 200) { + this.$message.success("璇勫垎淇濆瓨鎴愬姛"); + this.scoreDialogVisible = false; + this.selectedRows = []; + this.$refs.userform.clearSelection(); + } else { + this.$modal.msgWarning("璇勫垎淇濆瓨澶辫触"); + this.scoreDialogVisible = false; + this.selectedRows = []; + this.$refs.userform.clearSelection(); + } + }); + // 杩欓噷鍙互娣诲姞淇濆瓨閫昏緫锛屽璋冪敤API淇濆瓨璇勫垎 }, //鍒犻櫎閫夐」 handleClose(tag) { @@ -1632,11 +1728,10 @@ }, //鎮h��360璺宠浆 gettoken360(sfzh, drcode, drname) { + // this.$modal.msgWarning("360鍔熻兘鏆傛湭寮�閫�"); + this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh; - if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") { - this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728"; - this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY"; - } + query360PatInfo(this.postData).then((res) => { if (res.data.url) { window.open(res.data.url, "_blank"); @@ -1750,7 +1845,7 @@ let type = ""; console.log(row, "rwo"); if (row.preachformson) { - if (row.preachformson.includes("3")) { + if (row.preachformson.includes("3") || row.type == 1) { type = 1; } } @@ -1806,6 +1901,7 @@ handleUpdate(row) { particularpatient(row.patid).then((response) => { this.form = response.data; + this.form.filterDrname = store.getters.nickName; }); this.amendtag = true; this.Labelchange = true; @@ -1836,6 +1932,8 @@ tableRowClassName({ row, rowIndex }) { if (row.excep == 1) { return "warning-row"; + } else if (row.excep == 2) { + return "remind-row"; } return ""; }, @@ -1898,6 +1996,9 @@ } ::v-deep.el-table .warning-row { background: #eec4c4; +} +::v-deep.el-table .remind-row { + background: #fcf5aa; } .documentf { @@ -1978,10 +2079,12 @@ } } ::v-deep.leftvlue .el-card__body { - background: #d0e9fd; + background: #f2f8ff; + color: #324a9b; } ::v-deep.leftvlue .el-card__body:hover { - background: #8dc8f8; + background: #3664d9; + color: #fff; cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ } ::v-deep.errleftvlue .el-card__body { @@ -1996,7 +2099,7 @@ background: #d0fdd8; } ::v-deep.ysfleftvlue .el-card__body:hover { - background: #8df8a4; + background: #0abc54; cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ } .button-bb { @@ -2021,7 +2124,7 @@ color: #ffffff; } .button-zx { - background: #4fabe9; + background: #324a9b; padding: 5px; border-radius: 1px; color: #ffffff; @@ -2032,7 +2135,30 @@ font-size: 24px; } } +.purple-button { + background-color: #7e22ce; + border-color: #7e22ce; + color: #fff; +} +.purple-button:hover, +.purple-button:focus { + background-color: #9333ea; + border-color: #9333ea; +} + +.purple-button:active { + background-color: #6b21a8; + border-color: #6b21a8; +} +.button-textxga { + color: #de7897; +} +.purple-button.is-disabled { + background-color: #d8b4fe; + border-color: #d8b4fe; + opacity: 1; /* 淇濇寔绂佺敤鐘舵�侀�忔槑搴� */ +} // 閫夐」瀛椾綋鏀惧ぇ // ::v-deep.el-checkbox-group { // span { -- Gitblit v1.9.3