From 39c8b288ec8294e026459dfb1955f0bbc49ebb52 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 19 十月 2026 11:10:40 +0800
Subject: [PATCH] 测试完成

---
 src/views/sfstatistics/percentage/components/FirstFollowUp.vue |  344 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 316 insertions(+), 28 deletions(-)

diff --git a/src/views/sfstatistics/percentage/components/FirstFollowUp.vue b/src/views/sfstatistics/percentage/components/FirstFollowUp.vue
index 67d329f..70425f2 100644
--- a/src/views/sfstatistics/percentage/components/FirstFollowUp.vue
+++ b/src/views/sfstatistics/percentage/components/FirstFollowUp.vue
@@ -590,6 +590,223 @@
             </template>
           </el-table-column>
           <el-table-column
+            v-if="isTargetHospital"
+            label="浜哄伐"
+            align="center"
+          >
+            <el-table-column
+              label="鍙戦�佸畬鎴�"
+              align="center"
+              key="manualSuccess"
+              prop="manualSuccess"
+              :render-header="Tooltipfswc"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  size="medium"
+                  type="text"
+                  @click="
+                    handleViewDetails(
+                      scope.row,
+                      'manualSuccessInfo',
+                      '鍙戦�佸畬鎴愪汉宸ラ殢璁垮垪琛�'
+                    )
+                  "
+                >
+                  <span class="button-zx">{{ scope.row.manualSuccess }}</span>
+                </el-button>
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="鏈�缁堝畬鎴�"
+              align="center"
+              key="manualAgainSuccess"
+              prop="manualAgainSuccess"
+              :render-header="Tooltipzzwc"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  size="medium"
+                  type="text"
+                  @click="
+                    handleViewDetails(
+                      scope.row,
+                      'manualAgainSuccessInfo',
+                      '鏈�缁堝畬鎴愪汉宸ラ殢璁垮垪琛�'
+                    )
+                  "
+                >
+                  <span class="button-zx">{{
+                    scope.row.manualAgainSuccess
+                  }}</span>
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table-column>
+          <el-table-column
+            v-if="isTargetHospital"
+            label="璇煶"
+            align="center"
+          >
+            <el-table-column
+              label="鍙戦�佸畬鎴�"
+              align="center"
+              key="voiceSuccess"
+              prop="voiceSuccess"
+              :render-header="Tooltipfswc"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  size="medium"
+                  type="text"
+                  @click="
+                    handleViewDetails(
+                      scope.row,
+                      'voiceSuccessInfo',
+                      '鍙戦�佸畬鎴愯闊抽殢璁垮垪琛�'
+                    )
+                  "
+                >
+                  <span class="button-zx">{{ scope.row.voiceSuccess }}</span>
+                </el-button>
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="鏈�缁堝畬鎴�"
+              align="center"
+              key="voiceAgainSuccess"
+              prop="voiceAgainSuccess"
+              :render-header="Tooltipzzwc"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  size="medium"
+                  type="text"
+                  @click="
+                    handleViewDetails(
+                      scope.row,
+                      'voiceAgainSuccessInfo',
+                      '鏈�缁堝畬鎴愯闊抽殢璁垮垪琛�'
+                    )
+                  "
+                >
+                  <span class="button-zx">{{
+                    scope.row.voiceAgainSuccess
+                  }}</span>
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table-column>
+          <el-table-column
+            v-if="isTargetHospital"
+            label="鐭俊"
+            align="center"
+          >
+            <el-table-column
+              label="鍙戦�佸畬鎴�"
+              align="center"
+              key="smsSuccess"
+              prop="smsSuccess"
+              :render-header="Tooltipfswc"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  size="medium"
+                  type="text"
+                  @click="
+                    handleViewDetails(
+                      scope.row,
+                      'smsSuccessInfo',
+                      '鍙戦�佸畬鎴愮煭淇¢殢璁垮垪琛�'
+                    )
+                  "
+                >
+                  <span class="button-zx">{{ scope.row.smsSuccess }}</span>
+                </el-button>
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="鏈�缁堝畬鎴�"
+              align="center"
+              key="smsAgainSuccess"
+              prop="smsAgainSuccess"
+              :render-header="Tooltipzzwc"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  size="medium"
+                  type="text"
+                  @click="
+                    handleViewDetails(
+                      scope.row,
+                      'smsAgainSuccessInfo',
+                      '鏈�缁堝畬鎴愮煭淇¢殢璁垮垪琛�'
+                    )
+                  "
+                >
+                  <span class="button-zx">{{
+                    scope.row.smsAgainSuccess
+                  }}</span>
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table-column>
+          <el-table-column
+            v-if="isTargetHospital"
+            label="寰俊"
+            align="center"
+          >
+            <el-table-column
+              label="鍙戦�佸畬鎴�"
+              align="center"
+              key="weChatSuccess"
+              prop="weChatSuccess"
+              :render-header="Tooltipfswc"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  size="medium"
+                  type="text"
+                  @click="
+                    handleViewDetails(
+                      scope.row,
+                      'wechatSuccessInfo',
+                      '鍙戦�佸畬鎴愬井淇¢殢璁垮垪琛�'
+                    )
+                  "
+                >
+                  <span class="button-zx">{{ scope.row.weChatSuccess }}</span>
+                </el-button>
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="鏈�缁堝畬鎴�"
+              align="center"
+              key="weChatAgainSuccess"
+              prop="weChatAgainSuccess"
+              :render-header="Tooltipzzwc"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  size="medium"
+                  type="text"
+                  @click="
+                    handleViewDetails(
+                      scope.row,
+                      'wechatAgainSuccessInfo',
+                      '鏈�缁堝畬鎴愬井淇¢殢璁垮垪琛�'
+                    )
+                  "
+                >
+                  <span class="button-zx">{{
+                    scope.row.weChatAgainSuccess
+                  }}</span>
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table-column>
+          <el-table-column
+            v-if="!isTargetHospital"
             label="浜哄伐"
             align="center"
             key="manual"
@@ -607,7 +824,13 @@
               </el-button>
             </template>
           </el-table-column>
-          <el-table-column label="璇煶" align="center" key="voice" prop="voice">
+          <el-table-column
+            v-if="!isTargetHospital"
+            label="璇煶"
+            align="center"
+            key="voice"
+            prop="voice"
+          >
             <template slot-scope="scope">
               <el-button
                 size="medium"
@@ -620,7 +843,13 @@
               </el-button>
             </template>
           </el-table-column>
-          <el-table-column label="鐭俊" align="center" key="sms" prop="sms">
+          <el-table-column
+            v-if="!isTargetHospital"
+            label="鐭俊"
+            align="center"
+            key="sms"
+            prop="sms"
+          >
             <template slot-scope="scope">
               <el-button
                 size="medium"
@@ -632,6 +861,7 @@
             </template>
           </el-table-column>
           <el-table-column
+            v-if="!isTargetHospital"
             label="寰俊"
             align="center"
             key="weChat"
@@ -748,6 +978,14 @@
       patientqueryParams: { pn: 1, ps: 10 },
       tasktypes: store.getters.tasktypes,
     };
+  },
+  computed: {
+    isTargetHospital() {
+      return (
+        this.orgname == "绗竴浜烘皯鍖婚櫌婀栨花闄㈠尯" ||
+        this.orgname == "绗竴浜烘皯鍖婚櫌鍚村北闄㈠尯"
+      );
+    },
   },
   methods: {
     loadData() {
@@ -982,6 +1220,32 @@
         [h("span", column.label)]
       );
     },
+    Tooltipfswc(h, { column }) {
+      return h(
+        "el-tooltip",
+        {
+          props: {
+            content: "棣栨鍙戦�佹偅鑰呭嵆濉姤鎴愬姛鐨勬暟閲�",
+            placement: "top",
+            effect: "dark",
+          },
+        },
+        [h("span", column.label)]
+      );
+    },
+    Tooltipzzwc(h, { column }) {
+      return h(
+        "el-tooltip",
+        {
+          props: {
+            content: "棣栨鏈畬鎴愪簩娆℃垨涓夋琛ュ伩鎺ㄩ�佹湰鏂瑰紡鐨勫畬鎴愭鏁�",
+            placement: "top",
+            effect: "dark",
+          },
+        },
+        [h("span", column.label)]
+      );
+    },
     getInnerSummaries(param) {
       const { columns, data } = param;
       const sums = [];
@@ -1207,19 +1471,21 @@
           }
         }
 
-        // 鏍规嵁 serviceType 鐢熸垚闅忚绫诲瀷鍚嶇О
+        // 鏍规嵁 serviceType 鐢熸垚闅忚绫诲瀷鍚嶇О锛堝吋瀹瑰崟閫�/澶氶�夛級
+        const serviceTypes = Array.isArray(this.queryParams.serviceType)
+          ? this.queryParams.serviceType
+          : this.queryParams.serviceType
+          ? [this.queryParams.serviceType]
+          : [];
+
         let serviceTypeName = "棣栨鍑洪櫌闅忚"; // 鏂囦欢鍚嶄娇鐢ㄧ殑鍚嶇О
         let sheetTypeName = "棣栨闅忚"; // 宸ヤ綔琛ㄤ娇鐢ㄧ殑鍚嶇О锛堢畝鍖栫増锛�
 
-        if (
-          this.queryParams.serviceType &&
-          Array.isArray(this.queryParams.serviceType) &&
-          this.queryParams.serviceType.length > 0
-        ) {
+        if (serviceTypes.length > 0) {
           // 浣跨敤 props 涓殑 options锛堝嵆 tasktypes锛�
           if (this.options && Array.isArray(this.options)) {
             const matchedTypes = this.options.filter((task) =>
-              this.queryParams.serviceType.includes(task.value)
+              serviceTypes.includes(task.value)
             );
             console.log(matchedTypes, "matchedTypes");
 
@@ -1232,14 +1498,14 @@
               serviceTypeName = `棣栨${typeNames.join("/")}`;
               // 宸ヤ綔琛ㄥ悕绠�鍖栵紙鍙栫涓�涓�+鈥滅瓑鈥濓級
               sheetTypeName = `棣栨${typeNames[0]}绛塦;
-            } else if (this.queryParams.serviceType.length > 0) {
+            } else {
               // 鏃犲尮閰嶆椂浣跨敤鍘熷鍊�
-              const typeStr = this.queryParams.serviceType.join("/");
+              const typeStr = serviceTypes.join("/");
               serviceTypeName = `棣栨${typeStr}`;
               sheetTypeName = "棣栨闅忚";
             }
-          } else if (this.queryParams.serviceType.length > 0) {
-            const typeStr = this.queryParams.serviceType.join("/");
+          } else {
+            const typeStr = serviceTypes.join("/");
             serviceTypeName = `棣栨${typeStr}`;
             sheetTypeName = "棣栨闅忚";
           }
@@ -1784,23 +2050,45 @@
     selectTimelyRate(row, queryParams) {
       console.log(row, queryParams, 88);
 
-      // const params = {
-      //   ...this.patientqueryParams,
-      //   starttime: this.parseTime(dateRange[0]),
-      //   endtime: this.parseTime(dateRange[1]),
-      //   deptcode: row.deptcode,
-      // };
-      this.patientqueryParams.starttime = this.parseTime(
-        queryParams.dateRange[0]
-      );
-      this.patientqueryParams.endtime = this.parseTime(
-        queryParams.dateRange[1]
-      );
-      this.patientqueryParams.deptcode = row.deptcode;
-      console.log(1);
+      // 搴旈殢璁挎椂闂磋寖鍥�
+      if (queryParams.endTime) {
+        this.patientqueryParams.starttime = queryParams.startTime;
+        this.patientqueryParams.endtime = queryParams.endTime;
+      } else {
+        this.patientqueryParams.starttime = this.parseTime(
+          queryParams.dateRange[0]
+        );
+        this.patientqueryParams.endtime = this.parseTime(
+          queryParams.dateRange[1]
+        );
+      }
+      // 鍑洪櫌鏃堕棿鑼冨洿
+      if (queryParams.hospitalEndTime) {
+        this.patientqueryParams.hospitalstarttime =
+          queryParams.hospitalStartTime;
+        this.patientqueryParams.hospitalendtime = queryParams.hospitalEndTime;
+      } else {
+        this.patientqueryParams.hospitalstarttime = this.parseTime(
+          queryParams.dateRangecy[0]
+        );
+        this.patientqueryParams.hospitalendtime = this.parseTime(
+          queryParams.dateRangecy[1]
+        );
+      }
+      // 缁熻绫诲瀷锛氱梾鍖虹粺璁�(1)浼犵梾鍖篶ode锛岀瀹ょ粺璁�(2)浼犵瀹ode
+      if (queryParams.statisticaltype == 1) {
+        this.patientqueryParams.leavehospitaldistrictcode =
+          row.leavehospitaldistrictcode;
+        this.patientqueryParams.deptcode = null;
+      } else {
+        this.patientqueryParams.deptcode = row.deptcode;
+        this.patientqueryParams.leavehospitaldistrictcode = null;
+      }
 
       this.patientqueryParams.serviceTypes = queryParams.serviceType
-        ? queryParams.serviceType.join(",")
+        ? Array.isArray(queryParams.serviceType)
+          ? queryParams.serviceType.join(",")
+          : String(queryParams.serviceType)
         : null;
 
       return selectTimelyRate(this.patientqueryParams);

--
Gitblit v1.9.3