From 008fd9b25de590e89385c10058150e3f0996c40e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98huanghaiixia=E2=80=99?= <980486410@.com> Date: Mon, 26 Jan 2026 17:41:30 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=80=E6=B1=82=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + .../dayPlan/Demand/components/basicForm.vue | 38 ++++++++++--------- .../dayPlan/Demand/components/createForm.vue | 33 +++++++--------- .../dayPlan/PngAppro/components/basicForm.vue | 2 +- .../PngAppro/components/createForm.vue | 29 +++++++------- .../dayPlan/PngMeasureSalesPur/index.vue | 4 +- 6 files changed, 52 insertions(+), 55 deletions(-) diff --git a/package.json b/package.json index ef5e17d..542cf49 100644 --- a/package.json +++ b/package.json @@ -77,6 +77,7 @@ "moment": "^2.29.4", "node-opencc": "^2.0.1", "nprogress": "^0.2.0", + "number-precision": "^1.6.0", "nzh": "^1.0.8", "path-to-regexp": "^6.2.0", "pinia": "2.0.12", diff --git a/src/views/dayPlan/Demand/components/basicForm.vue b/src/views/dayPlan/Demand/components/basicForm.vue index f033401..a17065e 100644 --- a/src/views/dayPlan/Demand/components/basicForm.vue +++ b/src/views/dayPlan/Demand/components/basicForm.vue @@ -137,6 +137,8 @@ import { getCompDept } from '/@/api/approve/Appro'; import { useUserStore } from '/@/store/modules/user'; import { getLngPngDemandContractList, getLngPngDemandPointDely, getLngPngDemandContractQty, getLngPngDemandPurList, getLngPngDemandRate } from '/@/api/dayPlan/Demand'; + import NP from 'number-precision'; + const userStore = useUserStore(); const userInfo = userStore.getUserInfo; const router = useRouter(); @@ -203,11 +205,11 @@ let num = 0; let num1 = 0; dataList.value.forEach(v => { - num+=(Number(v.qtyDemandM3) || 0) - num1+=(Number(v.qtyDemandGj) || 0) + num=NP.plus(num, (Number(v.qtyDemandM3) || 0)) + num1=NP.plus(num1, (Number(v.qtyDemandGj) || 0)) }) - formState.value.qtyDemandM3 = num ? num.toFixed(5) : '' - formState.value.qtyDemandGj = num1 ? num1.toFixed(5) : '' + formState.value.qtyDemandM3 = num + formState.value.qtyDemandGj = num1 } const datePlanChange = async (val) => { if (!val) { @@ -281,29 +283,29 @@ v.qtyDemandGj = Number(v.qtyDemandM3)*Number(formState.value.rateM3Gj) || '' v.qtyDemandM3 = Number(formState.value.rateM3Gj) ? Number(v.qtyDemandGj)/Number(formState.value.rateM3Gj) : '' - v.qtyDemandM3 = Number(v.qtyDemandM3)? (Number(v.qtyDemandM3) / 10000) : '' - v.qtySalesM3 = Number(v.qtySalesM3)? (Number(v.qtySalesM3) / 10000) : '' + v.qtyDemandM3 = NP.divide(Number(v.qtyDemandM3) || 0, 10000) + v.qtySalesM3 = NP.divide(Number(v.qtySalesM3) || 0, 10000) - num+=(Number(v.qtySalesGj) || 0) - num1+=(Number(v.qtySalesM3) || 0) - num2+=(Number(v.qtyDemandM3) || 0) - num3+=(Number(v.qtyDemandGj) || 0) + num= NP.plus(num, (Number(v.qtySalesGj) || 0)) + num1=NP.plus(num1, (Number(v.qtySalesM3) || 0)) + num2= NP.plus(num2, (Number(v.qtyDemandM3) || 0)) + num3=NP.plus(num3, (Number(v.qtyDemandGj) || 0)) }) - formState.value.qtySalesGj = num ? num.toFixed(5) : '' - formState.value.qtySalesM3 = num1 ? num1.toFixed(5) : '' - formState.value.qtyDemandM3 = num2 ? num2.toFixed(5) : '' - formState.value.qtyDemandGj = num3 ? num3.toFixed(5) : '' + formState.value.qtySalesGj = num + formState.value.qtySalesM3 = num1 + formState.value.qtyDemandM3 = num2 + formState.value.qtyDemandGj = num3 } const getContractQty = async () => { let obj = { kId: formState.value.ksId, datePlan: dayjs(formState.value.datePlan).format('YYYY-MM-DD') } - let res = await getLngPngDemandContractQty(obj) - formState.value.qtyContractGj = res?.qtyContractGj - formState.value.qtyContractM3 = res?.qtyContractM3 - formState.value.qtyContractM3 = Number(formState.value.qtyContractM3)? (Number(formState.value.qtyContractM3) / 10000) : '' + let res = await getLngPngDemandContractQty(obj) || [] + formState.value.qtyContractGj = res[0]?.qtyContractGj + formState.value.qtyContractM3 = res[0]?.qtyContractM3 + formState.value.qtyContractM3 =NP.divide(Number(formState.value.qtyContractM3), 10000) } const disabledDateStart = (current) => { diff --git a/src/views/dayPlan/Demand/components/createForm.vue b/src/views/dayPlan/Demand/components/createForm.vue index afa294d..1444812 100644 --- a/src/views/dayPlan/Demand/components/createForm.vue +++ b/src/views/dayPlan/Demand/components/createForm.vue @@ -45,6 +45,7 @@ import { message } from 'ant-design-vue'; import { useUserStore } from '/@/store/modules/user'; import basicForm from './basicForm.vue' + import NP from 'number-precision'; const userStore = useUserStore(); const userInfo = userStore.getUserInfo; @@ -128,24 +129,16 @@ const changeData = (obj) => { let arr = obj.lngPngDemandPurList || [] obj.datePlan = obj.datePlan ? dayjs(obj.datePlan) : null - obj.qtyContractM3 = Number(obj.qtyContractM3)/10000 - obj.qtyPlanM3 = Number(obj.qtyPlanM3)/10000 - obj.qtyDemandM3 = Number(obj.qtyDemandM3)/10000 - obj.qtySalesM3 = Number(obj.qtySalesM3)/10000 + obj.qtyContractM3 = NP.divide(Number(obj.qtyContractM3), 10000) + obj.qtyPlanM3 = NP.divide(Number(obj.qtyPlanM3), 10000) + obj.qtyDemandM3 = NP.divide(Number(obj.qtyDemandM3), 10000) + obj.qtySalesM3 = NP.divide(Number(obj.qtySalesM3), 10000) arr.length && arr.forEach(v => { - v.qtyDemandM3 = Number(v.qtyDemandM3)/10000 - v.qtySalesM3 = Number(v.qtySalesM3)/10000 - - v.qtyDemandM3 = Number(v.qtyDemandM3) ? Number(v.qtyDemandM3).toFixed(5) : '' - v.qtySalesM3 = Number(v.qtySalesM3) ? Number(v.qtySalesM3).toFixed(5) : '' + v.qtyDemandM3 = NP.divide(Number(v.qtyDemandM3), 10000) + v.qtySalesM3 = NP.divide(Number(v.qtySalesM3), 10000) }); - obj.qtyContractM3 = Number(obj.qtyContractM3) ? Number(obj.qtyContractM3).toFixed(5) : '' - obj.qtyPlanM3 = Number(obj.qtyPlanM3) ? Number(obj.qtyPlanM3).toFixed(5) : '' - obj.qtyDemandM3 = Number(obj.qtyDemandM3) ? Number(obj.qtyDemandM3).toFixed(5) : '' - obj.qtySalesM3 = Number(obj.qtySalesM3) ? Number(obj.qtySalesM3).toFixed(5) : '' - return { list : arr, params: obj @@ -159,16 +152,16 @@ const data = await formRef.value.getFormValue(); let arr = JSON.parse(JSON.stringify(data.list)) arr.forEach(v=> { - v.qtyDemandM3 = Number(v.qtyDemandM3)*10000 - v.qtySalesM3 = Number(v.qtySalesM3)*10000 + v.qtyDemandM3 = NP.times(Number(v.qtyDemandM3), 10000) + v.qtySalesM3 = NP.times(Number(v.qtySalesM3), 10000) }) let obj = { ...data.formInfo, datePlan: dayjs(data.formInfo.datePlan).format('YYYY-MM-DD HH:mm:ss'), - qtyContractM3: Number(data.formInfo.qtyContractM3)*10000, - qtyPlanM3: Number(data.formInfo.qtyPlanM3)*10000, - qtyDemandM3: Number(data.formInfo.qtyDemandM3)*10000, - qtySalesM3: Number(data.formInfo.qtySalesM3)*10000, + qtyContractM3: NP.times(Number(data.formInfo.qtyContractM3), 10000), + qtyPlanM3: NP.times(Number(data.formInfo.qtyPlanM3), 10000), + qtyDemandM3: NP.times(Number(data.formInfo.qtyDemandM3), 10000), + qtySalesM3: NP.times(Number(data.formInfo.qtySalesM3), 10000), lngPngDemandPurList:arr } spinning.value = true; diff --git a/src/views/dayPlan/PngAppro/components/basicForm.vue b/src/views/dayPlan/PngAppro/components/basicForm.vue index 7859fb7..720939b 100644 --- a/src/views/dayPlan/PngAppro/components/basicForm.vue +++ b/src/views/dayPlan/PngAppro/components/basicForm.vue @@ -101,7 +101,7 @@ v-model:value="record.qtySalesM3" :disabled="record.alterSign=='D' || disable" :min="0" @change="numChange" style="width: 100%" /> diff --git a/src/views/dayPlan/PngAppro/components/createForm.vue b/src/views/dayPlan/PngAppro/components/createForm.vue index 6349cd0..93c739a 100644 --- a/src/views/dayPlan/PngAppro/components/createForm.vue +++ b/src/views/dayPlan/PngAppro/components/createForm.vue @@ -52,6 +52,7 @@ import { message } from 'ant-design-vue'; import { useUserStore } from '/@/store/modules/user'; import basicForm from './basicForm.vue' + import NP from 'number-precision'; const userStore = useUserStore(); const userInfo = userStore.getUserInfo; @@ -137,17 +138,17 @@ } const changeData = (obj) => { let arr = obj.lngPngApproPurList || [] - obj.qtyContractM3 = Number(obj.qtyContractM3)/10000 - obj.qtyPlanM3 = Number(obj.qtyPlanM3)/10000 - obj.qtyDemandM3 = Number(obj.qtyDemandM3)/10000 - obj.qtySalesM3 = Number(obj.qtySalesM3)/10000 + obj.qtyContractM3 = NP.divide(Number(obj.qtyContractM3), 10000) + obj.qtyPlanM3 = NP.divide(Number(obj.qtyPlanM3), 10000) + obj.qtyDemandM3 = NP.divide(Number(obj.qtyDemandM3), 10000) + obj.qtySalesM3 = NP.divide(Number(obj.qtySalesM3), 10000) let num = 0; let num1 = 0; arr.length && arr.forEach(v => { - v.qtyDemandM3 = Number(v.qtyDemandM3)/10000 - v.qtySalesM3 = Number(v.qtySalesM3)/10000 - num+=(Number(v.qtySalesGj) || 0) - num1+=(Number(v.qtySalesM3) || 0) + v.qtyDemandM3 = NP.divide(Number(v.qtyDemandM3), 10000) + v.qtySalesM3 = NP.divide(Number(v.qtySalesM3), 10000) + num=NP.plus(num, (Number(v.qtySalesGj) || 0)) + num1=NP.plus(num1, (Number(v.qtySalesM3) || 0)) }); obj.qtySalesGj = num obj.qtySalesM3 = num1 @@ -163,15 +164,15 @@ let data = basicFormRef.value.getFormValue() let arr = JSON.parse(JSON.stringify(data.list)) arr.forEach(v=> { - v.qtyDemandM3 = Number(v.qtyDemandM3)*10000 - v.qtySalesM3 = Number(v.qtySalesM3)*10000 + v.qtyDemandM3 = NP.times(Number(v.qtyDemandM3), 10000) + v.qtySalesM3 = NP.times(Number(v.qtySalesM3), 10000) }) let obj = { ...data.formInfo, - qtyContractM3: Number(data.formInfo.qtyContractM3)*10000, - qtyPlanM3: Number(data.formInfo.qtyPlanM3)*10000, - qtyDemandM3: Number(data.formInfo.qtyDemandM3)*10000, - qtySalesM3: Number(data.formInfo.qtySalesM3)*10000, + qtyContractM3: NP.times(Number(data.formInfo.qtyContractM3), 10000), + qtyPlanM3: NP.times(Number(data.formInfo.qtyPlanM3), 10000), + qtyDemandM3: NP.times(Number(data.formInfo.qtyDemandM3), 10000), + qtySalesM3: NP.times(Number(data.formInfo.qtySalesM3), 10000), lngPngApproPurList:arr } let params = { diff --git a/src/views/dayPlan/PngMeasureSalesPur/index.vue b/src/views/dayPlan/PngMeasureSalesPur/index.vue index ecc3bcc..9a39807 100644 --- a/src/views/dayPlan/PngMeasureSalesPur/index.vue +++ b/src/views/dayPlan/PngMeasureSalesPur/index.vue @@ -22,11 +22,11 @@