diff --git a/src/views/Transfers.vue b/src/views/Transfers.vue index 3a65a3e..5e7f1dd 100644 --- a/src/views/Transfers.vue +++ b/src/views/Transfers.vue @@ -206,13 +206,13 @@
确认收款 @@ -237,8 +237,115 @@
- - + + +
+
+

转账信息

+
+ 转账金额: + ¥{{ currentTransfer.amount }} +
+
+ 转账说明: + {{ currentTransfer.description }} +
+
+ 转账时间: + {{ formatTime(currentTransfer.created_at) }} +
+
+ 转账类型: + {{ getTransferTypeText(currentTransfer.transfer_type) }} +
+
+ +
+

转账凭证

+
+ + + +
+
+ +
+ +

暂无转账凭证

+
+
+ + +
+ + + + + + + + + + + + + + + + + @@ -264,6 +371,20 @@ const showReturnDialog = ref(false) const statusFilter = ref('') const currentTransfer = ref({}) const currentAllocation = ref({}) +const confirmFormRef = ref(null) + +const confirmForm = reactive({ + confirmedAmount: '', + remarks: '' +}) + +const confirmRules = { + confirmedAmount: [ + { required: true, message: '请输入实际收到的金额', trigger: 'blur' }, + { type: 'number', min: 0, message: '金额必须大于0', trigger: 'blur' } + ] +} + const returnForm = reactive({ returnAmount: '', description: '' @@ -529,46 +650,45 @@ const confirmReturn = async () => { } } -const confirmReceived = async (transferId) => { - try { - const transfer = allTransferHistory.value.find(t => t.id === transferId); - if (!transfer) { - ElMessage.error('转账记录不存在'); - return; - } +const showVoucherConfirmDialog = (transfer) => { + currentTransfer.value = transfer + showVoucherDialog.value = true +} +const doConfirmReceived = async () => { + try { await ElMessageBox.confirm( - '请确认已收到款项并核对凭证,确定要确认收款吗?', + `确定已收到¥${currentTransfer.value.amount}款项吗?`, '确认收款', { - confirmButtonText: '确认收款', + confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning' } - ); + ) - confirmLoading.value = true; + confirmLoading.value = true - // 使用 transferAPI.confirmReceived 方法 - const response = await transferAPI.confirmReceived(transferId); + const response = await transferAPI.confirmReceived(currentTransfer.value.id) if (response.data.success) { - ElMessage.success('收款确认成功'); - await loadTransferHistory(); - await loadPendingTransfers(); + ElMessage.success('收款确认成功') + showVoucherDialog.value = false + await loadTransferHistory() + await loadPendingTransfers() } } catch (error) { if (error !== 'cancel') { - console.error('确认收款失败:', error); + console.error('确认收款失败:', error) const errorMsg = error.response?.data?.message || error.response?.data?.error?.message || - '确认收款失败'; - ElMessage.error(errorMsg); + '确认收款失败' + ElMessage.error(errorMsg) } } finally { - confirmLoading.value = false; + confirmLoading.value = false } -}; +} const confirmNotReceived = async (transferId) => { try { @@ -580,30 +700,29 @@ const confirmNotReceived = async (transferId) => { cancelButtonText: '取消', type: 'warning' } - ); + ) - confirmLoading.value = true; + confirmLoading.value = true - // 使用 transferAPI.confirmNotReceived 方法 - const response = await transferAPI.confirmNotReceived(transferId); + const response = await transferAPI.confirmNotReceived(transferId) if (response.data.success) { - ElMessage.success(response.data.message || '操作成功'); - await loadTransferHistory(); - await loadPendingTransfers(); + ElMessage.success(response.data.message || '操作成功') + await loadTransferHistory() + await loadPendingTransfers() } } catch (error) { if (error !== 'cancel') { - console.error('确认未收款失败:', error); + console.error('确认未收款失败:', error) const errorMsg = error.response?.data?.message || error.response?.data?.error?.message || - '操作失败'; - ElMessage.error(errorMsg); + '操作失败' + ElMessage.error(errorMsg) } } finally { - confirmLoading.value = false; + confirmLoading.value = false } -}; +}