From bbf5ed473459bad34fa4281596a2faf99381d93e Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 08 三月 2024 09:55:58 +0800
Subject: [PATCH] 11

---
 src/api/project/donorcharge.js             |   23 +
 src/views/project/unitCost/particulars.vue |  432 ++++++++++++++++----------------
 src/views/project/unitCost/index.vue       |  312 +----------------------
 3 files changed, 260 insertions(+), 507 deletions(-)

diff --git a/src/api/project/donorcharge.js b/src/api/project/donorcharge.js
index ebb45c3..94dd68f 100644
--- a/src/api/project/donorcharge.js
+++ b/src/api/project/donorcharge.js
@@ -69,6 +69,29 @@
     params: query
   })
 }
+// 鍒犻櫎鎹愮尞妗堜緥鍣ㄥ畼鍒�
+export function delDonorpayment(id) {
+  return request({
+    url: '/project/donorpayment/remove/' + id,
+    method: 'get'
+  })
+}
+// 鏂板鏈烘瀯璐圭敤鍒楄〃
+export function addDonorpayment(data) {
+  return request({
+    url: '/project/donorpayment/add',
+    method: 'post',
+    data: data
+  })
+}
+// 淇敼鏈烘瀯璐圭敤鍒楄〃
+export function editDonorpayment(data) {
+  return request({
+    url: '/project/donorpayment/edit',
+    method: 'post',
+    data: data
+  })
+}
 
 // 鏌ヨ鎹愮尞妗堜緥鍣ㄥ畼璇︾粏
 export function getDonorchargeorgan(id) {
diff --git a/src/views/project/unitCost/index.vue b/src/views/project/unitCost/index.vue
index 46c2196..5cd6c8e 100644
--- a/src/views/project/unitCost/index.vue
+++ b/src/views/project/unitCost/index.vue
@@ -169,244 +169,7 @@
       @pagination="getList"
     />
 
-    <!-- 娣诲姞鎴栦慨鏀规崘鐚渚嬪櫒瀹樺垪瀵硅瘽妗� -->
-    <el-dialog
-      :title="title"
-      :visible.sync="open"
-      append-to-body
-      align="center"
-      :close-on-click-modal="false"
-      width="1200px"
-    >
-      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
-        <el-row>
-          <el-col :span="12"
-            ><el-form-item label="OPO缂栧彿" prop="donateno">
-              <el-input v-model="form.donateno" placeholder="璇疯緭鍏PO缂栧彿" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="濮撳悕" prop="name">
-              <el-input v-model="form.name" placeholder="璇疯緭鍏ュ鍚�" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="鎹愮尞鏃堕棿" prop="donatetime">
-              <el-date-picker
-                clearable
-                size="small"
-                v-model="form.donatetime"
-                type="date"
-                value-format="yyyy-MM-dd"
-                style="width: 174px"
-                placeholder="閫夋嫨鎹愮尞鏃堕棿"
-              >
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="6"
-            ><el-form-item label="鍑虹敓骞存湀" prop="borthdate">
-              <el-date-picker
-                clearable
-                size="small"
-                v-model="form.borthdate"
-                type="date"
-                value-format="yyyy-MM-dd"
-                style="width: 174px"
-                placeholder="閫夋嫨鍑虹敓骞存湀"
-              >
-              </el-date-picker> </el-form-item
-          ></el-col>
-          <el-col :span="6"
-            ><el-form-item label="骞撮緞" prop="age">
-              <el-input
-                v-model="form.age"
-                placeholder="璇疯緭鍏ュ勾榫�"
-              /> </el-form-item
-          ></el-col>
-          <el-col :span="6">
-            <el-form-item label="鎬у埆" prop="sex">
-              <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
-                <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" />
-              </el-select> </el-form-item
-          ></el-col>
-          <el-col :span="6"
-            ><el-form-item label="鎹愮尞绫诲埆" prop="donationcategory">
-              <el-input
-                v-model="form.donationcategory"
-                placeholder="璇疯緭鍏ユ崘鐚被鍒�"
-              /> </el-form-item
-          ></el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="6"
-            ><el-form-item label="鎹愮尞妗堜緥ID" prop="infoid">
-              <el-input
-                v-model="form.infoid"
-                placeholder="璇疯緭鍏ユ崘鐚渚婭D"
-              /> </el-form-item
-          ></el-col>
-          <el-col :span="6"
-            ><el-form-item label="鎹愮尞鍣ㄥ畼" prop="donateorgan">
-              <el-input
-                v-model="form.donateorgan"
-                placeholder="璇疯緭鍏ユ崘鐚殑鍣ㄥ畼"
-              /> </el-form-item
-          ></el-col>
-          <el-col :span="6"
-            ><el-form-item label="搴旀敹璐圭敤" prop="chargeamount">
-              <el-input
-                v-model="form.chargeamount"
-                placeholder="璇疯緭鍏ュ簲鏀惰垂鐢�"
-              /> </el-form-item
-          ></el-col>
-          <el-col :span="6"
-            ><el-form-item label="宸叉敹璐圭敤" prop="chargeamounted">
-              <el-input
-                v-model="form.chargeamounted"
-                placeholder="璇疯緭鍏ュ凡鏀惰垂鐢�"
-              /> </el-form-item
-          ></el-col> </el-row
-        ><el-row>
-          <el-col :span="24"
-            ><el-form-item label="澶囨敞" prop="remark">
-              <el-input
-                v-model="form.remark"
-                placeholder="璇疯緭鍏ュ娉�"
-              /> </el-form-item
-          ></el-col>
-        </el-row>
-        <el-row>
-          <el-table
-            :data="donorchargerogans"
-            v-loading="loading"
-            max-height="1200"
-            border
-            highlight-current-row
-          >
-            <el-table-column
-              prop="orderno"
-              align="center"
-              label="搴忓彿"
-              width="80"
-            >
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.orderno" placeholder="搴忓彿" />
-              </template>
-            </el-table-column>
-            <el-table-column
-              prop="organno"
-              align="center"
-              label="鍣ㄥ畼缂栧彿"
-              width="90"
-            >
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.organno" placeholder="鍣ㄥ畼缂栧彿" />
-              </template>
-            </el-table-column>
-            <el-table-column
-              prop="organname"
-              align="center"
-              label="鍣ㄥ畼鍚嶇О"
-              width="100"
-            >
-              <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.organname"
-                  placeholder="鍣ㄥ畼鍚嶇О"
-                />
-              </template>
-            </el-table-column>
-            <el-table-column
-              prop="hospitalname"
-              align="center"
-              label="鎺ユ敹鍖婚櫌"
-              width="200"
-            >
-              <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.hospitalname"
-                  placeholder="鎺ユ敹鍖婚櫌"
-                />
-              </template>
-            </el-table-column>
-            <el-table-column
-              prop="amounttime"
-              align="center"
-              label="鎺ユ敹鏃堕棿"
-              width="120"
-            >
-              <template slot-scope="scope">
-                <el-date-picker
-                  clearable
-                  size="small"
-                  style="width: 100%"
-                  v-model="scope.row.amounttime"
-                  type="date"
-                  value-format="yyyy-MM-dd HH:mm:ss"
-                  placeholder="鎺ユ敹鏃堕棿"
-                >
-                </el-date-picker>
-              </template>
-            </el-table-column>
-            <el-table-column
-              prop="amount"
-              align="center"
-              label="宸叉敹璐圭敤"
-              width="120"
-            >
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.amount" placeholder="宸叉敹璐圭敤" />
-              </template>
-            </el-table-column>
-            <el-table-column
-              prop="amounttime"
-              align="center"
-              label="鏀舵鏃堕棿"
-              width="120"
-            >
-              <template slot-scope="scope">
-                <el-date-picker
-                  clearable
-                  size="small"
-                  style="width: 100%"
-                  v-model="scope.row.amounttime"
-                  type="date"
-                  value-format="yyyy-MM-dd HH:mm:ss"
-                  placeholder="鏀舵鏃堕棿"
-                  @blur="getdays(scope.row)"
-                >
-                </el-date-picker>
-              </template>
-            </el-table-column>
-            <el-table-column
-              prop="organcharge"
-              align="center"
-              label="鏍囧噯璐圭敤"
-              width="120"
-            >
-              <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.organcharge"
-                  placeholder="宸叉敹璐圭敤"
-                />
-              </template>
-            </el-table-column>
-            <el-table-column prop="remark" align="center" label="澶囨敞">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.remark" placeholder="澶囨敞" />
-              </template>
-            </el-table-column>
-          </el-table>
-        </el-row>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
-        <el-button @click="cancel">鍙� 娑�</el-button>
-      </div>
-    </el-dialog>
+
 
     <el-dialog
       :visible.sync="showSelectionDialog"
@@ -425,7 +188,7 @@
           >
             <org-selecter
               ref="addOrgSelect"
-              :org-type="'3'"
+              :org-type="'4'"
               v-model="selectionForm.donorid"
             />
           </el-form-item>
@@ -444,13 +207,13 @@
 import {
   listDonorcharge,
   getDonorcharge,
-  delDonorcharge,
+  delDonorpayment,
   addDonorcharge,
   updateDonorcharge,
   exportDonorcharge,
   listDonorpayment
 } from "@/api/project/donorcharge";
-import { listOrganization,  } from "@/api/project/organization";
+import { listOrganization } from "@/api/project/organization";
 
 import OrgSelecter from "@/views/project/components/orgselect";
 
@@ -481,6 +244,7 @@
       // 鎹愮尞妗堜緥鍣ㄥ畼鍒楄〃鏍兼暟鎹�
       donorchargeList: [],
       donorchargerogans: [],
+    
       //鎹愮尞妗堜緥閫夋嫨
       showSelectionDialog: false,
       donorlist: [],
@@ -495,7 +259,6 @@
       // 寮瑰嚭灞傛爣棰�
       title: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
-      open: false,
       // 鏌ヨ璐圭敤琛ㄥ弬鏁�
       queryParams: {
         pageNum: 1,
@@ -531,18 +294,28 @@
     //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
     confirmSelection() {
       var curdonorinfo = null;
-      console.log(this.selectionForm.donorid,'donorid');
+      console.log(this.selectionForm.donorid, "donorid");
       //浠庢渚嬪垪琛ㄨ幏鍙栦俊鎭�
       this.donorinfolist.map(item => {
         if (this.selectionForm.donorid == item.id) {
           curdonorinfo = item;
         }
       });
-      this.showSelectionDialog = false;
-      this.$router.push({
-        path: "/cost/particulars",
-        query: { id: 0, operation: "add", data: curdonorinfo }
+      let searchData = {
+        organizationid: this.selectionForm.donorid //浼犲叆鐨勭被鍨�
+      }; //鎼滅储鏉′欢
+      listOrganization(searchData).then(res => {
+        if (res.code == 200) {
+          curdonorinfo = res.rows[0];
+          this.$router.push({
+            path: "/cost/particulars",
+            query: { id: 0, operation: "add", data: curdonorinfo }
+          });
+        } else {
+          this.$message.error(res.msg);
+        }
       });
+      this.showSelectionDialog = false;
     },
 
     /** 鏌ヨ鎹愮尞妗堜緥鍣ㄥ畼鍒楀垪琛� */
@@ -553,21 +326,9 @@
         this.total = response.total;
         this.loading = false;
       });
-      let searchData = {
-        organizationtype: '3', //浼犲叆鐨勭被鍨�
-        pageNum: 1,
-        pageSize: 100000
-      }; //鎼滅储鏉′欢
-      listOrganization(searchData).then(res => {
-        console.log(res);
-      });
     },
 
-    // 鍙栨秷鎸夐挳
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
+
     // 琛ㄥ崟閲嶇疆
     reset() {
       this.form = {
@@ -643,12 +404,7 @@
         this.showSelectionDialog = true;
       }
 
-      /** 
-        this.reset();
-        this.open = true;
-        this.title = "鎹愮尞妗堜緥鍣ㄥ畼璐圭敤鎯呭喌";
-        this.donorchargerogans = [];
-        */
+
     },
 
     /** 淇敼鎸夐挳鎿嶄綔 */
@@ -673,7 +429,7 @@
       this.$modal
         .confirm('鏄惁纭鍒犻櫎鎹愮尞妗堜緥鍣ㄥ畼鍒楃紪鍙蜂负"' + ids + '"鐨勬暟鎹」锛�')
         .then(function() {
-          return delDonorcharge(ids);
+          return delDonorpayment(ids);
         })
         .then(() => {
           this.getList();
@@ -697,27 +453,7 @@
         })
         .catch(() => {});
     },
-
-    /** 鎻愪氦鎸夐挳 */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          if (this.form.id != null) {
-            updateDonorcharge(this.form).then(response => {
-              this.$modal.msgSuccess("淇敼鎴愬姛");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addDonorcharge(this.form).then(response => {
-              this.$modal.msgSuccess("鏂板鎴愬姛");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    }
+ 
   }
 };
 </script>
diff --git a/src/views/project/unitCost/particulars.vue b/src/views/project/unitCost/particulars.vue
index fb32417..a16916f 100644
--- a/src/views/project/unitCost/particulars.vue
+++ b/src/views/project/unitCost/particulars.vue
@@ -15,9 +15,9 @@
           </el-col>
           <el-col :span="5">
             <el-form-item label="鏀舵鐘舵��" prop="sex">
-              <el-select v-model="form.paystatus" placeholder="璇疯緭鍏ユ�у埆">
+              <el-select v-model="form.paystatus" placeholder="璇烽�夋嫨鐘舵��">
                 <el-option
-                  v-for="dict in dict.type.sys_gathering"
+                  v-for="dict in gatheringlist"
                   :key="dict.label"
                   :label="dict.label"
                   :value="dict.value"
@@ -26,28 +26,28 @@
             </el-form-item>
           </el-col>
 
-          <el-col :span="5">
+          <el-col :span="7">
             <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
               <el-date-picker
-                clearable
-                size="small"
                 v-model="form.createTime"
-                type="date"
-                value-format="yyyy-MM-dd"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                type="datetime"
                 placeholder="閫夋嫨鍑虹敓骞存湀"
               >
               </el-date-picker>
             </el-form-item>
-          </el-col> 
-          
-          </el-row
+          </el-col>
+          <el-col :span="7"
+            ><el-form-item label="鏀舵鍗曞彿" prop="donateno">
+              <el-input v-model="form.paymentno" placeholder="璇疯緭鍏ユ敹娆惧崟鍙�" />
+            </el-form-item>
+          </el-col> </el-row
         ><el-row
           ><el-col :span="5"
             ><el-form-item label="鏀舵鍗曚綅" prop="donateno">
               <el-input
                 v-model="form.beneficiary"
                 placeholder="璇疯緭鍏ユ敹娆惧崟浣�"
-                :disabled="true"
               />
             </el-form-item>
           </el-col>
@@ -56,12 +56,11 @@
               <el-input
                 v-model="form.beneficiarybank"
                 placeholder="璇疯緭鍏ユ敹娆鹃摱琛�"
-                :disabled="true"
               />
             </el-form-item>
           </el-col>
 
-          <el-col :span="5">
+          <el-col :span="7">
             <el-form-item label="鏀舵琛屽彿" prop="donationcategory">
               <el-input
                 v-model="form.beneficiaryaccount"
@@ -78,7 +77,7 @@
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="5">
+          <el-col :span="7">
             <el-form-item label="浠樻鍖婚櫌" prop="sex">
               <el-input
                 v-model="form.hospitalname"
@@ -87,7 +86,7 @@
               />
             </el-form-item>
           </el-col>
-          <el-col :span="6">
+          <el-col :span="5">
             <el-form-item label="搴旀敹閲戦" prop="receivableamount">
               <el-input
                 v-model="form.receivableamount"
@@ -96,24 +95,24 @@
               />
             </el-form-item>
           </el-col>
-          <el-col :span="6">
+          <el-col :span="5">
             <el-form-item label="瀹炴敹閲戦" prop="receivedamount">
               <el-input
+                @blur="chargeSumall"
                 v-model="form.receivedamount"
                 placeholder="璇疯緭鍏ュ疄鏀堕噾棰�"
-                :disabled="true"
               />
             </el-form-item>
           </el-col>
           <el-col :span="5">
-            <el-form-item label="鐢宠鏃ユ湡" prop="updatetime">
+            <el-form-item label="鏀舵鏃ユ湡" prop="receivedtime">
               <el-date-picker
                 clearable
                 size="small"
-                v-model="form.updatetime"
-                type="date"
-                value-format="yyyy-MM-dd"
-                placeholder="閫夋嫨鍑虹敓骞存湀"
+                v-model="form.receivedtime"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                type="datetime"
+                placeholder="閫夋嫨鏀舵鏃ユ湡"
               >
               </el-date-picker>
             </el-form-item>
@@ -179,11 +178,9 @@
               width="280"
             >
               <template slot-scope="scope">
-                <org-selecter
-                  ref="tranHosSelect"
-                  :org-type="'4'"
-                  v-model="scope.row.hospitalno"
-                  style="width: 100%"
+                <el-input
+                  v-model="scope.row.hospitalname"
+                  placeholder="鎺ユ敹鍖婚櫌"
                 />
               </template>
             </el-table-column>
@@ -198,7 +195,7 @@
               </template>
             </el-table-column>
             <el-table-column
-              prop="organtime"
+              prop="receiveTime"
               align="center"
               label="鎺ユ敹鏃ユ湡"
               width="200"
@@ -208,7 +205,7 @@
                   clearable
                   size="small"
                   style="width: 100%"
-                  v-model="scope.row.organtime"
+                  v-model="scope.row.receiveTime"
                   type="date"
                   value-format="yyyy-MM-dd HH:mm:ss"
                   placeholder="鎺ユ敹鏃ユ湡"
@@ -218,13 +215,17 @@
             </el-table-column>
 
             <el-table-column
-              prop="amount"
+              prop="organcharge"
               align="center"
               label="搴旀敹閲戦"
               width="150"
             >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.amount" placeholder="搴旀敹閲戦" />
+                <el-input
+                  @blur="chargeSum"
+                  v-model="scope.row.organcharge"
+                  placeholder="搴旀敹閲戦"
+                />
               </template>
             </el-table-column>
             <el-table-column
@@ -234,7 +235,11 @@
               width="150"
             >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.amount" placeholder="瀹炴敹閲戦" />
+                <el-input
+                  @blur="chargeSum"
+                  v-model="scope.row.amount"
+                  placeholder="瀹炴敹閲戦"
+                />
               </template>
             </el-table-column>
 
@@ -279,14 +284,6 @@
               align="center"
             >
               <template slot-scope="scope">
-                <!-- <el-button
-                  type="text"
-                  icon="el-icon-circle-plus-outline"
-                  @click="handleAddpatient(scope.row)"
-                  v-hasPermi="['system:donorcharge:edit']"
-                  >鏂板</el-button
-                > -->
-
                 <el-button
                   type="text"
                   @click="handleDelete(scope.row)"
@@ -335,33 +332,26 @@
                 label-width="98px"
               >
                 <el-form-item label="鎮h�呭悕绉帮細">
-                  <el-input v-model="patientqueryParams.name"></el-input>
+                  <el-input v-model="patientqueryParams.donorname"></el-input>
                 </el-form-item>
                 <el-form-item label="鎺ユ敹鍖婚櫌" prop="status">
-                  <el-select
-                    disabled
-                    v-model="patientqueryParams.topic"
-                    placeholder="璇烽�夋嫨"
-                  >
-                    <el-option
-                      v-for="item in topicoptions"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value"
-                    >
-                    </el-option>
-                  </el-select>
+                  <el-input
+                    v-model="form.hospitalname"
+                    placeholder="璇疯緭鍏ヤ粯娆惧尰闄�"
+                    :disabled="true"
+                  />
                 </el-form-item>
                 <el-form-item label="鎹愮尞妗堜緥" prop="status">
                   <el-select
-                    v-model="patientqueryParams.topic"
+                    v-model="patientqueryParams.donorchargeid"
+                    filterable
                     placeholder="璇烽�夋嫨"
                   >
                     <el-option
-                      v-for="item in topicoptions"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value"
+                      v-for="item in donorchargeanlList"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.id"
                     >
                     </el-option>
                   </el-select>
@@ -372,7 +362,7 @@
                     type="primary"
                     icon="el-icon-search"
                     size="medium"
-                    @click="handleQuery"
+                    @click="handleAddpatient"
                     >鎼滅储</el-button
                   >
                   <el-button
@@ -386,43 +376,45 @@
               <!-- 閫夋嫨鍣ㄥ畼鍒楄〃 -->
               <el-table
                 ref="multipleTable"
-                :data="tableData"
+                :data="donorchargeList"
                 tooltip-effect="dark"
                 style="width: 100%"
                 @selection-change="handleSelectionChange"
               >
                 <el-table-column type="selection" width="55"> </el-table-column>
                 <el-table-column label="鎹愮尞鑰�" width="120">
-                  <template slot-scope="scope">{{ scope.row.date }}</template>
+                  <template slot-scope="scope">{{
+                    scope.row.donorname
+                  }}</template>
                 </el-table-column>
-                <el-table-column prop="鍣ㄥ畼缂栧彿" label="濮撳悕" width="120">
+                <el-table-column prop="organno" label="鍣ㄥ畼缂栧彿" width="120">
                 </el-table-column>
                 <el-table-column
-                  prop="address"
+                  prop="organname"
                   label="鍣ㄥ畼鍚嶇О"
                   show-overflow-tooltip
                 >
                 </el-table-column>
                 <el-table-column
-                  prop="address"
+                  prop="caseno"
                   label="鍥藉鍒嗛厤缂栧彿"
                   show-overflow-tooltip
                 >
                 </el-table-column>
                 <el-table-column
-                  prop="address"
+                  prop="hospitalname"
                   label="鍣ㄥ畼鎺ユ敹鍖婚櫌"
                   show-overflow-tooltip
                 >
                 </el-table-column
                 ><el-table-column
-                  prop="address"
+                  prop="name"
                   label="鍙椾綋濮撴皬"
                   show-overflow-tooltip
                 >
                 </el-table-column>
                 <el-table-column
-                  prop="address"
+                  prop="receiveTime"
                   label="鎺ユ敹鏃ユ湡"
                   show-overflow-tooltip
                 >
@@ -522,9 +514,10 @@
                     <el-button
                       type="danger"
                       size="mini"
-                      @click.native.prevent.stop="deletedowfile(scope.row)"
+                      @click="deletedowfile(scope.row)"
                       >鍒犻櫎</el-button
                     >
+
                     <el-button
                       type="primary"
                       size="mini"
@@ -548,8 +541,6 @@
             <!-- <img :src="pdfimg" /> -->
             <el-image
               style="width: 95%; height: 90%"
-              @error="handleImageError"
-              @load="handleImageLoad"
               :src="pdfimg"
               :preview-src-list="pdfimgsrcList"
             >
@@ -573,11 +564,16 @@
 import {
   getDonorcharge,
   addDonorcharge,
-  updateDonorcharge
+  updateDonorcharge,
+  listDonorcharge,
+  listDonorpayment,
+  addDonorpayment,
+  editDonorpayment
 } from "@/api/project/donorcharge";
+
 import {
   listDonorchargeorgan,
-  delDonorchargeorgan,
+  updateDonorchargeorgan,
   saveDonorchargeorgan
 } from "@/api/project/donorcharge";
 import { listDonatecomporgan } from "@/api/project/donatecompletioninfo";
@@ -621,8 +617,18 @@
           address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
         }
       ],
+      gatheringlist: [
+        { label: "鏂板缓", value: "1" },
+        { label: "寰呮敹娆�", value: "2" },
+        { label: "宸叉敹娆�", value: "3" }
+      ],
       multipleSelection: [],
-      patientqueryParams: {},
+      patientqueryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        hospitalno: null,
+        paymentid: null
+      },
       dialogVisiblepatient: false,
       patienttotal: 0, //
       //绁ㄦ嵁鏂囦欢
@@ -665,10 +671,11 @@
       // 鎹愮尞妗堜緥鍣ㄥ畼鍒楄〃鏍兼暟鎹�
       donorchargeList: [],
       donorchargeorgans: [],
+      donorchargeanlList: [], //妗堜緥鍒楄〃
+      delogans: [],
       // 寮瑰嚭灞傛爣棰�
       title: "",
-      // 鏄惁鏄剧ず寮瑰嚭灞�
-      open: false,
+
       // 鏌ヨ璐圭敤琛ㄥ弬鏁�
       queryParams: {
         pageNum: 1,
@@ -683,7 +690,7 @@
       organParams: {
         pageNum: 1,
         pageSize: 10,
-        donorchargeid: null
+        paymentid: null
       },
 
       // 褰撳墠鐢ㄦ埛淇℃伅
@@ -800,22 +807,38 @@
         return "鍏抽棴鎻愮ず";
       }
     },
-    handleSelectionChange(val) {
-      this.multipleSelection = val;
-    },
+
     handleClosehz() {
       this.dialogVisiblepatient = false;
     },
     handleQuery() {},
-    resetQuery() {},
+    resetQuery() {
+      this.patientqueryParams.donorname = null;
+      this.patientqueryParams.donorchargeid = null;
+      this.handleAddpatient();
+    },
     handleUploadError() {},
     // 寮规娣诲姞
     AddDispatchpatients() {
+      this.donorchargeorgans = this.donorchargeorgans.concat(
+        this.multipleSelection
+      );
       this.dialogVisiblepatient = false;
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
     },
     // 鐐瑰嚮鏂板
     handleAddpatient(row) {
       this.dialogVisiblepatient = true;
+      this.patientqueryParams.hospitalno = this.form.hospitalno;
+      this.patientqueryParams.paymentid = null;
+      listDonorchargeorgan(this.patientqueryParams).then(res => {
+        this.donorchargeList = res.rows;
+        this.patienttotal = res.total;
+        console.log(this.donorchargeList);
+      });
     },
     // 鑾峰彇璇锋眰澶�
     Getnetworkheader() {
@@ -859,6 +882,7 @@
       this.operationType = this.$route.query.operation;
       this.curId = this.$route.query.id;
       this.curCase = this.$route.query.data;
+      this.patientqueryParams.paymentid = this.curId;
       console.log("this.$route.query", this.$route.query);
 
       if (this.operationType == "add") {
@@ -874,6 +898,9 @@
         this.handleDetail();
         console.log("3");
       }
+      listDonorcharge({ pageNum: 1, pageSize: 10000 }).then(response => {
+        this.donorchargeanlList = response.rows;
+      });
     },
 
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
@@ -888,117 +915,47 @@
       this.$router.go(-1);
     },
 
-    // 澶氶�夋閫変腑鏁版嵁
-    handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id);
-      this.single = selection.length !== 1;
-      this.multiple = !selection.length;
-    },
-
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
       this.reset();
-      this.open = true;
       this.title = "鏂板鎹愮尞妗堜緥鍣ㄥ畼璐圭敤琛�";
 
       if (this.curCase) {
         this.form.infoid = this.curCase.id;
-        this.form.donateno = this.curCase.donorno;
-        this.form.donatetime = this.curCase.donatetime;
-        this.form.name = this.curCase.name;
+        this.form.paystatus = "1";
+        this.form.hospitalname = this.curCase.organizationname;
+        this.form.hospitalno = this.curCase.organizationid;
         this.form.borthdate = this.curCase.birthday;
-        this.form.sex = this.curCase.sex;
-        this.form.age = this.curCase.age;
-        this.form.donationcategory = this.curCase.donationcategory;
-
-        //鑾峰彇瀹屾垚鐧昏鐨勫櫒瀹樿〃
-        if (this.curCase.id > 0) {
-        } else {
-          this.curCase.id = 0;
-        }
-        let searchParam = {
-          infoid: this.curCase.id
-        };
-        listDonatecomporgan(searchParam).then(res => {
-          if (res.code == 200) {
-            // 鏌ヨ鍣ㄥ畼璐圭敤琛�
-            let tempParam = {
-              organcode: null,
-              organname: null,
-              charge: null
-            };
-            listOrgancharge(tempParam).then(res1 => {
-              if (res1.code == 200) {
-                this.organchargelist = res1.rows;
-              }
-
-              //鎻掑叆鍣ㄥ畼琛�
-              res.rows.forEach(item => {
-                //鑾峰彇璐圭敤閲戦
-                this.organchargelist.map(rescharge => {
-                  if (rescharge.organcode == item.organno) {
-                    this.donorchargeorgans.push({
-                      organno: item.organno,
-                      organname: item.organname,
-                      organcharge: rescharge.charge,
-                      infoid: item.infoid,
-                      hospitalname: item.transplanthospitalname,
-                      hospitalno: item.transplanthospitalno,
-                      organtime: item.transplanttime,
-                      chargestate: "0"
-                    });
-                  }
-                });
-              });
-            });
-          }
-        });
       }
     },
 
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate() {
       this.reset();
-      this.open = true;
       this.title = "鏀舵鐢宠鍗曠紪杈�";
 
-      getDonorcharge(this.curId).then(response => {
-        this.form = response.data;
-        console.log("getDonorcharge", response);
-
+      listDonorpayment({ id: this.curId }).then(response => {
+        this.form = response.rows[0];
         //鍣ㄥ畼璐圭敤淇℃伅
-        this.organParams.donorchargeid = this.curId;
-        console.log("this.organParams", this.organParams);
-        listDonorchargeorgan(this.organParams).then(res => {
+        listDonorchargeorgan(this.patientqueryParams).then(res => {
           console.log("listDonorchargeorgan", res);
           this.donorchargeorgans = res.rows;
           console.log(this.donorchargeorgans, "donorchargeorgans");
-          if (this.donorchargeorgans.length > 0) {
-          } else {
-            this.addRow(0);
-          }
         });
       });
     },
 
-    /** 淇敼鏌ョ湅鎿嶄綔 */
+    /** 鏌ョ湅鎿嶄綔 */
     handleDetail() {
       this.reset();
-      this.open = true;
-
-      getDonorcharge(this.curId).then(response => {
-        this.form = response.data;
-        this.open = true;
+      listDonorpayment({ id: this.curId }).then(response => {
         this.title = "鏌ョ湅鎹愮尞妗堜緥鍣ㄥ畼璐圭敤琛�";
-
+        this.form = response.rows[0];
         //鍣ㄥ畼璐圭敤淇℃伅
-        this.organParams.donorchargeid = this.curId;
-        listDonorchargeorgan(this.organParams).then(res => {
+        listDonorchargeorgan(this.patientqueryParams).then(res => {
+          console.log("listDonorchargeorgan", res);
           this.donorchargeorgans = res.rows;
-          if (this.donorchargeorgans.length > 0) {
-          } else {
-            this.addRow(0);
-          }
+          console.log(this.donorchargeorgans, "donorchargeorgans");
         });
       });
     },
@@ -1007,6 +964,8 @@
     submitForm: debounce(function(data) {
       this.$refs["form"].validate(valid => {
         if (valid) {
+          this.$modal.loading("姝e湪鎻愪氦锛岃绋嶅�欙紒");
+
           //鏍¢獙銆佽垂鐢ㄥ悎璁�
           let ChargeSum = 0;
           let ChargeamountSum = 0;
@@ -1033,41 +992,59 @@
           //淇濆瓨
           if (this.form.id != null) {
             for (let k = 0; k < this.donorchargeorgans.length; k++) {
-              this.donorchargeorgans[k].donorchargeID = this.form.id;
+              this.donorchargeorgans[k].paymentid = this.form.id;
             }
 
-            updateDonorcharge(this.form).then(res1 => {
+            editDonorpayment(this.form).then(res1 => {
               if (res1.code == 200) {
                 saveDonorchargeorgan(this.donorchargeorgans).then(res2 => {
                   if (res2.code == 200) {
                     this.$modal.msgSuccess("淇濆瓨鎴愬姛锛�");
-                    this.open = false;
+                  } else {
+                    this.$modal.msgError(res2.msg);
                   }
+                  this.$modal.closeLoading();
                 });
+              } else {
+                this.$modal.closeLoading();
+                this.$modal.msgError(res1.msg);
               }
             });
           } else {
-            addDonorcharge(this.form).then(response => {
+            addDonorpayment(this.form).then(response => {
               if (response.code == 200) {
                 console.log("addDonorcharge", response);
                 //淇濆瓨鍓嶆牎楠屾暟鎹�
                 for (let k = 0; k < this.donorchargeorgans.length; k++) {
-                  this.donorchargeorgans[k].donorchargeid = response.data.id;
+                  this.donorchargeorgans[k].paymentid = response.msg;
                 }
                 saveDonorchargeorgan(this.donorchargeorgans).then(res2 => {
                   if (res2.code == 200) {
                     this.$modal.msgSuccess("淇濆瓨鎴愬姛锛�");
-                    this.open = false;
+                  } else {
+                    this.$modal.msgError(res2.msg);
                   }
                 });
+                this.$modal.closeLoading();
+              } else {
+                this.$modal.msgError(response.msg);
+                this.$modal.closeLoading();
               }
             });
           }
         }
       });
     }, 500),
-
-    //璁$畻璐圭敤鍚堣
+    chargeSumall() {
+      if (this.form.receivedamount == this.form.receivableamount) {
+        this.donorchargeorgans.forEach(item => {
+          item.amount = item.organcharge;
+        });
+      } else {
+        this.$modal.msgError("娉ㄦ剰瀹炴敹閲戦涓嶇瓑浜庡簲鏀堕噾棰濓紝璇锋牳瀵规暟鎹紒");
+      }
+    },
+    //淇敼鎬诲疄鏀跺悗瑙﹀彂
     chargeSum() {
       let ChargeSum = 0;
       let ChargeamountSum = 0;
@@ -1082,10 +1059,28 @@
             ChargeamountSum += parseFloat(this.donorchargeorgans[i].amount);
           }
         }
-
-        this.form.chargeamount = ChargeSum.toFixed(2);
-        this.form.chargeamounted = ChargeamountSum.toFixed(2);
+        this.form.receivableamount = ChargeSum.toFixed(2);
+        this.form.receivedamount = ChargeamountSum.toFixed(2);
       } catch {}
+    },
+
+    handleDelete(row) {
+      this.$modal
+        .confirm("鏄惁纭鍒犻櫎璇ユ潯鍣ㄥ畼璐圭敤鏁版嵁椤癸紵")
+        .then(() => {
+          let value = row;
+          value.paymentid = null;
+          this.delogans.push(value);
+
+          saveDonorchargeorgan(this.delogans).then(res2 => {
+            if (res2.code == 200) {
+              let index = this.donorchargeorgans.indexOf(row);
+              this.donorchargeorgans.splice(index, 1);
+              this.$modal.msgSuccess("鍒犻櫎鎴愬姛锛�");
+            }
+          });
+        })
+        .catch(() => {});
     },
 
     //琛ㄦ牸鍚堣
@@ -1095,26 +1090,20 @@
       var columnnames = [
         "organno",
         "organname",
-        "amount",
         "amounttime",
-        "organcharge",
+        "organchargedesc",
         "hospitalname",
         "organtime",
-        "remark"
+        "remark",
+        "name",
+        "caseno"
       ];
       columns.forEach((column, index) => {
         if (index === 0) {
           sums[index] = "鍚堣";
           return;
         }
-        // if (index === 2) {
-        //   sums[index] = this.form.chargeamounted;
-        //   return;
-        // }
-        // if (index === 4) {
-        //   sums[index] = this.form.chargeamount;
-        //   return;
-        // }
+
         //鍘婚櫎閮ㄥ垎瀛楁璁$畻
         if (columnnames.indexOf(column.property) > -1) {
           return;
@@ -1139,14 +1128,14 @@
     },
     // 鏂囦欢------------------------
     remove(file, fileList) {
-      const rbDetails = [...this.rbDetails];
+      const donorchargeorgans = [...this.donorchargeorgans];
 
       this.fileListto.splice(this.fileListto.indexOf(file), 1);
-      rbDetails[this.atpresent].annexfilesList = this.fileListto;
+      donorchargeorgans[this.atpresent].annexFilesList = this.fileListto;
     },
 
     uploadSccess(response, file, fileList) {
-      this.rbDetails;
+      this.donorchargeorgans;
       const config = {
         headers: { Authorization: "Bearer " + this.ICDtoken }
       };
@@ -1173,10 +1162,10 @@
         this.$modal.msgSuccess(response.msg);
 
         console.log(this.fileListto, "鏂板鍚�");
-        if (!this.rbDetails[this.atpresent].annexfilesList) {
-          this.rbDetails[this.atpresent].annexfilesList = [];
+        if (!this.donorchargeorgans[this.atpresent].annexFilesList) {
+          this.donorchargeorgans[this.atpresent].annexFilesList = [];
         }
-        this.rbDetails[this.atpresent].annexfilesList.push({
+        this.donorchargeorgans[this.atpresent].annexFilesList.push({
           name: file.name,
           url: response.fileName
         });
@@ -1187,7 +1176,7 @@
     },
 
     // 鐐瑰嚮绁ㄦ嵁
-    Filepopup(index,  row) {
+    Filepopup(index, row) {
       const config = {
         headers: { Authorization: "Bearer " + this.ICDtoken }
       };
@@ -1203,8 +1192,8 @@
       this.atpresent = index;
       this.pdfVisible = true;
 
-      if (this.rbDetails[index].annexfilesList) {
-        const fetchPromises = this.rbDetails[index].annexfilesList.map(
+      if (this.donorchargeorgans[index].annexFilesList) {
+        const fetchPromises = this.donorchargeorgans[index].annexFilesList.map(
           (value, indexson) => {
             const pdfimg = this.Networkheader + "/prod-api" + value.url;
             return fetch(pdfimg, config)
@@ -1239,7 +1228,10 @@
       this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�";
 
       console.log(this.fileListto, "this.fileListto");
-      console.log(this.rbDetails[index].annexfilesList, "annexfilesList");
+      console.log(
+        this.donorchargeorgans[index].annexFilesList,
+        "annexFilesList"
+      );
     },
 
     // 鐐瑰嚮宸蹭笂浼犳枃浠�
@@ -1280,12 +1272,15 @@
       this.pdfimgsrcList.splice(indexlist, 1);
       const index = this.getIndexInArray(this.fileListto, row);
       this.fileListto.splice(index, 1);
-      console.log(this.rbDetails[this.atpresent].annexfilesList);
-      indexvalue = this.rbDetails[this.atpresent].annexfilesList.findIndex(
-        item => item.name == row.name
-      );
+      console.log(this.donorchargeorgans[this.atpresent].annexFilesList);
+      indexvalue = this.donorchargeorgans[
+        this.atpresent
+      ].annexFilesList.findIndex(item => item.name == row.name);
       console.log(indexvalue, "鍒犻櫎绱㈠紩");
-      this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1);
+      this.donorchargeorgans[this.atpresent].annexFilesList.splice(
+        indexvalue,
+        1
+      );
     },
     // 鐐瑰嚮涓婄Щ
     moveupdowfile(row) {
@@ -1293,14 +1288,13 @@
       const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
       this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
 
-      const indexann = this.rbDetails[this.atpresent].annexfilesList.findIndex(
-        item => item.name == row.name
-      );
-      const itemann = this.rbDetails[this.atpresent].annexfilesList.splice(
-        indexann,
-        1
-      )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
-      this.rbDetails[this.atpresent].annexfilesList.splice(
+      const indexann = this.donorchargeorgans[
+        this.atpresent
+      ].annexFilesList.findIndex(item => item.name == row.name);
+      const itemann = this.donorchargeorgans[
+        this.atpresent
+      ].annexFilesList.splice(indexann, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+      this.donorchargeorgans[this.atpresent].annexFilesList.splice(
         indexann - 1,
         0,
         itemann
@@ -1309,11 +1303,11 @@
       console.log(index, "index");
 
       console.log(
-        this.rbDetails[this.atpresent].annexfilesList,
-        "annexfilesList"
+        this.donorchargeorgans[this.atpresent].annexFilesList,
+        "annexFilesList"
       );
       console.log(this.fileListto, "fileListto");
-      // console.log(this.rbDetails[this.atpresent].invoicefilesList,'invoicefilesList');
+      // console.log(this.donorchargeorgans[this.atpresent].invoicefilesList,'invoicefilesList');
     },
     Downloadfile(row) {
       window.location.href = row.url;
@@ -1391,14 +1385,14 @@
   }
 }
 .headlines {
-    font-size: 25px;
-    display: flex;
-    width: 96%;
-    justify-content: space-between;
-    padding-left: 5px;
-    margin-bottom: 10px;
-    border-left: 5px solid rgb(65, 161, 190);
-  }
+  font-size: 25px;
+  display: flex;
+  width: 96%;
+  justify-content: space-between;
+  padding-left: 5px;
+  margin-bottom: 10px;
+  border-left: 5px solid rgb(65, 161, 190);
+}
 .button-delete {
   color: rgb(236, 69, 69);
 }

--
Gitblit v1.9.3