From c7c591d6b52274c7d324dfccee5686632c153f6f Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 02 七月 2025 14:58:36 +0800 Subject: [PATCH] 测试完成 --- src/views/followvisit/discharge/index.vue | 347 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 322 insertions(+), 25 deletions(-) diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue index 2c60cfa..93625d1 100644 --- a/src/views/followvisit/discharge/index.vue +++ b/src/views/followvisit/discharge/index.vue @@ -108,6 +108,18 @@ placeholder="璇疯緭鍏ユ偅鑰呭鍚�" ></el-input> </el-form-item> + <el-form-item label="璇婃柇鍚嶇О" prop="leavediagname"> + <el-input + v-model="topqueryParams.leavediagname" + placeholder="璇疯緭鍏ヨ瘖鏂悕绉�" + ></el-input> + </el-form-item> + <el-form-item label="闅忚浜哄憳" prop="updateBy"> + <el-input + v-model="topqueryParams.updateBy" + placeholder="璇疯緭鍏ラ殢璁夸汉鍛�" + ></el-input> + </el-form-item> <el-form-item label="鎮h�呰寖鍥�" prop="status"> <el-cascader @@ -236,6 +248,37 @@ </div> </div> </el-col> + <el-col :span="1.5"> + <div class="documentf"> + <div class="document"> + <el-button type="success" size="medium" @click="onthatday()" + >褰撴棩鏈嶅姟</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" @@ -312,7 +355,7 @@ > </div> <div v-if="scope.row.sendstate == 6"> - <el-tag type="danger" :disable-transitions="false" + <el-tag type="success" :disable-transitions="false" >宸插畬鎴�</el-tag > </div> @@ -582,6 +625,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��'" @@ -802,6 +1020,7 @@ buidegetTasklist, addserviceSubtask, query360PatInfo, + addsatisfaction, } from "@/api/AiCentre/index"; import { alterpatient, particularpatient } from "@/api/patient/homepage"; import Treeselect from "@riophae/vue-treeselect"; @@ -860,11 +1079,10 @@ radios: [], previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷 total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲� - //棰勮褰卞儚闅忚淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, + // 婊℃剰搴﹁皟鏌ユ暟鎹� + scoreDialogVisible: false, + selectedRows: [], + value: [], list: [], @@ -906,10 +1124,10 @@ name: "寰呴殢璁�", value: 0, }, - { - name: "宸插彂閫�", - value: 0, - }, + // { + // name: "宸插彂閫�", + // value: 0, + // }, // { // name: "琛ㄥ崟宸插彂閫�", @@ -959,6 +1177,7 @@ sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭) serviceType: 2, searchscope: 3, + visitCount: 1, scopetype: [], leaveldeptcodes: [], leavehospitaldistrictcodes: [], @@ -1128,8 +1347,8 @@ this.cardlist[1].value = response.rows[0].ysf; this.ycvalue = response.rows[0].yc; this.cardlist[2].value = response.rows[0].fssb; - this.cardlist[3].value = response.rows[0].dfs; - this.cardlist[4].value = response.rows[0].yfs2; + this.cardlist[3].value = response.rows[0].dsf; + // this.cardlist[4].value = response.rows[0].yfs2; this.yfsvalue = response.rows[0].yfs; } this.loading = false; @@ -1163,6 +1382,15 @@ this.topqueryParams.nurseId = store.getters.hisUserId; this.getList(1); }, + onthatday() { + this.topqueryParams.startSendDateTime = this.getCurrentDate(); + this.topqueryParams.endSendDateTime = this.getCurrentDate(); + this.getList(1); + }, + getCurrentDate() { + const now = new Date(); + return now.toISOString().slice(0, 10); // 鎴彇鍓�10涓瓧绗︼紝鍗� YYYY-MM-DD + }, buidegetTasklist(type) { if (this.topqueryParams.searchscope == 3) { this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( @@ -1195,8 +1423,8 @@ this.cardlist[2].value = response.rows[0].ysf; this.ycvalue = response.rows[0].yc; this.cardlist[3].value = response.rows[0].fssb; - this.cardlist[4].value = response.rows[0].dfs; - this.cardlist[5].value = response.rows[0].yfs2; + this.cardlist[4].value = response.rows[0].dsf; + // this.cardlist[5].value = response.rows[0].yfs2; this.yfsvalue = response.rows[0].yfs; } this.loading = false; @@ -1286,14 +1514,11 @@ this.topqueryParams.leavehospitaldistrictcodes = store.getters.belongWards.map((obj) => obj.districtCode); } - console.log("1"); - this.topqueryParams.pageNum = 1; this.topqueryParams.startOutHospTime = this.dateRange[0]; this.topqueryParams.endOutHospTime = this.dateRange[1]; this.topqueryParams.startSendDateTime = this.dateRangefs[0]; this.topqueryParams.endSendDateTime = this.dateRangefs[1]; - console.log("2"); this.getList(refresh); }, // 鎮h�呰寖鍥村鐞� @@ -1318,24 +1543,74 @@ resetQuery() { this.dateRange = []; this.dateRangefs = []; - (this.topqueryParams = { + this.topqueryParams = { pageNum: 1, pageSize: 10, sendstate: 2, sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭) serviceType: 2, searchscope: 3, + visitCount: 1, scopetype: [], leaveldeptcodes: [], leavehospitaldistrictcodes: [], - }), - this.handleQuery(1); + }; + 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; + } else { + this.$modal.msgWarning("璇勫垎淇濆瓨澶辫触"); + this.scoreDialogVisible = false; + } + }); + // 杩欓噷鍙互娣诲姞淇濆瓨閫昏緫锛屽璋冪敤API淇濆瓨璇勫垎 }, //鍒犻櫎閫夐」 handleClose(tag) { @@ -1498,6 +1773,7 @@ patid: row.patid, id: row.id, Voicetype: type, + visitCount: this.topqueryParams.visitCount, }, }); }, @@ -1768,7 +2044,28 @@ 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; +} + +.purple-button.is-disabled { + background-color: #d8b4fe; + border-color: #d8b4fe; + opacity: 1; /* 淇濇寔绂佺敤鐘舵�侀�忔槑搴� */ +} // 閫夐」瀛椾綋鏀惧ぇ // ::v-deep.el-checkbox-group { // span { -- Gitblit v1.9.3