From d93ed5c5aadcf3d49f824339c26ebfac911be06d Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期五, 07 十一月 2025 14:39:38 +0800
Subject: [PATCH] 测试完成

---
 src/views/sfstatistics/percentage/index.vue | 1620 +++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 915 insertions(+), 705 deletions(-)

diff --git a/src/views/sfstatistics/percentage/index.vue b/src/views/sfstatistics/percentage/index.vue
index 7647fae..fe833bd 100644
--- a/src/views/sfstatistics/percentage/index.vue
+++ b/src/views/sfstatistics/percentage/index.vue
@@ -126,456 +126,472 @@
                 >
               </el-col>
             </el-form>
-            <el-table
-              v-loading="loading"
-              :data="userList"
-              :border="true"
-              @selection-change="handleSelectionChange"
-              @expand-change="handleRowClick"
-              :row-key="getRowKey"
-              :expand-row-keys="expands"
-            >
-              <!-- 灞曞紑琛岀澶村垪 -->
-              <el-table-column type="expand">
-                <template slot-scope="props">
-                  <el-table
-                    :data="props.row.doctorStats"
-                    border
-                    style="width: 95%; margin: 0 auto"
-                    class="inner-table"
-                  >
-                    <el-table-column
-                      label="鍖荤敓濮撳悕"
-                      prop="drname"
-                      align="center"
-                    />
-                    <el-table-column
-                      label="绉戝"
-                      width="120"
-                      prop="deptname"
-                      align="center"
-                    />
-                    <el-table-column
-                      label="鍑洪櫌浜烘"
-                      prop="dischargeCount"
-                      align="center"
-                    />
-                    <el-table-column
-                      label="鍑洪櫌浜烘"
-                      align="center"
-                      key="dischargeCount"
-                      prop="dischargeCount"
+            <div class="your-table-container">
+              <el-table
+                v-loading="loading"
+                :data="userList"
+                :border="true"
+                @selection-change="handleSelectionChange"
+                @expand-change="handleRowClick"
+                :row-key="getRowKey"
+                show-summary
+                :summary-method="getSummaries"
+                :expand-row-keys="expands"
+              >
+                <!-- 灞曞紑琛岀澶村垪 -->
+                <el-table-column type="expand">
+                  <template slot-scope="props">
+                    <el-table
+                      :data="props.row.doctorStats"
+                      border
+                      style="width: 95%; margin: 0 auto"
+                      class="inner-table"
+                      show-summary
+                      :summary-method="getInnerSummaries"
                     >
-                    </el-table-column>
+                      <el-table-column
+                        label="鍖荤敓濮撳悕"
+                        prop="drname"
+                        align="center"
+                      />
+                      <el-table-column
+                        label="绉戝"
+                        width="120"
+                        prop="deptname"
+                        align="center"
+                      />
+                      <el-table-column
+                        label="鍑洪櫌浜烘"
+                        prop="dischargeCount"
+                        align="center"
+                      />
+                      <el-table-column
+                        label="鍑洪櫌浜烘"
+                        align="center"
+                        key="dischargeCount"
+                        prop="dischargeCount"
+                      >
+                      </el-table-column>
 
-                    <el-table-column
-                      label="鏃犻渶闅忚浜烘"
-                      align="center"
-                      width="100"
-                      key="nonFollowUp"
-                      prop="nonFollowUp"
-                    >
-                    </el-table-column>
-                    <el-table-column
-                      label="搴旈殢璁夸汉娆�"
-                      align="center"
-                      width="100"
-                      key="followUpNeeded"
-                      prop="followUpNeeded"
-                    >
-                    </el-table-column>
-                    <el-table-column align="center" label="棣栨鍑洪櫌闅忚">
                       <el-table-column
-                        label="闇�闅忚"
+                        label="鏃犻渶闅忚浜烘"
                         align="center"
-                        key="needFollowUp"
-                        prop="needFollowUp"
+                        width="100"
+                        key="nonFollowUp"
+                        prop="nonFollowUp"
                       >
                       </el-table-column>
                       <el-table-column
-                        label="寰呴殢璁�"
+                        label="搴旈殢璁夸汉娆�"
                         align="center"
-                        key="pendingFollowUp"
-                        prop="pendingFollowUp"
+                        width="100"
+                        key="followUpNeeded"
+                        prop="followUpNeeded"
                       >
                       </el-table-column>
-                      <el-table-column
-                        label="闅忚鎴愬姛"
-                        align="center"
-                        key="followUpSuccess"
-                        prop="followUpSuccess"
+                      <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"
+                          width="120"
+                          key="rate"
+                          prop="rate"
+                        >
+                          <template slot-scope="scope">
+                            <el-button
+                              size="medium"
+                              type="text"
+                              @click="Seedetails(scope.row)"
+                              ><span class="button-zx"
+                                >{{
+                                  (Number(scope.row.rate) * 100).toFixed(2)
+                                }}%</span
+                              ></el-button
+                            >
+                          </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
-                        label="闅忚澶辫触"
-                        align="center"
-                        key="followUpFail"
-                        prop="followUpFail"
+                      <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-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"
-                        width="120"
-                        key="rate"
-                        prop="rate"
-                      >
-                        <template slot-scope="scope">
-                          <el-button
-                            size="medium"
-                            type="text"
-                            @click="Seedetails(scope.row)"
-                            ><span class="button-zx"
-                              >{{
-                                (Number(scope.row.rate) * 100).toFixed(2)
-                              }}%</span
-                            ></el-button
-                          >
-                        </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>
-                </template>
-              </el-table-column>
-              <el-table-column
-                label="鍑洪櫌鐥呭尯"
-                align="center"
-                sortable
-                key="leavehospitaldistrictname"
-                prop="leavehospitaldistrictname"
-                width="150"
-                :show-overflow-tooltip="true"
-              />
-              <el-table-column
-                label="绉戝"
-                align="center"
-                key="deptname"
-                prop="deptname"
-                :show-overflow-tooltip="true"
-              />
-              <el-table-column
-                label="鍑洪櫌浜烘"
-                align="center"
-                key="dischargeCount"
-                prop="dischargeCount"
-              >
-              </el-table-column>
-
-              <el-table-column
-                label="鏃犻渶闅忚浜烘"
-                align="center"
-                width="100"
-                key="nonFollowUp"
-                prop="nonFollowUp"
-              >
-              </el-table-column>
-              <el-table-column
-                label="搴旈殢璁夸汉娆�"
-                align="center"
-                width="100"
-                key="followUpNeeded"
-                prop="followUpNeeded"
-              >
-              </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"
-                  width="120"
-                  key="rate"
-                  prop="rate"
-                >
-                  <template slot-scope="scope">
-                    <el-button
-                      size="medium"
-                      type="text"
-                      @click="Seedetails(scope.row)"
-                      ><span class="button-zx"
-                        >{{ (Number(scope.row.rate) * 100).toFixed(2) }}%</span
-                      ></el-button
-                    >
+                    </el-table>
                   </template>
                 </el-table-column>
                 <el-table-column
-                  label="浜哄伐"
+                  label="鍑洪櫌鐥呭尯"
                   align="center"
-                  key="manual"
-                  prop="manual"
-                >
-                </el-table-column>
+                  sortable
+                  key="leavehospitaldistrictname"
+                  prop="leavehospitaldistrictname"
+                  width="150"
+                  :show-overflow-tooltip="true"
+                />
                 <el-table-column
-                  label="鐭俊"
+                  label="绉戝"
                   align="center"
-                  key="sms"
-                  prop="sms"
-                >
-                </el-table-column>
+                  key="deptname"
+                  prop="deptname"
+                  :show-overflow-tooltip="true"
+                />
                 <el-table-column
-                  label="寰俊"
+                  label="鍑洪櫌浜烘"
                   align="center"
-                  key="weChat"
-                  prop="weChat"
+                  key="dischargeCount"
+                  prop="dischargeCount"
                 >
                 </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-column v-if="orgname=='涓芥按甯備腑鍖婚櫌'" align="center" label="闅忚鎯呭喌">
 
                 <el-table-column
-                  label="姝e父璇煶"
+                  label="鏃犻渶闅忚浜烘"
                   align="center"
                   width="100"
-                  key="taskSituation1"
-                  prop="taskSituation1"
-                >
-                </el-table-column><el-table-column
-                  label="鎮h�呮嫆鎺ユ垨鎷掕"
-                  align="center"
-                  width="100"
-                  key="taskSituation2"
-                  prop="taskSituation2"
-                >
-                </el-table-column><el-table-column
-                  label="闈㈣鎴栬�呮帴璇�"
-                  align="center"
-                  width="100"
-                  key="taskSituation3"
-                  prop="taskSituation3"
-                >
-                </el-table-column><el-table-column
-                  label="寰俊闅忚"
-                  align="center"
-                  width="100"
-                  key="taskSituation4"
-                  prop="taskSituation4"
-                >
-                </el-table-column><el-table-column
-                  label="闅忚鐢佃瘽涓嶆纭�"
-                  align="center"
-                  width="100"
-                  key="taskSituation5"
-                  prop="taskSituation5"
-                >
-                </el-table-column><el-table-column
-                  label="鍏朵粬鎯呭喌涓嶅疁闅忚"
-                  align="center"
-                  width="100"
-                  key="taskSituation6"
-                  prop="taskSituation6"
+                  key="nonFollowUp"
+                  prop="nonFollowUp"
                 >
                 </el-table-column>
-              </el-table-column>
-            </el-table>
+                <el-table-column
+                  label="搴旈殢璁夸汉娆�"
+                  align="center"
+                  width="100"
+                  key="followUpNeeded"
+                  prop="followUpNeeded"
+                >
+                </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"
+                    width="120"
+                    key="rate"
+                    prop="rate"
+                  >
+                    <template slot-scope="scope">
+                      <el-button
+                        size="medium"
+                        type="text"
+                        @click="Seedetails(scope.row)"
+                        ><span class="button-zx"
+                          >{{
+                            (Number(scope.row.rate) * 100).toFixed(2)
+                          }}%</span
+                        ></el-button
+                      >
+                    </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-column
+                  v-if="orgname == '涓芥按甯備腑鍖婚櫌'"
+                  align="center"
+                  label="闅忚鎯呭喌"
+                >
+                  <el-table-column
+                    label="姝e父璇煶"
+                    align="center"
+                    width="100"
+                    key="taskSituation1"
+                    prop="taskSituation1"
+                  >
+                  </el-table-column
+                  ><el-table-column
+                    label="鎮h�呮嫆鎺ユ垨鎷掕"
+                    align="center"
+                    width="100"
+                    key="taskSituation2"
+                    prop="taskSituation2"
+                  >
+                  </el-table-column
+                  ><el-table-column
+                    label="闈㈣鎴栬�呮帴璇�"
+                    align="center"
+                    width="100"
+                    key="taskSituation3"
+                    prop="taskSituation3"
+                  >
+                  </el-table-column
+                  ><el-table-column
+                    label="寰俊闅忚"
+                    align="center"
+                    width="100"
+                    key="taskSituation4"
+                    prop="taskSituation4"
+                  >
+                  </el-table-column
+                  ><el-table-column
+                    label="闅忚鐢佃瘽涓嶆纭�"
+                    align="center"
+                    width="100"
+                    key="taskSituation5"
+                    prop="taskSituation5"
+                  >
+                  </el-table-column
+                  ><el-table-column
+                    label="鍏朵粬鎯呭喌涓嶅疁闅忚"
+                    align="center"
+                    width="100"
+                    key="taskSituation6"
+                    prop="taskSituation6"
+                  >
+                  </el-table-column>
+                </el-table-column>
+              </el-table>
+            </div>
 
             <!-- <pagination
               v-show="total > 0"
@@ -883,7 +899,7 @@
     return {
       topactiveName: "Local", //椤堕儴閫夋嫨
       activeName: "first", //渚ц竟閫夋嫨
-      orgname:'',
+      orgname: "",
       expands: [],
       // 閬僵灞�
       loading: false,
@@ -1003,7 +1019,6 @@
     this.getDeptTree();
     this.getList();
     this.orgname = localStorage.getItem("orgname");
-
   },
 
   methods: {
@@ -1064,6 +1079,162 @@
       } else {
         this.expands = [this.getRowKey(row)];
       }
+    },
+    getSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = "鍚堣";
+          return;
+        }
+         if (index === 1||index === 2) {
+          sums[index] = "/";
+          return;
+        }
+
+        // 瀵圭櫨鍒嗘瘮瀛楁鐗规畩澶勭悊 - 鍙栧钩鍧囧��
+        if (
+          column.property === "followUpRate" ||
+          column.property === "rate" ||
+          column.property === "followUpRateAgain"
+        ) {
+          // 鎻愬彇鎵�鏈夋湁鏁堢櫨鍒嗘瘮鍊煎苟杞崲涓哄皬鏁�
+          const percentageValues = data
+            .map((item) => {
+              const value = item[column.property];
+              if (!value || value === "-" || value === "0%") return null;
+
+              // 澶勭悊甯︾櫨鍒嗗彿鐨勬暟鎹�
+              if (typeof value === "string" && value.includes("%")) {
+                // 鍘婚櫎鐧惧垎鍙峰苟杞崲涓哄皬鏁�
+                const numValue = parseFloat(value.replace("%", "")) / 100;
+                return isNaN(numValue) ? null : numValue;
+              } else {
+                // 澶勭悊宸茬粡鏄皬鏁扮殑鏁版嵁
+                const numValue = parseFloat(value);
+                return isNaN(numValue) ? null : numValue;
+              }
+            })
+            .filter((value) => value !== null && value !== 0); // 杩囨护鎺塶ull鍜�0鍊�
+
+          if (percentageValues.length > 0) {
+            const average =
+              percentageValues.reduce((sum, value) => sum + value, 0) /
+              percentageValues.length;
+            sums[index] = (average * 100).toFixed(2) + "%";
+          } else {
+            sums[index] = "0.00%";
+          }
+        } else {
+          // 鏅�氭暟瀛楀瓧娈� - 姹傚拰
+          const values = data.map((item) => {
+            const value = item[column.property];
+            if (value === "-" || value === "" || value === null) return 0;
+            return Number(value) || 0;
+          });
+
+          if (!values.every((value) => isNaN(value))) {
+            sums[index] = values.reduce((prev, curr) => prev + curr, 0);
+            sums[index] = this.formatNumber(sums[index]);
+          } else {
+            sums[index] = "-";
+          }
+        }
+      });
+
+      return sums;
+    },
+
+    // 鍐呴儴琛ㄦ牸鍚堣琛岃绠楁柟娉�
+    getInnerSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = "灏忚";
+          return;
+        }
+
+        if (column.property === "drname" || column.property === "deptname") {
+          sums[index] = "-";
+          return;
+        }
+
+        // 瀵圭櫨鍒嗘瘮瀛楁鐗规畩澶勭悊 - 鍙栧钩鍧囧��
+        if (column.property === "followUpRate" || column.property === "rate") {
+          // 鎻愬彇鎵�鏈夋湁鏁堢櫨鍒嗘瘮鍊煎苟杞崲涓哄皬鏁�
+          const percentageValues = data
+            .map((item) => {
+              const value = item[column.property];
+              if (!value || value === "-" || value === "0%") return null;
+
+              // 澶勭悊甯︾櫨鍒嗗彿鐨勬暟鎹�
+              if (typeof value === "string" && value.includes("%")) {
+                // 鍘婚櫎鐧惧垎鍙峰苟杞崲涓哄皬鏁�
+                const numValue = parseFloat(value.replace("%", "")) / 100;
+                return isNaN(numValue) ? null : numValue;
+              } else {
+                // 澶勭悊宸茬粡鏄皬鏁扮殑鏁版嵁
+                const numValue = parseFloat(value);
+                return isNaN(numValue) ? null : numValue;
+              }
+            })
+            .filter((value) => value !== null && value !== 0);
+
+          if (percentageValues.length > 0) {
+            const average =
+              percentageValues.reduce((sum, value) => sum + value, 0) /
+              percentageValues.length;
+            sums[index] = (average * 100).toFixed(2) + "%";
+          } else {
+            sums[index] = "0.00%";
+          }
+        } else {
+          // 鏅�氭暟瀛楀瓧娈� - 姹傚拰
+          const values = data.map((item) => {
+            const value = item[column.property];
+            if (value === "-" || value === "" || value === null) return 0;
+            return Number(value) || 0;
+          });
+
+          if (!values.every((value) => isNaN(value))) {
+            sums[index] = values.reduce((prev, curr) => prev + curr, 0);
+            sums[index] = this.formatNumber(sums[index]);
+          } else {
+            sums[index] = "-";
+          }
+        }
+      });
+
+      return sums;
+    },
+
+    // 杈呭姪鏂规硶锛氭彁鍙栫櫨鍒嗘瘮鏁板��
+    extractPercentageValue(value) {
+      if (!value) return null;
+
+      if (typeof value === "string") {
+        // 澶勭悊甯︾櫨鍒嗗彿鐨勫瓧绗︿覆
+        if (value.includes("%")) {
+          const num = parseFloat(value.replace("%", ""));
+          return isNaN(num) ? null : num / 100;
+        }
+        // 澶勭悊绾暟瀛楀瓧绗︿覆
+        const num = parseFloat(value);
+        return isNaN(num) ? null : num;
+      }
+
+      // 澶勭悊鏁板瓧绫诲瀷
+      return typeof value === "number" ? value : null;
+    },
+
+    // 鏁板瓧鏍煎紡鍖栨柟娉�
+    formatNumber(num) {
+      if (isNaN(num)) return "-";
+      return Number.isInteger(num) ? num.toString() : num.toFixed(0);
     },
     /** 淇敼鏍囩 */
     handleUpdate(row) {
@@ -1325,298 +1496,302 @@
     },
 
     // 鍒濆鍖栭ゼ鍥�
-initPieChart() {
-  const echarts = require("echarts");
-  const pieDom = document.getElementById("pieChart");
-  if (!pieDom) return;
+    initPieChart() {
+      const echarts = require("echarts");
+      const pieDom = document.getElementById("pieChart");
+      if (!pieDom) return;
 
-  if (this.pieChart) {
-    this.pieChart.dispose();
-  }
-
-  this.pieChart = echarts.init(pieDom);
-
-  // 璁$畻楗煎浘鏁版嵁
-  const followUpData = {
-    pending: 0,
-    success: 0,
-    fail: 0,
-  };
-
-  this.userList.forEach((item) => {
-    followUpData.pending += item.pendingFollowUp || 0;
-    followUpData.success += item.followUpSuccess || 0;
-    followUpData.fail += item.followUpFail || 0;
-  });
-
-  // 浣跨敤鏇寸編瑙傜殑棰滆壊鏂规
-  const pieOption = {
-    title: {
-      text: "闅忚鐘舵�佸垎甯�",
-      left: "center",
-      textStyle: {
-        color: '#333',
-        fontSize: 16
+      if (this.pieChart) {
+        this.pieChart.dispose();
       }
-    },
-    tooltip: {
-      trigger: "item",
-      formatter: "{a} <br/>{b}: {c} ({d}%)",
-    },
-    legend: {
-      orient: "vertical",
-      left: "left",
-      data: ["寰呴殢璁�", "闅忚鎴愬姛", "闅忚澶辫触"],
-      textStyle: {
-        color: '#666'
-      }
-    },
-    color: ['#FF9D4D', '#36B37E', '#FF5C5C'], // 鏂扮殑閰嶈壊鏂规
-    series: [
-      {
-        name: "闅忚鐘舵��",
-        type: "pie",
-        radius: ["40%", "70%"],
-        avoidLabelOverlap: true,
-        itemStyle: {
-          borderRadius: 10,
-          borderColor: "#fff",
-          borderWidth: 2
-        },
-        label: {
-          show: true,
-          formatter: "{b}: {c} ({d}%)",
-          color: '#333'
-        },
-        emphasis: {
-          label: {
-            show: true,
-            fontSize: "18",
-            fontWeight: "bold"
+
+      this.pieChart = echarts.init(pieDom);
+
+      // 璁$畻楗煎浘鏁版嵁
+      const followUpData = {
+        pending: 0,
+        success: 0,
+        fail: 0,
+      };
+
+      this.userList.forEach((item) => {
+        followUpData.pending += item.pendingFollowUp || 0;
+        followUpData.success += item.followUpSuccess || 0;
+        followUpData.fail += item.followUpFail || 0;
+      });
+
+      // 浣跨敤鏇寸編瑙傜殑棰滆壊鏂规
+      const pieOption = {
+        title: {
+          text: "闅忚鐘舵�佸垎甯�",
+          left: "center",
+          textStyle: {
+            color: "#333",
+            fontSize: 16,
           },
-          itemStyle: {
-            shadowBlur: 10,
-            shadowOffsetX: 0,
-            shadowColor: 'rgba(0, 0, 0, 0.5)'
-          }
         },
-        data: [
-          {
-            value: followUpData.pending,
-            name: "寰呴殢璁�"
+        tooltip: {
+          trigger: "item",
+          formatter: "{a} <br/>{b}: {c} ({d}%)",
+        },
+        legend: {
+          orient: "vertical",
+          left: "left",
+          data: ["寰呴殢璁�", "闅忚鎴愬姛", "闅忚澶辫触"],
+          textStyle: {
+            color: "#666",
           },
+        },
+        color: ["#FF9D4D", "#36B37E", "#FF5C5C"], // 鏂扮殑閰嶈壊鏂规
+        series: [
           {
-            value: followUpData.success,
-            name: "闅忚鎴愬姛"
-          },
-          {
-            value: followUpData.fail,
-            name: "闅忚澶辫触"
-          }
-        ]
-      }
-    ]
-  };
-
-  this.pieChart.setOption(pieOption);
-  window.addEventListener("resize", this.resizePieChart);
-},
-
-// 鍒濆鍖栨煴鐘舵姌绾垮浘
-initBarLineChart() {
-  const echarts = require("echarts");
-  const barDom = document.getElementById("barLineChart");
-  if (!barDom) return;
-
-  if (this.barLineChart) {
-    this.barLineChart.dispose();
-  }
-
-  this.barLineChart = echarts.init(barDom);
-
-  // 鍑嗗鏁版嵁
-  const categories = this.userList.map(
-    (item) => item.leavehospitaldistrictname || item.deptname
-  );
-
-  const dischargeData = this.userList.map(
-    (item) => item.dischargeCount || 0
-  );
-  const followUpData = this.userList.map(
-    (item) => item.followUpNeeded || 0
-  );
-
-  // 鏂板涓ゆ潯鎶樼嚎鏁版嵁
- const followUpRateData = this.userList.map(item => {
-    if (!item.followUpRate) return 0;
-    // 鍘绘帀鐧惧垎鍙峰苟杞负鏁板瓧
-    const rateStr = String(item.followUpRate).replace('%', '');
-    return parseFloat(rateStr) || 0;
-  });
-
-  const timelyRateData = this.userList.map(item =>
-    item.rate ? (Number(item.rate) * 100).toFixed(2) : 0
-  );
-
-  const option = {
-    title: {
-      text: "绉戝/鐥呭尯闅忚瓒嬪娍",
-      left: "center",
-      textStyle: {
-        color: '#333',
-        fontSize: 16
-      }
-    },
-    tooltip: {
-      trigger: "axis",
-      axisPointer: {
-        type: "cross",
-        crossStyle: {
-          color: "#999",
-        },
-      },
-    },
-    legend: {
-      data: ["鍑洪櫌浜烘", "搴旈殢璁夸汉娆�", "闅忚鐜�(%)", "鍙婃椂鐜�(%)"],
-      top: "bottom",
-      textStyle: {
-        color: '#666'
-      }
-    },
-    color: ['#5470C6', '#91CC75', '#EE6666', '#9A60B4'], // 鏂板绱壊鐢ㄤ簬鍙婃椂鐜�
-    xAxis: {
-      type: "category",
-      data: categories,
-      axisLabel: {
-        interval: 0,
-        rotate: 30,
-        color: '#666'
-      },
-      axisLine: {
-        lineStyle: {
-          color: '#ddd'
-        }
-      }
-    },
-    yAxis: [
-      {
-        type: "value",
-        name: "浜烘",
-        min: 0,
-        axisLabel: {
-          color: '#666'
-        },
-        axisLine: {
-          lineStyle: {
-            color: '#ddd'
-          }
-        },
-        splitLine: {
-          lineStyle: {
-            color: '#f0f0f0'
-          }
-        }
-      },
-      {
-        type: "value",
-        name: "鐧惧垎姣�(%)",
-        min: 0,
-        max: 100,
-        axisLabel: {
-          color: '#666',
-          formatter: '{value}%'
-        },
-        axisLine: {
-          lineStyle: {
-            color: '#ddd'
-          }
-        },
-        splitLine: {
-          show: false
-        }
-      }
-    ],
-    series: [
-      {
-        name: "鍑洪櫌浜烘",
-        type: "bar",
-        barWidth: "25%",
-        data: dischargeData,
-        itemStyle: {
-          borderRadius: [4, 4, 0, 0]
-        }
-      },
-      {
-        name: "搴旈殢璁夸汉娆�",
-        type: "bar",
-        barWidth: "25%",
-        data: followUpData,
-        itemStyle: {
-          borderRadius: [4, 4, 0, 0]
-        }
-      },
-      {
-        name: "闅忚鐜�(%)",
-        type: "line",
-        yAxisIndex: 1,
-        data: followUpRateData,
-        symbolSize: 8,
-        lineStyle: {
-          width: 3
-        },
-        markLine: {
-          silent: true,
-          data: [{
-            yAxis: 80,
-            lineStyle: {
-              color: '#EE6666',
-              type: 'dashed'
+            name: "闅忚鐘舵��",
+            type: "pie",
+            radius: ["40%", "70%"],
+            avoidLabelOverlap: true,
+            itemStyle: {
+              borderRadius: 10,
+              borderColor: "#fff",
+              borderWidth: 2,
             },
-            // label: {
-            //   position: 'end',
-            //   formatter: '鐩爣80%'
-            // }
-          }]
-        }
-      },
-      {
-        name: "鍙婃椂鐜�(%)",
-        type: "line",
-        yAxisIndex: 1,
-        data: timelyRateData,
-        symbolSize: 8,
-        lineStyle: {
-          width: 3,
-          type: 'dotted' // 浣跨敤铏氱嚎鍖哄垎
-        },
-        markLine: {
-          silent: true,
-          data: [{
-            yAxis: 90,
-            lineStyle: {
-              color: '#9A60B4',
-              type: 'dashed'
+            label: {
+              show: true,
+              formatter: "{b}: {c} ({d}%)",
+              color: "#333",
             },
-            // label: {
-            //   position: 'end',
-            //   formatter: '鐩爣90%'
-            // }
-          }]
-        }
-      }
-    ],
-    grid: {
-      top: '15%',
-      left: '3%',
-      right: '4%',
-      bottom: '15%',
-      containLabel: true
-    }
-  };
+            emphasis: {
+              label: {
+                show: true,
+                fontSize: "18",
+                fontWeight: "bold",
+              },
+              itemStyle: {
+                shadowBlur: 10,
+                shadowOffsetX: 0,
+                shadowColor: "rgba(0, 0, 0, 0.5)",
+              },
+            },
+            data: [
+              {
+                value: followUpData.pending,
+                name: "寰呴殢璁�",
+              },
+              {
+                value: followUpData.success,
+                name: "闅忚鎴愬姛",
+              },
+              {
+                value: followUpData.fail,
+                name: "闅忚澶辫触",
+              },
+            ],
+          },
+        ],
+      };
 
-  this.barLineChart.setOption(option);
-  window.addEventListener("resize", this.resizeBarLineChart);
-},
+      this.pieChart.setOption(pieOption);
+      window.addEventListener("resize", this.resizePieChart);
+    },
+
+    // 鍒濆鍖栨煴鐘舵姌绾垮浘
+    initBarLineChart() {
+      const echarts = require("echarts");
+      const barDom = document.getElementById("barLineChart");
+      if (!barDom) return;
+
+      if (this.barLineChart) {
+        this.barLineChart.dispose();
+      }
+
+      this.barLineChart = echarts.init(barDom);
+
+      // 鍑嗗鏁版嵁
+      const categories = this.userList.map(
+        (item) => item.leavehospitaldistrictname || item.deptname
+      );
+
+      const dischargeData = this.userList.map(
+        (item) => item.dischargeCount || 0
+      );
+      const followUpData = this.userList.map(
+        (item) => item.followUpNeeded || 0
+      );
+
+      // 鏂板涓ゆ潯鎶樼嚎鏁版嵁
+      const followUpRateData = this.userList.map((item) => {
+        if (!item.followUpRate) return 0;
+        // 鍘绘帀鐧惧垎鍙峰苟杞负鏁板瓧
+        const rateStr = String(item.followUpRate).replace("%", "");
+        return parseFloat(rateStr) || 0;
+      });
+
+      const timelyRateData = this.userList.map((item) =>
+        item.rate ? (Number(item.rate) * 100).toFixed(2) : 0
+      );
+
+      const option = {
+        title: {
+          text: "绉戝/鐥呭尯闅忚瓒嬪娍",
+          left: "center",
+          textStyle: {
+            color: "#333",
+            fontSize: 16,
+          },
+        },
+        tooltip: {
+          trigger: "axis",
+          axisPointer: {
+            type: "cross",
+            crossStyle: {
+              color: "#999",
+            },
+          },
+        },
+        legend: {
+          data: ["鍑洪櫌浜烘", "搴旈殢璁夸汉娆�", "闅忚鐜�(%)", "鍙婃椂鐜�(%)"],
+          top: "bottom",
+          textStyle: {
+            color: "#666",
+          },
+        },
+        color: ["#5470C6", "#91CC75", "#EE6666", "#9A60B4"], // 鏂板绱壊鐢ㄤ簬鍙婃椂鐜�
+        xAxis: {
+          type: "category",
+          data: categories,
+          axisLabel: {
+            interval: 0,
+            rotate: 30,
+            color: "#666",
+          },
+          axisLine: {
+            lineStyle: {
+              color: "#ddd",
+            },
+          },
+        },
+        yAxis: [
+          {
+            type: "value",
+            name: "浜烘",
+            min: 0,
+            axisLabel: {
+              color: "#666",
+            },
+            axisLine: {
+              lineStyle: {
+                color: "#ddd",
+              },
+            },
+            splitLine: {
+              lineStyle: {
+                color: "#f0f0f0",
+              },
+            },
+          },
+          {
+            type: "value",
+            name: "鐧惧垎姣�(%)",
+            min: 0,
+            max: 100,
+            axisLabel: {
+              color: "#666",
+              formatter: "{value}%",
+            },
+            axisLine: {
+              lineStyle: {
+                color: "#ddd",
+              },
+            },
+            splitLine: {
+              show: false,
+            },
+          },
+        ],
+        series: [
+          {
+            name: "鍑洪櫌浜烘",
+            type: "bar",
+            barWidth: "25%",
+            data: dischargeData,
+            itemStyle: {
+              borderRadius: [4, 4, 0, 0],
+            },
+          },
+          {
+            name: "搴旈殢璁夸汉娆�",
+            type: "bar",
+            barWidth: "25%",
+            data: followUpData,
+            itemStyle: {
+              borderRadius: [4, 4, 0, 0],
+            },
+          },
+          {
+            name: "闅忚鐜�(%)",
+            type: "line",
+            yAxisIndex: 1,
+            data: followUpRateData,
+            symbolSize: 8,
+            lineStyle: {
+              width: 3,
+            },
+            markLine: {
+              silent: true,
+              data: [
+                {
+                  yAxis: 80,
+                  lineStyle: {
+                    color: "#EE6666",
+                    type: "dashed",
+                  },
+                  // label: {
+                  //   position: 'end',
+                  //   formatter: '鐩爣80%'
+                  // }
+                },
+              ],
+            },
+          },
+          {
+            name: "鍙婃椂鐜�(%)",
+            type: "line",
+            yAxisIndex: 1,
+            data: timelyRateData,
+            symbolSize: 8,
+            lineStyle: {
+              width: 3,
+              type: "dotted", // 浣跨敤铏氱嚎鍖哄垎
+            },
+            markLine: {
+              silent: true,
+              data: [
+                {
+                  yAxis: 90,
+                  lineStyle: {
+                    color: "#9A60B4",
+                    type: "dashed",
+                  },
+                  // label: {
+                  //   position: 'end',
+                  //   formatter: '鐩爣90%'
+                  // }
+                },
+              ],
+            },
+          },
+        ],
+        grid: {
+          top: "15%",
+          left: "3%",
+          right: "4%",
+          bottom: "15%",
+          containLabel: true,
+        },
+      };
+
+      this.barLineChart.setOption(option);
+      window.addEventListener("resize", this.resizeBarLineChart);
+    },
 
     // 鍥捐〃鍝嶅簲寮忚皟鏁存柟娉�
     resizePieChart() {
@@ -1727,6 +1902,41 @@
   text-align: left;
   font-size: 20px;
 }
+// 缇庡寲鍚堣琛屾牱寮�
+::v-deep .el-table__footer {
+  .el-table__cell {
+    background-color: #f5f7fa;
+    font-weight: 600;
+    color: #409eff;
+
+    .cell {
+      font-weight: 600;
+      color: #409eff;
+    }
+  }
+}
+
+// 鍐呴儴琛ㄦ牸鍚堣琛屾牱寮�
+::v-deep .inner-table .el-table__footer {
+  .el-table__cell {
+    background-color: #ecf5ff;
+    font-weight: 500;
+    color: #67c23a;
+
+    .cell {
+      font-weight: 500;
+      color: #67c23a;
+    }
+  }
+}
+
+// 鐧惧垎姣斿瓧娈电壒娈婃牱寮�
+.your-table-container ::v-deep .el-table__footer .el-table__cell[data-field="followUpRate"] .cell,
+.your-table-container ::v-deep .el-table__footer .el-table__cell[data-field="rate"] .cell,
+.your-table-container ::v-deep .el-table__footer .el-table__cell[data-field="followUpRateAgain"] .cell {
+  color: #e6a23c !important;
+  font-weight: 700 !important;
+}
 
 .leftvlue {
   //   display: flex;

--
Gitblit v1.9.3