|
@@ -115,6 +115,7 @@ let calcProgramManage = {
|
|
|
me.saveCalcItem(data, function (rst) {
|
|
|
if (rst){
|
|
|
projectObj.project.calcProgram.calcAllNodesAndSave();
|
|
|
+ $.bootstrapLoading.end();
|
|
|
}
|
|
|
});
|
|
|
}
|
|
@@ -126,7 +127,7 @@ let calcProgramManage = {
|
|
|
c.dispExpr = analyzer.getDispExpr(c.expression, t);
|
|
|
c.dispExprUser = analyzer.getDispExprUser(c.dispExpr, lc);
|
|
|
c.compiledExpr = analyzer.getCompiledExpr(c.expression, lc);
|
|
|
- let e = c.expression + ' ' + c.dispExpr + ' ' + c.dispExprUser + ' ' + c.compiledExpr;
|
|
|
+ let e = `ID:${c.ID} ${c.expression} ${c.dispExpr} ${c.dispExprUser} ${c.compiledExpr} ${c.custom}`;
|
|
|
projectObj.testDisplay('', e);
|
|
|
},
|
|
|
loadMainContextMenu: function () {
|
|
@@ -139,14 +140,34 @@ let calcProgramManage = {
|
|
|
"copyTemplate": {
|
|
|
name: "另存为...",
|
|
|
icon: 'fa-sign-in',
|
|
|
- disabled: function () {
|
|
|
- return false;
|
|
|
- },
|
|
|
- visible: function(key, opt){
|
|
|
- return true;
|
|
|
- },
|
|
|
callback: function (key, opt) {
|
|
|
- // doCopy
|
|
|
+ let template = calcProgramManage.getSelectionInfo().template;
|
|
|
+ let idx = calcProgramManage.mainSpread.getActiveSheet().getActiveRowIndex();
|
|
|
+
|
|
|
+ let newTemplate = {};
|
|
|
+ newTemplate.ID = analyzer.templateMaxID() + 1;
|
|
|
+ newTemplate.name = `模板${newTemplate.ID}`;
|
|
|
+ newTemplate.custom = true;
|
|
|
+ newTemplate.calcItems = [];
|
|
|
+ $.extend(true, newTemplate.calcItems, template.calcItems);
|
|
|
+ let ts = projectObj.project.calcProgram.templates;
|
|
|
+ ts.push(newTemplate);
|
|
|
+ calcProgramManage.buildSheet();
|
|
|
+
|
|
|
+ // let data = {
|
|
|
+ // 'projectID': projectObj.project.ID(),
|
|
|
+ // 'templatesID': template.ID,
|
|
|
+ // 'calcItems': template.calcItems
|
|
|
+ // };
|
|
|
+ // calcProgramManage.updateTemplate(data, function (rst) {
|
|
|
+ // if (rst){
|
|
|
+ // projectObj.project.calcProgram.compileTemplate(template);
|
|
|
+ // calcProgramManage.refreshDetailSheet();
|
|
|
+ // calcProgramManage.detailSpread.getActiveSheet().setSelection(idx + 1, 0, 1, 1);
|
|
|
+ // // projectObj.project.calcProgram.calcAllNodesAndSave();
|
|
|
+ // $.bootstrapLoading.end();
|
|
|
+ // }
|
|
|
+ // });
|
|
|
}
|
|
|
},
|
|
|
"spr1": '--------',
|
|
@@ -154,13 +175,16 @@ let calcProgramManage = {
|
|
|
name: '删除',
|
|
|
icon: 'fa-remove',
|
|
|
disabled: function () {
|
|
|
- return false;
|
|
|
- },
|
|
|
- visible: function(key, opt){
|
|
|
- return true;
|
|
|
+ let custom = calcProgramManage.getSelectionInfo().template.custom;
|
|
|
+ let canDelete = custom ? custom : false;
|
|
|
+ return !canDelete;
|
|
|
},
|
|
|
callback: function () {
|
|
|
- // doDelete
|
|
|
+ let ts = projectObj.project.calcProgram.templates;
|
|
|
+ let idx = calcProgramManage.mainSpread.getActiveSheet().getActiveRowIndex();
|
|
|
+ ts.splice(idx, 1);
|
|
|
+ calcProgramManage.buildSheet();
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -178,17 +202,28 @@ let calcProgramManage = {
|
|
|
icon: 'fa-sign-in',
|
|
|
callback: function () {
|
|
|
let template = calcProgramManage.getSelectionInfo().template;
|
|
|
- var idx = calcProgramManage.detailSpread.getActiveSheet().getActiveRowIndex();
|
|
|
+ let idx = calcProgramManage.detailSpread.getActiveSheet().getActiveRowIndex();
|
|
|
|
|
|
let newItem = {};
|
|
|
newItem.ID = analyzer.calcItemMaxID(template) + 1;
|
|
|
- newItem.memo = '用户自定义';
|
|
|
+ newItem.memo = '自定义';
|
|
|
+ newItem.custom = true;
|
|
|
newItem.expression = '0';
|
|
|
template.calcItems.splice(idx + 1, 0, newItem);
|
|
|
-
|
|
|
- projectObj.project.calcProgram.compileTemplate(template);
|
|
|
- calcProgramManage.refreshDetailSheet();
|
|
|
- calcProgramManage.detailSpread.getActiveSheet().setSelection(idx + 1, 0, 1, 1);
|
|
|
+ let data = {
|
|
|
+ 'projectID': projectObj.project.ID(),
|
|
|
+ 'templatesID': template.ID,
|
|
|
+ 'calcItems': template.calcItems
|
|
|
+ };
|
|
|
+ calcProgramManage.updateTemplate(data, function (rst) {
|
|
|
+ if (rst){
|
|
|
+ projectObj.project.calcProgram.compileTemplate(template);
|
|
|
+ calcProgramManage.refreshDetailSheet();
|
|
|
+ calcProgramManage.detailSpread.getActiveSheet().setSelection(idx + 1, 0, 1, 1);
|
|
|
+ // projectObj.project.calcProgram.calcAllNodesAndSave();
|
|
|
+ $.bootstrapLoading.end();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
"deleteCalcItem": {
|
|
@@ -196,7 +231,7 @@ let calcProgramManage = {
|
|
|
icon: 'fa-remove',
|
|
|
callback: function () {
|
|
|
let template = calcProgramManage.getSelectionInfo().template;
|
|
|
- var idx = calcProgramManage.detailSpread.getActiveSheet().getActiveRowIndex();
|
|
|
+ let idx = calcProgramManage.detailSpread.getActiveSheet().getActiveRowIndex();
|
|
|
let item = template.calcItems[idx];
|
|
|
|
|
|
if (analyzer.calcItemIsUsed(template, item)){
|
|
@@ -205,8 +240,18 @@ let calcProgramManage = {
|
|
|
}
|
|
|
else{
|
|
|
template.calcItems.splice(idx, 1);
|
|
|
- projectObj.project.calcProgram.compileTemplate(template);
|
|
|
- calcProgramManage.refreshDetailSheet();
|
|
|
+ let data = {
|
|
|
+ 'projectID': projectObj.project.ID(),
|
|
|
+ 'templatesID': template.ID,
|
|
|
+ 'calcItems': template.calcItems
|
|
|
+ };
|
|
|
+ calcProgramManage.updateTemplate(data, function (rst) {
|
|
|
+ if (rst){
|
|
|
+ projectObj.project.calcProgram.compileTemplate(template);
|
|
|
+ calcProgramManage.refreshDetailSheet();
|
|
|
+ $.bootstrapLoading.end();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -215,26 +260,23 @@ let calcProgramManage = {
|
|
|
|
|
|
|
|
|
},
|
|
|
- saveCalcItem: function (data,callback) {//data
|
|
|
- let me = this;
|
|
|
- $.ajax({
|
|
|
- type: 'POST',
|
|
|
- url: '/calcProgram/saveCalcItem',
|
|
|
- data: {'data':JSON.stringify(data)},
|
|
|
- dataType: 'json',
|
|
|
- success: function (result) {
|
|
|
- if(!result.error){
|
|
|
- if(callback){
|
|
|
- callback(result);
|
|
|
- return;
|
|
|
- }
|
|
|
+ saveCalcItem: function (data, callback) {//data
|
|
|
+ CommonAjax.post('/calcProgram/saveCalcItem', data,
|
|
|
+ function (result) {
|
|
|
+ if(callback){
|
|
|
+ callback(result);
|
|
|
}
|
|
|
- else{
|
|
|
- alert('失败:' + result.message);
|
|
|
+ }
|
|
|
+ );
|
|
|
+ },
|
|
|
+ updateTemplate: function (data, callback) {//data
|
|
|
+ CommonAjax.post('/calcProgram/updateTemplate', data,
|
|
|
+ function (result) {
|
|
|
+ if(callback){
|
|
|
+ callback(result);
|
|
|
}
|
|
|
- $.bootstrapLoading.end();
|
|
|
}
|
|
|
- })
|
|
|
+ );
|
|
|
},
|
|
|
getSelectionInfo:function () {
|
|
|
var templateIndex = this.mainSpread.getActiveSheet().getActiveRowIndex();
|