|
|
@@ -14,13 +14,6 @@ let subObj = {
|
|
|
initSubSpread:function () {
|
|
|
//清单精灵
|
|
|
BillsElf.buildSheet();
|
|
|
- contentOprObj.buildSheet($("#jobSpread")[0]);
|
|
|
- //sheetCommonObj.bindEscKey(contentOprObj.workBook, [{sheet: contentOprObj.workBook.getSheet(0), editStarting: contentOprObj.onEditStart, editEnded: contentOprObj.onEditEnded}]);
|
|
|
- sheetCommonObj.spreadDefaultStyle(contentOprObj.workBook);
|
|
|
- characterOprObj.buildSheet($("#itemSpread")[0]);
|
|
|
- //sheetCommonObj.bindEscKey(characterOprObj.workBook, [{sheet: characterOprObj.workBook.getSheet(0), editStarting: characterOprObj.onEditStart, editEnded: characterOprObj.onEditEnded}]);
|
|
|
- sheetCommonObj.spreadDefaultStyle(characterOprObj.workBook);
|
|
|
- $("#tzjnrCon").hide();
|
|
|
$("#subSpread").show();
|
|
|
subSpread = sheetCommonObj.createSpread($("#subSpread")[0], 4);
|
|
|
sheetCommonObj.spreadDefaultStyle(subSpread);
|
|
|
@@ -28,8 +21,6 @@ let subObj = {
|
|
|
subSpread.options.allowUserDragFill = false;
|
|
|
subSpread.getSheet(2).name('JSCX');
|
|
|
|
|
|
- pageCCOprObj.active = false;
|
|
|
-
|
|
|
// 工料机
|
|
|
gljOprObj.initSheet(subSpread.getSheet(0));
|
|
|
//sheetCommonObj.shieldAllCells(subSpread.getSheet(0), gljOprObj.setting);
|
|
|
@@ -76,7 +67,6 @@ let subObj = {
|
|
|
$("#ZMHS_div").show();
|
|
|
$("#MBZM_div").show();
|
|
|
installationFeeObj.engineeringTypeChecking();//检查是否安装工程
|
|
|
- $("#TZJNR_div").hide();
|
|
|
$('#QDJL_div').hide();
|
|
|
$("#linkGLJ").addClass();
|
|
|
$(gljOprObj.rationTab).click();
|
|
|
@@ -85,7 +75,6 @@ let subObj = {
|
|
|
$("#ZMHS_div").hide();
|
|
|
$("#MBZM_div").hide();
|
|
|
$("#AZZJF_div").hide();
|
|
|
- $("#TZJNR_div").show();
|
|
|
$('#QDJL_div').show();
|
|
|
$(gljOprObj.billsTab).click();
|
|
|
}
|
|
|
@@ -151,7 +140,6 @@ $("#linkGLJ").click(function(){
|
|
|
$("#subSpread").show();
|
|
|
$("#itemTextDiv").show();
|
|
|
$("#gljItemTab").show();
|
|
|
- pageCCOprObj.active = false;
|
|
|
subSpread.options.allowUserDragFill = false;
|
|
|
refreshSubSpread();
|
|
|
subSpread.setActiveSheetIndex(0);
|
|
|
@@ -164,7 +152,6 @@ $("#linkAZZJF").click(function(){
|
|
|
$("#subItems").children().hide();
|
|
|
MaterialController.hideReplaceDiv();
|
|
|
$("#subSpread").show();
|
|
|
- pageCCOprObj.active = false;
|
|
|
refreshSubSpread();
|
|
|
subSpread.setActiveSheetIndex(3);
|
|
|
gljOprObj.activeTab='#linkAZZJF';
|
|
|
@@ -176,7 +163,6 @@ $("#linkGCLMX").click(function(){
|
|
|
MaterialController.hideReplaceDiv();
|
|
|
$("#subSpread").show();
|
|
|
subSpread.options.allowUserDragFill = true;
|
|
|
- pageCCOprObj.active = false;
|
|
|
refreshSubSpread();
|
|
|
subSpread.setActiveSheetIndex(1);
|
|
|
gljOprObj.activeTab='#linkGCLMX';
|
|
|
@@ -187,7 +173,6 @@ $("#linkJSCX").click(function(){ // 计算程序
|
|
|
$("#subItems").children().hide();
|
|
|
MaterialController.hideReplaceDiv();
|
|
|
$("#subSpread").show();
|
|
|
- pageCCOprObj.active = false;
|
|
|
refreshSubSpread();
|
|
|
subSpread.setActiveSheetIndex(2);
|
|
|
calcProgramObj.initSheet(subSpread.getSheet(2));
|
|
|
@@ -206,7 +191,6 @@ $("#linkZMHS").click(function(){ // 子目换算
|
|
|
$("#subItems").children().hide();
|
|
|
$("#tabZMHS").show();
|
|
|
zmhs_obj.loadSideResize();
|
|
|
- pageCCOprObj.active = false;
|
|
|
refreshSubSpread();
|
|
|
gljOprObj.activeTab='#linkZMHS';
|
|
|
gljOprObj.setNodeShowTab();
|
|
|
@@ -214,63 +198,11 @@ $("#linkZMHS").click(function(){ // 子目换算
|
|
|
$("#linkMBZM").click(function(){ // 模板子目
|
|
|
$("#subItems").children().hide();
|
|
|
$("#tabMBZM").show();
|
|
|
- pageCCOprObj.active = false;
|
|
|
refreshSubSpread();
|
|
|
gljOprObj.activeTab='#linkMBZM';
|
|
|
gljOprObj.setNodeShowTab();
|
|
|
});
|
|
|
|
|
|
-//特征及内容、工作内容与项目特征左右拖动
|
|
|
-let TZJNR_sideResizeEles = {};
|
|
|
-TZJNR_sideResizeEles.eleObj = {
|
|
|
- module: 'tzjnr',
|
|
|
- resize: $('#TZJNRResize'),
|
|
|
- parent: $('#contentDiv'),
|
|
|
- left: $('#jobDiv'),
|
|
|
- right: $('#itemDiv')
|
|
|
-};
|
|
|
-TZJNR_sideResizeEles.limit = {
|
|
|
- min: 100,
|
|
|
- max: `$('#contentDiv').width()-100`
|
|
|
-};
|
|
|
-SlideResize.horizontalSlide(TZJNR_sideResizeEles.eleObj, TZJNR_sideResizeEles.limit, function () {
|
|
|
- pageCCOprObj.resizeWidth();
|
|
|
- refreshSubSpread();
|
|
|
-});
|
|
|
-
|
|
|
-//刷新特征内容与添加规则宽度
|
|
|
-function initTznrWidth(){
|
|
|
- //特征及内容总宽度
|
|
|
- let totalWidth = $('#tzjnrCon').width();
|
|
|
- //特征及内容和排版规则比例
|
|
|
- const typeSettingWidth = 30;//排版规则工具条
|
|
|
- let addRuleVisible = $('#add-rule').is(':visible'),
|
|
|
- addRulePercent = '33.3%',
|
|
|
- contentPercent = '66.7%';
|
|
|
- //排版规则没显示,则排版规则工具条固定30px转换百分比
|
|
|
- if (!addRuleVisible) {
|
|
|
- addRulePercent = typeSettingWidth / totalWidth;
|
|
|
- contentPercent = 1 - addRulePercent;
|
|
|
- addRulePercent = addRulePercent * 100 + '%';
|
|
|
- contentPercent = contentPercent * 100 + '%';
|
|
|
- }
|
|
|
- //设置特征及内容与排版规则的比例
|
|
|
- $('#contentDiv').css('width', contentPercent);
|
|
|
- $('#ruleDiv').css('width', addRulePercent);
|
|
|
-}
|
|
|
-
|
|
|
-//特征及内容各模块宽度自适应
|
|
|
-function adaptiveTzjnrWidth() {
|
|
|
- if(gljOprObj.activeTab !== '#linkTZJNR'){
|
|
|
- return;
|
|
|
- }
|
|
|
- initTznrWidth();
|
|
|
- //加载特征及内容里,工作内容和项目特征的比例
|
|
|
- SlideResize.loadHorizonWidth(TZJNR_sideResizeEles.eleObj.module, [TZJNR_sideResizeEles.eleObj.resize],
|
|
|
- [TZJNR_sideResizeEles.eleObj.left, TZJNR_sideResizeEles.eleObj.right]);
|
|
|
- pageCCOprObj.resizeWidth();
|
|
|
- refreshSubSpread();
|
|
|
-}
|
|
|
//清单精灵
|
|
|
$('#linkQDJL').click(function () {
|
|
|
gljOprObj.activeTab='#linkQDJL';
|
|
|
@@ -283,36 +215,6 @@ $('#linkQDJL').click(function () {
|
|
|
BillsElf.refreshWorkBook();
|
|
|
|
|
|
});
|
|
|
-//特征及内容
|
|
|
-$("#linkTZJNR").click(function () {
|
|
|
- gljOprObj.activeTab='#linkTZJNR';
|
|
|
- $("#subItems").children().hide();
|
|
|
- $("#tzjnrCon").show();
|
|
|
- $("#add-rule p").not(":first").css('margin-bottom', 4);
|
|
|
- pageCCOprObj.active = true;
|
|
|
- adaptiveTzjnrWidth();
|
|
|
- contentOprObj.workBook.getActiveSheet().showColumn(0, GC.Spread.Sheets.HorizontalPosition.left);
|
|
|
- characterOprObj.workBook.getActiveSheet().showColumn(0, GC.Spread.Sheets.HorizontalPosition.left);
|
|
|
- let selectedNode = projectObj.mainController.tree.selected;
|
|
|
- if (projectObj.project.property.addRule !== undefined) {
|
|
|
- setRule(projectObj.project.property.addRule);
|
|
|
- }
|
|
|
- pageCCOprObj.mainActiveCell = projectObj.mainSpread.getActiveSheet().getSelections()[0];
|
|
|
- pageCCOprObj.setCacheAndShow(selectedNode);
|
|
|
- gljOprObj.setNodeShowTab();
|
|
|
-});
|
|
|
-//打开排版规则
|
|
|
-$('#openTypeSetting').click(function () {
|
|
|
- $('#add-rule').show();
|
|
|
- $(this).hide();
|
|
|
- adaptiveTzjnrWidth();
|
|
|
-});
|
|
|
-//关闭排版规则
|
|
|
-$('#closeTypeSetting').click(function () {
|
|
|
- $('#add-rule').hide();
|
|
|
- $('#openTypeSetting').show();
|
|
|
- adaptiveTzjnrWidth();
|
|
|
-});
|
|
|
|
|
|
//应用到选中清单、应用到所有,添加位置列如果隐藏了,则重新显示
|
|
|
function colSettingAddPosition(addPosition){
|
|
|
@@ -348,270 +250,6 @@ function colSettingAddPosition(addPosition){
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//如果,添加内容为定额子目时进行定额的增删改,更新相关其清单
|
|
|
-function updateBillsOprRation() {
|
|
|
- const setting = getAddRuleSetting();
|
|
|
- if(setting && setting.addContent && setting.addContent === '5'){
|
|
|
- $('#use-to-current').click();
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 应用到选中清单
|
|
|
-let isSaving = false;
|
|
|
-$("#use-to-current").click(function() {
|
|
|
- if($(this).hasClass('disabled')){
|
|
|
- return false;
|
|
|
- }
|
|
|
- if(projectReadOnly){
|
|
|
- return false;
|
|
|
- }
|
|
|
- if (isSaving) {
|
|
|
- return false;
|
|
|
- }
|
|
|
- const setting = getAddRuleSetting();
|
|
|
- colSettingAddPosition(setting.position);
|
|
|
- isSaving = true;
|
|
|
- const self = $(this);
|
|
|
- self.attr('disabled', 'disabled');
|
|
|
- let selectedNode = projectObj.mainController.tree.selected;
|
|
|
- function findBill(node){
|
|
|
- while(node && node.sourceType !== projectObj.project.Bills.getSourceType()){
|
|
|
- node = node.parent;
|
|
|
- }
|
|
|
- return node;
|
|
|
- }
|
|
|
- let billsNode = findBill(selectedNode);
|
|
|
- // 操作内容
|
|
|
- pageCCOprObj.setCharacterBySetting(billsNode, setting);
|
|
|
-
|
|
|
- // 防止连续点击1秒后才能再次发起请求
|
|
|
- setTimeout(function() {
|
|
|
- isSaving = false;
|
|
|
- self.removeAttr('disabled');
|
|
|
- }, 1000);
|
|
|
-});
|
|
|
-//todo: 优化成批量
|
|
|
-function addRuleUseToBills(setting, nodes) {
|
|
|
- pageCCOprObj.bulkSetCharacterBySetting(nodes, setting);
|
|
|
-}
|
|
|
-// 应用到所有的清单
|
|
|
-$("#use-to-all").click(function() {
|
|
|
- if($(this).hasClass('disabled')){
|
|
|
- return false;
|
|
|
- }
|
|
|
- if(projectReadOnly){
|
|
|
- return false;
|
|
|
- }
|
|
|
- let treeNode = projectObj.mainController.tree;
|
|
|
- const setting = getAddRuleSetting();
|
|
|
- colSettingAddPosition(setting.position);
|
|
|
- if (treeNode.items === undefined || treeNode.items.length <= 0) {
|
|
|
- return false;
|
|
|
- }
|
|
|
- // 处理
|
|
|
- addRuleUseToBills(setting, treeNode.items);
|
|
|
-});
|
|
|
-
|
|
|
-function saveAddRule(){
|
|
|
- let setting = getAddRuleSetting();
|
|
|
- let toUpdate = false;
|
|
|
- if(!projectObj.project.property.addRule){
|
|
|
- toUpdate = true;
|
|
|
- }
|
|
|
- else {
|
|
|
- for(let attr in setting){
|
|
|
- if(setting[attr] !== projectObj.project.property.addRule[attr]){
|
|
|
- toUpdate = true;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if(toUpdate){
|
|
|
- projectObj.project.property.addRule = setting;
|
|
|
- projectObj.project.saveProperty('addRule', setting);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 添加位置选择
|
|
|
-function changeAddPosition(save = false) {
|
|
|
- const selected = $('#add-position').children(":selected").val();
|
|
|
- const addContentEle = $("#add-content");
|
|
|
- const displayFormatEle = $("#display-format");
|
|
|
- const characterFormatEle = $("#character-format");
|
|
|
- const serialTypeEle = $("#serial-type");
|
|
|
- switch (selected) {
|
|
|
- case '4':
|
|
|
- // 分别添加到对应列
|
|
|
- // 当“添加位置”是“分别添加到对应列”,则“添加内容”恢复默认“无”,且灰显;“显示格式”恢复默认“换行分隔”,且灰显。
|
|
|
- addContentEle.val('');
|
|
|
- addContentEle.attr('disabled', 'disabled');
|
|
|
- displayFormatEle.val(1);
|
|
|
- characterFormatEle.val(2);
|
|
|
- serialTypeEle.val(1);
|
|
|
- break;
|
|
|
- default:
|
|
|
- addContentEle.removeAttr('disabled');
|
|
|
- displayFormatEle.removeAttr('disabled');
|
|
|
- characterFormatEle.removeAttr('disabled');
|
|
|
- addContentEle.val(1);
|
|
|
- break;
|
|
|
- }
|
|
|
- if (save) {
|
|
|
- saveAddRule();
|
|
|
- }
|
|
|
-}
|
|
|
-$("#add-position").change(function() {
|
|
|
- changeAddPosition(true);
|
|
|
-});
|
|
|
-// 添加内容选择
|
|
|
-function changeAddContent(save = false) {
|
|
|
- const selected = $('#add-content').children(":selected").val();
|
|
|
- const characterFormatEle = $("#character-format");
|
|
|
- const childDisplayFormatEle = $("#child-display-format");
|
|
|
- const serialTypeEle = $("#serial-type");
|
|
|
-
|
|
|
- switch (selected) {
|
|
|
- case '5':
|
|
|
- // 当“添加内容”是“定额子目”或“工作内容”,则“特征生成方式”灰显,不需选择;否则有效可选。
|
|
|
- characterFormatEle.attr('disabled', 'disabled');
|
|
|
- characterFormatEle.val(2);
|
|
|
- // 当“添加内容”是“定额子目”,则“子目生成方式”有效可选;否则灰显,不需选择。
|
|
|
- childDisplayFormatEle.removeAttr('disabled');
|
|
|
- serialTypeEle.val('');
|
|
|
- serialTypeEle.attr('disabled', 'disabled');
|
|
|
- break;
|
|
|
- case '':
|
|
|
- characterFormatEle.attr('disabled', 'disabled');
|
|
|
- break;
|
|
|
- case '1':
|
|
|
- case '2':
|
|
|
- case '3':
|
|
|
- characterFormatEle.removeAttr('disabled');
|
|
|
- if (serialTypeEle.val() === '') {
|
|
|
- serialTypeEle.val(1);
|
|
|
- }
|
|
|
- serialTypeEle.removeAttr('disabled');
|
|
|
- childDisplayFormatEle.attr('disabled', 'disabled');
|
|
|
- break;
|
|
|
- case '4':
|
|
|
- // 当“添加内容”是“定额子目”或“工作内容”,则“特征生成方式”灰显,不需选择;否则有效可选。
|
|
|
- characterFormatEle.attr('disabled', 'disabled');
|
|
|
- characterFormatEle.val(2);
|
|
|
- default:
|
|
|
- serialTypeEle.removeAttr('disabled');
|
|
|
- if (serialTypeEle.val() === '') {
|
|
|
- serialTypeEle.val(1);
|
|
|
- }
|
|
|
- childDisplayFormatEle.attr('disabled', 'disabled');
|
|
|
- break;
|
|
|
- }
|
|
|
- if (save) {
|
|
|
- saveAddRule();
|
|
|
- }
|
|
|
-}
|
|
|
-$("#add-content").change(function() {
|
|
|
- changeAddContent(true);
|
|
|
-});
|
|
|
-
|
|
|
-//显示格式
|
|
|
-$('#display-format').change(function () {
|
|
|
- saveAddRule();
|
|
|
-});
|
|
|
-
|
|
|
-//特征生成方式
|
|
|
-$('#character-format').change(function () {
|
|
|
- saveAddRule();
|
|
|
-});
|
|
|
-
|
|
|
-// 子目生成方式选择事件
|
|
|
-function changeChildDisplay(save = false) {
|
|
|
- const selected = $('#child-display-format').children(":selected").val();
|
|
|
- const serialTypeEle = $("#serial-type");
|
|
|
- const addContent = $('#add-content').val();
|
|
|
- // 如果添加内容是定额子目且子目生成方式是编号+定额名称则序号格式不能选择
|
|
|
- if (addContent === '5' && selected === '1') {
|
|
|
- // 默认选中数字显示模式
|
|
|
- serialTypeEle.val("");
|
|
|
- serialTypeEle.attr('disabled', 'disabled');
|
|
|
- } else {
|
|
|
- serialTypeEle.val(1);
|
|
|
- serialTypeEle.removeAttr('disabled');
|
|
|
- }
|
|
|
- if (save) {
|
|
|
- saveAddRule();
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
-$("#child-display-format").change(function() {
|
|
|
- changeChildDisplay(true);
|
|
|
-});
|
|
|
-
|
|
|
-//序号格式
|
|
|
-$('#serial-type').change(function () {
|
|
|
- saveAddRule();
|
|
|
-});
|
|
|
-
|
|
|
-/**
|
|
|
- * 获取添加规则的设置
|
|
|
- *
|
|
|
- * @return {Object} - 返回设置内容
|
|
|
- */
|
|
|
-function getAddRuleSetting() {
|
|
|
- // 添加位置
|
|
|
- const position = $("#add-position").val();
|
|
|
- // 添加内容
|
|
|
- const addContent = $("#add-content").val();
|
|
|
- // 显示格式
|
|
|
- const displayFormat = $("#display-format").val();
|
|
|
- // 特征生成方式
|
|
|
- const characterFormat = $("#character-format").val();
|
|
|
- // 子目生成方式
|
|
|
- const childDisplayFormat = $("#child-display-format").val();
|
|
|
-
|
|
|
- // 序号格式
|
|
|
- const serialType = $("#serial-type").val();
|
|
|
- const setting = {
|
|
|
- serialType,
|
|
|
- characterFormat,
|
|
|
- addContent,
|
|
|
- position,
|
|
|
- displayFormat,
|
|
|
- childDisplayFormat,
|
|
|
- };
|
|
|
-
|
|
|
- return setting;
|
|
|
-}
|
|
|
-
|
|
|
-/**
|
|
|
- * 根据配置设置规则
|
|
|
- *
|
|
|
- * @param {Object} setting - 数据库中读取的数据
|
|
|
- * @return {void}
|
|
|
- */
|
|
|
-function setRule(setting) {
|
|
|
- if (Object.keys(setting).length <= 0) {
|
|
|
- return;
|
|
|
- }
|
|
|
- $("#add-position").val(setting.position);
|
|
|
- changeAddPosition(false);
|
|
|
-
|
|
|
- $("#add-content").val(setting.addContent);
|
|
|
- changeAddContent(false);
|
|
|
-
|
|
|
- $("#display-format").val(setting.displayFormat);
|
|
|
-
|
|
|
- $("#character-format").val(setting.characterFormat);
|
|
|
-
|
|
|
- $("#child-display-format").val(setting.childDisplayFormat);
|
|
|
- changeChildDisplay(false);
|
|
|
-
|
|
|
- $("#serial-type").val(setting.serialType);
|
|
|
-
|
|
|
- if(projectReadOnly){
|
|
|
- disableTools();
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
function activeSubSheetIs(idx){
|
|
|
let rst = subSpread.getActiveSheetIndex() == idx;
|
|
|
return rst;
|
|
|
@@ -623,13 +261,8 @@ function activeSubSheetIsCalcProgram(){
|
|
|
|
|
|
//弹出清单规则或定额库后导致subSpread和特征及内容spread显示出问题
|
|
|
function refreshSubSpread(){
|
|
|
- if(pageCCOprObj.active){
|
|
|
- contentOprObj.workBook.refresh();
|
|
|
- characterOprObj.workBook.refresh();
|
|
|
- } else{
|
|
|
- if(subSpread) subSpread.refresh();
|
|
|
- if(MaterialController.spread) MaterialController.spread.refresh();
|
|
|
- }
|
|
|
+ if(subSpread) subSpread.refresh();
|
|
|
+ if(MaterialController.spread) MaterialController.spread.refresh();
|
|
|
BillsElf.refreshWorkBook();
|
|
|
//if($('#linkZMHS').hasClass('active')) zmhs_obj.refresh();
|
|
|
if($('#rnc-zm').is(':visible')|| $('#rnc-fz').is(':visible')) zmhs_obj.refresh();
|