From 5743e533414c608a12f9323f17a7c86721c7f54c Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期五, 06 十一月 2026 00:13:43 +0800
Subject: [PATCH] organfee
---
src/views/project/unitCost/organfee/index.vue | 210 ++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 168 insertions(+), 42 deletions(-)
diff --git a/src/views/project/unitCost/organfee/index.vue b/src/views/project/unitCost/organfee/index.vue
index 6989a7b..c3afdba 100644
--- a/src/views/project/unitCost/organfee/index.vue
+++ b/src/views/project/unitCost/organfee/index.vue
@@ -8,31 +8,38 @@
v-show="showSearch"
label-width="90px"
>
- <el-form-item label="浠樻鍖婚櫌" prop="hospitalno">
+ <el-form-item label="鍥炴鍖婚櫌" prop="hospitalno">
<el-select
- v-model="queryParams.hospitalno"
- placeholder="璇烽�夋嫨浠樻鍖婚櫌"
+ v-model="hospitalFilter"
+ placeholder="璇烽�夋嫨鍥炴鍖婚櫌"
clearable
filterable
size="small"
style="width: 200px"
+ @change="handleHospitalFilterChange"
+ allow-create
>
+ <el-option label="鏈~鍐欏洖娆惧尰闄�" value="__EMPTY__" />
<el-option
v-for="item in organizationList"
:key="item.organizationid"
:label="item.organizationname"
- :value="item.organizationid"
+ :value="String(item.organizationid)"
/>
+
</el-select>
- </el-form-item>
- <el-form-item label="鎹愮尞鑰�" prop="donorname">
- <el-input
- v-model="queryParams.donorname"
- placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"
+ </el-form-item>
+ <el-form-item label="鍥炴鐘舵��" prop="payStatus">
+ <el-select
+ v-model="queryParams.payStatus"
+ placeholder="璇烽�夋嫨鍥炴鐘舵��"
clearable
size="small"
- @keyup.enter.native="handleQuery"
- />
+ style="width: 140px"
+ >
+ <el-option label="宸蹭粯" value="宸蹭粯" />
+ <el-option label="鏈粯" value="鏈粯" />
+ </el-select>
</el-form-item>
<el-form-item label="鎹愮尞鏃ユ湡">
<el-date-picker
@@ -46,6 +53,31 @@
size="small"
@change="handleDonatetimeChange"
/>
+ </el-form-item>
+ <el-form-item label="鎹愮尞鑰�" prop="donorname">
+ <el-input
+ v-model="queryParams.donorname"
+ placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"
+ clearable
+ size="small"
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="鍒╃敤鐘舵��" prop="organState">
+ <el-select
+ v-model="queryParams.organState"
+ placeholder="璇烽�夋嫨鍣ㄥ畼鐘舵��"
+ clearable
+ size="small"
+ style="width: 160px"
+ >
+ <el-option
+ v-for="item in organStateList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
</el-form-item>
<el-form-item>
<el-button
@@ -120,29 +152,21 @@
width="120"
align="center"
/>
- <el-table-column
- prop="payOrganName"
- label="浠樻鍣ㄥ畼鍚嶇О"
- width="140"
- align="center"
- show-overflow-tooltip
- />
+
<el-table-column
prop="caseno"
- label="鍣ㄥ畼鍒嗛厤缂栧彿"
+ label="鍣ㄥ畼缂栧彿"
align="center"
show-overflow-tooltip
- />
- <el-table-column prop="name" label="鍙椾綋" width="120" align="center" />
-
- <el-table-column label="鍣ㄥ畼鐘舵��" width="120" align="center">
+ />
+ <el-table-column label="鍒╃敤鐘舵��" width="120" align="center">
<template slot-scope="scope">
<span>{{ selectOrganState(scope.row.organState) }}</span>
</template>
</el-table-column>
<el-table-column
prop="hospitalname"
- label="浠樻鍖婚櫌"
+ label="鍥炴鍖婚櫌"
width="200"
align="center"
/>
@@ -152,7 +176,7 @@
width="120"
align="center"
/>
- <el-table-column label="浠樻鐘舵��" width="100" align="center">
+ <el-table-column label="鍥炴鐘舵��" width="100" align="center">
<template slot-scope="scope">
<span>{{ payStatus(scope.row) }}</span>
</template>
@@ -163,17 +187,25 @@
width="120"
align="center"
/>
- <el-table-column label="鏈粯閲戦" width="160" align="center">
+ <el-table-column label="鏈洖娆鹃噾棰�" width="160" align="center">
<template slot-scope="scope">
<span>{{ formatReceivableDiff(scope.row) }}</span>
</template>
</el-table-column>
- <el-table-column label="鏀舵鏃ユ湡" width="120" align="center">
+ <el-table-column label="鍥炴鏃ユ湡" width="120" align="center">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.organtime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
+ <el-table-column prop="name" label="鍙椾綋" width="120" align="center" />
+ <el-table-column
+ prop="payOrganName"
+ label="鍣ㄥ畼鍚嶇О-缁撶畻"
+ width="140"
+ align="center"
+ show-overflow-tooltip
+ />
<el-table-column
prop="organchargedesc"
label="澶囨敞"
@@ -182,7 +214,7 @@
/>
<el-table-column
label="鎿嶄綔"
- width="160"
+ width="210"
align="center"
fixed="right"
>
@@ -191,7 +223,6 @@
type="text"
icon="el-icon-edit"
@click="handleEdit(scope.row)"
- v-hasPermi="['project:donorchargeorgan:edit']"
>淇敼</el-button
>
<el-button
@@ -199,8 +230,13 @@
type="text"
icon="el-icon-check"
@click="handleCharge(scope.row)"
- v-hasPermi="['project:donorchargeorgan:edit']"
>宸叉敹璐�</el-button
+ >
+ <el-button
+ type="text"
+ icon="el-icon-delete"
+ @click="handleDelete(scope.row)"
+ >鍒犻櫎</el-button
>
</template>
</el-table-column>
@@ -216,7 +252,7 @@
<!-- 淇敼鍣ㄥ畼鐘舵�併�佸娉� -->
<el-dialog
- title="淇敼鍣ㄥ畼淇℃伅"
+ title="淇敼鍣ㄥ畼鍥炴淇℃伅"
:visible.sync="editOpen"
width="760px"
append-to-body
@@ -225,10 +261,10 @@
<el-form ref="editForm" :model="editForm" label-width="110px">
<el-row :gutter="20">
<el-col :span="12">
- <el-form-item label="浠樻鍖婚櫌" prop="hospitalno">
+ <el-form-item label="鍥炴鍖婚櫌" prop="hospitalno">
<el-select
v-model="editForm.hospitalno"
- placeholder="璇烽�夋嫨浠樻鍖婚櫌"
+ placeholder="璇烽�夋嫨鍥炴鍖婚櫌"
clearable
filterable
style="width: 100%"
@@ -244,20 +280,20 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="浠樻鍣ㄥ畼鍚嶇О" prop="payOrganName">
+ <el-form-item label="(缁撶畻)鍣ㄥ畼鍚嶇О" prop="payOrganName">
<el-input
v-model="editForm.payOrganName"
maxlength="100"
- placeholder="璇疯緭鍏ヤ粯娆惧櫒瀹樺悕绉�"
+ placeholder="璇疯緭鍏�(缁撶畻)鍣ㄥ畼鍚嶇О"
/>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍣ㄥ畼鍒嗛厤缂栧彿" prop="caseno">
+ <el-form-item label="(鍥藉)鍣ㄥ畼缂栧彿" prop="caseno">
<el-input
v-model="editForm.caseno"
maxlength="50"
- placeholder="璇疯緭鍏ュ櫒瀹樺垎閰嶇紪鍙�"
+ placeholder="璇疯緭鍏ュ浗瀹跺櫒瀹樺垎閰嶇紪鍙�"
/>
</el-form-item>
</el-col>
@@ -271,10 +307,45 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍣ㄥ畼鐘舵��" prop="organState">
+ <el-form-item label="搴旀敹閲戦" prop="organcharge">
+ <el-input-number
+ v-model="editForm.organcharge"
+ :min="0"
+ :precision="2"
+ :controls="false"
+ placeholder="璇疯緭鍏ュ簲鏀堕噾棰�"
+ style="width: 100%"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="瀹炴敹閲戦" prop="amount">
+ <el-input-number
+ v-model="editForm.amount"
+ :min="0"
+ :precision="2"
+ :controls="false"
+ placeholder="璇疯緭鍏ュ疄鏀堕噾棰�"
+ style="width: 100%"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鏀舵鏃ユ湡" prop="organtime">
+ <el-date-picker
+ v-model="editForm.organtime"
+ type="date"
+ value-format="yyyy-MM-dd"
+ placeholder="璇烽�夋嫨鏀舵鏃ユ湡"
+ style="width: 100%"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍒╃敤鐘舵��" prop="organState">
<el-select
v-model="editForm.organState"
- placeholder="璇烽�夋嫨鍣ㄥ畼鐘舵��"
+ placeholder="璇烽�夋嫨鍣ㄥ畼鍒╃敤鐘舵��"
style="width: 100%"
>
<el-option
@@ -467,6 +538,7 @@
listDonorchargeorgan,
addDonorchargeorgan,
updateDonorchargeorgan,
+ delDonorchargeorgan,
exportOrganfee
} from "@/api/project/donorcharge";
import { listOrganization } from "@/api/project/organization";
@@ -530,8 +602,11 @@
payOrganName: null,
caseno: null,
name: null,
+ organcharge: null,
+ amount: null,
organState: null,
- organchargedesc: null
+ organchargedesc: null,
+ organtime: null
},
// 鏂板寮圭獥
addOpen: false,
@@ -549,11 +624,16 @@
]
},
// 鏌ヨ鍙傛暟
+ // 鍥炴鍖婚櫌绛涢�夛紙__EMPTY__ 琛ㄧず鏈~鍐欙級
+ hospitalFilter: null,
queryParams: {
pageNum: 1,
pageSize: 10,
hospitalno: null,
+ hospitalnoIsNull: false,
donorname: null,
+ organState: null,
+ payStatus: null,
paymentid: null,
// false锛氳蛋 queryListBypaymentidIsNull锛屽嵆鏈敹榻愯垂鐢ㄧ殑鍣ㄥ畼
paymentidIsNotNull: false,
@@ -650,6 +730,20 @@
})
.catch(() => {});
},
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete(row) {
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎鍣ㄥ畼璐圭敤缂栧彿涓�"' + row.id + '"鐨勬暟鎹」锛�')
+ .then(() => delDonorchargeorgan(row.id))
+ .then(() => {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ if (this.currentRow && this.currentRow.id === row.id) {
+ this.currentRow = null;
+ }
+ this.getList();
+ })
+ .catch(() => {});
+ },
/** 琛ㄦ牸褰撳墠琛屽彉鍖� */
handleCurrentChange(row) {
this.currentRow = row;
@@ -724,7 +818,7 @@
});
});
},
- /** 鎵撳紑淇敼寮圭獥锛堜粯娆惧尰闄€�佷粯娆惧櫒瀹樺悕绉般�佸櫒瀹樼姸鎬併�佸娉級 */
+ /** 鎵撳紑淇敼寮圭獥锛堝洖娆惧尰闄€�佷粯娆惧櫒瀹樺悕绉般�侀噾棰濄�佸埄鐢ㄧ姸鎬併�佸娉級 */
handleEdit(row) {
this.editForm = {
id: row.id,
@@ -736,11 +830,18 @@
payOrganName: row.payOrganName || "",
caseno: row.caseno || "",
name: row.name || "",
+ organcharge:
+ row.organcharge === null || row.organcharge === undefined
+ ? null
+ : row.organcharge,
+ amount:
+ row.amount === null || row.amount === undefined ? null : row.amount,
organState:
row.organState === null || row.organState === undefined
? null
: String(row.organState),
- organchargedesc: row.organchargedesc || ""
+ organchargedesc: row.organchargedesc || "",
+ organtime: row.organtime
};
this.editOpen = true;
},
@@ -779,13 +880,38 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
this.donatetimeRange = [];
+ this.hospitalFilter = null;
+ this.queryParams.hospitalnoIsNull = false;
this.queryParams.hospitalno = null;
this.queryParams.donorname = null;
+ this.queryParams.organState = null;
+ this.queryParams.payStatus = null;
this.queryParams.starttime = null;
this.queryParams.endtime = null;
this.queryParams.pageNum = 1;
this.getList();
},
+ /** 鍥炴鍖婚櫌绛涢�夛細__EMPTY__ 琛ㄧず鍙煡鏈~鍐欏洖娆惧尰闄㈢殑鏁版嵁 */
+ handleHospitalFilterChange(value) {
+ if (value === "__EMPTY__") {
+ this.queryParams.hospitalno = null;
+ this.queryParams.hospitalnoIsNull = true;
+ } else {
+ const selectedOption = this.organizationList.findIndex(item => item.organizationid === value);
+ if(selectedOption==-1){
+ this.queryParams.hospitalname = value;
+ this.queryParams.hospitalno=null;
+ }
+ else{
+ this.queryParams.hospitalno=value;
+ this.queryParams.hospitalname=null;
+ }
+
+
+ this.queryParams.hospitalnoIsNull = false;
+ }
+ this.queryParams.pageNum = 1;
+ },
/** 鎶ュ憡鏃ユ湡鍖洪棿 -> 鏌ヨ鍙傛暟锛屾湭閫夋嫨鏃朵紶 null锛岄伩鍏嶅悗绔嫾鍑� donatetime >= '' */
handleDonatetimeChange(val) {
if (val && val.length === 2) {
--
Gitblit v1.9.3