fix: 新增支出页面添加收款单位必填字段

This commit is contained in:
zhangjf 2026-02-23 14:23:27 +08:00
parent 9498201313
commit 83e8712dfc
2 changed files with 22 additions and 1 deletions

View File

@ -53,6 +53,7 @@
¥{{ row.amount?.toLocaleString() || '0' }}
</template>
</el-table-column>
<el-table-column prop="payeeName" label="收款单位" width="140" show-overflow-tooltip />
<el-table-column prop="expenseDate" label="支出日期" width="120" />
<el-table-column prop="approvalStatus" label="审批状态" width="100">
<template #default="{ row }">
@ -145,6 +146,11 @@
<el-input-number v-model="form.amount" :precision="2" :min="0" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="收款单位" prop="payeeName">
<el-input v-model="form.payeeName" placeholder="请输入收款单位" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
@ -199,6 +205,7 @@
<el-descriptions :column="1" border>
<el-descriptions-item label="支出标题">{{ approvalData.title }}</el-descriptions-item>
<el-descriptions-item label="支出金额">¥{{ approvalData.amount?.toLocaleString() || '0' }}</el-descriptions-item>
<el-descriptions-item label="收款单位">{{ approvalData.payeeName || '-' }}</el-descriptions-item>
<el-descriptions-item label="支出类型">{{ approvalData.expenseTypeName }}</el-descriptions-item>
<el-descriptions-item label="关联项目">{{ approvalData.projectName || '-' }}</el-descriptions-item>
<el-descriptions-item label="申请人">{{ approvalData.applicant }}</el-descriptions-item>
@ -229,6 +236,7 @@
<el-descriptions-item label="支出金额">
¥{{ detailData.amount?.toLocaleString() || '0' }}
</el-descriptions-item>
<el-descriptions-item label="收款单位">{{ detailData.payeeName || '-' }}</el-descriptions-item>
<el-descriptions-item label="支出日期">{{ detailData.expenseDate }}</el-descriptions-item>
<el-descriptions-item label="审批状态">
<el-tag v-if="detailData.approvalStatus === 'DRAFT'" type="info">草稿</el-tag>
@ -312,6 +320,7 @@ const form = reactive({
expenseTypeId: null as number | null,
projectId: null as number | null,
amount: 0,
payeeName: '',
expenseDate: '',
applicant: '',
description: '',
@ -323,6 +332,7 @@ const rules = reactive<FormRules>({
title: [{ required: true, message: '请输入支出标题', trigger: 'blur' }],
expenseTypeId: [{ required: true, message: '请选择支出类型', trigger: 'change' }],
amount: [{ required: true, message: '请输入支出金额', trigger: 'blur' }],
payeeName: [{ required: true, message: '请输入收款单位', trigger: 'blur' }],
expenseDate: [{ required: true, message: '请选择支出日期', trigger: 'change' }],
applicant: [{ required: true, message: '请输入申请人', trigger: 'blur' }]
})
@ -552,6 +562,7 @@ const resetForm = () => {
form.expenseTypeId = null
form.projectId = null
form.amount = 0
form.payeeName = ''
form.expenseDate = ''
form.applicant = ''
form.description = ''

View File

@ -32,6 +32,11 @@
</div>
</div>
<div class="form-group">
<label>收款单位 <span class="required">*</span></label>
<input v-model="form.payeeName" placeholder="输入收款单位名称" class="mac-input" />
</div>
<div class="form-group">
<label>支出日期</label>
<div class="mac-select" @click="showDatePicker = true">
@ -82,6 +87,7 @@ const form = reactive({
expenseTypeId: null as number | null,
expenseTypeName: '',
amount: '',
payeeName: '',
expenseDate: '',
description: ''
})
@ -113,6 +119,10 @@ const handleSubmit = async () => {
showFailToast('请输入支出金额')
return
}
if (!form.payeeName) {
showFailToast('请输入收款单位')
return
}
loading.value = true
try {
@ -124,7 +134,7 @@ const handleSubmit = async () => {
amount: parseFloat(form.amount),
expenseDate: expenseDateTime,
purpose: form.description,
payeeName: '待填写'
payeeName: form.payeeName
}
console.log('提交支出数据:', requestData)
await createExpense(requestData)