From f792e8ecddfcd4c1d09504fa8a6a9181586ae88c Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 14 三月 2024 17:35:22 +0800
Subject: [PATCH] 11

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

diff --git a/src/views/project/unitCost/particulars.vue b/src/views/project/unitCost/particulars.vue
index 6fe7a3c..160e216 100644
--- a/src/views/project/unitCost/particulars.vue
+++ b/src/views/project/unitCost/particulars.vue
@@ -7,119 +7,122 @@
           <el-col :span="5">
             <el-form-item label="缁忓姙浜�" prop="name">
               <el-input
-                v-model="form.name"
+                v-model="form.createby"
                 placeholder="璇疯緭鍏ュ鍚�"
                 :disabled="true"
               />
             </el-form-item>
           </el-col>
-          <el-col :span="7">
+          <el-col :span="5">
             <el-form-item label="鏀舵鐘舵��" prop="sex">
-              <el-select v-model="form.sex" placeholder="璇疯緭鍏ユ�у埆">
+              <el-select v-model="form.paystatus" placeholder="璇烽�夋嫨鐘舵��">
                 <el-option
-                  v-for="dict in dict.type.sys_user_sex"
+                  v-for="dict in gatheringlist"
                   :key="dict.label"
                   :label="dict.label"
-                  :value="parseInt(dict.value)"
+                  :value="dict.value"
                 ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
 
-          <el-col :span="5">
-            <el-form-item label="鐢宠鏃ユ湡" prop="borthdate">
+          <el-col :span="7">
+            <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
               <el-date-picker
-                clearable
-                size="small"
-                v-model="form.borthdate"
-                type="date"
-                value-format="yyyy-MM-dd"
+                v-model="form.createTime"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                type="datetime"
+                :disabled="true"
                 placeholder="閫夋嫨鍑虹敓骞存湀"
               >
               </el-date-picker>
+            </el-form-item>
+          </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.donateno"
+                v-model="form.beneficiary"
                 placeholder="璇疯緭鍏ユ敹娆惧崟浣�"
-                :disabled="true"
               />
             </el-form-item>
           </el-col>
-          <el-col :span="7"
+          <el-col :span="12"
             ><el-form-item label="鏀舵閾惰" prop="donateno">
               <el-input
-                v-model="form.donateno"
+                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.donationcategory"
+                v-model="form.beneficiaryaccount"
                 placeholder="璇疯緭鍏ユ敹娆捐鍙�"
               />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="17">
+          <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-col :span="5">
+          <el-col :span="7">
             <el-form-item label="浠樻鍖婚櫌" prop="sex">
-              <el-select v-model="form.sex" placeholder="璇烽�夋嫨鍖婚櫌">
-                <el-option
-                  v-for="dict in dict.type.sys_user_sex"
-                  :key="dict.label"
-                  :label="dict.label"
-                  :value="parseInt(dict.value)"
-                ></el-option>
-              </el-select>
+              <el-input
+                v-model="form.hospitalname"
+                placeholder="璇疯緭鍏ヤ粯娆惧尰闄�"
+                :disabled="true"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="5">
-            <el-form-item label="搴旀敹閲戦" prop="chargeamount">
+            <el-form-item label="搴旀敹閲戦" prop="receivableamount">
               <el-input
-                v-model="form.chargeamount"
+                v-model="form.receivableamount"
                 placeholder="璇疯緭鍏ュ簲鏀堕噾棰�"
                 :disabled="true"
               />
             </el-form-item>
           </el-col>
           <el-col :span="5">
-            <el-form-item label="瀹炴敹閲戦" prop="chargeamounted">
+            <el-form-item label="瀹炴敹閲戦" prop="receivedamount">
               <el-input
-                v-model="form.chargeamounted"
+                @blur="chargeSumall"
+                v-model="form.receivedamount"
                 placeholder="璇疯緭鍏ュ疄鏀堕噾棰�"
-                :disabled="true"
               />
             </el-form-item>
           </el-col>
           <el-col :span="5">
-            <el-form-item label="鐢宠鏃ユ湡" prop="borthdate">
+            <el-form-item label="鏀舵鏃ユ湡" prop="receivedtime">
               <el-date-picker
                 clearable
                 size="small"
-                v-model="form.borthdate"
-                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>
           </el-col>
         </el-row>
+        <div class="headlines">
+          <div>鏀舵鏄庣粏</div>
+          <el-button type="primary" @click="handleAddpatient">鏂板</el-button>
+        </div>
         <el-row style="margin-top: 10px">
           <el-table
             :data="donorchargeorgans"
@@ -133,6 +136,7 @@
             <el-table-column
               prop="organno"
               align="center"
+              fixed
               label="鍣ㄥ畼缂栧彿"
               width="90"
             >
@@ -146,6 +150,7 @@
             </el-table-column>
             <el-table-column
               prop="organname"
+              fixed
               align="center"
               label="鍣ㄥ畼鍚嶇О"
               width="120"
@@ -153,6 +158,7 @@
               <template slot-scope="scope">
                 <el-input
                   v-model="scope.row.organname"
+                  :disabled="true"
                   placeholder="鍣ㄥ畼鍚嶇О"
                 />
               </template>
@@ -164,22 +170,33 @@
               prop="caseno"
             >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.caseno" placeholder="鍥藉缂栧彿" />
+                <el-input
+                  v-model="scope.row.caseno"
+                  :disabled="true"
+                  placeholder="鍥藉缂栧彿"
+                />
               </template>
             </el-table-column>
             <el-table-column
-              prop="hospitalname"
+              prop="hospitalno"
               align="center"
               label="鎺ユ敹鍖婚櫌"
               width="280"
             >
               <template slot-scope="scope">
+                <!-- <el-input
+                  v-model="scope.row.hospitalname"
+                  :disabled="true"
+                  placeholder="鎺ユ敹鍖婚櫌"
+                /> -->
                 <org-selecter
-                  ref="tranHosSelect"
-                  :org-type="'4'"
-                  v-model="scope.row.hospitalno"
-                  style="width: 100%"
-                />
+                        ref="tranHosSelect"
+                        :org-type="'4'"
+                  :disabled="true"
+
+                        v-model="scope.row.hospitalno"
+                        style="width: 100%"
+                      />
               </template>
             </el-table-column>
             <el-table-column
@@ -189,11 +206,15 @@
               prop="name"
             >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.name" placeholder="鍙椾綋濮撴皬" />
+                <el-input
+                  v-model="scope.row.name"
+                  :disabled="true"
+                  placeholder="鍙椾綋濮撴皬"
+                />
               </template>
             </el-table-column>
             <el-table-column
-              prop="organtime"
+              prop="receiveTime"
               align="center"
               label="鎺ユ敹鏃ユ湡"
               width="200"
@@ -203,7 +224,8 @@
                   clearable
                   size="small"
                   style="width: 100%"
-                  v-model="scope.row.organtime"
+                  v-model="scope.row.receiveTime"
+                  :disabled="true"
                   type="date"
                   value-format="yyyy-MM-dd HH:mm:ss"
                   placeholder="鎺ユ敹鏃ユ湡"
@@ -211,16 +233,19 @@
                 </el-date-picker>
               </template>
             </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
@@ -230,10 +255,14 @@
               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>
-           
+
             <el-table-column
               prop="amounttime"
               align="center"
@@ -253,39 +282,294 @@
                 </el-date-picker>
               </template>
             </el-table-column>
-            <el-table-column prop="organchargedesc" align="center" label="澶囨敞">
+            <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="鎿嶄綔" align="center">
-        <template slot-scope="scope">
-          <el-button size="mini" type="text" icon="el-icon-circle-plus-outline" @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:donorcharge:edit']">鏂板</el-button>
-          
-          <el-button size="mini" type="text" @click="handleDelete(scope.row)"
-            v-hasPermi="['system:donorcharge:remove']"><span class="button-delete"
-              ><i class="el-icon-delete"></i>鍒犻櫎</span
-            ></el-button>
-            <el-button size="mini" type="text" icon="el-icon-folder-opened" @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:donorcharge:edit']">闄勪欢</el-button>
-        </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 class="button-delete"
+                    ><i class="el-icon-delete"></i>鍒犻櫎</span
+                  ></el-button
+                >
+                <el-button
+                  type="text"
+                  icon="el-icon-folder-opened"
+                  @click="Filepopup(scope.$index, scope.row)"
+                  v-hasPermi="['system:donorcharge:edit']"
+                  >闄勪欢</el-button
+                >
+              </template>
+            </el-table-column>
           </el-table>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button
-          type="primary"
+          type="success"
           @click="submitForm"
           v-if="operationType == 'add' || operationType == 'update'"
           >淇� 瀛�</el-button
         >
-        <el-button type="primary" @click="cancel">鍏抽棴</el-button>
+        <el-button type="info" @click="cancel">鍏抽棴</el-button>
       </div>
+      <!-- 娣诲姞鎮h�� -->
+      <el-dialog
+        title="閫夋嫨鍣ㄥ畼鍜岀粍缁�"
+        :visible.sync="dialogVisiblepatient"
+        width="70%"
+        :before-close="handleClosehz"
+      >
+        <div class="examine-jic">
+          <div class="jic-value">
+            <el-row :gutter="20">
+              <!--鐢ㄦ埛鏁版嵁-->
+              <el-form
+                :model="patientqueryParams"
+                ref="queryForm"
+                size="small"
+                :inline="true"
+                label-width="98px"
+              >
+                <el-form-item label="鎺ユ敹鍖婚櫌" prop="status">
+                  <el-input
+                    v-model="form.hospitalname"
+                    placeholder="璇疯緭鍏ヤ粯娆惧尰闄�"
+                    :disabled="true"
+                  />
+                </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-button
+                    type="primary"
+                    icon="el-icon-search"
+                    size="medium"
+                    @click="handleAddpatient"
+                    >鎼滅储</el-button
+                  >
+                  <el-button
+                    icon="el-icon-refresh"
+                    size="medium"
+                    @click="resetQuery"
+                    >閲嶇疆</el-button
+                  >
+                </el-form-item>
+              </el-form>
+              <!-- 閫夋嫨鍣ㄥ畼鍒楄〃 -->
+              <el-table
+                ref="multipleTable"
+                :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.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>
+                <el-table-column
+                  prop="name"
+                  label="鍙椾綋濮撴皬"
+                  show-overflow-tooltip
+                >
+                </el-table-column>
+                <el-table-column
+                  prop="hospitalname"
+                  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>
+              </el-table>
+            </el-row>
+            <pagination
+              v-show="patienttotal > 0"
+              :total="patienttotal"
+              :page.sync="patientqueryParams.pageNum"
+              :limit.sync="patientqueryParams.pageSize"
+              @pagination="handleAddpatient"
+            />
+          </div>
+        </div>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="dialogVisiblepatient = false">鍙� 娑�</el-button>
+          <el-button type="primary" @click="AddDispatchpatients"
+            >纭畾娣诲姞</el-button
+          >
+        </span>
+      </el-dialog>
+      <!-- 闄勪欢寮圭獥 -->
+      <el-dialog
+        v-dialogDrags
+        :modal="false"
+        :close-on-click-modal="false"
+        :title="pdftitle"
+        :visible.sync="pdfVisible"
+        width="60%"
+      >
+        <div class="pdfimg">
+          <div class="box-pdf">
+            <div>
+              <el-upload
+                size="mini"
+                class="upload-demo"
+                :action="uploadFileUrl"
+                :file-list="fileListto"
+                :show-file-list="false"
+                multiple
+                drag
+                :headers="headers"
+                :on-success="
+                  (response, file, fileList) =>
+                    uploadSccess(response, file, fileList)
+                "
+                :on-preview="downFile"
+                :disabled="operationType == 'detail'"
+                :on-error="handleUploadError"
+                :on-remove="remove"
+                accept="image/*,.pdf"
+              >
+                <i class="el-icon-upload"></i>
+                <div class="el-upload__text">
+                  灏嗙エ鎹嫋鍒版澶勶紝鎴�
+                  <em
+                    ><el-button
+                      :disabled="operationType == 'detail'"
+                      size="small"
+                      type="primary"
+                      >鐐瑰嚮涓婁紶</el-button
+                    ></em
+                  >
+                </div>
+              </el-upload>
+              <el-table
+                :data="fileListto"
+                @row-click="downFile"
+                style="width: 100%"
+                height="400"
+              >
+                <el-table-column
+                  prop="name"
+                  :show-overflow-tooltip="true"
+                  label="鍚嶇О"
+                >
+                  <template slot-scope="scope">
+                    <i style="color:#409EFF" class=" el-icon-s-order" />
+                    <span>{{ scope.row.name }}</span>
+                  </template>
+                </el-table-column>
+
+                <el-table-column
+                  prop="name"
+                  width="190"
+                  :show-overflow-tooltip="true"
+                  label="鍔熻兘"
+                >
+                  <template slot-scope="scope">
+                    <el-button
+                      type="danger"
+                      size="mini"
+                      @click="deletedowfile(scope.row)"
+                      >鍒犻櫎</el-button
+                    >
+
+                    <el-button
+                      type="primary"
+                      size="mini"
+                      @click.native.prevent.stop="moveupdowfile(scope.row)"
+                      >涓婄Щ</el-button
+                    >
+                    <el-button
+                      type="success"
+                      size="mini"
+                      icon="el-icon-search"
+                      circle
+                      @click.native.prevent.stop="Downloadfile(scope.row)"
+                    ></el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </div>
+          </div>
+
+          <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin">
+            <!-- <img :src="pdfimg" /> -->
+            <el-image
+              style="width: 95%; height: 90%"
+              :src="pdfimg"
+              :preview-src-list="pdfimgsrcList"
+            >
+              <!-- <div slot="error" class="image-slot">
+              <i class="el-icon-picture-outline"></i>
+            </div> -->
+            </el-image>
+          </div>
+          <div v-else class="pdfimgmins">{{ hintitle }}</div>
+        </div>
+      </el-dialog>
     </div>
   </div>
 </template>
@@ -298,11 +582,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";
@@ -319,13 +608,47 @@
     Li_area_select,
     pdf
   },
-  dicts: ["sys_user_sex", "sys_0_1"],
+  dicts: ["sys_gathering", "sys_0_1"],
   name: "Donorchargemanager",
   data() {
     return {
       activeName: 1, //鏂囦欢绫诲瀷
-      // 閮ㄩ棬鏍戦�夐」
-
+      tableData: [
+        {
+          date: "2016-05-03",
+          name: "鐜嬪皬铏�",
+          address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
+        },
+        {
+          date: "2016-05-02",
+          name: "鐜嬪皬铏�",
+          address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
+        },
+        {
+          date: "2016-05-04",
+          name: "鐜嬪皬铏�",
+          address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
+        },
+        {
+          date: "2016-05-01",
+          name: "鐜嬪皬铏�",
+          address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
+        }
+      ],
+      gatheringlist: [
+        { label: "鏂板缓", value: "1" },
+        { label: "寰呮敹娆�", value: "2" },
+        { label: "宸叉敹娆�", value: "3" }
+      ],
+      multipleSelection: [],
+      patientqueryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        hospitalno: null,
+        paymentid: null
+      },
+      dialogVisiblepatient: false,
+      patienttotal: 0, //
       //绁ㄦ嵁鏂囦欢
       pdftitle: "",
       pdfimg: "",
@@ -366,10 +689,11 @@
       // 鎹愮尞妗堜緥鍣ㄥ畼鍒楄〃鏍兼暟鎹�
       donorchargeList: [],
       donorchargeorgans: [],
+      donorchargeanlList: [], //妗堜緥鍒楄〃
+      delogans: [],
       // 寮瑰嚭灞傛爣棰�
       title: "",
-      // 鏄惁鏄剧ず寮瑰嚭灞�
-      open: false,
+
       // 鏌ヨ璐圭敤琛ㄥ弬鏁�
       queryParams: {
         pageNum: 1,
@@ -384,7 +708,7 @@
       organParams: {
         pageNum: 1,
         pageSize: 10,
-        donorchargeid: null
+        paymentid: null
       },
 
       // 褰撳墠鐢ㄦ埛淇℃伅
@@ -404,6 +728,20 @@
           { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" }
         ]
       },
+      topicoptions: [
+        {
+          value: "閫夐」1",
+          label: "榛勯噾绯�"
+        },
+        {
+          value: "閫夐」2",
+          label: "鍙岀毊濂�"
+        },
+        {
+          value: "閫夐」5",
+          label: "鍖椾含鐑ら腑"
+        }
+      ],
 
       baselist: [],
       donorList: [],
@@ -424,10 +762,7 @@
       //鏂囦欢鍒楄〃
       fileList: [],
       fileListto: [],
-      invoicefileList: [],
-      invoicefileListto: [],
-      invoicepdfimg: "",
-      invoicepdfimgsrcList: [],
+
       invoDatatop: [],
       //浜哄憳绫诲埆
       persontype: null,
@@ -491,7 +826,40 @@
       }
     },
 
+    handleClosehz() {
+      this.dialogVisiblepatient = false;
+    },
+    handleQuery() {},
+    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;
+      this.patientqueryParams.paymentidIsNotNull = false;
+      listDonorchargeorgan(this.patientqueryParams).then(res => {
+        this.donorchargeList = res.rows;
+        this.patienttotal = res.total;
+        this.patientqueryParams.paymentidIsNotNull = true;
+        console.log(this.donorchargeList);
+      });
+    },
     // 鑾峰彇璇锋眰澶�
     Getnetworkheader() {
       let string = window.location.href;
@@ -503,19 +871,6 @@
         this.Networkheader = string.slice(0, index + 4); // 鎴彇8032鍙婂叾鍓嶉儴瀛楃
       }
     },
-    // 鍙戠エ鍒囨崲
-    handleClick(tab, event) {
-      if (this.activeName == 1) {
-        this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�";
-      } else {
-        this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�";
-      }
-    },
-
-    getIndexInArray(arr, obj) {
-      return arr.indexOf(obj);
-    },
-
     // 琛ㄥ崟閲嶇疆
     reset() {
       this.form = {
@@ -547,6 +902,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") {
@@ -562,6 +918,9 @@
         this.handleDetail();
         console.log("3");
       }
+      listDonorcharge({ pageNum: 1, pageSize: 10000 }).then(response => {
+        this.donorchargeanlList = response.rows;
+      });
     },
 
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
@@ -576,186 +935,116 @@
       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 = "淇敼鎹愮尞妗堜緥鍣ㄥ畼璐圭敤琛�";
+      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");
         });
       });
     },
 
     /** 鎻愪氦淇濆瓨鎸夐挳 */
-    submitForm: debounce(function(data) {
+    submitForm() {
+      this.chargeSum();
       this.$refs["form"].validate(valid => {
         if (valid) {
-          //鏍¢獙銆佽垂鐢ㄥ悎璁�
-          let ChargeSum = 0;
-          let ChargeamountSum = 0;
-          let organname = "";
-
-          try {
-            for (let i = 0; i < this.donorchargeorgans.length; i++) {
-              organname += this.donorchargeorgans[i].organname + ",";
-              if (!isNaN(parseFloat(this.donorchargeorgans[i].organcharge))) {
-                ChargeSum += parseFloat(this.donorchargeorgans[i].organcharge);
-              }
-              if (!isNaN(parseFloat(this.donorchargeorgans[i].amount))) {
-                ChargeamountSum += parseFloat(this.donorchargeorgans[i].amount);
-              }
-            }
-            this.form.donateorgan = organname.substring(
-              0,
-              organname.lastIndexOf(",")
-            );
-            this.form.chargeamount = ChargeSum.toFixed(2);
-            this.form.chargeamounted = ChargeamountSum.toFixed(2);
-          } catch {}
+          this.$modal.loading("姝e湪鎻愪氦锛岃绋嶅�欙紒");
 
           //淇濆瓨
           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);
+                this.form.id = response.msg;
                 //淇濆瓨鍓嶆牎楠屾暟鎹�
                 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;
@@ -770,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(() => {});
     },
 
     //琛ㄦ牸鍚堣
@@ -783,26 +1090,21 @@
       var columnnames = [
         "organno",
         "organname",
-        "amount",
         "amounttime",
-        "organcharge",
+        "organchargedesc",
         "hospitalname",
         "organtime",
-        "remark"
+        "remark",
+        "name",
+        "caseno",
+        "receiveTime"
       ];
       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;
@@ -824,6 +1126,192 @@
         }
       });
       return sums;
+    },
+    // 鏂囦欢------------------------
+    remove(file, fileList) {
+      const donorchargeorgans = [...this.donorchargeorgans];
+
+      this.fileListto.splice(this.fileListto.indexOf(file), 1);
+      donorchargeorgans[this.atpresent].annexFilesList = this.fileListto;
+    },
+
+    uploadSccess(response, file, fileList) {
+      this.donorchargeorgans;
+      const config = {
+        headers: { Authorization: "Bearer " + this.ICDtoken }
+      };
+      const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
+      //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆
+      if (response.code == 200) {
+        this.previewpdf = true;
+        fetch(pdfimg, config)
+          .then(response => response.blob())
+          .then(blob => {
+            // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL
+            this.pdfimg = URL.createObjectURL(blob);
+            this.pdfimgsrcList.push(URL.createObjectURL(blob));
+            this.fileListto.push({
+              name: file.name,
+              url: URL.createObjectURL(blob)
+            });
+          })
+          .catch(error => {
+            console.error("Error loading image", error);
+            return;
+          });
+
+        this.$modal.msgSuccess(response.msg);
+
+        console.log(this.fileListto, "鏂板鍚�");
+        if (!this.donorchargeorgans[this.atpresent].annexFilesList) {
+          this.donorchargeorgans[this.atpresent].annexFilesList = [];
+        }
+        this.donorchargeorgans[this.atpresent].annexFilesList.push({
+          name: file.name,
+          url: response.fileName
+        });
+        this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�";
+      } else {
+        console.log(response.msg);
+      }
+    },
+
+    // 鐐瑰嚮绁ㄦ嵁
+    Filepopup(index, row) {
+      const config = {
+        headers: { Authorization: "Bearer " + this.ICDtoken }
+      };
+
+      this.tableDatatop = [];
+      this.fileListto = [];
+      this.invoicefileListto = [];
+      this.pdfimg = "";
+      this.invoicepdfimg = [];
+      this.pdfimgsrcList = [];
+      this.invoicepdfimgsrcList = [];
+      this.tableDatatop.push(row);
+      this.atpresent = index;
+      this.pdfVisible = true;
+
+      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)
+              .then(response => response.blob())
+              .then(blob => {
+                return {
+                  name: value.name,
+                  url: URL.createObjectURL(blob)
+                };
+              })
+              .catch(error => {
+                console.error("Error loading image", error);
+                return null;
+              });
+          }
+        );
+
+        Promise.all(fetchPromises).then(fileListto => {
+          this.fileListto = fileListto.filter(item => item !== null);
+          this.pdfimg = this.fileListto[0].url;
+          console.log(this.pdfimg, "pdfimg");
+          this.pdfimgsrcList = this.fileListto.map(item => item.url);
+        });
+
+        this.previewpdf = true;
+      } else {
+        this.fileListto = [];
+        this.pdfimg = "";
+        this.pdftitle = "";
+      }
+
+      this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�";
+
+      console.log(this.fileListto, "this.fileListto");
+      console.log(
+        this.donorchargeorgans[index].annexFilesList,
+        "annexFilesList"
+      );
+    },
+
+    // 鐐瑰嚮宸蹭笂浼犳枃浠�
+    downFile(item) {
+      this.pdftitle =
+        "鍏�" + this.pdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name;
+      let name = item.name.split(".");
+      if (name[1] == "pdf") {
+        this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮");
+        this.previewpdf = false;
+        this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
+      } else if (name[1] == "jpg" || "png") {
+        console.log(item, "灞曠ず");
+        this.previewpdf = true;
+        if (item.url) {
+          this.pdfimg = item.url;
+        } else {
+          this.pdfimg = "";
+        }
+      } else {
+        this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
+        this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮");
+        this.previewpdf = false;
+      }
+    },
+    getIndexInArray(arr, obj) {
+      return arr.indexOf(obj);
+    },
+    // 鍙戠エ鍒囨崲
+    handleClick(tab, event) {
+      this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�";
+    },
+    // 鐐瑰嚮鍒犻櫎
+    deletedowfile(row) {
+      console.log(row);
+      let indexvalue = "";
+      const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.url);
+      this.pdfimgsrcList.splice(indexlist, 1);
+      const index = this.getIndexInArray(this.fileListto, row);
+      this.fileListto.splice(index, 1);
+      console.log(this.donorchargeorgans[this.atpresent].annexFilesList);
+      indexvalue = this.donorchargeorgans[
+        this.atpresent
+      ].annexFilesList.findIndex(item => item.name == row.name);
+      console.log(indexvalue, "鍒犻櫎绱㈠紩");
+      this.donorchargeorgans[this.atpresent].annexFilesList.splice(
+        indexvalue,
+        1
+      );
+    },
+    // 鐐瑰嚮涓婄Щ
+    moveupdowfile(row) {
+      const index = this.fileListto.findIndex(item => item.name == row.name);
+      const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+      this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+
+      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
+      ); // 灏唅temann鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+      console.log(indexann, "indexann");
+      console.log(index, "index");
+
+      console.log(
+        this.donorchargeorgans[this.atpresent].annexFilesList,
+        "annexFilesList"
+      );
+      console.log(this.fileListto, "fileListto");
+      // console.log(this.donorchargeorgans[this.atpresent].invoicefilesList,'invoicefilesList');
+    },
+    Downloadfile(row) {
+      window.location.href = row.url;
     }
   }
 };
@@ -897,9 +1385,60 @@
     text-align: center;
   }
 }
-.button-delete{
+.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);
+}
+.button-delete {
   color: rgb(236, 69, 69);
 }
+.examine-jic {
+  .headline {
+    font-size: 24px;
+    border-left: 5px solid #41a1be;
+    padding-left: 5px;
+    margin-bottom: 10px;
+    display: flex;
+    justify-content: space-between;
+    .Add-details {
+      font-size: 18px;
+      color: #02a7f0;
+      cursor: pointer;
+    }
+  }
+  .jic-value {
+    font-size: 20px;
+    border-top: 1px solid #a7abac;
+    padding: 10px;
+    margin-bottom: 10px;
+    .details-jic {
+      padding: 10px 15px;
+      border: 1px solid #dcdfe6;
+      -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+        0 0 6px 0 rgba(0, 0, 0, 0.04);
+      .details-title {
+        display: flex;
+        justify-content: space-between;
+        margin-bottom: 10px;
+        div:nth-child(2) {
+          color: #02a7f0;
+          cursor: pointer;
+        }
+      }
+      .details-renw {
+        background: #e4ebfc;
+        padding: 15px 5px;
+        border-radius: 5px;
+        margin-bottom: 20px;
+      }
+    }
+  }
+}
 
 ::v-deep .el-input--medium .el-input__inner {
   height: 36px;

--
Gitblit v1.9.3