From 8f059b6cc8daf96433ac699543996c9e1260023c Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期五, 30 十月 2026 09:58:04 +0800
Subject: [PATCH] Merge branch 'master' of http://116.62.18.175:6699/r/~yxh/opo-web

---
 src/views/project/unitCost/particulars/index.vue |  128 +++++++++++++++++++++++++++++++++---------
 1 files changed, 100 insertions(+), 28 deletions(-)

diff --git a/src/views/project/unitCost/particulars/index.vue b/src/views/project/unitCost/particulars/index.vue
index d71c45f..53306be 100644
--- a/src/views/project/unitCost/particulars/index.vue
+++ b/src/views/project/unitCost/particulars/index.vue
@@ -6,7 +6,7 @@
         <el-row>
           <el-col :span="5">
             <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
-              <el-date-picker
+              <el-date-picker style="width: 130px;"
                 v-model="form.createTime"
                 value-format="yyyy-MM-dd "
                 type="date"
@@ -189,7 +189,7 @@
               prop="receiveTime"
               align="center"
               label="鎺ユ敹鏃ユ湡"
-              width="200"
+              width="150"
             >
               <template slot-scope="scope">
                 <el-date-picker
@@ -198,11 +198,33 @@
                   style="width: 100%"
                   v-model="scope.row.receiveTime"
                   :disabled="true"
-                  type="date"
+                  type="date" format="yyyy-MM-dd"
                   value-format="yyyy-MM-dd HH:mm:ss"
                   placeholder="鎺ユ敹鏃ユ湡"
                 >
                 </el-date-picker>
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="organState"
+              align="center"
+              label="鍣ㄧ鐘舵��"
+              width="120"
+            >
+              <template slot-scope="scope">
+                <el-select
+                  v-model="scope.row.organState"
+                  placeholder="璇烽�夋嫨鍣ㄧ鐘舵��"
+                  clearable
+                  style="width: 100%"
+                >
+                  <el-option
+                    v-for="item in chargetypelist"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  />
+                </el-select>
               </template>
             </el-table-column>
             <el-table-column
@@ -257,7 +279,7 @@
             </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"
+                <el-date-picker clearable size="small" style="width: 100%" v-model="scope.row.amounttime" type="date" format="yyyy-MM-dd"
                   value-format="yyyy-MM-dd HH:mm:ss" placeholder="鏀舵鏃ユ湡">
                 </el-date-picker>
               </template>
@@ -266,7 +288,7 @@
             <el-table-column
               label="鎿嶄綔"
               fixed="right"
-              width="260"
+              width="200"
               align="center"
             >
               <template slot-scope="scope">
@@ -329,11 +351,12 @@
             <el-row :gutter="20">
               <!--鐢ㄦ埛鏁版嵁-->
               <el-form
+                class="opo-query-form"
                 :model="patientqueryParams"
                 ref="queryForm"
                 size="small"
                 :inline="true"
-                label-width="98px"
+                label-width="70px"
               >
                 <el-form-item label="鎺ユ敹鍖婚櫌" prop="status">
                   <el-input
@@ -343,10 +366,22 @@
                   />
                 </el-form-item>
                 <el-form-item label="鎹愮尞鑰�" prop="status">
-                  <el-input
+                  <el-input style="width: 100px;"
                     v-model="patientqueryParams.donorname"
                     @keyup.enter.native="handleAddpatient"
                     placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"
+                  />
+                </el-form-item>
+                <el-form-item label="鎶ュ憡鏃ユ湡" prop="donatetime">
+                  <el-date-picker style="width: 220px;"
+                    v-model="donatetimeRange"
+                    type="daterange"
+                    range-separator="鑷�"
+                    start-placeholder="寮�濮嬫棩鏈�"
+                    end-placeholder="缁撴潫鏃ユ湡"
+                    value-format="yyyy-MM-dd"
+                    clearable
+                    @change="handleDonatetimeChange"
                   />
                 </el-form-item>
                 <!-- <el-form-item label="鎹愮尞鑰�" prop="status">
@@ -381,6 +416,11 @@
                 @selection-change="handleSelectionChange"
               >
                 <el-table-column type="selection" width="55"> </el-table-column>
+                <el-table-column prop="donatetime" label="鎶ュ憡鏃ユ湡" width="120">
+                  <template slot-scope="scope">
+                    <span>{{ parseTime(scope.row.donatetime, "{y}-{m}-{d}") }}</span>
+                  </template>
+                </el-table-column>
                 <el-table-column label="鎹愮尞鑰�" width="120">
                   <template slot-scope="scope">{{
                     scope.row.donorname
@@ -392,11 +432,10 @@
                   show-overflow-tooltip
                 >
                 </el-table-column>
-                <el-table-column prop="organno" label="鍣ㄥ畼缂栧彿" width="120">
-                </el-table-column>
+         
                 <el-table-column
                   prop="caseno"
-                  label="鍒嗛厤绯荤粺缂栧彿"
+                  label="鍣ㄥ畼鍒嗛厤缂栧彿"
                   show-overflow-tooltip
                 >
                 </el-table-column>
@@ -407,8 +446,14 @@
                 >
                 </el-table-column>
                 <el-table-column
-                  prop="receiveTime"
-                  label="绉绘鏃ユ湡"
+                  prop="organcharge"
+                  label="搴旀敹璐圭敤"
+                  show-overflow-tooltip
+                >
+                </el-table-column>
+                <el-table-column
+                  prop="amount"
+                  label="瀹炴敹璐圭敤"
                   show-overflow-tooltip
                 >
                 </el-table-column>
@@ -575,6 +620,7 @@
 import Li_area_select from "@/components/Address";
 import { getUserProfile } from "@/api/system/user";
 import { getToken } from "@/utils/auth";
+import { moneySum, moneyRound } from "@/utils/money";
 import debounce from "lodash/debounce";
 export default {
   components: {
@@ -610,17 +656,31 @@
           address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
         }
       ],
+      // 鏀惰垂椤圭洰涓嬫媺閫夐」
+      chargetypelist: [
+      { label: "绉绘", value: "1" },
+      { label: "澶卞姛", value: "2" },
+      { label: "搴撳瓨", value: "3" },
+      { label: "宸茬Щ妞�", value: "4" },
+      { label: "寮冪敤", value: "5" },
+      { label: "鐩寸郴鍏嶉櫎", value: "6" },
+      { label: "涓嶈壇浜嬩欢", value: "7" }
+      ],
       gatheringlist: [
         { label: "鏂板缓", value: "1" },
         { label: "寰呮敹娆�", value: "2" },
         { label: "宸叉敹娆�", value: "3" }
       ],
       multipleSelection: [],
+      // 鎶ュ憡鏃ユ湡鍖洪棿锛堝搴斿悗绔� starttime/endtime锛屾寜 donatebaseinfo.donatetime 杩囨护锛�
+      donatetimeRange: [],
       patientqueryParams: {
         pageNum: 1,
         pageSize: 10,
         hospitalno: null,
-        paymentid: null
+        paymentid: null,
+        starttime: null,
+        endtime: null
       },
       // 鎬婚�変腑鏁版嵁
       overallCase: [],
@@ -809,7 +869,21 @@
     resetQuery() {
       this.patientqueryParams.donorname = null;
       this.patientqueryParams.donorchargeid = null;
+      this.patientqueryParams.pageNum = 1;
+      this.donatetimeRange = [];
+      this.handleDonatetimeChange(null);
       this.handleAddpatient();
+    },
+    // 鎶ュ憡鏃ユ湡鍖洪棿 -> 鏌ヨ鍙傛暟锛屾湭閫夋嫨鏃朵紶 null锛岄伩鍏嶅悗绔嫾鍑� donatetime >= ''
+    handleDonatetimeChange(val) {
+      if (val && val.length === 2) {
+        this.patientqueryParams.starttime = val[0] + " 00:00:00";
+        this.patientqueryParams.endtime = val[1] + " 23:59:59";
+      } else {
+        this.patientqueryParams.starttime = null;
+        this.patientqueryParams.endtime = null;
+      }
+      this.patientqueryParams.pageNum = 1;
     },
     handleUploadError() {},
     // 寮规娣诲姞
@@ -897,6 +971,7 @@
       this.patientqueryParams.hospitalno = this.form.hospitalno;
       this.patientqueryParams.paymentid = null;
       this.patientqueryParams.paymentidIsNotNull = false;
+      this.patientqueryParams.pageSize = 10;
       listDonorchargeorgan(this.patientqueryParams).then(res => {
         this.donorchargeList = res.rows;
         this.patienttotal = res.total;
@@ -984,6 +1059,7 @@
         this.form.hospitalname = this.curCase.organizationname;
         this.form.hospitalno = this.curCase.organizationid;
         this.form.borthdate = this.curCase.birthday;
+        this.form.paymentno = this.$moment().format("YYYYMM") + this.curCase.organizationname ;
       }
     },
 
@@ -995,6 +1071,7 @@
       listDonorpayment({ id: this.curId }).then(response => {
         this.form = response.rows[0];
         //鍣ㄥ畼璐圭敤淇℃伅
+        this.patientqueryParams.pageSize = 1000;
         listDonorchargeorgan(this.patientqueryParams).then(res => {
           console.log("listDonorchargeorgan", res);
           this.donorchargeorgans = res.rows;
@@ -1011,6 +1088,7 @@
         this.title = "鏌ョ湅鎹愮尞妗堜緥鍣ㄥ畼璐圭敤琛�";
         this.form = response.rows[0];
         //鍣ㄥ畼璐圭敤淇℃伅
+        this.patientqueryParams.pageSize = 1000;
         listDonorchargeorgan(this.patientqueryParams).then(res => {
           console.log("listDonorchargeorgan", res);
           this.donorchargeorgans = res.rows;
@@ -1086,23 +1164,16 @@
         this.$modal.msgError("娉ㄦ剰瀹炴敹閲戦涓嶇瓑浜庡簲鏀堕噾棰濓紝璇锋牳瀵规暟鎹紒");
       }
     },
-    //淇敼瀹炴敹鎴栧簲鏀跺悗瑙﹀彂
+    //淇敼瀹炴敹鎴栧簲鏀跺悗瑙﹀彂锛堥噾棰濅竴寰嬭蛋绮剧‘杩愮畻锛�
     chargeSum() {
-      let ChargeSum = 0;
-      let ChargeamountSum = 0;
-
       //璐圭敤鍚堣
       try {
-        for (let i = 0; i < this.donorchargeorgans.length; i++) {
-          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.receivableamount = ChargeSum.toFixed(2);
-        this.form.receivedamount = ChargeamountSum.toFixed(2);
+        this.form.receivableamount = moneyRound(
+          moneySum(this.donorchargeorgans, "organcharge")
+        ).toFixed(2);
+        this.form.receivedamount = moneyRound(
+          moneySum(this.donorchargeorgans, "amount")
+        ).toFixed(2);
       } catch {}
     },
 
@@ -1140,7 +1211,8 @@
         "remark",
         "name",
         "caseno",
-        "receiveTime"
+        "receiveTime",
+        "organState"
       ];
       columns.forEach((column, index) => {
         if (index === 0) {

--
Gitblit v1.9.3