|
@@ -23,9 +23,9 @@ let installationFeeObj={
|
|
|
feeDetailSetting: {
|
|
|
header: [
|
|
|
{headerName: "分册章节", headerWidth: 150, dataCode: "name", dataType: "String"},
|
|
|
- {headerName: "费用规则", headerWidth: 220, dataCode: "rule", hAlign: "left", dataType: "String"},
|
|
|
+ {headerName: "费用规则", headerWidth: 220, dataCode: "rule", hAlign: "left", dataType: "String",getText:'forRule'},
|
|
|
{headerName: "编码", headerWidth: 70, dataCode: "code", hAlign: "left", dataType: "String"},
|
|
|
- {headerName: "基数", headerWidth: 80, dataCode: "base", hAlign: "left", dataType: "String"},
|
|
|
+ {headerName: "基数", headerWidth: 80, dataCode: "base", hAlign: "left", dataType: "String",cellType:'comboBox',options:installSectionBase},
|
|
|
{headerName: "费率(%)", headerWidth: 80, dataCode: "feeRate", hAlign: "right", dataType: "String"},
|
|
|
{headerName: "其中人工(%)", headerWidth: 100, dataCode: "labour", hAlign: "right", dataType: "String"},
|
|
|
{headerName: "其中材料(%)", headerWidth: 100, dataCode: "material", hAlign: "right", dataType: "String"},
|
|
@@ -34,11 +34,40 @@ let installationFeeObj={
|
|
|
],
|
|
|
view: {
|
|
|
lockColumns: [0, 2]
|
|
|
+ },
|
|
|
+ autoFit:true,
|
|
|
+ getText:{
|
|
|
+ forRule:function (item,val) {
|
|
|
+ if(item.feeRuleId&&item.feeRuleId!=""){
|
|
|
+ let subRule = _.find(item.impactRules,{'ID':item.feeRuleId});
|
|
|
+ if(!subRule){
|
|
|
+ val = item.ruleName;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return val;
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
positionSpread:null,
|
|
|
positionSheet:null,
|
|
|
positionData:null,
|
|
|
+ moreFeeRuleSpread:null,
|
|
|
+ moreFeeRuleSheet:null,
|
|
|
+ moreFeeRuleData:null,
|
|
|
+ moreFeeRuleSetting:{
|
|
|
+ header: [
|
|
|
+ {headerName: "编码", headerWidth: 70, dataCode: "code", hAlign: "left", dataType: "String"},
|
|
|
+ {headerName: "费用规则", headerWidth: 320, dataCode: "rule", hAlign: "left", dataType: "String"},
|
|
|
+ {headerName: "基数", headerWidth: 140, dataCode: "base", hAlign: "center", dataType: "String"},
|
|
|
+ {headerName: "费率(%)", headerWidth: 80, dataCode: "feeRate", hAlign: "right", dataType: "String"},
|
|
|
+ {headerName: "人工(%)", headerWidth: 80, dataCode: "labour", hAlign: "right", dataType: "String"},
|
|
|
+ {headerName: "材料(%)", headerWidth: 80, dataCode: "material", hAlign: "right", dataType: "String"},
|
|
|
+ {headerName: "机械(%)", headerWidth: 80, dataCode: "machine", hAlign: "right", dataType: "String"}
|
|
|
+ ],
|
|
|
+ view: {
|
|
|
+ lockColumns: [0,1,2,3,4,5,6]
|
|
|
+ }
|
|
|
+ },
|
|
|
selectionTree:null,
|
|
|
selectionTreeController:null,
|
|
|
positionSetting:{
|
|
@@ -130,6 +159,7 @@ let installationFeeObj={
|
|
|
},
|
|
|
positionData:null,
|
|
|
positionSelectedObject:null,
|
|
|
+ L_M_M:null,
|
|
|
showCalcInstallSettingDiv:function () {
|
|
|
$("#calc_installation_fee").modal({show:true});
|
|
|
},
|
|
@@ -156,25 +186,48 @@ let installationFeeObj={
|
|
|
this.feeDetailSheet = this.feeDetailSpread.getSheet(0);
|
|
|
this.initSheet(this.feeDetailSheet,this.feeDetailSetting);
|
|
|
this.feeDetailSheet.bind(GC.Spread.Sheets.Events.SelectionChanged,this.onFeeDetailSelectionChange);
|
|
|
+ this.feeDetailSheet.bind(GC.Spread.Sheets.Events.RangeChanged, this.onDetailRangeChanged);
|
|
|
this.feeDetailSpread.bind(GC.Spread.Sheets.Events.ButtonClicked, this.onSelectButtonClick);
|
|
|
this.feeDetailSheet.name('feeDetailSheet');
|
|
|
this.feeDetailSheet.setRowCount(0);
|
|
|
},
|
|
|
onFeeItemSelectionChange:function (e, info) {
|
|
|
+ console.log('fee item selection change');
|
|
|
+ console.log(info);
|
|
|
+ let me = installationFeeObj;
|
|
|
let newSelections = info.newSelections;
|
|
|
let row = newSelections[0].row;
|
|
|
- let selected = installationFeeObj.feeItemData[row];
|
|
|
- if(selected&&selected.libID){//说明是选中了费用项
|
|
|
- installationFeeObj.positionButtonChecking(row,selected);
|
|
|
- installationFeeObj.showFeeDetailData(selected.libID,selected.ID);
|
|
|
+ let selected = me.feeItemData[row];
|
|
|
+ let canChange = me.detailResultCheck(info);
|
|
|
+ if(canChange == false){
|
|
|
+ let os = info.oldSelections[0];
|
|
|
+ setTimeout(function () {//这里是因为费用项名字的单元格是自定义的树结构,点击这一列单元格切换行时,如果不设置延时的话,selectionChange事件会触发两次
|
|
|
+ info.sheet.setSelection(os.row,os.col,os.rowCount,os.colCount);
|
|
|
+ },200);
|
|
|
}else {
|
|
|
- installationFeeObj.showFeeDetailData();
|
|
|
+ if(selected&&selected.libID){//说明是选中了费用项
|
|
|
+ me.positionButtonChecking(row,selected);
|
|
|
+ me.showFeeDetailData(selected.libID,selected.ID);
|
|
|
+ }else {
|
|
|
+ me.showFeeDetailData();
|
|
|
+ }
|
|
|
}
|
|
|
- installationFeeObj.feeItemSheet.repaint();
|
|
|
+ // me.feeItemSheet.repaint();
|
|
|
},
|
|
|
onFeeDetailSelectionChange:function (e,info) {
|
|
|
-
|
|
|
- installationFeeObj.feeDetailSheet.repaint();
|
|
|
+ console.log('detail selection change');
|
|
|
+ let me = installationFeeObj;
|
|
|
+ if(me.detailReloadSelection){
|
|
|
+ info.sheet.setSelection(me.detailReloadSelection.row,me.detailReloadSelection.col,1,1);
|
|
|
+ me.detailReloadSelection=null;
|
|
|
+ }else {
|
|
|
+ let canChange = me.detailResultCheck(info);
|
|
|
+ if(canChange == false){
|
|
|
+ let os = info.oldSelections[0];
|
|
|
+ info.sheet.setSelection(os.row,os.col,os.rowCount,os.colCount);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ me.feeDetailSheet.repaint();
|
|
|
},
|
|
|
positionButtonChecking:function (row,recode) {//按钮有效性检查
|
|
|
if(recode.feeType){
|
|
@@ -246,15 +299,28 @@ let installationFeeObj={
|
|
|
this.feeDetailSheet.resumePaint();
|
|
|
}
|
|
|
},
|
|
|
+ showMoreFeeRule:function () {
|
|
|
+ this.moreFeeRuleData = this.getMoreFeeRuleData();
|
|
|
+ this.moreFeeRuleSheet.setRowCount(0);
|
|
|
+ sheetCommonObj.showData(this.moreFeeRuleSheet, this.moreFeeRuleSetting, this.moreFeeRuleData);
|
|
|
+ this.moreFeeRuleSheet.setRowCount(this.moreFeeRuleData.length);
|
|
|
+ this.moreFeeRuleSheet.clearSelection();
|
|
|
+ },
|
|
|
+ refreshFeeDetailRow:function (row) {
|
|
|
+ let detail = this.feeDetailData[row];
|
|
|
+ let section = projectObj.project.installation_fee.getInstallSectionByID(detail.libID,detail.ID);
|
|
|
+ this.feeDetailData[row] = this.getDetailRowDataBySection(section,detail.libID);
|
|
|
+ sheetCommonObj.showRowData(this.feeDetailSheet, this.feeDetailSetting,row,this.feeDetailData);
|
|
|
+ let feeItem = projectObj.project.installation_fee.getFeeItemByID(detail.libID,detail.feeItemId);
|
|
|
+ this.lockDetailSheet(row,this.feeDetailData[row],feeItem);
|
|
|
+ },
|
|
|
lockDetailSheet:function(row,detail,feeItem){
|
|
|
if(detail.feeRuleId){//选中了规则项
|
|
|
for(let col=0;col<this.feeDetailSetting.header.length;col++) {
|
|
|
let header = this.feeDetailSetting.header[col];
|
|
|
if(header.dataCode=='feeRate'){
|
|
|
let baseIndex = installSectionBase.indexOf(detail.base);
|
|
|
- if(baseIndex<1){
|
|
|
- this.feeDetailSheet.getCell(row,col).locked(true);
|
|
|
- }
|
|
|
+ this.feeDetailSheet.getCell(row,col).locked(baseIndex<1);//当基数是“人材机乘系数”时,“费率(%)”列只读。
|
|
|
}
|
|
|
if(header.dataCode=='position'){
|
|
|
this.feeDetailSheet.getCell(row,col).locked(feeItem.feeType=='子目费用');
|
|
@@ -265,11 +331,11 @@ let installationFeeObj={
|
|
|
}
|
|
|
},
|
|
|
setDetailRuleCell:function(row,detail){
|
|
|
- let impactRules = projectObj.project.installation_fee.getFeeRuleBySection(detail);
|
|
|
let options=[{text:"无",value:""}];
|
|
|
- for(let ir of impactRules){
|
|
|
+ for(let ir of detail.impactRules){
|
|
|
options.push({text:ir.rule,value:ir.ID});
|
|
|
}
|
|
|
+ options.push({text:"更多",value:'more'});
|
|
|
let dynamicCombo = sheetCommonObj.getDynamicCombo();//new GC.Spread.Sheets.CellTypes.ComboBox();
|
|
|
dynamicCombo.items(options);
|
|
|
dynamicCombo.editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.value);
|
|
@@ -307,34 +373,48 @@ let installationFeeObj={
|
|
|
return item.position;
|
|
|
},
|
|
|
getFeeDetailData : function(libID,feeItemId){
|
|
|
+ let me = installationFeeObj;
|
|
|
let feeDetailArr = [];
|
|
|
let installSections =projectObj.project.installation_fee.getInstallSectionsByfeeItemID(libID,feeItemId);
|
|
|
for(let is of installSections){
|
|
|
- let tem_detail = {
|
|
|
- ID:is.ID,
|
|
|
- feeItemId:is.feeItemId,
|
|
|
- name:is.name,
|
|
|
- feeRuleId:is.feeRuleId,
|
|
|
- libID:libID,
|
|
|
- rule:is.feeRuleId,
|
|
|
- };
|
|
|
- if(is.feeRuleId){
|
|
|
- let feeRule = projectObj.project.installation_fee.getFeeRuleByID(libID,is.feeRuleId);
|
|
|
- if(feeRule){
|
|
|
- tem_detail.code = feeRule.code;
|
|
|
- tem_detail.base = feeRule.base;
|
|
|
- tem_detail.feeRate = feeRule.feeRate;
|
|
|
- tem_detail.labour = feeRule.labour;
|
|
|
- tem_detail.material = feeRule.material;
|
|
|
- tem_detail.machine = feeRule.machine;
|
|
|
- tem_detail.position = installationFeeObj.getDisplayText(feeRule);
|
|
|
- tem_detail.billID = feeRule.billID;
|
|
|
- }
|
|
|
- }
|
|
|
+ let tem_detail = me.getDetailRowDataBySection(is,libID);
|
|
|
feeDetailArr.push(tem_detail);
|
|
|
}
|
|
|
return feeDetailArr;
|
|
|
-
|
|
|
+ },
|
|
|
+ getMoreFeeRuleData:function () {
|
|
|
+ let me = installationFeeObj;
|
|
|
+ let fee_select = me.feeItemSheet.getSelections()[0];
|
|
|
+ let feeItem = me.feeItemData[fee_select.row];
|
|
|
+ let feeRules = projectObj.project.installation_fee.getFeeRuleByFeeItem(feeItem);
|
|
|
+ return feeRules;
|
|
|
+ },
|
|
|
+ getDetailRowDataBySection(is,libID){
|
|
|
+ let me = this;
|
|
|
+ let tem_detail = {
|
|
|
+ ID:is.ID,
|
|
|
+ feeItemId:is.feeItemId,
|
|
|
+ name:is.name,
|
|
|
+ feeRuleId:is.feeRuleId,
|
|
|
+ libID:libID,
|
|
|
+ rule:is.feeRuleId,
|
|
|
+ };
|
|
|
+ if(is.feeRuleId){
|
|
|
+ let feeRule = projectObj.project.installation_fee.getFeeRuleByID(libID,is.feeRuleId);
|
|
|
+ if(feeRule){
|
|
|
+ tem_detail.code = feeRule.code;
|
|
|
+ tem_detail.base = feeRule.base;
|
|
|
+ tem_detail.feeRate = feeRule.feeRate;
|
|
|
+ tem_detail.labour = feeRule.labour;
|
|
|
+ tem_detail.material = feeRule.material;
|
|
|
+ tem_detail.machine = feeRule.machine;
|
|
|
+ tem_detail.position = me.getDisplayText(feeRule);
|
|
|
+ tem_detail.billID = feeRule.billID;
|
|
|
+ tem_detail.ruleName = feeRule.rule;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tem_detail.impactRules = projectObj.project.installation_fee.getFeeRuleBySection(tem_detail);
|
|
|
+ return tem_detail;
|
|
|
},
|
|
|
initSheet: function (sheet,setting) {
|
|
|
var me = this;
|
|
@@ -348,6 +428,22 @@ let installationFeeObj={
|
|
|
this.positionSheet = this.positionSpread.getActiveSheet();
|
|
|
this.positionSpread.bind(GC.Spread.Sheets.Events.ButtonClicked, this.onPositionCheckBoxClick);
|
|
|
},
|
|
|
+ initMoreFeeRuleSpread:function () {
|
|
|
+ this.moreFeeRuleSpread = SheetDataHelper.createNewSpread($("#moreFeeRuleSpread")[0]);
|
|
|
+ this.moreFeeRuleSheet = this.moreFeeRuleSpread.getSheet(0);
|
|
|
+ this.initSheet(this.moreFeeRuleSheet,this.moreFeeRuleSetting);
|
|
|
+ this.moreFeeRuleSheet.bind(GC.Spread.Sheets.Events.CellDoubleClick, this.onFeeRuleDoubleClick);
|
|
|
+ this.moreFeeRuleSheet.selectionUnit(1);//0 cell,1 row,2 col;
|
|
|
+ this.moreFeeRuleSheet.name('moreFeeRuleSheet');
|
|
|
+ },
|
|
|
+ onFeeRuleDoubleClick:function (e,info) {
|
|
|
+ if(info.row){
|
|
|
+ installationFeeObj.updateFeeRuleToSection(info.row);
|
|
|
+ }else {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $('#more_feeRule').modal('hide');
|
|
|
+ },
|
|
|
onPositionCheckBoxClick:function (e,args) {
|
|
|
let me = installationFeeObj;
|
|
|
var checkboxValue = args.sheet.getCell(args.row, args.col).value();
|
|
@@ -515,7 +611,7 @@ let installationFeeObj={
|
|
|
feeItem.position ="";
|
|
|
feeItem.billID = "";
|
|
|
feeItem.displayPosition = "";
|
|
|
- me.feeItemSheet.getCell(itemSelection.row, itemSelection.col).value(feeItem.displayPosition);
|
|
|
+ me.feeItemSheet.getCell(itemSelection.row, 3).value(feeItem.displayPosition);
|
|
|
}
|
|
|
let feeRule = projectObj.project.installation_fee.getFeeRuleByID(feeItem.libID,detail.feeRuleId);
|
|
|
feeRule.position = recode.code;
|
|
@@ -524,6 +620,21 @@ let installationFeeObj={
|
|
|
$.bootstrapLoading.end();
|
|
|
});
|
|
|
},
|
|
|
+ updateFeeRuleToSection:function (row) {
|
|
|
+ let me = this;
|
|
|
+ let feeRule = me.moreFeeRuleData[row];
|
|
|
+ let detailSelection = me.feeDetailSheet.getSelections()[0];
|
|
|
+ let detail = this.feeDetailData[detailSelection.row];
|
|
|
+ let updateData = me.getDetailUpdateData(detail,{"feeRuleId":feeRule.ID},'installSection');
|
|
|
+ $.bootstrapLoading.start();
|
|
|
+ me.submitInstallationUpdate(updateData,function (data) {
|
|
|
+ let install_fee = projectObj.project.installation_fee;
|
|
|
+ let section = install_fee.getInstallSectionByID(detail.libID,detail.ID);
|
|
|
+ section.feeRuleId = feeRule.ID;
|
|
|
+ me.refreshFeeDetailRow(detailSelection.row);
|
|
|
+ $.bootstrapLoading.end();
|
|
|
+ });
|
|
|
+ },
|
|
|
updateFeeItemPosition:function(recode){
|
|
|
let me = this;
|
|
|
let selection = this.feeItemSheet.getSelections()[0];
|
|
@@ -587,24 +698,102 @@ let installationFeeObj={
|
|
|
});
|
|
|
},
|
|
|
onFeeDetailValueChange:function (e,info) {
|
|
|
- console.log("value change");
|
|
|
+ if(info.newValue==info.oldValue){
|
|
|
+ return;
|
|
|
+ }
|
|
|
let me = installationFeeObj;
|
|
|
let feeDetail = this.feeDetailData[info.row];
|
|
|
let header = this.feeDetailSetting.header[info.col];
|
|
|
- let fiedID = header.dataCode;
|
|
|
+ let fieldID = header.dataCode;
|
|
|
let updateData = null;
|
|
|
- if(fiedID == 'rule'){//选择新的规则项
|
|
|
+ if(fieldID == 'rule'){//选择新的规则项
|
|
|
+ if(info.newValue=="more"){//选择的是更多
|
|
|
+ $("#more_feeRule").modal({show:true});
|
|
|
+ return;
|
|
|
+ }
|
|
|
updateData = me.getDetailUpdateData(feeDetail,{"feeRuleId":info.newValue},'installSection');
|
|
|
+ }else if(fieldID == 'base'){
|
|
|
+ if(info.newValue == null){//如果基数为空,重新刷新显示
|
|
|
+ me.refreshFeeDetailRow(info.row);
|
|
|
+ }else {
|
|
|
+ let doc ={base:info.newValue};
|
|
|
+ if(installSectionBase.indexOf(info.newValue)===0){//如果选择的是“人材机乘系数”时,清空“费率(%)”列的值
|
|
|
+ doc.feeRate = null;
|
|
|
+ }
|
|
|
+ updateData = me.getDetailUpdateData(feeDetail,doc,'feeRule');
|
|
|
+ }
|
|
|
+
|
|
|
+ }else {
|
|
|
+ if(info.newValue != null){
|
|
|
+ if(number_util.isNumber(info.newValue)){
|
|
|
+ info.newValue = scMathUtil.roundForObj(info.newValue,getDecimal("feeRate"));
|
|
|
+ }else {
|
|
|
+ alert('当前输入的数据类型不正确,请重新输入。');
|
|
|
+ me.showFeeDetailData(feeDetail.libID,feeDetail.feeItemId);
|
|
|
+ me.detailReloadSelection={row:info.row,col:info.col};
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let doc = {};
|
|
|
+ doc[fieldID] = info.newValue;
|
|
|
+ feeDetail[fieldID] = info.newValue;
|
|
|
+ updateData = me.getDetailUpdateData(feeDetail,doc,'feeRule');
|
|
|
}
|
|
|
me.submitInstallationUpdate(updateData,function (data) {
|
|
|
- if(updateData.type=="installSection"){
|
|
|
- let section = projectObj.project.installation_fee.getInstallSectionByID(feeDetail.libID,feeDetail.ID);
|
|
|
- section.feeRuleId = info.newValue;
|
|
|
+ let install_fee = projectObj.project.installation_fee;
|
|
|
+ if(updateData){
|
|
|
+ if(updateData.type=="installSection"){
|
|
|
+ let section = install_fee.getInstallSectionByID(feeDetail.libID,feeDetail.ID);
|
|
|
+ section.feeRuleId = info.newValue;
|
|
|
+ }
|
|
|
+ if(updateData.type=="feeRule"){
|
|
|
+ let feeRule = install_fee.getFeeRuleByID(feeDetail.libID,feeDetail.feeRuleId);
|
|
|
+ let updateDoc = updateData.doc;
|
|
|
+ for(let key in updateDoc){
|
|
|
+ feeRule[key] = updateDoc[key];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ me.refreshFeeDetailRow(info.row);
|
|
|
}
|
|
|
-
|
|
|
- me.showFeeDetailData(feeDetail.libID,feeDetail.feeItemId);
|
|
|
+ //me.showFeeDetailData(feeDetail.libID,feeDetail.feeItemId);
|
|
|
});
|
|
|
},
|
|
|
+ onDetailRangeChanged:function (e,info) {
|
|
|
+ let me = installationFeeObj;
|
|
|
+ if (info.action == GC.Spread.Sheets.RangeChangedAction.clear) {
|
|
|
+ let header = me.feeDetailSetting.header[info.col];
|
|
|
+ info.oldValue = me.feeDetailData[info.row][header.dataCode];
|
|
|
+ info.newValue = null;
|
|
|
+ me.onFeeDetailValueChange(e,info);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ detailResultCheck:function (info) {
|
|
|
+ let me = installationFeeObj;
|
|
|
+ let canChange = true;
|
|
|
+ let os = null;
|
|
|
+ if(info.newSelections[0].row == info.oldSelections[0].row){//没有换行
|
|
|
+ return canChange;
|
|
|
+ }
|
|
|
+ if(info.sheetName=='feeDetailSheet'){
|
|
|
+ os = info.oldSelections[0];
|
|
|
+ }
|
|
|
+ if(info.sheetName=='feeItemSheet'){
|
|
|
+ os = me.feeDetailSheet.getSelections()[0];
|
|
|
+ }
|
|
|
+ if(this.feeDetailData&&this.feeDetailData.length>0&&this.feeDetailData[os.row]){
|
|
|
+ let detail = this.feeDetailData[os.row];
|
|
|
+ if(detail.base&&installSectionBase.indexOf(detail.base)>0){
|
|
|
+ let sum = detail.labour+detail.material+detail.machine;//三项的和要等于100
|
|
|
+ if(sum!=100){
|
|
|
+ setTimeout(function () {//这里须用延时执行的办法,不然的弹窗确认窗口会和spreadjs 的事件有冲突,造成定额工料机数据不会根据树结点更新的问题
|
|
|
+ alert("人工、材料、机械的和应等于100,请重新输入。");
|
|
|
+ }, 200);
|
|
|
+ canChange = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return canChange;
|
|
|
+ },
|
|
|
getDetailUpdateData : function (detail,doc,type) {//type:installSection/feeRule
|
|
|
let installationFee = projectObj.project.installation_fee.getInstallationFeeByLibID(detail.libID);
|
|
|
let updateData = {
|
|
@@ -625,9 +814,11 @@ let installationFeeObj={
|
|
|
return updateData;
|
|
|
},
|
|
|
submitInstallationUpdate:function (updateData,callback) {
|
|
|
- CommonAjax.post('/installation/updateInstallationFee',{'projectID':projectInfoObj.projectInfo.ID,'updateData':updateData},function (data) {
|
|
|
- callback(data);
|
|
|
- })
|
|
|
+ if(updateData){
|
|
|
+ CommonAjax.post('/installation/updateInstallationFee',{'projectID':projectInfoObj.projectInfo.ID,'updateData':updateData},function (data) {
|
|
|
+ callback(data);
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -648,6 +839,12 @@ $(function () {
|
|
|
}
|
|
|
installationFeeObj.loadSelectionNodes();
|
|
|
});
|
|
|
+ $('#more_feeRule').on('shown.bs.modal',function () {
|
|
|
+ if(installationFeeObj.moreFeeRuleSpread == null){//初始化显示
|
|
|
+ installationFeeObj.initMoreFeeRuleSpread();
|
|
|
+ }
|
|
|
+ installationFeeObj.showMoreFeeRule();
|
|
|
+ });
|
|
|
|
|
|
/* $('#calc_position').on('hidden.bs.modal',function () {
|
|
|
|
|
@@ -664,7 +861,52 @@ $(function () {
|
|
|
$('#select_position_confirm').click(function (){
|
|
|
installationFeeObj.selectPositionConfirm();
|
|
|
});
|
|
|
+ $('#calc_installation_fee_confirm').click(function (){
|
|
|
+ let me = installationFeeObj;
|
|
|
+ let info = {
|
|
|
+ sheetName:'feeDetailSheet',
|
|
|
+ newSelections:[{row:-1}],
|
|
|
+ oldSelections: me.feeDetailSheet.getSelections()
|
|
|
+ };
|
|
|
+ let canChange = me.detailResultCheck(info);
|
|
|
+ if(canChange==false){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let val = $('input[name="install_setting_radios"]:checked').val();
|
|
|
+ console.log(val);
|
|
|
|
|
|
+ });
|
|
|
+ $('#calc_installation_fee_close').click(function (){
|
|
|
+ let me = installationFeeObj;
|
|
|
+ let info = {
|
|
|
+ sheetName:'feeDetailSheet',
|
|
|
+ newSelections:[{row:-1}],
|
|
|
+ oldSelections: me.feeDetailSheet.getSelections()
|
|
|
+ }
|
|
|
+ let canChange = me.detailResultCheck(info);
|
|
|
+ if(canChange==false){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $('#calc_installation_fee').modal('hide');
|
|
|
+ });
|
|
|
|
|
|
+ $('#more_feeRule_confirm').click(function (){
|
|
|
+ let me = installationFeeObj;
|
|
|
+ let selections = me.moreFeeRuleSheet.getSelections();
|
|
|
+ $('#more_feeRule').modal('hide');
|
|
|
+ if(selections.length>0){
|
|
|
+ me.updateFeeRuleToSection(selections[0].row);
|
|
|
+ }else {
|
|
|
+ me.refreshFeeDetailRow(me.feeDetailSheet.getSelections()[0].row);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ $('#more_feeRule_concel').click(function () {
|
|
|
+ let me = installationFeeObj;
|
|
|
+ me.refreshFeeDetailRow(me.feeDetailSheet.getSelections()[0].row);
|
|
|
+ });
|
|
|
+ $('#more_feeRule_close').click(function () {
|
|
|
+ let me = installationFeeObj;
|
|
|
+ me.refreshFeeDetailRow(me.feeDetailSheet.getSelections()[0].row);
|
|
|
+ });
|
|
|
|
|
|
});
|