From 25b6d3d875c1c24f70de8a06f8098b301a2790d5 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 15 九月 2025 17:40:18 +0800
Subject: [PATCH] 关键字更新

---
 src/views/sfstatistics/percentage/index.vue |  650 +++++++++++++++++++++++++++-------------------------------
 1 files changed, 305 insertions(+), 345 deletions(-)

diff --git a/src/views/sfstatistics/percentage/index.vue b/src/views/sfstatistics/percentage/index.vue
index bb119e0..4e0c96d 100644
--- a/src/views/sfstatistics/percentage/index.vue
+++ b/src/views/sfstatistics/percentage/index.vue
@@ -49,7 +49,7 @@
                   size="medium"
                   multiple
                   filterable
-                  placeholder="璇烽�夋嫨绉戝"
+                  placeholder="璇烽�夋嫨璇鹃缁�"
                 >
                   <el-option
                     v-for="item in flatArraydept"
@@ -151,7 +151,7 @@
                       align="center"
                     />
                     <el-table-column
-                      label="绉戝"
+                      label="璇鹃缁�"
                       width="120"
                       prop="deptname"
                       align="center"
@@ -185,9 +185,9 @@
                       prop="followUpNeeded"
                     >
                     </el-table-column>
-                    <el-table-column align="center" label="棣栨鍑洪櫌闅忚">
+                    <el-table-column align="center" label="棣栨璇鹃闅忚">
                       <el-table-column
-                        label="搴旈殢璁�"
+                        label="闇�闅忚"
                         align="center"
                         key="needFollowUp"
                         prop="needFollowUp"
@@ -273,7 +273,7 @@
                     </el-table-column>
                     <el-table-column align="center" label="鍐嶆鍑洪櫌闅忚">
                       <el-table-column
-                        label="搴旈殢璁�"
+                        label="闇�闅忚"
                         align="center"
                         key="needFollowUpAgain"
                         prop="needFollowUpAgain"
@@ -341,7 +341,7 @@
                 </template>
               </el-table-column>
               <el-table-column
-                label="鍑洪櫌鐥呭尯"
+                label="鐥呭尯"
                 align="center"
                 sortable
                 key="leavehospitaldistrictname"
@@ -350,7 +350,7 @@
                 :show-overflow-tooltip="true"
               />
               <el-table-column
-                label="绉戝"
+                label="璇鹃缁�"
                 align="center"
                 key="deptname"
                 prop="deptname"
@@ -382,7 +382,7 @@
               </el-table-column>
               <el-table-column align="center" label="棣栨鍑洪櫌闅忚">
                 <el-table-column
-                  label="搴旈殢璁�"
+                  label="闇�闅忚"
                   align="center"
                   key="needFollowUp"
                   prop="needFollowUp"
@@ -466,7 +466,7 @@
               </el-table-column>
               <el-table-column align="center" label="鍐嶆鍑洪櫌闅忚">
                 <el-table-column
-                  label="搴旈殢璁�"
+                  label="闇�闅忚"
                   align="center"
                   key="needFollowUpAgain"
                   prop="needFollowUpAgain"
@@ -866,7 +866,7 @@
           value: 1,
         },
         {
-          label: "绉戝缁熻",
+          label: "璇鹃缁勭粺璁�",
           value: 2,
         },
       ],
@@ -901,7 +901,7 @@
       postOptions: [],
       // 瑙掕壊閫夐」
       roleOptions: [],
-      // 瀛樺偍鎵�鏈夌瀹や唬鐮�
+      // 瀛樺偍鎵�鏈夎棰樼粍浠g爜
       allDeptCodes: [],
       // 瀛樺偍鎵�鏈夌梾鍖轰唬鐮�
       allWardCodes: [],
@@ -917,51 +917,7 @@
       sidecolumnval: "", //绫诲埆鎼滅储
       propss: { multiple: true },
       SeedetailsVisible: false,
-      options: [
-        {
-          value: 1,
-          label: "鐩戞祴璇勪及",
-        },
-        {
-          value: 2,
-          label: "鍑洪櫌闅忚",
-        },
-        {
-          value: 3,
-          label: "闂ㄨ瘖闅忚",
-        },
-        {
-          value: 4,
-          label: "瀹f暀鍏虫��",
-        },
-        {
-          value: 5,
-          label: "澶嶈瘖绠$悊",
-        },
-
-        {
-          value: 7,
-          label: "鎮h�呮姤鍛�",
-        },
-
-        {
-          value: 9,
-          label: "浣撴闅忚",
-        },
-
-        {
-          value: 11,
-          label: "褰卞儚闅忚",
-        },
-        {
-          value: 12,
-          label: "蹇冪數闅忚",
-        },
-        {
-          value: 13,
-          label: "涓撶梾闅忚",
-        },
-      ],
+      options: store.getters.tasktypes,
       pickerOptions: {
         disabledDate(time) {
           return time.getTime() < Date.now() - 3600 * 1000 * 24;
@@ -982,7 +938,7 @@
         dateRange: [],
         statisticaltype: 1,
         leavehospitaldistrictcodes: ["all"], // 榛樿閫変腑鍏ㄩ儴鐥呭尯
-        deptcodes: [], // 榛樿閫変腑鍏ㄩ儴绉戝
+        deptcodes: [], // 榛樿閫変腑鍏ㄩ儴璇鹃缁�
       },
       // 鍒椾俊鎭�
       columns: [
@@ -1008,7 +964,7 @@
       // 澶勭悊鏌ヨ鍙傛暟
       const params = {
         ...this.queryParams,
-        // 濡傛灉閫夋嫨浜�"鍏ㄩ儴"锛屽垯浼犳墍鏈夌梾鍖�/绉戝浠g爜
+        // 濡傛灉閫夋嫨浜�"鍏ㄩ儴"锛屽垯浼犳墍鏈夌梾鍖�/璇鹃缁勪唬鐮�
         leavehospitaldistrictcodes:
           this.queryParams.leavehospitaldistrictcodes.includes("all")
             ? this.allWardCodes
@@ -1045,7 +1001,7 @@
       // 澶勭悊鏌ヨ鍙傛暟
       const params = {
         ...this.queryParams,
-        // 濡傛灉閫夋嫨浜�"鍏ㄩ儴"锛屽垯浼犳墍鏈夌梾鍖�/绉戝浠g爜
+        // 濡傛灉閫夋嫨浜�"鍏ㄩ儴"锛屽垯浼犳墍鏈夌梾鍖�/璇鹃缁勪唬鐮�
         leavehospitaldistrictcodes: [row.leavehospitaldistrictcode],
         drcode: "1",
       };
@@ -1074,16 +1030,16 @@
         tagid: row.tagid,
       };
     },
-    // 鑾峰彇绉戝鏍�
+    // 鑾峰彇璇鹃缁勬爲
     getDeptTree() {
-      // 绉戝鍒楄〃
+      // 璇鹃缁勫垪琛�
       this.flatArraydept = store.getters.belongDepts.map((dept) => {
         return {
           label: dept.deptName,
           value: dept.deptCode,
         };
       });
-      // 瀛樺偍鎵�鏈夌瀹や唬鐮�
+      // 瀛樺偍鎵�鏈夎棰樼粍浠g爜
       this.allDeptCodes = store.getters.belongDepts.map(
         (dept) => dept.deptCode
       );
@@ -1321,298 +1277,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() {

--
Gitblit v1.9.3