|
@@ -8,6 +8,25 @@
|
|
* @version
|
|
* @version
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
+function findNotJoinLeafXmj(x, type = '') {
|
|
|
|
+ if (type === 'index') {
|
|
|
|
+ return notJoinList.findIndex(function (item) {
|
|
|
|
+ return item.gcl_id === x.gcl_id && item.xmj_id === x.id && (x.mx_id === undefined || (x.mx_id !== undefined && x.mx_id === item.mx_id));
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ return notJoinList.find(function (item) {
|
|
|
|
+ return item.gcl_id === x.gcl_id && item.xmj_id === x.id && (x.mx_id === undefined || (x.mx_id !== undefined && x.mx_id === item.mx_id));
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function getMpSpreadByMBData(id) {
|
|
|
|
+ const info = materialBillsData.find(function (item) {
|
|
|
|
+ return item.id === parseInt(id);
|
|
|
|
+ });
|
|
|
|
+ console.log(info);
|
|
|
|
+ return info.m_spread;
|
|
|
|
+}
|
|
|
|
+
|
|
$(document).ready(() => {
|
|
$(document).ready(() => {
|
|
autoFlashHeight();
|
|
autoFlashHeight();
|
|
// 清单table
|
|
// 清单table
|
|
@@ -33,7 +52,7 @@ $(document).ready(() => {
|
|
// 解析清单汇总数据
|
|
// 解析清单汇总数据
|
|
gclGatherModel.loadLedgerData(ledger, curLedgerData);
|
|
gclGatherModel.loadLedgerData(ledger, curLedgerData);
|
|
gclGatherModel.loadPosData(pos, curPosData);
|
|
gclGatherModel.loadPosData(pos, curPosData);
|
|
- const gclGatherData = gclGatherModel.gatherGclData();
|
|
|
|
|
|
+ let gclGatherData = gclGatherModel.gatherGclData();
|
|
console.log(gclGatherData);
|
|
console.log(gclGatherData);
|
|
// 获取项目节数据
|
|
// 获取项目节数据
|
|
function loadLeafXmjData(iGclRow) {
|
|
function loadLeafXmjData(iGclRow) {
|
|
@@ -41,13 +60,8 @@ $(document).ready(() => {
|
|
if (gcl) {
|
|
if (gcl) {
|
|
SpreadJsObj.loadSheetData(leafXmjSpread.getActiveSheet(), SpreadJsObj.DataType.Data, gcl.leafXmjs);
|
|
SpreadJsObj.loadSheetData(leafXmjSpread.getActiveSheet(), SpreadJsObj.DataType.Data, gcl.leafXmjs);
|
|
// 对清单调差工料table的单位数量进行改变
|
|
// 对清单调差工料table的单位数量进行改变
|
|
- // console.log(materialSpreadSetting.cols[materialSpreadSetting.cols.length - 1]);
|
|
|
|
- // materialSpreadSetting.cols[materialSpreadSetting.cols.length - 1].title = '|' + gcl.unit + '数量<a href="" data-toggle="tooltip" data-placement="bottom" title="单位数量:每一单位清单下所需工料消耗量。"><i class="fa fa-question-circle-o"></i></a>';
|
|
|
|
materialSpreadSetting.cols[materialSpreadSetting.cols.length - 1].title = '|' + gcl.unit + '数量';
|
|
materialSpreadSetting.cols[materialSpreadSetting.cols.length - 1].title = '|' + gcl.unit + '数量';
|
|
- // const sheet = materialSpread.getActiveSheet();
|
|
|
|
- // sheet.setCellType(2,3, '1', spreadNS.SheetArea.colHeader);
|
|
|
|
SpreadJsObj.initSheet(materialSpread.getActiveSheet(), materialSpreadSetting);
|
|
SpreadJsObj.initSheet(materialSpread.getActiveSheet(), materialSpreadSetting);
|
|
- // materialSpread.resumePaint();
|
|
|
|
} else {
|
|
} else {
|
|
SpreadJsObj.loadSheetData(leafXmjSpread.getActiveSheet(), SpreadJsObj.DataType.Data, []);
|
|
SpreadJsObj.loadSheetData(leafXmjSpread.getActiveSheet(), SpreadJsObj.DataType.Data, []);
|
|
}
|
|
}
|
|
@@ -68,7 +82,7 @@ $(document).ready(() => {
|
|
{title: '本期计量数量|合同', colSpan: '3|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
|
|
{title: '本期计量数量|合同', colSpan: '3|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
|
|
{title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 80, type: 'Number'},
|
|
{title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 80, type: 'Number'},
|
|
{title: '|小计', colSpan: '|1', rowSpan: '|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number'},
|
|
{title: '|小计', colSpan: '|1', rowSpan: '|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number'},
|
|
- {title: '本期价差', colSpan: '1', rowSpan: '2', field: 'jijia', hAlign: 2, width: 80, type: 'Number'},
|
|
|
|
|
|
+ {title: '本期价差', colSpan: '1', rowSpan: '2', field: 'jiacha', hAlign: 2, width: 80, type: 'Number', getValue: 'getValue.jiacha'},
|
|
],
|
|
],
|
|
emptyRows: 0,
|
|
emptyRows: 0,
|
|
headRows: 2,
|
|
headRows: 2,
|
|
@@ -78,6 +92,23 @@ $(document).ready(() => {
|
|
readOnly: true,
|
|
readOnly: true,
|
|
font: '10pt 微软雅黑',
|
|
font: '10pt 微软雅黑',
|
|
};
|
|
};
|
|
|
|
+ const leafXmjCol = {
|
|
|
|
+ getValue: {
|
|
|
|
+ jiacha: function (data) {
|
|
|
|
+ let sum = 0;
|
|
|
|
+ const sheet = leafXmjSpread.getActiveSheet();
|
|
|
|
+ const select = SpreadJsObj.getSelectObject(sheet);
|
|
|
|
+ const notx = findNotJoinLeafXmj(select);
|
|
|
|
+ if (notx === undefined) {
|
|
|
|
+ for(const ml of materialList) {
|
|
|
|
+ sum = ZhCalc.add(sum, ZhCalc.mul(ZhCalc.mul(data.gather_qty, ml.quantity), getMpSpreadByMBData(ml.mb_id)));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return sum;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+ SpreadJsObj.initSpreadSettingEvents(leafXmjSpreadSetting, leafXmjCol);
|
|
SpreadJsObj.initSheet(leafXmjSpread.getActiveSheet(), leafXmjSpreadSetting);
|
|
SpreadJsObj.initSheet(leafXmjSpread.getActiveSheet(), leafXmjSpreadSetting);
|
|
// 加载清单数据
|
|
// 加载清单数据
|
|
SpreadJsObj.loadSheetData(ledgerSpread.getActiveSheet(), SpreadJsObj.DataType.Data, gclGatherData);
|
|
SpreadJsObj.loadSheetData(ledgerSpread.getActiveSheet(), SpreadJsObj.DataType.Data, gclGatherData);
|
|
@@ -89,7 +120,7 @@ $(document).ready(() => {
|
|
{title: '清单调差工料|编号', colSpan: '4|1', rowSpan: '1|1', field: 'code', hAlign: 0, width: 80, formatter: '@', readOnly: true},
|
|
{title: '清单调差工料|编号', colSpan: '4|1', rowSpan: '1|1', field: 'code', hAlign: 0, width: 80, formatter: '@', readOnly: true},
|
|
{title: '|名称', colSpan: '|1', rowSpan: '|1', field: 'name', hAlign: 0, width: 100, formatter: '@', readOnly: true},
|
|
{title: '|名称', colSpan: '|1', rowSpan: '|1', field: 'name', hAlign: 0, width: 100, formatter: '@', readOnly: true},
|
|
{title: '|单位', colSpan: '|1', rowSpan: '|1', field: 'unit', hAlign: 1, width: 60, formatter: '@', readOnly: true},
|
|
{title: '|单位', colSpan: '|1', rowSpan: '|1', field: 'unit', hAlign: 1, width: 60, formatter: '@', readOnly: true},
|
|
- {title: '|数量', colSpan: '1', rowSpan: '|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number', readOnly: readOnly.quantity},
|
|
|
|
|
|
+ {title: '|数量', colSpan: '1', rowSpan: '|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number', readOnly: 'readOnly.isEdit'},
|
|
],
|
|
],
|
|
emptyRows: 0,
|
|
emptyRows: 0,
|
|
headRows: 2,
|
|
headRows: 2,
|
|
@@ -99,22 +130,25 @@ $(document).ready(() => {
|
|
font: '10pt 微软雅黑',
|
|
font: '10pt 微软雅黑',
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ const materialBase = {
|
|
|
|
+ isEdit: function (data) {
|
|
|
|
+ // 是否本期添加的工料
|
|
|
|
+ return data.mid === materialID;
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+
|
|
const materialCol = {
|
|
const materialCol = {
|
|
readOnly: {
|
|
readOnly: {
|
|
- quantity: function () {
|
|
|
|
|
|
+ isEdit: function (data) {
|
|
const sheet = leafXmjSpread.getActiveSheet();
|
|
const sheet = leafXmjSpread.getActiveSheet();
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
- const notx = notJoinList.find(function (item) {
|
|
|
|
- return item.gcl_id === select.gcl_id && item.xmj_id === select.id && (select.mx_id === undefined || (select.mx_id !== undefined && select.mx_id === item.mx_id));
|
|
|
|
- });
|
|
|
|
- console.log(notx);
|
|
|
|
- return readOnly || notx === undefined;
|
|
|
|
|
|
+ const notx = findNotJoinLeafXmj(select);
|
|
|
|
+ return !(!readOnly && notx === undefined && materialBase.isEdit(data));
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
};
|
|
SpreadJsObj.initSpreadSettingEvents(materialSpreadSetting, materialCol);
|
|
SpreadJsObj.initSpreadSettingEvents(materialSpreadSetting, materialCol);
|
|
- // SpreadJsObj.initSheet(materialSpread.getActiveSheet(), materialSpreadSetting);
|
|
|
|
- // 获取第一个调差工料数据
|
|
|
|
|
|
+
|
|
// 获取项目节数据
|
|
// 获取项目节数据
|
|
let materialList = [];
|
|
let materialList = [];
|
|
function loadMaterialData(iGclRow, iLXmjRow) {
|
|
function loadMaterialData(iGclRow, iLXmjRow) {
|
|
@@ -127,11 +161,11 @@ $(document).ready(() => {
|
|
materialList.push(m);
|
|
materialList.push(m);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- console.log(materialList);
|
|
|
|
SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialList);
|
|
SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialList);
|
|
} else {
|
|
} else {
|
|
SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, []);
|
|
SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, []);
|
|
}
|
|
}
|
|
|
|
+ SpreadJsObj.reLoadSheetData(leafXmjSpread.getActiveSheet());
|
|
}
|
|
}
|
|
|
|
|
|
loadLeafXmjData(0);
|
|
loadLeafXmjData(0);
|
|
@@ -145,9 +179,7 @@ $(document).ready(() => {
|
|
const xmj = gclGatherData[index].leafXmjs;
|
|
const xmj = gclGatherData[index].leafXmjs;
|
|
const leafXmjSheet = leafXmjSpread.getActiveSheet();
|
|
const leafXmjSheet = leafXmjSpread.getActiveSheet();
|
|
for (const [iRow,x] of xmj.entries()) {
|
|
for (const [iRow,x] of xmj.entries()) {
|
|
- const notx = notJoinList.find(function (item) {
|
|
|
|
- return item.gcl_id === x.gcl_id && item.xmj_id === x.id && (x.mx_id === undefined || (x.mx_id !== undefined && x.mx_id === item.mx_id));
|
|
|
|
- });
|
|
|
|
|
|
+ const notx = findNotJoinLeafXmj(x);
|
|
const color = notx === undefined ? '' : '#d6d8db';
|
|
const color = notx === undefined ? '' : '#d6d8db';
|
|
leafXmjSheet.getRange(iRow, -1, 1, -1).backColor(color);
|
|
leafXmjSheet.getRange(iRow, -1, 1, -1).backColor(color);
|
|
}
|
|
}
|
|
@@ -209,6 +241,36 @@ $(document).ready(() => {
|
|
$('#materialBills').find('input:disabled').prop('checked', true);
|
|
$('#materialBills').find('input:disabled').prop('checked', true);
|
|
});
|
|
});
|
|
if (!readOnly) {
|
|
if (!readOnly) {
|
|
|
|
+ const leafXmjSpreadObj = {
|
|
|
|
+ getSelect : function () {
|
|
|
|
+ const sheet = ledgerSpread.getActiveSheet();
|
|
|
|
+ const select = SpreadJsObj.getSelectObject(sheet);
|
|
|
|
+ const index = gclGatherData.indexOf(select);
|
|
|
|
+ const leafXmjSheet = leafXmjSpread.getActiveSheet();
|
|
|
|
+ const leafXmjSelect = SpreadJsObj.getSelectObject(leafXmjSheet);
|
|
|
|
+ const iRow = gclGatherData[index].leafXmjs.indexOf(leafXmjSelect);
|
|
|
|
+ return [index, iRow, leafXmjSheet, leafXmjSelect];
|
|
|
|
+ },
|
|
|
|
+ checkJoinMaterial: function (type) {
|
|
|
|
+ const [iGclRow, iRow, sheet, select] = leafXmjSpreadObj.getSelect();
|
|
|
|
+ const color = type === 'join' ? '' : '#d6d8db';
|
|
|
|
+ const data = {
|
|
|
|
+ type: type,
|
|
|
|
+ select: type === 'join' ? findNotJoinLeafXmj(select) : select,
|
|
|
|
+ }
|
|
|
|
+ // 添加到
|
|
|
|
+ postData(window.location.pathname + '/save', data, function (result) {
|
|
|
|
+ if (type === 'join') {
|
|
|
|
+ const index = findNotJoinLeafXmj(select, 'index');
|
|
|
|
+ notJoinList.splice(index, 1);
|
|
|
|
+ } else {
|
|
|
|
+ notJoinList.push(result);
|
|
|
|
+ }
|
|
|
|
+ sheet.getRange(iRow, -1, 1, -1).backColor(color);
|
|
|
|
+ loadMaterialData(iGclRow, iRow);
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ }
|
|
// leafXmj右键功能
|
|
// leafXmj右键功能
|
|
$.contextMenu({
|
|
$.contextMenu({
|
|
selector: '#leaf-xmj-spread',
|
|
selector: '#leaf-xmj-spread',
|
|
@@ -221,42 +283,44 @@ $(document).ready(() => {
|
|
name: '不参与调差',
|
|
name: '不参与调差',
|
|
icon: 'fa-remove',
|
|
icon: 'fa-remove',
|
|
callback: function (key, opt) {
|
|
callback: function (key, opt) {
|
|
- const sheet = ledgerSpread.getActiveSheet();
|
|
|
|
|
|
+ leafXmjSpreadObj.checkJoinMaterial('notjoin');
|
|
|
|
+ },
|
|
|
|
+ visible: function (key, opt) {
|
|
|
|
+ const sheet = leafXmjSpread.getActiveSheet();
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
- const index = gclGatherData.indexOf(select);
|
|
|
|
- const leafXmjSheet = leafXmjSpread.getActiveSheet();
|
|
|
|
- const leafXmjSelect = SpreadJsObj.getSelectObject(leafXmjSheet);
|
|
|
|
- const iRow = gclGatherData[index].leafXmjs.indexOf(leafXmjSelect);
|
|
|
|
- leafXmjSheet.getRange(iRow, -1, 1, -1).backColor('#d6d8db');
|
|
|
|
|
|
+ const notx = findNotJoinLeafXmj(select);
|
|
|
|
+ if (!readOnly && select && notx === undefined) {
|
|
|
|
+ return true;
|
|
|
|
+ } else {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ 'start': {
|
|
|
|
+ name: '参与调差',
|
|
|
|
+ icon: 'fa-sign-in',
|
|
|
|
+ callback: function (key, opt) {
|
|
|
|
+ leafXmjSpreadObj.checkJoinMaterial('join');
|
|
},
|
|
},
|
|
- disabled: function (key, opt) {
|
|
|
|
|
|
+ visible: function (key, opt) {
|
|
const sheet = leafXmjSpread.getActiveSheet();
|
|
const sheet = leafXmjSpread.getActiveSheet();
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
- const notx = notJoinList.find(function (item) {
|
|
|
|
- return item.gcl_id === select.gcl_id && item.xmj_id === select.id && (select.mx_id === undefined || (select.mx_id !== undefined && select.mx_id === item.mx_id));
|
|
|
|
- });
|
|
|
|
|
|
+ const notx = findNotJoinLeafXmj(select);
|
|
if (!readOnly && select && notx === undefined) {
|
|
if (!readOnly && select && notx === undefined) {
|
|
return false;
|
|
return false;
|
|
} else {
|
|
} else {
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
- }
|
|
|
|
- },
|
|
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ }
|
|
}
|
|
}
|
|
});
|
|
});
|
|
- const materialBase = {
|
|
|
|
- isEdit: function (data) {
|
|
|
|
- return materialListData.find(function (item) {
|
|
|
|
- return item.mbid === data.id;
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- };
|
|
|
|
// material-spread右键功能
|
|
// material-spread右键功能
|
|
const materialSpreadObj = {
|
|
const materialSpreadObj = {
|
|
del: function () {
|
|
del: function () {
|
|
const sheet = materialSpread.getActiveSheet();
|
|
const sheet = materialSpread.getActiveSheet();
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
- console.log(select);
|
|
|
|
postData(window.location.pathname + '/save', {type: 'del', id: select.id}, function (result) {
|
|
postData(window.location.pathname + '/save', {type: 'del', id: select.id}, function (result) {
|
|
const index = materialList.indexOf(select);
|
|
const index = materialList.indexOf(select);
|
|
materialList.splice(index, 1);
|
|
materialList.splice(index, 1);
|
|
@@ -275,7 +339,7 @@ $(document).ready(() => {
|
|
// 未改变值则不提交
|
|
// 未改变值则不提交
|
|
const validText = info.editingText ? (typeof(info.editingText) === 'String' ? info.editingText.replace('\n', '') : info.editingText) : null;
|
|
const validText = info.editingText ? (typeof(info.editingText) === 'String' ? info.editingText.replace('\n', '') : info.editingText) : null;
|
|
const orgValue = select[col.field];
|
|
const orgValue = select[col.field];
|
|
- if (orgValue == validText || ((!orgValue || orgValue === '') && (validText === ''))) {
|
|
|
|
|
|
+ if (orgValue == validText || ((!orgValue || orgValue === '') && (validText === '' || validText === null))) {
|
|
SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -287,13 +351,12 @@ $(document).ready(() => {
|
|
materialListData.splice(materialListIndex, 1, select);
|
|
materialListData.splice(materialListIndex, 1, select);
|
|
materialList.indexOf(index, 1, select);
|
|
materialList.indexOf(index, 1, select);
|
|
SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
|
|
+ const [iGclRow, iRow, sheet, lselect] = leafXmjSpreadObj.getSelect();
|
|
|
|
+ SpreadJsObj.reLoadRowData(sheet, iRow);
|
|
}, function () {
|
|
}, function () {
|
|
SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
- },
|
|
|
|
- setReadOnly: function(readOnly) {
|
|
|
|
- SpreadJsObj.resetFieldReadOnly(materialSpread.getActiveSheet(), 'quantity', readOnly);
|
|
|
|
}
|
|
}
|
|
};
|
|
};
|
|
materialSpread.bind(spreadNS.Events.EditEnded, materialSpreadObj.editEnded);
|
|
materialSpread.bind(spreadNS.Events.EditEnded, materialSpreadObj.editEnded);
|
|
@@ -305,6 +368,13 @@ $(document).ready(() => {
|
|
toastr.warning('请选中需要应用到其他清单明细的调差工料');
|
|
toastr.warning('请选中需要应用到其他清单明细的调差工料');
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
+ const leafXmjSheet = leafXmjSpread.getActiveSheet();
|
|
|
|
+ const leafXmjSelect = SpreadJsObj.getSelectObject(leafXmjSheet);
|
|
|
|
+ const notl = findNotJoinLeafXmj(leafXmjSelect);
|
|
|
|
+ if (notl !== undefined) {
|
|
|
|
+ toastr.error('该清单不参与调差,调差工料无法应用到其它清单中');
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
const ledgerSheet = ledgerSpread.getActiveSheet();
|
|
const ledgerSheet = ledgerSpread.getActiveSheet();
|
|
const ledgerSelect = SpreadJsObj.getSelectObject(ledgerSheet);
|
|
const ledgerSelect = SpreadJsObj.getSelectObject(ledgerSheet);
|
|
if (ledgerSelect.leafXmjs.length < 2) {
|
|
if (ledgerSelect.leafXmjs.length < 2) {
|
|
@@ -315,11 +385,16 @@ $(document).ready(() => {
|
|
const needAddList = [];
|
|
const needAddList = [];
|
|
for (const xmj of ledgerSelect.leafXmjs) {
|
|
for (const xmj of ledgerSelect.leafXmjs) {
|
|
if (xmj.mx_id !== undefined) {
|
|
if (xmj.mx_id !== undefined) {
|
|
- const ml = materialListData.find(function (item) {
|
|
|
|
- return xmj.mx_id === item.mx_id && select.mb_id === item.mb_id;
|
|
|
|
|
|
+ const notx = notJoinList.find(function (item) {
|
|
|
|
+ return item.gcl_id === xmj.gcl_id && item.xmj_id === xmj.id && (xmj.mx_id === undefined || (xmj.mx_id !== undefined && xmj.mx_id === item.mx_id));
|
|
});
|
|
});
|
|
- if (ml === undefined) {
|
|
|
|
- needAddList.push(xmj.mx_id);
|
|
|
|
|
|
+ if (notx === undefined) {
|
|
|
|
+ const ml = materialListData.find(function (item) {
|
|
|
|
+ return xmj.mx_id === item.mx_id && select.mb_id === item.mb_id;
|
|
|
|
+ });
|
|
|
|
+ if (ml === undefined) {
|
|
|
|
+ needAddList.push(xmj.mx_id);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -370,7 +445,7 @@ $(document).ready(() => {
|
|
disabled: function (key, opt) {
|
|
disabled: function (key, opt) {
|
|
const sheet = materialSpread.getActiveSheet();
|
|
const sheet = materialSpread.getActiveSheet();
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
- if (!readOnly && select && materialBase.isEdit(select) === undefined) {
|
|
|
|
|
|
+ if (!readOnly && select && materialBase.isEdit(select)) {
|
|
return false;
|
|
return false;
|
|
} else {
|
|
} else {
|
|
return true;
|
|
return true;
|
|
@@ -408,6 +483,37 @@ $(document).ready(() => {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ // 显示有调差工料清单
|
|
|
|
+ $('#show_material_gcl').click(function () {
|
|
|
|
+ if ($(this).is(':checked')) {
|
|
|
|
+ const hadMaterialGclGatherData = [];
|
|
|
|
+ const hadGclIdList = [];
|
|
|
|
+ for (const ml of materialListData) {
|
|
|
|
+ if (hadGclIdList.indexOf(ml.gcl_id) === -1) {
|
|
|
|
+ hadGclIdList.push(ml.gcl_id);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for (const gcl of gclGatherData) {
|
|
|
|
+ const gcl_id = gcl.leafXmjs[0].gcl_id;
|
|
|
|
+ if (hadGclIdList.indexOf(gcl_id) !== -1) {
|
|
|
|
+ hadMaterialGclGatherData.push(gcl);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ gclGatherData = hadMaterialGclGatherData;
|
|
|
|
+ } else {
|
|
|
|
+ gclGatherModel.loadLedgerData(ledger, curLedgerData);
|
|
|
|
+ gclGatherModel.loadPosData(pos, curPosData);
|
|
|
|
+ gclGatherData = gclGatherModel.gatherGclData();
|
|
|
|
+ }
|
|
|
|
+ SpreadJsObj.loadSheetData(ledgerSpread.getActiveSheet(), SpreadJsObj.DataType.Data, gclGatherData);
|
|
|
|
+ loadLeafXmjData(0);
|
|
|
|
+ loadMaterialData(0, 0);
|
|
|
|
+ SpreadJsObj.resetTopAndSelect(ledgerSpread.getActiveSheet());
|
|
|
|
+ SpreadJsObj.resetTopAndSelect(leafXmjSpread.getActiveSheet());
|
|
|
|
+ SpreadJsObj.resetTopAndSelect(materialSpread.getActiveSheet());
|
|
|
|
+
|
|
|
|
+ });
|
|
|
|
+
|
|
$.subMenu({
|
|
$.subMenu({
|
|
menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
|
|
menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
|
|
toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
|
|
toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
|