From 36d1334695a28fe6b49c1c7bb4bccb7f3ae5c443 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 02 七月 2025 10:29:07 +0800
Subject: [PATCH] 测试完成
---
src/views/followvisit/satisfaction/index.vue | 38 +++----
src/views/followvisit/discharge/index.vue | 258 +++++++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 261 insertions(+), 35 deletions(-)
diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index de4b41e..296305f 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -257,6 +257,18 @@
</div>
</div>
</el-col>
+ <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
+ >
+ </div>
+ </div>
+ </el-col>
</el-row>
<el-table
v-loading="loading"
@@ -355,7 +367,6 @@
prop="suggest"
width="120"
>
-
<template slot-scope="scope">
<dict-tag
:options="dict.type.sys_suggest"
@@ -604,6 +615,188 @@
@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="150"
+ align="center"
+ prop="taskName"
+ />
+ <!-- 鏂板璇勫垎鍒� -->
+ <el-table-column
+ label="鐪熷疄鎬�(20)"
+ align="center"
+ key="authenticity"
+ prop="authenticity"
+ sortable
+ width="120"
+ >
+ <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"
+ sortable
+ width="120"
+ >
+ <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"
+ sortable
+ >
+ <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"
+ sortable
+ width="120"
+ >
+ <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"
+ sortable
+ width="120"
+ >
+ <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"
+ sortable
+ width="120"
+ >
+ <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="120"
+ sortable
+ >
+ <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="120"
+ sortable
+ >
+ <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"
+ sortable
+ >
+ <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��'"
@@ -882,11 +1075,10 @@
radios: [],
previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
total: 0, // 鎬绘潯鏁�
- ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
- //棰勮褰卞儚闅忚淇℃伅
- previewvalue: {
- username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
- },
+ // 婊℃剰搴﹁皟鏌ユ暟鎹�
+ scoreDialogVisible: false,
+ selectedRows: [],
+
value: [],
list: [],
@@ -980,7 +1172,8 @@
sendstate: 2,
sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭)
serviceType: 2,
- searchscope: 3,visitCount: 1,
+ searchscope: 3,
+ visitCount: 1,
scopetype: [],
leaveldeptcodes: [],
leavehospitaldistrictcodes: [],
@@ -1360,11 +1553,52 @@
};
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 = 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() {
+ // 杩欓噷鍙互娣诲姞淇濆瓨閫昏緫锛屽璋冪敤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;
+ });
},
//鍒犻櫎閫夐」
handleClose(tag) {
diff --git a/src/views/followvisit/satisfaction/index.vue b/src/views/followvisit/satisfaction/index.vue
index 0e1ea1f..e405d10 100644
--- a/src/views/followvisit/satisfaction/index.vue
+++ b/src/views/followvisit/satisfaction/index.vue
@@ -78,28 +78,6 @@
</el-col>
<el-col :span="1.5">
<el-button
- type="primary"
- icon="el-icon-plus"
- size="medium"
- :disabled="!tasktopic"
- @click="handleAdd"
- >鏂板</el-button
- >
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="success"
- plain
- icon="el-icon-edit"
- size="medium"
- :disabled="single"
- @click="handleUpdate"
- v-hasPermi="['system:user:edit']"
- >淇敼</el-button
- >
- </el-col>
- <el-col :span="1.5">
- <el-button
type="danger"
plain
icon="el-icon-delete"
@@ -180,36 +158,47 @@
align="center"
key="authenticity"
prop="authenticity"
+ sortable
+ width="120"
/>
<el-table-column
label="涓�鍛ㄥ唴瀹屾垚(20)"
align="center"
key="weekFinish"
prop="weekFinish"
+ sortable
+ width="120"
/>
<el-table-column
label="瑙勮寖鎬�(10)"
align="center"
key="standard"
prop="standard"
+ sortable
/>
<el-table-column
label="鍙婃椂鎬�(10)"
align="center"
key="timeliness"
prop="timeliness"
+ sortable
+ width="120"
/>
<el-table-column
label="瀹f暀鎯呭喌(10)"
align="center"
key="library"
prop="library"
+ sortable
+ width="120"
/>
<el-table-column
label="鐜婊℃剰搴�(10)"
align="center"
key="environment"
prop="environment"
+ sortable
+ width="120"
/>
<el-table-column
@@ -217,6 +206,8 @@
align="center"
key="doctorSatisfaction"
prop="doctorSatisfaction"
+ width="120"
+ sortable
/>
<el-table-column
@@ -224,6 +215,7 @@
align="center"
key="nurseSatisfaction"
prop="nurseSatisfaction"
+ width="120"
sortable
/>
@@ -646,7 +638,7 @@
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
handleExport() {
this.download(
- "system/user/export",
+ "smartor/satisfaction/export",
{
...this.topqueryParams,
},
--
Gitblit v1.9.3