From ad5e7a527167a86ca7969e874df9950a5c4e2ff9 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期五, 30 十月 2026 09:57:41 +0800
Subject: [PATCH] 器官收费
---
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