fix:支出合同和收入合同的完善

This commit is contained in:
Maple 2025-08-11 15:42:21 +08:00
parent 80353e44bf
commit e4141a05cc
1 changed files with 75 additions and 3 deletions

View File

@ -88,6 +88,21 @@
/>
</a-modal>
</GiPageLayout>
<!-- 新建合同弹窗 -->
<a-modal
v-model:visible="showAddModal"
title="新建合同"
:width="800"
@cancel="closeAddModal"
@before-ok="handleAddSubmit"
>
<ContractEdit
v-if="showAddModal"
:contract-data="newContractData"
@update:contract-data="handleNewContractDataUpdate"
/>
</a-modal>
</template>
<script setup lang="ts">
@ -303,14 +318,71 @@ const onPageSizeChange = (size: number) => {
}
//
const showAddModal = ref(false)
const newContractData = ref<ContractItem>({
contractId: '', customer: '', code: '', projectId: '', type: '收入合同',
productService: '', paymentDate: null, performanceDeadline: null,
paymentAddress: '', amount: 0, accountNumber: '', notes: '',
contractStatus: '未确认', contractText: '', projectName: '',
salespersonName: null, salespersonDeptName: '', settlementAmount: null,
receivedAmount: null, contractStatusLabel: null, createBy: null, updateBy: null,
createTime: '', updateTime: '', page: 1, pageSize: 10, signDate: '', duration: '',
} as any)
const openAddModal = () => {
Message.info('新建合同功能开发中...')
Object.assign(newContractData.value, {
contractId: '', customer: '', code: '', projectId: '', type: '收入合同',
productService: '', paymentDate: null, performanceDeadline: null,
paymentAddress: '', amount: 0, accountNumber: '', notes: '',
contractStatus: '未确认', contractText: '', projectName: '',
salespersonName: null, salespersonDeptName: '', settlementAmount: null,
receivedAmount: null, contractStatusLabel: null, createBy: null, updateBy: null,
createTime: '', updateTime: '', page: 1, pageSize: 10, signDate: '', duration: '',
})
showAddModal.value = true
}
const exportContract = () => {
Message.info('导出合同功能开发中...')
const closeAddModal = () => { showAddModal.value = false }
const handleNewContractDataUpdate = (data: ContractItem) => { Object.assign(newContractData.value, data) }
const handleAddSubmit = async () => {
try {
const payload: any = {
accountNumber: newContractData.value.accountNumber || '',
amount: newContractData.value.amount || 0,
code: newContractData.value.code || '',
contractStatus: newContractData.value.contractStatus || '',
contractText: newContractData.value.contractText || '',
customer: newContractData.value.customer || '',
departmentId: (newContractData.value as any).departmentId || '',
duration: newContractData.value.duration || '',
notes: newContractData.value.notes || '',
paymentAddress: newContractData.value.paymentAddress || '',
paymentDate: newContractData.value.paymentDate || null,
performanceDeadline: newContractData.value.performanceDeadline || null,
productService: newContractData.value.productService || '',
projectId: newContractData.value.projectId || '',
salespersonId: (newContractData.value as any).salespersonId || '',
signDate: newContractData.value.signDate || null,
type: newContractData.value.type || '收入合同',
}
if (!newContractData.value.contractId) delete payload.contractId
const response = await http.post('/contract', payload)
if ((response as any).status === 200 && response.code === 200) {
Message.success('新建合同成功'); closeAddModal(); search(); return true
}
if (response.code === 200) { Message.success('新建合同成功'); closeAddModal(); search(); return true }
Message.error(response.msg || '新建合同失败'); return false
} catch (error: any) {
console.error('新建合同失败:', error)
Message.error('新建合同失败: ' + (error?.message || '请稍后再试'))
return false
}
}
const exportContract = () => { Message.info('导出合同功能开发中...') }
//
const showEditModal = ref(false)
const selectedContractData = ref<ContractItem | null>(null)