From e8c62bd430b9697d3f954125b7ec9f61f18347a2 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 20 十月 2025 11:19:34 +0800
Subject: [PATCH] 测试完成
---
src/views/followvisit/discharge/index.vue | 470 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 415 insertions(+), 55 deletions(-)
diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index de4b41e..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,14 +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">
+ <div class="documentf">
+ <div class="document">
+ <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-row>
<el-table
v-loading="loading"
+ ref="userform"
:data="userList"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
@@ -294,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="浠诲姟鐘舵��"
@@ -355,7 +404,6 @@
prop="suggest"
width="120"
>
-
<template slot-scope="scope">
<dict-tag
:options="dict.type.sys_suggest"
@@ -405,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
@@ -470,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>
@@ -604,6 +651,181 @@
@pagination="getList"
/>
</el-row>
+ <!-- 婊℃剰搴﹀脊妗� -->
+ <el-dialog
+ title="闅忚婊℃剰搴﹁瘎鍒�"
+ :visible.sync="scoreDialogVisible"
+ width="80%"
+ :close-on-click-modal="false"
+ >
+ <el-table :data="selectedRows" border style="width: 100%">
+ <el-table-column
+ label="濮撳悕"
+ width="100"
+ align="center"
+ prop="sendname"
+ />
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ width="180"
+ align="center"
+ prop="taskName"
+ />
+ <!-- 鏂板璇勫垎鍒� -->
+ <el-table-column
+ label="鐪熷疄鎬�(20)"
+ align="center"
+ key="authenticity"
+ prop="authenticity"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.authenticity"
+ :min="0"
+ :max="20"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="涓�鍛ㄥ唴瀹屾垚(20)"
+ align="center"
+ key="weekFinish"
+ prop="weekFinish"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.weekFinish"
+ :min="0"
+ :max="20"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="瑙勮寖鎬�(10)"
+ align="center"
+ key="standard"
+ prop="standard"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.standard"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍙婃椂鎬�(10)"
+ align="center"
+ key="timeliness"
+ prop="timeliness"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.timeliness"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="瀹f暀鎯呭喌(10)"
+ align="center"
+ key="library"
+ prop="library"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.library"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鐜婊℃剰搴�(10)"
+ align="center"
+ key="environment"
+ prop="environment"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.environment"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍖荤敓婊℃剰搴�(10)"
+ align="center"
+ key="doctorSatisfaction"
+ prop="doctorSatisfaction"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.doctorSatisfaction"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎶ゅ+婊℃剰搴�(10)"
+ align="center"
+ key="nurseSatisfaction"
+ prop="nurseSatisfaction"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.nurseSatisfaction"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎬诲垎"
+ align="center"
+ key="total"
+ prop="total"
+ fixed="right"
+ >
+ <template slot-scope="scope">
+ <span>{{ calculateTotal(scope.row) }}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="scoreDialogVisible = false">鍙栨秷</el-button>
+ <el-button type="primary" @click="saveScores">淇濆瓨</el-button>
+ </div>
+ </el-dialog>
<!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
<el-dialog
:title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'"
@@ -643,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="杩囨护鍘熷洜">
@@ -824,6 +1056,7 @@
buidegetTasklist,
addserviceSubtask,
query360PatInfo,
+ addsatisfaction,
} from "@/api/AiCentre/index";
import { alterpatient, particularpatient } from "@/api/patient/homepage";
import Treeselect from "@riophae/vue-treeselect";
@@ -882,11 +1115,10 @@
radios: [],
previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
total: 0, // 鎬绘潯鏁�
- ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
- //棰勮褰卞儚闅忚淇℃伅
- previewvalue: {
- username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
- },
+ // 婊℃剰搴﹁皟鏌ユ暟鎹�
+ scoreDialogVisible: false,
+ selectedRows: [],
+
value: [],
list: [],
@@ -917,7 +1149,7 @@
// value: 0,
// },
{
- name: "搴旈殢璁�",
+ name: "闇�闅忚",
value: 0,
},
{
@@ -928,10 +1160,10 @@
name: "寰呴殢璁�",
value: 0,
},
- {
- name: "宸插彂閫�",
- value: 0,
- },
+ // {
+ // name: "宸插彂閫�",
+ // value: 0,
+ // },
// {
// name: "琛ㄥ崟宸插彂閫�",
@@ -955,6 +1187,17 @@
qystatus: "",
btstatus: "",
},
+ endOut: 1,
+ endOuts: [
+ {
+ value: 0,
+ label: "鎴鑷冲綋鏃ユ湇鍔�",
+ },
+ {
+ value: 1,
+ label: "鍏ㄩ儴鏈嶅姟",
+ },
+ ],
topicoptionssort: [
{
value: 0,
@@ -972,19 +1215,29 @@
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,
+ searchscope: 3,
+ visitCount: 1,
scopetype: [],
leaveldeptcodes: [],
leavehospitaldistrictcodes: [],
},
+ orgname: "",
propss: { multiple: true },
options: [],
@@ -1064,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",
@@ -1086,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) => {
@@ -1116,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) {
@@ -1151,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;
@@ -1180,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() {
@@ -1227,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;
@@ -1360,11 +1637,64 @@
};
this.handleQuery(1);
},
- // 澶氶�夋閫変腑鏁版嵁
- handleSelectionChange(selection) {
- this.ids = selection.map((item) => item.userId);
- this.single = selection.length != 1;
- this.multiple = !selection.length;
+ handleSelectionChange(rows) {
+ this.selectedRows = rows.map((row) => {
+ // 鍒濆鍖栬瘎鍒嗗瓧娈�
+ return {
+ ...row,
+ authenticity: row.authenticity || 0,
+ weekFinish: row.weekFinish || 0,
+ standard: row.standard || 0,
+ timeliness: row.timeliness || 0,
+ library: row.library || 0,
+ environment: row.environment || 0,
+ doctorSatisfaction: row.doctorSatisfaction || 0,
+ nurseSatisfaction: row.nurseSatisfaction || 0,
+ };
+ });
+
+ if (this.selectedRows.length > 0) {
+ this.multiple = false;
+ } else {
+ this.multiple = true;
+ }
+ },
+
+ // 璁$畻鎬诲垎
+ calculateTotal(row) {
+ return (
+ (row.authenticity || 0) +
+ (row.weekFinish || 0) +
+ (row.standard || 0) +
+ (row.timeliness || 0) +
+ (row.library || 0) +
+ (row.environment || 0) +
+ (row.doctorSatisfaction || 0) +
+ (row.nurseSatisfaction || 0)
+ );
+ },
+
+ // 淇濆瓨璇勫垎
+ saveScores() {
+ 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) {
@@ -1398,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");
@@ -1516,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;
}
}
@@ -1572,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;
@@ -1602,6 +1932,8 @@
tableRowClassName({ row, rowIndex }) {
if (row.excep == 1) {
return "warning-row";
+ } else if (row.excep == 2) {
+ return "remind-row";
}
return "";
},
@@ -1664,6 +1996,9 @@
}
::v-deep.el-table .warning-row {
background: #eec4c4;
+}
+::v-deep.el-table .remind-row {
+ background: #fcf5aa;
}
.documentf {
@@ -1744,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 {
@@ -1762,7 +2099,7 @@
background: #d0fdd8;
}
::v-deep.ysfleftvlue .el-card__body:hover {
- background: #8df8a4;
+ background: #0abc54;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
.button-bb {
@@ -1787,7 +2124,7 @@
color: #ffffff;
}
.button-zx {
- background: #4fabe9;
+ background: #324a9b;
padding: 5px;
border-radius: 1px;
color: #ffffff;
@@ -1798,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