需求优化
This commit is contained in:
@ -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",
|
||||
|
||||
@ -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) => {
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -101,7 +101,7 @@
|
||||
v-model:value="record.qtySalesM3" :disabled="record.alterSign=='D' || disable" :min="0" @change="numChange" style="width: 100%" />
|
||||
</template>
|
||||
<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%" />
|
||||
</template>
|
||||
</template>
|
||||
|
||||
@ -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 = {
|
||||
|
||||
@ -22,11 +22,11 @@
|
||||
|
||||
<template #bodyCell="{ column, record, index }">
|
||||
<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>
|
||||
</template>
|
||||
<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 v-if="column.dataIndex === 'lngFileUploadList'">
|
||||
<div>
|
||||
|
||||
Reference in New Issue
Block a user