/** * Created by chen on 2017/7/25. */ var gljContextMenu = { selectedRow :null, selectedCol:null, clipboard:null, loadGLJSpreadContextMenu: function () { $.contextMenu({ selector: '#subSpread', build: this.onbuild, items: { "replace_glj": { name: '替换', icon: 'fa-sign-in', disabled: function () { var sheetData = gljOprObj.sheetData; const selected = projectObj.project.mainTree.selected; if(gljOprObj.isInstallationNode(selected) || OVER_HEIGHT.isOverHeight(selected)){ return true; } if(subSpread.getActiveSheetIndex()==0&&sheetData!=null&&sheetData.length>0&&gljContextMenu.selectedRow0&&gljContextMenu.selectedRow0&&gljContextMenu.selectedRow0&&gljContextMenu.selectedRow0&&gljContextMenu.selectedRowsheetData.length; } } return false }, callback: function () { projectObj.project.quantity_detail.insertQuantityDetail(gljContextMenu.selectedRow); }, visible: function(key, opt){ return subSpread.getActiveSheet().name()=='quantity_detail'; } }, "delete_detail": { name: '删除行', icon: 'fa-remove', disabled: function () { if(subSpread.getActiveSheet().name()=='quantity_detail'){ var sheetData = gljOprObj.detailData; return gljContextMenu.selectedRow>sheetData.length-1; } return false }, callback:function () { projectObj.project.quantity_detail.deleteQuantityDetail(gljContextMenu.selectedRow); }, visible: function(key, opt){ return subSpread.getActiveSheet().name()=='quantity_detail'; } }, "move_up": { name: '上移', icon: 'fa-arrow-up', disabled: function () { if(subSpread.getActiveSheet().name()=='quantity_detail'){ var sheetData = gljOprObj.detailData; return gljContextMenu.selectedRow==0||gljContextMenu.selectedRow>sheetData.length-1; } return false; }, callback: function () { projectObj.project.quantity_detail.moveUp(gljContextMenu.selectedRow); }, visible: function(key, opt){ return subSpread.getActiveSheet().name()=='quantity_detail'; } }, "move_down": { name: '下移', icon: 'fa-arrow-down', disabled: function () { if(subSpread.getActiveSheet().name()=='quantity_detail'){ var sheetData = gljOprObj.detailData; return gljContextMenu.selectedRow>sheetData.length-2; } return false; }, callback: function () { projectObj.project.quantity_detail.moveDown(gljContextMenu.selectedRow); }, visible: function(key, opt){ return subSpread.getActiveSheet().name()=='quantity_detail'; } }, "copy": { name: '复制', icon: 'fa-files-o', disabled: function () { if(subSpread.getActiveSheet().name()=='quantity_detail'){ let sheet = subSpread.getActiveSheet(); let sheetData = gljOprObj.detailData; let value = sheet.getCell(gljContextMenu.selectedRow,gljContextMenu.selectedCol).value(); if(gljContextMenu.selectedRow>sheetData.length-1||value==null){ return true; } if(gljOprObj.detailSetting.header[gljContextMenu.selectedCol].dataCode == 'isSummation'){//累加列恢显 return true; } } return false; }, callback: function () { gljContextMenu.clipboard={ row:gljContextMenu.selectedRow, col:gljContextMenu.selectedCol }; }, visible: function(key, opt){ return subSpread.getActiveSheet().name()=='quantity_detail'; } }, "paste": { name: '粘贴', icon: 'fa-clipboard', disabled: function () { if(subSpread.getActiveSheet().name()=='quantity_detail'){ let sheetData = gljOprObj.detailData; let dataCode = gljOprObj.detailSetting.header[gljContextMenu.selectedCol].dataCode; if(gljContextMenu.selectedRow>sheetData.length||gljContextMenu.clipboard==null){ return true; } //结果列和累加列灰显 if(dataCode == 'result' || dataCode == 'isSummation'){ return true; } } return false; }, callback: function () { var sheet = subSpread.getActiveSheet(); var c=gljContextMenu.clipboard; console.log(sheet.getCell(c.row,c.col).value()); var args={ 'row':gljContextMenu.selectedRow, 'col':gljContextMenu.selectedCol, 'editingText':sheet.getCell(c.row,c.col).value() } gljOprObj.onEditDetailSheet(args); }, visible: function(key, opt){ return subSpread.getActiveSheet().name()=='quantity_detail'; } }, "modify_rule": { name: '修改规则', icon: 'fa-sign-in', disabled: function () {//当选中空行或者ruleID为空的情况下,灰显 if(subSpread.getActiveSheet().name()=='rationInstallSheet'){ let sheetData = installationFeeObj.rationInstallData; if(gljContextMenu.selectedRow>sheetData.length-1){ return true } let ri = sheetData[gljContextMenu.selectedRow]; if(!ri.ruleId||ri.ruleId==''){ return true; } } return false; }, callback: function () { $("#modify_feeRule").modal({show:true}); }, visible: function(key, opt){ return subSpread.getActiveSheet().name()=='rationInstallSheet'; } }, "apply_to_FX": { name: '应用到当前分项', icon: 'fa-sign-in', disabled: function () { if(subSpread.getActiveSheet().name()=='rationInstallSheet'){ let sheetData = installationFeeObj.rationInstallData; if(gljContextMenu.selectedRow>sheetData.length-1){ return true; } if(sheetData[gljContextMenu.selectedRow].unifiedSetting == 1){ return true; } } return false; }, callback: function () { installationFeeObj.applyRuleTo('FX',gljContextMenu.selectedRow); }, visible: function(key, opt){ return subSpread.getActiveSheet().name()=='rationInstallSheet'; } }, "apply_to_FB": { name: '应用到当前分部', icon: 'fa-sign-in', disabled: function () { if(subSpread.getActiveSheet().name()=='rationInstallSheet'){ let sheetData = installationFeeObj.rationInstallData; if(gljContextMenu.selectedRow>sheetData.length-1){ return true; } if(sheetData[gljContextMenu.selectedRow].unifiedSetting == 1){ return true; } } return false; }, callback: function () { installationFeeObj.applyRuleTo('FB',gljContextMenu.selectedRow); }, visible: function(key, opt){ return subSpread.getActiveSheet().name()=='rationInstallSheet'; } }, "apply_to_PRO": { name: '应用到当前项目', icon: 'fa-sign-in', disabled: function () { if(subSpread.getActiveSheet().name()=='rationInstallSheet'){ let sheetData = installationFeeObj.rationInstallData; if(gljContextMenu.selectedRow>sheetData.length-1){ return true; } if(sheetData[gljContextMenu.selectedRow].unifiedSetting == 1){ return true; } } return false; }, callback: function () { installationFeeObj.applyRuleTo('PJ',gljContextMenu.selectedRow); }, visible: function(key, opt){ return subSpread.getActiveSheet().name()=='rationInstallSheet'; } } } }); }, onbuild:function ($trigger, e) { var target = SheetDataHelper.safeRightClickSelection($trigger, e, subSpread); gljContextMenu.selectedRow = target.row; gljContextMenu.selectedCol = target.col; if(subSpread.getActiveSheet().name() == 'ration_glj'){ gljOprObj.sheetInitSelection({row: target.row, col: target.col}); } //controller.setTreeSelected(controller.tree.items[target.row]); return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader; } } function getGLJData(actionType) { $('#actionType').val(actionType); // 清除选中人材机缓存数据 gljOprObj.GLJSelection = []; $.bootstrapLoading.start(); let location = false; const replaceActions = ['replace', 'm_replace']; if (replaceActions.includes(actionType)) { location = true; } const init = true; const reset = true; const condition = gljOprObj.getPagingCondition(init, reset, location, 0); console.time('getGLJData'); projectObj.project.ration_glj.getGLJDataPaging(condition, function (result) { gljOprObj.initClassTree('std', gljOprObj.treeData.std); $('#modalCon').width($(window).width()*0.5); $("input[name='glj']").get(0).checked=true; $.bootstrapLoading.end(); if(actionType == "m_replace"){ $('#glj_selected_conf').hide(); $('#replace_next_btn').show(); } else { $('#glj_selected_conf').show(); $('#replace_next_btn').hide(); } $("#glj_tree_div").modal({show:true}); setTimeout(function(){ gljOprObj.gljLibSpresd ? gljOprObj.gljLibSpresd.refresh() : ''; }, 200); }); } function showGLJClassTree(record) { let engineerID = projectObj.project.projectInfo.property.engineering_id; CommonAjax.post('/rationGlj/getGLJClass/'+engineerID,record, function (data) { if(data.exist==true){ alert("当前人材机已存在。"); }else { gljOprObj.selectedGLJClass = record; $("#glj_class_div").modal({show:true}); zTreeHelper.createTree(data.items, gljOprObj.gljTreeSetting, "classTree", gljOprObj); } }) }