From 61c6071e2effacd9f14c4a9d82d21d270ef9f252 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期三, 24 四月 2024 17:32:48 +0800
Subject: [PATCH] 修改了收款功能

---
 src/views/project/unitCost/particulars/index.vue |  226 ++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 145 insertions(+), 81 deletions(-)

diff --git a/src/views/project/unitCost/particulars/index.vue b/src/views/project/unitCost/particulars/index.vue
index 4c5537a..8065d78 100644
--- a/src/views/project/unitCost/particulars/index.vue
+++ b/src/views/project/unitCost/particulars/index.vue
@@ -6,17 +6,9 @@
         <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"
-                :disabled="true" placeholder="閫夋嫨鍑虹敓骞存湀">
+              <el-date-picker v-model="form.createTime" value-format="yyyy-MM-dd " type="date" :disabled="true"
+                placeholder="閫夋嫨鍑虹敓骞存湀">
               </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="5">
-            <el-form-item label="鍗曟嵁鐘舵��" prop="paystatus">
-              <el-select v-model="form.paystatus" placeholder="璇烽�夋嫨鐘舵��">
-                <el-option v-for="dict in gatheringlist" :key="dict.label" :label="dict.label"
-                  :value="dict.value"></el-option>
-              </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="5"><el-form-item label="鍗曟嵁缂栧彿" prop="paymentno">
@@ -24,41 +16,30 @@
             </el-form-item>
           </el-col>
           <el-col :span="5">
-            <el-form-item label="缁忓姙浜�" prop="createby">
-              <el-input v-model="form.createby" placeholder="璇疯緭鍏ュ鍚�" :disabled="true" />
+            <el-form-item label="鏀舵鐘舵��" prop="paystatus">
+              <el-select v-model="form.paystatus" placeholder="璇烽�夋嫨鐘舵��">
+                <el-option v-for="dict in gatheringlist" :key="dict.label" :label="dict.label"
+                  :value="dict.value"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="缁忓姙浜�" prop="userName">
+              <el-input v-model="form.userName" placeholder="璇疯緭鍏ュ鍚�" :disabled="true" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="5">
-            <el-form-item label="鏀舵鍗曚綅" prop="beneficiary">
-              <el-input v-model="form.beneficiary" placeholder="璇疯緭鍏ユ敹娆惧崟浣�" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="10">
-            <el-form-item label="鏀舵閾惰" prop="beneficiarybank">
-              <el-input v-model="form.beneficiarybank" placeholder="璇疯緭鍏ユ敹娆鹃摱琛�" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="5">
-            <el-form-item label="鏀舵璐﹀彿" prop="beneficiaryaccount">
-              <el-input v-model="form.beneficiaryaccount" placeholder="璇疯緭鍏ユ敹娆捐鍙�" />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="20">
-            <el-form-item label="鑱旂郴淇℃伅" prop="remark">
-              <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="5">
-            <el-form-item label="浠樻鍖婚櫌" prop="hospitalname">
+            <el-form-item label="鍖荤枟鏈烘瀯" prop="hospitalname">
               <el-input v-model="form.hospitalname" placeholder="璇疯緭鍏ヤ粯娆惧尰闄�" :disabled="true" />
             </el-form-item>
-          </el-col>          
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="搴旀敹閲戦" prop="receivableamount">
+              <el-input v-model="form.receivableamount" placeholder="璇疯緭鍏ュ簲鏀堕噾棰�" :disabled="true" />
+            </el-form-item>
+          </el-col>
           <el-col :span="5">
             <el-form-item label="瀹炴敹閲戦" prop="receivedamount">
               <el-input @blur="chargeSumall" v-model="form.receivedamount" placeholder="璇疯緭鍏ュ疄鏀堕噾棰�" />
@@ -66,14 +47,16 @@
           </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>
-          <el-col :span="5">
-            <el-form-item label="搴旀敹閲戦" prop="receivableamount">
-              <el-input v-model="form.receivableamount" placeholder="璇疯緭鍏ュ簲鏀堕噾棰�" :disabled="true" />
+        </el-row>
+        <el-row>
+          <el-col :span="20">
+            <el-form-item label="澶囨敞淇℃伅" prop="remark">
+              <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -84,9 +67,9 @@
         <el-row style="margin-top: 10px">
           <el-table :data="donorchargeorgans" ref="table" border max-height="800" highlight-current-row
             :summary-method="getSummaries" show-summary>
-            <el-table-column prop="organno" align="center" fixed label="鍣ㄥ畼缂栧彿" width="90">
+            <el-table-column prop="donorname" align="center" fixed label="鎹愮尞鑰�" width="120">
               <template slot-scope="scope">
-                <el-input v-model="scope.row.organno" placeholder="鍣ㄥ畼缂栧彿" :disabled="true" />
+                <el-input v-model="scope.row.donorname" placeholder="鎹愮尞鑰�" :disabled="true" />
               </template>
             </el-table-column>
             <el-table-column prop="organname" fixed align="center" label="鍣ㄥ畼鍚嶇О" width="120">
@@ -94,25 +77,19 @@
                 <el-input v-model="scope.row.organname" :disabled="true" placeholder="鍣ㄥ畼鍚嶇О" />
               </template>
             </el-table-column>
-            <el-table-column label="鍥藉缂栧彿" align="center" width="120" prop="caseno">
+            <el-table-column prop="organno" align="center" fixed label="鍣ㄥ畼缂栧彿" width="90">
               <template slot-scope="scope">
-                <el-input v-model="scope.row.caseno" :disabled="true" placeholder="鍥藉缂栧彿" />
+                <el-input v-model="scope.row.organno" placeholder="鍣ㄥ畼缂栧彿" :disabled="true" />
               </template>
             </el-table-column>
-            <el-table-column prop="hospitalno" align="center" label="鎺ユ敹鍖婚櫌" width="280">
+            <el-table-column label="鍒嗛厤绯荤粺缂栧彿" align="center" width="120" prop="caseno">
               <template slot-scope="scope">
-                <!-- <el-input
-                    v-model="scope.row.hospitalname"
-                    :disabled="true"
-                    placeholder="鎺ユ敹鍖婚櫌"
-                  /> -->
-                <org-selecter ref="tranHosSelect" :org-type="'4'" :disabled="true" v-model="scope.row.hospitalno"
-                  style="width: 100%" />
+                <el-input v-model="scope.row.caseno" :disabled="true" placeholder="鍒嗛厤绯荤粺缂栧彿" />
               </template>
             </el-table-column>
             <el-table-column label="鍙椾綋濮撴皬" align="center" width="120" prop="name">
               <template slot-scope="scope">
-                <el-input v-model="scope.row.name" :disabled="true" placeholder="鍙椾綋濮撴皬" />
+                <el-input v-model="scope.row.name" placeholder="鍙椾綋濮撴皬" />
               </template>
             </el-table-column>
             <el-table-column prop="receiveTime" align="center" label="鎺ユ敹鏃ユ湡" width="200">
@@ -122,7 +99,6 @@
                 </el-date-picker>
               </template>
             </el-table-column>
-
             <el-table-column prop="organcharge" align="center" label="搴旀敹閲戦" width="150">
               <template slot-scope="scope">
                 <el-input @blur="chargeSum" v-model="scope.row.organcharge" placeholder="搴旀敹閲戦" />
@@ -133,7 +109,18 @@
                 <el-input @blur="chargeSum" v-model="scope.row.amount" placeholder="瀹炴敹閲戦" />
               </template>
             </el-table-column>
-
+            <el-table-column prop="organchargedesc" width="280" align="center" label="澶囨敞">
+              <template slot-scope="scope">
+                <el-input type="textarea" :rows="1" v-model="scope.row.organchargedesc" placeholder="澶囨敞" />
+              </template>
+            </el-table-column>
+            <!--
+            <el-table-column prop="hospitalno" align="center" label="鎺ユ敹鍖婚櫌" width="280">
+              <template slot-scope="scope">
+                <org-selecter ref="tranHosSelect" :org-type="'4'" :disabled="true" v-model="scope.row.hospitalno"
+                  style="width: 100%" />
+              </template>
+            </el-table-column>
             <el-table-column prop="amounttime" align="center" label="鏀舵鏃ユ湡" width="200">
               <template slot-scope="scope">
                 <el-date-picker clearable size="small" style="width: 100%" v-model="scope.row.amounttime" type="date"
@@ -141,11 +128,7 @@
                 </el-date-picker>
               </template>
             </el-table-column>
-            <el-table-column prop="organchargedesc" width="280" align="center" label="澶囨敞">
-              <template slot-scope="scope">
-                <el-input type="textarea" :rows="1" v-model="scope.row.organchargedesc" placeholder="澶囨敞" />
-              </template>
-            </el-table-column>
+            -->
             <el-table-column label="鎿嶄綔" fixed="right" width="260" align="center">
               <template slot-scope="scope">
                 <el-button type="text" @click="handleDelete(scope.row)" v-hasPermi="['system:donorcharge:remove']"><span
@@ -165,6 +148,16 @@
       <!-- 娣诲姞鎮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">
               <!--鐢ㄦ埛鏁版嵁-->
@@ -193,20 +186,17 @@
         scope.row.donorname
       }}</template>
                 </el-table-column>
-
                 <el-table-column prop="organname" label="鍣ㄥ畼鍚嶇О" show-overflow-tooltip>
                 </el-table-column>
                 <el-table-column prop="organno" label="鍣ㄥ畼缂栧彿" width="120">
                 </el-table-column>
-                <el-table-column prop="caseno" label="鍥藉鍒嗛厤缂栧彿" show-overflow-tooltip>
+                <el-table-column prop="caseno" label="鍒嗛厤绯荤粺缂栧彿" show-overflow-tooltip>
                 </el-table-column>
                 <el-table-column prop="name" label="鍙椾綋濮撴皬" show-overflow-tooltip>
                 </el-table-column>
-                <el-table-column prop="hospitalname" label="鎺ユ敹鍖婚櫌" show-overflow-tooltip>
+                <el-table-column prop="receiveTime" label="绉绘鏃ユ湡" show-overflow-tooltip>
                 </el-table-column>
-                <el-table-column prop="receiveTime" label="鎺ユ敹鏃ユ湡" show-overflow-tooltip>
-                </el-table-column>
-                <el-table-column prop="address" label="澶囨敞" show-overflow-tooltip>
+                <el-table-column prop="organchargedesc" label="澶囨敞淇℃伅" show-overflow-tooltip>
                 </el-table-column>
               </el-table>
             </el-row>
@@ -307,7 +297,7 @@
     Li_area_select,
     pdf
   },
-  dicts: ["sys_gathering", "sys_0_1"],
+  dicts: ["Collection_status", "sys_0_1"],
   name: "Donorchargemanager",
   data() {
     return {
@@ -346,6 +336,8 @@
         hospitalno: null,
         paymentid: null
       },
+      // 鎬婚�変腑鏁版嵁
+      overallCase: [],
       dialogVisiblepatient: false,
       patienttotal: 0, //
       //绁ㄦ嵁鏂囦欢
@@ -528,7 +520,6 @@
     handleClosehz() {
       this.dialogVisiblepatient = false;
     },
-    handleQuery() { },
     resetQuery() {
       this.patientqueryParams.donorname = null;
       this.patientqueryParams.donorchargeid = null;
@@ -538,13 +529,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 +616,7 @@
         this.donorchargeList = res.rows;
         this.patienttotal = res.total;
         this.patientqueryParams.paymentidIsNotNull = true;
-        console.log(this.donorchargeList);
+        this.Restorecheck();
       });
     },
     // 鑾峰彇璇锋眰澶�
@@ -622,11 +682,7 @@
       });
     },
 
-    /** 閲嶇疆鎸夐挳鎿嶄綔 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
+
 
     // 鍙栨秷鎸夐挳
     cancel() {
@@ -765,7 +821,7 @@
 
     handleDelete(row) {
       this.$modal
-        .confirm("鏄惁纭鍒犻櫎璇ユ潯鍣ㄥ畼璐圭敤鏁版嵁椤癸紵")
+        .confirm("鏄惁纭鍒犻櫎璇ユ潯鍣ㄥ畼鐨勬暟鎹」锛�")
         .then(() => {
           let value = row;
           value.paymentid = null;
@@ -1148,6 +1204,14 @@
   }
 }
 
+::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;
   border-color: #dfe4ed;

--
Gitblit v1.9.3