From 0ac2d43fce4d74f6eea5a51a2e16af4e6a536c7c Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 14 八月 2024 14:19:24 +0800
Subject: [PATCH] 11

---
 src/views/project/tallage/computingBill/index.vue |  231 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 186 insertions(+), 45 deletions(-)

diff --git a/src/views/project/tallage/computingBill/index.vue b/src/views/project/tallage/computingBill/index.vue
index ae95a33..50bcbba 100644
--- a/src/views/project/tallage/computingBill/index.vue
+++ b/src/views/project/tallage/computingBill/index.vue
@@ -8,8 +8,8 @@
             <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
               <el-date-picker
                 v-model="form.createTime"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                type="datetime"
+                value-format="yyyy-MM-dd "
+                type="date"
                 :disabled="true"
                 placeholder="閫夋嫨鍑虹敓骞存湀"
               >
@@ -115,6 +115,14 @@
             show-summary
           >
             <el-table-column
+              prop="index"
+              align="center"
+              fixed
+              label="搴忓彿"
+              width="120"
+            >
+            </el-table-column>
+            <el-table-column
               prop="donorname"
               align="center"
               fixed
@@ -172,8 +180,8 @@
                   v-model="scope.row.applyTime"
                   :disabled="true"
                   type="date"
-                  value-format="yyyy-MM-dd HH:mm:ss"
                   placeholder="鐢宠鏃ユ湡"
+                  value-format="yyyy-MM-dd"
                 >
                 </el-date-picker>
               </template>
@@ -268,6 +276,24 @@
         :before-close="handleClosehz"
       >
         <div class="examine-jic">
+          <div style="margin: 0 10px 20px 10px;">
+            <el-card class="box-card">
+              <el-tag
+                v-for="item in overallCase"
+                :key="item.id"
+                closable
+                @close="handleClose(item)"
+              >
+                {{ item.donorname }}
+              </el-tag>
+              <div style="margin-top: 20px; text-align: right;">
+                鍏遍�夋嫨<span
+                  style="font-size: 18px; color: #409EFF;margin: 0 10px;"
+                  >{{ overallCase.length }}</span
+                >鏉℃暟鎹�
+              </div>
+            </el-card>
+          </div>
           <div class="jic-value">
             <el-row :gutter="20">
               <!--鐢ㄦ埛鏁版嵁-->
@@ -280,19 +306,43 @@
               >
                 <el-form-item label="鎹愮尞妗堜緥" prop="status">
                   <el-select
-                    v-model="patientqueryParams.donorno"
+                    v-model="patientqueryParams.donorname"
                     filterable
+                    allow-create
+                    default-first-option
                     placeholder="璇烽�夋嫨"
                   >
                     <el-option
                       v-for="item in donorchargeanlList"
                       :key="item.id"
                       :label="item.name"
-                      :value="item.id"
+                      :value="item.name"
                     >
                     </el-option>
                   </el-select>
                 </el-form-item>
+                <el-form-item label="鐢宠浜�" prop="name">
+                  <el-input
+                    v-model="patientqueryParams.pausername"
+                    placeholder="璇疯緭鍏ョ敵璇蜂汉濮撳悕"
+                    @keyup.enter.native="handleAddpatient"
+                  />
+                </el-form-item>
+                <!-- <el-form-item label="绠楃◣鐘舵��" prop="status">
+                  <el-select
+                    v-model="patientqueryParams.istax"
+                    filterable
+                    placeholder="璇烽�夋嫨"
+                  >
+                    <el-option
+                      v-for="item in istaxlist"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item> -->
 
                 <el-form-item>
                   <el-button
@@ -347,7 +397,7 @@
                 </el-table-column>
                 <el-table-column
                   prop="taXmoney"
-                  label="鎵g◣閲戦(缂�)"
+                  label="鎵g◣閲戦"
                   show-overflow-tooltip
                 >
                 </el-table-column>
@@ -536,23 +586,27 @@
     Li_area_select,
     pdf
   },
-  dicts: ["sys_gathering", "sys_0_1"],
+  dicts: ["Collection_status", "sys_0_1"],
   name: "Donorchargemanager",
   data() {
     return {
       swgatheringlist: [
-        { label: "鏈畻绋�", value: 0 },
-        { label: "宸茬畻绋�", value: 1 }
+        { label: "宸茬畻绋�", value: 1 },
+        { label: "鏈畻绋�", value: 0 }
       ],
       gatheringlist: [
         { label: "鏈粯娆�", value: "0" },
         { label: "宸蹭粯娆�", value: "1" }
       ],
+      // 褰撳墠椤甸�変腑鏁版嵁
       multipleSelection: [],
+      // 鎬婚�変腑鏁版嵁
+      overallCase: [],
       patientqueryParams: {
         paApplyType: 1,
-        pacheckno: "047",
-        checkstatus: 0,
+        // pacheckno: "047",
+        // checkstatus: 0,
+        pfundtaxid: 0,
         pageNum: 1,
         pageSize: 10
       },
@@ -614,11 +668,13 @@
       organParams: {
         pageNum: 1,
         pageSize: 10,
-        paymentid: null
+        paymentid: null,
+        istax: 0
       },
 
       // 褰撳墠鐢ㄦ埛淇℃伅
       userprofile: {},
+      decision: false,
       // 琛ㄥ崟鍙傛暟
       form: {
         istax: 0,
@@ -655,6 +711,10 @@
 
       baselist: [],
       donorList: [],
+      istaxlist: [
+        { value: 0, label: "鏈畻绋�" },
+        { value: 2, label: "寰呯畻绋�" }
+      ],
       organchargelist: [],
       standardlevel: 0,
       defaultperson: {},
@@ -733,20 +793,24 @@
     },
     handleQuery() {},
     resetQuery() {
-      this.patientqueryParams.donorno = null;
-      this.patientqueryParams.donorchargeid = null;
+      this.patientqueryParams.pausername = null;
+      this.patientqueryParams.donorname = null;
       this.handleAddpatient();
     },
     handleUploadError() {},
     // 寮规娣诲姞
     AddDispatchpatients() {
-      this.donorchargeorgans = this.donorchargeorgans.concat(
-        this.multipleSelection
-      );
-      console.log(this.donorchargeorgans, "donorchargeorgans");
-      this.donorchargeorgans.forEach(item => {
-        CalculationDetail({ id: item.id, fundTaxId: this.form.id });
+      let newArr = this.donorchargeorgans.concat(this.overallCase);
+      this.donorchargeorgans = newArr.filter((item, index, self) => {
+        return !self.slice(index + 1).some(other => other.id === item.id);
       });
+
+      console.log(this.donorchargeorgans, "donorchargeorgans");
+      if (this.form.id) {
+        this.donorchargeorgans.forEach(item => {
+          CalculationDetail({ id: item.id, fundTaxId: this.form.id });
+        });
+      }
       this.donorchargeorgans.forEach(item => {
         item.taXmoney = item.pretaxcost - item.taxedcost;
         item.taXmoney = item.taXmoney.toFixed(2);
@@ -797,22 +861,87 @@
     },
     // 閲戦鍚堣
     accumulation() {
-      this.form.pretaxamount = this.donorchargeorgans.reduce(
-        (acc, obj) => acc + Number(obj.pretaxcost),
-        0
-      );
-      this.form.taxMoney = this.donorchargeorgans.reduce(
-        (acc, obj) => acc + Number(obj.taXmoney),
-        0
-      );
-      this.form.taxedamount = this.donorchargeorgans.reduce(
-        (acc, obj) => acc + Number(obj.taxedcost),
-        0
-      );
+      this.form.pretaxamount = this.donorchargeorgans
+        .reduce((acc, obj) => acc + Number(obj.pretaxcost), 0)
+        .toFixed(2);
+      this.form.taxMoney = this.donorchargeorgans
+        .reduce((acc, obj) => acc + Number(obj.taXmoney), 0)
+        .toFixed(2);
+      this.form.taxedamount = this.donorchargeorgans
+        .reduce((acc, obj) => acc + Number(obj.taxedcost), 0)
+        .toFixed(2);
     },
     // 澶氶�夋閫変腑鏁版嵁
-    handleSelectionChange(val) {
-      this.multipleSelection = val;
+    handleSelectionChange(selection) {
+      if (this.decision) return;
+      // 鍒ゆ柇鏄惁鏈夊垹闄�
+      if (this.multipleSelection.length <= selection.length) {
+        this.multipleSelection = selection;
+      } else {
+        this.multipleSelection.forEach(item => {
+          if (selection.includes(item)) {
+          } else {
+            if (this.multipleSelection.length == 1) {
+              this.multipleSelection = [];
+            } else {
+              this.multipleSelection.splice(
+                this.multipleSelection.indexOf(item),
+                1
+              );
+            }
+            if (this.overallCase.length == 1) {
+              this.overallCase = [];
+            } else {
+              this.overallCase.splice(this.overallCase.indexOf(item), 1);
+            }
+          }
+        });
+      }
+      // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍
+      this.multipleSelection.forEach(item => {
+        if (!this.overallCase.includes(item)) {
+          this.overallCase.push(item);
+        }
+      });
+      console.log(this.multipleSelection, "瑙﹀彂閫夋嫨鍚巑ultipleSelection");
+    },
+    // 鍒囨崲椤靛悗鎭㈠閫変腑
+    Restorecheck() {
+      console.log(this.overallCase, "this.overallCase");
+      const allid = this.overallCase.map(item => item.id);
+      const overlap = this.donorchargeList.filter(value => {
+        return allid.includes(value.id);
+      });
+      // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬�
+      this.multipleSelection = overlap;
+      console.log(this.multipleSelection, "杩涘叆鍒嗛〉multipleSelection");
+
+      this.toggleSelection(overlap);
+    },
+    // 鎸傝浇閫夋嫨鐘舵��
+    toggleSelection(rows) {
+      if (rows) {
+        this.decision = true;
+        this.$nextTick(() => {
+          rows.forEach(row => {
+            this.$refs.multipleTable.toggleRowSelection(row, true);
+          });
+          this.decision = false;
+        });
+        console.log(123);
+      } else {
+        this.$refs.multipleTable.clearSelection();
+      }
+    },
+    // 閫夋嫨浜哄憳鏍囩鍒犻櫎浜嬩欢
+    handleClose(item) {
+      this.overallCase.splice(this.overallCase.indexOf(item), 1);
+      if (this.multipleSelection.indexOf(item) == -1) {
+      } else {
+        this.multipleSelection.splice(this.multipleSelection.indexOf(item), 1);
+        this.$refs.multipleTable.toggleRowSelection(item, false);
+        // this.toggleSelection(this.multipleSelection);
+      }
     },
     // 鐐瑰嚮鏂板
     handleAddpatient(row) {
@@ -821,7 +950,7 @@
       ExpertfeeListnb(this.patientqueryParams).then(res => {
         this.donorchargeList = res.rows;
         this.patienttotal = res.total;
-        console.log(this.donorchargeList);
+        this.Restorecheck();
       });
     },
     // 鑾峰彇鏈�澶axid
@@ -856,11 +985,11 @@
       });
     },
 
-    /** 閲嶇疆鎸夐挳鎿嶄綔 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
+    // /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    // resetQuery() {
+    //   this.resetForm("queryForm");
+    //   this.handleQuery();
+    // },
 
     // 鍙栨秷鎸夐挳
     cancel() {
@@ -873,7 +1002,7 @@
       this.title = "鏂板涓撳璐规眹鎬诲崟";
       //鑾峰彇鐧诲綍鑰呬俊鎭�
       getUserProfile().then(res => {
-        this.form.username = res.createBy;
+        this.form.username = res.data.createBy;
       });
     },
 
@@ -884,9 +1013,10 @@
         this.form = response.data;
         if (this.form.serviceFunds[0]) {
           this.donorchargeorgans = this.form.serviceFunds;
-          this.donorchargeorgans.forEach(item => {
+          this.donorchargeorgans.forEach((item, index) => {
             item.taXmoney = item.pretaxcost - item.taxedcost;
             item.taXmoney = item.taXmoney.toFixed(2);
+            item.index = index + 1;
             this.accumulation();
           });
         }
@@ -900,9 +1030,10 @@
         this.form = response.data;
         if (this.form.serviceFunds[0]) {
           this.donorchargeorgans = this.form.serviceFunds;
-          this.donorchargeorgans.forEach(item => {
+          this.donorchargeorgans.forEach((item, index) => {
             item.taXmoney = item.pretaxcost - item.taxedcost;
             item.taXmoney = item.taXmoney.toFixed(2);
+            item.index = index + 1;
             this.accumulation();
           });
         }
@@ -928,9 +1059,10 @@
                   this.form = response.data;
                   if (this.form.serviceFunds[0]) {
                     this.donorchargeorgans = this.form.serviceFunds;
-                    this.donorchargeorgans.forEach(item => {
+                    this.donorchargeorgans.forEach((item, index) => {
                       item.taXmoney = item.pretaxcost - item.taxedcost;
                       item.taXmoney = item.taXmoney.toFixed(2);
+                      item.index = index + 1;
                       this.accumulation();
                     });
                   }
@@ -949,9 +1081,11 @@
                   this.form = res.data;
                   if (this.form.serviceFunds[0]) {
                     this.donorchargeorgans = this.form.serviceFunds;
-                    this.donorchargeorgans.forEach(item => {
+                    this.donorchargeorgans.forEach((item, index) => {
                       item.taXmoney = item.pretaxcost - item.taxedcost;
                       item.taXmoney = item.taXmoney.toFixed(2);
+                      item.index = index + 1;
+
                       this.accumulation();
                     });
                   }
@@ -1377,6 +1511,13 @@
   color: #000000;
   cursor: not-allowed;
 }
+::v-deep .el-tag--medium {
+  height: 28px;
+  line-height: 26px;
+  margin-right: 15px;
+  margin-bottom: 15px;
+  font-size: 16px;
+}
 
 ::v-deep .el-input--medium .el-input__inner {
   height: 36px;

--
Gitblit v1.9.3