Commit 4e9112d9 authored by 高滢's avatar 高滢

feat(年度资金计划): 填报

parent 58b906e8
...@@ -196,3 +196,12 @@ export function useRafThrottle<T extends FunctionArgs>(fn: T): T { ...@@ -196,3 +196,12 @@ export function useRafThrottle<T extends FunctionArgs>(fn: T): T {
}); });
}; };
} }
// 小数计算
export function getNumber(a, b) {
let val = Number(a) + Number(b);
if (!isNaN(parseFloat(val))) {
val = val.toFixed(2);
}
return val;
}
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
<template #extra> <template #extra>
<a-button type="primary" v-if="!disabled" @click="handleSubmit('0')"> 暂存 </a-button> <a-button type="primary" v-if="!disabled" @click="handleSubmit('0')"> 暂存 </a-button>
<a-button type="primary" v-if="!disabled" @click="handleSubmit('1')"> 提交 </a-button> <a-button type="primary" v-if="!disabled" @click="handleSubmit('1')"> 提交 </a-button>
<!-- <a-button type="primary" @click="history" v-if="historyData">历史记录 </a-button>-->
<a-button type="default" @click="router.back()"> 返回 </a-button> <a-button type="default" @click="router.back()"> 返回 </a-button>
</template> </template>
<CollapseContainer v-for="(item, index) in tabsFormSchema" :key="index" v-show="item.show"> <CollapseContainer v-for="(item, index) in tabsFormSchema" :key="index" v-show="item.show">
...@@ -48,7 +47,7 @@ ...@@ -48,7 +47,7 @@
beforeEditSubmitTwo(item, index); beforeEditSubmitTwo(item, index);
} }
" "
:scroll="{ x: 2000, y:400}" :scroll="{ x: 2000, y: 400 }"
/> />
</div> </div>
</div> </div>
...@@ -72,10 +71,7 @@ ...@@ -72,10 +71,7 @@
import Operations from '@/components/Operations/Operations.vue'; import Operations from '@/components/Operations/Operations.vue';
import { router } from '@/router'; import { router } from '@/router';
import { BasicTable, useTable } from '@/components/Table'; import { BasicTable, useTable } from '@/components/Table';
import { import { getBasicColumnsTwo, basicColumnsTwoDisabled } from './tableData';
getBasicColumnsTwo,
basicColumnsTwoDisabled,
} from './tableData';
import { ref, nextTick, onMounted, unref, reactive } from 'vue'; import { ref, nextTick, onMounted, unref, reactive } from 'vue';
import CollapseContainer from '@/components/Container/src/collapse/CollapseContainer.vue'; import CollapseContainer from '@/components/Container/src/collapse/CollapseContainer.vue';
import completedModel from '../completedModel/completedModel.vue'; import completedModel from '../completedModel/completedModel.vue';
...@@ -90,6 +86,7 @@ ...@@ -90,6 +86,7 @@
import { addItem, updateItem, getItem } from '@/api/project/completed'; import { addItem, updateItem, getItem } from '@/api/project/completed';
import { editModel } from '@/api/project/model/engineeringprojectModel'; import { editModel } from '@/api/project/model/engineeringprojectModel';
import { useModal } from '@/components/Modal'; import { useModal } from '@/components/Modal';
import { getNumber } from '@/utils/domUtils';
//历史记录是否可查 //历史记录是否可查
const historyData = ref(true); const historyData = ref(true);
...@@ -101,27 +98,27 @@ ...@@ -101,27 +98,27 @@
let { getDataSource } = item.tableTwo[1]; let { getDataSource } = item.tableTwo[1];
const res = getDataSource(); const res = getDataSource();
const totalNo = res.reduce((prev, next) => { const totalNo = res.reduce((prev, next) => {
prev += Number(next.specialBond); prev = getNumber(prev, next.specialBond);
return prev; return prev;
}, 0); }, 0);
const totalNoTwo = res.reduce((prev, next) => { const totalNoTwo = res.reduce((prev, next) => {
prev += Number(next.bankFinancing); prev = getNumber(prev, next.bankFinancing);
return prev; return prev;
}, 0); }, 0);
const totalNoThree = res.reduce((prev, next) => { const totalNoThree = res.reduce((prev, next) => {
prev += Number(next.ownFunds); prev = getNumber(prev, next.ownFunds);
return prev; return prev;
}, 0); }, 0);
const totalNofour = res.reduce((prev, next) => { const totalNofour = res.reduce((prev, next) => {
prev += Number(next.governmentGrant); prev = getNumber(prev, next.governmentGrant);
return prev; return prev;
}, 0); }, 0);
const totalNofiv = res.reduce((prev, next) => { const totalNofiv = res.reduce((prev, next) => {
prev += Number(next.fundingGap); prev = getNumber(prev, next.fundingGap);
return prev; return prev;
}, 0); }, 0);
const totalNosix = res.reduce((prev, next) => { const totalNosix = res.reduce((prev, next) => {
prev += Number(next.totalValue); prev = getNumber(prev, next.totalValue);
return prev; return prev;
}, 0); }, 0);
tabsFormSchema[index].tableTwo[1].setProps({ tabsFormSchema[index].tableTwo[1].setProps({
...@@ -175,11 +172,6 @@ ...@@ -175,11 +172,6 @@
let res = await getItem({ id }); let res = await getItem({ id });
console.log('后端返回的数据', res); console.log('后端返回的数据', res);
for (let i = 0; i < res.length; i++) { for (let i = 0; i < res.length; i++) {
// const amountList = res[i].amountList;
// let num = 0;
// for (let a = 0; a < amountList.length; a++) {
// num += Number(amountList[a].value);
// }
const sourceList = res[i].sourceList; const sourceList = res[i].sourceList;
let specialBondNum = 0; let specialBondNum = 0;
let bankFinancingNum = 0; let bankFinancingNum = 0;
...@@ -188,12 +180,12 @@ ...@@ -188,12 +180,12 @@
let totalValueNum = 0; let totalValueNum = 0;
let fundingGapNum = 0; let fundingGapNum = 0;
for (let a = 0; a < sourceList.length; a++) { for (let a = 0; a < sourceList.length; a++) {
specialBondNum += Number(sourceList[a].specialBond); specialBondNum = getNumber(Number(sourceList[a].specialBond), specialBondNum);
bankFinancingNum += Number(sourceList[a].bankFinancing); bankFinancingNum = getNumber(Number(sourceList[a].bankFinancing), bankFinancingNum);
ownFundsNum += Number(sourceList[a].ownFunds); ownFundsNum = getNumber(Number(sourceList[a].ownFunds), ownFundsNum);
governmentGrantNum += Number(sourceList[a].governmentGrant); governmentGrantNum = getNumber(Number(sourceList[a].governmentGrant), governmentGrantNum);
totalValueNum += Number(sourceList[a].totalValue); totalValueNum = getNumber(Number(sourceList[a].totalValue), totalValueNum);
fundingGapNum += Number(sourceList[a].fundingGap); fundingGapNum = getNumber(Number(sourceList[a].fundingGap), fundingGapNum);
} }
const item = { const item = {
proId: res[i].proId, proId: res[i].proId,
...@@ -235,7 +227,6 @@ ...@@ -235,7 +227,6 @@
if (formData.value.subList === undefined) { if (formData.value.subList === undefined) {
formData.value.subList = []; formData.value.subList = [];
} }
// setTable(item.table[1], info.amountList);
setTable(item.tableTwo[1], info.sourceList); setTable(item.tableTwo[1], info.sourceList);
nextTick(() => { nextTick(() => {
setFieldsValue(info); setFieldsValue(info);
...@@ -254,7 +245,6 @@ ...@@ -254,7 +245,6 @@
proId: string; proId: string;
name: string; name: string;
show?: boolean; show?: boolean;
// sumData?: any;
sumDatatwo?: any; sumDatatwo?: any;
forceRender?: boolean; forceRender?: boolean;
Form: UseFormReturnType; Form: UseFormReturnType;
...@@ -447,18 +437,17 @@ ...@@ -447,18 +437,17 @@
let item = tabsFormSchema[i]; let item = tabsFormSchema[i];
if (item.show) { if (item.show) {
const { validate, getFieldsValue } = item.Form[1]; const { validate, getFieldsValue } = item.Form[1];
// let data = getData(item.table[1]);
let dataTwo = getData(item.tableTwo[1]); let dataTwo = getData(item.tableTwo[1]);
await validate(); await validate();
let res = getFieldsValue(); let res = getFieldsValue();
console.log('表单的数据', res); console.log('表单的数据', res);
for (let j = 0; j < dataTwo.length; j++) { for (let j = 0; j < dataTwo.length; j++) {
dataTwo[j].governmentGrant = Number(dataTwo[j].governmentGrant); dataTwo[j].editValueRefs.governmentGrant = Number(dataTwo[j].governmentGrant);
dataTwo[j].specialBond = Number(dataTwo[j].specialBond); dataTwo[j].editValueRefs.specialBond = Number(dataTwo[j].specialBond);
dataTwo[j].bankFinancing = Number(dataTwo[j].bankFinancing); dataTwo[j].editValueRefs.bankFinancing = Number(dataTwo[j].bankFinancing);
dataTwo[j].ownFunds = Number(dataTwo[j].ownFunds); dataTwo[j].editValueRefs.ownFunds = Number(dataTwo[j].ownFunds);
dataTwo[j].totalValue = Number(dataTwo[j].totalValue); dataTwo[j].editValueRefs.totalValue = Number(dataTwo[j].totalValue);
dataTwo[j].fundingGap = Number(dataTwo[j].fundingGap); dataTwo[j].editValueRefs.fundingGap = Number(dataTwo[j].fundingGap);
} }
var obj = { var obj = {
startTime: res.time ? res.time[0] : '', startTime: res.time ? res.time[0] : '',
......
...@@ -94,12 +94,13 @@ export function getBasicColumnsTwo(): BasicColumn[] { ...@@ -94,12 +94,13 @@ export function getBasicColumnsTwo(): BasicColumn[] {
width: 50, width: 50,
customRender: ({ record }) => { customRender: ({ record }) => {
// 这里可以根据record的其他字段计算值 // 这里可以根据record的其他字段计算值
record.totalValue = record.totalValue = (
Number(record.ownFunds) + Number(record.ownFunds) +
Number(record.specialBond) + Number(record.specialBond) +
Number(record.bankFinancing) + Number(record.bankFinancing) +
Number(record.governmentGrant) + Number(record.governmentGrant) +
Number(record.fundingGap); // 计算新值 Number(record.fundingGap)
).toFixed(2); // 计算新值
return record.totalValue; // 返回计算后的值 return record.totalValue; // 返回计算后的值
}, },
}, },
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
</div> </div>
</template> </template>
<template #toolbar> <template #toolbar>
<a-button class="btn" type="primary" @click="addCompleted(planType)"> {{'新建投资计划'+'('+planType+')'}} </a-button> <a-button class="btn" type="primary" @click="addCompleted(planType)"> {{'新建资金计划'+'('+planType+')'}} </a-button>
<!-- <a-button class="btn" type="primary" @click="addCompleted('计划投资项目')">--> <!-- <a-button class="btn" type="primary" @click="addCompleted('计划投资项目')">-->
<!-- 新建年度工程资金计划(计划投资项目)--> <!-- 新建年度工程资金计划(计划投资项目)-->
<!-- </a-button>--> <!-- </a-button>-->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment