需求优化
This commit is contained in:
@ -77,6 +77,7 @@
|
|||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"node-opencc": "^2.0.1",
|
"node-opencc": "^2.0.1",
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
|
"number-precision": "^1.6.0",
|
||||||
"nzh": "^1.0.8",
|
"nzh": "^1.0.8",
|
||||||
"path-to-regexp": "^6.2.0",
|
"path-to-regexp": "^6.2.0",
|
||||||
"pinia": "2.0.12",
|
"pinia": "2.0.12",
|
||||||
|
|||||||
@ -137,6 +137,8 @@
|
|||||||
import { getCompDept } from '/@/api/approve/Appro';
|
import { getCompDept } from '/@/api/approve/Appro';
|
||||||
import { useUserStore } from '/@/store/modules/user';
|
import { useUserStore } from '/@/store/modules/user';
|
||||||
import { getLngPngDemandContractList, getLngPngDemandPointDely, getLngPngDemandContractQty, getLngPngDemandPurList, getLngPngDemandRate } from '/@/api/dayPlan/Demand';
|
import { getLngPngDemandContractList, getLngPngDemandPointDely, getLngPngDemandContractQty, getLngPngDemandPurList, getLngPngDemandRate } from '/@/api/dayPlan/Demand';
|
||||||
|
import NP from 'number-precision';
|
||||||
|
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const userInfo = userStore.getUserInfo;
|
const userInfo = userStore.getUserInfo;
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@ -203,11 +205,11 @@
|
|||||||
let num = 0;
|
let num = 0;
|
||||||
let num1 = 0;
|
let num1 = 0;
|
||||||
dataList.value.forEach(v => {
|
dataList.value.forEach(v => {
|
||||||
num+=(Number(v.qtyDemandM3) || 0)
|
num=NP.plus(num, (Number(v.qtyDemandM3) || 0))
|
||||||
num1+=(Number(v.qtyDemandGj) || 0)
|
num1=NP.plus(num1, (Number(v.qtyDemandGj) || 0))
|
||||||
})
|
})
|
||||||
formState.value.qtyDemandM3 = num ? num.toFixed(5) : ''
|
formState.value.qtyDemandM3 = num
|
||||||
formState.value.qtyDemandGj = num1 ? num1.toFixed(5) : ''
|
formState.value.qtyDemandGj = num1
|
||||||
}
|
}
|
||||||
const datePlanChange = async (val) => {
|
const datePlanChange = async (val) => {
|
||||||
if (!val) {
|
if (!val) {
|
||||||
@ -281,29 +283,29 @@
|
|||||||
v.qtyDemandGj = Number(v.qtyDemandM3)*Number(formState.value.rateM3Gj) || ''
|
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(formState.value.rateM3Gj) ? Number(v.qtyDemandGj)/Number(formState.value.rateM3Gj) : ''
|
||||||
|
|
||||||
v.qtyDemandM3 = Number(v.qtyDemandM3)? (Number(v.qtyDemandM3) / 10000) : ''
|
v.qtyDemandM3 = NP.divide(Number(v.qtyDemandM3) || 0, 10000)
|
||||||
v.qtySalesM3 = Number(v.qtySalesM3)? (Number(v.qtySalesM3) / 10000) : ''
|
v.qtySalesM3 = NP.divide(Number(v.qtySalesM3) || 0, 10000)
|
||||||
|
|
||||||
num+=(Number(v.qtySalesGj) || 0)
|
num= NP.plus(num, (Number(v.qtySalesGj) || 0))
|
||||||
num1+=(Number(v.qtySalesM3) || 0)
|
num1=NP.plus(num1, (Number(v.qtySalesM3) || 0))
|
||||||
num2+=(Number(v.qtyDemandM3) || 0)
|
num2= NP.plus(num2, (Number(v.qtyDemandM3) || 0))
|
||||||
num3+=(Number(v.qtyDemandGj) || 0)
|
num3=NP.plus(num3, (Number(v.qtyDemandGj) || 0))
|
||||||
|
|
||||||
})
|
})
|
||||||
formState.value.qtySalesGj = num ? num.toFixed(5) : ''
|
formState.value.qtySalesGj = num
|
||||||
formState.value.qtySalesM3 = num1 ? num1.toFixed(5) : ''
|
formState.value.qtySalesM3 = num1
|
||||||
formState.value.qtyDemandM3 = num2 ? num2.toFixed(5) : ''
|
formState.value.qtyDemandM3 = num2
|
||||||
formState.value.qtyDemandGj = num3 ? num3.toFixed(5) : ''
|
formState.value.qtyDemandGj = num3
|
||||||
}
|
}
|
||||||
const getContractQty = async () => {
|
const getContractQty = async () => {
|
||||||
let obj = {
|
let obj = {
|
||||||
kId: formState.value.ksId,
|
kId: formState.value.ksId,
|
||||||
datePlan: dayjs(formState.value.datePlan).format('YYYY-MM-DD')
|
datePlan: dayjs(formState.value.datePlan).format('YYYY-MM-DD')
|
||||||
}
|
}
|
||||||
let res = await getLngPngDemandContractQty(obj)
|
let res = await getLngPngDemandContractQty(obj) || []
|
||||||
formState.value.qtyContractGj = res?.qtyContractGj
|
formState.value.qtyContractGj = res[0]?.qtyContractGj
|
||||||
formState.value.qtyContractM3 = res?.qtyContractM3
|
formState.value.qtyContractM3 = res[0]?.qtyContractM3
|
||||||
formState.value.qtyContractM3 = Number(formState.value.qtyContractM3)? (Number(formState.value.qtyContractM3) / 10000) : ''
|
formState.value.qtyContractM3 =NP.divide(Number(formState.value.qtyContractM3), 10000)
|
||||||
|
|
||||||
}
|
}
|
||||||
const disabledDateStart = (current) => {
|
const disabledDateStart = (current) => {
|
||||||
|
|||||||
@ -45,6 +45,7 @@
|
|||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
import { useUserStore } from '/@/store/modules/user';
|
import { useUserStore } from '/@/store/modules/user';
|
||||||
import basicForm from './basicForm.vue'
|
import basicForm from './basicForm.vue'
|
||||||
|
import NP from 'number-precision';
|
||||||
|
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const userInfo = userStore.getUserInfo;
|
const userInfo = userStore.getUserInfo;
|
||||||
@ -128,24 +129,16 @@
|
|||||||
const changeData = (obj) => {
|
const changeData = (obj) => {
|
||||||
let arr = obj.lngPngDemandPurList || []
|
let arr = obj.lngPngDemandPurList || []
|
||||||
obj.datePlan = obj.datePlan ? dayjs(obj.datePlan) : null
|
obj.datePlan = obj.datePlan ? dayjs(obj.datePlan) : null
|
||||||
obj.qtyContractM3 = Number(obj.qtyContractM3)/10000
|
obj.qtyContractM3 = NP.divide(Number(obj.qtyContractM3), 10000)
|
||||||
obj.qtyPlanM3 = Number(obj.qtyPlanM3)/10000
|
obj.qtyPlanM3 = NP.divide(Number(obj.qtyPlanM3), 10000)
|
||||||
obj.qtyDemandM3 = Number(obj.qtyDemandM3)/10000
|
obj.qtyDemandM3 = NP.divide(Number(obj.qtyDemandM3), 10000)
|
||||||
obj.qtySalesM3 = Number(obj.qtySalesM3)/10000
|
obj.qtySalesM3 = NP.divide(Number(obj.qtySalesM3), 10000)
|
||||||
|
|
||||||
arr.length && arr.forEach(v => {
|
arr.length && arr.forEach(v => {
|
||||||
v.qtyDemandM3 = Number(v.qtyDemandM3)/10000
|
v.qtyDemandM3 = NP.divide(Number(v.qtyDemandM3), 10000)
|
||||||
v.qtySalesM3 = Number(v.qtySalesM3)/10000
|
v.qtySalesM3 = NP.divide(Number(v.qtySalesM3), 10000)
|
||||||
|
|
||||||
v.qtyDemandM3 = Number(v.qtyDemandM3) ? Number(v.qtyDemandM3).toFixed(5) : ''
|
|
||||||
v.qtySalesM3 = Number(v.qtySalesM3) ? Number(v.qtySalesM3).toFixed(5) : ''
|
|
||||||
});
|
});
|
||||||
|
|
||||||
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 {
|
return {
|
||||||
list : arr,
|
list : arr,
|
||||||
params: obj
|
params: obj
|
||||||
@ -159,16 +152,16 @@
|
|||||||
const data = await formRef.value.getFormValue();
|
const data = await formRef.value.getFormValue();
|
||||||
let arr = JSON.parse(JSON.stringify(data.list))
|
let arr = JSON.parse(JSON.stringify(data.list))
|
||||||
arr.forEach(v=> {
|
arr.forEach(v=> {
|
||||||
v.qtyDemandM3 = Number(v.qtyDemandM3)*10000
|
v.qtyDemandM3 = NP.times(Number(v.qtyDemandM3), 10000)
|
||||||
v.qtySalesM3 = Number(v.qtySalesM3)*10000
|
v.qtySalesM3 = NP.times(Number(v.qtySalesM3), 10000)
|
||||||
})
|
})
|
||||||
let obj = {
|
let obj = {
|
||||||
...data.formInfo,
|
...data.formInfo,
|
||||||
datePlan: dayjs(data.formInfo.datePlan).format('YYYY-MM-DD HH:mm:ss'),
|
datePlan: dayjs(data.formInfo.datePlan).format('YYYY-MM-DD HH:mm:ss'),
|
||||||
qtyContractM3: Number(data.formInfo.qtyContractM3)*10000,
|
qtyContractM3: NP.times(Number(data.formInfo.qtyContractM3), 10000),
|
||||||
qtyPlanM3: Number(data.formInfo.qtyPlanM3)*10000,
|
qtyPlanM3: NP.times(Number(data.formInfo.qtyPlanM3), 10000),
|
||||||
qtyDemandM3: Number(data.formInfo.qtyDemandM3)*10000,
|
qtyDemandM3: NP.times(Number(data.formInfo.qtyDemandM3), 10000),
|
||||||
qtySalesM3: Number(data.formInfo.qtySalesM3)*10000,
|
qtySalesM3: NP.times(Number(data.formInfo.qtySalesM3), 10000),
|
||||||
lngPngDemandPurList:arr
|
lngPngDemandPurList:arr
|
||||||
}
|
}
|
||||||
spinning.value = true;
|
spinning.value = true;
|
||||||
|
|||||||
@ -101,7 +101,7 @@
|
|||||||
v-model:value="record.qtySalesM3" :disabled="record.alterSign=='D' || disable" :min="0" @change="numChange" style="width: 100%" />
|
v-model:value="record.qtySalesM3" :disabled="record.alterSign=='D' || disable" :min="0" @change="numChange" style="width: 100%" />
|
||||||
</template>
|
</template>
|
||||||
<template v-if="column.dataIndex === 'note'" >
|
<template v-if="column.dataIndex === 'note'" >
|
||||||
<div v-if="record.alterSign=='D' || disable" :class="diffResultList.includes('lngPngApproPurList[' + index + '].note') ? 'changeStyle': ''">{{ record.qtyDemandM3 }}</div>
|
<div v-if="record.alterSign=='D' || disable" :class="diffResultList.includes('lngPngApproPurList[' + index + '].note') ? 'changeStyle': ''">{{ record.note }}</div>
|
||||||
<a-input v-model:value="record.note" v-else style="width: 100%" />
|
<a-input v-model:value="record.note" v-else style="width: 100%" />
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@ -52,6 +52,7 @@
|
|||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
import { useUserStore } from '/@/store/modules/user';
|
import { useUserStore } from '/@/store/modules/user';
|
||||||
import basicForm from './basicForm.vue'
|
import basicForm from './basicForm.vue'
|
||||||
|
import NP from 'number-precision';
|
||||||
|
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const userInfo = userStore.getUserInfo;
|
const userInfo = userStore.getUserInfo;
|
||||||
@ -137,17 +138,17 @@
|
|||||||
}
|
}
|
||||||
const changeData = (obj) => {
|
const changeData = (obj) => {
|
||||||
let arr = obj.lngPngApproPurList || []
|
let arr = obj.lngPngApproPurList || []
|
||||||
obj.qtyContractM3 = Number(obj.qtyContractM3)/10000
|
obj.qtyContractM3 = NP.divide(Number(obj.qtyContractM3), 10000)
|
||||||
obj.qtyPlanM3 = Number(obj.qtyPlanM3)/10000
|
obj.qtyPlanM3 = NP.divide(Number(obj.qtyPlanM3), 10000)
|
||||||
obj.qtyDemandM3 = Number(obj.qtyDemandM3)/10000
|
obj.qtyDemandM3 = NP.divide(Number(obj.qtyDemandM3), 10000)
|
||||||
obj.qtySalesM3 = Number(obj.qtySalesM3)/10000
|
obj.qtySalesM3 = NP.divide(Number(obj.qtySalesM3), 10000)
|
||||||
let num = 0;
|
let num = 0;
|
||||||
let num1 = 0;
|
let num1 = 0;
|
||||||
arr.length && arr.forEach(v => {
|
arr.length && arr.forEach(v => {
|
||||||
v.qtyDemandM3 = Number(v.qtyDemandM3)/10000
|
v.qtyDemandM3 = NP.divide(Number(v.qtyDemandM3), 10000)
|
||||||
v.qtySalesM3 = Number(v.qtySalesM3)/10000
|
v.qtySalesM3 = NP.divide(Number(v.qtySalesM3), 10000)
|
||||||
num+=(Number(v.qtySalesGj) || 0)
|
num=NP.plus(num, (Number(v.qtySalesGj) || 0))
|
||||||
num1+=(Number(v.qtySalesM3) || 0)
|
num1=NP.plus(num1, (Number(v.qtySalesM3) || 0))
|
||||||
});
|
});
|
||||||
obj.qtySalesGj = num
|
obj.qtySalesGj = num
|
||||||
obj.qtySalesM3 = num1
|
obj.qtySalesM3 = num1
|
||||||
@ -163,15 +164,15 @@
|
|||||||
let data = basicFormRef.value.getFormValue()
|
let data = basicFormRef.value.getFormValue()
|
||||||
let arr = JSON.parse(JSON.stringify(data.list))
|
let arr = JSON.parse(JSON.stringify(data.list))
|
||||||
arr.forEach(v=> {
|
arr.forEach(v=> {
|
||||||
v.qtyDemandM3 = Number(v.qtyDemandM3)*10000
|
v.qtyDemandM3 = NP.times(Number(v.qtyDemandM3), 10000)
|
||||||
v.qtySalesM3 = Number(v.qtySalesM3)*10000
|
v.qtySalesM3 = NP.times(Number(v.qtySalesM3), 10000)
|
||||||
})
|
})
|
||||||
let obj = {
|
let obj = {
|
||||||
...data.formInfo,
|
...data.formInfo,
|
||||||
qtyContractM3: Number(data.formInfo.qtyContractM3)*10000,
|
qtyContractM3: NP.times(Number(data.formInfo.qtyContractM3), 10000),
|
||||||
qtyPlanM3: Number(data.formInfo.qtyPlanM3)*10000,
|
qtyPlanM3: NP.times(Number(data.formInfo.qtyPlanM3), 10000),
|
||||||
qtyDemandM3: Number(data.formInfo.qtyDemandM3)*10000,
|
qtyDemandM3: NP.times(Number(data.formInfo.qtyDemandM3), 10000),
|
||||||
qtySalesM3: Number(data.formInfo.qtySalesM3)*10000,
|
qtySalesM3: NP.times(Number(data.formInfo.qtySalesM3), 10000),
|
||||||
lngPngApproPurList:arr
|
lngPngApproPurList:arr
|
||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
|
|||||||
@ -22,11 +22,11 @@
|
|||||||
|
|
||||||
<template #bodyCell="{ column, record, index }">
|
<template #bodyCell="{ column, record, index }">
|
||||||
<template v-if="column.dataIndex === 'qtyMeaGj'">
|
<template v-if="column.dataIndex === 'qtyMeaGj'">
|
||||||
<a-input-number v-model:value="record.qtyMeaGj" v-if="statusCode==='N'|| statusCode==='JLZ'" @change="numChange(record, index)" :min="0" style="width: 100%" />
|
<a-input-number v-model:value="record.qtyMeaGj" v-if="record.statusCode==='N'|| record.statusCode==='JLZ'" @change="numChange(record, index)" :min="0" style="width: 100%" />
|
||||||
<div v-else>{{ record.qtyMeaGj }}</div>
|
<div v-else>{{ record.qtyMeaGj }}</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="column.dataIndex === 'qtyMeaM3'">
|
<template v-if="column.dataIndex === 'qtyMeaM3'">
|
||||||
<a-input-number v-model:value="record.qtyMeaM3" v-if="statusCode==='N'|| statusCode==='JLZ'" @change="numChange(record, index)" :min="0" style="width: 100%" />
|
<a-input-number v-model:value="record.qtyMeaM3" v-if="record.statusCode==='N'|| record.statusCode==='JLZ'" @change="numChange(record, index)" :min="0" style="width: 100%" />
|
||||||
</template>
|
</template>
|
||||||
<template v-if="column.dataIndex === 'lngFileUploadList'">
|
<template v-if="column.dataIndex === 'lngFileUploadList'">
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
Reference in New Issue
Block a user