|
@@ -977,14 +977,53 @@ const billsGuidance = (function () {
|
|
|
$.bootstrapLoading.end();
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+ // 删除定额(嵌套删除自身及后代定额)
|
|
|
+ function delRations() {
|
|
|
+ const selected = bills.tree.selected.guidance.tree.selected;
|
|
|
+ if (!selected) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (selected.data.type === itemType.ration) {
|
|
|
+ del({ row: selected.serialNo(), col: 0, rowCount: 1, colCount: 1 });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ const rations = selected.getPosterity().filter(item => item.data.type === itemType.ration);
|
|
|
+ if (!rations.length) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ const updateDatas = rations.map(item => ({ updateType: updateType.del, findData: { ID: item.data.ID } }));
|
|
|
+ const rationIDs = rations.map(r => r.data.ID);
|
|
|
+ $.bootstrapLoading.start();
|
|
|
+ updateGuideItems(updateDatas, function () {
|
|
|
+ const guideSheet = guideItem.workBook.getSheet(0);
|
|
|
+ const treeNodes = bills.tree.selected.guidance.tree.items.filter(item => !rationIDs.includes(item.data.ID));
|
|
|
+ const state = bills.tree.selected.guidance.tree.getExpState(treeNodes);
|
|
|
+ const treeData = treeNodes.map(item => item.data);
|
|
|
+ initTree(bills.tree.selected.guidance, guideSheet, guideItem.treeSetting, treeData);
|
|
|
+ bills.tree.selected.guidance.tree.setExpandedByState(bills.tree.selected.guidance.tree.items, state);
|
|
|
+ renderSheetFunc(guideSheet, function () {
|
|
|
+ TREE_SHEET_HELPER.refreshNodesVisible(bills.tree.selected.guidance.tree.roots, guideSheet, true);
|
|
|
+ });
|
|
|
+ //设置底色
|
|
|
+ setNodesColor(guideSheet, bills.tree.selected.guidance.tree.items);
|
|
|
+ //项目指引初始焦点
|
|
|
+ guideItemInitSel(guideSheet.getActiveRowIndex() ? guideSheet.getActiveRowIndex() : 0);
|
|
|
+ $.bootstrapLoading.end();
|
|
|
+ guideItem.workBook.focus(true)
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
//项目指引删除操作
|
|
|
//@return {void}
|
|
|
- function del(){
|
|
|
+ function del(selArea = null){
|
|
|
$.bootstrapLoading.start();
|
|
|
let controller = bills.tree.selected.guidance.controller;
|
|
|
let selNodes = [];
|
|
|
let sheet = guideItem.workBook.getSheet(0);
|
|
|
- let sel = sheet.getSelections()[0];
|
|
|
+ let sel = selArea ? selArea : sheet.getSelections()[0];
|
|
|
if(sel){
|
|
|
sel.row = sel.row === -1 ? 0 : sel.row;
|
|
|
for(let i = 0; i < sel.rowCount; i++){
|
|
@@ -1016,6 +1055,7 @@ const billsGuidance = (function () {
|
|
|
}
|
|
|
}
|
|
|
updateGuideItems(updateDatas, function () {
|
|
|
+ console.log(blockNodes);
|
|
|
controller.m_delete(blockNodes);
|
|
|
guideItemInitSel(sheet.getActiveRowIndex());
|
|
|
refreshBtn(bills.tree.selected.guidance.tree.selected);
|
|
@@ -1400,13 +1440,24 @@ const billsGuidance = (function () {
|
|
|
let pasteNode = bills.tree.selected.guidance.tree.items[target.row];
|
|
|
pasteBlock(pasteNode);
|
|
|
}},
|
|
|
+ "delRations": {
|
|
|
+ name: '删除定额',
|
|
|
+ disabled: function () {
|
|
|
+ let node = bills.tree.selected.guidance.tree.items[target.row];
|
|
|
+ return locked || !node
|
|
|
+ },
|
|
|
+ icon: "fa-remove",
|
|
|
+ callback: function (key, opt) {
|
|
|
+ $('#delRationAlert').modal('show');
|
|
|
+ }
|
|
|
+ },
|
|
|
"del": {
|
|
|
name: '删除',
|
|
|
disabled: function () {
|
|
|
let node = bills.tree.selected.guidance.tree.items[target.row];
|
|
|
return locked || !node
|
|
|
},
|
|
|
- icon: "fa-arrow-left",
|
|
|
+ icon: "fa-remove",
|
|
|
callback: function (key, opt) {
|
|
|
$('#delAlert').modal('show');
|
|
|
}
|
|
@@ -1452,6 +1503,10 @@ const billsGuidance = (function () {
|
|
|
del();
|
|
|
$('#delAlert').modal('hide');
|
|
|
});
|
|
|
+ $('#delRationConfirm').click(function () {
|
|
|
+ delRations();
|
|
|
+ $('#delRationAlert').modal('hide');
|
|
|
+ });
|
|
|
$('#del').click(function () {
|
|
|
$('#delAlert').modal('show');
|
|
|
});
|