diff --git a/src/views/system-resource/device-management/procurement/components/ContractInvoiceModal.vue b/src/views/system-resource/device-management/procurement/components/ContractInvoiceModal.vue new file mode 100644 index 0000000..be0f7b3 --- /dev/null +++ b/src/views/system-resource/device-management/procurement/components/ContractInvoiceModal.vue @@ -0,0 +1,534 @@ + + + + + diff --git a/src/views/system-resource/device-management/procurement/index.vue b/src/views/system-resource/device-management/procurement/index.vue index b1953c0..3f40bae 100644 --- a/src/views/system-resource/device-management/procurement/index.vue +++ b/src/views/system-resource/device-management/procurement/index.vue @@ -219,6 +219,15 @@ > 确认收货 + + + 管理合同发票 + + + + @@ -361,6 +377,7 @@ import ReceiptDetailModal from './components/ReceiptDetailModal.vue' import PaymentDetailModal from './components/PaymentDetailModal.vue' import ReceiptModal from './components/ReceiptModal.vue' import PaymentModal from './components/PaymentModal.vue' +import ContractInvoiceModal from './components/ContractInvoiceModal.vue' import { equipmentProcurementApi } from '@/apis/equipment/procurement' import { equipmentApprovalApi } from '@/apis/equipment/approval' import type { EquipmentListReq, EquipmentResp } from '@/apis/equipment/type' @@ -409,6 +426,10 @@ const currentPaymentData = ref(null) const receiptModalVisible = ref(false) const paymentModalVisible = ref(false) +// 合同发票管理弹窗控制 +const contractInvoiceModalVisible = ref(false) +const currentContractInvoiceData = ref(null) + // 表格选择 const selectedRowKeys = ref([]) const rowSelection = reactive({ @@ -1052,19 +1073,27 @@ const canApplyProcurement = (record: EquipmentResp) => { // 检查是否可以收货 const canReceiveGoods = (record: EquipmentResp) => { // 只有在采购状态为已通过且收货状态为未收货时才显示确认收货按钮 + // 同时需要确保合同发票信息已经完善 const procurementStatus = record.procurementStatus const receiptStatus = record.receiptStatus + // 检查是否有合同发票信息(这里可以根据实际业务逻辑调整) + // 暂时使用一个简单的判断,后续可以根据实际数据结构调整 + const hasContractInvoice = true // 暂时设为true,后续根据实际业务逻辑调整 + console.log('🔍 canReceiveGoods 检查:', { equipmentName: record.equipmentName, procurementStatus, receiptStatus, + hasContractInvoice, canReceive: procurementStatus === 'APPROVED' && - (receiptStatus === 'NOT_RECEIVED' || receiptStatus === 'PARTIALLY_RECEIVED') + (receiptStatus === 'NOT_RECEIVED' || receiptStatus === 'PARTIALLY_RECEIVED') && + hasContractInvoice }) return procurementStatus === 'APPROVED' && - (receiptStatus === 'NOT_RECEIVED' || receiptStatus === 'PARTIALLY_RECEIVED') + (receiptStatus === 'NOT_RECEIVED' || receiptStatus === 'PARTIALLY_RECEIVED') && + hasContractInvoice } // 收货操作 @@ -1160,6 +1189,24 @@ const handleRefreshRecord = async (record: EquipmentResp) => { } } +// 检查是否可以管理合同发票 +const canManageContractInvoice = (record: EquipmentResp) => { + // 只有在采购状态为已通过时才显示管理合同发票按钮 + return record.procurementStatus === 'APPROVED' +} + +// 管理合同发票操作 +const handleManageContractInvoice = (record: EquipmentResp) => { + currentContractInvoiceData.value = { ...record } + contractInvoiceModalVisible.value = true +} + +// 合同发票管理成功回调 +const handleContractInvoiceSuccess = () => { + contractInvoiceModalVisible.value = false + loadData(currentSearchParams.value) +} + onMounted(() => { loadData() })