|
|
@@ -714,7 +714,7 @@ async generateQingdanTuijian(name, bh, bt, bm) {
|
|
|
}
|
|
|
}
|
|
|
async generateSingleDingeXilie(zhuanye, debh, mc) {//清单页面展示用
|
|
|
- const response = await fetch(this.ip().concat( "/singledexilie/").concat(zhuanye.toString()).concat("/").concat(debh).concat("/").concat(mc), {
|
|
|
+ const response = await fetch(this.ip().concat( "/singledexilie/").concat(zhuanye.toString()).concat("/").concat(debh).concat("/").concat(encodeURIComponent(mc)), {
|
|
|
method : "GET",
|
|
|
|
|
|
});
|
|
|
@@ -1373,17 +1373,21 @@ async generateQingdanTuijian(name, bh, bt, bm) {
|
|
|
let de = qd["_children"].filter(x=>x['key'] == row)[0];
|
|
|
if (de.hasOwnProperty("rcjdg")) {//新数据
|
|
|
for (let i = 1; i < de['rcjdg'].length; i++) {
|
|
|
- de['rcjdg'][i][5] = data[i][5];//更新单价
|
|
|
- /****ToDo 更新其他字段 */
|
|
|
- if (de['rcjdg'][i][2] == data[i][2]) {//更新名称
|
|
|
+ for(let j = 1; j < data.length; j++) {
|
|
|
+ if (data[j][16] == de['rcjdg'][i][16]) {
|
|
|
+ de['rcjdg'][i][5] = data[j][5];//更新单价
|
|
|
+ /****ToDo 更新其他字段 */
|
|
|
+ if (de['rcjdg'][i][2] == data[j][2]) {//更新名称
|
|
|
|
|
|
- } else {
|
|
|
- huan = true;
|
|
|
+ } else {
|
|
|
+ huan = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (de['fuzhuEnable'] && de.hasOwnProperty('fuzhu')) {//没强行改过含量
|
|
|
-
|
|
|
+ de['dercj'] = copy(de['rcjdg']);
|
|
|
for(let j = 1; j < de['rcjdg'].length; j++) {
|
|
|
let origin = Number(de['rcjdg'][j][10]);
|
|
|
for(let i = 0; i < de['fuzhu'].length; i++) {
|
|
|
@@ -1407,20 +1411,29 @@ async generateQingdanTuijian(name, bh, bt, bm) {
|
|
|
|
|
|
|
|
|
}
|
|
|
- de['dercj'][j][2] = data[j][2];//名称
|
|
|
- de['dercj'][j][1] = data[j][1];//编号
|
|
|
+ for (let k = 0; k < data.length; k++) {
|
|
|
+ if (data[k][16] == de['dercj'][j][16]) {
|
|
|
+ de['dercj'][j][2] = data[k][2];//名称
|
|
|
+ de['dercj'][j][1] = data[k][1];//编号
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
de['dercj'][j][5] = de['rcjdg'][j][5];//单价
|
|
|
de['dercj'][j][10] = origin;
|
|
|
de['dercj'][j][11] = Number(de['dercj'][j][5]) * origin;
|
|
|
}
|
|
|
|
|
|
} else if (de['fuzhuEnable'] && !de.hasOwnProperty('fuzhu')) {
|
|
|
+ de['dercj'] = copy(de['rcjdg']);
|
|
|
for(let j = 1; j < de['rcjdg'].length; j++) {
|
|
|
let origin = Number(de['rcjdg'][j][10]);
|
|
|
|
|
|
- de['dercj'][j][2] = data[j][2];//名称
|
|
|
- de['dercj'][j][1] = data[j][1];//编号
|
|
|
-
|
|
|
+ for (let k = 0; k < data.length; k++) {
|
|
|
+ if (data[k][16] == de['dercj'][j][16]) {
|
|
|
+ de['dercj'][j][2] = data[k][2];//名称
|
|
|
+ de['dercj'][j][1] = data[k][1];//编号
|
|
|
+ }
|
|
|
+ }
|
|
|
de['dercj'][j][5] = de['rcjdg'][j][5];
|
|
|
de['dercj'][j][10] = origin;
|
|
|
de['dercj'][j][11] = Number(de['dercj'][j][5]) * origin;
|
|
|
@@ -1429,7 +1442,18 @@ async generateQingdanTuijian(name, bh, bt, bm) {
|
|
|
|
|
|
else {
|
|
|
//强行改含量
|
|
|
- de['dercj'] = copy(data);
|
|
|
+ de['dercj'] = copy(de['rcjdg']);
|
|
|
+ for(let j = 1; j < de['rcjdg'].length; j++) {
|
|
|
+ for (let k = 0; k < data.length; k++) {
|
|
|
+ if (data[k][16] == de['dercj'][j][16]) {
|
|
|
+ de['dercj'][j][2] = data[k][2];//名称
|
|
|
+ de['dercj'][j][1] = data[k][1];//编号
|
|
|
+ de['dercj'][j][10] = data[k][10];
|
|
|
+ de['dercj'][j][11] = Number(de['dercj'][j][5]) * de['dercj'][j][10];
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1444,6 +1468,9 @@ async generateQingdanTuijian(name, bh, bt, bm) {
|
|
|
for(let i = 1; i < data.length; i++) {
|
|
|
data[i][11] = Number(data[i][10]) * Number(data[i][5]);
|
|
|
}
|
|
|
+ if (data[0].length > 17)
|
|
|
+ data = data.filter(x=>x[17]!='true').map(x=>[x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16]]);
|
|
|
+
|
|
|
let sum = 0;
|
|
|
let rgf_sum = 0;
|
|
|
let jxf_sum = 0;
|
|
|
@@ -2037,7 +2064,7 @@ async generateQingdanTuijian(name, bh, bt, bm) {
|
|
|
}
|
|
|
let qd = this.cache_djcs.filter(x=>x['key'] == row)[0];
|
|
|
let dercj = [["ID", "人材机编码", "名称", "规格型号", "单位", "单价", "产地",
|
|
|
- "供应厂商", "人材机类别", "甲供标志", "含量", "合价", "暂估价标志", "主要材料标志", "主材标志", "设备标志" ]];
|
|
|
+ "供应厂商", "人材机类别", "甲供标志", "含量", "合价", "暂估价标志", "主要材料标志", "主材标志", "设备标志", 'key' ]];
|
|
|
for(let i = 0; i < selected.length; i++) {
|
|
|
let rgf = selected[i]['人工费'];
|
|
|
let clf = selected[i]['材料费'];
|
|
|
@@ -2047,24 +2074,24 @@ async generateQingdanTuijian(name, bh, bt, bm) {
|
|
|
let sum = Number(sl) * Number(rgf) * Number(res['azfytag'][1]) / Number(100);
|
|
|
dercj.push(['', res['rgde'][0]['CLBH'], res['rgde'][0]['CLMC'], '', '元',
|
|
|
'1', '', '', '1', '', Number(sum) * Number(res['azfytag'][2]) / Number(100), Number(sum) * Number(res['azfytag'][2]) / Number(100),
|
|
|
- '', '', '', '' ]);
|
|
|
+ '', '', '', '', '' ]);
|
|
|
dercj.push(['', res['clde'][0]['CLBH'], res['clde'][0]['CLMC'], '', '元',
|
|
|
'1', '', '', '2', '', Number(sum) * Number(res['azfytag'][3]) / Number(100), Number(sum) * Number(res['azfytag'][3]) / Number(100),
|
|
|
- '', '', '', '' ]);
|
|
|
+ '', '', '', '', '' ]);
|
|
|
dercj.push(['', res['jxde'][0]['jxbh'], res['jxde'][0]['jxmc'], '', '元',
|
|
|
'1', '', '', '3', '', Number(sum) * Number(res['azfytag'][4]) / Number(100), Number(sum) * Number(res['azfytag'][4]) / Number(100),
|
|
|
- '', '', '', '' ]);
|
|
|
+ '', '', '', '', '' ]);
|
|
|
} else if (res['azfytag'][0] == '人工费+机械费') {
|
|
|
let sum = Number(sl) * (Number(jxf) + Number(rgf)) * Number(res['azfytag'][1]) / Number(100);
|
|
|
dercj.push(['', res['rgde'][0]['CLBH'], res['rgde'][0]['CLMC'], '', '元',
|
|
|
'1', '', '', '1', '', Number(sum) * Number(res['azfytag'][2]) / Number(100), Number(sum) * Number(res['azfytag'][2]) / Number(100),
|
|
|
- '', '', '', '' ]);
|
|
|
+ '', '', '', '', '' ]);
|
|
|
dercj.push(['', res['clde'][0]['CLBH'], res['clde'][0]['CLMC'], '', '元',
|
|
|
'1', '', '', '2', '', Number(sum) * Number(res['azfytag'][3]) / Number(100), Number(sum) * Number(res['azfytag'][3]) / Number(100),
|
|
|
- '', '', '', '' ]);
|
|
|
+ '', '', '', '', '' ]);
|
|
|
dercj.push(['', res['jxde'][0]['jxbh'], res['jxde'][0]['jxmc'], '', '元',
|
|
|
'1', '', '', '3', '', Number(sum) * Number(res['azfytag'][4]) / Number(100), Number(sum) * Number(res['azfytag'][4]) / Number(100),
|
|
|
- '', '', '', '' ]);
|
|
|
+ '', '', '', '', '' ]);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
@@ -2096,7 +2123,7 @@ async generateQingdanTuijian(name, bh, bt, bm) {
|
|
|
'综合人工工日': null,
|
|
|
'备注': null,
|
|
|
"dercj": dercj,
|
|
|
- 'rcjdg': copy(dercj),
|
|
|
+ 'rcjdg': dercj.map(x=>[x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], 'false', [], []]),
|
|
|
'key' : newKey,
|
|
|
"fuzhuEnable": false,
|
|
|
'yuban': [],
|
|
|
@@ -2125,11 +2152,11 @@ async generateQingdanTuijian(name, bh, bt, bm) {
|
|
|
//console.log(res);
|
|
|
let qd = this.cache_djcs.filter(x=>x['key'] == row)[0];
|
|
|
let dercj = [["ID", "人材机编码", "名称", "规格型号", "单位", "单价", "产地",
|
|
|
- "供应厂商", "人材机类别", "甲供标志", "含量", "合价", "暂估价标志", "主要材料标志", "主材标志", "设备标志" ]];
|
|
|
+ "供应厂商", "人材机类别", "甲供标志", "含量", "合价", "暂估价标志", "主要材料标志", "主材标志", "设备标志", "key", "hidden", "parent", "children" ]];
|
|
|
for(let i = 0; i < res['rgde'].length; i++) {
|
|
|
dercj.push(['', res['rgde'][i]['CLBH'], res['rgde'][i]['CLMC'], '', res['rgde'][i]['JLDW'],
|
|
|
res['rgde'][i]['YSJG'], '', '', '1', '', res['rgde'][i]['gr'], res['rgde'][i]['gf'],
|
|
|
- '', '', '', '' ]);
|
|
|
+ '', '', '', '', uuidv4(), "false", [], [] ]);
|
|
|
}
|
|
|
for(let i = 0; i < res['clde'].length; i++) {
|
|
|
let hit = false;
|
|
|
@@ -2144,23 +2171,41 @@ async generateQingdanTuijian(name, bh, bt, bm) {
|
|
|
if (hit) {
|
|
|
dercj.push(['', res['clde'][i]['CLBH'], res['clde'][i]['CLMC'], '', res['clde'][i]['JLDW'],
|
|
|
jg, '', '', '2', 'true', res['clde'][i]['SL'], res['clde'][i]['HJ'],
|
|
|
- '', '', '', '' ]);
|
|
|
+ '', '', '', '', uuidv4(), 'false', [], [] ]);
|
|
|
} else {
|
|
|
+ if (res['clde'][i].hasOwnProperty('children')) {
|
|
|
+ let parent = uuidv4();
|
|
|
+ let children = [];
|
|
|
+ let child_data = res['clde'][i]['children'];
|
|
|
+ for(let j = 0; j < child_data.length; j++) {
|
|
|
+ let id = uuidv4();
|
|
|
+ children.push(id);
|
|
|
+ dercj.push(['', child_data[j]['CLBH'], child_data[j]['CLMC'], '', child_data[j]['JLDW'],
|
|
|
+ child_data[j]['YSJG'], '', '', '2', 'false', child_data[j]['SL'], child_data[j]['HJ'],
|
|
|
+ '', '', '', '', id, 'false', [parent], [] ]);
|
|
|
+ }
|
|
|
+ dercj.push(['', res['clde'][i]['CLBH'], res['clde'][i]['CLMC'], '', res['clde'][i]['JLDW'],
|
|
|
+ res['clde'][i]['YSJG'], '', '', '2', 'false', res['clde'][i]['SL'], res['clde'][i]['HJ'],
|
|
|
+ '', '', '', '', parent, 'true', [], children ]);
|
|
|
+
|
|
|
+ } else {
|
|
|
dercj.push(['', res['clde'][i]['CLBH'], res['clde'][i]['CLMC'], '', res['clde'][i]['JLDW'],
|
|
|
res['clde'][i]['YSJG'], '', '', '2', 'false', res['clde'][i]['SL'], res['clde'][i]['HJ'],
|
|
|
- '', '', '', '' ]);
|
|
|
+ '', '', '', '', uuidv4(), 'false', [], [] ]);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|
|
|
for(let i = 0; i < res['jxde'].length; i++) {
|
|
|
dercj.push(['', res['jxde'][i]['jxbh'], res['jxde'][i]['jxmc'], '', res['jxde'][i]['DW'],
|
|
|
res['jxde'][i]['tbdj'], '', '', '3', '', res['jxde'][i]['sl'], res['jxde'][i]['hj'],
|
|
|
- '', '', '', '' ]);
|
|
|
+ '', '', '', '',uuidv4(), 'false', [], [] ]);
|
|
|
}
|
|
|
let newKey = uuidv4();
|
|
|
if (!qd.hasOwnProperty('_children')) {
|
|
|
qd["_children"] = [];
|
|
|
}
|
|
|
+ let newdercj = copy(dercj).filter(x=>x[17]!='true').map(x=>[x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16]]);
|
|
|
qd["_children"].push({
|
|
|
'操作': '',
|
|
|
'序号': null,
|
|
|
@@ -2183,14 +2228,14 @@ async generateQingdanTuijian(name, bh, bt, bm) {
|
|
|
'暂估价': null,
|
|
|
'综合人工工日': null,
|
|
|
'备注': null,
|
|
|
- "dercj": dercj,
|
|
|
- 'rcjdg': copy(dercj),
|
|
|
+ "dercj": newdercj,
|
|
|
+ 'rcjdg': dercj,
|
|
|
'key' : newKey,
|
|
|
"fuzhuEnable": true
|
|
|
|
|
|
|
|
|
});
|
|
|
- this.updateDercj_djcs_(newKey, dercj, []);
|
|
|
+ this.updateDercj_djcs_(newKey, newdercj, []);
|
|
|
let summarized = this.summarize_djcs(this.cache_djcs);
|
|
|
this.push_op_djcs(copy(summarized));
|
|
|
/////////////////
|
|
|
@@ -2388,8 +2433,8 @@ async generateQingdanTuijian(name, bh, bt, bm) {
|
|
|
'综合人工工日': null,
|
|
|
'备注': null,
|
|
|
"dercj": [["ID", "人材机编码", "名称", "规格型号", "单位", "单价", "产地",
|
|
|
- "供应厂商", "人材机类别", "甲供标志", "含量", "合价", "暂估价标志", "主要材料标志", "主材标志", "设备标志" ],
|
|
|
- ['', bh, mingcheng, '', danwei, '', '', '', '2', '', '1', '', '', '', '', '' ]
|
|
|
+ "供应厂商", "人材机类别", "甲供标志", "含量", "合价", "暂估价标志", "主要材料标志", "主材标志", "设备标志", "key" ],
|
|
|
+ ['', bh, mingcheng, '', danwei, '', '', '', '2', '', '1', '', '', '', '', '', "" ]
|
|
|
],
|
|
|
'key' : uuidv4(),
|
|
|
"fuzhuEnable": false
|