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/mzsatisfaction/index.vue |  239 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 138 insertions(+), 101 deletions(-)

diff --git a/src/views/followvisit/mzsatisfaction/index.vue b/src/views/followvisit/mzsatisfaction/index.vue
index 583cafc..c62a5ad 100644
--- a/src/views/followvisit/mzsatisfaction/index.vue
+++ b/src/views/followvisit/mzsatisfaction/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"
@@ -92,7 +71,7 @@
             </el-option>
           </el-select>
         </el-form-item> -->
-         <el-form-item label="闅忚鐘舵��" prop="status">
+        <el-form-item label="澶勭悊鐘舵��" prop="status">
           <el-cascader
             v-model="serviceStatusValue"
             placeholder="璇烽�夋嫨"
@@ -225,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="濮撳悕"
@@ -260,15 +230,15 @@
             >
           </template>
         </el-table-column>
-      <el-table-column
-          label="闅忚鐘舵��"
+        <el-table-column
+          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"
@@ -338,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"
@@ -415,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"
@@ -438,7 +392,7 @@
           width="200"
         />
 
-         <el-table-column
+        <el-table-column
           label="浠诲姟鐘舵��"
           align="center"
           key="sendstate"
@@ -792,22 +746,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>
@@ -988,7 +942,7 @@
 export default {
   name: "Discharge",
   dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
-  components: { Treeselect,StatisticsCards },
+  components: { Treeselect, StatisticsCards },
   data() {
     return {
       // 閬僵灞�
@@ -1001,6 +955,8 @@
       multiple: true,
       // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
+      jgvalue: 0,
+
       dialogFormVisible: false,
       // 鎬绘潯鏁�
       total: 0,
@@ -1028,7 +984,7 @@
       dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
       inputVisible: false,
       Labelchange: false,
-      ycvalue: "",
+      ycvalue: 0,
       yfsvalue: "",
       inputValue: "",
       preachform: "",
@@ -1040,8 +996,8 @@
       // 婊℃剰搴﹁皟鏌ユ暟鎹�
       scoreDialogVisible: false,
       selectedRows: [],
- // 绾ц仈閫夋嫨鍣ㄧ粦瀹氬��
-      serviceStatusValue: 10,
+      // 绾ц仈閫夋嫨鍣ㄧ粦瀹氬��
+      serviceStatusValue: null,
       cascaderProps: {
         expandTrigger: "hover", // 鎮仠灞曞紑
         checkStrictly: true, // 鉁� 鍏抽敭锛氬厑璁搁�変腑浠绘剰涓�绾�
@@ -1097,25 +1053,24 @@
       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%",
         },
       ],
       zcrules: {
@@ -1165,7 +1120,8 @@
       topqueryParams: {
         pageNum: 1,
         pageSize: 10,
-        sendstate: 6,
+        sendstate: null,
+        sendstateView: null,
         sort: localStorage.getItem("orgname") == "涓芥按甯備腑鍖婚櫌" ? 8 : 2, //0 鍑洪櫌鏃堕棿(姝e簭)    1 鍑洪櫌鏃堕棿(鍊掑簭)   2 鍙戦�佹椂闂�(姝e簭)    3 鍙戦�佹椂闂�(鍊掑簭)  7搴旈殢璁挎棩鏈�(鍊掑簭) 搴旈殢璁挎棩鏈�(姝e簭)
         serviceType: 14,
         searchscope: 3,
@@ -1177,7 +1133,7 @@
       propss: { multiple: true },
       options: [],
 
-     topicoptions: [
+      topicoptions: [
         {
           value: null,
           label: "鍏ㄩ儴",
@@ -1257,6 +1213,8 @@
           },
         },
       },
+      orgname: "",
+
       amendtag: false,
       errtype: "",
       leavehospitaldistrictcode: "",
@@ -1271,6 +1229,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) => {
@@ -1334,14 +1294,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;
@@ -1495,7 +1460,7 @@
         this.options = [];
       }
     },
-    // 褰卞儚闅忚鐘舵�佷慨鏀�
+    // 褰卞儚澶勭悊鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
       this.$modal
@@ -1567,12 +1532,13 @@
     resetQuery() {
       this.dateRange = [];
       this.dateRangefs = [];
-      this.serviceStatusValue = 10;
+      this.serviceStatusValue = null;
 
       this.topqueryParams = {
         pageNum: 1,
         pageSize: 10,
-        sendstate: 6,
+        sendstate: null,
+        sendstateView: null,
         sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭)    1 鍑洪櫌鏃堕棿(鍊掑簭)   2 鍙戦�佹椂闂�(姝e簭)    3 鍙戦�佹椂闂�(鍊掑簭)
         serviceType: 14,
         searchscope: 3,
@@ -1881,8 +1847,8 @@
 <style lang="scss" scoped>
 .el-button--primary.is-plain {
   color: #ffffff;
-  background: #409eff;
-  border-color: #4fabe9;
+  background: #5b7cfa;
+  border-color: #5b7cfa;
 }
 
 .document {
@@ -2075,4 +2041,75 @@
   flex-shrink: 0;
   margin-top: 2px;
 }
+/* ================= 娓呮柊楂樼骇绠�绾﹂ ================= */
+.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