From 70e4d2c33cc2e3af590d1816c0c703da341538cf Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期五, 04 九月 2026 14:13:32 +0800
Subject: [PATCH] 测试完成
---
src/views/followvisit/zysatisfaction/index.vue | 313 +++++++++++++++++++++++++++++++++++----------------
1 files changed, 213 insertions(+), 100 deletions(-)
diff --git a/src/views/followvisit/zysatisfaction/index.vue b/src/views/followvisit/zysatisfaction/index.vue
index a0b932b..a3c7b54 100644
--- a/src/views/followvisit/zysatisfaction/index.vue
+++ b/src/views/followvisit/zysatisfaction/index.vue
@@ -1,10 +1,9 @@
<template>
<div class="app-container">
- <statistics-cards
+ <statistics-cards
:cardlist="cardlist"
- :ycvalue="ycvalue"
- :jgvalue="jgvalue"
- :show-warning-condition="orgname == '鐪佺珛鍚屽痉缈犺嫅闄㈠尯'"
+ :show-extra="false"
+ :show-warning-condition="false"
/>
<el-row :gutter="20">
<!--鐢ㄦ埛鏁版嵁-->
@@ -16,13 +15,6 @@
v-show="showSearch"
label-width="98px"
>
- <el-form-item label="浠诲姟鍚嶇О">
- <el-input
- v-model="topqueryParams.taskName"
- placeholder="璇烽�夋嫨浠诲姟鍚嶇О"
- ></el-input>
- </el-form-item>
-
<el-form-item label="鍑洪櫌鏃堕棿">
<el-date-picker
v-model="dateRange"
@@ -41,31 +33,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-form-item label="澶勭悊浜哄憳" prop="updateBy">
<el-input
v-model="topqueryParams.updateBy"
- placeholder="璇疯緭鍏ラ殢璁夸汉鍛�"
+ placeholder="璇疯緭鍏ュ鐞嗕汉鍛�"
></el-input>
</el-form-item>
- <el-form-item label="涓绘不鍖荤敓" prop="drname">
+ <el-form-item label="鎺ヨ瘖鍖荤敓" prop="drname">
<el-input
v-model="topqueryParams.drname"
- placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+ 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="鎮h�呰寖鍥�" prop="status">
<el-cascader
v-model="topqueryParams.scopetype"
@@ -78,7 +57,7 @@
></el-cascader>
</el-form-item>
- <el-form-item label="鏈嶅姟鐘舵��" prop="status">
+ <!-- <el-form-item label="鏈嶅姟鐘舵��" prop="status">
<el-select
v-model="topqueryParams.sendstateView"
placeholder="璇烽�夋嫨"
@@ -91,6 +70,16 @@
>
</el-option>
</el-select>
+ </el-form-item> -->
+ <el-form-item label="澶勭悊鐘舵��" prop="status">
+ <el-cascader
+ v-model="serviceStatusValue"
+ placeholder="璇烽�夋嫨"
+ :options="serviceStatusOptions"
+ :props="cascaderProps"
+ @change="handleServiceStatusChange"
+ clearable
+ ></el-cascader>
</el-form-item>
<el-form-item label="鎺掑簭鏂瑰紡" prop="status">
<el-select v-model="topqueryParams.sort" placeholder="璇烽�夋嫨">
@@ -215,15 +204,6 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="50" align="center" />
- <el-table-column
- label="浠诲姟鍚嶇О"
- fixed
- width="150"
- show-overflow-tooltip
- align="center"
- key="taskName"
- prop="taskName"
- />
<!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
<el-table-column
label="濮撳悕"
@@ -251,14 +231,14 @@
</template>
</el-table-column>
<el-table-column
- label="闅忚鐘舵��"
+ label="澶勭悊鐘舵��"
align="center"
key="sendstateView"
prop="sendstateView"
width="120"
>
<template slot-scope="scope">
- <el-tooltip
+ <el-tooltip
class="item"
effect="dark"
:content="scope.row.remark"
@@ -328,20 +308,13 @@
</template></el-table-column
>
<el-table-column
- label="涓绘不鍖荤敓"
+ label="鎺ヨ瘖鍖荤敓"
width="120"
align="center"
key="drname"
prop="drname"
/>
- <el-table-column
- label="缁忕鍖荤敓"
- align="center"
- key="managementDoctor"
- prop="managementDoctor"
- width="120"
- />
<el-table-column
label="鍑洪櫌澶╂暟"
width="120"
@@ -405,16 +378,7 @@
</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="闅忚浜哄憳"
+ label="澶勭悊浜哄憳"
align="center"
key="updateBy"
prop="updateBy"
@@ -427,7 +391,7 @@
prop="templatename"
width="200"
/>
- <el-table-column
+ <el-table-column
label="浠诲姟鐘舵��"
align="center"
key="sendstate"
@@ -558,7 +522,7 @@
size="medium"
type="text"
@click="handlestop(scope.row)"
- v-hasPermi="['system:user:edit']"
+
><span class="button-sc"
><i class="el-icon-remove-outline"></i>鏆傚仠鏈嶅姟</span
></el-button
@@ -814,22 +778,22 @@
</el-form-item>
</el-col>
</el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="杩囨护鍘熷洜">
- <el-input
- v-model="form.notrequiredreason"
- type="textarea"
- placeholder="璇疯緭鍏ヨ繃婊ゅ師鍥�"
- ></el-input>
- <!-- 鎻愰啋鏂囧瓧 -->
- <div class="filter-warning">
- <i class="el-icon-warning-outline"></i>
- 璇ュ姛鑳介�傜敤浜庢浜°�佸垪鍏ュ尰闄㈤粦鍚嶅崟銆佹槑纭嫆缁濋殢璁跨瓑鎮h�呯殑杩囨护鎺掗櫎锛岃繃婊ゅ悗璇ユ偅鑰呮墍鏈夎繘琛屼腑浠诲姟鍏ㄩ儴鍋滄涓旀棤娉曞尮閰嶆柊鐨勯殢璁夸换鍔★紝璇疯皑鎱庢搷浣滐紒
- </div>
- </el-form-item>
- </el-col>
-</el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="杩囨护鍘熷洜">
+ <el-input
+ v-model="form.notrequiredreason"
+ type="textarea"
+ placeholder="璇疯緭鍏ヨ繃婊ゅ師鍥�"
+ ></el-input>
+ <!-- 鎻愰啋鏂囧瓧 -->
+ <div class="filter-warning">
+ <i class="el-icon-warning-outline"></i>
+ 璇ュ姛鑳介�傜敤浜庢浜°�佸垪鍏ュ尰闄㈤粦鍚嶅崟銆佹槑纭嫆缁濋殢璁跨瓑鎮h�呯殑杩囨护鎺掗櫎锛岃繃婊ゅ悗璇ユ偅鑰呮墍鏈夎繘琛屼腑浠诲姟鍏ㄩ儴鍋滄涓旀棤娉曞尮閰嶆柊鐨勯殢璁夸换鍔★紝璇疯皑鎱庢搷浣滐紒
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
@@ -940,7 +904,7 @@
export default {
name: "Discharge",
dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
- components: { Treeselect,StatisticsCards },
+ components: { Treeselect, StatisticsCards },
data() {
return {
// 閬僵灞�
@@ -949,6 +913,8 @@
ids: [],
// 闈炲崟涓鐢�
single: true,
+ jgvalue: 0,
+
// 闈炲涓鐢�
multiple: true,
// 鏄剧ず鎼滅储鏉′欢
@@ -979,7 +945,7 @@
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
Labelchange: false,
- ycvalue: "",
+ ycvalue: 0,
yfsvalue: "",
inputValue: "",
preachform: "",
@@ -1014,25 +980,59 @@
loading: false,
cardlist: [
{
- name: "鎮h�呮湇鍔℃�婚噺",
- value: 0,
- },
-
- {
- name: "鏃犻渶闅忚",
+ name: "浣忛櫌鎬婚噺",
value: 0,
},
{
- name: "闇�闅忚",
+ name: "鍙戦�佷换鍔¢噺",
value: 0,
},
{
- name: "寰呴殢璁�",
+ name: "寰呭畬鎴�",
value: 0,
},
{
name: "宸插畬鎴�",
value: 0,
+ },
+ {
+ name: "瀹屾垚鐜�",
+ value: "0%",
+ },
+ ],
+ // 绾ц仈閫夋嫨鍣ㄧ粦瀹氬��
+ serviceStatusValue: null,
+ cascaderProps: {
+ expandTrigger: "hover", // 鎮仠灞曞紑
+ checkStrictly: true, // 鉁� 鍏抽敭锛氬厑璁搁�変腑浠绘剰涓�绾�
+ emitPath: false, // 鉁� 鍙繑鍥為�変腑鐨勫�硷紝涓嶈繑鍥炶矾寰勬暟缁�
+ },
+ // 鏈嶅姟鐘舵�侀�夐」锛堜竴绾у拰浜岀骇鍊间笉鍐茬獊锛�
+ serviceStatusOptions: [
+ {
+ value: null,
+ label: "鍏ㄩ儴",
+ },
+ {
+ value: 10, // 涓�绾э細寰呴殢璁�
+ label: "寰呴殢璁�",
+ children: [
+ { value: 1, label: "琚鍙�" },
+ { value: 2, label: "寰呭彂閫�" },
+ { value: 3, label: "宸插彂閫�" },
+ { value: 5, label: "鍙戦�佸け璐�" },
+ { value: 7, label: "瓒呮椂" },
+ ],
+ },
+ {
+ value: 20, // 涓�绾э細宸插畬鎴�
+ label: "宸插畬鎴�",
+ children: [{ value: 6, label: "宸插畬鎴�" }],
+ },
+ {
+ value: 30, // 涓�绾э細鏃犻渶闅忚
+ label: "鏃犻渶闅忚",
+ children: [{ value: 4, label: "涓嶆墽琛�" }],
},
],
zcrules: {
@@ -1082,8 +1082,9 @@
topqueryParams: {
pageNum: 1,
pageSize: 10,
- sendstateView:
- localStorage.getItem("orgname") == "鍗楀崕澶у闄勫睘绗竴鍖婚櫌" ? 1 : 2,
+ sendstate: null,
+ sendstateView: null,
+
sort: localStorage.getItem("orgname") == "涓芥按甯備腑鍖婚櫌" ? 8 : 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭) 7搴旈殢璁挎棩鏈�(鍊掑簭) 搴旈殢璁挎棩鏈�(姝e簭)
serviceType: 6,
searchscope: 3,
@@ -1095,7 +1096,7 @@
propss: { multiple: true },
options: [],
- topicoptions: [
+ topicoptions: [
{
value: null,
label: "鍏ㄩ儴",
@@ -1175,6 +1176,8 @@
},
},
},
+ orgname: "",
+
amendtag: false,
errtype: "",
leavehospitaldistrictcode: "",
@@ -1189,6 +1192,8 @@
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) => {
@@ -1252,14 +1257,19 @@
this.userList = response.rows[0].serviceSubtaskList;
this.total = response.total;
if (refresh) {
- this.cardlist[0].value =
+ // 浣忛櫌鎬婚噺锛氭殏鏃犲瓧娈碉紝淇濇寔 0
+ // 鍙戦�佷换鍔¢噺 = 鎮h�呮湇鍔℃�婚噺锛堟棤闇�闅忚 + 闇�闅忚锛�
+ this.cardlist[1].value =
Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0;
- // this.cardlist[1].value = response.rows[0].wzx;
- this.cardlist[1].value = response.rows[0].wxsf || 0;
this.ycvalue = response.rows[0].yc;
- this.cardlist[2].value = response.rows[0].xsf || 0;
- this.cardlist[3].value = response.rows[0].dsf || 0;
- this.cardlist[4].value = response.rows[0].ywc || 0;
+ this.cardlist[2].value = response.rows[0].dsf || 0; // 寰呭畬鎴� = 寰呴殢璁�
+ this.cardlist[3].value = response.rows[0].ywc || 0; // 宸插畬鎴� = 宸查殢璁�
+ // 瀹屾垚鐜� = 宸插畬鎴� / (寰呭畬鎴� + 宸插畬鎴�)
+ const dsf = Number(response.rows[0].dsf) || 0;
+ const ywc = Number(response.rows[0].ywc) || 0;
+ const doneTotal = dsf + ywc;
+ this.cardlist[4].value =
+ doneTotal > 0 ? ((ywc / doneTotal) * 100).toFixed(2) + "%" : "0%";
this.yfsvalue = response.rows[0].yfs;
}
this.loading = false;
@@ -1287,6 +1297,37 @@
});
this.total = response.total;
});
+ },
+ // 鏈嶅姟鐘舵�佸彉鏇村鐞�
+ handleServiceStatusChange(value) {
+ // 娓呯┖閫夋嫨
+ if (value === null || value === undefined || value === "") {
+ this.topqueryParams.sendstateView = null;
+ this.topqueryParams.sendstate = null;
+ return;
+ }
+ console.log(value, "value");
+
+ // 涓�绾ц妭鐐圭殑鍊硷紙澶т簬绛変簬10锛�
+ if (value >= 10) {
+ // 閫変腑浜嗕竴绾�
+ switch (value) {
+ case 10:
+ this.topqueryParams.sendstateView = 1; // 寰呴殢璁�
+ break;
+ case 20:
+ this.topqueryParams.sendstateView = 2; // 宸插畬鎴�
+ break;
+ case 30:
+ this.topqueryParams.sendstateView = 3; // 鏃犻渶闅忚
+ break;
+ }
+ this.topqueryParams.sendstate = null;
+ } else {
+ // 閫変腑浜嗕簩绾э紙鍏蜂綋鐘舵�侊級
+ this.topqueryParams.sendstateView = null;
+ this.topqueryParams.sendstate = value;
+ }
},
affiliation() {
this.topqueryParams.managementDoctorCode = store.getters.hisUserId;
@@ -1382,7 +1423,7 @@
this.options = [];
}
},
- // 褰卞儚闅忚鐘舵�佷慨鏀�
+ // 褰卞儚澶勭悊鐘舵�佷慨鏀�
handleStatusChange(row) {
let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
this.$modal
@@ -1454,11 +1495,12 @@
resetQuery() {
this.dateRange = [];
this.dateRangefs = [];
+ this.serviceStatusValue = null;
this.topqueryParams = {
pageNum: 1,
pageSize: 10,
- sendstateView:
- localStorage.getItem("orgname") == "鍗楀崕澶у闄勫睘绗竴鍖婚櫌" ? 1 : 2,
+ sendstate: null,
+ sendstateView: null,
sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭)
serviceType: 6,
searchscope: 3,
@@ -1796,8 +1838,8 @@
<style lang="scss" scoped>
.el-button--primary.is-plain {
color: #ffffff;
- background: #409eff;
- border-color: #4fabe9;
+ background: #5b7cfa;
+ border-color: #5b7cfa;
}
.document {
@@ -1993,4 +2035,75 @@
// font-size: 24px;
// }
// }
+/* ================= 娓呮柊楂樼骇绠�绾﹂ ================= */
+.app-container {
+ background: #f5f7fb;
+ border-radius: 14px;
+ padding: 20px;
+}
+
+/* 鏌ヨ琛ㄥ崟锛氱櫧鑹插渾瑙掑崱鐗� */
+::v-deep .el-form--inline {
+ background: #ffffff;
+ border-radius: 14px;
+ padding: 22px 22px 8px;
+ margin-bottom: 18px;
+ box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05);
+}
+
+/* 闅愯棌鍒嗗壊绾� */
+::v-deep .el-divider {
+ display: none;
+}
+
+/* 宸ュ叿鏍忓簳閮ㄩ棿璺� */
+.mb8 {
+ margin-bottom: 18px;
+}
+
+/* 鎸夐挳锛氬渾瑙� + 鏌斿拰杩囨浮 */
+::v-deep .el-button {
+ border-radius: 8px;
+ font-weight: 500;
+ transition: all 0.25s ease;
+}
+
+/* 涓绘寜閽細娓呮柊闈涜摑 */
+::v-deep .el-button--primary:not(.is-plain) {
+ background: #5b7cfa;
+ border-color: #5b7cfa;
+}
+::v-deep .el-button--primary:not(.is-plain):hover,
+::v-deep .el-button--primary:not(.is-plain):focus {
+ background: #7593fb;
+ border-color: #7593fb;
+}
+
+/* 琛ㄦ牸锛氱櫧鑹插渾瑙掑崱鐗� + 鏌斿拰琛ㄥご */
+::v-deep .el-table {
+ border-radius: 14px;
+ overflow: hidden;
+ box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05);
+}
+::v-deep .el-table::before {
+ display: none;
+}
+::v-deep .el-table th {
+ background: #f7f9fd !important;
+ color: #3f4d63;
+ font-weight: 600;
+}
+::v-deep .el-table td {
+ padding: 12px 0;
+}
+
+/* 鏍囩鍦嗚 */
+::v-deep .el-tag {
+ border-radius: 6px;
+}
+
+/* 鍒嗛〉闂磋窛 */
+::v-deep .pagination-container {
+ padding-top: 18px;
+}
</style>
--
Gitblit v1.9.3