Explorar o código

fixedFlag挪到common_constants.js中

vian %!s(int64=5) %!d(string=hai) anos
pai
achega
c83f22ec04

+ 1 - 0
config/gulpConfig.js

@@ -18,6 +18,7 @@ module.exports = {
         'public/web/commonAlert.js',
         'public/web/headerOpr.js',
         'public/common_util.js',
+        'public/common_constants.js',
         'lib/jquery-editable-select/jquery.editable-select.min.js'
     ],
     common_css:[

+ 1 - 1
modules/main/controllers/bills_controller.js

@@ -12,7 +12,7 @@ let raiton_facade = require("../facade/ration_facade");
 let stdBillsModel = mongoose.model('std_bills_lib_bills');
 let stdBillJobsModel = mongoose.model('std_bills_lib_jobContent');
 let stdBillCharacterModel = mongoose.model('std_bills_lib_itemCharacter');
-import fixedFlag from  '../../common/const/bills_fixed';
+const { fixedFlag } = require('../../../public/common_constants');
 let LZString = require('lz-string');
 const uuidV1 = require('uuid/v1');
 const billType ={

+ 1 - 1
modules/main/facade/project_facade.js

@@ -32,7 +32,7 @@ const gljUtil = require('../../../public/gljUtil');
 let stdColSettingModel = mongoose.model('std_main_col_lib');
 let decimal_facade = require('../../main/facade/decimal_facade');
 const scMathUtil = require('../../../public/scMathUtil').getUtil();
-import fixedFlag from  '../../common/const/bills_fixed';
+const { fixedFlag } = require('../../../public/common_constants');
 import GLJListModel from "../../glj/models/glj_list_model";
 const projectDao = require('../../pm/models/project_model').project;
 

+ 1 - 1
modules/main/models/bills.js

@@ -14,7 +14,7 @@ let rationGljModel = mongoose.model('ration_glj');
 let rationCoeModel = mongoose.model('ration_coe');
 let rationInstModel = mongoose.model('ration_installation');
 let quantityDelModel = mongoose.model('quantity_detail');
-const fixedFlag = require('../../common/const/bills_fixed');
+const { fixedFlag } = require('../../../public/common_constants');
 
 let bills = mongoose.model("bills");
 let baseModel = require('./base_model');

+ 1 - 0
modules/pm/controllers/pm_controller.js

@@ -93,6 +93,7 @@ module.exports = {
                 }
             });
         } catch (err) {
+            console.log(err);
             callback(req, res, 1, String(err), null);
         }
     },

+ 5 - 5
modules/pm/facade/pm_facade.js

@@ -93,7 +93,7 @@ import SectionTreeDao from '../../complementary_ration_lib/models/sectionTreeMod
 let sectionTreeDao = new SectionTreeDao();
 import CounterModel from "../../glj/models/counter_model";
 import moment from 'moment-timezone';
-import billsFlags from '../../common/const/bills_fixed';
+const { fixedFlag } = require('../../../public/common_constants');
 const notDeleted = [{deleteInfo: null}, {'deleteInfo.deleted': false}];
 let cipher = require('../../../public/cipher');
 const compilationModel = mongoose.model('compilation');
@@ -966,8 +966,8 @@ async function getSummaryInfoByTender(tenderID, summaryType) {
         return null;
     }
     let flagFieldMapping = {
-        [billsFlags.TOTAL_COST]: [{name: 'totalCost', feeField: 'common'}], // 总造价
-        [billsFlags.CONSTRUCTION_INSTALL_FEE]: [{name: 'constructionInstallFee', feeField: 'rationCommon'},], // 建安费
+        [fixedFlag.TOTAL_COST]: [{name: 'totalCost', feeField: 'common'}], // 总造价
+        [fixedFlag.CONSTRUCTION_INSTALL_FEE]: [{name: 'constructionInstallFee', feeField: 'rationCommon'},], // 建安费
     };
     let summaryInfo = await getSummaryInfo([project.ID], flagFieldMapping);
     // 汇总到建设项目层(没有单项工程层了)
@@ -990,7 +990,7 @@ async function getTendersFeeInfo(tenders) {
     let IDMapping = {};
     //固定清单类别与汇总金额字段映射
     let flagFieldMapping = {
-        [billsFlags.TOTAL_COST]: [{name: 'totalCost', feeField: 'common'}]
+        [fixedFlag.TOTAL_COST]: [{name: 'totalCost', feeField: 'common'}]
     };
     let tenderIDs = [];
     if(tenders.length > 0){
@@ -1039,7 +1039,7 @@ async function getSummaryInfo(projectIDs, flagFieldMapping = null){
     //固定清单类别与汇总金额字段映射
     if (!flagFieldMapping) {
         flagFieldMapping = {
-            [billsFlags.TOTAL_COST]: [{name: 'totalCost', feeField: 'common'}], // 总造价
+            [fixedFlag.TOTAL_COST]: [{name: 'totalCost', feeField: 'common'}], // 总造价
         };
     }
     let projects = await projectModel.find({ID: {$in : projectIDs}, projType: projectType.project, $or: [{deleteInfo: null}, {'deleteInfo.deleted': false}]});

+ 1 - 1
modules/pm/models/project_model.js

@@ -32,7 +32,7 @@ import {
     bookmarkSetting
 } from './project_property_template';
 import optionSetting from '../../options/models/optionTypes';
-import fixedFlag from '../../common/const/bills_fixed';
+const { fixedFlag } = require('../../../public/common_constants');
 let FeeRateFiles = mongoose.model('fee_rate_file');
 let counter = require("../../../public/counter/counter.js");
 

+ 83 - 0
public/common_constants.js

@@ -0,0 +1,83 @@
+// 部分数据从main_consts.js中抽出来,因为除了造价书界面,有一些页面也需要用到其中的变量
+// 但是其他页面直接引入整个main_consts.js不合理,且会报错(main_consts.js正常运行依赖main.html的一些内容)
+((factory) => {
+    if (typeof module !== 'undefined') {
+        module.exports = factory();
+    } else {
+        window.commonConstants = factory();
+    }
+})(() => {
+    // 清单固定行
+    const fixedFlag = {
+        // 建筑安装工程费
+        CONSTRUCTION_INSTALL_FEE: 1,
+        // 土地使用及拆迁补偿费
+        LAND_USED_DEMOLITION: 2,
+        // 养护工程其他费用
+        MAINTENANCE_EXPENSES: 3,
+        // 预备费
+        BUDGET_FEE: 4,
+        // 基本预备费
+        BASE_BUDGET_FEE: 5,
+        // 价差预备费
+        SPREAD_BUDGET_FEE: 6,
+        // 一二三四部分合计
+        ONE_TO_FOUR_TOTAL: 7,
+        // 贷款利息
+        LOAN_INTEREST: 8,
+        // 总造价
+        TOTAL_COST: 9,
+        // 设备购置费
+        EQUIPMENT_ACQUISITION_FEE: 10,
+        // 专项费用 Special cost
+        SPECIAL_COST: 11,
+        // 施工场地建设费
+        CONSTRUCTION_PLANT_COST: 12,
+        // 养护单位(业主)管理费
+        MAINTENANCE_MANAGENENT_FEE: 13,
+        // 信息化费 Informatization fee
+        INFORMATIZATION_FEE: 14,
+        // 工程监理费 Engineering supervision fee
+        ENGINEERING_SUP_FEE: 15,
+        // 设计文件审查费 Design Document Review Fee
+        DOCUMENT_REVIEW_FEE: 16,
+        // 勘察设计费 Survey and design fees
+        SURVEY_DESIGN_FEE: 17,
+        // 招标代理及标底编制费 Bidding Agent and Preparing Fee of Bid Base
+        AGENT_BASE_FEE: 18,
+        //第100章至700章清单
+        ONE_SEVEN_BILLS: 19,
+        //专项暂定合计
+        PROVISIONAL_TOTAL: 20,
+        //清单合计扣除专项暂定合计
+        BILLS_TOTAL_WT_PROV: 21,
+        //计日工 daywork labor
+        DAYWORK_LABOR: 22,
+        //劳务
+        LABOUR_SERVICE: 23,
+        //材料
+        MATERIAL: 24,
+        //施工机械
+        CONSTRUCTION_MACHINE: 25,
+        //暂列金额
+        PROVISIONAL: 26,
+        //安全生产费
+        SAFE_COST: 27,
+        //100章清单
+        ONE_HUNDRED_BILLS: 28,
+        // 一二三部分合计
+        ONE_TO_THREE_TOTAL: 29,
+        // 前期工作费
+        PRELIMINARY_WORK: 30,
+        // 小修费
+        MINOR_REPAIR_FEE: 31,
+        // 预防养护费
+        PREVENTIVE_MAINTENANCE_FEE: 32,
+        // 修复养护费
+        REPAIR_MAINTENANCE_FEE: 33,
+    };
+
+    return {
+        fixedFlag
+    };
+})

+ 1 - 68
web/building_saas/main/js/models/main_consts.js

@@ -210,74 +210,7 @@ const materialTypeMap = {
 }
 
 //清单固定行
-const fixedFlag = {
-    // 建筑安装工程费
-    CONSTRUCTION_INSTALL_FEE: 1,
-    // 土地使用及拆迁补偿费
-    LAND_USED_DEMOLITION: 2,
-    // 养护工程其他费用
-    MAINTENANCE_EXPENSES: 3,
-    // 预备费
-    BUDGET_FEE: 4,
-    // 基本预备费
-    BASE_BUDGET_FEE: 5,
-    // 价差预备费
-    SPREAD_BUDGET_FEE: 6,
-    // 一二三四部分合计
-    ONE_TO_FOUR_TOTAL: 7,
-    // 贷款利息
-    LOAN_INTEREST: 8,
-    // 总造价
-    TOTAL_COST: 9,
-    // 设备购置费
-    EQUIPMENT_ACQUISITION_FEE: 10,
-    // 专项费用 Special cost
-    SPECIAL_COST: 11,
-    // 施工场地建设费
-    CONSTRUCTION_PLANT_COST: 12,
-    // 养护单位(业主)管理费
-    MAINTENANCE_MANAGENENT_FEE: 13,
-    // 信息化费 Informatization fee
-    INFORMATIZATION_FEE: 14,
-    // 工程监理费 Engineering supervision fee
-    ENGINEERING_SUP_FEE: 15,
-    // 设计文件审查费 Design Document Review Fee
-    DOCUMENT_REVIEW_FEE: 16,
-    // 勘察设计费 Survey and design fees
-    SURVEY_DESIGN_FEE: 17,
-    // 招标代理及标底编制费 Bidding Agent and Preparing Fee of Bid Base
-    AGENT_BASE_FEE: 18,
-    //第100章至700章清单
-    ONE_SEVEN_BILLS: 19,
-    //专项暂定合计
-    PROVISIONAL_TOTAL: 20,
-    //清单合计扣除专项暂定合计
-    BILLS_TOTAL_WT_PROV: 21,
-    //计日工 daywork labor
-    DAYWORK_LABOR: 22,
-    //劳务
-    LABOUR_SERVICE:23,
-    //材料
-    MATERIAL:24,
-    //施工机械
-    CONSTRUCTION_MACHINE:25,
-    //暂列金额
-    PROVISIONAL:26,
-    //安全生产费
-    SAFE_COST:27,
-    //100章清单
-    ONE_HUNDRED_BILLS: 28,
-    // 一二三部分合计
-    ONE_TO_THREE_TOTAL: 29,
-    // 前期工作费
-    PRELIMINARY_WORK: 30,
-    // 小修费
-    MINOR_REPAIR_FEE: 31,
-    // 预防养护费
-    PREVENTIVE_MAINTENANCE_FEE: 32,
-    // 修复养护费
-    REPAIR_MAINTENANCE_FEE: 33,
-};
+const fixedFlag = commonConstants.fixedFlag;
 
 const gljKeyArray =['code','name','specs','unit','type'];
 const rationKeyArray =['code','name','specs','unit','subType'];

+ 1 - 0
web/common/html/header.html

@@ -292,5 +292,6 @@
 <script type="text/javascript" src="/public/web/commonAlert.js"></script>
 <script type="text/javascript" src="/public/web/headerOpr.js"></script>
 <script type="text/javascript" src="/public/common_util.js"></script>
+<script src="/public/common_constants.js"></script>
 <script type="text/javascript" src="/lib/jquery-editable-select/jquery.editable-select.min.js"></script>
 <!-- endinject -->

+ 155 - 155
web/over_write/js/anhui_2019.js

@@ -3,7 +3,7 @@
  */
 
 let isAH2019 = true;
-
+const { fixedFlag } = commonConstants;
 function overwriteRationCalcBases() {
     if (typeof rationCalcBases == 'undefined') return;
     for (let key in rationCalcBases) delete rationCalcBases[key];
@@ -75,168 +75,168 @@ function overwriteRationCalcBases() {
 })();
 
 // 清单基数
-const budgetMap = {
-    // 显示:除清单固定类别是“建筑安装工程费”的以外部分可显示。
-    '建筑安装工程费': {
-        base: 'JZAZGCF',
-        fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
-        pick: false,
-    },
-    // 显示:仅清单固定类别是“安全生产费”的可显示。
-    '建筑安装工程费(不含安全生产费)': {
-        base: 'JZAZGCFBHSC',
-        fixedFlag: null,
-        filter: [fixedFlag.SAFE_COST],
-        pick: true
-    },
-    // 显示:仅清单固定类别是“安全生产费”的可显示。
-    '建筑安装工程费(不含设备费)': {
-        base: 'JZAZGCFBHSB',
-        fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
-        filter: [fixedFlag.SAFE_COST],
-        pick: true
-    },
-    // 显示:除清单固定类别是“建筑安装工程费”的以外部分可显示。
-    '定额建筑安装工程费': {
-        base: 'DEJZAZGCF',
-        fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
-        pick: false
-    },
-    // 显示:仅清单固定类别是“施工场地建设费”的可显示。
-    '定额建筑安装工程费(不含定额设备购置费及专项管理费)': {
-        base: 'DEJZAZGCFBHSBZXGLF',
-        fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
-        filter: [fixedFlag.CONSTRUCTION_PLANT_COST],
-        pick: true,
-    },
-    // 显示:仅清单固定类别是“养护工程其他费用”的可显示。
-    '定额建筑安装工程费(不含专项管理费)': {
-        base: 'DEJZAZGCFBHZXGLF',
-        fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
-        filter: [fixedFlag.MAINTENANCE_EXPENSES],
-        pick: true,
-    },
-    // 显示:除清单固定类别是“建筑安装工程费”、“土地使用及拆迁补偿费”的以外部分可显示。
-    '土地使用及拆迁补偿费': {
-        base: 'TDSYJCQBCF',
-        fixedFlag: fixedFlag.LAND_USED_DEMOLITION,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION],
-        pick: false,
-    },
-    // 显示:除清单固定类别是“建筑安装工程费”、“土地使用及拆迁补偿费”、“工程建设其他费用”的以外部分可显示。
-    '工程建设其他费用': {
-        base: 'GCJSQTFY',
-        fixedFlag: fixedFlag.MAINTENANCE_EXPENSES,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
-        pick: false,
-    },
-    // 显示:仅清单固定类别是“施工场地建设费”的可显示。
-    '施工场地建设费': {
-        isProgressive: true,
-        base: 'SGCDJSF',
-        fixedFlag: null,
-        filter: [fixedFlag.CONSTRUCTION_PLANT_COST],
-        pick: true,
-    },
-    // 显示:仅清单固定类别是“养护工程其他费用”部分可显示。
-    '养护单位管理费': {
-        isProgressive: true,
-        base: 'YHDWGLF',
-        fixedFlag: null,
-        filter: [fixedFlag.MAINTENANCE_EXPENSES],
-        pick: true,
-    },
-    // 显示:仅清单固定类别是“养护工程其他费用”部分可显示。
-    '养护项目信息化费': {
-        isProgressive: true,
-        deficiency: 20000,
-        base: 'YHXMXXHF',
-        fixedFlag: null,
-        filter: [fixedFlag.MAINTENANCE_EXPENSES],
-        pick: true,
-    },
-    // 显示:仅清单固定类别是“养护工程其他费用”部分可显示。
-    '工程监理费': {
-        isProgressive: true,
-        deficiency: 20000,
-        base: 'GCJLF',
-        fixedFlag: null,
-        filter: [fixedFlag.MAINTENANCE_EXPENSES],
-        pick: true,
-    },
-    // 显示:只有清单固定类别是“养护工程其他费用”部分可显示。
-    '设计文件审查费': {
-        isProgressive: true,
-        base: 'SJWJSCF',
-        fixedFlag: null,
-        filter: [fixedFlag.MAINTENANCE_EXPENSES],
-        pick: true,
-    },
-    // 显示:只有清单固定类别是“养护工程其他费用”部分可显示。
-    '前期工作费': {
-        isProgressive: true,
-        deficiency: 30000,
-        base: 'QQGZF',
-        fixedFlag: null,
-        filter: [fixedFlag.MAINTENANCE_EXPENSES],
-        pick: true,
-    },
-    // 显示:仅“价差预备费”可显示
-    '价差预备费': {
-        base: 'JCYBF',
-        fixedFlag: null,
-        filter: [fixedFlag.SPREAD_BUDGET_FEE],
-        pick: true,
-    },
-};
-const boqMap = {
-    //仅允许用于固定类别是“第100章至700章清单”以外的清单
-    '各章清单合计': {
-        base: 'GZQDHJ',
-        fixedFlag: fixedFlag.ONE_SEVEN_BILLS,
-        filter: [fixedFlag.ONE_SEVEN_BILLS],
-        pick: false
-    },
-    //仅允许用于固定类别是“第100章至700章清单”以外的清单
-    '专项暂定合计': {
-        base: 'ZXZDHJ',
-        fixedFlag: null,
-        filter: [fixedFlag.ONE_SEVEN_BILLS],
-        pick: false
-    },
-    /*
-    *  清单固定行[第100章至700章清单]下的[第100章清单]需要允许清单可使用基数{100章以外合计}
-    *  因此{100章以外合计}不设置关联的清单固定行
-    * */
-    //仅允许用于固定类别为“100章清单”引用
-    '100章以外清单合计': {
-        base: 'YBZYHQDHJ',
-        fixedFlag: null,
-        filter: [fixedFlag.ONE_HUNDRED_BILLS],
-        pick: true
-    }
-};
-
 const progression = [];
 const deficiency = {};
-for (const name in budgetMap) {
-    const item = budgetMap[name];
-    if (item.isProgressive) {
-        progression.push(item.progressiveName || name);
-    }
-    if (item.deficiency) {
-        deficiency[item.progressiveName || name] = item.deficiency;
-    }
-}
-
 if (typeof baseFigureMap !== 'undefined') {
+    const { fixedFlag } = commonConstants;
+    const budgetMap = {
+        // 显示:除清单固定类别是“建筑安装工程费”的以外部分可显示。
+        '建筑安装工程费': {
+            base: 'JZAZGCF',
+            fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
+            pick: false,
+        },
+        // 显示:仅清单固定类别是“安全生产费”的可显示。
+        '建筑安装工程费(不含安全生产费)': {
+            base: 'JZAZGCFBHSC',
+            fixedFlag: null,
+            filter: [fixedFlag.SAFE_COST],
+            pick: true
+        },
+        // 显示:仅清单固定类别是“安全生产费”的可显示。
+        '建筑安装工程费(不含设备费)': {
+            base: 'JZAZGCFBHSB',
+            fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
+            filter: [fixedFlag.SAFE_COST],
+            pick: true
+        },
+        // 显示:除清单固定类别是“建筑安装工程费”的以外部分可显示。
+        '定额建筑安装工程费': {
+            base: 'DEJZAZGCF',
+            fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
+            pick: false
+        },
+        // 显示:仅清单固定类别是“施工场地建设费”的可显示。
+        '定额建筑安装工程费(不含定额设备购置费及专项管理费)': {
+            base: 'DEJZAZGCFBHSBZXGLF',
+            fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
+            filter: [fixedFlag.CONSTRUCTION_PLANT_COST],
+            pick: true,
+        },
+        // 显示:仅清单固定类别是“养护工程其他费用”的可显示。
+        '定额建筑安装工程费(不含专项管理费)': {
+            base: 'DEJZAZGCFBHZXGLF',
+            fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
+            filter: [fixedFlag.MAINTENANCE_EXPENSES],
+            pick: true,
+        },
+        // 显示:除清单固定类别是“建筑安装工程费”、“土地使用及拆迁补偿费”的以外部分可显示。
+        '土地使用及拆迁补偿费': {
+            base: 'TDSYJCQBCF',
+            fixedFlag: fixedFlag.LAND_USED_DEMOLITION,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION],
+            pick: false,
+        },
+        // 显示:除清单固定类别是“建筑安装工程费”、“土地使用及拆迁补偿费”、“工程建设其他费用”的以外部分可显示。
+        '工程建设其他费用': {
+            base: 'GCJSQTFY',
+            fixedFlag: fixedFlag.MAINTENANCE_EXPENSES,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
+            pick: false,
+        },
+        // 显示:仅清单固定类别是“施工场地建设费”的可显示。
+        '施工场地建设费': {
+            isProgressive: true,
+            base: 'SGCDJSF',
+            fixedFlag: null,
+            filter: [fixedFlag.CONSTRUCTION_PLANT_COST],
+            pick: true,
+        },
+        // 显示:仅清单固定类别是“养护工程其他费用”部分可显示。
+        '养护单位管理费': {
+            isProgressive: true,
+            base: 'YHDWGLF',
+            fixedFlag: null,
+            filter: [fixedFlag.MAINTENANCE_EXPENSES],
+            pick: true,
+        },
+        // 显示:仅清单固定类别是“养护工程其他费用”部分可显示。
+        '养护项目信息化费': {
+            isProgressive: true,
+            deficiency: 20000,
+            base: 'YHXMXXHF',
+            fixedFlag: null,
+            filter: [fixedFlag.MAINTENANCE_EXPENSES],
+            pick: true,
+        },
+        // 显示:仅清单固定类别是“养护工程其他费用”部分可显示。
+        '工程监理费': {
+            isProgressive: true,
+            deficiency: 20000,
+            base: 'GCJLF',
+            fixedFlag: null,
+            filter: [fixedFlag.MAINTENANCE_EXPENSES],
+            pick: true,
+        },
+        // 显示:只有清单固定类别是“养护工程其他费用”部分可显示。
+        '设计文件审查费': {
+            isProgressive: true,
+            base: 'SJWJSCF',
+            fixedFlag: null,
+            filter: [fixedFlag.MAINTENANCE_EXPENSES],
+            pick: true,
+        },
+        // 显示:只有清单固定类别是“养护工程其他费用”部分可显示。
+        '前期工作费': {
+            isProgressive: true,
+            deficiency: 30000,
+            base: 'QQGZF',
+            fixedFlag: null,
+            filter: [fixedFlag.MAINTENANCE_EXPENSES],
+            pick: true,
+        },
+        // 显示:仅“价差预备费”可显示
+        '价差预备费': {
+            base: 'JCYBF',
+            fixedFlag: null,
+            filter: [fixedFlag.SPREAD_BUDGET_FEE],
+            pick: true,
+        },
+    };
+    const boqMap = {
+        //仅允许用于固定类别是“第100章至700章清单”以外的清单
+        '各章清单合计': {
+            base: 'GZQDHJ',
+            fixedFlag: fixedFlag.ONE_SEVEN_BILLS,
+            filter: [fixedFlag.ONE_SEVEN_BILLS],
+            pick: false
+        },
+        //仅允许用于固定类别是“第100章至700章清单”以外的清单
+        '专项暂定合计': {
+            base: 'ZXZDHJ',
+            fixedFlag: null,
+            filter: [fixedFlag.ONE_SEVEN_BILLS],
+            pick: false
+        },
+        /*
+        *  清单固定行[第100章至700章清单]下的[第100章清单]需要允许清单可使用基数{100章以外合计}
+        *  因此{100章以外合计}不设置关联的清单固定行
+        * */
+        //仅允许用于固定类别为“100章清单”引用
+        '100章以外清单合计': {
+            base: 'YBZYHQDHJ',
+            fixedFlag: null,
+            filter: [fixedFlag.ONE_HUNDRED_BILLS],
+            pick: true
+        }
+    };
+    for (const name in budgetMap) {
+        const item = budgetMap[name];
+        if (item.isProgressive) {
+            progression.push(item.progressiveName || name);
+        }
+        if (item.deficiency) {
+            deficiency[item.progressiveName || name] = item.deficiency;
+        }
+    }
     baseFigureMap.budget = budgetMap;
     baseFigureMap.boq = boqMap;
 }
 
 if (typeof baseFigureTemplate !== 'undefined') {
+    const { fixedFlag } = commonConstants;
     baseFigureTemplate.budget = {
         // 建筑安装工程费 算法:取清单固定类别是“建筑安装工程费”的金额。
         JZAZGCF(tender) {

+ 128 - 133
web/over_write/js/neimeng_2019.js

@@ -3,7 +3,6 @@
  */
 
 let isNM2019 = true;
-
 function overwriteRationCalcBases() {
     if (typeof rationCalcBases == 'undefined') return;
     for (let key in rationCalcBases) delete rationCalcBases[key];
@@ -75,147 +74,143 @@ function overwriteRationCalcBases() {
 })();
 
 // 清单基数
-const budgetMap = {
-    // 清单固定类别是“建筑安装工程费”的以外部分可显示
-    '定额建筑安装工程费(定额设备购置费按40%计)': {
-        base: 'DEJZAZGCFSBSS',
-        fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
-        pick: false,
-    },
-    // 清单固定类别是“建筑安装工程费”的以外部分可显示
-    '建筑安装工程费(不含设备费)': {
-        base: 'JZAZGCFBHSB',
-        fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
-        pick: false,
-    },
-    // 清单固定类别是“建筑安装工程费”的以外部分可显示
-    '建筑安装工程费': {
-        base: 'JZAZGCF',
-        fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
-        pick: false,
-    },
-    // “建筑安装工程费”、“土地使用及拆迁补偿费”以外部分可显示
-    '土地使用及拆迁补偿费': {
-        base: 'TDSYJCQBCF',
-        fixedFlag: fixedFlag.LAND_USED_DEMOLITION,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION],
-        pick: false,
-    },
-    // “建筑安装工程费”、“土地使用及拆迁补偿费”、“养护工程其他费用”以外部分可显示
-    '养护工程其他费用': {
-        base: 'YHGCQTFY',
-        fixedFlag: fixedFlag.MAINTENANCE_EXPENSES,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
-        pick: false,
-    },
-    // “建筑安装工程费”、“土地使用及拆迁补偿费”、“养护工程其他费用”以外部分可显示
-    '预备费': {
-        base: 'YBF',
-        fixedFlag: fixedFlag.BUDGET_FEE,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES, fixedFlag.BUDGET_FEE],
-        pick: false,
-    },
-    // 仅在清单固定类别是“养护单位项目管理费”的清单显示
-    '养护单位项目管理费': {
-        isProgressive: true,
-        base: 'YHDWXMGLF',
-        fixedFlag: null,
-        filter: [fixedFlag.MAINTENANCE_MANAGENENT_FEE],
-        pick: true,
-    },
-    // 仅在清单固定类别是“信息化费”的清单显示
-    '信息化费': {
-        isProgressive: true,
-        base: 'XXHF',
-        fixedFlag: null,
-        filter: [fixedFlag.INFORMATIZATION_FEE],
-        pick: true,
-    },
-    // 仅在清单固定类别是“工程监理费”的清单显示
-    '工程监理费': {
-        isProgressive: true,
-        base: 'GCJLF',
-        fixedFlag: null,
-        filter: [fixedFlag.ENGINEERING_SUP_FEE],
-        pick: true,
-    },
-    // 仅在清单固定类别是“设计文件审查费”的清单显示
-    '设计文件审查费': {
-        isProgressive: true,
-        deficiency: 3000,
-        base: 'SJWJSCF',
-        fixedFlag: null,
-        filter: [fixedFlag.DOCUMENT_REVIEW_FEE],
-        pick: true,
-    },
-    '前期工作费': {
-        isProgressive: true,
-        base: 'QQGZF',
-        fixedFlag: null,
-        filter: [fixedFlag.PRELIMINARY_WORK],
-        pick: true,
-    },
-    '价差预备费': {
-        base: 'JCYBF',
-        fixedFlag: null,
-        filter: [fixedFlag.SPREAD_BUDGET_FEE],
-        pick: true,
-    },
-};
-const boqMap = {
-    //仅允许用于固定类别是“第100章至700章清单”以外的清单
-    '各章清单合计': {
-        base: 'GZQDHJ',
-        fixedFlag: fixedFlag.ONE_SEVEN_BILLS,
-        filter: [fixedFlag.ONE_SEVEN_BILLS],
-        pick: false
-    },
-    //仅允许用于固定类别是“第100章至700章清单”以外的清单
-    '专项暂定合计': {
-        base: 'ZXZDHJ',
-        fixedFlag: null,
-        filter: [fixedFlag.ONE_SEVEN_BILLS],
-        pick: false
-    },
-    /*
-    *  清单固定行[第100章至700章清单]下的[第100章清单]需要允许清单可使用基数{100章以外合计}
-    *  因此{100章以外合计}不设置关联的清单固定行
-    * */
-    //仅允许用于固定类别为“100章清单”引用
-    '100章以外清单合计': {
-        base: 'YBZYHQDHJ',
-        fixedFlag: null,
-        filter: [fixedFlag.ONE_HUNDRED_BILLS],
-        pick: true
-    }
-};
-
 const progression = [];
 const deficiency = {};
-for (const name in budgetMap) {
-    const item = budgetMap[name];
-    if (item.isProgressive) {
-        progression.push(item.progressiveName || name);
-    }
-    if (item.deficiency) {
-        deficiency[item.progressiveName || name] = item.deficiency;
-    }
-}
-
 if (typeof baseFigureMap !== 'undefined') {
-    baseFigureMap.budget = budgetMap;
-    baseFigureMap.boq = boqMap;
-}
-if (typeof baseFigureMap !== 'undefined' && baseFigureMap.budget) {
+    const { fixedFlag } = commonConstants;
+    const budgetMap = {
+        // 清单固定类别是“建筑安装工程费”的以外部分可显示
+        '定额建筑安装工程费(定额设备购置费按40%计)': {
+            base: 'DEJZAZGCFSBSS',
+            fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
+            pick: false,
+        },
+        // 清单固定类别是“建筑安装工程费”的以外部分可显示
+        '建筑安装工程费(不含设备费)': {
+            base: 'JZAZGCFBHSB',
+            fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
+            pick: false,
+        },
+        // 清单固定类别是“建筑安装工程费”的以外部分可显示
+        '建筑安装工程费': {
+            base: 'JZAZGCF',
+            fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
+            pick: false,
+        },
+        // “建筑安装工程费”、“土地使用及拆迁补偿费”以外部分可显示
+        '土地使用及拆迁补偿费': {
+            base: 'TDSYJCQBCF',
+            fixedFlag: fixedFlag.LAND_USED_DEMOLITION,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION],
+            pick: false,
+        },
+        // “建筑安装工程费”、“土地使用及拆迁补偿费”、“养护工程其他费用”以外部分可显示
+        '养护工程其他费用': {
+            base: 'YHGCQTFY',
+            fixedFlag: fixedFlag.MAINTENANCE_EXPENSES,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES],
+            pick: false,
+        },
+        // “建筑安装工程费”、“土地使用及拆迁补偿费”、“养护工程其他费用”以外部分可显示
+        '预备费': {
+            base: 'YBF',
+            fixedFlag: fixedFlag.BUDGET_FEE,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.LAND_USED_DEMOLITION, fixedFlag.MAINTENANCE_EXPENSES, fixedFlag.BUDGET_FEE],
+            pick: false,
+        },
+        // 仅在清单固定类别是“养护单位项目管理费”的清单显示
+        '养护单位项目管理费': {
+            isProgressive: true,
+            base: 'YHDWXMGLF',
+            fixedFlag: null,
+            filter: [fixedFlag.MAINTENANCE_MANAGENENT_FEE],
+            pick: true,
+        },
+        // 仅在清单固定类别是“信息化费”的清单显示
+        '信息化费': {
+            isProgressive: true,
+            base: 'XXHF',
+            fixedFlag: null,
+            filter: [fixedFlag.INFORMATIZATION_FEE],
+            pick: true,
+        },
+        // 仅在清单固定类别是“工程监理费”的清单显示
+        '工程监理费': {
+            isProgressive: true,
+            base: 'GCJLF',
+            fixedFlag: null,
+            filter: [fixedFlag.ENGINEERING_SUP_FEE],
+            pick: true,
+        },
+        // 仅在清单固定类别是“设计文件审查费”的清单显示
+        '设计文件审查费': {
+            isProgressive: true,
+            deficiency: 3000,
+            base: 'SJWJSCF',
+            fixedFlag: null,
+            filter: [fixedFlag.DOCUMENT_REVIEW_FEE],
+            pick: true,
+        },
+        '前期工作费': {
+            isProgressive: true,
+            base: 'QQGZF',
+            fixedFlag: null,
+            filter: [fixedFlag.PRELIMINARY_WORK],
+            pick: true,
+        },
+        '价差预备费': {
+            base: 'JCYBF',
+            fixedFlag: null,
+            filter: [fixedFlag.SPREAD_BUDGET_FEE],
+            pick: true,
+        },
+    };
+    const boqMap = {
+        //仅允许用于固定类别是“第100章至700章清单”以外的清单
+        '各章清单合计': {
+            base: 'GZQDHJ',
+            fixedFlag: fixedFlag.ONE_SEVEN_BILLS,
+            filter: [fixedFlag.ONE_SEVEN_BILLS],
+            pick: false
+        },
+        //仅允许用于固定类别是“第100章至700章清单”以外的清单
+        '专项暂定合计': {
+            base: 'ZXZDHJ',
+            fixedFlag: null,
+            filter: [fixedFlag.ONE_SEVEN_BILLS],
+            pick: false
+        },
+        /*
+        *  清单固定行[第100章至700章清单]下的[第100章清单]需要允许清单可使用基数{100章以外合计}
+        *  因此{100章以外合计}不设置关联的清单固定行
+        * */
+        //仅允许用于固定类别为“100章清单”引用
+        '100章以外清单合计': {
+            base: 'YBZYHQDHJ',
+            fixedFlag: null,
+            filter: [fixedFlag.ONE_HUNDRED_BILLS],
+            pick: true
+        }
+    };
+    for (const name in budgetMap) {
+        const item = budgetMap[name];
+        if (item.isProgressive) {
+            progression.push(item.progressiveName || name);
+        }
+        if (item.deficiency) {
+            deficiency[item.progressiveName || name] = item.deficiency;
+        }
+    }
     baseFigureMap.budget = budgetMap;
     baseFigureMap.boq = boqMap;
 }
 
 // 清单基数
 if (typeof baseFigureTemplate !== 'undefined') {
+    const { fixedFlag } = commonConstants;
     baseFigureTemplate.budget = {
         // 定额建筑安装工程费(定额设备购置费按40%计):取清单固定类别是“建筑安装工程”的定额建安费,其中定额设备购置费按40%计算
         DEJZAZGCFSBSS(tender) {

+ 86 - 85
web/over_write/js/zhejiang_2005.js

@@ -3,7 +3,7 @@
  */
 
 let isZJ2005 = true;
-
+const { fixedFlag } = commonConstants;
 // 一般计税取不含税市场价、不含税定额价。简易计税取含税市场价、含税定额价。打开项目时,4个价格根据计税类型只载入其二,所以这里可不作区分。
 function overwriteRationCalcBases(taxType) {
     if (typeof rationCalcBases == 'undefined') return;
@@ -40,98 +40,99 @@ function overwriteRationCalcBases(taxType) {
 })();
 
 // 清单基数
-const budgetMap = {
-    // 除清单固定类别是“建筑安装工程费”的以外部分可显示
-    '公路养护工程费': {
-        base: 'GLYHGCF',
-        fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
-        pick: false,
-    },
-    // 除清单固定类别是“建筑安装工程费”、“设备购置费”的以外部分可显示
-    '设备购置费用': {
-        base: 'SBGZFY',
-        fixedFlag: fixedFlag.EQUIPMENT_ACQUISITION_FEE,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.EQUIPMENT_ACQUISITION_FEE],
-        pick: false,
-    },
-    // 除清单固定类别是“建筑安装工程费”、“设备购置费”、“养护工程其他费用”的以外部分可显示
-    '公路养护工程其他费用': {
-        base: 'GLYHGCQTFY',
-        fixedFlag: fixedFlag.MAINTENANCE_EXPENSES,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.EQUIPMENT_ACQUISITION_FEE, fixedFlag.MAINTENANCE_EXPENSES],
-        pick: false,
-    },
-    // 只有清单固定类别是“养护工程其他费用”部分可显示
-    '养护工程管理经费': {
-        progressiveName: '养护工程管理费', // 累进库里配置的名称与基数名称应该是一样的,但是这里不一样且已经在yun上线。特殊处理
-        isProgressive: true,
-        base: 'YHGCGLJF',
-        fixedFlag: null,
-        filter: [fixedFlag.MAINTENANCE_EXPENSES],
-        pick: true,
-    },
-    // 除清单固定类别是“建筑安装工程费”、“设备购置费”、“养护工程其他费用”、“一二三部分合计”的以外部分可显示
-    '一二三部分合计': {
-        base: 'YESBFHJ',
-        fixedFlag: fixedFlag.ONE_TO_THREE_TOTAL,
-        filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.EQUIPMENT_ACQUISITION_FEE, fixedFlag.MAINTENANCE_EXPENSES, fixedFlag.ONE_TO_THREE_TOTAL],
-        pick: false,
-    },
-    // 只有清单固定类别是“预备费”部分可显示
-    '工程造价增涨预留费': {
-        base: 'GCZJZZYLF',
-        fixedFlag: null,
-        filter: [fixedFlag.BUDGET_FEE],
-        pick: true,
-
-    }
-};
-const boqMap = {
-    //仅允许用于固定类别是“第100章至700章清单”以外的清单
-    '各章清单合计': {
-        base: 'GZQDHJ',
-        fixedFlag: fixedFlag.ONE_SEVEN_BILLS,
-        filter: [fixedFlag.ONE_SEVEN_BILLS],
-        pick: false
-    },
-    //仅允许用于固定类别是“第100章至700章清单”以外的清单
-    '专项暂定合计': {
-        base: 'ZXZDHJ',
-        fixedFlag: null,
-        filter: [fixedFlag.ONE_SEVEN_BILLS],
-        pick: false
-    },
-    /*
-    *  清单固定行[第100章至700章清单]下的[第100章清单]需要允许清单可使用基数{100章以外合计}
-    *  因此{100章以外合计}不设置关联的清单固定行
-    * */
-    //仅允许用于固定类别为“100章清单”引用
-    '100章以外清单合计': {
-        base: 'YBZYHQDHJ',
-        fixedFlag: null,
-        filter: [fixedFlag.ONE_HUNDRED_BILLS],
-        pick: true
-    }
-};
-
 const progression = [];
 const deficiency = {};
-for (const name in budgetMap) {
-    const item = budgetMap[name];
-    if (item.isProgressive) {
-        progression.push(item.progressiveName || name);
-    }
-    if (item.deficiency) {
-        deficiency[item.progressiveName || name] = item.deficiency;
-    }
-}
 if (typeof baseFigureMap !== 'undefined') {
+    const { fixedFlag } = commonConstants;
+    const budgetMap = {
+        // 除清单固定类别是“建筑安装工程费”的以外部分可显示
+        '公路养护工程费': {
+            base: 'GLYHGCF',
+            fixedFlag: fixedFlag.CONSTRUCTION_INSTALL_FEE,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE],
+            pick: false,
+        },
+        // 除清单固定类别是“建筑安装工程费”、“设备购置费”的以外部分可显示
+        '设备购置费用': {
+            base: 'SBGZFY',
+            fixedFlag: fixedFlag.EQUIPMENT_ACQUISITION_FEE,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.EQUIPMENT_ACQUISITION_FEE],
+            pick: false,
+        },
+        // 除清单固定类别是“建筑安装工程费”、“设备购置费”、“养护工程其他费用”的以外部分可显示
+        '公路养护工程其他费用': {
+            base: 'GLYHGCQTFY',
+            fixedFlag: fixedFlag.MAINTENANCE_EXPENSES,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.EQUIPMENT_ACQUISITION_FEE, fixedFlag.MAINTENANCE_EXPENSES],
+            pick: false,
+        },
+        // 只有清单固定类别是“养护工程其他费用”部分可显示
+        '养护工程管理经费': {
+            progressiveName: '养护工程管理费', // 累进库里配置的名称与基数名称应该是一样的,但是这里不一样且已经在yun上线。特殊处理
+            isProgressive: true,
+            base: 'YHGCGLJF',
+            fixedFlag: null,
+            filter: [fixedFlag.MAINTENANCE_EXPENSES],
+            pick: true,
+        },
+        // 除清单固定类别是“建筑安装工程费”、“设备购置费”、“养护工程其他费用”、“一二三部分合计”的以外部分可显示
+        '一二三部分合计': {
+            base: 'YESBFHJ',
+            fixedFlag: fixedFlag.ONE_TO_THREE_TOTAL,
+            filter: [fixedFlag.CONSTRUCTION_INSTALL_FEE, fixedFlag.EQUIPMENT_ACQUISITION_FEE, fixedFlag.MAINTENANCE_EXPENSES, fixedFlag.ONE_TO_THREE_TOTAL],
+            pick: false,
+        },
+        // 只有清单固定类别是“预备费”部分可显示
+        '工程造价增涨预留费': {
+            base: 'GCZJZZYLF',
+            fixedFlag: null,
+            filter: [fixedFlag.BUDGET_FEE],
+            pick: true,
+    
+        }
+    };
+    const boqMap = {
+        //仅允许用于固定类别是“第100章至700章清单”以外的清单
+        '各章清单合计': {
+            base: 'GZQDHJ',
+            fixedFlag: fixedFlag.ONE_SEVEN_BILLS,
+            filter: [fixedFlag.ONE_SEVEN_BILLS],
+            pick: false
+        },
+        //仅允许用于固定类别是“第100章至700章清单”以外的清单
+        '专项暂定合计': {
+            base: 'ZXZDHJ',
+            fixedFlag: null,
+            filter: [fixedFlag.ONE_SEVEN_BILLS],
+            pick: false
+        },
+        /*
+        *  清单固定行[第100章至700章清单]下的[第100章清单]需要允许清单可使用基数{100章以外合计}
+        *  因此{100章以外合计}不设置关联的清单固定行
+        * */
+        //仅允许用于固定类别为“100章清单”引用
+        '100章以外清单合计': {
+            base: 'YBZYHQDHJ',
+            fixedFlag: null,
+            filter: [fixedFlag.ONE_HUNDRED_BILLS],
+            pick: true
+        }
+    };
+    for (const name in budgetMap) {
+        const item = budgetMap[name];
+        if (item.isProgressive) {
+            progression.push(item.progressiveName || name);
+        }
+        if (item.deficiency) {
+            deficiency[item.progressiveName || name] = item.deficiency;
+        }
+    }
     baseFigureMap.budget = budgetMap;
     baseFigureMap.boq = boqMap;
 }
 
 if (typeof baseFigureTemplate !== 'undefined') {
+    const { fixedFlag } = commonConstants;
     baseFigureTemplate.budget = {
         // 公路养护工程费:取清单固定类别是“建筑安装工程费”的金额
         GLYHGCF(tender) {