From 8022f7036945b75f82f2dfc43055623f81ed98f6 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期五, 23 五月 2025 22:42:56 +0800
Subject: [PATCH] yxh

---
 src/views/project/statistics/performanceStaristics/index.vue |  213 +++++++++++++++++++++++++++++------------------------
 1 files changed, 116 insertions(+), 97 deletions(-)

diff --git a/src/views/project/statistics/performanceStaristics/index.vue b/src/views/project/statistics/performanceStaristics/index.vue
index d5ce8e4..715eb80 100644
--- a/src/views/project/statistics/performanceStaristics/index.vue
+++ b/src/views/project/statistics/performanceStaristics/index.vue
@@ -1,7 +1,6 @@
 <!--  -->
 <template>
   <div class="app-container">
-    缁╂晥
     <el-form
       :model="queryParams"
       ref="queryForm"
@@ -10,9 +9,9 @@
     >
       <el-row :gutter="8">
         <el-col :span="6">
-          <el-form-item label="涓氬姟浜哄憳" prop="name">
+          <el-form-item label="涓氬姟浜哄憳" prop="pauserno">
             <el-input
-              v-model="queryParams.name"
+              v-model="queryParams.pausername"
               placeholder="璇疯緭鍏ュ鍚�"
               clearable
               size="small"
@@ -21,25 +20,30 @@
           </el-form-item>
         </el-col>
         <el-col :span="6">
-          <el-form-item align="left" label="涓氬姟缁�" prop="treatmenthospitalno">
-            <org-selecter
-              ref="orgSelecter"
-              :org-type="'3'"
-              v-model="queryParams.treatmenthospitalno"
-            />
+          <el-form-item align="left" label="涓氬姟缁�" prop="padeptno">
+            <el-select
+              v-model="queryParams.padeptno"
+              placeholder="璇烽�夋嫨妗堜緥鐘舵��"
+            >
+              <el-option
+                v-for="item in deptList"
+                :label="item.deptName"
+                :value="item.deptId"
+              >
+              </el-option>
+            </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="6">
-          <el-form-item label="妗堜緥鐘舵��">
+          <el-form-item label="缁╂晥绫诲瀷">
             <el-select
-              v-model="queryParams.reporterno"
+              v-model="queryParams.pabonustype"
               placeholder="璇烽�夋嫨妗堜緥鐘舵��"
             >
               <el-option
                 v-for="item in reportlist"
-                :key="item.index"
-                :label="item.reportername"
-                :value="item.reporterno"
+                :label="item.label"
+                :value="item.value"
               >
               </el-option>
             </el-select>
@@ -81,21 +85,26 @@
     </el-form>
 
     <!--<el-table v-loading="loading" border :data="donatebaseinfoList">     -->
-    <el-table v-loading="loading" border :data="jxidata">
+    <el-table
+      v-loading="loading"
+      :data="jxidata"
+      ref="table"
+      border
+      max-height="700"
+      highlight-current-row
+      :summary-method="getSummaries"
+      show-summary
+    >
       <el-table-column label="搴忓彿" align="center" prop="id" width="100">
       </el-table-column>
 
-      <el-table-column label="缁熻鏈堜唤" align="center" prop="name" />
+      <el-table-column label="缁熻鏈堜唤" align="center" prop="bonusmonth" />
 
-      <el-table-column label="涓氬姟缁�" align="center" prop="name">
+      <el-table-column label="涓氬姟缁�" align="center" prop="deptName">
       </el-table-column>
-      <el-table-column label="涓撹亴浜哄憳" align="center" prop="age" />
+      <el-table-column label="涓撹亴浜哄憳" align="center" prop="beneficiaryname" />
 
-      <el-table-column
-        label="妗堜緥鏁伴噺"
-        align="center"
-        prop="treatmenthospitalname"
-      />
+      <el-table-column label="閲戦" align="center" prop="amount" />
 
       <el-table-column
         label="鎿嶄綔"
@@ -106,24 +115,18 @@
         <template slot-scope="scope">
           <!--           v-if="scope.row.recordstate==2"
  -->
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleAdd(scope.row)"
-            >鍖诲璇勪及</el-button
+          <el-button size="mini" type="text" icon="el-icon-edit"
+            >鏄庣粏</el-button
           >
         </template>
       </el-table-column>
     </el-table>
+    <div style="margin: 10px;text-align: right;">
+      <div>
+        鍏� <span style="color:#1890FF ;">{{ total }}</span> 鏉℃暟鎹�
+      </div>
+    </div>
 
-    <pagination
-      v-show="total > 0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
 
     <!-- 娣诲姞鎴栦慨鏀瑰灞炵‘璁ゅ璇濇 -->
   </div>
@@ -132,13 +135,6 @@
 <script>
 //杩欓噷鍙互瀵煎叆鍏朵粬鏂囦欢锛堟瘮濡傦細缁勪欢锛屽伐鍏穓s锛岀涓夋柟鎻掍欢js锛宩son鏂囦欢锛屽浘鐗囨枃浠剁瓑绛夛級
 //渚嬪锛歩mport 銆婄粍浠跺悕绉般�� from '銆婄粍浠惰矾寰勩��';
-
-import {
-  listDonatebaseinfo,
-  getDonatebaseinfo,
-  addDonatebaseinfo,
-  updateDonatebaseinfo
-} from "@/api/project/donatebaseinfo";
 
 import {
   listsfeistatistics,
@@ -152,6 +148,8 @@
 import Li_area_select from "@/components/Address";
 import OrgSelecter from "@/views/project/components/orgselect";
 import AnnexUpload from "@/views/project/components/annexupload";
+import { listDept } from "@/api/system/dept";
+
 
 export default {
   //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
@@ -172,7 +170,11 @@
 
       selecttime: "",
       reportervalue: "",
-      reportlist: [],
+      reportlist: [
+        { label: "鏈堝害", value: 1 },
+        { label: "瀛e害", value: 2 },
+        { label: "骞村害", value: 3 }
+      ],
       //鐪佸競鍖�
       //榛樿鍊艰缃紝鍙负绌�
       searchAddress: {
@@ -210,6 +212,7 @@
         shi: "",
         qu: ""
       },
+      deptList:[],
       // 閬僵灞�
       loading: false,
       // 瀵煎嚭閬僵灞�
@@ -236,11 +239,13 @@
       daterangeReporttime: [],
       // 鏌ヨ鍙傛暟
       queryParams: {
-        pabonustype: null,
-        pageNum: 1,
-        pageSize: 10
+        pabonustype:'',
+        pabegtime: null,
+        paendtime: null,
+        pauserno: null,
+        padeptno: null,
       },
- 
+
       // 琛ㄥ崟鍙傛暟
       form: {},
       // 琛ㄥ崟鏍¢獙
@@ -269,14 +274,14 @@
   methods: {
     getTimeList(e) {
       if (this.selecttime != 0) {
-        this.endtime = this.selecttime[1];
-        this.starttime = this.selecttime[0];
-        // if (this.endtime == this.starttime) {
-        let num = Number(this.endtime.slice(5, 7));
+        this.queryParams.pabegtime = this.selecttime[0];
+        this.queryParams.paendtime = this.selecttime[1];
+        // if (this.queryParams.paendtime == this.queryParams.pabegtime) {
+        let num = Number(this.queryParams.paendtime.slice(5, 7));
         if (num < 9) {
-          let mon = Number(this.endtime.slice(6, 7));
-          this.endtime =
-            this.endtime.slice(0, 5) +
+          let mon = Number(this.queryParams.paendtime.slice(6, 7));
+          this.queryParams.paendtime =
+            this.queryParams.paendtime.slice(0, 5) +
             "0" +
             (mon + 1) +
             "-" +
@@ -288,10 +293,10 @@
             ":" +
             "00";
         }
-        // this.endtime=this.endtime.slice(0,5)骞�
+        // this.queryParams.paendtime=this.queryParams.paendtime.slice(0,5)骞�
         else if (num >= 10) {
-          this.endtime =
-            this.endtime.slice(0, 5) +
+          this.queryParams.paendtime =
+            this.queryParams.paendtime.slice(0, 5) +
             (num + 1) +
             "-" +
             "01" +
@@ -302,8 +307,8 @@
             ":" +
             "00";
         } else {
-          this.endtime =
-            this.endtime.slice(0, 5) +
+          this.queryParams.paendtime =
+            this.queryParams.paendtime.slice(0, 5) +
             "10" +
             "-" +
             "01" +
@@ -314,30 +319,15 @@
             ":" +
             "00";
         }
-        this.starttime = this.starttime + " " + "00" + ":" + "00" + ":" + "00";
+        this.queryParams.pabegtime =
+          this.queryParams.pabegtime + " " + "00" + ":" + "00" + ":" + "00";
         // }
       } else {
-        // this.starttime = "1998-01-01 00:00:00";
-        // this.endtime = "2998-01-01 00:00:00";
+        // this.queryParams.pabegtime = "1998-01-01 00:00:00";
+        // this.queryParams.paendtime = "2998-01-01 00:00:00";
       }
     },
-    LoadReportList() {
-      listDonatebaseinfo().then(res => {
-        let list = res.rows;
-        let reportlist = [];
-        list.forEach(item => {
-          reportlist.push({
-            reporterno: item.reporterno,
-            reportername: item.reportername
-          });
-        });
 
-        if (reportlist != 0) {
-          reportlist = this.resetArr(reportlist);
-          this.reportlist = reportlist;
-        }
-      });
-    },
     resetArr(Arr) {
       var hash = {};
       Arr = Arr.reduce(function(arr, current) {
@@ -353,9 +343,18 @@
     getList() {
       listjixstatistics(this.queryParams).then(res => {
         this.jxidata = res.rows;
+        this.jxidata.forEach(($obj, $index) => {
+          $obj.id = $index + 1;
+        });
+        this.total=res.total;
       });
     },
-
+    listDept() {
+      listDept({}).then(response => {
+        this.deptList = response.data;
+        this.loading = false;
+      });
+    },
     // 琛ㄥ崟閲嶇疆
     reset() {
       this.form = {};
@@ -371,25 +370,13 @@
 
       this.reportervalue = "";
 
-      this.form.treatmenthospitalno = "";
 
       this.queryParams = {
-        doname: null,
-        pageNum: 1,
-        pageSize: 10,
-        name: null,
-        idcardno: null,
-        residenceprovince: null,
-        residencecity: null,
-        residencetown: null,
-        // "2"
-        recordstate: null,
-        treatmenthospitalname: null,
-        donorno: null,
-        acquisitiontissueno: null,
-        reportername: null,
-        reporttime: null,
-        city: null
+        pabonustype:'',
+        pabegtime: null,
+        paendtime: null,
+        pauserno: null,
+        padeptno: null
       };
       this.selecttime = [];
       this.getTimeList();
@@ -402,6 +389,37 @@
 
       this.resetForm("queryForm");
       this.handleQuery();
+    },
+    getSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+      var columnnames = ["applymonth", "deptmentName", "username",'deptName'];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = "鍚堣";
+          return;
+        }
+        //鍘婚櫎閮ㄥ垎瀛楁璁$畻
+        if (columnnames.indexOf(column.property) > -1) {
+          return;
+        }
+
+        const values = data.map(item => Number(item[column.property]));
+        if (!values.every(value => isNaN(value))) {
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr);
+            if (!isNaN(value)) {
+              return prev + curr;
+            } else {
+              return prev;
+            }
+          }, 0);
+          sums[index] = sums[index].toFixed(2); // 淇濈暀2浣嶅皬鏁帮紝瑙e喅灏忔暟鍚堣鍒�;
+        } else {
+          sums[index] = "";
+        }
+      });
+      return sums;
     }
   },
 
@@ -409,6 +427,7 @@
   created() {
     //鑾峰彇鍒楄〃
     this.getList();
+    this.listDept();
   }
   // //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛�
   //    mounted() {},

--
Gitblit v1.9.3