|
@@ -20,7 +20,7 @@ $(document).ready(() => {
|
|
|
{title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 120, type: 'Number'},
|
|
|
{title: '本期计量数量|合同', colSpan: '3|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 120, type: 'Number'},
|
|
|
{title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 120, type: 'Number'},
|
|
|
- {title: '|小计', colSpan: '|1', rowSpan: '|1', field: 'total_qty', hAlign: 2, width: 120, type: 'Number', getValue: 'getValue.qty'},
|
|
|
+ {title: '|小计', colSpan: '|1', rowSpan: '|1', field: 'gather_qty', hAlign: 2, width: 120, type: 'Number'},
|
|
|
],
|
|
|
emptyRows: 0,
|
|
|
headRows: 2,
|
|
@@ -30,28 +30,28 @@ $(document).ready(() => {
|
|
|
readOnly: true,
|
|
|
font: '10pt 微软雅黑',
|
|
|
};
|
|
|
-
|
|
|
- const ledgerCol = {
|
|
|
- getValue: {
|
|
|
- qty: function (data) {
|
|
|
- return ZhCalc.add(data.contract_qty, data.qc_qty);
|
|
|
- }
|
|
|
- }
|
|
|
- };
|
|
|
// 解析清单汇总数据
|
|
|
gclGatherModel.loadLedgerData(ledger, curLedgerData);
|
|
|
gclGatherModel.loadPosData(pos, curPosData);
|
|
|
const gclGatherData = gclGatherModel.gatherGclData();
|
|
|
+ console.log(gclGatherData);
|
|
|
// 获取项目节数据
|
|
|
function loadLeafXmjData(iGclRow) {
|
|
|
const gcl = gclGatherData[iGclRow];
|
|
|
if (gcl) {
|
|
|
SpreadJsObj.loadSheetData(leafXmjSpread.getActiveSheet(), SpreadJsObj.DataType.Data, gcl.leafXmjs);
|
|
|
+ // 对清单调差工料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 + '数量';
|
|
|
+ // const sheet = materialSpread.getActiveSheet();
|
|
|
+ // sheet.setCellType(2,3, '1', spreadNS.SheetArea.colHeader);
|
|
|
+ SpreadJsObj.initSheet(materialSpread.getActiveSheet(), materialSpreadSetting);
|
|
|
+ // materialSpread.resumePaint();
|
|
|
} else {
|
|
|
SpreadJsObj.loadSheetData(leafXmjSpread.getActiveSheet(), SpreadJsObj.DataType.Data, []);
|
|
|
}
|
|
|
}
|
|
|
- SpreadJsObj.initSpreadSettingEvents(ledgerSpreadSetting, ledgerCol);
|
|
|
SpreadJsObj.initSheet(ledgerSpread.getActiveSheet(), ledgerSpreadSetting);
|
|
|
|
|
|
// 项目明细table
|
|
@@ -67,7 +67,7 @@ $(document).ready(() => {
|
|
|
{title: '|分项工程', colSpan: '|1', rowSpan: '|1', field: 'fxgc', hAlign: 0, width: 180, formatter: '@'},
|
|
|
{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: 'total_qty', hAlign: 2, width: 60, type: 'Number', getValue: 'getValue.qty'},
|
|
|
+ {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'},
|
|
|
],
|
|
|
emptyRows: 0,
|
|
@@ -78,50 +78,333 @@ $(document).ready(() => {
|
|
|
readOnly: true,
|
|
|
font: '10pt 微软雅黑',
|
|
|
};
|
|
|
- const leafXmjCol = {
|
|
|
- getValue: {
|
|
|
- qty: function (data) {
|
|
|
- return ZhCalc.add(data.contract_qty, data.qc_qty);
|
|
|
- }
|
|
|
- }
|
|
|
- };
|
|
|
- SpreadJsObj.initSpreadSettingEvents(leafXmjSpreadSetting, leafXmjCol);
|
|
|
SpreadJsObj.initSheet(leafXmjSpread.getActiveSheet(), leafXmjSpreadSetting);
|
|
|
// 加载清单数据
|
|
|
SpreadJsObj.loadSheetData(ledgerSpread.getActiveSheet(), SpreadJsObj.DataType.Data, gclGatherData);
|
|
|
- loadLeafXmjData(0);
|
|
|
- SpreadJsObj.forbiddenSpreadContextMenu('#ledger-spread', ledgerSpread);
|
|
|
|
|
|
// 调差清单工料table
|
|
|
const materialSpread = SpreadJsObj.createNewSpread($('#material-spread')[0]);
|
|
|
const materialSpreadSetting = {
|
|
|
cols: [
|
|
|
- {title: '清单调差工料|编号', colSpan: '4|1', rowSpan: '1|1', field: 'code', hAlign: 0, width: 80, formatter: '@'},
|
|
|
- {title: '|名称', colSpan: '|1', rowSpan: '|1', field: 'name', hAlign: 0, width: 100, formatter: '@'},
|
|
|
- {title: '|单位', colSpan: '|1', rowSpan: '|1', field: 'unit', hAlign: 1, width: 60, formatter: '@'},
|
|
|
- {title: '|kg数量', colSpan: '1', rowSpan: '|1', field: 'num', hAlign: 2, width: 60, type: 'Number'},
|
|
|
+ {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: 'unit', hAlign: 1, width: 60, formatter: '@', readOnly: true},
|
|
|
+ {title: '|数量', colSpan: '1', rowSpan: '|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number', readOnly: readOnly.quantity},
|
|
|
],
|
|
|
emptyRows: 0,
|
|
|
headRows: 2,
|
|
|
headRowHeight: [32, 32],
|
|
|
defaultRowHeight: 30,
|
|
|
headerFont: '10pt 微软雅黑',
|
|
|
- readOnly: true,
|
|
|
font: '10pt 微软雅黑',
|
|
|
};
|
|
|
- SpreadJsObj.initSheet(materialSpread.getActiveSheet(), materialSpreadSetting);
|
|
|
|
|
|
+ const materialCol = {
|
|
|
+ readOnly: {
|
|
|
+ quantity: function () {
|
|
|
+ const sheet = leafXmjSpread.getActiveSheet();
|
|
|
+ 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;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ };
|
|
|
+ SpreadJsObj.initSpreadSettingEvents(materialSpreadSetting, materialCol);
|
|
|
+ // SpreadJsObj.initSheet(materialSpread.getActiveSheet(), materialSpreadSetting);
|
|
|
+ // 获取第一个调差工料数据
|
|
|
+ // 获取项目节数据
|
|
|
+ let materialList = [];
|
|
|
+ function loadMaterialData(iGclRow, iLXmjRow) {
|
|
|
+ const gcl = gclGatherData[iGclRow];
|
|
|
+ if (gcl && gcl.leafXmjs[iLXmjRow]) {
|
|
|
+ const xmj = gcl.leafXmjs[iLXmjRow];
|
|
|
+ materialList = [];
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ console.log(materialList);
|
|
|
+ SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialList);
|
|
|
+ } else {
|
|
|
+ SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, []);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ loadLeafXmjData(0);
|
|
|
+ loadMaterialData(0, 0);
|
|
|
+ // 不参与调差数据值变灰
|
|
|
+ function checkNotJoinMaterialData() {
|
|
|
+ const sheet = ledgerSpread.getActiveSheet();
|
|
|
+ const select = SpreadJsObj.getSelectObject(sheet);
|
|
|
+ const index = gclGatherData.indexOf(select);
|
|
|
+ if (index !== -1) {
|
|
|
+ const xmj = gclGatherData[index].leafXmjs;
|
|
|
+ const leafXmjSheet = leafXmjSpread.getActiveSheet();
|
|
|
+ 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 color = notx === undefined ? '' : '#d6d8db';
|
|
|
+ leafXmjSheet.getRange(iRow, -1, 1, -1).backColor(color);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ checkNotJoinMaterialData();
|
|
|
+ // 对添加工料表格赋值
|
|
|
+ function changeMaterialTable() {
|
|
|
+ $('#materialBills tr').removeClass('table-secondary');
|
|
|
+ $('#materialBills').find('input').removeAttr('disabled');
|
|
|
+ $('#materialBills').find('input').prop('checked', false);
|
|
|
+ for (const [index, ml] of materialList.entries()) {
|
|
|
+ const mbIndex = materialBillsData.findIndex(function (item) {
|
|
|
+ return item.id === ml.mb_id;
|
|
|
+ });
|
|
|
+ if (mbIndex !== -1) {
|
|
|
+ $('#materialBills tr').eq(mbIndex).addClass('table-secondary');
|
|
|
+ $('#materialBills').find('input').eq(mbIndex).attr('disabled', true);
|
|
|
+ $('#materialBills').find('input').eq(mbIndex).prop('checked', true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 添加调差工料
|
|
|
+ $('#add_material_bill').click(function () {
|
|
|
+ // 获取已选工料
|
|
|
+ $('#materialBills').find('input:disabled').prop('checked', false);
|
|
|
+ const selectList = $('#materialBills').find('input:checked');
|
|
|
+ if (selectList.length === 0) {
|
|
|
+ toastr.warning('请选择调差工料');
|
|
|
+ $('#materialBills').find('input:disabled').prop('checked', true);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ const mb_id = [];
|
|
|
+ for (let s = 0; s < selectList.length; s++) {
|
|
|
+ mb_id.push($('#materialBills').find('input:checked').eq(s).val());
|
|
|
+ }
|
|
|
+ // 获取当前项目节或部位明细id
|
|
|
+ const sheet = ledgerSpread.getActiveSheet();
|
|
|
+ const select = SpreadJsObj.getSelectObject(sheet);
|
|
|
+ const index = gclGatherData.indexOf(select);
|
|
|
+ const leafXmjSheet = leafXmjSpread.getActiveSheet();
|
|
|
+ const leafXmjSelect = SpreadJsObj.getSelectObject(leafXmjSheet);
|
|
|
+ const gcl = gclGatherData[index].leafXmjs;
|
|
|
+ const leafXmjIndex = gcl.indexOf(leafXmjSelect);
|
|
|
+ const xmj = gcl[leafXmjIndex];
|
|
|
+ const data = {
|
|
|
+ xmj_id: xmj.id,
|
|
|
+ gcl_id: xmj.gcl_id,
|
|
|
+ mx_id: xmj.mx_id !== undefined ? xmj.mx_id : '',
|
|
|
+ mb_id: mb_id,
|
|
|
+ };
|
|
|
+ // 上传到数据库
|
|
|
+ postData(window.location.pathname + '/save', {type: 'add', postData: data}, function (result) {
|
|
|
+ // 添加到materialList里
|
|
|
+ materialListData = result;
|
|
|
+ loadMaterialData(index, leafXmjIndex);
|
|
|
+ $('#addgl').modal('hide');
|
|
|
+ });
|
|
|
+ $('#materialBills').find('input:disabled').prop('checked', true);
|
|
|
+ });
|
|
|
if (!readOnly) {
|
|
|
- } else {
|
|
|
- SpreadJsObj.forbiddenSpreadContextMenu('#leaf-xmj-spread', leafXmjSpread);
|
|
|
- SpreadJsObj.forbiddenSpreadContextMenu('#material-spread', materialSpread);
|
|
|
+ // leafXmj右键功能
|
|
|
+ $.contextMenu({
|
|
|
+ selector: '#leaf-xmj-spread',
|
|
|
+ build: function ($trigger, e) {
|
|
|
+ const target = SpreadJsObj.safeRightClickSelection($trigger, e, leafXmjSpread);
|
|
|
+ return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
|
|
|
+ },
|
|
|
+ items: {
|
|
|
+ 'stop': {
|
|
|
+ name: '不参与调差',
|
|
|
+ icon: 'fa-remove',
|
|
|
+ callback: function (key, opt) {
|
|
|
+ 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);
|
|
|
+ leafXmjSheet.getRange(iRow, -1, 1, -1).backColor('#d6d8db');
|
|
|
+ },
|
|
|
+ disabled: function (key, opt) {
|
|
|
+ const sheet = leafXmjSpread.getActiveSheet();
|
|
|
+ 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));
|
|
|
+ });
|
|
|
+ if (!readOnly && select && notx === undefined) {
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ }
|
|
|
+ });
|
|
|
+ const materialBase = {
|
|
|
+ isEdit: function (data) {
|
|
|
+ return materialListData.find(function (item) {
|
|
|
+ return item.mbid === data.id;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ };
|
|
|
+ // material-spread右键功能
|
|
|
+ const materialSpreadObj = {
|
|
|
+ del: function () {
|
|
|
+ const sheet = materialSpread.getActiveSheet();
|
|
|
+ const select = SpreadJsObj.getSelectObject(sheet);
|
|
|
+ console.log(select);
|
|
|
+ postData(window.location.pathname + '/save', {type: 'del', id: select.id}, function (result) {
|
|
|
+ const index = materialList.indexOf(select);
|
|
|
+ materialList.splice(index, 1);
|
|
|
+ sheet.deleteRows(index, 1);
|
|
|
+ SpreadJsObj.reLoadSheetData(materialSpread.getActiveSheet());
|
|
|
+ const sel = sheet.getSelections();
|
|
|
+ sheet.setSelection(index > 0 ? index - 1 : 0, sel.length > 0 ? sel[0].col : 0, 1, 1);
|
|
|
+ const materialListIndex = materialListData.indexOf(select);
|
|
|
+ materialListData.splice(materialListIndex, 1);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ editEnded: function (e, info) {
|
|
|
+ if (info.sheet.zh_setting) {
|
|
|
+ const select = SpreadJsObj.getSelectObject(info.sheet);
|
|
|
+ const col = info.sheet.zh_setting.cols[info.col];
|
|
|
+ // 未改变值则不提交
|
|
|
+ const validText = info.editingText ? (typeof(info.editingText) === 'String' ? info.editingText.replace('\n', '') : info.editingText) : null;
|
|
|
+ const orgValue = select[col.field];
|
|
|
+ if (orgValue == validText || ((!orgValue || orgValue === '') && (validText === ''))) {
|
|
|
+ SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 更新至服务器
|
|
|
+ postData(window.location.pathname + '/save', { type:'update', updateData: { id:select.id, quantity: validText } }, function (result) {
|
|
|
+ const materialListIndex = materialListData.indexOf(select);
|
|
|
+ const index = materialList.indexOf(select);
|
|
|
+ select[col.field] = validText;
|
|
|
+ materialListData.splice(materialListIndex, 1, select);
|
|
|
+ materialList.indexOf(index, 1, select);
|
|
|
+ SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
|
+ }, function () {
|
|
|
+ SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ setReadOnly: function(readOnly) {
|
|
|
+ SpreadJsObj.resetFieldReadOnly(materialSpread.getActiveSheet(), 'quantity', readOnly);
|
|
|
+ }
|
|
|
+ };
|
|
|
+ materialSpread.bind(spreadNS.Events.EditEnded, materialSpreadObj.editEnded);
|
|
|
+ // 应用调差工料至其他清单明细
|
|
|
+ $('#user_all_material').click(function () {
|
|
|
+ const sheet = materialSpread.getActiveSheet();
|
|
|
+ const select = SpreadJsObj.getSelectObject(sheet);
|
|
|
+ if (select === undefined) {
|
|
|
+ toastr.warning('请选中需要应用到其他清单明细的调差工料');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ const ledgerSheet = ledgerSpread.getActiveSheet();
|
|
|
+ const ledgerSelect = SpreadJsObj.getSelectObject(ledgerSheet);
|
|
|
+ if (ledgerSelect.leafXmjs.length < 2) {
|
|
|
+ toastr.warning('没有需要应用调差工料的其它清单明细');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ // 判断需要应用调差工料的清单明细
|
|
|
+ const needAddList = [];
|
|
|
+ for (const xmj of ledgerSelect.leafXmjs) {
|
|
|
+ if (xmj.mx_id !== 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (needAddList.length === 0) {
|
|
|
+ toastr.warning('没有需要应用调差工料的其它清单明细');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ // 更新至服务器
|
|
|
+ postData(window.location.pathname + '/save', { type:'useOther', postData: { mx_id: needAddList, select: select } }, function (result) {
|
|
|
+ materialListData = result;
|
|
|
+ toastr.success('成功添加了' + needAddList.length + '条调差工料到其他清单明细中');
|
|
|
+ });
|
|
|
+ });
|
|
|
+ $.contextMenu({
|
|
|
+ selector: '#material-spread',
|
|
|
+ build: function ($trigger, e) {
|
|
|
+ const target = SpreadJsObj.safeRightClickSelection($trigger, e, materialSpread);
|
|
|
+ return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
|
|
|
+ },
|
|
|
+ items: {
|
|
|
+ 'create': {
|
|
|
+ name: '添加工料',
|
|
|
+ icon: 'fa-sign-in',
|
|
|
+ callback: function (key, opt) {
|
|
|
+ // 获取已选清单
|
|
|
+ changeMaterialTable();
|
|
|
+ $('#addgl').modal('show');
|
|
|
+ },
|
|
|
+ disabled: function (key, opt) {
|
|
|
+ const sheet = leafXmjSpread.getActiveSheet();
|
|
|
+ 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));
|
|
|
+ });
|
|
|
+ if (!readOnly && notx === undefined) {
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ 'delete': {
|
|
|
+ name: '删除工料',
|
|
|
+ icon: 'fa-remove',
|
|
|
+ callback: function (key, opt) {
|
|
|
+ materialSpreadObj.del(materialSpread.getActiveSheet());
|
|
|
+ },
|
|
|
+ disabled: function (key, opt) {
|
|
|
+ const sheet = materialSpread.getActiveSheet();
|
|
|
+ const select = SpreadJsObj.getSelectObject(sheet);
|
|
|
+ if (!readOnly && select && materialBase.isEdit(select) === undefined) {
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
// 切换清单行,读取所属项目节数据
|
|
|
ledgerSpread.getActiveSheet().bind(spreadNS.Events.SelectionChanged, function (e, info) {
|
|
|
- const iOldRow = info.oldSelections[0].row, iNewRow = info.newSelections[0].row;
|
|
|
- if (iNewRow !== iOldRow) {
|
|
|
- loadLeafXmjData(iNewRow);
|
|
|
+ if (info.oldSelections !== undefined) {
|
|
|
+ const iOldRow = info.oldSelections[0].row, iNewRow = info.newSelections[0].row;
|
|
|
+ if (iNewRow !== iOldRow) {
|
|
|
+ loadLeafXmjData(iNewRow);
|
|
|
+ SpreadJsObj.resetTopAndSelect(leafXmjSpread.getActiveSheet());
|
|
|
+ loadMaterialData(iNewRow, 0);
|
|
|
+ checkNotJoinMaterialData();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ // 切换项目节数据清单明细行,读取已调用的清单工料数据
|
|
|
+ leafXmjSpread.getActiveSheet().bind(spreadNS.Events.SelectionChanged, function (e, info) {
|
|
|
+ if (info.oldSelections !== undefined) {
|
|
|
+ const iOldRow = info.oldSelections[0].row, iNewRow = info.newSelections[0].row;
|
|
|
+ if (iNewRow !== iOldRow) {
|
|
|
+ const sheet = ledgerSpread.getActiveSheet();
|
|
|
+ const select = SpreadJsObj.getSelectObject(sheet);
|
|
|
+ const index = gclGatherData.indexOf(select);
|
|
|
+ loadMaterialData(index, iNewRow);
|
|
|
+ SpreadJsObj.resetTopAndSelect(materialSpread.getActiveSheet());
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
|