From dc25530df52560a985a2e1dd681327330fd38ae8 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期五, 05 九月 2025 16:37:16 +0800
Subject: [PATCH] 测试完成

---
 src/views/sfstatistics/percentage/index.vue |  164 +++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 124 insertions(+), 40 deletions(-)

diff --git a/src/views/sfstatistics/percentage/index.vue b/src/views/sfstatistics/percentage/index.vue
index 1b061e9..bb119e0 100644
--- a/src/views/sfstatistics/percentage/index.vue
+++ b/src/views/sfstatistics/percentage/index.vue
@@ -27,34 +27,35 @@
                   </el-option>
                 </el-select>
                 <el-select
+                  style="margin-left: 10px"
                   v-if="queryParams.statisticaltype == 1"
-                  v-model="queryParams.leavehospitaldistrictcode"
+                  v-model="queryParams.leavehospitaldistrictcodes"
                   size="medium"
                   multiple
                   filterable
                   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.deptCode"
+                  v-model="queryParams.deptcodes"
                   size="medium"
                   multiple
                   filterable
                   placeholder="璇烽�夋嫨绉戝"
                 >
                   <el-option
-                    v-for="item in flatArray"
-                    :key="item.deptCode"
+                    v-for="item in flatArraydept"
+                    :key="item.value"
                     :label="item.label"
-                    :value="item.deptCode"
+                    :value="item.value"
                   >
                   </el-option>
                 </el-select>
@@ -82,6 +83,7 @@
               >
                 <el-date-picker
                   v-model="queryParams.dateRange"
+                  value-format="yyyy-MM-dd"
                   type="daterange"
                   range-separator="鑷�"
                   start-placeholder="寮�濮嬫棩鏈�"
@@ -105,18 +107,14 @@
                   >閲嶇疆</el-button
                 >
               </el-form-item>
-            </el-form>
-
-            <el-row :gutter="10" class="mb8">
-              <el-col :span="1.5">
+              <el-col :span="19">
                 <el-button
-                  type="primary"
+                  type="warning"
                   plain
-                  icon="el-icon-plus"
+                  icon="el-icon-download"
                   size="medium"
-                  @click="addladeltag"
-                  v-hasPermi="['system:user:add']"
-                  >鏂板</el-button
+                  @click="handleExport"
+                  >瀵煎嚭</el-button
                 >
                 <el-button
                   type="primary"
@@ -127,8 +125,7 @@
                   >缁熻瓒嬪娍鍥�</el-button
                 >
               </el-col>
-            </el-row>
-
+            </el-form>
             <el-table
               v-loading="loading"
               :data="userList"
@@ -346,8 +343,17 @@
               <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
@@ -417,6 +423,24 @@
                       }}%</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="浜哄伐"
@@ -774,17 +798,11 @@
 import {
   toamendtag,
   addapitag,
-  detailstag,
   deletetag,
   changetagcategory,
-  toamendtagcategory,
-  addtagcategory,
-  deletetagcategory,
-  listtag,
-  tagclassifylist,
 } from "@/api/system/label";
-import { getSfStatistics, deptTreeSelect } from "@/api/system/user";
 import store from "@/store";
+import { getSfStatistics, selectTimelyRate } from "@/api/system/user";
 
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -813,7 +831,7 @@
   },
 ];
 export default {
-  name: "questionnaire",
+  name: "Percentage",
   dicts: ["sys_normal_disable", "sys_user_sex"],
   components: { Treeselect },
   data() {
@@ -838,9 +856,10 @@
       idds: "", //鍒嗙被id
       // 鎬绘潯鏁�
       total: 0,
-      flatArray: [],
-      deptflatArray: [],
-
+      flatArrayhospit: [],
+      flatArraydept: [],
+      patienttotal: 0,
+      logsheetlist: [],
       Statisticallist: [
         {
           label: "鐥呭尯缁熻",
@@ -851,6 +870,10 @@
           value: 2,
         },
       ],
+      patientqueryParams: {
+        pn: 1,
+        ps: 10,
+      },
       amendtag: false, //鏄惁淇敼绫诲埆
       lstamendtag: false, //鏄惁淇敼鏍囩
       scavisible: false, //鍒犻櫎寮规
@@ -878,6 +901,10 @@
       postOptions: [],
       // 瑙掕壊閫夐」
       roleOptions: [],
+      // 瀛樺偍鎵�鏈夌瀹や唬鐮�
+      allDeptCodes: [],
+      // 瀛樺偍鎵�鏈夌梾鍖轰唬鐮�
+      allWardCodes: [],
       // 琛ㄥ崟鍙傛暟
       form: {},
       forms: {
@@ -889,7 +916,7 @@
       goQRCodeVisible: false, //浜岀淮鐮佸脊妗�
       sidecolumnval: "", //绫诲埆鎼滅储
       propss: { multiple: true },
-
+      SeedetailsVisible: false,
       options: [
         {
           value: 1,
@@ -971,14 +998,30 @@
   },
   watch: {},
   created() {
-    this.getList();
     this.getDeptTree();
+    this.getList();
   },
 
   methods: {
     /** 鏌ヨ鏍囩鍒楄〃 */
     getList() {
-      getSfStatistics(this.queryParams).then((response) => {
+      // 澶勭悊鏌ヨ鍙傛暟
+      const params = {
+        ...this.queryParams,
+        // 濡傛灉閫夋嫨浜�"鍏ㄩ儴"锛屽垯浼犳墍鏈夌梾鍖�/绉戝浠g爜
+        leavehospitaldistrictcodes:
+          this.queryParams.leavehospitaldistrictcodes.includes("all")
+            ? this.allWardCodes
+            : this.queryParams.leavehospitaldistrictcodes,
+        deptcodes: this.queryParams.deptcodes.includes("all")
+          ? this.allDeptCodes
+          : this.queryParams.deptcodes,
+      };
+
+      // 绉婚櫎鍙兘瀛樺湪鐨�"all"鍊�
+      delete params.leavehospitaldistrictcodes.all;
+      delete params.deptcodes.all;
+      getSfStatistics(params).then((response) => {
         console.log(response);
         // this.total = response.total;
         this.userList = response.data;
@@ -1034,12 +1077,11 @@
     // 鑾峰彇绉戝鏍�
     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.allDeptCodes = store.getters.belongDepts.map(
@@ -1090,6 +1132,41 @@
         tagdescription: "",
         tagid: "",
       };
+    },
+    Seedetails(row) {
+      this.SeedetailsVisible = true;
+      this.Seedloading = true;
+      this.patientqueryParams.starttime = this.parseTime(
+        this.queryParams.dateRange[0]
+      );
+      this.patientqueryParams.endtime = this.parseTime(
+        this.queryParams.dateRange[1]
+      );
+      this.patientqueryParams.deptcode = row.deptcode;
+      selectTimelyRate(this.patientqueryParams).then((response) => {
+        this.logsheetlist = response.data.detail;
+        this.patienttotal = response.data.total;
+        this.Seedloading = false;
+      });
+    },
+    SeedetailsgGo(row) {
+      this.SeedetailsVisible = false;
+      let type = "";
+      if (row.preachformson && row.preachformson.includes("3")) {
+        type = 1;
+      }
+      setTimeout(() => {
+        this.$router.push({
+          path: "/followvisit/record/detailpage/",
+          query: {
+            taskid: row.taskid,
+            patid: row.patid,
+            id: row.id,
+            Voicetype: type,
+            // visitCount: this.topqueryParams.visitCount,
+          },
+        });
+      }, 300);
     },
     // 娣诲姞/淇敼鏍囩
     Maintenancetag() {
@@ -1160,7 +1237,14 @@
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.queryParams.pageNum = 1;
-      console.log();
+      if (!this.queryParams.dateRange) this.queryParams.dateRange = [];
+      if (this.queryParams.statisticaltype == 1) {
+        this.queryParams.deptcodes = [];
+      } else if (this.queryParams.statisticaltype == 2) {
+        this.queryParams.leavehospitaldistrictcodes = [];
+      }
+      console.log(this.queryParams.dateRange);
+
       this.queryParams.startTime = this.parseTime(
         this.queryParams.dateRange[0]
       );

--
Gitblit v1.9.3