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

View File

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