From dafbb909e478015ee062bf962bddcb20a6fed55c Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 03 七月 2025 14:51:32 +0800
Subject: [PATCH] 测试完成

---
 src/views/sfstatistics/percentage/index.vue |  505 +++++++++++++++++++++++++------------------------------
 1 files changed, 227 insertions(+), 278 deletions(-)

diff --git a/src/views/sfstatistics/percentage/index.vue b/src/views/sfstatistics/percentage/index.vue
index 3d34079..8b1537d 100644
--- a/src/views/sfstatistics/percentage/index.vue
+++ b/src/views/sfstatistics/percentage/index.vue
@@ -55,17 +55,22 @@
                   </el-option>
                 </el-select>
               </el-form-item> -->
-              <el-form-item label="鍑洪櫌鐥呭尯" prop="userName">
-                <!-- <el-select v-model="queryParams.leavehospitaldistrictcodes" placeholder="璇烽�夋嫨">
+              <el-form-item label="缁熻绫诲瀷" prop="userName">
+                <el-select
+                  v-model="queryParams.statisticaltype"
+                  placeholder="璇烽�夋嫨缁熻绫诲瀷"
+                >
                   <el-option
-                    v-for="item in flatArray"
-                    :key="item.deptCode"
+                    v-for="item in Statisticallist"
+                    :key="item.value"
                     :label="item.label"
-                    :value="item.deptCode"
+                    :value="item.value"
                   >
                   </el-option>
-                </el-select> -->
+                </el-select>
                 <el-select
+                  style="margin-left: 10px"
+                  v-if="queryParams.statisticaltype == 1"
                   v-model="queryParams.leavehospitaldistrictcodes"
                   size="medium"
                   multiple
@@ -73,16 +78,37 @@
                   placeholder="璇烽�夋嫨鐥呭尯"
                 >
                   <el-option
-                    v-for="item in flatArray"
-                    :key="item.deptCode"
+                    v-for="item in flatArrayhospit"
+                    :key="item.value"
                     :label="item.label"
-                    :value="item.deptCode"
+                    :value="item.value"
+                  >
+                  </el-option>
+                </el-select>
+                <el-select
+                  v-else-if="queryParams.statisticaltype == 2"
+                  v-model="queryParams.deptcodes"
+                  size="medium"
+                  multiple
+                  filterable
+                  placeholder="璇烽�夋嫨绉戝"
+                >
+                  <el-option
+                    v-for="item in flatArraydept"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
                   >
                   </el-option>
                 </el-select>
               </el-form-item>
-              <!-- <el-form-item label="绠$悊鏂规" prop="userName">
-                <el-select v-model="queryParams.value3" placeholder="璇烽�夋嫨">
+
+              <el-form-item label="缁熻绫诲瀷" prop="userName">
+                <el-select
+                  v-model="queryParams.serviceType"
+                  multiple
+                  placeholder="璇烽�夋嫨"
+                >
                   <el-option
                     v-for="item in options"
                     :key="item.value"
@@ -91,30 +117,7 @@
                   >
                   </el-option>
                 </el-select>
-              </el-form-item> -->
-              <!-- <el-form-item label="鍑洪櫌鏃ユ湡" prop="userName">
-                <el-date-picker
-                  v-model="queryParams.valuetime1"
-                  align="right"
-                  type="date"
-                  placeholder="閫夋嫨鏃ユ湡"
-                  :picker-options="pickerOptionsa"
-                >
-                </el-date-picker>
-              </el-form-item> -->
-              <el-select
-                v-model="queryParams.serviceType"
-                multiple
-                placeholder="璇烽�夋嫨"
-              >
-                <el-option
-                  v-for="item in options"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
+              </el-form-item>
               <el-form-item
                 label-width="200"
                 label="搴旈殢璁挎椂闂磋寖鍥�"
@@ -201,254 +204,177 @@
               :border="true"
               @selection-change="handleSelectionChange"
             >
-              <el-table-column type="selection" width="50" align="center" />
-              <!-- <el-table-column
-                fixed
-                label="搴忓彿"
-                align="center"
-                key="tagid"
-                prop="tagid"
-                width="50"
-              /> -->
               <el-table-column
-                fixed
                 label="鍑洪櫌鐥呭尯"
                 align="center"
                 key="leavehospitaldistrictname"
                 prop="leavehospitaldistrictname"
-                width="100"
+                width="150"
                 :show-overflow-tooltip="true"
               />
               <el-table-column
-                label="鏈嶅姟鎬婚噺"
+                label="绉戝"
                 align="center"
-                key="serviceCount"
-                prop="serviceCount"
+                key="deptname"
+                prop="deptname"
+                :show-overflow-tooltip="true"
+              />
+              <el-table-column
+                label="鍑洪櫌浜烘"
+                align="center"
+                key="dischargeCount"
+                prop="dischargeCount"
               >
-                <template slot-scope="scope">
-                  <span
-                    >{{ scope.row.updateBy }}
-                    <p>{{ scope.row.serviceCount }}</p></span
-                  >
-                </template>
               </el-table-column>
 
               <el-table-column
-                label="涓嶆墽琛�"
-                align="center"
-                width="120"
-                key="bzxCount"
-                prop="bzxCount"
-              >
-              </el-table-column>
-              <el-table-column
-                label="搴旈殢璁块噺"
-                align="center"
-                key="ysfCount"
-                prop="ysfCount"
-              >
-              </el-table-column
-              ><el-table-column
-                label="鍙戦�佸け璐�"
-                align="center"
-                key="fssbCount"
-                prop="fssbCount"
-              >
-              </el-table-column
-              ><el-table-column
-                label="寰呴殢璁�"
-                align="center"
-                key="dfsCount"
-                prop="dfsCount"
-              >
-              </el-table-column
-              ><el-table-column
-                label="宸插彂閫�"
-                align="center"
-                key="yfsCount"
-                prop="yfsCount"
-              >
-              </el-table-column>
-              <el-table-column
-                label="宸插畬鎴�"
-                align="center"
-                key="ywcCount"
-                prop="ywcCount"
-              >
-              </el-table-column>
-              <el-table-column
-                label="闅忚瀹屾垚鐜�"
-                align="center"
-                width="120"
-                key="sfwcl"
-                prop="sfwcl"
-              >
-                <template slot-scope="scope">
-                  <span>{{ (Number(scope.row.sfwcl) * 100).toFixed(2) }}%</span>
-                </template>
-              </el-table-column>
-              <!-- <el-table-column
-                label="鍏紬鍙峰彂閫佹鏁�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column>
-              <el-table-column
-                label="鍏紬鍙烽殢璁垮畬鎴愭暟"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column>
-              <el-table-column
-                label="鍏紬鍙烽殢璁垮畬鎴愮巼"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column> -->
-              <!-- <el-table-column
-                label="鐭俊鍙戦�佹鏁�"
-                align="center"
-                width="120"
-                key="dxfscs"
-                prop="dxfscs"
-              >
-              </el-table-column>
-              <el-table-column
-                label="鐭俊闅忚瀹屾垚鏁�"
-                align="center"
-                width="120"
-                key="dxsfwccs"
-                prop="dxsfwccs"
-              >
-              </el-table-column>
-              <el-table-column
-                label="鐭俊闅忚瀹屾垚鐜�"
-                align="center"
-                width="120"
-                key="dxsfwcl"
-                prop="dxsfwcl"
-              >
-              </el-table-column> -->
-              <!-- <el-table-column
-                label="浜哄伐闅忚娆℃暟"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column>
-              <el-table-column
-                label="浜哄伐闅忚瀹屾垚鏁�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column>
-              <el-table-column
-                label="浜哄伐闅忚瀹屾垚鐜�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column> -->
-              <!-- <el-table-column
-                label="澶辫鏁�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column>
-              <el-table-column
-                label="澶辫鐜�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column>
-              <el-table-column
-                label="澶辫鐜�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              > -->
-              <!-- </el-table-column> -->
-              <el-table-column
-                label="寮傚父鎬绘暟"
-                align="center"
-                key="yczs"
-                prop="yczs"
-              >
-                <template slot-scope="scope">
-                  <el-button
-                    size="medium"
-                    type="danger"
-                    plain
-                    @click="routerErr(scope.row)"
-                    ><span class="button-zx">{{
-                      scope.row.yczs
-                    }}</span></el-button
-                  >
-                </template>
-              </el-table-column>
-              <!-- <el-table-column
-                label="鎬诲紓甯哥巼"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
-              >
-              </el-table-column> -->
-              <el-table-column
-                label="鍥炲寮傚父鏁�"
+                label="鏃犻渶闅忚浜烘"
                 align="center"
                 width="100"
-                key="hfycs"
-                prop="hfycs"
-              >
-              </el-table-column>
-              <!-- <el-table-column
-                label="鍥炲寮傚父鍙婃椂澶勭悊鏁�"
-                align="center"
-                key="tagdescription"
-                prop="tagdescription"
+                key="nonFollowUp"
+                prop="nonFollowUp"
               >
               </el-table-column>
               <el-table-column
-                label="鍥炲寮傚父鍙婃椂澶勭悊鐜�"
+                label="搴旈殢璁夸汉娆�"
                 align="center"
-                key="tagdescription"
-                prop="tagdescription"
+                width="100"
+                key="followUpNeeded"
+                prop="followUpNeeded"
               >
-              </el-table-column> -->
-
-              <!-- <el-table-column
-                label="鎿嶄綔"
-                align="center"
-                width="300"
-                class-name="small-padding fixed-width"
-              >
-                <template slot-scope="scope">
-                  <el-button
-                    size="medium"
-                    type="text"
-                    @click="handleUpdate(scope.row)"
-                    v-hasPermi="['system:user:edit']"
-                    ><span class="button-textxg"
-                      ><i class="el-icon-edit"></i>淇敼</span
-                    ></el-button
-                  >
-                  <el-button
-                    size="medium"
-                    type="text"
-                    @click="handleDelete(scope.row)"
-                    v-hasPermi="['system:user:remove']"
-                    ><span class="button-textsc"
-                      ><i class="el-icon-delete"></i>鍒犻櫎</span
-                    ></el-button
-                  >
-                </template>
-              </el-table-column> -->
+              </el-table-column>
+              <el-table-column align="center" label="棣栨鍑洪櫌闅忚">
+                <el-table-column
+                  label="搴旈殢璁�"
+                  align="center"
+                  key="needFollowUp"
+                  prop="needFollowUp"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="寰呴殢璁�"
+                  align="center"
+                  key="pendingFollowUp"
+                  prop="pendingFollowUp"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="闅忚鎴愬姛"
+                  align="center"
+                  key="followUpSuccess"
+                  prop="followUpSuccess"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="闅忚澶辫触"
+                  align="center"
+                  key="followUpFail"
+                  prop="followUpFail"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="闅忚鐜�"
+                  align="center"
+                  width="120"
+                  key="followUpRate"
+                  prop="followUpRate"
+                >
+                  <!-- <template slot-scope="scope">
+                    <span
+                      >{{
+                        (Number(scope.row.followUpRate) * 100).toFixed(2)
+                      }}%</span
+                    >
+                  </template> -->
+                </el-table-column>
+                <el-table-column
+                  label="浜哄伐"
+                  align="center"
+                  key="manual"
+                  prop="manual"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="鐭俊"
+                  align="center"
+                  key="sms"
+                  prop="sms"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="寰俊"
+                  align="center"
+                  key="weChat"
+                  prop="weChat"
+                >
+                </el-table-column>
+              </el-table-column>
+              <el-table-column align="center" label="鍐嶆鍑洪櫌闅忚">
+                <el-table-column
+                  label="搴旈殢璁�"
+                  align="center"
+                  key="needFollowUpAgain"
+                  prop="needFollowUpAgain"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="寰呴殢璁�"
+                  align="center"
+                  key="pendingFollowUpAgain"
+                  prop="pendingFollowUpAgain"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="闅忚鎴愬姛"
+                  align="center"
+                  key="followUpSuccessAgain"
+                  prop="followUpSuccessAgain"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="闅忚澶辫触"
+                  align="center"
+                  key="followUpFailAgain"
+                  prop="followUpFailAgain"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="闅忚鐜�"
+                  align="center"
+                  width="120"
+                  key="followUpRateAgain"
+                  prop="followUpRateAgain"
+                >
+                  <!-- <template slot-scope="scope">
+                    <span
+                      >{{
+                        (Number(scope.row.FollowUpRateAgain) * 100).toFixed(2)
+                      }}%</span
+                    >
+                  </template> -->
+                </el-table-column>
+                <el-table-column
+                  label="浜哄伐"
+                  align="center"
+                  key="manualAgain"
+                  prop="manualAgain"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="鐭俊"
+                  align="center"
+                  key="smsAgain"
+                  prop="smsAgain"
+                >
+                </el-table-column>
+                <el-table-column
+                  label="寰俊"
+                  align="center"
+                  key="weChatAgain"
+                  prop="weChatAgain"
+                >
+                </el-table-column>
+              </el-table-column>
             </el-table>
 
             <!-- <pagination
@@ -469,15 +395,10 @@
 import {
   toamendtag,
   addapitag,
-  detailstag,
   deletetag,
   changetagcategory,
-  toamendtagcategory,
-  addtagcategory,
-  deletetagcategory,
-  listtag,
-  tagclassifylist,
 } from "@/api/system/label";
+import store from "@/store";
 import { getSfStatistics, deptTreeSelect } from "@/api/system/user";
 
 import Treeselect from "@riophae/vue-treeselect";
@@ -527,7 +448,19 @@
       idds: "", //鍒嗙被id
       // 鎬绘潯鏁�
       total: 0,
-      flatArray: [],
+      flatArrayhospit: [],
+      flatArraydept: [],
+
+      Statisticallist: [
+        {
+          label: "鐥呭尯缁熻",
+          value: 1,
+        },
+        {
+          label: "绉戝缁熻",
+          value: 2,
+        },
+      ],
       amendtag: false, //鏄惁淇敼绫诲埆
       lstamendtag: false, //鏄惁淇敼鏍囩
       scavisible: false, //鍒犻櫎寮规
@@ -568,7 +501,7 @@
       propss: { multiple: true },
 
       options: [
-      {
+        {
           value: 1,
           label: "鐩戞祴璇勪及",
         },
@@ -630,6 +563,7 @@
         pageSize: 10,
         serviceType: [2],
         dateRange: [],
+        statisticaltype: 1,
       },
       // 鍒椾俊鎭�
       columns: [
@@ -674,13 +608,23 @@
     // 鑾峰彇绉戝鏍�
     getDeptTree() {
       // 绉戝鍒楄〃
-      deptTreeSelect().then((response) => {
-        this.deptOptions = response.data;
-        console.log(this.deptOptions, " this.deptOptions");
-
-        this.flatArray = this.flattenArray(response.data);
-        console.log(this.flatArray, "this.flatArray");
-      });
+       this.flatArraydept = store.getters.belongDepts.map((dept) => {
+      return {
+        label: dept.deptName,
+        value: dept.deptCode,
+      };
+    });
+    this.flatArrayhospit = store.getters.belongWards.map((dept) => {
+      return {
+        label: dept.districtName,
+        value: dept.districtCode,
+      };
+    });
+      // deptTreeSelect().then((response) => {
+      //   this.deptOptions = response.data;
+      //   console.log(this.deptOptions, " this.deptOptions");
+      //   this.flatArray = this.flattenArray(response.data);
+      // });
     },
     flattenArray(multiArray) {
       let result = [];
@@ -782,6 +726,11 @@
     handleQuery() {
       this.queryParams.pageNum = 1;
       console.log();
+      if (this.queryParams.statisticaltype == 1) {
+        this.queryParams.deptcodes = [];
+      } else if (this.queryParams.statisticaltype == 2) {
+        this.queryParams.leavehospitaldistrictcodes = [];
+      }
       this.queryParams.startTime = this.parseTime(
         this.queryParams.dateRange[0]
       );

--
Gitblit v1.9.3