|
@@ -187,41 +187,185 @@ $(document).ready(() => {
|
|
|
changeSpreadSheet.setValue(changeSpreadSheet.getRowCount() - 1, 9, cSum !== 0 ? cSum : null);
|
|
|
},
|
|
|
add: function () {
|
|
|
- postData(window.location.pathname + '/save', {type: 'add'}, function (result) {
|
|
|
+ let select = null;
|
|
|
+ if (changeOrder) {
|
|
|
+ select = SpreadJsObj.getSelectObject(changeSpreadSheet);
|
|
|
+ }
|
|
|
+ postData(window.location.pathname + '/save', {type: 'add', postData: select ? select.order : null}, function (result) {
|
|
|
if (result) {
|
|
|
- changeList.push(result);
|
|
|
- changeSpreadSheet.addRows(changeList.length - 1, 1);
|
|
|
- SpreadJsObj.reLoadRowData(changeSpreadSheet, changeList.length - 1);
|
|
|
+ if (changeOrder === 1 && select) {
|
|
|
+ // 批量更新changeList的order值
|
|
|
+ _.forEach(changeList, function (item) {
|
|
|
+ item.order = item.order > select.order ? item.order + 1 : item.order;
|
|
|
+ });
|
|
|
+ changeList.splice(select.order, 0, result);
|
|
|
+ changeSpreadSheet.addRows(select.order, 1);
|
|
|
+ SpreadJsObj.reLoadRowData(changeSpreadSheet, select.order);
|
|
|
+ changeSpreadSheet.setSelection(select.order, 0, 1, 1);
|
|
|
+ console.log(changeList);
|
|
|
+ } else {
|
|
|
+ changeList.push(result);
|
|
|
+ changeSpreadSheet.addRows(changeList.length - 1, 1);
|
|
|
+ SpreadJsObj.reLoadRowData(changeSpreadSheet, changeList.length - 1);
|
|
|
+ changeSpreadSheet.setSelection(changeList.length - 1, 0, 1, 1);
|
|
|
+ }
|
|
|
changeSpreadSheet.setStyle(changeSpreadSheet.getRowCount() - 1, -1, style1);
|
|
|
- changeSpreadSheet.setSelection(changeList.length - 1, 0, 1, 1);
|
|
|
changeSpreadObj.resetXmjSpread();
|
|
|
+ changeSpreadObj.refreshActn();
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
batchAdd: function(num) {
|
|
|
- postData(window.location.pathname + '/save', {type: 'batchadd', num}, function (result) {
|
|
|
+ let select = null;
|
|
|
+ if (changeOrder) {
|
|
|
+ select = SpreadJsObj.getSelectObject(changeSpreadSheet);
|
|
|
+ }
|
|
|
+ postData(window.location.pathname + '/save', {type: 'batchadd', num, postData: select ? select.order : null}, function (result) {
|
|
|
if (result) {
|
|
|
- changeList = _.concat(changeList, result);
|
|
|
+ changeList = result;
|
|
|
SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
|
|
|
changeSpreadObj.makeSjsFooter();
|
|
|
changeSpreadObj.resetXmjSpread();
|
|
|
+ changeSpreadObj.refreshActn();
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
del: function () {
|
|
|
- const select = SpreadJsObj.getSelectObject(changeSpreadSheet);
|
|
|
- const index = changeList.indexOf(select);
|
|
|
- if (index > -1 && !_.find(changeUsedData, { cbid: select.id })) {
|
|
|
- postData(window.location.pathname + '/save', {type: 'del', id: select.id}, function (result) {
|
|
|
- changeList.splice(index, 1);
|
|
|
- changeSpreadSheet.deleteRows(index, 1);
|
|
|
+ const selection = changeSpreadSheet.getSelections();
|
|
|
+ const sel = selection ? selection[0] : changeSpreadSheet.getSelections()[0];
|
|
|
+ const row = sel && sel.row !== undefined ? sel.row : -1;
|
|
|
+ if (readOnly || row === -1 || sel.row + sel.rowCount > changeList.length) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ const delList = [];
|
|
|
+ let lastSelect = null;
|
|
|
+ let hadTaiZhang = false;
|
|
|
+ for (let r = 0; r < sel.rowCount; r++) {
|
|
|
+ const select = changeList[row + r];
|
|
|
+ if(!select || _.find(changeUsedData, { cbid: select.id })) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (r === sel.rowCount - 1 && changeOrder) {
|
|
|
+ lastSelect = select;
|
|
|
+ }
|
|
|
+ if (select.lid != 0) {
|
|
|
+ hadTaiZhang = true;
|
|
|
+ }
|
|
|
+ delList.push(select.id);
|
|
|
+ }
|
|
|
+ console.log(lastSelect, delList);
|
|
|
+ if (delList.length) {
|
|
|
+ postData(window.location.pathname + '/save', {type: 'del', ids: delList, postData: lastSelect ? lastSelect.order : null}, function (result) {
|
|
|
+ changeList.splice(row, delList.length);
|
|
|
+ changeSpreadSheet.deleteRows(row, delList.length);
|
|
|
const sel = changeSpreadSheet.getSelections();
|
|
|
changeSpreadSheet.setSelection(0, 0, 1, 1);
|
|
|
changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
|
|
|
- if (select.lid != 0) {
|
|
|
+ if (hadTaiZhang) {
|
|
|
tableDataRemake(changeListData);
|
|
|
}
|
|
|
changeSpreadObj.countSum();
|
|
|
+ changeSpreadObj.refreshActn();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ // const select = SpreadJsObj.getSelectObject(changeSpreadSheet);
|
|
|
+ // const index = changeList.indexOf(select);
|
|
|
+ // if (index > -1 && !_.find(changeUsedData, { cbid: select.id })) {
|
|
|
+ // postData(window.location.pathname + '/save', {type: 'del', id: select.id}, function (result) {
|
|
|
+ // changeList.splice(index, 1);
|
|
|
+ // changeSpreadSheet.deleteRows(index, 1);
|
|
|
+ // const sel = changeSpreadSheet.getSelections();
|
|
|
+ // changeSpreadSheet.setSelection(0, 0, 1, 1);
|
|
|
+ // changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
|
|
|
+ // if (select.lid != 0) {
|
|
|
+ // tableDataRemake(changeListData);
|
|
|
+ // }
|
|
|
+ // changeSpreadObj.countSum();
|
|
|
+ // changeSpreadObj.refreshActn();
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ },
|
|
|
+ upMove: function () {
|
|
|
+ const data = {
|
|
|
+ type: 'changeOrder',
|
|
|
+ postData: [],
|
|
|
+ };
|
|
|
+ const selection = changeSpreadSheet.getSelections();
|
|
|
+ const row = selection[0].row, count = selection[0].rowCount;
|
|
|
+ const first = changeSpreadSheet.zh_data[row];
|
|
|
+ if (!first) {
|
|
|
+ changeSpreadObj.refreshActn();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ const pre = changeSpreadSheet.zh_data[row - 1], preUpdate = {id: pre.id};
|
|
|
+ for (let iRow = 0; iRow < count; iRow++) {
|
|
|
+ const posData = changeSpreadSheet.zh_data[iRow + row];
|
|
|
+ if (posData) {
|
|
|
+ data.postData.push({id: posData.id, order: changeSpreadSheet.zh_data[iRow + row - 1].order});
|
|
|
+ preUpdate.order = posData.order;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ data.postData.push(preUpdate);
|
|
|
+ console.log(data);
|
|
|
+ if (data.postData.length > 0) {
|
|
|
+ postData(window.location.pathname + '/save', data, function () {
|
|
|
+ _.forEach(data.postData, function (item) {
|
|
|
+ const cl = _.find(changeList, { id: item.id });
|
|
|
+ cl.order = item.order;
|
|
|
+ });
|
|
|
+ changeList.sort(function (a, b) {
|
|
|
+ return a.order - b.order
|
|
|
+ });
|
|
|
+ SpreadJsObj.reLoadSheetData(changeSpreadSheet);
|
|
|
+ changeSpreadObj.makeSjsFooter();
|
|
|
+ const sel = selection[0];
|
|
|
+ if (sel) {
|
|
|
+ changeSpreadSheet.setSelection(changeSpreadSheet.zh_data.indexOf(first), sel.col, sel.rowCount, sel.colCount);
|
|
|
+ }
|
|
|
+ changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
|
|
|
+ changeSpreadObj.refreshActn();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ downMove: function () {
|
|
|
+ const data = {
|
|
|
+ type: 'changeOrder',
|
|
|
+ postData: [],
|
|
|
+ };
|
|
|
+ const selection = changeSpreadSheet.getSelections();
|
|
|
+ const row = selection[0].row, count = selection[0].rowCount;
|
|
|
+ const first = changeSpreadSheet.zh_data[row];
|
|
|
+ if (!first) {
|
|
|
+ changeSpreadObj.refreshActn();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ const next = changeSpreadSheet.zh_data[row + count], nextUpdate = {id: next.id};
|
|
|
+ for (let iRow = count - 1; iRow >= 0; iRow--) {
|
|
|
+ const posData = changeSpreadSheet.zh_data[iRow + row];
|
|
|
+ if (posData) {
|
|
|
+ data.postData.push({id: posData.id, order: changeSpreadSheet.zh_data[iRow + row + 1].order});
|
|
|
+ nextUpdate.order = posData.order;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ data.postData.push(nextUpdate);
|
|
|
+ console.log(data);
|
|
|
+ if (data.postData.length > 0) {
|
|
|
+ postData(window.location.pathname + '/save', data, function () {
|
|
|
+ _.forEach(data.postData, function (item) {
|
|
|
+ const cl = _.find(changeList, { id: item.id });
|
|
|
+ cl.order = item.order;
|
|
|
+ });
|
|
|
+ changeList.sort(function (a, b) {
|
|
|
+ return a.order - b.order
|
|
|
+ });
|
|
|
+ SpreadJsObj.reLoadSheetData(changeSpreadSheet);
|
|
|
+ changeSpreadObj.makeSjsFooter();
|
|
|
+ const sel = selection[0];
|
|
|
+ if (sel) {
|
|
|
+ changeSpreadSheet.setSelection(changeSpreadSheet.zh_data.indexOf(first), sel.col, sel.rowCount, sel.colCount);
|
|
|
+ }
|
|
|
+ changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
|
|
|
+ changeSpreadObj.refreshActn();
|
|
|
});
|
|
|
}
|
|
|
},
|
|
@@ -244,6 +388,36 @@ $(document).ready(() => {
|
|
|
changeSpreadObj.del();
|
|
|
}
|
|
|
changeSpreadObj.resetXmjSpread(data);
|
|
|
+ changeSpreadObj.refreshActn();
|
|
|
+ },
|
|
|
+ refreshActn: function (rowCount = 1) {
|
|
|
+ const setObjEnable = function (obj, enable) {
|
|
|
+ if (enable) {
|
|
|
+ obj.removeClass('disabled');
|
|
|
+ } else {
|
|
|
+ obj.addClass('disabled');
|
|
|
+ }
|
|
|
+ };
|
|
|
+ // const select = SpreadJsObj.getSelectObject(changeSpreadSheet);
|
|
|
+ // 还需判断是否已被调差清单调用
|
|
|
+ const selection = changeSpreadSheet.getSelections();
|
|
|
+ const sel = selection ? selection[0] : changeSpreadSheet.getSelections()[0];
|
|
|
+ const row = sel ? sel.row : -1;
|
|
|
+ const first = changeList[row];
|
|
|
+ let last = first;
|
|
|
+ if (sel.rowCount > 1 && first) {
|
|
|
+ for (let r = 1; r < sel.rowCount; r++) {
|
|
|
+ const rNode = changeList[sel.row + r];
|
|
|
+ if (!rNode) break;
|
|
|
+ last = rNode;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const preNode = changeList[row - 1];
|
|
|
+
|
|
|
+ setObjEnable($('#up-move'), !readOnly && first && preNode && changeList.indexOf(last) > 0 && sel.row + sel.rowCount <= changeList.length);
|
|
|
+ setObjEnable($('#down-move'), !readOnly && first && changeList.indexOf(last) < changeList.length - 1 && sel.row + sel.rowCount <= changeList.length);
|
|
|
+ // setObjEnable($('#open-list-modal'), !readOnly && select && changeList.indexOf(select) !== -1);
|
|
|
+ // setObjEnable($('#add-white-btn'), !readOnly && select && changeList.indexOf(select) !== -1);
|
|
|
},
|
|
|
deletePress: function (sheet) {
|
|
|
return;
|
|
@@ -529,10 +703,13 @@ $(document).ready(() => {
|
|
|
// filter.sortColumn(0, true);
|
|
|
changeSpreadObj.makeSjsFooter();
|
|
|
changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
|
|
|
+ changeSpreadObj.refreshActn();
|
|
|
});
|
|
|
|
|
|
if (!readOnly) {
|
|
|
$('#add-white-btn').click(changeSpreadObj.add);
|
|
|
+ $('#up-move').click(changeSpreadObj.upMove);
|
|
|
+ $('#down-move').click(changeSpreadObj.downMove);
|
|
|
changeSpread.bind(spreadNS.Events.EditEnded, changeSpreadObj.editEnded);
|
|
|
changeSpread.bind(spreadNS.Events.SelectionChanged, changeSpreadObj.selectionChanged);
|
|
|
changeSpread.bind(spreadNS.Events.ClipboardPasted, changeSpreadObj.clipboardPasted);
|
|
@@ -578,6 +755,9 @@ $(document).ready(() => {
|
|
|
'createList': {
|
|
|
name: '添加台账清单',
|
|
|
icon: 'fa-sign-in',
|
|
|
+ visible: function () {
|
|
|
+ return changeOrder === 0;
|
|
|
+ },
|
|
|
callback: function (key, opt) {
|
|
|
$('#addlist').modal('show');
|
|
|
},
|
|
@@ -585,6 +765,9 @@ $(document).ready(() => {
|
|
|
'createAdd': {
|
|
|
name: '添加空白清单',
|
|
|
icon: 'fa-sign-in',
|
|
|
+ visible: function () {
|
|
|
+ return changeOrder === 0;
|
|
|
+ },
|
|
|
callback: function (key, opt) {
|
|
|
changeSpreadObj.add(changeSpreadSheet);
|
|
|
},
|
|
@@ -594,6 +777,9 @@ $(document).ready(() => {
|
|
|
type: 'batchInsert',
|
|
|
value: '2',
|
|
|
icon: 'fa-sign-in',
|
|
|
+ visible: function () {
|
|
|
+ return changeOrder === 0;
|
|
|
+ },
|
|
|
batchInsert: function (obj, root) {
|
|
|
if (_.toNumber(obj.value) > _.toNumber(obj.max)) {
|
|
|
obj.value = obj.max;
|
|
@@ -608,6 +794,81 @@ $(document).ready(() => {
|
|
|
}
|
|
|
},
|
|
|
},
|
|
|
+ 'createList1': {
|
|
|
+ name: '插入台账清单',
|
|
|
+ icon: 'fa-sign-in',
|
|
|
+ visible: function () {
|
|
|
+ return changeOrder === 1;
|
|
|
+ },
|
|
|
+ // disabled: function (key, opt) {
|
|
|
+ // const select = SpreadJsObj.getSelectObject(changeSpreadSheet);
|
|
|
+ // const sel = changeSpreadSheet.getSelections()[0];
|
|
|
+ // changeSpreadObj.resetXmjSpread(select);
|
|
|
+ // // console.log(select, sel);
|
|
|
+ // if (!readOnly && select && sel.row !== changeSpreadSheet.getRowCount() - 1) {
|
|
|
+ // return false;
|
|
|
+ // } else {
|
|
|
+ // return true;
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ $('#addlist').modal('show');
|
|
|
+ },
|
|
|
+ },
|
|
|
+ 'createAdd1': {
|
|
|
+ name: '插入空白清单',
|
|
|
+ icon: 'fa-sign-in',
|
|
|
+ visible: function () {
|
|
|
+ return changeOrder === 1;
|
|
|
+ },
|
|
|
+ // disabled: function (key, opt) {
|
|
|
+ // const select = SpreadJsObj.getSelectObject(changeSpreadSheet);
|
|
|
+ // const sel = changeSpreadSheet.getSelections()[0];
|
|
|
+ // changeSpreadObj.resetXmjSpread(select);
|
|
|
+ // // console.log(select, sel);
|
|
|
+ // if (!readOnly && select && sel.row !== changeSpreadSheet.getRowCount() - 1) {
|
|
|
+ // return false;
|
|
|
+ // } else {
|
|
|
+ // return true;
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ changeSpreadObj.add(changeSpreadSheet);
|
|
|
+ },
|
|
|
+ },
|
|
|
+ 'batchInsert1': {
|
|
|
+ name: '批量插入空白清单',
|
|
|
+ type: 'batchInsert',
|
|
|
+ value: '2',
|
|
|
+ icon: 'fa-sign-in',
|
|
|
+ visible: function () {
|
|
|
+ return changeOrder === 1;
|
|
|
+ },
|
|
|
+ // disabled: function (key, opt) {
|
|
|
+ // const select = SpreadJsObj.getSelectObject(changeSpreadSheet);
|
|
|
+ // const sel = changeSpreadSheet.getSelections()[0];
|
|
|
+ // changeSpreadObj.resetXmjSpread(select);
|
|
|
+ // // console.log(select, sel);
|
|
|
+ // if (!readOnly && select && sel.row !== changeSpreadSheet.getRowCount() - 1) {
|
|
|
+ // return false;
|
|
|
+ // } else {
|
|
|
+ // return true;
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ batchInsert: function (obj, root) {
|
|
|
+ if (_.toNumber(obj.value) > _.toNumber(obj.max)) {
|
|
|
+ obj.value = obj.max;
|
|
|
+ toastr.warning('批量插入不可多于' + obj.max);
|
|
|
+ } else if(_.toNumber(obj.value) < _.toNumber(obj.min)) {
|
|
|
+ obj.value = obj.min;
|
|
|
+ toastr.warning('批量插入不可少于' + obj.min);
|
|
|
+ } else {
|
|
|
+ // treeOperationObj.addNode(ledgerSpread.getActiveSheet(), parseInt(obj.value));
|
|
|
+ changeSpreadObj.batchAdd(obj.value);
|
|
|
+ root.$menu.trigger('contextmenu:hide');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
'delete': {
|
|
|
name: '删除',
|
|
|
icon: 'fa-remove',
|
|
@@ -615,15 +876,29 @@ $(document).ready(() => {
|
|
|
changeSpreadObj.del(changeSpreadSheet);
|
|
|
},
|
|
|
disabled: function (key, opt) {
|
|
|
- const select = SpreadJsObj.getSelectObject(changeSpreadSheet);
|
|
|
- const sel = changeSpreadSheet.getSelections()[0];
|
|
|
- changeSpreadObj.resetXmjSpread(select);
|
|
|
- // console.log(select, sel);
|
|
|
- if (!readOnly && select && sel.row !== changeSpreadSheet.getRowCount() - 1 && !_.find(changeUsedData, { cbid: select.id })) {
|
|
|
- return false;
|
|
|
- } else {
|
|
|
+ // const select = SpreadJsObj.getSelectObject(changeSpreadSheet);
|
|
|
+ // const sel = changeSpreadSheet.getSelections()[0];
|
|
|
+ // changeSpreadObj.resetXmjSpread(select);
|
|
|
+ // // console.log(select, sel);
|
|
|
+ // if (!readOnly && select && sel.row !== changeSpreadSheet.getRowCount() - 1 && !_.find(changeUsedData, { cbid: select.id })) {
|
|
|
+ // return false;
|
|
|
+ // } else {
|
|
|
+ // return true;
|
|
|
+ // }
|
|
|
+ const selection = changeSpreadSheet.getSelections();
|
|
|
+ const sel = selection ? selection[0] : changeSpreadSheet.getSelections()[0];
|
|
|
+ const row = sel && sel.row !== undefined ? sel.row : -1;
|
|
|
+ if (readOnly || row === -1 || sel.row + sel.rowCount > changeList.length) {
|
|
|
return true;
|
|
|
}
|
|
|
+ let isUsed = false;
|
|
|
+ for (let r = 0; r < sel.rowCount; r++) {
|
|
|
+ const select = changeList[row + r];
|
|
|
+ if(!select || _.find(changeUsedData, { cbid: select.id })) {
|
|
|
+ isUsed = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return isUsed;
|
|
|
}
|
|
|
},
|
|
|
}
|
|
@@ -637,6 +912,7 @@ $(document).ready(() => {
|
|
|
$(this).addClass('table-warning');
|
|
|
const isCheck = $(this).hasClass('table-success') ? true : false;
|
|
|
const data_bwmx = $(this).attr('data-bwmx').split('$#$');
|
|
|
+ const data_charu = $(this).attr('data-charu') ? $(this).attr('data-charu').split('$#$') : [];
|
|
|
const isDeal = $(this).data('gcl') !== undefined ? true : false;
|
|
|
let codeHtml = '<tr quantity="'+ $(this).children('td').eq(5).text() +'" gcl_id="" mx_id=""><td class="text-center">1</td><td colspan="7" class="colspan_1"> </td><td class="colspan_2"><input type="checkbox"></td></tr>';
|
|
|
if (isDeal) {
|
|
@@ -653,15 +929,15 @@ $(document).ready(() => {
|
|
|
const gcl_id = leaf.gcl_id ? leaf.gcl_id : '';
|
|
|
const mx_id = leaf.mx_id ? leaf.mx_id : '';
|
|
|
const bwmx = leaf.bwmx !== undefined ? leaf.bwmx : (gcl.leafXmjs.length > 1 && gcl.name ? gcl.name : undefined);
|
|
|
- const isChecked = data_bwmx.indexOf(
|
|
|
- leaf.code + '!_!' + (leaf.jldy ? leaf.jldy : '') + '!_!' +
|
|
|
+ const pushMsg = leaf.code + '!_!' + (leaf.jldy ? leaf.jldy : '') + '!_!' +
|
|
|
(leaf.dwgc ? leaf.dwgc : '') + '!_!' + (leaf.fbgc ? leaf.fbgc : '') + '!_!' + (leaf.fxgc ? leaf.fxgc : '')
|
|
|
+ '!_!' + (leaf.gcl_id ? leaf.gcl_id : '0') + '!_!' + (leaf.mx_id ? leaf.mx_id : '') + '!_!' +
|
|
|
- (bwmx !== undefined ? bwmx : leaf.jldy ? leaf.jldy : '') + '*;*' + quantity) !== -1 && isCheck ?
|
|
|
- 'checked' : '';
|
|
|
+ (bwmx !== undefined ? bwmx : leaf.jldy ? leaf.jldy : '') + '*;*' + quantity;
|
|
|
+ const isChecked = data_bwmx.indexOf(pushMsg) !== -1 && isCheck ? 'checked ' : '';
|
|
|
const existGcl = _.find(changeList, {gcl_id: leaf.gcl_id, bwmx: (bwmx ? bwmx : leaf.jldy ? leaf.jldy : ''), oamount: leaf.quantity});
|
|
|
const isUsed = existGcl ? _.find(changeUsedData, { cbid: existGcl.id }) : null;
|
|
|
- const isDisabled = isUsed ? 'disabled ' : '';
|
|
|
+ const isOldChaRu = changeOrder && isChecked && data_charu.indexOf(pushMsg) === -1;
|
|
|
+ const isDisabled = isUsed || isOldChaRu ? 'disabled ' : '';
|
|
|
codeHtml += '<tr quantity="' + quantity + '" gcl_id="' + gcl_id + '" mx_id="' + mx_id + '">' +
|
|
|
'<td class="text-center">' + (index+1) + (leaf.cid ? '<i class="text-danger" style="font-weight: 900">*</i>' : '') + '</td>' +
|
|
|
'<td>' + leaf.code + '</td>' +
|
|
@@ -676,7 +952,10 @@ $(document).ready(() => {
|
|
|
searchCodeList.push(leaf.code + '|!|' + (leaf.jldy ? leaf.jldy: '') + '|!|' + (bwmx !== undefined ? bwmx : ''));
|
|
|
}
|
|
|
} else if (!isDeal && isCheck) {
|
|
|
- codeHtml = '<tr quantity="'+ $(this).children('td').eq(5).text() +'" gcl_id="" mx_id=""><td class="text-center">1</td><td colspan="7" class="colspan_1"> </td><td class="colspan_2"><input type="checkbox" checked></td></tr>';
|
|
|
+ const pushMsg = '0*;*' + $(this).children('td').eq(5).text();
|
|
|
+ const isChecked = data_bwmx.indexOf(pushMsg) !== -1 && isCheck ? 'checked ' : '';
|
|
|
+ const isDisabeld = changeOrder && isChecked && data_charu.indexOf(pushMsg) === -1 ? 'disabled ' : '';
|
|
|
+ codeHtml = '<tr quantity="'+ $(this).children('td').eq(5).text() +'" gcl_id="" mx_id=""><td class="text-center">1</td><td colspan="7" class="colspan_1"> </td><td class="colspan_2"><input type="checkbox" ' + isChecked + isDisabeld +'></td></tr>';
|
|
|
}
|
|
|
$('#code-list').attr('data-index', parseInt($(this).children('td').eq(0).text()));
|
|
|
$('#code-input').val('');
|
|
@@ -688,6 +967,7 @@ $(document).ready(() => {
|
|
|
// 右边项目节选择
|
|
|
$('body').on('click', '#code-list input', function () {
|
|
|
let index = $('#code-list').attr('data-index');
|
|
|
+ // 判断是否是自定义排序,是则另外保存一份到tr中,和data-bwmx不相通,最后提交再清除所有的data-charu清单
|
|
|
if ($(this).is(':checked')) {
|
|
|
// 去除其它可能已选的checked
|
|
|
// $('#code-list input').prop('checked', false);
|
|
@@ -696,6 +976,7 @@ $(document).ready(() => {
|
|
|
$('#table-list-select tr[data-index="' + index + '"]').addClass('table-success');
|
|
|
// 去除部分data-detail值
|
|
|
let data_bwmx = [];
|
|
|
+ let data_charu = [];
|
|
|
$('#code-list input:checked').each(function () {
|
|
|
const tr = $(this).parents('tr');
|
|
|
const length = tr.children('td').length;
|
|
@@ -711,14 +992,22 @@ $(document).ready(() => {
|
|
|
const quantity = tr.attr('quantity');
|
|
|
const de_qu = bwmx + '*;*' + quantity;
|
|
|
data_bwmx.push(de_qu);
|
|
|
+ if (changeOrder && $(this).prop('disabled') !== true) {
|
|
|
+ data_charu.push(de_qu);
|
|
|
+ }
|
|
|
});
|
|
|
data_bwmx = data_bwmx.join('$#$');
|
|
|
$('#table-list-select tr[data-index="' + index + '"]').attr('data-bwmx', data_bwmx);
|
|
|
+ if (changeOrder) {
|
|
|
+ data_charu = data_charu.join('$#$');
|
|
|
+ $('#table-list-select tr[data-index="' + index + '"]').attr('data-charu', data_charu);
|
|
|
+ }
|
|
|
} else {
|
|
|
// 判断还有无选中项目节编号
|
|
|
if ($('#code-list input').is(':checked')) {
|
|
|
// 去除部分data-detail值
|
|
|
let data_bwmx = [];
|
|
|
+ let data_charu = [];
|
|
|
$('#code-list input:checked').each(function () {
|
|
|
const tr = $(this).parents('tr');
|
|
|
const length = tr.children('td').length;
|
|
@@ -734,12 +1023,22 @@ $(document).ready(() => {
|
|
|
const quantity = tr.attr('quantity');
|
|
|
const de_qu = bwmx + '*;*' + quantity;
|
|
|
data_bwmx.push(de_qu);
|
|
|
+ if (changeOrder && $(this).prop('disabled') !== true) {
|
|
|
+ data_charu.push(de_qu);
|
|
|
+ }
|
|
|
});
|
|
|
data_bwmx = data_bwmx.join('$#$');
|
|
|
$('#table-list-select tr[data-index="' + index + '"]').attr('data-bwmx', data_bwmx);
|
|
|
+ if (changeOrder) {
|
|
|
+ data_charu = data_charu.join('$#$');
|
|
|
+ $('#table-list-select tr[data-index="' + index + '"]').attr('data-charu', data_charu);
|
|
|
+ }
|
|
|
} else {
|
|
|
$('#table-list-select tr[data-index="' + index + '"]').removeClass('table-success');
|
|
|
$('#table-list-select tr[data-index="' + index + '"]').attr('data-bwmx', '');
|
|
|
+ if (changeOrder) {
|
|
|
+ $('#table-list-select tr[data-index="' + index + '"]').attr('data-charu', '');
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
checkSelectAll();
|
|
@@ -747,17 +1046,30 @@ $(document).ready(() => {
|
|
|
|
|
|
// 添加空白清单or签约清单
|
|
|
$('.add-list-btn').on('click', function () {
|
|
|
+ let select = null;
|
|
|
+ if (changeOrder) {
|
|
|
+ select = SpreadJsObj.getSelectObject(changeSpreadSheet);
|
|
|
+ }
|
|
|
const newLedgerList = remakeChangeSpread();
|
|
|
+ console.log(newLedgerList, select);
|
|
|
// 更新至服务器
|
|
|
- postData(window.location.pathname + '/save', { type:'ledger_list', updateData: newLedgerList }, function (result) {
|
|
|
+ postData(window.location.pathname + '/save', { type:'ledger_list', updateData: newLedgerList, postData: select ? select.order : null }, function (result) {
|
|
|
changeList = result.changeList;
|
|
|
changeUsedData = result.usedList;
|
|
|
SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
|
|
|
changeSpreadObj.makeSjsFooter();
|
|
|
const select = SpreadJsObj.getSelectObject(changeSpreadSheet);
|
|
|
changeSpreadObj.resetXmjSpread(select);
|
|
|
+ changeSpreadObj.refreshActn();
|
|
|
+ $('#table-list-select tr').attr('data-charu', '');
|
|
|
+ if(changeOrder) {
|
|
|
+ $('#code-list input:checked').each(function () {
|
|
|
+ $(this).attr('disabled', true);
|
|
|
+ })
|
|
|
+ }
|
|
|
$('#addlist').modal('hide');
|
|
|
}, function () {
|
|
|
+ $('#table-list-select tr').attr('data-charu', '');
|
|
|
$('#addlist').modal('hide');
|
|
|
});
|
|
|
|
|
@@ -823,12 +1135,40 @@ $(document).ready(() => {
|
|
|
});
|
|
|
$('#list-input').on('blur', function () {
|
|
|
const select = parseInt($('#select-list').val());
|
|
|
- const value = $(this).val();
|
|
|
+ const value = _.trim($(this).val());
|
|
|
+ const valueList = _.slice(_.without(_.uniq(value.split(' ')), ''), 0, 10);
|
|
|
+ console.log(valueList);
|
|
|
+ // 判断是否存在多个分词,以换行或空格分隔,多个则显示左侧菜单
|
|
|
+ if (value !== '' && valueList.length > 1) {
|
|
|
+ if (_.without(_.uniq(value.split(' ')), '').length > 10) {
|
|
|
+ toastr.warning('最多筛选以空格分割的前10个不重复关键词');
|
|
|
+ }
|
|
|
+ $('#table-list').addClass('col-9').removeClass('col-12');
|
|
|
+ $('#table-list').siblings('.col-3').show();
|
|
|
+ $('#list-search-keyword').html('<a href="javascript:void(0);" data-keyword="" class="list-group-item list-group-item-action active">全部</a>');
|
|
|
+ for (const v of valueList) {
|
|
|
+ $('#list-search-keyword').append(`<a href="javascript:void(0);" data-keyword="${v}" class="list-group-item list-group-item-action">${v}</a>`);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $('#table-list').addClass('col-12').removeClass('col-9');
|
|
|
+ $('#table-list').siblings('.col-3').hide();
|
|
|
+ $('#list-search-keyword').html('<a href="javascript:void(0);" data-keyword="" class="list-group-item list-group-item-action active">全部</a>');
|
|
|
+ }
|
|
|
let showListData = changeListData;
|
|
|
if (select === 1 && value !== '') {
|
|
|
$(this).siblings('a').show();
|
|
|
showListData = _.filter(changeListData, function (c) {
|
|
|
- return ((c.code && c.code.indexOf(value) !== -1) || (c.name && c.name.indexOf(value) !== -1)) && c.cid;
|
|
|
+ let flag = false;
|
|
|
+ if (c.cid) {
|
|
|
+ for(const v of valueList) {
|
|
|
+ if ((c.code && c.code.indexOf(v) !== -1) || (c.name && c.name.indexOf(v) !== -1)) {
|
|
|
+ flag = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return flag;
|
|
|
+ // return ((c.code && c.code.indexOf(value) !== -1) || (c.name && c.name.indexOf(value) !== -1)) && c.cid;
|
|
|
});
|
|
|
} else if (select === 1 && value === '') {
|
|
|
$(this).siblings('a').hide();
|
|
@@ -838,7 +1178,15 @@ $(document).ready(() => {
|
|
|
} else if (value !== '') {
|
|
|
$(this).siblings('a').show();
|
|
|
showListData = _.filter(changeListData, function (c) {
|
|
|
- return (c.code && c.code.indexOf(value) !== -1) || (c.name && c.name.indexOf(value) !== -1);
|
|
|
+ let flag = false;
|
|
|
+ for(const v of valueList) {
|
|
|
+ if ((c.code && c.code.indexOf(v) !== -1) || (c.name && c.name.indexOf(v) !== -1)) {
|
|
|
+ flag = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return flag;
|
|
|
+ // return (c.code && c.code.indexOf(value) !== -1) || (c.name && c.name.indexOf(value) !== -1);
|
|
|
});
|
|
|
} else {
|
|
|
$(this).siblings('a').hide();
|
|
@@ -850,6 +1198,29 @@ $(document).ready(() => {
|
|
|
$('#code-list').html('');
|
|
|
$('#code-select-all').prop('checked', false);
|
|
|
});
|
|
|
+ // 检索关键字切换
|
|
|
+ $('body').on('click', '#list-search-keyword a', function () {
|
|
|
+ if (!$(this).hasClass('active')) {
|
|
|
+ const keyword = $(this).attr('data-keyword');
|
|
|
+ console.log(keyword);
|
|
|
+ $(this).siblings().removeClass('active');
|
|
|
+ $(this).addClass('active');
|
|
|
+ if (keyword === '') {
|
|
|
+ $('#list-input').blur();
|
|
|
+ } else {
|
|
|
+ const select = parseInt($('#select-list').val());
|
|
|
+ const showListData = _.filter(changeListData, function (c) {
|
|
|
+ return ((c.code && c.code.indexOf(keyword) !== -1) || (c.name && c.name.indexOf(keyword) !== -1)) && (select === 1 ? c.cid : 1);
|
|
|
+ });
|
|
|
+ makeListTable(changeListData, showListData);
|
|
|
+ $('#table-list-select tr').removeClass('table-warning');
|
|
|
+ $('#code-input').val('');
|
|
|
+ $('#code-input').siblings('a').hide();
|
|
|
+ $('#code-list').html('');
|
|
|
+ $('#code-select-all').prop('checked', false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
// 回车提交
|
|
|
$('#code-input').on('keypress', function () {
|
|
|
if(window.event.keyCode === 13) {
|
|
@@ -881,6 +1252,10 @@ $(document).ready(() => {
|
|
|
makeListTable(changeListData, showListData);
|
|
|
$('#table-list-select tr').removeClass('table-warning');
|
|
|
$('#code-list').html('');
|
|
|
+ $('#table-list').addClass('col-12').removeClass('col-9');
|
|
|
+ $('#table-list').siblings('.col-3').hide();
|
|
|
+ $('#list-search-keyword').html('');
|
|
|
+ $('#list-search-keyword').siblings('a').addClass('active');
|
|
|
} else {
|
|
|
makeCodeTable();
|
|
|
}
|
|
@@ -908,6 +1283,7 @@ $(document).ready(() => {
|
|
|
if ($('#code-list input').is(':checked')) {
|
|
|
// 去除部分data-detail值
|
|
|
let data_bwmx = [];
|
|
|
+ let data_charu = [];
|
|
|
$('#code-list input:checked').each(function () {
|
|
|
const tr = $(this).parents('tr');
|
|
|
const length = tr.children('td').length;
|
|
@@ -923,13 +1299,23 @@ $(document).ready(() => {
|
|
|
const quantity = tr.attr('quantity');
|
|
|
const de_qu = bwmx + '*;*' + quantity;
|
|
|
data_bwmx.push(de_qu);
|
|
|
+ if (changeOrder && $(this).prop('disabled') !== true) {
|
|
|
+ data_charu.push(de_qu);
|
|
|
+ }
|
|
|
});
|
|
|
data_bwmx = data_bwmx.join('$#$');
|
|
|
$('#table-list-select tr[data-index="' + index + '"]').attr('data-bwmx', data_bwmx);
|
|
|
+ if (changeOrder) {
|
|
|
+ data_charu = data_charu.join('$#$');
|
|
|
+ $('#table-list-select tr[data-index="' + index + '"]').attr('data-charu', data_charu);
|
|
|
+ }
|
|
|
$('#table-list-select tr[data-index="' + index + '"]').addClass('table-success');
|
|
|
} else {
|
|
|
$('#table-list-select tr[data-index="' + index + '"]').removeClass('table-success');
|
|
|
$('#table-list-select tr[data-index="' + index + '"]').attr('data-bwmx', '');
|
|
|
+ if (changeOrder) {
|
|
|
+ $('#table-list-select tr[data-index="' + index + '"]').attr('data-charu', '');
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
});
|
|
@@ -1002,6 +1388,31 @@ $(document).ready(() => {
|
|
|
}
|
|
|
toastr.success('已还原到上次保存状态');
|
|
|
});
|
|
|
+
|
|
|
+ $('.dropdown-menu input[name="paixu"]').on('click', function () {
|
|
|
+ const newChangeOrder = parseInt($(this).val());
|
|
|
+ if (newChangeOrder !== changeOrder) {
|
|
|
+ const newLedgerList = changeOrder ? remakeChangeSpread(0) : [];
|
|
|
+ // 更新至服务器
|
|
|
+ postData(window.location.pathname + '/save', { type:'order_by', updateData: newChangeOrder, newLedgerList }, function (result) {
|
|
|
+ if (newChangeOrder === 0) {
|
|
|
+ $('#bpaixu').text('清单排序:清单编号');
|
|
|
+ $('#upAndMoveBtn').attr('style', 'display: none !important');
|
|
|
+ $('.order_text').text('添加');
|
|
|
+ changeOrder = newChangeOrder;
|
|
|
+ } else if (newChangeOrder === 1) {
|
|
|
+ $('#bpaixu').text('清单排序:添加顺序');
|
|
|
+ $('#upAndMoveBtn').show();
|
|
|
+ $('.order_text').text('插入');
|
|
|
+ changeOrder = newChangeOrder;
|
|
|
+ }
|
|
|
+ changeList = result;
|
|
|
+ SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
|
|
|
+ changeSpreadObj.makeSjsFooter();
|
|
|
+ changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
});
|
|
|
function checkSelectAll() {
|
|
|
let check = $('#code-list tr').length > 0 ? true : false;
|
|
@@ -1072,6 +1483,7 @@ function tableDataRemake(changeListData) {
|
|
|
$('#table-list-select tr').removeClass('table-warning');
|
|
|
$('#table-list-select tr').removeClass('table-success');
|
|
|
$('#table-list-select tr').attr('data-bwmx', '');
|
|
|
+ $('#table-list-select tr').attr('data-charu', '');
|
|
|
$('#code-list').html('');
|
|
|
$('#code-list').attr('data-index', '');
|
|
|
$('#code-input').val('');
|
|
@@ -1274,7 +1686,7 @@ function makeCodeTable(search = '') {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-function remakeChangeSpread() {
|
|
|
+function remakeChangeSpread(cOrder = changeOrder) {
|
|
|
const newTableList = [];
|
|
|
// 获取选中的签约清单判断并插入到原有清单中
|
|
|
$('#table-list-select .table-success').each(function(){
|
|
@@ -1293,7 +1705,7 @@ function remakeChangeSpread() {
|
|
|
let lid = $(this).data('lid');
|
|
|
let lindex = $(this).data('index');
|
|
|
// 原清单和数量改变
|
|
|
- let data_bwmx = $(this).attr('data-bwmx').split('$#$');
|
|
|
+ let data_bwmx = cOrder ? ($(this).attr('data-charu') ? $(this).attr('data-charu').split('$#$') : []) : $(this).attr('data-bwmx').split('$#$');
|
|
|
|
|
|
for (const b of data_bwmx) {
|
|
|
const oamount = b.split('*;*')[1] != '' ? b.split('*;*')[1] : 0;
|