更新成果报表导出功能
This commit is contained in:
parent
8a15587d30
commit
d1dda7f9fa
Binary file not shown.
Binary file not shown.
580
src/sql.ts
580
src/sql.ts
@ -737,6 +737,9 @@ async function generateTemplate(data) {
|
|||||||
let ml_sheet = workbook.getWorksheet('目录');
|
let ml_sheet = workbook.getWorksheet('目录');
|
||||||
let yz01_sheet = workbook.getWorksheet('预总01表');
|
let yz01_sheet = workbook.getWorksheet('预总01表');
|
||||||
let f01_sheet = workbook.getWorksheet('辅01表');
|
let f01_sheet = workbook.getWorksheet('辅01表');
|
||||||
|
let f02_sheet = workbook.getWorksheet('辅02表');
|
||||||
|
let f03_sheet = workbook.getWorksheet('辅03表');
|
||||||
|
yz01_sheet.headerFooter.oddHeader = yz01_sheet.headerFooter.oddHeader.replace(/×××/g, data.name);
|
||||||
|
|
||||||
// 更新封面
|
// 更新封面
|
||||||
fm_sheet.getRow(2).getCell(1).value = data.name;
|
fm_sheet.getRow(2).getCell(1).value = data.name;
|
||||||
@ -913,15 +916,15 @@ async function generateTemplate(data) {
|
|||||||
fee: addNumbers(a.fee, toFiniteNumber(b?.fee))
|
fee: addNumbers(a.fee, toFiniteNumber(b?.fee))
|
||||||
};
|
};
|
||||||
}, { person_num: 0, work_day: 0, fee: 0 });
|
}, { person_num: 0, work_day: 0, fee: 0 });
|
||||||
sheet_4.getRow(3).getCell(4).value = sumObj.person_num;
|
sheet_4.getRow(3).getCell(4).value = numberFormatter(sumObj.person_num, 0);
|
||||||
sheet_4.getRow(3).getCell(5).value = sumObj.work_day;
|
sheet_4.getRow(3).getCell(5).value = numberFormatter(sumObj.work_day, 2);
|
||||||
sheet_4.getRow(3).getCell(6).value = sumObj.fee;
|
sheet_4.getRow(3).getCell(6).value = numberFormatter(sumObj.fee, 2);
|
||||||
sheet_4_1.getRow(4).getCell(4).value = '/';
|
sheet_4_1.getRow(3).getCell(4).value = '/';
|
||||||
sheet_4_1.getRow(4).getCell(5).value = '/';
|
sheet_4_1.getRow(3).getCell(5).value = '/';
|
||||||
sheet_4_1.getRow(4).getCell(6).value = '/';
|
sheet_4_1.getRow(3).getCell(6).value = '/';
|
||||||
sheet_4_1.getRow(4).getCell(7).value = sumObj.person_num;
|
sheet_4_1.getRow(3).getCell(7).value = numberFormatter(sumObj.person_num, 0);
|
||||||
sheet_4_1.getRow(4).getCell(8).value = sumObj.work_day;
|
sheet_4_1.getRow(3).getCell(8).value = numberFormatter(sumObj.work_day, 2);
|
||||||
sheet_4_1.getRow(4).getCell(9).value = sumObj.fee
|
sheet_4_1.getRow(3).getCell(9).value = numberFormatter(sumObj.fee, 2);
|
||||||
}
|
}
|
||||||
if (ci.method5) {
|
if (ci.method5) {
|
||||||
ml_sourceRows.push(ml_sheet.getRow(13));
|
ml_sourceRows.push(ml_sheet.getRow(13));
|
||||||
@ -929,7 +932,7 @@ async function generateTemplate(data) {
|
|||||||
sheet_5.headerFooter.oddHeader = sheet_5.headerFooter.oddHeader.replace(/×××/g, ci.name).replace(/预 i-5 表/g, `预 ${index + 1}-5 表`).replace(/第i合同/g, ci.name);
|
sheet_5.headerFooter.oddHeader = sheet_5.headerFooter.oddHeader.replace(/×××/g, ci.name).replace(/预 i-5 表/g, `预 ${index + 1}-5 表`).replace(/第i合同/g, ci.name);
|
||||||
sheet_5.getRow(3).getCell(4).value = '/';
|
sheet_5.getRow(3).getCell(4).value = '/';
|
||||||
sheet_5.getRow(3).getCell(5).value = '/';
|
sheet_5.getRow(3).getCell(5).value = '/';
|
||||||
sheet_5.getRow(3).getCell(6).value = (ci.method5.addtional?.reduce((a, b) => a + b.m5.fee, 0) || 0) + (ci.method5.reserve?.fee || 0);
|
sheet_5.getRow(3).getCell(6).value = numberFormatter((ci.method5.addtional?.reduce((a, b) => a + b.m5.fee, 0) || 0) + (ci.method5.reserve?.fee || 0), 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新目录的第三部分
|
// 更新目录的第三部分
|
||||||
@ -976,35 +979,25 @@ async function generateTemplate(data) {
|
|||||||
targetRow.getCell(2).value = serviceX.code;
|
targetRow.getCell(2).value = serviceX.code;
|
||||||
targetRow.getCell(3).value = serviceX.name;
|
targetRow.getCell(3).value = serviceX.name;
|
||||||
if (sobj.method1) {
|
if (sobj.method1) {
|
||||||
targetRow.getCell(4).value = sobj.method1.fee;
|
targetRow.getCell(4).value = numberFormatter(sobj.method1.fee, 2);
|
||||||
m1Sum += sobj.method1.fee;
|
m1Sum += sobj.method1.fee;
|
||||||
}
|
}
|
||||||
if (sobj.method2) {
|
if (sobj.method2) {
|
||||||
targetRow.getCell(5).value = sobj.method2.fee;
|
targetRow.getCell(5).value = numberFormatter(sobj.method2.fee, 2);
|
||||||
m2Sum += sobj.method2.fee;
|
m2Sum += sobj.method2.fee;
|
||||||
}
|
}
|
||||||
if (sobj.method3) {
|
if (sobj.method3) {
|
||||||
targetRow.getCell(6).value = sobj.method3.fee;
|
targetRow.getCell(6).value = numberFormatter(sobj.method3.fee, 2);
|
||||||
m3Sum += sobj.method3.fee;
|
m3Sum += sobj.method3.fee;
|
||||||
}
|
}
|
||||||
if (sobj.method4) {
|
if (sobj.method4) {
|
||||||
targetRow.getCell(7).value = sobj.method4.fee;
|
targetRow.getCell(7).value = numberFormatter(sobj.method4.fee, 2);
|
||||||
m4Sum += sobj.method4.fee;
|
m4Sum += sobj.method4.fee;
|
||||||
}
|
}
|
||||||
targetRow.getCell(8).value = sobj.fee;
|
targetRow.getCell(8).value = numberFormatter(sobj.fee, 2);
|
||||||
serviceSum += sobj.fee;
|
serviceSum += sobj.fee;
|
||||||
});
|
});
|
||||||
if (sobj.method1 || sobj.method2) {
|
if (sobj.method1 || sobj.method2) {
|
||||||
let det1 = sobj.method1 ? sobj.method1.det.map(m => m.major) : [];
|
|
||||||
let det2 = sobj.method2 ? sobj.method2.det.map(m => m.major) : [];
|
|
||||||
let allDet = [...(new Set([...det1, ...det2]))].sort((a, b) => a - b).map(m => {
|
|
||||||
return {
|
|
||||||
major: m,
|
|
||||||
mth1: det1.includes(m) ? sobj.method1.det[det1.indexOf(m)] : null,
|
|
||||||
mth2: det2.includes(m) ? sobj.method2.det[det2.indexOf(m)] : null,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
cusInsertRowFunc(4 + num_2, [sheet_2.getRow(4)], sheet_2, (targetRow) => {
|
cusInsertRowFunc(4 + num_2, [sheet_2.getRow(4)], sheet_2, (targetRow) => {
|
||||||
targetRow.getCell(1).value = num_2++;
|
targetRow.getCell(1).value = num_2++;
|
||||||
targetRow.getCell(2).value = serviceX.code;
|
targetRow.getCell(2).value = serviceX.code;
|
||||||
@ -1014,85 +1007,221 @@ async function generateTemplate(data) {
|
|||||||
targetRow.getCell(6).value = '/';
|
targetRow.getCell(6).value = '/';
|
||||||
targetRow.getCell(7).value = '/';
|
targetRow.getCell(7).value = '/';
|
||||||
if (sobj.method1) {
|
if (sobj.method1) {
|
||||||
targetRow.getCell(8).value = sobj.method1.basicFee;
|
targetRow.getCell(8).value = numberFormatter(sobj.method1.basicFee, 2);
|
||||||
targetRow.getCell(9).value = sobj.method1.fee;
|
targetRow.getCell(9).value = numberFormatter(sobj.method1.fee, 2);
|
||||||
cusInsertRowFunc(4 + num_2_1, [sheet_2_1.getRow(4)], sheet_2_1, (targetRow) => {
|
cusInsertRowFunc(4 + num_2_1, [sheet_2_1.getRow(4)], sheet_2_1, (targetRow) => {
|
||||||
targetRow.getCell(1).value = num_2_1++;
|
targetRow.getCell(1).value = num_2_1++;
|
||||||
targetRow.getCell(2).value = serviceX.code;
|
targetRow.getCell(2).value = serviceX.code;
|
||||||
targetRow.getCell(3).value = serviceX.name;
|
targetRow.getCell(3).value = serviceX.name;
|
||||||
targetRow.getCell(4).value = sobj.method1.cost;
|
targetRow.getCell(4).value = numberFormatter(sobj.method1.cost, 2);
|
||||||
targetRow.getCell(5).value = '/';
|
targetRow.getCell(5).value = '/';
|
||||||
targetRow.getCell(6).value = sobj.method1.basicFee_basic;
|
targetRow.getCell(6).value = numberFormatter(sobj.method1.basicFee_basic, 2);
|
||||||
targetRow.getCell(7).value = '/';
|
targetRow.getCell(7).value = '/';
|
||||||
targetRow.getCell(8).value = sobj.method1.basicFee_optional;
|
targetRow.getCell(8).value = numberFormatter(sobj.method1.basicFee_optional, 2);
|
||||||
targetRow.getCell(9).value = sobj.method1.basicFee;
|
targetRow.getCell(9).value = numberFormatter(sobj.method1.basicFee, 2);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (sobj.method2) {
|
if (sobj.method2) {
|
||||||
targetRow.getCell(10).value = sobj.method2.basicFee;
|
targetRow.getCell(10).value = numberFormatter(sobj.method2.basicFee, 2);
|
||||||
targetRow.getCell(11).value = sobj.method2.fee;
|
targetRow.getCell(11).value = numberFormatter(sobj.method2.fee, 2);
|
||||||
cusInsertRowFunc(4 + num_2_2, [sheet_2_2.getRow(4)], sheet_2_2, (targetRow) => {
|
cusInsertRowFunc(4 + num_2_2, [sheet_2_2.getRow(4)], sheet_2_2, (targetRow) => {
|
||||||
targetRow.getCell(1).value = num_2_2++;
|
targetRow.getCell(1).value = num_2_2++;
|
||||||
targetRow.getCell(2).value = serviceX.code;
|
targetRow.getCell(2).value = serviceX.code;
|
||||||
targetRow.getCell(3).value = serviceX.name;
|
targetRow.getCell(3).value = serviceX.name;
|
||||||
targetRow.getCell(4).value = sobj.method2.area;
|
targetRow.getCell(4).value = numberFormatter(sobj.method2.area, 3);
|
||||||
targetRow.getCell(5).value = '/';
|
targetRow.getCell(5).value = '/';
|
||||||
targetRow.getCell(6).value = sobj.method2.basicFee_basic;
|
targetRow.getCell(6).value = numberFormatter(sobj.method2.basicFee_basic, 2);
|
||||||
targetRow.getCell(7).value = '/';
|
targetRow.getCell(7).value = '/';
|
||||||
targetRow.getCell(8).value = sobj.method2.basicFee_optional;
|
targetRow.getCell(8).value = numberFormatter(sobj.method2.basicFee_optional, 2);
|
||||||
targetRow.getCell(9).value = sobj.method2.basicFee;
|
targetRow.getCell(9).value = numberFormatter(sobj.method2.basicFee, 2);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
allDet.forEach((m, mindex) => {
|
if (serviceX.mutiple) {
|
||||||
let majorX = majorList[m.major];
|
const maxProNum = Math.max(sobj.method1 ? sobj.method1.proAmount : 0, sobj.method2 ? sobj.method2.proAmount : 0);
|
||||||
cusInsertRowFunc(4 + num_2, [sheet_2.getRow(4)], sheet_2, (targetRow) => {
|
for (let pi = 1; pi <= maxProNum; pi++) {
|
||||||
targetRow.getCell(1).value = num_2++;
|
const m1PI = sobj.method1 ? sobj.method1.det.filter(m => m.proNum == pi) : [];
|
||||||
targetRow.getCell(2).value = serviceX.code + '-' + (mindex + 1);
|
const m2PI = sobj.method2 ? sobj.method2.det.filter(m => m.proNum == pi) : [];
|
||||||
targetRow.getCell(3).value = majorX.name;
|
let m1PISum = m1PI.reduce((a, b) => {
|
||||||
if (m.mth1) {
|
return {
|
||||||
targetRow.getCell(4).value = m.mth1.serviceCoe;
|
cost: addNumbers(a.cost, toFiniteNumber(b.cost)),
|
||||||
targetRow.getCell(5).value = m.mth1.majorCoe;
|
basicFee_basic: addNumbers(a.basicFee_basic, toFiniteNumber(b.basicFee_basic)),
|
||||||
targetRow.getCell(6).value = m.mth1.processCoe;
|
basicFee_optional: addNumbers(a.basicFee_optional, toFiniteNumber(b.basicFee_optional)),
|
||||||
targetRow.getCell(7).value = m.mth1.proportion;
|
basicFee: addNumbers(a.basicFee, toFiniteNumber(b.basicFee)),
|
||||||
targetRow.getCell(8).value = m.mth1.basicFee;
|
fee: addNumbers(a.fee, toFiniteNumber(b.fee)),
|
||||||
targetRow.getCell(9).value = m.mth1.fee;
|
}
|
||||||
targetRow.getCell(10).value = 0;
|
}, { cost: 0, basicFee_basic: 0, basicFee_optional: 0, basicFee: 0, fee: 0 });
|
||||||
targetRow.getCell(11).value = 0;
|
let m2PISum = m2PI.reduce((a, b) => {
|
||||||
cusInsertRowFunc(4 + num_2_1, [sheet_2_1.getRow(4)], sheet_2_1, (targetRow) => {
|
return {
|
||||||
targetRow.getCell(1).value = num_2_1++;
|
area: addNumbers(a.area, toFiniteNumber(b.area)),
|
||||||
targetRow.getCell(2).value = serviceX.code + '-' + (mindex + 1);
|
basicFee_basic: addNumbers(a.basicFee_basic, toFiniteNumber(b.basicFee_basic)),
|
||||||
|
basicFee_optional: addNumbers(a.basicFee_optional, toFiniteNumber(b.basicFee_optional)),
|
||||||
|
basicFee: addNumbers(a.basicFee, toFiniteNumber(b.basicFee)),
|
||||||
|
fee: addNumbers(a.fee, toFiniteNumber(b.fee)),
|
||||||
|
}
|
||||||
|
}, { area: 0, basicFee_basic: 0, basicFee_optional: 0, basicFee: 0, fee: 0 });
|
||||||
|
cusInsertRowFunc(4 + num_2, [sheet_2.getRow(4)], sheet_2, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_2++;
|
||||||
|
targetRow.getCell(2).value = serviceX.code + '-' + pi;
|
||||||
|
targetRow.getCell(3).value = '项目' + pi;
|
||||||
|
targetRow.getCell(4).value = '/';
|
||||||
|
targetRow.getCell(5).value = '/';
|
||||||
|
targetRow.getCell(6).value = '/';
|
||||||
|
targetRow.getCell(7).value = '/';
|
||||||
|
if (m1PI.length) {
|
||||||
|
targetRow.getCell(8).value = numberFormatter(m1PISum.basicFee, 2);
|
||||||
|
targetRow.getCell(9).value = numberFormatter(m1PISum.fee, 2);
|
||||||
|
cusInsertRowFunc(4 + num_2_1, [sheet_2_1.getRow(4)], sheet_2_1, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_2_1++;
|
||||||
|
targetRow.getCell(2).value = serviceX.code + '-' + pi;
|
||||||
|
targetRow.getCell(3).value = '项目' + pi;
|
||||||
|
targetRow.getCell(4).value = numberFormatter(m1PISum.cost, 2);
|
||||||
|
targetRow.getCell(5).value = '/';
|
||||||
|
targetRow.getCell(6).value = numberFormatter(m1PISum.basicFee_basic, 2);
|
||||||
|
targetRow.getCell(7).value = '/';
|
||||||
|
targetRow.getCell(8).value = numberFormatter(m1PISum.basicFee_optional, 2);
|
||||||
|
targetRow.getCell(9).value = numberFormatter(m1PISum.basicFee, 2);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (m2PI.length) {
|
||||||
|
targetRow.getCell(10).value = numberFormatter(m2PISum.basicFee, 2);
|
||||||
|
targetRow.getCell(11).value = numberFormatter(m2PISum.fee, 2);
|
||||||
|
cusInsertRowFunc(4 + num_2_2, [sheet_2_2.getRow(4)], sheet_2_2, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_2_2++;
|
||||||
|
targetRow.getCell(2).value = serviceX.code + '-' + pi;
|
||||||
|
targetRow.getCell(3).value = '项目' + pi;
|
||||||
|
targetRow.getCell(4).value = numberFormatter(m2PISum.area, 3);
|
||||||
|
targetRow.getCell(5).value = '/';
|
||||||
|
targetRow.getCell(6).value = numberFormatter(m2PISum.basicFee_basic, 2);
|
||||||
|
targetRow.getCell(7).value = '/';
|
||||||
|
targetRow.getCell(8).value = numberFormatter(m2PISum.basicFee_optional, 2);
|
||||||
|
targetRow.getCell(9).value = numberFormatter(m2PISum.basicFee, 2);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
let det1 = m1PI.map(m => m.major);
|
||||||
|
let det2 = m2PI.map(m => m.major);
|
||||||
|
let allDet = [...(new Set([...det1, ...det2]))].sort((a, b) => a - b).map(m => {
|
||||||
|
let d1index = det1.indexOf(m);
|
||||||
|
let d2index = det2.indexOf(m);
|
||||||
|
return {
|
||||||
|
major: m,
|
||||||
|
mth1: d1index < 0 ? null : m1PI[d1index],
|
||||||
|
mth2: d2index < 0 ? null : m2PI[d2index],
|
||||||
|
};
|
||||||
|
});
|
||||||
|
allDet.forEach((m, mindex) => {
|
||||||
|
let majorX = majorList[m.major];
|
||||||
|
cusInsertRowFunc(4 + num_2, [sheet_2.getRow(4)], sheet_2, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_2++;
|
||||||
|
targetRow.getCell(2).value = serviceX.code + '-' + pi + '-' + (mindex + 1);
|
||||||
targetRow.getCell(3).value = majorX.name;
|
targetRow.getCell(3).value = majorX.name;
|
||||||
targetRow.getCell(4).value = m.mth1.cost;
|
if (m.mth1) {
|
||||||
targetRow.getCell(5).value = m.mth1.basicFormula;
|
targetRow.getCell(4).value = numberFormatter(m.mth1.serviceCoe, 3);
|
||||||
targetRow.getCell(6).value = m.mth1.basicFee_basic;
|
targetRow.getCell(5).value = numberFormatter(m.mth1.majorCoe, 3);
|
||||||
targetRow.getCell(7).value = m.mth1.optionalFormula;
|
targetRow.getCell(6).value = numberFormatter(m.mth1.processCoe, 3);
|
||||||
targetRow.getCell(8).value = m.mth1.basicFee_optional;
|
targetRow.getCell(7).value = numberFormatter(m.mth1.proportion, 2);
|
||||||
targetRow.getCell(9).value = m.mth1.basicFee;
|
targetRow.getCell(8).value = numberFormatter(m.mth1.basicFee, 2);
|
||||||
|
targetRow.getCell(9).value = numberFormatter(m.mth1.fee, 2);
|
||||||
|
targetRow.getCell(10).value = '';
|
||||||
|
targetRow.getCell(11).value = '';
|
||||||
|
cusInsertRowFunc(4 + num_2_1, [sheet_2_1.getRow(4)], sheet_2_1, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_2_1++;
|
||||||
|
targetRow.getCell(2).value = serviceX.code + '-' + pi + '-' + (mindex + 1);
|
||||||
|
targetRow.getCell(3).value = majorX.name;
|
||||||
|
targetRow.getCell(4).value = numberFormatter(m.mth1.cost, 2);
|
||||||
|
targetRow.getCell(5).value = m.mth1.basicFormula;
|
||||||
|
targetRow.getCell(6).value = numberFormatter(m.mth1.basicFee_basic, 2);
|
||||||
|
targetRow.getCell(7).value = m.mth1.optionalFormula;
|
||||||
|
targetRow.getCell(8).value = numberFormatter(m.mth1.basicFee_optional, 2);
|
||||||
|
targetRow.getCell(9).value = numberFormatter(m.mth1.basicFee, 2);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
targetRow.getCell(4).value = numberFormatter(m.mth2.serviceCoe, 3);
|
||||||
|
targetRow.getCell(5).value = numberFormatter(m.mth2.majorCoe, 3);
|
||||||
|
targetRow.getCell(6).value = numberFormatter(m.mth2.processCoe, 3);
|
||||||
|
targetRow.getCell(7).value = numberFormatter(m.mth2.proportion, 2);
|
||||||
|
targetRow.getCell(8).value = '';
|
||||||
|
targetRow.getCell(9).value = '';
|
||||||
|
targetRow.getCell(10).value = numberFormatter(m.mth2.basicFee, 2);
|
||||||
|
targetRow.getCell(11).value = numberFormatter(m.mth2.fee, 2);
|
||||||
|
cusInsertRowFunc(4 + num_2_2, [sheet_2_2.getRow(4)], sheet_2_2, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_2_2++;
|
||||||
|
targetRow.getCell(2).value = serviceX.code + '-' + pi + '-' + (mindex + 1);
|
||||||
|
targetRow.getCell(3).value = majorX.name;
|
||||||
|
targetRow.getCell(4).value = numberFormatter(m.mth2.area, 3);
|
||||||
|
targetRow.getCell(5).value = m.mth2.basicFormula;
|
||||||
|
targetRow.getCell(6).value = numberFormatter(m.mth2.basicFee_basic, 2);
|
||||||
|
targetRow.getCell(7).value = m.mth2.optionalFormula;
|
||||||
|
targetRow.getCell(8).value = numberFormatter(m.mth2.basicFee_optional, 2);
|
||||||
|
targetRow.getCell(9).value = numberFormatter(m.mth2.basicFee, 2);
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
} else {
|
});
|
||||||
targetRow.getCell(4).value = m.mth2.serviceCoe;
|
}
|
||||||
targetRow.getCell(5).value = m.mth2.majorCoe;
|
} else {
|
||||||
targetRow.getCell(6).value = m.mth2.processCoe;
|
let det1 = sobj.method1 ? sobj.method1.det.map(m => m.major) : [];
|
||||||
targetRow.getCell(7).value = m.mth2.proportion;
|
let det2 = sobj.method2 ? sobj.method2.det.map(m => m.major) : [];
|
||||||
targetRow.getCell(8).value = 0;
|
let allDet = [...(new Set([...det1, ...det2]))].sort((a, b) => a - b).map(m => {
|
||||||
targetRow.getCell(9).value = 0;
|
let d1index = det1.indexOf(m);
|
||||||
targetRow.getCell(10).value = m.mth2.basicFee;
|
let d2index = det2.indexOf(m);
|
||||||
targetRow.getCell(11).value = m.mth2.fee;
|
return {
|
||||||
cusInsertRowFunc(4 + num_2_2, [sheet_2_2.getRow(4)], sheet_2_2, (targetRow) => {
|
major: m,
|
||||||
targetRow.getCell(1).value = num_2_2++;
|
mth1: d1index < 0 ? null : sobj.method1.det[d1index],
|
||||||
targetRow.getCell(2).value = serviceX.code + '-' + (mindex + 1);
|
mth2: d2index < 0 ? null : sobj.method2.det[d2index],
|
||||||
targetRow.getCell(3).value = majorX.name;
|
};
|
||||||
targetRow.getCell(4).value = m.mth2.area;
|
|
||||||
targetRow.getCell(5).value = m.mth2.basicFormula;
|
|
||||||
targetRow.getCell(6).value = m.mth2.basicFee_basic;
|
|
||||||
targetRow.getCell(7).value = m.mth2.optionalFormula;
|
|
||||||
targetRow.getCell(8).value = m.mth2.basicFee_optional;
|
|
||||||
targetRow.getCell(9).value = m.mth2.basicFee;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
});
|
allDet.forEach((m, mindex) => {
|
||||||
|
let majorX = majorList[m.major];
|
||||||
|
cusInsertRowFunc(4 + num_2, [sheet_2.getRow(4)], sheet_2, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_2++;
|
||||||
|
targetRow.getCell(2).value = serviceX.code + '-' + (mindex + 1);
|
||||||
|
targetRow.getCell(3).value = majorX.name;
|
||||||
|
if (m.mth1) {
|
||||||
|
targetRow.getCell(4).value = numberFormatter(m.mth1.serviceCoe, 3);
|
||||||
|
targetRow.getCell(5).value = numberFormatter(m.mth1.majorCoe, 3);
|
||||||
|
targetRow.getCell(6).value = numberFormatter(m.mth1.processCoe, 3);
|
||||||
|
targetRow.getCell(7).value = numberFormatter(m.mth1.proportion, 2);
|
||||||
|
targetRow.getCell(8).value = numberFormatter(m.mth1.basicFee, 2);
|
||||||
|
targetRow.getCell(9).value = numberFormatter(m.mth1.fee, 2);
|
||||||
|
targetRow.getCell(10).value = '';
|
||||||
|
targetRow.getCell(11).value = '';
|
||||||
|
cusInsertRowFunc(4 + num_2_1, [sheet_2_1.getRow(4)], sheet_2_1, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_2_1++;
|
||||||
|
targetRow.getCell(2).value = serviceX.code + '-' + (mindex + 1);
|
||||||
|
targetRow.getCell(3).value = majorX.name;
|
||||||
|
targetRow.getCell(4).value = numberFormatter(m.mth1.cost, 2);
|
||||||
|
targetRow.getCell(5).value = m.mth1.basicFormula;
|
||||||
|
targetRow.getCell(6).value = numberFormatter(m.mth1.basicFee_basic, 2);
|
||||||
|
targetRow.getCell(7).value = m.mth1.optionalFormula;
|
||||||
|
targetRow.getCell(8).value = numberFormatter(m.mth1.basicFee_optional, 2);
|
||||||
|
targetRow.getCell(9).value = numberFormatter(m.mth1.basicFee, 2);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
targetRow.getCell(4).value = numberFormatter(m.mth2.serviceCoe, 3);
|
||||||
|
targetRow.getCell(5).value = numberFormatter(m.mth2.majorCoe, 3);
|
||||||
|
targetRow.getCell(6).value = numberFormatter(m.mth2.processCoe, 3);
|
||||||
|
targetRow.getCell(7).value = numberFormatter(m.mth2.proportion, 2);
|
||||||
|
targetRow.getCell(8).value = '';
|
||||||
|
targetRow.getCell(9).value = '';
|
||||||
|
targetRow.getCell(10).value = numberFormatter(m.mth2.basicFee, 2);
|
||||||
|
targetRow.getCell(11).value = numberFormatter(m.mth2.fee, 2);
|
||||||
|
cusInsertRowFunc(4 + num_2_2, [sheet_2_2.getRow(4)], sheet_2_2, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_2_2++;
|
||||||
|
targetRow.getCell(2).value = serviceX.code + '-' + (mindex + 1);
|
||||||
|
targetRow.getCell(3).value = majorX.name;
|
||||||
|
targetRow.getCell(4).value = numberFormatter(m.mth2.area, 3);
|
||||||
|
targetRow.getCell(5).value = m.mth2.basicFormula;
|
||||||
|
targetRow.getCell(6).value = numberFormatter(m.mth2.basicFee_basic, 2);
|
||||||
|
targetRow.getCell(7).value = m.mth2.optionalFormula;
|
||||||
|
targetRow.getCell(8).value = numberFormatter(m.mth2.basicFee_optional, 2);
|
||||||
|
targetRow.getCell(9).value = numberFormatter(m.mth2.basicFee, 2);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (sobj.method3) {
|
if (sobj.method3) {
|
||||||
cusInsertRowFunc(3 + num_3, [sheet_3.getRow(3)], sheet_3, (targetRow) => {
|
cusInsertRowFunc(3 + num_3, [sheet_3.getRow(3)], sheet_3, (targetRow) => {
|
||||||
@ -1102,9 +1231,9 @@ async function generateTemplate(data) {
|
|||||||
targetRow.getCell(4).value = '/';
|
targetRow.getCell(4).value = '/';
|
||||||
targetRow.getCell(5).value = '/';
|
targetRow.getCell(5).value = '/';
|
||||||
targetRow.getCell(6).value = '/';
|
targetRow.getCell(6).value = '/';
|
||||||
targetRow.getCell(7).value = sobj.method3.basicFee;
|
targetRow.getCell(7).value = numberFormatter(sobj.method3.basicFee, 2);
|
||||||
targetRow.getCell(8).value = '/';
|
targetRow.getCell(8).value = '/';
|
||||||
targetRow.getCell(9).value = sobj.method3.fee;
|
targetRow.getCell(9).value = numberFormatter(sobj.method3.fee, 2);
|
||||||
});
|
});
|
||||||
sobj.method3.det.forEach((tobj, tindex) => {
|
sobj.method3.det.forEach((tobj, tindex) => {
|
||||||
const taskX = taskList[tobj.task];
|
const taskX = taskList[tobj.task];
|
||||||
@ -1113,11 +1242,11 @@ async function generateTemplate(data) {
|
|||||||
targetRow.getCell(2).value = taskX.code;
|
targetRow.getCell(2).value = taskX.code;
|
||||||
targetRow.getCell(3).value = taskX.name + (taskX.desc ? `(${taskX.desc})` : '');
|
targetRow.getCell(3).value = taskX.name + (taskX.desc ? `(${taskX.desc})` : '');
|
||||||
targetRow.getCell(4).value = taskX.basicParam;
|
targetRow.getCell(4).value = taskX.basicParam;
|
||||||
targetRow.getCell(5).value = tobj.price;
|
targetRow.getCell(5).value = numberFormatter(tobj.price, 2);
|
||||||
targetRow.getCell(6).value = tobj.amount;
|
targetRow.getCell(6).value = numberFormatter(tobj.amount, 2);
|
||||||
targetRow.getCell(7).value = tobj.basicFee;
|
targetRow.getCell(7).value = numberFormatter(tobj.basicFee, 2);
|
||||||
targetRow.getCell(8).value = tobj.serviceCoe;
|
targetRow.getCell(8).value = numberFormatter(tobj.serviceCoe, 3);
|
||||||
targetRow.getCell(9).value = tobj.fee;
|
targetRow.getCell(9).value = numberFormatter(tobj.fee, 2);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -1126,33 +1255,33 @@ async function generateTemplate(data) {
|
|||||||
targetRow.getCell(1).value = num_4++;
|
targetRow.getCell(1).value = num_4++;
|
||||||
targetRow.getCell(2).value = serviceX.code;
|
targetRow.getCell(2).value = serviceX.code;
|
||||||
targetRow.getCell(3).value = serviceX.name;
|
targetRow.getCell(3).value = serviceX.name;
|
||||||
targetRow.getCell(4).value = sobj.method4.person_num;
|
targetRow.getCell(4).value = numberFormatter(sobj.method4.person_num, 0);
|
||||||
targetRow.getCell(5).value = sobj.method4.work_day;
|
targetRow.getCell(5).value = numberFormatter(sobj.method4.work_day, 2);
|
||||||
targetRow.getCell(6).value = sobj.method4.fee;
|
targetRow.getCell(6).value = numberFormatter(sobj.method4.fee, 2);
|
||||||
});
|
});
|
||||||
cusInsertRowFunc(5 + num_4_1, [sheet_4_1.getRow(5)], sheet_4_1, (targetRow) => {
|
cusInsertRowFunc(4 + num_4_1, [sheet_4_1.getRow(4)], sheet_4_1, (targetRow) => {
|
||||||
targetRow.getCell(1).value = num_4_1++;
|
targetRow.getCell(1).value = num_4_1++;
|
||||||
targetRow.getCell(2).value = serviceX.code;
|
targetRow.getCell(2).value = serviceX.code;
|
||||||
targetRow.getCell(3).value = serviceX.name;
|
targetRow.getCell(3).value = serviceX.name;
|
||||||
targetRow.getCell(4).value = '/';
|
targetRow.getCell(4).value = '/';
|
||||||
targetRow.getCell(5).value = '/';
|
targetRow.getCell(5).value = '/';
|
||||||
targetRow.getCell(6).value = '/';
|
targetRow.getCell(6).value = '/';
|
||||||
targetRow.getCell(7).value = sobj.method4.person_num;
|
targetRow.getCell(7).value = numberFormatter(sobj.method4.person_num, 0);
|
||||||
targetRow.getCell(8).value = sobj.method4.work_day;
|
targetRow.getCell(8).value = numberFormatter(sobj.method4.work_day, 2);
|
||||||
targetRow.getCell(9).value = sobj.method4.fee;
|
targetRow.getCell(9).value = numberFormatter(sobj.method4.fee, 2);
|
||||||
});
|
});
|
||||||
sobj.method4.det.forEach((eobj, eindex) => {
|
sobj.method4.det.forEach((eobj, eindex) => {
|
||||||
const expertX = expertList[eobj.expert];
|
const expertX = expertList[eobj.expert];
|
||||||
cusInsertRowFunc(5 + num_4_1, [sheet_4_1.getRow(5)], sheet_4_1, (targetRow) => {
|
cusInsertRowFunc(4 + num_4_1, [sheet_4_1.getRow(4)], sheet_4_1, (targetRow) => {
|
||||||
targetRow.getCell(1).value = num_4_1++;
|
targetRow.getCell(1).value = num_4_1++;
|
||||||
targetRow.getCell(2).value = expertX.code;
|
targetRow.getCell(2).value = expertX.code;
|
||||||
targetRow.getCell(3).value = expertX.name;
|
targetRow.getCell(3).value = expertX.name;
|
||||||
targetRow.getCell(4).value = `${expertX.minPrice}~${expertX.maxPrice}`;
|
targetRow.getCell(4).value = `${expertX.minPrice}~${expertX.maxPrice}`;
|
||||||
targetRow.getCell(5).value = `${roundTo(toDecimal(toFiniteNumber(expertX.minPrice)).mul(toFiniteNumber(expertX.manageCoe)), 0)}~${roundTo(toDecimal(toFiniteNumber(expertX.maxPrice)).mul(toFiniteNumber(expertX.manageCoe)), 0)}`;
|
targetRow.getCell(5).value = `${roundTo(toDecimal(toFiniteNumber(expertX.minPrice)).mul(toFiniteNumber(expertX.manageCoe)), 0)}~${roundTo(toDecimal(toFiniteNumber(expertX.maxPrice)).mul(toFiniteNumber(expertX.manageCoe)), 0)}`;
|
||||||
targetRow.getCell(6).value = eobj.price;
|
targetRow.getCell(6).value = numberFormatter(eobj.price, 2);
|
||||||
targetRow.getCell(7).value = eobj.person_num;
|
targetRow.getCell(7).value = numberFormatter(eobj.person_num, 0);
|
||||||
targetRow.getCell(8).value = eobj.work_day;
|
targetRow.getCell(8).value = numberFormatter(eobj.work_day, 2);
|
||||||
targetRow.getCell(9).value = eobj.fee;
|
targetRow.getCell(9).value = numberFormatter(eobj.fee, 2);
|
||||||
targetRow.getCell(10).value = eobj.remark;
|
targetRow.getCell(10).value = eobj.remark;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -1179,7 +1308,7 @@ async function generateTemplate(data) {
|
|||||||
targetRow.getCell(5).value = '';
|
targetRow.getCell(5).value = '';
|
||||||
targetRow.getCell(6).value = '';
|
targetRow.getCell(6).value = '';
|
||||||
targetRow.getCell(7).value = '';
|
targetRow.getCell(7).value = '';
|
||||||
targetRow.getCell(8).value = ci.addtional.fee;
|
targetRow.getCell(8).value = numberFormatter(ci.addtional.fee, 2);
|
||||||
});
|
});
|
||||||
ci.addtional.det.forEach((addobj, addindex) => {
|
ci.addtional.det.forEach((addobj, addindex) => {
|
||||||
endRows++;
|
endRows++;
|
||||||
@ -1192,17 +1321,196 @@ async function generateTemplate(data) {
|
|||||||
if (addobj.m4) tmpArr.push(`按工时法计得${addobj.m4.fee}元`);
|
if (addobj.m4) tmpArr.push(`按工时法计得${addobj.m4.fee}元`);
|
||||||
if (addobj.m5) tmpArr.push(`按数量单价计得${addobj.m5.fee}元`);
|
if (addobj.m5) tmpArr.push(`按数量单价计得${addobj.m5.fee}元`);
|
||||||
targetRow.getCell(4).value = tmpArr.join(';');
|
targetRow.getCell(4).value = tmpArr.join(';');
|
||||||
targetRow.getCell(8).value = addobj.fee;
|
targetRow.getCell(8).value = numberFormatter(addobj.fee, 2);
|
||||||
|
if (addobj.m4) {
|
||||||
|
cusInsertRowFunc(4 + num_4, [sheet_4.getRow(4)], sheet_4, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_4++;
|
||||||
|
targetRow.getCell(2).value = addobj.ref;
|
||||||
|
targetRow.getCell(3).value = addobj.name;
|
||||||
|
targetRow.getCell(4).value = numberFormatter(addobj.m4.person_num, 0);
|
||||||
|
targetRow.getCell(5).value = numberFormatter(addobj.m4.work_day, 2);
|
||||||
|
targetRow.getCell(6).value = numberFormatter(addobj.m4.fee, 2);
|
||||||
|
});
|
||||||
|
cusInsertRowFunc(4 + num_4_1, [sheet_4_1.getRow(4)], sheet_4_1, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_4_1++;
|
||||||
|
targetRow.getCell(2).value = addobj.ref;
|
||||||
|
targetRow.getCell(3).value = addobj.name;
|
||||||
|
targetRow.getCell(4).value = '/';
|
||||||
|
targetRow.getCell(5).value = '/';
|
||||||
|
targetRow.getCell(6).value = '/';
|
||||||
|
targetRow.getCell(7).value = numberFormatter(addobj.m4.person_num, 0);
|
||||||
|
targetRow.getCell(8).value = numberFormatter(addobj.m4.work_day, 2);
|
||||||
|
targetRow.getCell(9).value = numberFormatter(addobj.m4.fee, 2);
|
||||||
|
});
|
||||||
|
addobj.m4.det.forEach((eobj, eindex) => {
|
||||||
|
const expertX = expertList[eobj.expert];
|
||||||
|
cusInsertRowFunc(4 + num_4_1, [sheet_4_1.getRow(4)], sheet_4_1, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_4_1++;
|
||||||
|
targetRow.getCell(2).value = expertX.code;
|
||||||
|
targetRow.getCell(3).value = expertX.name;
|
||||||
|
targetRow.getCell(4).value = `${expertX.minPrice}~${expertX.maxPrice}`;
|
||||||
|
targetRow.getCell(5).value = `${roundTo(toDecimal(toFiniteNumber(expertX.minPrice)).mul(toFiniteNumber(expertX.manageCoe)), 0)}~${roundTo(toDecimal(toFiniteNumber(expertX.maxPrice)).mul(toFiniteNumber(expertX.manageCoe)), 0)}`;
|
||||||
|
targetRow.getCell(6).value = numberFormatter(eobj.price, 2);
|
||||||
|
targetRow.getCell(7).value = numberFormatter(eobj.person_num, 0);
|
||||||
|
targetRow.getCell(8).value = numberFormatter(eobj.work_day, 2);
|
||||||
|
targetRow.getCell(9).value = numberFormatter(eobj.fee, 2);
|
||||||
|
targetRow.getCell(10).value = eobj.remark;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (addobj.m5) {
|
||||||
|
cusInsertRowFunc(4 + num_5, [sheet_5.getRow(4)], sheet_5, (targetRow) => {
|
||||||
|
num_5++;
|
||||||
|
targetRow.getCell(1).value = addobj.ref;
|
||||||
|
targetRow.getCell(2).value = addobj.name;
|
||||||
|
targetRow.getCell(3).value = '/';
|
||||||
|
targetRow.getCell(4).value = '/';
|
||||||
|
targetRow.getCell(5).value = '/';
|
||||||
|
targetRow.getCell(6).value = numberFormatter(addobj.m5.fee, 2);
|
||||||
|
});
|
||||||
|
const tmpJSS = JSON.stringify(addobj.ref);
|
||||||
|
addobj.m5.det.forEach((eobj, eindex) => {
|
||||||
|
let ref = JSON.parse(tmpJSS);
|
||||||
|
ref.richText.push({ font: { charset: 134, color: { theme: 1 }, italic: true, name: '宋体', size: 10 }, text: '-' + (eindex + 1) });
|
||||||
|
cusInsertRowFunc(4 + num_5, [sheet_5.getRow(4)], sheet_5, (targetRow) => {
|
||||||
|
num_5++;
|
||||||
|
targetRow.getCell(1).value = ref;
|
||||||
|
targetRow.getCell(2).value = eobj.name;
|
||||||
|
targetRow.getCell(3).value = eobj.unit;
|
||||||
|
targetRow.getCell(4).value = numberFormatter(eobj.amount, 3);
|
||||||
|
targetRow.getCell(5).value = numberFormatter(eobj.price, 2);
|
||||||
|
targetRow.getCell(6).value = numberFormatter(eobj.fee, 2);
|
||||||
|
targetRow.getCell(7).value = eobj.remark;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (ci.reserve) {
|
||||||
|
endRows++;
|
||||||
|
cusInsertRowFunc(ci.services.length + 3 + endRows, [sheet_1.getRow(3)], sheet_1, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = ci.services.length + endRows;
|
||||||
|
targetRow.getCell(2).value = ci.reserve.ref;
|
||||||
|
targetRow.getCell(3).value = ci.reserve.name;
|
||||||
|
let tmpArr = [];
|
||||||
|
if (ci.reserve.m0) tmpArr.push(`按上述小计及附加工作费之和的${ci.reserve.m0.coe}计得${ci.reserve.m0.fee}元`);
|
||||||
|
if (ci.reserve.m4) tmpArr.push(`按工时法计得${ci.reserve.m4.fee}元`);
|
||||||
|
if (ci.reserve.m5) tmpArr.push(`按数量单价计得${ci.reserve.m5.fee}元`);
|
||||||
|
targetRow.getCell(4).value = tmpArr.join(';');
|
||||||
|
targetRow.getCell(8).value = numberFormatter(ci.reserve.fee, 2);
|
||||||
|
});
|
||||||
|
if (ci.reserve.m4) {
|
||||||
|
cusInsertRowFunc(4 + num_4, [sheet_4.getRow(4)], sheet_4, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_4++;
|
||||||
|
targetRow.getCell(2).value = ci.reserve.ref;
|
||||||
|
targetRow.getCell(3).value = ci.reserve.name;
|
||||||
|
targetRow.getCell(4).value = numberFormatter(ci.reserve.m4.person_num, 0);
|
||||||
|
targetRow.getCell(5).value = numberFormatter(ci.reserve.m4.work_day, 2);
|
||||||
|
targetRow.getCell(6).value = numberFormatter(ci.reserve.m4.fee, 2);
|
||||||
|
});
|
||||||
|
cusInsertRowFunc(4 + num_4_1, [sheet_4_1.getRow(4)], sheet_4_1, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_4_1++;
|
||||||
|
targetRow.getCell(2).value = ci.reserve.ref;
|
||||||
|
targetRow.getCell(3).value = ci.reserve.name;
|
||||||
|
targetRow.getCell(4).value = '/';
|
||||||
|
targetRow.getCell(5).value = '/';
|
||||||
|
targetRow.getCell(6).value = '/';
|
||||||
|
targetRow.getCell(7).value = numberFormatter(ci.reserve.m4.person_num, 0);
|
||||||
|
targetRow.getCell(8).value = numberFormatter(ci.reserve.m4.work_day, 2);
|
||||||
|
targetRow.getCell(9).value = numberFormatter(ci.reserve.m4.fee, 2);
|
||||||
|
});
|
||||||
|
ci.reserve.m4.det.forEach((eobj, eindex) => {
|
||||||
|
const expertX = expertList[eobj.expert];
|
||||||
|
cusInsertRowFunc(4 + num_4_1, [sheet_4_1.getRow(4)], sheet_4_1, (targetRow) => {
|
||||||
|
targetRow.getCell(1).value = num_4_1++;
|
||||||
|
targetRow.getCell(2).value = expertX.code;
|
||||||
|
targetRow.getCell(3).value = expertX.name;
|
||||||
|
targetRow.getCell(4).value = `${expertX.minPrice}~${expertX.maxPrice}`;
|
||||||
|
targetRow.getCell(5).value = `${roundTo(toDecimal(toFiniteNumber(expertX.minPrice)).mul(toFiniteNumber(expertX.manageCoe)), 0)}~${roundTo(toDecimal(toFiniteNumber(expertX.maxPrice)).mul(toFiniteNumber(expertX.manageCoe)), 0)}`;
|
||||||
|
targetRow.getCell(6).value = numberFormatter(eobj.price, 2);
|
||||||
|
targetRow.getCell(7).value = numberFormatter(eobj.person_num, 0);
|
||||||
|
targetRow.getCell(8).value = numberFormatter(eobj.work_day, 2);
|
||||||
|
targetRow.getCell(9).value = numberFormatter(eobj.fee, 2);
|
||||||
|
targetRow.getCell(10).value = eobj.remark;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (ci.reserve.m5) {
|
||||||
|
cusInsertRowFunc(4 + num_5, [sheet_5.getRow(4)], sheet_5, (targetRow) => {
|
||||||
|
num_5++;
|
||||||
|
targetRow.getCell(1).value = ci.reserve.ref;
|
||||||
|
targetRow.getCell(2).value = ci.reserve.name;
|
||||||
|
targetRow.getCell(3).value = '/';
|
||||||
|
targetRow.getCell(4).value = '/';
|
||||||
|
targetRow.getCell(5).value = '/';
|
||||||
|
targetRow.getCell(6).value = numberFormatter(ci.reserve.m5.fee, 2);
|
||||||
|
});
|
||||||
|
const tmpJSS = JSON.stringify(ci.reserve.ref);
|
||||||
|
ci.reserve.m5.det.forEach((eobj, eindex) => {
|
||||||
|
let ref = JSON.parse(tmpJSS);
|
||||||
|
ref.richText.push({ font: { charset: 134, color: { theme: 1 }, italic: true, name: '宋体', size: 10 }, text: '-' + (eindex + 1) });
|
||||||
|
cusInsertRowFunc(4 + num_5, [sheet_5.getRow(4)], sheet_5, (targetRow) => {
|
||||||
|
num_5++;
|
||||||
|
targetRow.getCell(1).value = ref;
|
||||||
|
targetRow.getCell(2).value = eobj.name;
|
||||||
|
targetRow.getCell(3).value = eobj.unit;
|
||||||
|
targetRow.getCell(4).value = numberFormatter(eobj.amount, 3);
|
||||||
|
targetRow.getCell(5).value = numberFormatter(eobj.price, 2);
|
||||||
|
targetRow.getCell(6).value = numberFormatter(eobj.fee, 2);
|
||||||
|
targetRow.getCell(7).value = eobj.remark;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sheet_1.spliceRows(3, 1);
|
sheet_1.spliceRows(3, 1);
|
||||||
sheet_1.getRow(ci.services.length + endRows + 3).getCell(1).value = ci.services.length + endRows + 1;
|
sheet_1.getRow(ci.services.length + endRows + 3).getCell(1).value = ci.services.length + endRows + 1;
|
||||||
sheet_1.getRow(ci.services.length + endRows + 3).getCell(8).value = ci.fee;
|
sheet_1.getRow(ci.services.length + endRows + 3).getCell(8).value = numberFormatter(ci.fee, 2);
|
||||||
sheet_1.mergeCells(2 + ci.services.length + endRows + 2, 2, 2 + ci.services.length + endRows + 2, 8);
|
sheet_1.mergeCells(2 + ci.services.length + endRows + 2, 2, 2 + ci.services.length + endRows + 2, 8);
|
||||||
sheet_1.getRow(2 + ci.services.length + endRows + 2).height = 100;
|
sheet_1.getRow(2 + ci.services.length + endRows + 2).height = 100;
|
||||||
sheet_1.getRow(2 + ci.services.length + endRows + 2).getCell(2).border.right = { style: 'thin' };
|
sheet_1.getRow(2 + ci.services.length + endRows + 2).getCell(2).border.right = { style: 'thin' };
|
||||||
|
|
||||||
|
if (sheet_2) {
|
||||||
|
sheet_2.spliceRows(4, 1);
|
||||||
|
sheet_2.mergeCells(3 + num_2, 2, 3 + num_2, 11);
|
||||||
|
sheet_2.getRow(3 + num_2).height = 100;
|
||||||
|
sheet_2.getRow(3 + num_2).getCell(2).border.right = { style: 'thin' };
|
||||||
|
if (sheet_2_1) {
|
||||||
|
sheet_2_1.spliceRows(4, 1);
|
||||||
|
sheet_2_1.mergeCells(3 + num_2_1, 2, 3 + num_2_1, 9);
|
||||||
|
sheet_2_1.getRow(3 + num_2_1).height = 100;
|
||||||
|
sheet_2_1.getRow(3 + num_2_1).getCell(2).border.right = { style: 'thin' };
|
||||||
|
}
|
||||||
|
if (sheet_2_2) {
|
||||||
|
sheet_2_2.spliceRows(4, 1);
|
||||||
|
sheet_2_2.mergeCells(3 + num_2_2, 2, 3 + num_2_2, 9);
|
||||||
|
sheet_2_2.getRow(3 + num_2_2).height = 100;
|
||||||
|
sheet_2_2.getRow(3 + num_2_2).getCell(2).border.right = { style: 'thin' };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sheet_3) {
|
||||||
|
sheet_3.spliceRows(3, 1);
|
||||||
|
sheet_3.mergeCells(2 + num_3, 2, 2 + num_3, 9);
|
||||||
|
sheet_3.getRow(2 + num_3).height = 100;
|
||||||
|
sheet_3.getRow(2 + num_3).getCell(2).border.right = { style: 'thin' };
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sheet_4) {
|
||||||
|
sheet_4.spliceRows(4, 1);
|
||||||
|
sheet_4.getRow(2).height = 20.25;
|
||||||
|
sheet_4_1.spliceRows(4, 1);
|
||||||
|
sheet_4_1.mergeCells(3 + num_4_1, 2, 3 + num_4_1, 10);
|
||||||
|
sheet_4_1.getRow(3 + num_4_1).height = 100;
|
||||||
|
sheet_4_1.getRow(3 + num_4_1).getCell(2).border.right = { style: 'thin' };
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sheet_5) {
|
||||||
|
sheet_5.spliceRows(4, 1);
|
||||||
|
sheet_5.getRow(2).height = 20.25;
|
||||||
|
}
|
||||||
|
|
||||||
for (let i = 1; i <= endRows; i++) {
|
for (let i = 1; i <= endRows; i++) {
|
||||||
sheet_1.mergeCells(ci.services.length + 3 + i, 4, ci.services.length + 3 + i, 7);
|
sheet_1.mergeCells(ci.services.length + 3 + i, 4, ci.services.length + 3 + i, 7);
|
||||||
if (sheet_1.getRow(ci.services.length + 3 + i).getCell(4).style.alignment) {
|
if (sheet_1.getRow(ci.services.length + 3 + i).getCell(4).style.alignment) {
|
||||||
@ -1222,9 +1530,9 @@ async function generateTemplate(data) {
|
|||||||
targetRow.getCell(i * 7 + 1).value = sindex + 1;
|
targetRow.getCell(i * 7 + 1).value = sindex + 1;
|
||||||
targetRow.getCell(i * 7 + 2).value = serviceX.code;
|
targetRow.getCell(i * 7 + 2).value = serviceX.code;
|
||||||
targetRow.getCell(i * 7 + 3).value = serviceX.name;
|
targetRow.getCell(i * 7 + 3).value = serviceX.name;
|
||||||
targetRow.getCell(i * 7 + 4).value = s.contracts[i * 4];
|
targetRow.getCell(i * 7 + 4).value = numberFormatter(s.contracts[i * 4], 2);
|
||||||
targetRow.getCell(i * 7 + 5).value = s.contracts[i * 4 + 1];
|
targetRow.getCell(i * 7 + 5).value = numberFormatter(s.contracts[i * 4 + 1], 2);
|
||||||
targetRow.getCell(i * 7 + 6).value = s.contracts[i * 4 + 2];
|
targetRow.getCell(i * 7 + 6).value = numberFormatter(s.contracts[i * 4 + 2], 2);
|
||||||
siSum = addNumbers(
|
siSum = addNumbers(
|
||||||
siSum,
|
siSum,
|
||||||
toFiniteNumber(s.contracts[i * 4]),
|
toFiniteNumber(s.contracts[i * 4]),
|
||||||
@ -1234,7 +1542,7 @@ async function generateTemplate(data) {
|
|||||||
if (i == yz01Num - 1 && yz01Mod == 0) {
|
if (i == yz01Num - 1 && yz01Mod == 0) {
|
||||||
targetRow.getCell(i * 7 + 7).value = numberFormatter(siSum, 2);
|
targetRow.getCell(i * 7 + 7).value = numberFormatter(siSum, 2);
|
||||||
} else {
|
} else {
|
||||||
targetRow.getCell(i * 7 + 7).value = s.contracts[i * 4 + 3];
|
targetRow.getCell(i * 7 + 7).value = numberFormatter(s.contracts[i * 4 + 3], 2);
|
||||||
siSum = addNumbers(siSum, toFiniteNumber(s.contracts[i * 4 + 3]));
|
siSum = addNumbers(siSum, toFiniteNumber(s.contracts[i * 4 + 3]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1245,12 +1553,12 @@ async function generateTemplate(data) {
|
|||||||
if (yz01Mod == 1) {
|
if (yz01Mod == 1) {
|
||||||
targetRow.getCell(yz01Num * 7 + 4).value = numberFormatter(siSum, 2);
|
targetRow.getCell(yz01Num * 7 + 4).value = numberFormatter(siSum, 2);
|
||||||
} else if (yz01Mod == 2) {
|
} else if (yz01Mod == 2) {
|
||||||
targetRow.getCell(yz01Num * 7 + 4).value = s.contracts[yz01Num * 4];
|
targetRow.getCell(yz01Num * 7 + 4).value = numberFormatter(s.contracts[yz01Num * 4], 2);
|
||||||
siSum = addNumbers(siSum, toFiniteNumber(s.contracts[yz01Num * 4]));
|
siSum = addNumbers(siSum, toFiniteNumber(s.contracts[yz01Num * 4]));
|
||||||
targetRow.getCell(yz01Num * 7 + 5).value = numberFormatter(siSum, 2);
|
targetRow.getCell(yz01Num * 7 + 5).value = numberFormatter(siSum, 2);
|
||||||
} else {
|
} else {
|
||||||
targetRow.getCell(yz01Num * 7 + 4).value = s.contracts[yz01Num * 4];
|
targetRow.getCell(yz01Num * 7 + 4).value = numberFormatter(s.contracts[yz01Num * 4], 2);
|
||||||
targetRow.getCell(yz01Num * 7 + 5).value = s.contracts[yz01Num * 4 + 1];
|
targetRow.getCell(yz01Num * 7 + 5).value = numberFormatter(s.contracts[yz01Num * 4 + 1], 2);
|
||||||
siSum = addNumbers(
|
siSum = addNumbers(
|
||||||
siSum,
|
siSum,
|
||||||
toFiniteNumber(s.contracts[yz01Num * 4]),
|
toFiniteNumber(s.contracts[yz01Num * 4]),
|
||||||
@ -1271,9 +1579,9 @@ async function generateTemplate(data) {
|
|||||||
targetRow.getCell(i * 7 + 1).value = allServices.length + 1;
|
targetRow.getCell(i * 7 + 1).value = allServices.length + 1;
|
||||||
targetRow.getCell(i * 7 + 2).value = allAddtional[firstNum].code;
|
targetRow.getCell(i * 7 + 2).value = allAddtional[firstNum].code;
|
||||||
targetRow.getCell(i * 7 + 3).value = allAddtional[firstNum].name;
|
targetRow.getCell(i * 7 + 3).value = allAddtional[firstNum].name;
|
||||||
targetRow.getCell(i * 7 + 4).value = allAddtional[i * 4]?.fee;
|
targetRow.getCell(i * 7 + 4).value = numberFormatter(allAddtional[i * 4]?.fee, 2);
|
||||||
targetRow.getCell(i * 7 + 5).value = allAddtional[i * 4 + 1]?.fee;
|
targetRow.getCell(i * 7 + 5).value = numberFormatter(allAddtional[i * 4 + 1]?.fee, 2);
|
||||||
targetRow.getCell(i * 7 + 6).value = allAddtional[i * 4 + 2]?.fee;
|
targetRow.getCell(i * 7 + 6).value = numberFormatter(allAddtional[i * 4 + 2]?.fee, 2);
|
||||||
siSum = addNumbers(
|
siSum = addNumbers(
|
||||||
siSum,
|
siSum,
|
||||||
toFiniteNumber(allAddtional[i * 4]?.fee),
|
toFiniteNumber(allAddtional[i * 4]?.fee),
|
||||||
@ -1283,7 +1591,7 @@ async function generateTemplate(data) {
|
|||||||
if (i == yz01Num - 1 && yz01Mod == 0) {
|
if (i == yz01Num - 1 && yz01Mod == 0) {
|
||||||
targetRow.getCell(i * 7 + 7).value = numberFormatter(siSum, 2);
|
targetRow.getCell(i * 7 + 7).value = numberFormatter(siSum, 2);
|
||||||
} else {
|
} else {
|
||||||
targetRow.getCell(i * 7 + 7).value = allAddtional[i * 4 + 3]?.fee;
|
targetRow.getCell(i * 7 + 7).value = numberFormatter(allAddtional[i * 4 + 3]?.fee, 2);
|
||||||
siSum = addNumbers(siSum, toFiniteNumber(allAddtional[i * 4 + 3]?.fee));
|
siSum = addNumbers(siSum, toFiniteNumber(allAddtional[i * 4 + 3]?.fee));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1294,12 +1602,12 @@ async function generateTemplate(data) {
|
|||||||
if (yz01Mod == 1) {
|
if (yz01Mod == 1) {
|
||||||
targetRow.getCell(yz01Num * 7 + 4).value = numberFormatter(siSum, 2);
|
targetRow.getCell(yz01Num * 7 + 4).value = numberFormatter(siSum, 2);
|
||||||
} else if (yz01Mod == 2) {
|
} else if (yz01Mod == 2) {
|
||||||
targetRow.getCell(yz01Num * 7 + 4).value = allAddtional[yz01Num * 4]?.fee;
|
targetRow.getCell(yz01Num * 7 + 4).value = numberFormatter(allAddtional[yz01Num * 4]?.fee, 2);
|
||||||
siSum = addNumbers(siSum, toFiniteNumber(allAddtional[yz01Num * 4]?.fee));
|
siSum = addNumbers(siSum, toFiniteNumber(allAddtional[yz01Num * 4]?.fee));
|
||||||
targetRow.getCell(yz01Num * 7 + 5).value = numberFormatter(siSum, 2);
|
targetRow.getCell(yz01Num * 7 + 5).value = numberFormatter(siSum, 2);
|
||||||
} else {
|
} else {
|
||||||
targetRow.getCell(yz01Num * 7 + 4).value = allAddtional[yz01Num * 4]?.fee;
|
targetRow.getCell(yz01Num * 7 + 4).value = numberFormatter(allAddtional[yz01Num * 4]?.fee, 2);
|
||||||
targetRow.getCell(yz01Num * 7 + 5).value = allAddtional[yz01Num * 4 + 1]?.fee;
|
targetRow.getCell(yz01Num * 7 + 5).value = numberFormatter(allAddtional[yz01Num * 4 + 1]?.fee, 2);
|
||||||
siSum = addNumbers(
|
siSum = addNumbers(
|
||||||
siSum,
|
siSum,
|
||||||
toFiniteNumber(allAddtional[yz01Num * 4]?.fee),
|
toFiniteNumber(allAddtional[yz01Num * 4]?.fee),
|
||||||
@ -1319,9 +1627,9 @@ async function generateTemplate(data) {
|
|||||||
targetRow.getCell(i * 7 + 1).value = allServices.length + endRows;
|
targetRow.getCell(i * 7 + 1).value = allServices.length + endRows;
|
||||||
targetRow.getCell(i * 7 + 2).value = allReserve[firstNum].code;
|
targetRow.getCell(i * 7 + 2).value = allReserve[firstNum].code;
|
||||||
targetRow.getCell(i * 7 + 3).value = allReserve[firstNum].name;
|
targetRow.getCell(i * 7 + 3).value = allReserve[firstNum].name;
|
||||||
targetRow.getCell(i * 7 + 4).value = allReserve[i * 4]?.fee;
|
targetRow.getCell(i * 7 + 4).value = numberFormatter(allReserve[i * 4]?.fee, 2);
|
||||||
targetRow.getCell(i * 7 + 5).value = allReserve[i * 4 + 1]?.fee;
|
targetRow.getCell(i * 7 + 5).value = numberFormatter(allReserve[i * 4 + 1]?.fee, 2);
|
||||||
targetRow.getCell(i * 7 + 6).value = allReserve[i * 4 + 2]?.fee;
|
targetRow.getCell(i * 7 + 6).value = numberFormatter(allReserve[i * 4 + 2]?.fee, 2);
|
||||||
siSum = addNumbers(
|
siSum = addNumbers(
|
||||||
siSum,
|
siSum,
|
||||||
toFiniteNumber(allReserve[i * 4]?.fee),
|
toFiniteNumber(allReserve[i * 4]?.fee),
|
||||||
@ -1331,7 +1639,7 @@ async function generateTemplate(data) {
|
|||||||
if (i == yz01Num - 1 && yz01Mod == 0) {
|
if (i == yz01Num - 1 && yz01Mod == 0) {
|
||||||
targetRow.getCell(i * 7 + 7).value = numberFormatter(siSum, 2);
|
targetRow.getCell(i * 7 + 7).value = numberFormatter(siSum, 2);
|
||||||
} else {
|
} else {
|
||||||
targetRow.getCell(i * 7 + 7).value = allReserve[i * 4 + 3]?.fee;
|
targetRow.getCell(i * 7 + 7).value = numberFormatter(allReserve[i * 4 + 3]?.fee, 2);
|
||||||
siSum = addNumbers(siSum, toFiniteNumber(allReserve[i * 4 + 3]?.fee));
|
siSum = addNumbers(siSum, toFiniteNumber(allReserve[i * 4 + 3]?.fee));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1342,12 +1650,12 @@ async function generateTemplate(data) {
|
|||||||
if (yz01Mod == 1) {
|
if (yz01Mod == 1) {
|
||||||
targetRow.getCell(yz01Num * 7 + 4).value = numberFormatter(siSum, 2);
|
targetRow.getCell(yz01Num * 7 + 4).value = numberFormatter(siSum, 2);
|
||||||
} else if (yz01Mod == 2) {
|
} else if (yz01Mod == 2) {
|
||||||
targetRow.getCell(yz01Num * 7 + 4).value = allReserve[yz01Num * 4]?.fee;
|
targetRow.getCell(yz01Num * 7 + 4).value = numberFormatter(allReserve[yz01Num * 4]?.fee, 2);
|
||||||
siSum = addNumbers(siSum, toFiniteNumber(allReserve[yz01Num * 4]?.fee));
|
siSum = addNumbers(siSum, toFiniteNumber(allReserve[yz01Num * 4]?.fee));
|
||||||
targetRow.getCell(yz01Num * 7 + 5).value = numberFormatter(siSum, 2);
|
targetRow.getCell(yz01Num * 7 + 5).value = numberFormatter(siSum, 2);
|
||||||
} else {
|
} else {
|
||||||
targetRow.getCell(yz01Num * 7 + 4).value = allReserve[yz01Num * 4]?.fee;
|
targetRow.getCell(yz01Num * 7 + 4).value = numberFormatter(allReserve[yz01Num * 4]?.fee, 2);
|
||||||
targetRow.getCell(yz01Num * 7 + 5).value = allReserve[yz01Num * 4 + 1]?.fee;
|
targetRow.getCell(yz01Num * 7 + 5).value = numberFormatter(allReserve[yz01Num * 4 + 1]?.fee, 2);
|
||||||
siSum = addNumbers(
|
siSum = addNumbers(
|
||||||
siSum,
|
siSum,
|
||||||
toFiniteNumber(allReserve[yz01Num * 4]?.fee),
|
toFiniteNumber(allReserve[yz01Num * 4]?.fee),
|
||||||
@ -1361,13 +1669,13 @@ async function generateTemplate(data) {
|
|||||||
const yz01SumRow = yz01_sheet.getRow(allServices.length + endRows + 3);
|
const yz01SumRow = yz01_sheet.getRow(allServices.length + endRows + 3);
|
||||||
for (let i = 0; i < yz01Num; i++) {
|
for (let i = 0; i < yz01Num; i++) {
|
||||||
yz01SumRow.getCell(i * 7 + 1).value = allServices.length + endRows + 1;
|
yz01SumRow.getCell(i * 7 + 1).value = allServices.length + endRows + 1;
|
||||||
yz01SumRow.getCell(i * 7 + 4).value = data.contracts[i * 4]?.fee;
|
yz01SumRow.getCell(i * 7 + 4).value = numberFormatter(data.contracts[i * 4]?.fee, 2);
|
||||||
yz01SumRow.getCell(i * 7 + 5).value = data.contracts[i * 4 + 1]?.fee;
|
yz01SumRow.getCell(i * 7 + 5).value = numberFormatter(data.contracts[i * 4 + 1]?.fee, 2);
|
||||||
yz01SumRow.getCell(i * 7 + 6).value = data.contracts[i * 4 + 2]?.fee;
|
yz01SumRow.getCell(i * 7 + 6).value = numberFormatter(data.contracts[i * 4 + 2]?.fee, 2);
|
||||||
if (i == yz01Num - 1 && yz01Mod == 0) {
|
if (i == yz01Num - 1 && yz01Mod == 0) {
|
||||||
yz01SumRow.getCell(i * 7 + 7).value = numberFormatter(data.fee, 2);
|
yz01SumRow.getCell(i * 7 + 7).value = numberFormatter(data.fee, 2);
|
||||||
} else {
|
} else {
|
||||||
yz01SumRow.getCell(i * 7 + 7).value = data.contracts[i * 4 + 3]?.fee;
|
yz01SumRow.getCell(i * 7 + 7).value = numberFormatter(data.contracts[i * 4 + 3]?.fee, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (yz01Mod) {
|
if (yz01Mod) {
|
||||||
@ -1375,11 +1683,11 @@ async function generateTemplate(data) {
|
|||||||
if (yz01Mod == 1) {
|
if (yz01Mod == 1) {
|
||||||
yz01SumRow.getCell(yz01Num * 7 + 4).value = numberFormatter(data.fee, 2);
|
yz01SumRow.getCell(yz01Num * 7 + 4).value = numberFormatter(data.fee, 2);
|
||||||
} else if (yz01Mod == 2) {
|
} else if (yz01Mod == 2) {
|
||||||
yz01SumRow.getCell(yz01Num * 7 + 4).value = data.contracts[yz01Num * 4]?.fee;
|
yz01SumRow.getCell(yz01Num * 7 + 4).value = numberFormatter(data.contracts[yz01Num * 4]?.fee, 2);
|
||||||
yz01SumRow.getCell(yz01Num * 7 + 5).value = numberFormatter(data.fee, 2);
|
yz01SumRow.getCell(yz01Num * 7 + 5).value = numberFormatter(data.fee, 2);
|
||||||
} else {
|
} else {
|
||||||
yz01SumRow.getCell(yz01Num * 7 + 4).value = data.contracts[yz01Num * 4]?.fee;
|
yz01SumRow.getCell(yz01Num * 7 + 4).value = numberFormatter(data.contracts[yz01Num * 4]?.fee, 2);
|
||||||
yz01SumRow.getCell(yz01Num * 7 + 5).value = data.contracts[yz01Num * 4 + 1]?.fee;
|
yz01SumRow.getCell(yz01Num * 7 + 5).value = numberFormatter(data.contracts[yz01Num * 4 + 1]?.fee, 2);
|
||||||
yz01SumRow.getCell(yz01Num * 7 + 6).value = numberFormatter(data.fee, 2);
|
yz01SumRow.getCell(yz01Num * 7 + 6).value = numberFormatter(data.fee, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1438,9 +1746,9 @@ async function generateTemplate(data) {
|
|||||||
workbook.removeWorksheet('预i-4表');
|
workbook.removeWorksheet('预i-4表');
|
||||||
workbook.removeWorksheet('预i-4-1表');
|
workbook.removeWorksheet('预i-4-1表');
|
||||||
workbook.removeWorksheet('预i-5表');
|
workbook.removeWorksheet('预i-5表');
|
||||||
workbook.getWorksheet('辅01表').orderNo = ml_number + 2 + 11;
|
f01_sheet.orderNo = ml_number + 2 + 11;
|
||||||
workbook.getWorksheet('辅02表').orderNo = ml_number + 3 + 11;
|
f02_sheet.orderNo = ml_number + 3 + 11;
|
||||||
workbook.getWorksheet('辅03表').orderNo = ml_number + 4 + 11;
|
f03_sheet.orderNo = ml_number + 4 + 11;
|
||||||
|
|
||||||
workbook._worksheets.forEach(sheet => {
|
workbook._worksheets.forEach(sheet => {
|
||||||
if (sheet) {
|
if (sheet) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user