|
@@ -244,6 +244,16 @@ $(document).ready(() => {
|
|
|
SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
|
|
|
const materialSpreadObj = {
|
|
|
+ materialSheetReset: function () {
|
|
|
+ let newMaterialBillsData = materialBillsData;
|
|
|
+ if($('#bills0_list').is(':checked')) {
|
|
|
+ newMaterialBillsData = _.filter(materialBillsData, function (item) {
|
|
|
+ return item.quantity === null || item.quantity === 0;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, newMaterialBillsData);
|
|
|
+ materialSpreadObj.refreshActn();
|
|
|
+ },
|
|
|
refreshActn: function (rowCount = 1) {
|
|
|
const setObjEnable = function (obj, enable) {
|
|
|
if (enable) {
|
|
@@ -256,8 +266,8 @@ $(document).ready(() => {
|
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
|
// 还需判断是否已被调差清单调用
|
|
|
setObjEnable($('#del'), !readOnly && select && materialBase.isUsed(select) && rowCount === 1);
|
|
|
- setObjEnable($('#up-move'), !readOnly && select && materialBillsData.indexOf(select) > 0);
|
|
|
- setObjEnable($('#down-move'), !readOnly && select && materialBillsData.indexOf(select) < materialBillsData.length - 1);
|
|
|
+ setObjEnable($('#up-move'), !readOnly && select && materialBillsData.indexOf(select) > 0 && !$('#bills0_list').is(':checked'));
|
|
|
+ setObjEnable($('#down-move'), !readOnly && select && materialBillsData.indexOf(select) < materialBillsData.length - 1 && !$('#bills0_list').is(':checked'));
|
|
|
},
|
|
|
add: function () {
|
|
|
const sheet = materialSpread.getActiveSheet();
|
|
@@ -266,8 +276,15 @@ $(document).ready(() => {
|
|
|
materialBillsData.push(result);
|
|
|
// sheet.addRows(materialBillsData.length - 1, 1);
|
|
|
// SpreadJsObj.reLoadRowData(sheet, materialBillsData.length - 1);
|
|
|
- SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
- sheet.setSelection(materialBillsData.length - 1, 0, 1, 1);
|
|
|
+ let newMaterialBillsData = materialBillsData;
|
|
|
+ if($('#bills0_list').is(':checked')) {
|
|
|
+ newMaterialBillsData = _.filter(materialBillsData, function (item) {
|
|
|
+ return item.quantity === null || item.quantity === 0;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, newMaterialBillsData);
|
|
|
+ // materialSpreadObj.materialSheetReset();
|
|
|
+ sheet.setSelection(newMaterialBillsData.length - 1, 0, 1, 1);
|
|
|
materialSpreadObj.refreshActn();
|
|
|
// 月信息价需要同时添加空白的list
|
|
|
if (months.length > 0) {
|
|
@@ -276,8 +293,13 @@ $(document).ready(() => {
|
|
|
one_month[m] = null;
|
|
|
}
|
|
|
monthsList.push(one_month);
|
|
|
- materialMonthSpread.getActiveSheet().addRows(monthsList.length - 1, 1);
|
|
|
- SpreadJsObj.reLoadRowData(materialMonthSpread.getActiveSheet(), monthsList.length - 1);
|
|
|
+ // const newMonthsList = _.filter(monthsList, function (item) {
|
|
|
+ // return _.findIndex(newMaterialBillsData, { code: item.code }) !== -1;
|
|
|
+ // });
|
|
|
+ // materialMonthSpread.getActiveSheet().addRows(newMonthsList.length - 1, 1);
|
|
|
+ // SpreadJsObj.reLoadRowData(materialMonthSpread.getActiveSheet(), newMonthsList.length - 1);
|
|
|
+ monthFunGather.monthsListSet();
|
|
|
+ // materialMonthSpreadObj.monthsListSet();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
@@ -292,21 +314,32 @@ $(document).ready(() => {
|
|
|
}
|
|
|
resetTpTable();
|
|
|
const index = materialBillsData.indexOf(select);
|
|
|
+ let newMaterialBillsData = materialBillsData;
|
|
|
+ let newIndex = index;
|
|
|
+ if($('#bills0_list').is(':checked')) {
|
|
|
+ newMaterialBillsData = _.filter(materialBillsData, function (item) {
|
|
|
+ return item.quantity === null || item.quantity === 0;
|
|
|
+ });
|
|
|
+ newIndex = newMaterialBillsData.indexOf(select);
|
|
|
+ }
|
|
|
materialBillsData.splice(index, 1);
|
|
|
- sheet.deleteRows(index, 1);
|
|
|
+ sheet.deleteRows(newIndex, 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);
|
|
|
+ sheet.setSelection(newIndex > 0 ? newIndex - 1 : 0, sel.length > 0 ? sel[0].col : 0, 1, 1);
|
|
|
materialSpreadObj.refreshActn();
|
|
|
// 月信息价需要同时删除
|
|
|
if (months.length > 0) {
|
|
|
monthsList.splice(index, 1);
|
|
|
- materialMonthSpread.getActiveSheet().deleteRows(index, 1);
|
|
|
+ materialMonthSpread.getActiveSheet().deleteRows(newIndex, 1);
|
|
|
// SpreadJsObj.reLoadSheetData(materialMonthSpread.getActiveSheet());
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
upMove: function () {
|
|
|
+ if($('#bills0_list').is(':checked')) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
const sheet = materialSpread.getActiveSheet();
|
|
|
const cur = SpreadJsObj.getSelectObject(sheet);
|
|
|
const up = materialBillsData[materialBillsData.indexOf(cur) - 1];
|
|
@@ -338,6 +371,9 @@ $(document).ready(() => {
|
|
|
});
|
|
|
},
|
|
|
downMove: function () {
|
|
|
+ if($('#bills0_list').is(':checked')) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
const sheet = materialSpread.getActiveSheet();
|
|
|
const cur = SpreadJsObj.getSelectObject(sheet);
|
|
|
const down = materialBillsData[materialBillsData.indexOf(cur) + 1];
|
|
@@ -460,8 +496,9 @@ $(document).ready(() => {
|
|
|
SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
|
// 判断如果是更改了编号,名称,单位,月信息价需要跟着改变值
|
|
|
if (months.length > 0 && (col.field === 'code' || col.field === 'name' || col.field === 'unit')) {
|
|
|
- monthsList[info.row][col.field] = validText;
|
|
|
- SpreadJsObj.reLoadRowData(materialMonthSpread.getActiveSheet(), info.row);
|
|
|
+ const index = materialBillsData.indexOf(select);
|
|
|
+ monthsList[index][col.field] = validText;
|
|
|
+ monthFunGather.monthsListSet();
|
|
|
}
|
|
|
}, function () {
|
|
|
select[col.field] = orgValue;
|
|
@@ -617,7 +654,8 @@ $(document).ready(() => {
|
|
|
postData(window.location.pathname + '/save', { type:'paste', updateData: data }, function (result) {
|
|
|
materialBillsData = result.info;
|
|
|
// SpreadJsObj.reLoadSheetData(materialSpread.getActiveSheet());
|
|
|
- SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
+ materialSpreadObj.materialSheetReset();
|
|
|
+ // SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
// for (const row in rowData) {
|
|
|
// materialBillsData.splice(index, 1, result.info[row]);
|
|
|
// SpreadJsObj.reLoadRowData(info.sheet, row);
|
|
@@ -629,7 +667,8 @@ $(document).ready(() => {
|
|
|
m.unit = materialBillsData[i].unit;
|
|
|
m.origin = materialBillsData[i].origin;
|
|
|
}
|
|
|
- SpreadJsObj.loadSheetData(materialMonthSpread.getActiveSheet(), SpreadJsObj.DataType.Data, monthsList);
|
|
|
+ // SpreadJsObj.loadSheetData(materialMonthSpread.getActiveSheet(), SpreadJsObj.DataType.Data, monthsList);
|
|
|
+ monthFunGather.monthsListSet();
|
|
|
// SpreadJsObj.reLoadSheetData(materialMonthSpread.getActiveSheet());
|
|
|
}
|
|
|
m_tp = result.m_tp;
|
|
@@ -720,7 +759,7 @@ $(document).ready(() => {
|
|
|
}
|
|
|
return pushMonth;
|
|
|
},
|
|
|
- monthSheetReset: function () {
|
|
|
+ monthSheetReset: function (ml = monthsList) {
|
|
|
const monthCols = monthFunGather._monthHeaderSet();
|
|
|
const newMonthSpreadHeaderCols = static_cols.concat(monthCols);
|
|
|
materialMonthSpreadSetting.cols = newMonthSpreadHeaderCols;
|
|
@@ -728,10 +767,21 @@ $(document).ready(() => {
|
|
|
materialMonthSpread.getActiveSheet().reset();
|
|
|
SpreadJsObj.initSpreadSettingEvents(materialMonthSpreadSetting, materialMonthCol);
|
|
|
SpreadJsObj.initSheet(materialMonthSpread.getActiveSheet(), materialMonthSpreadSetting);
|
|
|
- SpreadJsObj.loadSheetData(materialMonthSpread.getActiveSheet(), SpreadJsObj.DataType.Data, monthsList);
|
|
|
+ SpreadJsObj.loadSheetData(materialMonthSpread.getActiveSheet(), SpreadJsObj.DataType.Data, ml);
|
|
|
monthFunGather._setMonthHtml();
|
|
|
+ },
|
|
|
+ monthsListSet: function (ml = materialBillsData, checked = true) {
|
|
|
+ if($('#bills0_list').is(':checked') && checked) {
|
|
|
+ ml = _.filter(materialBillsData, function (item) {
|
|
|
+ return item.quantity === null || item.quantity === 0;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ const newMonthsList = _.filter(monthsList, function (item) {
|
|
|
+ return _.findIndex(ml, { code: item.code }) !== -1;
|
|
|
+ });
|
|
|
+ monthFunGather.monthSheetReset(newMonthsList);
|
|
|
}
|
|
|
- }
|
|
|
+ };
|
|
|
|
|
|
const materialMonthSpread = SpreadJsObj.createNewSpread($('#material-month-spread')[0]);
|
|
|
const materialMonthSpreadSetting = {
|
|
@@ -794,7 +844,8 @@ $(document).ready(() => {
|
|
|
postData(window.location.pathname + '/month/save', { type:'updateOrigin', updateData: { mb_id: select.mb_id, value: validText } }, function (result) {
|
|
|
SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
|
materialBillsData = result.materialBillsData;
|
|
|
- SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
+ materialSpreadObj.materialSheetReset();
|
|
|
+ // SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
}, function () {
|
|
|
select[col.field] = orgValue;
|
|
|
SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
@@ -818,7 +869,8 @@ $(document).ready(() => {
|
|
|
postData(window.location.pathname + '/month/save', { type:'update', updateData: { mb_id: select.mb_id, yearmonth: col.field, value: validText } }, function (result) {
|
|
|
SpreadJsObj.reLoadRowData(info.sheet, info.row);
|
|
|
materialBillsData = result.materialBillsData;
|
|
|
- SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
+ materialSpreadObj.materialSheetReset();
|
|
|
+ // SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
m_tp = result.m_tp;
|
|
|
if (materialTax) {
|
|
|
m_tax_tp = result.m_tax_tp;
|
|
@@ -949,7 +1001,8 @@ $(document).ready(() => {
|
|
|
postData(window.location.pathname + '/month/save', { type:'paste', updateData: data }, function (result) {
|
|
|
SpreadJsObj.reLoadSheetData(materialMonthSpread.getActiveSheet());
|
|
|
materialBillsData = result.materialBillsData;
|
|
|
- SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
+ materialSpreadObj.materialSheetReset();
|
|
|
+ // SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
m_tp = result.m_tp;
|
|
|
if (materialTax) {
|
|
|
m_tax_tp = result.m_tax_tp;
|
|
@@ -1177,8 +1230,17 @@ $(document).ready(() => {
|
|
|
const sheet = materialSpread.getActiveSheet();
|
|
|
const select = SpreadJsObj.getSelectObject(sheet);
|
|
|
const index = materialBillsData.indexOf(select);
|
|
|
+ let newIndex = index;
|
|
|
+ if($('#bills0_list').is(':checked')) {
|
|
|
+ const newMaterialBillsData = _.filter(materialBillsData, function (item) {
|
|
|
+ return item.quantity === null || item.quantity === 0;
|
|
|
+ });
|
|
|
+ newIndex = newMaterialBillsData.indexOf(select);
|
|
|
+ newMaterialBillsData.splice(newIndex, 1, result.info);
|
|
|
+ sheet.zh_data[newIndex] = result.info;
|
|
|
+ }
|
|
|
materialBillsData.splice(index, 1, result.info);
|
|
|
- SpreadJsObj.reLoadRowData(sheet, index);
|
|
|
+ SpreadJsObj.reLoadRowData(sheet, newIndex);
|
|
|
$('#bcyy').modal('hide');
|
|
|
});
|
|
|
});
|
|
@@ -1200,10 +1262,11 @@ $(document).ready(() => {
|
|
|
months.push(yearmonth);
|
|
|
months.sort();
|
|
|
monthsList = data.monthsList;
|
|
|
- monthFunGather.monthSheetReset();
|
|
|
+ monthFunGather.monthsListSet();
|
|
|
// 工料表单价显示也要更新
|
|
|
materialBillsData = data.materialBillsData;
|
|
|
- SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
+ materialSpreadObj.materialSheetReset();
|
|
|
+ // SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
m_tp = data.m_tp;
|
|
|
if (materialTax) {
|
|
|
m_tax_tp = data.m_tax_tp;
|
|
@@ -1232,11 +1295,12 @@ $(document).ready(() => {
|
|
|
});
|
|
|
}
|
|
|
monthsList = data.monthsList;
|
|
|
- monthFunGather.monthSheetReset();
|
|
|
+ monthFunGather.monthsListSet();
|
|
|
|
|
|
// 工料表单价显示也要更新
|
|
|
materialBillsData = data.materialBillsData;
|
|
|
- SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
+ materialSpreadObj.materialSheetReset();
|
|
|
+ // SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
|
|
|
m_tp = data.m_tp;
|
|
|
if (materialTax) {
|
|
|
m_tax_tp = data.m_tax_tp;
|
|
@@ -1248,6 +1312,23 @@ $(document).ready(() => {
|
|
|
} else {
|
|
|
// SpreadJsObj.forbiddenSpreadContextMenu('#material-spread', materialSpread);
|
|
|
}
|
|
|
+
|
|
|
+ // 筛选调差工料本期应耗数量为0
|
|
|
+ $('#bills0_list').click(function () {
|
|
|
+ const isCheck = $(this).is(':checked');
|
|
|
+ let newMaterialBillsData = materialBillsData;
|
|
|
+ if (isCheck) {
|
|
|
+ newMaterialBillsData = _.filter(materialBillsData, function (item) {
|
|
|
+ return item.quantity === null || item.quantity === 0;
|
|
|
+ });
|
|
|
+ SpreadJsObj.initSpreadSettingEvents(materialSpreadSetting, materialCol);
|
|
|
+ SpreadJsObj.initSheet(materialSpread.getActiveSheet(), materialSpreadSetting);
|
|
|
+ }
|
|
|
+ SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, newMaterialBillsData);
|
|
|
+ monthFunGather.monthsListSet(newMaterialBillsData, false);
|
|
|
+ materialSpreadObj.refreshActn();
|
|
|
+ });
|
|
|
+
|
|
|
$.subMenu({
|
|
|
menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
|
|
|
toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
|