|
@@ -130,15 +130,16 @@ $(document).ready(() => {
|
|
|
curLedgerData = result.curLedgerData;
|
|
|
pos = result.pos;
|
|
|
curPosData = result.curPosData;
|
|
|
- materialListData = result.materialListData;
|
|
|
+ // materialListData = result.materialListData;
|
|
|
notJoinList = result.materialNotJoinListData;
|
|
|
materialChecklistData = result.materialChecklistData;
|
|
|
+ gclList = result.gclList;
|
|
|
// 解析清单汇总数据
|
|
|
gclGatherModel.loadLedgerData(ledger, curLedgerData);
|
|
|
gclGatherModel.loadPosData(pos, curPosData);
|
|
|
gclGatherData = gclGatherModel.gatherGclData();
|
|
|
console.log(gclGatherData);
|
|
|
- const hadBillsidList = _.uniq(_.map(materialListData, 'gcl_id'));
|
|
|
+ const hadBillsidList = _.uniq(_.map(gclList, 'gcl_id'));
|
|
|
console.log(hadBillsidList);
|
|
|
// 对比清单设置和调差清单,还要和台账对比,显示已选清单列表 不同则更新到清单设置页中
|
|
|
const pushData = [];
|
|
@@ -171,6 +172,10 @@ $(document).ready(() => {
|
|
|
updateObj.had_bills = 0;
|
|
|
// updateData.push({ id: mc.id, mid: materialID, had_bills: 0 });
|
|
|
}
|
|
|
+ } else if (mc.had_bills === 0) {
|
|
|
+ if (_.indexOf(hadBillsidList, gcl.leafXmjs ? gcl.leafXmjs[0].gcl_id: null) !== -1) {
|
|
|
+ updateObj.had_bills = 1;
|
|
|
+ }
|
|
|
}
|
|
|
// 更新工程量及台账金额
|
|
|
if (mc.quantity !== (gcl.quantity ? gcl.quantity : null)) {
|
|
@@ -250,20 +255,32 @@ $(document).ready(() => {
|
|
|
let materialList = [];
|
|
|
function loadMaterialData(iGclRow, iLXmjRow) {
|
|
|
const gcl = gclGatherData[iGclRow];
|
|
|
- const leafXmjs = gcl && gcl.leafXmjs ? gcl.leafXmjs.filter(item => {
|
|
|
- return item.qc_qty || item.contract_qty
|
|
|
- }) : null;
|
|
|
- if (leafXmjs) {
|
|
|
- const xmj = leafXmjs[iLXmjRow];
|
|
|
+ // const leafXmjs = gcl && gcl.leafXmjs ? gcl.leafXmjs.filter(item => {
|
|
|
+ // return item.qc_qty || item.contract_qty
|
|
|
+ // }) : null;
|
|
|
+ if (gcl && gcl.leafXmjs) {
|
|
|
+ const xmj2 = gcl.leafXmjs[iLXmjRow];
|
|
|
materialList = [];
|
|
|
- materialList = _.filter(materialListData, function (m) {
|
|
|
- return m.gcl_id === xmj.gcl_id && m.xmj_id === xmj.id && ((xmj.mx_id !==undefined && m.mx_id === xmj.mx_id) || xmj.mx_id === undefined);
|
|
|
- });
|
|
|
- // for (const m of materialListData) {
|
|
|
- // if (m.gcl_id === xmj.gcl_id && m.xmj_id === xmj.id && ((xmj.mx_id !==undefined && m.mx_id === xmj.mx_id) || xmj.mx_id === undefined)) {
|
|
|
- // materialList.push(m);
|
|
|
- // }
|
|
|
- // }
|
|
|
+ const newMaterialList = _.uniqBy(_.filter(gclList, function (m) {
|
|
|
+ return xmj2 && m.gcl_id === xmj2.gcl_id;
|
|
|
+ }), 'mb_id');
|
|
|
+ for(const m of newMaterialList) {
|
|
|
+ const bills = _.find(materialBillsData, { id: m.mb_id });
|
|
|
+ if(bills) {
|
|
|
+ m.code = bills.code;
|
|
|
+ m.name = bills.name;
|
|
|
+ m.unit = bills.unit;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ console.log(newMaterialList);
|
|
|
+ materialList = newMaterialList;
|
|
|
+ // const leafXmjs = gcl.leafXmjs.filter(item => {
|
|
|
+ // return item.qc_qty || item.contract_qty
|
|
|
+ // });
|
|
|
+ // const xmj = leafXmjs[iLXmjRow];
|
|
|
+ // materialList = _.filter(materialListData, function (m) {
|
|
|
+ // return xmj && m.gcl_id === xmj.gcl_id && m.xmj_id === xmj.id && ((xmj.mx_id !==undefined && m.mx_id === xmj.mx_id) || xmj.mx_id === undefined);
|
|
|
+ // });
|
|
|
// 对清单调差工料table的单位数量进行改变
|
|
|
materialSpreadSetting.cols[materialSpreadSetting.cols.length - 2].title = '|' + gcl.unit + '数量 �';
|
|
|
SpreadJsObj.initSheet(materialSpread.getActiveSheet(), materialSpreadSetting);
|
|
@@ -346,7 +363,7 @@ $(document).ready(() => {
|
|
|
if (isCheck) {
|
|
|
newMaterialChecklistData = [];
|
|
|
$('#notBills_checkList').prop('checked', false);
|
|
|
- const materialList0 = _.uniq(_.map(_.filter(materialListData, { quantity: 0 }), 'gcl_id'));
|
|
|
+ const materialList0 = _.uniq(_.map(_.filter(gclList, { quantity: 0 }), 'gcl_id'));
|
|
|
if (materialList0.length > 0) {
|
|
|
const hadMaterialChecklistData = _.filter(materialChecklistData, { had_bills: 1 });
|
|
|
for (const h of hadMaterialChecklistData) {
|
|
@@ -384,7 +401,7 @@ $(document).ready(() => {
|
|
|
const sheet = ledgerSpread.getActiveSheet();
|
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
|
const gclIndex = _.findIndex(gclGatherData, { b_code: select.b_code, name: select.name, unit: select.unit, unit_price: select.unit_price });
|
|
|
- const gcl = gclGatherData[gclIndex].leafXmjs.filter(item => item.gather_qty !== null && item.gather_qty !== undefined);
|
|
|
+ const gcl = gclGatherData[gclIndex].leafXmjs;
|
|
|
const index = materialChecklistData.indexOf(select);
|
|
|
const datas = [];
|
|
|
for (const xmj of gcl) {
|
|
@@ -401,7 +418,8 @@ $(document).ready(() => {
|
|
|
// 上传到数据库
|
|
|
console.log(datas, gcl);
|
|
|
postData(window.location.pathname + '/save', {type: 'adds', checklist: { id: select.id, had_bills: 1 }, postData: {xmjs: datas, mbIds: mb_id}}, function (result) {
|
|
|
- materialListData = result;
|
|
|
+ // materialListData = result;
|
|
|
+ gclList = result;
|
|
|
materialChecklistData[index].had_bills = 1;
|
|
|
loadMaterialData(gclIndex, 0);
|
|
|
// SpreadJsObj.reLoadRowData(ledgerSpread.getActiveSheet(), index);
|
|
@@ -419,7 +437,7 @@ $(document).ready(() => {
|
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
|
const index = materialChecklistData.indexOf(select);
|
|
|
const gclIndex = _.findIndex(gclGatherData, { b_code: select.b_code, name: select.name, unit: select.unit, unit_price: select.unit_price });
|
|
|
- const gcl = gclGatherData[gclIndex].leafXmjs.filter(item => item.gather_qty !== null && item.gather_qty !== undefined);
|
|
|
+ const gcl = gclGatherData[gclIndex].leafXmjs;
|
|
|
const datas = [];
|
|
|
for (const xmj of gcl) {
|
|
|
const data = {
|
|
@@ -430,9 +448,12 @@ $(document).ready(() => {
|
|
|
datas.push(data);
|
|
|
}
|
|
|
const xmj = gcl[0];
|
|
|
- const materialCount = _.size(_.filter(materialListData, function (m) {
|
|
|
- return m.gcl_id === xmj.gcl_id && m.xmj_id === xmj.id && ((xmj.mx_id !==undefined && m.mx_id === xmj.mx_id) || xmj.mx_id === undefined);
|
|
|
+ const materialCount = _.size(_.filter(gclList, function (m) {
|
|
|
+ return m.gcl_id === xmj.gcl_id;
|
|
|
}));
|
|
|
+ // const materialCount = _.size(_.filter(materialListData, function (m) {
|
|
|
+ // return m.gcl_id === xmj.gcl_id && m.xmj_id === xmj.id && ((xmj.mx_id !==undefined && m.mx_id === xmj.mx_id) || xmj.mx_id === undefined);
|
|
|
+ // }));
|
|
|
let checklist = false;
|
|
|
if (materialCount === 1) {
|
|
|
checklist = {
|
|
@@ -442,7 +463,8 @@ $(document).ready(() => {
|
|
|
}
|
|
|
console.log(datas, materialSelect.mb_id, checklist);
|
|
|
postData(window.location.pathname + '/save', {type: 'dels', checklist, postData: { xmjs: datas, mb_id: materialSelect.mb_id }}, function (result) {
|
|
|
- materialListData = result;
|
|
|
+ // materialListData = result;
|
|
|
+ gclList = result;
|
|
|
if (checklist) materialChecklistData[index].had_bills = checklist.had_bills;
|
|
|
loadMaterialData(gclIndex, 0);
|
|
|
// SpreadJsObj.reLoadRowData(ledgerSpread.getActiveSheet(), index);
|
|
@@ -501,7 +523,7 @@ $(document).ready(() => {
|
|
|
const ledgerSheet = ledgerSpread.getActiveSheet();
|
|
|
const ledgerSelect = SpreadJsObj.getSelectObject(ledgerSheet);
|
|
|
const gclIndex = _.findIndex(gclGatherData, { b_code: ledgerSelect.b_code, name: ledgerSelect.name, unit: ledgerSelect.unit, unit_price: ledgerSelect.unit_price });
|
|
|
- const gcl = gclGatherData[gclIndex].leafXmjs.filter(item => item.gather_qty !== null && item.gather_qty !== undefined);
|
|
|
+ const gcl = gclGatherData[gclIndex].leafXmjs;
|
|
|
const datas = [];
|
|
|
for (const xmj of gcl) {
|
|
|
const data = {
|
|
@@ -513,7 +535,8 @@ $(document).ready(() => {
|
|
|
}
|
|
|
console.log(exprQuantity, datas, select.mb_id);
|
|
|
postData(window.location.pathname + '/save', { type:'updates', updateData: { xmjs: datas, expr: exprQuantity.expr, quantity: exprQuantity.quantity, mb_id: select.mb_id } }, function (result) {
|
|
|
- materialListData = result;
|
|
|
+ // materialListData = result;
|
|
|
+ gclList = result;
|
|
|
loadMaterialData(gclIndex, 0);
|
|
|
materialSpread.getActiveSheet().setSelection(info.row + 1, info.col, 1, 1);
|
|
|
}, function () {
|
|
@@ -598,7 +621,7 @@ $(document).ready(() => {
|
|
|
const ledgerSheet = ledgerSpread.getActiveSheet();
|
|
|
const ledgerSelect = SpreadJsObj.getSelectObject(ledgerSheet);
|
|
|
const gclIndex = _.findIndex(gclGatherData, { b_code: ledgerSelect.b_code, name: ledgerSelect.name, unit: ledgerSelect.unit, unit_price: ledgerSelect.unit_price });
|
|
|
- const gcl = gclGatherData[gclIndex].leafXmjs.filter(item => item.gather_qty !== null && item.gather_qty !== undefined);
|
|
|
+ const gcl = gclGatherData[gclIndex].leafXmjs;
|
|
|
const datas = [];
|
|
|
for (const xmj of gcl) {
|
|
|
const data2 = {
|
|
@@ -611,7 +634,8 @@ $(document).ready(() => {
|
|
|
console.log(data, datas);
|
|
|
// 更新至服务器
|
|
|
postData(window.location.pathname + '/save', { type:'pastes', updateData: { xmjs: datas, pasteData: data } }, function (result) {
|
|
|
- materialListData = result;
|
|
|
+ // materialListData = result;
|
|
|
+ gclList = result;
|
|
|
loadMaterialData(gclIndex, 0);
|
|
|
materialSpread.getActiveSheet().setSelection(info.cellRange.row, info.cellRange.col, info.cellRange.rowCount, info.cellRange.colCount);
|
|
|
}, function () {
|