diff --git a/src/apis/equipment/type.ts b/src/apis/equipment/type.ts
index 854fa3c..2bd5a1e 100644
--- a/src/apis/equipment/type.ts
+++ b/src/apis/equipment/type.ts
@@ -194,6 +194,12 @@ export interface EquipmentResp {
inventoryBasis?: string
/** 动态记录 */
dynamicRecord?: string
+
+ /** 采购状态 */
+ procurementStatus?: string
+
+ /** 审批状态 */
+ approvalStatus?: string
}
/**
@@ -294,6 +300,17 @@ export enum BusinessType {
RETURN = 'RETURN'
}
+/**
+ * 设备采购状态枚举
+ */
+export enum ProcurementStatus {
+ NOT_STARTED = 'NOT_STARTED',
+ PENDING_APPROVAL = 'PENDING_APPROVAL',
+ APPROVED = 'APPROVED',
+ REJECTED = 'REJECTED',
+ COMPLETED = 'COMPLETED'
+}
+
/**
* 设备审批列表查询请求
*/
diff --git a/src/views/system-resource/device-management/procurement/components/ProcurementApplicationModal.vue b/src/views/system-resource/device-management/procurement/components/ProcurementApplicationModal.vue
index d77e9f5..da2510f 100644
--- a/src/views/system-resource/device-management/procurement/components/ProcurementApplicationModal.vue
+++ b/src/views/system-resource/device-management/procurement/components/ProcurementApplicationModal.vue
@@ -237,6 +237,7 @@ const rules = {
// 监听设备数据变化,填充表单
watch(() => props.equipmentData, (newData) => {
if (newData) {
+ console.log('采购申请弹窗 - 接收到设备数据:', newData)
// 填充设备数据到表单
Object.assign(formData, {
equipmentId: newData.equipmentId || '', // 添加设备ID
@@ -254,6 +255,7 @@ watch(() => props.equipmentData, (newData) => {
technicalRequirements: '',
businessJustification: ''
})
+ console.log('采购申请弹窗 - 填充后的表单数据:', formData)
}
}, { immediate: true })
@@ -291,10 +293,18 @@ const handleSubmit = async () => {
// 调试信息:打印提交的数据
console.log('提交的表单数据:', submitData)
+ console.log('设备ID:', submitData.equipmentId)
+ console.log('设备名称:', submitData.equipmentName)
console.log('applyReason 值:', submitData.applyReason)
console.log('applyReason 类型:', typeof submitData.applyReason)
console.log('applyReason 长度:', submitData.applyReason?.length)
+ // 确保设备ID存在
+ if (!submitData.equipmentId) {
+ Message.error('设备ID不能为空,请检查设备数据')
+ return
+ }
+
await equipmentApprovalApi.submitProcurementApplication(submitData)
// 添加采购申请通知
diff --git a/src/views/system-resource/device-management/procurement/index.vue b/src/views/system-resource/device-management/procurement/index.vue
index 6dc9934..1a235c7 100644
--- a/src/views/system-resource/device-management/procurement/index.vue
+++ b/src/views/system-resource/device-management/procurement/index.vue
@@ -128,6 +128,17 @@
+
+
+
+ {{ getProcurementStatusText(record.procurementStatus) }}
+
+ 未开始
+
+
@@ -175,7 +186,7 @@
编辑
-
+
申请采购
+
+
+ {{ getProcurementStatusText(record.procurementStatus) }}
+
{{ getApprovalStatusText(record.approvalStatus) }}
+
@@ -345,6 +364,14 @@ const columns = [
slotName: 'equipmentStatus',
width: 120,
},
+ {
+ title: '采购状态',
+ dataIndex: 'procurementStatus',
+ key: 'procurementStatus',
+ slotName: 'procurementStatus',
+ width: 120,
+ fixed: false,
+ },
{
title: '位置状态',
dataIndex: 'locationStatus',
@@ -403,6 +430,30 @@ const getEquipmentStatusText = (status: string) => {
return textMap[status] || '未知'
}
+// 获取采购状态颜色
+const getProcurementStatusColor = (status: string) => {
+ const colorMap: Record = {
+ NOT_STARTED: 'gray',
+ PENDING_APPROVAL: 'blue',
+ APPROVED: 'green',
+ REJECTED: 'red',
+ COMPLETED: 'purple',
+ }
+ return colorMap[status] || 'blue'
+}
+
+// 获取采购状态文本
+const getProcurementStatusText = (status: string) => {
+ const textMap: Record = {
+ NOT_STARTED: '未开始',
+ PENDING_APPROVAL: '待审批',
+ APPROVED: '已通过',
+ REJECTED: '已拒绝',
+ COMPLETED: '已完成',
+ }
+ return textMap[status] || '未知'
+}
+
// 获取位置状态颜色
const getLocationStatusColor = (status: string) => {
const colorMap: Record = {
@@ -530,6 +581,7 @@ const transformBackendData = (data: any[]): EquipmentResp[] => {
totalPrice: item.totalPrice,
inventoryBasis: item.inventoryBasis,
dynamicRecord: item.dynamicRecord,
+ procurementStatus: item.procurementStatus,
}))
}
@@ -572,6 +624,10 @@ const loadData = async (searchParams?: EquipmentListReq) => {
if (dataList.length > 0) {
const transformedData = transformBackendData(dataList)
console.log('转换后的数据:', transformedData)
+ // 调试采购状态字段
+ transformedData.forEach((item, index) => {
+ console.log(`设备 ${index + 1} - 名称: ${item.equipmentName}, 采购状态: ${item.procurementStatus}`)
+ })
tableData.value = transformedData
} else {
tableData.value = []
@@ -662,9 +718,15 @@ const handleModalSuccess = () => {
}
// 采购申请成功回调
-const handleApplicationSuccess = () => {
+const handleApplicationSuccess = async () => {
applicationModalVisible.value = false
- loadData(currentSearchParams.value)
+ console.log('采购申请成功,准备刷新数据...')
+ // 延迟刷新数据,确保后端状态更新完成
+ setTimeout(async () => {
+ console.log('开始刷新数据...')
+ await loadData(currentSearchParams.value)
+ message.success('采购申请已提交,请等待审批')
+ }, 1000)
}
// 刷新数据
@@ -714,8 +776,12 @@ const getTotalAmount = () => {
// 检查是否可以申请采购
const canApplyProcurement = (record: EquipmentResp) => {
- // 检查是否有审批状态,如果没有或者状态为待申请,则可以申请
- return !record.approvalStatus || record.approvalStatus === 'PENDING_APPLICATION'
+ // 根据采购状态判断是否可以申请采购
+ // 只有未开始、已拒绝、已完成的设备可以重新申请采购
+ const allowedStatuses = ['NOT_STARTED', 'REJECTED', 'COMPLETED', null, undefined]
+ const canApply = allowedStatuses.includes(record.procurementStatus)
+ console.log(`设备 ${record.equipmentName} 采购状态: ${record.procurementStatus}, 可申请: ${canApply}`)
+ return canApply
}
// 获取审批状态颜色