From 8dfc9189443d7baf2e73d99a73e1b20eefba366e Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期二, 06 一月 2026 17:38:49 +0800
Subject: [PATCH] 测试完成
---
src/views/sfstatistics/percentage/satisfaction.vue | 266 +++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 205 insertions(+), 61 deletions(-)
diff --git a/src/views/sfstatistics/percentage/satisfaction.vue b/src/views/sfstatistics/percentage/satisfaction.vue
index b9ced80..89a83e0 100644
--- a/src/views/sfstatistics/percentage/satisfaction.vue
+++ b/src/views/sfstatistics/percentage/satisfaction.vue
@@ -61,7 +61,7 @@
</el-select>
</el-form-item>
- <el-form-item label="缁熻棰樼洰" prop="userName">
+ <el-form-item label="鏈嶅姟绫诲瀷" prop="userName">
<el-select
v-model="queryParams.serviceType"
multiple
@@ -131,8 +131,6 @@
:data="userList"
:border="true"
@selection-change="handleSelectionChange"
- @row-click="handleRowClick"
- @expand-change="handleRowClick"
:row-key="getRowKey"
:expand-row-keys="expands"
>
@@ -207,59 +205,56 @@
<el-table-column
label="婊℃剰搴﹂鐩�婚噺"
align="center"
- key="manual"
- prop="manual"
+ key="joyAllCount"
+ prop="joyAllCount"
>
</el-table-column>
<el-table-column
label="婊℃剰搴﹀~鎶ラ噺"
align="center"
- key="sms"
- prop="sms"
+ key="joyCount"
+ prop="joyCount"
>
</el-table-column>
<el-table-column
label="瀹屾垚姣旂巼"
align="center"
- key="rate"
- prop="rate"
+ key="joyTotal"
+ prop="joyTotal"
+ >
+ <template slot-scope="scope">
+ <span class="button-zx"
+ >{{ (Number(scope.row.joyTotal) * 100).toFixed(2) }}%</span
+ >
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔"
+ align="center"
+ fixed="right"
+ width="300"
+ class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="medium"
type="text"
- @click="Seedetails(scope.row)"
+ @click="getinfo(scope.row)"
><span class="button-zx"
- >{{ (Number(scope.row.rate) * 100).toFixed(2) }}%</span
+ ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span
></el-button
>
</template>
</el-table-column>
- <el-table-column
- label="鎿嶄綔"
- align="center"
- fixed="right"
- width="300"
- class-name="small-padding fixed-width"
- >
- <template slot-scope="scope">
- <el-button size="medium" type="text" @click="Seedetails(scope.row)"
- ><span class="button-zx"
- ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span
- ></el-button
- >
-
- </template>
- </el-table-column>
</el-table>
- <!-- <pagination
+ <pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
- /> -->
+ />
</el-col>
</el-row>
</div>
@@ -512,6 +507,45 @@
</div>
</div>
</el-dialog>
+ <!-- 鍗曠瀹ょ粺璁¤鎯� -->
+ <el-dialog :visible.sync="topicVisible" width="45%">
+ <div class="topicdia">
+ <div class="top-text">
+ {{ topicvalue.name }}<span>婊℃剰搴︽寚鏍囪鎯�</span>
+ </div>
+ <div style="overflow-x: hidden; overflow-y: auto; max-height: 65vh">
+ <div
+ class="ttaabbcc"
+ v-for="(item, index) in topiclist"
+ :key="item.name"
+ >
+ <div class="describe">
+ 绗瑊{ index }}棰橈細 {{ item.scriptContent }}?<span
+ >[{{ item.scriptType == 1 ? "鍗曢�夐" : "澶氶�夐" }}]</span
+ >
+ </div>
+ <div>
+ <el-table :data="item.details" style="width: 100%">
+ <el-table-column prop="optionText" label="闂閫夐」">
+ </el-table-column>
+ <el-table-column prop="completedQuantity" label="閫夋嫨浜烘暟">
+ </el-table-column>
+ <el-table-column prop="chosenPercentage" label="姣斾緥">
+ <template slot-scope="scope">
+ <span class="button-zx"
+ >{{ (Number(scope.row.chosenPercentage) * 100).toFixed(2) }}%</span
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="topicVisible = false">鍏� 闂�</el-button>
+ </span>
+ </el-dialog>
</div>
</template>
@@ -523,7 +557,11 @@
changetagcategory,
} from "@/api/system/label";
import store from "@/store";
-import { getSfStatistics, selectTimelyRate } from "@/api/system/user";
+import {
+ getSfStatisticsJoy,
+ getSfStatisticsJoyInfo,
+ selectTimelyRate,
+} from "@/api/system/user";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -595,6 +633,40 @@
pn: 1,
ps: 10,
},
+ topiclist: [
+ {
+ name: "鎮ㄧ殑韬綋搴峰鎯呭喌濡備綍",
+ number: 1,
+ type: 1,
+ },
+ {
+ name: "鎮ㄧ殑楗鎯呭喌濡備綍",
+ number: 2,
+ type: 2,
+ },
+ {
+ name: "鎮ㄧ殑鎭㈠鎯呭喌濡備綍",
+ number: 3,
+ type: 1,
+ },
+ ],
+ tableData: [
+ {
+ date: "濂�",
+ name: 12,
+ address: "50%",
+ },
+ {
+ date: "涓�鑸�",
+ name: 2,
+ address: "6.2%",
+ },
+ {
+ date: "宸�",
+ name: 0,
+ address: "0%",
+ },
+ ],
amendtag: false, //鏄惁淇敼绫诲埆
lstamendtag: false, //鏄惁淇敼鏍囩
scavisible: false, //鍒犻櫎寮规
@@ -635,6 +707,11 @@
dialogFormVisible: false, //娣诲姞銆佷慨鏀圭被鍒脊妗�
lstamendtagVisible: false, //娣诲姞銆佷慨鏀规爣绛惧脊妗�
goQRCodeVisible: false, //浜岀淮鐮佸脊妗�
+ topicVisible: false, //鎺у埗鍗曢寮规
+ topicvalue: {
+ name: "楠ㄧ闅忚妯℃澘",
+ number: 222,
+ },
sidecolumnval: "", //绫诲埆鎼滅储
propss: { multiple: true },
SeedetailsVisible: false,
@@ -684,6 +761,7 @@
getList() {
// 澶勭悊鏌ヨ鍙傛暟
const params = {
+ configKey: "joyCount",
...this.queryParams,
// 濡傛灉閫夋嫨浜�"鍏ㄩ儴"锛屽垯浼犳墍鏈夌梾鍖�/绉戝浠g爜
leavehospitaldistrictcodes:
@@ -698,9 +776,9 @@
// 绉婚櫎鍙兘瀛樺湪鐨�"all"鍊�
delete params.leavehospitaldistrictcodes.all;
delete params.deptcodes.all;
- getSfStatistics(params).then((response) => {
+ getSfStatisticsJoy(params).then((response) => {
console.log(response);
- // this.total = response.total;
+ this.total = response.total;
this.userList = response.data;
});
},
@@ -708,35 +786,6 @@
return row.statisticaltype === 1
? row.leavehospitaldistrictcode
: row.deptcode;
- },
-
- // 澶勭悊琛岀偣鍑诲睍寮�
- handleRowClick(row) {
- console.log(row, "row");
-
- // 濡傛灉宸茬粡灞曞紑鍒欐敹璧�
- if (this.expands.includes(this.getRowKey(row))) {
- this.expands = [];
- return;
- }
- // 澶勭悊鏌ヨ鍙傛暟
- const params = {
- ...this.queryParams,
- // 濡傛灉閫夋嫨浜�"鍏ㄩ儴"锛屽垯浼犳墍鏈夌梾鍖�/绉戝浠g爜
- leavehospitaldistrictcodes: [row.leavehospitaldistrictcode],
- drcode: "1",
- };
- // 濡傛灉璇ヨ杩樻病鏈夊姞杞藉尰鐢熸暟鎹紝鍒欏姞杞�
- if (!row.doctorStats) {
- this.loading = true;
- getSfStatistics(params).then((res) => {
- this.$set(row, "doctorStats", res.data);
- this.expands = [this.getRowKey(row)];
- this.loading = false;
- });
- } else {
- this.expands = [this.getRowKey(row)];
- }
},
/** 淇敼鏍囩 */
handleUpdate(row) {
@@ -844,6 +893,32 @@
},
});
}, 300);
+ },
+ // 璋冭捣璇︽儏
+ getinfo(row) {
+ this.topicVisible = true;
+ // 澶勭悊鏌ヨ鍙傛暟
+ const params = {
+ configKey: "joyCount",
+ ...this.queryParams,
+ };
+ if (this.queryParams.statisticaltype == 1) {
+ this.topicvalue.name = row.leavehospitaldistrictname;
+
+ params.leavehospitaldistrictcodes = [row.leavehospitaldistrictcode];
+ } else {
+ this.topicvalue.name = row.deptname;
+
+ params.deptcodes = [row.deptcode];
+ }
+
+ // 绉婚櫎鍙兘瀛樺湪鐨�"all"鍊�
+ delete params.leavehospitaldistrictcodes.all;
+ delete params.deptcodes.all;
+ getSfStatisticsJoyInfo(params).then((response) => {
+ console.log(response);
+ this.topiclist = response.data;
+ });
},
// 娣诲姞/淇敼鏍囩
Maintenancetag() {
@@ -1385,6 +1460,75 @@
height: 400px;
}
}
+.topicdia {
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ color: #333; /* 涓绘枃瀛楄壊 */
+}
+
+/* 澶撮儴鏍囬鏍峰紡 */
+.top-text {
+ font-size: 18px;
+ font-weight: 600;
+ padding-bottom: 16px;
+ margin-bottom: 20px;
+ border-bottom: 1px solid #e8e8e8; /* 绾ょ粏鐨勫垎闅旂嚎 */
+ color: #1f2d3d; /* 娣辫壊鏍囬 */
+}
+.top-text span {
+ font-size: 14px;
+ font-weight: normal;
+ color: #666; /* 鍓爣棰橀鑹茬◢娴� */
+ margin-left: 10px;
+}
+
+/* 棰樼洰瀹瑰櫒鏍峰紡 */
+.ttaabbcc {
+ background: #fafafa; /* 闈炲父娴呯殑鐏拌壊鑳屾櫙 */
+ border-radius: 6px;
+ padding: 16px;
+ margin-bottom: 20px;
+ border-left: 4px solid #4794c5; /* 宸︿晶瑁呴グ鑹叉潯锛屽鍔犲眰娆℃劅 */
+}
+
+/* 棰樼洰鎻忚堪鏍峰紡 */
+.describe {
+ font-size: 15px;
+ line-height: 1.6;
+ margin-bottom: 12px;
+ color: #1f2d3d;
+}
+.describe span {
+ font-size: 13px;
+ color: #999; /* 棰樺瀷鎻愮ず淇℃伅棰滆壊鏇存祬 */
+ font-style: italic;
+ margin-left: 8px;
+}
+
+/* 琛ㄦ牸鏁翠綋鏍峰紡璋冩暣 */
+.ttaabbcc .el-table {
+ border-radius: 4px;
+ overflow: hidden;
+ font-size: 14px;
+}
+
+/* 琛ㄥご鏍峰紡 */
+.ttaabbcc .el-table th {
+ background-color: #f1f5f9; /* 娴呰摑鑹茶〃澶磋儗鏅� */
+ color: #333;
+ font-weight: 600;
+}
+
+/* 鍗曞厓鏍兼牱寮� */
+.ttaabbcc .el-table td {
+ border-bottom: 1px solid #f0f0f0; /* 绾ょ粏鐨勮鍒嗛殧绾� */
+ padding: 12px 0;
+}
+
+/* 姣斾緥鏁版嵁鏍峰紡 */
+.button-zx {
+ color: #4794c5; /* 浣跨敤涓庝富棰樺懠搴旂殑钃濊壊 */
+ font-weight: 500;
+}
::v-deep.el-tabs--left,
.el-tabs--right {
overflow: hidden;
--
Gitblit v1.9.3