|
@@ -1200,6 +1200,41 @@ var projectObj = {
|
|
|
me.mainSpreadEnterCell({type: 'EnterCell'}, {sheet: sheet, sheetName: sheet.name(), cancel: false, row: newRow, col: newCol});
|
|
|
|
|
|
},
|
|
|
+ // 注册自定义插入清单数量
|
|
|
+ registerFlexibleInsertBillMenu: function (type) {
|
|
|
+ const project = projectObj.project;
|
|
|
+ const name = `插入${billText[type]}`;
|
|
|
+ const inputID = `insert-bills-number${type}`;
|
|
|
+ const insertBillsHtml = `<span>${name} <input id=${inputID} class="menu-input" type="text" value="1" onfocus="this.select()"> 行</span>`;
|
|
|
+ return sheetCommonObj.registerInputContextMenuItem(`insertBills${type}`, insertBillsHtml, 'fa-sign-in', async function () {
|
|
|
+ if (project.mainTree.selected.data.type == billType.DXFY) {
|
|
|
+ if (project.mainTree.selected.data.calcBase && project.mainTree.selected.data.calcBase != "") {
|
|
|
+ alert("当前有基数计算,不能插入子项。");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ const number = +$(`#${inputID}`).val();
|
|
|
+ if (!number) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $.bootstrapLoading.start();
|
|
|
+ const postData = ProjectController.getBillsPostData(number, type);
|
|
|
+ const newNodes = await ProjectController.addBillsByData(postData, true);
|
|
|
+ if (newNodes.length) {
|
|
|
+ projectObj.mainController.setTreeSelected(newNodes[0]);
|
|
|
+ projectObj.selectColAndFocus(project.mainTree.selected);
|
|
|
+ }
|
|
|
+ } catch (err) {
|
|
|
+ console.log(err);
|
|
|
+ if (!$('hintBox_form').is(':visible')) {
|
|
|
+ alert(err);
|
|
|
+ }
|
|
|
+ } finally {
|
|
|
+ $.bootstrapLoading.end();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
loadMainSpreadContextMenu: function () {
|
|
|
var project = this.project, spread = this.mainSpread, controller = this.mainController;
|
|
|
$.contextMenu({
|
|
@@ -1261,6 +1296,7 @@ var projectObj = {
|
|
|
}
|
|
|
},
|
|
|
"insertFX": {
|
|
|
+ type: projectObj.registerFlexibleInsertBillMenu(billType.FX),
|
|
|
name: "插入分项",
|
|
|
icon: 'fa-sign-in',
|
|
|
disabled: function () {
|
|
@@ -1289,10 +1325,10 @@ var projectObj = {
|
|
|
}
|
|
|
return true;//除了清单,其它类型都只读
|
|
|
},
|
|
|
- callback: function (key, opt) {
|
|
|
+ /* callback: function (key, opt) {
|
|
|
ProjectController.addFX(project, controller);
|
|
|
projectObj.selectColAndFocus(project.mainTree.selected);
|
|
|
- },
|
|
|
+ }, */
|
|
|
visible: function(key, opt){
|
|
|
if(project.mainTree.selected){
|
|
|
return project.Bills.isFBFX(project.mainTree.selected );//不属于分部分项的话隐藏
|
|
@@ -1302,6 +1338,7 @@ var projectObj = {
|
|
|
}
|
|
|
},
|
|
|
"insertBills": {
|
|
|
+ type: projectObj.registerFlexibleInsertBillMenu(billType.BILL),
|
|
|
name: "插入清单",
|
|
|
icon: 'fa-sign-in',
|
|
|
disabled: function () {
|
|
@@ -1314,7 +1351,7 @@ var projectObj = {
|
|
|
}
|
|
|
return true;
|
|
|
},
|
|
|
- callback: function (key, opt) {
|
|
|
+ /* callback: function (key, opt) {
|
|
|
if(project.mainTree.selected.data.type == billType.DXFY){
|
|
|
if(project.mainTree.selected.data.calcBase&&project.mainTree.selected.data.calcBase!=""){
|
|
|
alert("当前有基数计算,不能插入子项。");
|
|
@@ -1323,7 +1360,7 @@ var projectObj = {
|
|
|
}
|
|
|
ProjectController.addBills(project, controller);
|
|
|
projectObj.selectColAndFocus(project.mainTree.selected);
|
|
|
- },
|
|
|
+ }, */
|
|
|
visible: function(key, opt){
|
|
|
if(project.mainTree.selected){
|
|
|
return project.Bills.isFBFX(project.mainTree.selected)==true?false:true;
|