diff --git a/src/views/oa/erp/budgetInfo/edit.vue b/src/views/oa/erp/budgetInfo/edit.vue index 9c5616c..b72af5b 100644 --- a/src/views/oa/erp/budgetInfo/edit.vue +++ b/src/views/oa/erp/budgetInfo/edit.vue @@ -481,11 +481,11 @@ const updateBudgetTable = async () => { const otherTotal = otherCostRef.value?.getTotalAmount() || { budgetAmount: 0, reducedAmount: 0 }; // 更新预算表,目前是按单位是万元传值,后续如果根据单位是元,则在此判断更新传的值 - budgetTableRef.value.updateBudgetDetailData('材料费', materialTotal.budgetAmount / 10000, materialTotal.reducedAmount / 10000); - budgetTableRef.value.updateBudgetDetailData('人工费', laborTotal.budgetAmount / 10000, laborTotal.reducedAmount / 10000); - budgetTableRef.value.updateBudgetDetailData('安装费', installationTotal.budgetAmount / 10000, installationTotal.reducedAmount / 10000); - budgetTableRef.value.updateBudgetDetailData('差旅费', travelTotal.budgetAmount / 10000, travelTotal.reducedAmount / 10000); - budgetTableRef.value.updateBudgetDetailData('其他费用', otherTotal.budgetAmount / 10000, otherTotal.reducedAmount / 10000); + budgetTableRef.value.updateBudgetDetailData('材料费', materialTotal.budgetAmount, materialTotal.reducedAmount); + budgetTableRef.value.updateBudgetDetailData('人工费', laborTotal.budgetAmount, laborTotal.reducedAmount); + budgetTableRef.value.updateBudgetDetailData('安装费', installationTotal.budgetAmount, installationTotal.reducedAmount); + budgetTableRef.value.updateBudgetDetailData('差旅费', travelTotal.budgetAmount, travelTotal.reducedAmount); + budgetTableRef.value.updateBudgetDetailData('其他费用', otherTotal.budgetAmount, otherTotal.reducedAmount); }; // 更新研发项目预算预算表数据 @@ -507,13 +507,13 @@ const updateRdBudgetTable = async () => { const otherTotal = otherCost.otherTotal || 0; // 更新预算表,目前是按单位是万元传值,后续如果根据单位是元,则在此判断更新传的值 - rdBudgetTableRef.value.updateRdBudgetDetailData('材料费', materialTotal / 10000); - rdBudgetTableRef.value.updateRdBudgetDetailData('人工费', laborTotal / 10000); - rdBudgetTableRef.value.updateRdBudgetDetailData('差旅费', travelTotal / 10000); - rdBudgetTableRef.value.updateRdBudgetDetailData('测试化验加工费', testingTotal / 10000); - rdBudgetTableRef.value.updateRdBudgetDetailData('专家咨询费用', expertConsultTotal / 10000); - rdBudgetTableRef.value.updateRdBudgetDetailData('新产品设计费', techConsultTotal / 10000); - rdBudgetTableRef.value.updateRdBudgetDetailData('其他费用', otherTotal / 10000); + rdBudgetTableRef.value.updateRdBudgetDetailData('材料费', materialTotal); + rdBudgetTableRef.value.updateRdBudgetDetailData('人工费', laborTotal); + rdBudgetTableRef.value.updateRdBudgetDetailData('差旅费', travelTotal); + rdBudgetTableRef.value.updateRdBudgetDetailData('测试化验加工费', testingTotal); + rdBudgetTableRef.value.updateRdBudgetDetailData('专家咨询费用', expertConsultTotal); + rdBudgetTableRef.value.updateRdBudgetDetailData('新产品设计费', techConsultTotal); + rdBudgetTableRef.value.updateRdBudgetDetailData('其他费用', otherTotal); }; // 提取用户查找逻辑 diff --git a/src/views/oa/erp/budgetInfo/index.vue b/src/views/oa/erp/budgetInfo/index.vue index 5a00d63..8f841d6 100644 --- a/src/views/oa/erp/budgetInfo/index.vue +++ b/src/views/oa/erp/budgetInfo/index.vue @@ -86,9 +86,9 @@ - - - + + + {{ formatRate(scope.row.budgetRate) }} @@ -459,7 +459,7 @@ const handleExport = (row?: budgetInfoVO) => { { budgetId: budgetId }, - fileNamePrefix + projectName + `(` + projectCode + `)` + `.xlsx` + projectCode + '_' + projectName + `_预算表.xlsx` ); }; diff --git a/src/views/oa/erp/budgetInfo/market/BudgetTable.vue b/src/views/oa/erp/budgetInfo/market/BudgetTable.vue index ddd3528..73f7660 100644 --- a/src/views/oa/erp/budgetInfo/market/BudgetTable.vue +++ b/src/views/oa/erp/budgetInfo/market/BudgetTable.vue @@ -36,14 +36,12 @@ - + - - {{ budgetForm.netContractAmount || '0.00' }} - + @@ -153,7 +151,7 @@ const budgetForm = reactive({ reduceBudgetRate: undefined, duringOperation: undefined, unitId: undefined, - unitName: '万元', + unitName: '元', exportFlag: undefined, budgetStatus: undefined, flowStatus: undefined, @@ -229,7 +227,7 @@ const budgetDetailData = ref([ } ]); -// 格式化数字,元转换为万元 +// 格式化数字 const formatNumber = (value: number) => { if (!value) return '0.00'; return parseFloat(value).toFixed(2); @@ -318,9 +316,6 @@ watch( ); const computedAmountAndRate = async () => { - if (budgetForm.contractAmount) { - budgetForm.netContractAmount = (budgetForm.contractAmount / 1.13).toFixed(2); - } if (budgetForm.netContractAmount && budgetForm.budgetCost && budgetForm.netContractAmount > 0 && budgetForm.budgetCost > 0) { budgetForm.budgetRate = (((budgetForm.netContractAmount - budgetForm.budgetCost) * 100) / budgetForm.netContractAmount).toFixed(2); } @@ -329,6 +324,14 @@ const computedAmountAndRate = async () => { } }; +const contractAmountChange = async () => { + if (budgetForm.contractAmount) { + budgetForm.netContractAmount = (budgetForm.contractAmount / 1.13).toFixed(2); + } +}; + + + // 暴露方法给父组件 defineExpose({ updateBudgetDetailData, diff --git a/src/views/oa/erp/budgetInfo/market/InstallationCost.vue b/src/views/oa/erp/budgetInfo/market/InstallationCost.vue index 3cd2168..d48b094 100644 --- a/src/views/oa/erp/budgetInfo/market/InstallationCost.vue +++ b/src/views/oa/erp/budgetInfo/market/InstallationCost.vue @@ -34,6 +34,13 @@ + + + + + + + @@ -41,27 +48,32 @@ - + + - + + - + + - + + - + - {{ format2TenThousandNumber(scope.row.price) }} + + {{ formatNumber(scope.row.price) }} @@ -75,27 +87,32 @@ - + + - + + - + + - + + - + - {{ format2TenThousandNumber(scope.row.reducePrice) }} + + {{ formatNumber(scope.row.reducePrice) }} @@ -135,9 +152,16 @@