|
@@ -6,6 +6,8 @@ let calcProgramManage = {
|
|
|
datas: [],
|
|
|
mainSpread: null,
|
|
|
detailSpread: null,
|
|
|
+ mainSheet: null,
|
|
|
+ detailSheet: null,
|
|
|
mainSetting: {
|
|
|
header:[
|
|
|
// {headerName:"ID",headerWidth:80,dataCode:"ID", hAlign: "center"},
|
|
@@ -49,30 +51,30 @@ let calcProgramManage = {
|
|
|
me.detailSpread = null;
|
|
|
};
|
|
|
me.mainSpread = sheetCommonObj.buildSheet($('#mainSpread')[0], me.mainSetting, me.datas.length);
|
|
|
+ me.mainSheet = me.mainSpread.getSheet(0);
|
|
|
sheetCommonObj.spreadDefaultStyle(me.mainSpread);
|
|
|
me.detailSpread = sheetCommonObj.buildSheet($('#detailSpread')[0], me.detailSetting, me.datas[0].calcItems.length);
|
|
|
+ me.detailSheet = me.detailSpread.getSheet(0);
|
|
|
sheetCommonObj.spreadDefaultStyle(me.detailSpread);
|
|
|
let arr = projectObj.project.calcProgram.compiledFeeTypeNames.slice();
|
|
|
// arr.delete('暂估费');
|
|
|
let fieldName = new GC.Spread.Sheets.CellTypes.ComboBox();
|
|
|
fieldName.items(arr);
|
|
|
- me.detailSpread.getSheet(0).getRange(-1, 4, -1, 1).cellType(fieldName);
|
|
|
+ me.detailSheet.getRange(-1, 4, -1, 1).cellType(fieldName);
|
|
|
|
|
|
- me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onMainEnterCell);
|
|
|
- me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.ValueChanged, me.onDetailValueChanged);
|
|
|
- me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.RangeChanged, me.onRangeChanged);
|
|
|
- me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onDetailEnterCell);
|
|
|
- me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
|
|
|
+ me.mainSheet.bind(GC.Spread.Sheets.Events.EnterCell, me.onMainEnterCell);
|
|
|
+ me.detailSheet.bind(GC.Spread.Sheets.Events.ValueChanged, me.onDetailValueChanged);
|
|
|
+ me.detailSheet.bind(GC.Spread.Sheets.Events.RangeChanged, me.onRangeChanged);
|
|
|
+ me.detailSheet.bind(GC.Spread.Sheets.Events.EnterCell, me.onDetailEnterCell);
|
|
|
+ me.detailSheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
|
|
|
+ sheetCommonObj.showData(me.mainSheet, me.mainSetting, me.datas);
|
|
|
|
|
|
- let mSheet = me.mainSpread.getSheet(0);
|
|
|
- sheetCommonObj.showData(mSheet, me.mainSetting, me.datas);
|
|
|
-
|
|
|
- let dSheet = me.detailSpread.getSheet(0);
|
|
|
- dSheet.name('calc_detail');
|
|
|
- feeRateObject.setFeeRateCellCol(dSheet,_.findIndex(me.detailSetting.header,{'dataCode':'feeRate'}));
|
|
|
- dSheet.getRange(-1, _.findIndex(me.detailSetting.header, {'dataCode': 'dispExprUser'}), -1, 1).cellType(calcBaseView.getCalcBaseCellType('ration'));
|
|
|
- sheetCommonObj.showData(dSheet, me.detailSetting, me.datas[0].calcItems);
|
|
|
- customRowHeader(dSheet, me.datas[0].calcItems.length);
|
|
|
+ me.detailSheet.name('calc_detail');
|
|
|
+ feeRateObject.setFeeRateCellCol(me.detailSheet, _.findIndex(me.detailSetting.header,{'dataCode':'feeRate'}));
|
|
|
+ me.detailSheet.getRange(-1, _.findIndex(me.detailSetting.header, {'dataCode': 'dispExprUser'}), -1, 1).cellType(calcBaseView.getCalcBaseCellType('ration'));
|
|
|
+ sheetCommonObj.showData(me.detailSheet, me.detailSetting, me.datas[0].calcItems);
|
|
|
+ me.getfeeRateColor(me.datas[0].calcItems);
|
|
|
+ customRowHeader(me.detailSheet, me.datas[0].calcItems.length);
|
|
|
if(!projectReadOnly){
|
|
|
me.loadMainContextMenu();
|
|
|
me.loadDetailContextMenu();
|
|
@@ -109,11 +111,11 @@ let calcProgramManage = {
|
|
|
var row = args.sheet.getActiveRowIndex();
|
|
|
|
|
|
me.detailSpread.suspendPaint();
|
|
|
- var dSheet = me.detailSpread.getSheet(0);
|
|
|
var dData = me.datas[row].calcItems;
|
|
|
- dSheet.setRowCount(dData.length, GC.Spread.Sheets.SheetArea.viewport);
|
|
|
- sheetCommonObj.showData(dSheet, me.detailSetting, dData);
|
|
|
- customRowHeader(dSheet, dData.length);
|
|
|
+ me.detailSheet.setRowCount(dData.length, GC.Spread.Sheets.SheetArea.viewport);
|
|
|
+ sheetCommonObj.showData(me.detailSheet, me.detailSetting, dData);
|
|
|
+ me.getfeeRateColor(dData);
|
|
|
+ customRowHeader(me.detailSheet, dData.length);
|
|
|
me.detailSpread.resumePaint();
|
|
|
},
|
|
|
onRangeChanged:function (sender,args) {
|
|
@@ -254,14 +256,20 @@ let calcProgramManage = {
|
|
|
newTemplate.custom = true;
|
|
|
newTemplate.calcItems = [];
|
|
|
$.extend(true, newTemplate.calcItems, template.calcItems);
|
|
|
+ // 清理掉费率ID关联
|
|
|
+ for (let ci of newTemplate.calcItems){
|
|
|
+ if (ci.feeRateID || ci.feeRateID == null)
|
|
|
+ delete ci.feeRateID;
|
|
|
+ };
|
|
|
|
|
|
let data = {
|
|
|
'projectID': projectObj.project.ID(),
|
|
|
'ID': newTemplate.ID,
|
|
|
'name': newTemplate.name,
|
|
|
'custom': newTemplate.custom,
|
|
|
- 'calcItems': template.calcItems
|
|
|
+ 'calcItems': newTemplate.calcItems
|
|
|
};
|
|
|
+
|
|
|
calcProgramManage.addTemplate(data, function (rst) {
|
|
|
if (rst){
|
|
|
let ts = projectObj.project.calcProgram.templates;
|
|
@@ -269,11 +277,12 @@ let calcProgramManage = {
|
|
|
projectObj.project.calcProgram.compileTemplateMaps();
|
|
|
projectObj.project.calcProgram.compileTemplate(newTemplate);
|
|
|
calcProgramManage.buildSheet();
|
|
|
- calcProgramManage.mainSpread.getActiveSheet().setSelection(ts.length - 1, 0, 1, 1);
|
|
|
+ calcProgramManage.mainSheet.setSelection(ts.length - 1, 0, 1, 1);
|
|
|
+ calcProgramManage.mainSheet.showRow(ts.length - 1, GC.Spread.Sheets.VerticalPosition.center);
|
|
|
calcProgramManage.refreshDetailSheet();
|
|
|
+ $.bootstrapLoading.end();
|
|
|
}
|
|
|
});
|
|
|
- $.bootstrapLoading.end();
|
|
|
}
|
|
|
},
|
|
|
"reNameTemplate": {
|
|
@@ -335,6 +344,7 @@ let calcProgramManage = {
|
|
|
return !canDelete;
|
|
|
},
|
|
|
callback: function () {
|
|
|
+ $.bootstrapLoading.start();
|
|
|
let template = calcProgramManage.getSelectionInfo().template;
|
|
|
if (analyzer.templateIsUsed(template.ID)) {
|
|
|
$.bootstrapLoading.end();
|
|
@@ -349,12 +359,14 @@ let calcProgramManage = {
|
|
|
};
|
|
|
calcProgramManage.deleteTemplate(data, function (rst) {
|
|
|
if (rst){
|
|
|
- let idx = calcProgramManage.mainSpread.getActiveSheet().getActiveRowIndex();
|
|
|
+ let idx = calcProgramManage.mainSheet.getActiveRowIndex();
|
|
|
projectObj.project.calcProgram.templates.splice(idx, 1);
|
|
|
projectObj.project.calcProgram.compileTemplateMaps();
|
|
|
calcProgramManage.buildSheet();
|
|
|
- calcProgramManage.mainSpread.getActiveSheet().setSelection(idx - 1, 0, 1, 1);
|
|
|
+ calcProgramManage.mainSheet.setSelection(idx - 1, 0, 1, 1);
|
|
|
+ calcProgramManage.mainSheet.showRow(idx - 1, GC.Spread.Sheets.VerticalPosition.center);
|
|
|
calcProgramManage.refreshDetailSheet();
|
|
|
+ $.bootstrapLoading.end();
|
|
|
}
|
|
|
});
|
|
|
};
|
|
@@ -505,8 +517,18 @@ let calcProgramManage = {
|
|
|
let detailSheet = me.detailSpread.getActiveSheet();
|
|
|
detailSheet.setRowCount(calcItems.length);
|
|
|
sheetCommonObj.showData(detailSheet, me.detailSetting, calcItems);
|
|
|
+ me.getfeeRateColor(calcItems);
|
|
|
customRowHeader(detailSheet, calcItems.length);
|
|
|
}
|
|
|
+ },
|
|
|
+ getfeeRateColor: function (calcItems) { // 有费率ID关联的变个色
|
|
|
+ var me = this;
|
|
|
+ for (let i = 0; i < calcItems.length; i++) {
|
|
|
+ if (calcItems[i].feeRateID != undefined && calcItems[i].feeRateID != null)
|
|
|
+ me.detailSheet.getCell(i, 3).foreColor("#0aa8ea")
|
|
|
+ else
|
|
|
+ me.detailSheet.getCell(i, 3).foreColor("black");
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
|