From 8a01cd3076ac20e1529a6768bb07e71f3c21f00d Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 25 四月 2024 15:43:57 +0800
Subject: [PATCH] 11

---
 src/views/project/unitCost/particulars/index.vue |  126 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 111 insertions(+), 15 deletions(-)

diff --git a/src/views/project/unitCost/particulars/index.vue b/src/views/project/unitCost/particulars/index.vue
index 4c5537a..faf6b38 100644
--- a/src/views/project/unitCost/particulars/index.vue
+++ b/src/views/project/unitCost/particulars/index.vue
@@ -6,7 +6,7 @@
         <el-row>
           <el-col :span="5">
             <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
-              <el-date-picker v-model="form.createTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime"
+              <el-date-picker v-model="form.createTime" value-format="yyyy-MM-dd " type="date"
                 :disabled="true" placeholder="閫夋嫨鍑虹敓骞存湀">
               </el-date-picker>
             </el-form-item>
@@ -66,8 +66,8 @@
           </el-col>
           <el-col :span="5">
             <el-form-item label="鏀舵鏃ユ湡" prop="receivedtime">
-              <el-date-picker clearable size="small" v-model="form.receivedtime" value-format="yyyy-MM-dd HH:mm:ss"
-                type="datetime" placeholder="閫夋嫨鏀舵鏃ユ湡">
+              <el-date-picker clearable size="small" v-model="form.receivedtime" value-format="yyyy-MM-dd "
+                type="date" placeholder="閫夋嫨鏀舵鏃ユ湡">
               </el-date-picker>
             </el-form-item>
           </el-col>
@@ -165,6 +165,24 @@
       <!-- 娣诲姞鎮h�� -->
       <el-dialog title="閫夋嫨鍣ㄥ畼鍜岀粍缁�" :visible.sync="dialogVisiblepatient" width="70%" :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">
               <!--鐢ㄦ埛鏁版嵁-->
@@ -173,11 +191,14 @@
                   <el-input v-model="form.hospitalname" placeholder="璇疯緭鍏ヤ粯娆惧尰闄�" :disabled="true" />
                 </el-form-item>
                 <el-form-item label="鎹愮尞鑰�" prop="status">
+                  <el-input v-model="patientqueryParams.donorname"  @keyup.enter.native="handleAddpatient" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"  />
+                </el-form-item>
+                <!-- <el-form-item label="鎹愮尞鑰�" prop="status">
                   <el-select v-model="patientqueryParams.donorchargeid" filterable placeholder="璇烽�夋嫨">
                     <el-option v-for="item in donorchargeanlList" :key="item.id" :label="item.name" :value="item.id">
                     </el-option>
                   </el-select>
-                </el-form-item>
+                </el-form-item> -->
 
                 <el-form-item>
                   <el-button type="primary" icon="el-icon-search" size="medium" @click="handleAddpatient">鎼滅储</el-button>
@@ -307,7 +328,7 @@
     Li_area_select,
     pdf
   },
-  dicts: ["sys_gathering", "sys_0_1"],
+  dicts: ["Collection_status", "sys_0_1"],
   name: "Donorchargemanager",
   data() {
     return {
@@ -346,6 +367,8 @@
         hospitalno: null,
         paymentid: null
       },
+      // 鎬婚�変腑鏁版嵁
+      overallCase: [],
       dialogVisiblepatient: false,
       patienttotal: 0, //
       //绁ㄦ嵁鏂囦欢
@@ -528,7 +551,6 @@
     handleClosehz() {
       this.dialogVisiblepatient = false;
     },
-    handleQuery() { },
     resetQuery() {
       this.patientqueryParams.donorname = null;
       this.patientqueryParams.donorchargeid = null;
@@ -538,13 +560,82 @@
     // 寮规娣诲姞
     AddDispatchpatients() {
       this.donorchargeorgans = this.donorchargeorgans.concat(
-        this.multipleSelection
+        this.overallCase
       );
       this.dialogVisiblepatient = false;
     },
     // 澶氶�夋閫変腑鏁版嵁
-    handleSelectionChange(val) {
-      this.multipleSelection = val;
+    handleSelectionChange(selection) {
+      if (this.decision) return;
+      // 鍒ゆ柇鏄惁鏈夊垹闄�
+      if (this.multipleSelection.length <= selection.length) {
+        this.multipleSelection = selection;
+      } else {
+        console.log(11);
+        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) {
@@ -556,7 +647,7 @@
         this.donorchargeList = res.rows;
         this.patienttotal = res.total;
         this.patientqueryParams.paymentidIsNotNull = true;
-        console.log(this.donorchargeList);
+        this.Restorecheck();
       });
     },
     // 鑾峰彇璇锋眰澶�
@@ -622,11 +713,7 @@
       });
     },
 
-    /** 閲嶇疆鎸夐挳鎿嶄綔 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
+
 
     // 鍙栨秷鎸夐挳
     cancel() {
@@ -697,6 +784,7 @@
                 saveDonorchargeorgan(this.donorchargeorgans).then(res2 => {
                   if (res2.code == 200) {
                     this.$modal.msgSuccess("淇濆瓨鎴愬姛锛�");
+                    this.overallCase=[]
                   } else {
                     this.$modal.msgError(res2.msg);
                   }
@@ -718,6 +806,7 @@
                 saveDonorchargeorgan(this.donorchargeorgans).then(res2 => {
                   if (res2.code == 200) {
                     this.$modal.msgSuccess("淇濆瓨鎴愬姛锛�");
+                    this.overallCase=[]
                   } else {
                     this.$modal.msgError(res2.msg);
                   }
@@ -1147,6 +1236,13 @@
     }
   }
 }
+::v-deep .el-tag--medium {
+  height: 28px;
+  line-height: 26px;
+  margin-right: 15px;
+  margin-bottom: 15px;
+  font-size: 16px;
+}
 
 ::v-deep .el-input.is-disabled .el-input__inner {
   background-color: #F5F7FA;

--
Gitblit v1.9.3