Quellcode durchsuchen

getProject放到getData逻辑

zhongzewei vor 6 Jahren
Ursprung
Commit
3aa9cbc7fa
39 geänderte Dateien mit 187 neuen und 152 gelöschten Zeilen
  1. 2 0
      modules/main/models/project.js
  2. 2 1
      modules/main/models/project_consts.js
  3. 35 0
      modules/pm/controllers/pm_controller.js
  4. 1 1
      web/building_saas/complementary_ration_lib/js/main.js
  5. 2 2
      web/building_saas/glj/js/project_glj.js
  6. 0 1
      web/building_saas/main/html/main.html
  7. 2 2
      web/building_saas/main/js/controllers/block_controller.js
  8. 0 7
      web/building_saas/main/js/main.js
  9. 2 2
      web/building_saas/main/js/models/calc_program.js
  10. 6 6
      web/building_saas/main/js/models/fee_rate.js
  11. 4 4
      web/building_saas/main/js/models/installation_fee.js
  12. 2 1
      web/building_saas/main/js/models/main_consts.js
  13. 9 7
      web/building_saas/main/js/models/project.js
  14. 11 11
      web/building_saas/main/js/models/project_glj.js
  15. 7 7
      web/building_saas/main/js/models/ration.js
  16. 4 4
      web/building_saas/main/js/models/ration_glj.js
  17. 1 1
      web/building_saas/main/js/models/volume_price.js
  18. 2 2
      web/building_saas/main/js/views/billsElf.js
  19. 1 1
      web/building_saas/main/js/views/block_lib.js
  20. 1 1
      web/building_saas/main/js/views/calc_program_manage.js
  21. 10 10
      web/building_saas/main/js/views/character_content_view.js
  22. 1 1
      web/building_saas/main/js/views/glj_col.js
  23. 3 3
      web/building_saas/main/js/views/glj_view.js
  24. 1 1
      web/building_saas/main/js/views/glj_view_contextMenu.js
  25. 4 4
      web/building_saas/main/js/views/installation_fee_view.js
  26. 2 2
      web/building_saas/main/js/views/main_tree_col.js
  27. 1 1
      web/building_saas/main/js/views/mbzm_view.js
  28. 2 2
      web/building_saas/main/js/views/project_glj_view.js
  29. 20 21
      web/building_saas/main/js/views/project_info.js
  30. 2 2
      web/building_saas/main/js/views/project_property_display_view.js
  31. 1 1
      web/building_saas/main/js/views/project_property_labour_coe_view.js
  32. 13 12
      web/building_saas/main/js/views/project_view.js
  33. 4 2
      web/building_saas/main/js/views/side_tools.js
  34. 2 2
      web/building_saas/main/js/views/std_billsGuidance_lib.js
  35. 2 2
      web/building_saas/main/js/views/std_bills_lib.js
  36. 11 11
      web/building_saas/main/js/views/std_ration_lib.js
  37. 1 1
      web/building_saas/main/js/views/tender_price_view.js
  38. 12 12
      web/building_saas/report/js/rpt_main.js
  39. 1 1
      web/building_saas/report/js/rpt_print.js

+ 2 - 0
modules/main/models/project.js

@@ -17,6 +17,7 @@ var labour_coe_facade = require('../facade/labour_coe_facade');
 var calc_program_facade = require('../facade/calc_program_facade');
 import GLJController from "../../glj/controllers/glj_controller";
 let installation_facade = require('../facade/installation_facade');
+let pmController = require('../../pm/controllers/pm_controller');
 
 
 const ProjectModel = require('../../pm/models/project_model').project;
@@ -43,6 +44,7 @@ moduleMap[projectConsts.CALC_PROGRAM] = calc_program_facade;
 moduleMap[projectConsts.PROJECTGLJ] = new GLJController();
 moduleMap[projectConsts.INSTALLATION_FEE] = installation_facade;
 moduleMap[projectConsts.RATION_TEMPLATE] = ration_template;
+moduleMap[projectConsts.PROJECT_INFO] = pmController;
 
 var Project = function (){};
 

+ 2 - 1
modules/main/models/project_consts.js

@@ -20,7 +20,8 @@ let projectConst = {
     FEERATE:'feeRate',
     LABOUR_COE:'labour_coe',
     CALC_PROGRAM:'calc_program',
-    INSTALLATION_FEE:'installation_fee'
+    INSTALLATION_FEE:'installation_fee',
+    PROJECT_INFO: 'project_info'
 };
 
 let projectConstList = [

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

@@ -27,6 +27,7 @@ const fs = require('fs');
 const _ = require('lodash');
 import SectionTreeDao from '../../complementary_ration_lib/models/sectionTreeModel';
 let sectionTreeDao = new SectionTreeDao();
+let consts = require('../../main/models/project_consts');
 
 //统一回调函数
 let callback = function(req, res, err, message, data){
@@ -188,6 +189,40 @@ module.exports = {
             callback(req, res, err, message, null);
         });
     },
+    //project getData接口
+    getData: function(projectID, callback) {
+        projectModel.findOne({$or: [{deleteInfo: null}, {'deleteInfo.deleted': false}], ID: projectID}, '-_id').then(async function (project) {
+            if (!project) {
+                callback('', consts.projectConst.PROJECT_INFO, {});
+            }
+            let engineeringLibModel = new EngineeringLibModel();
+            let engineeringInfo = project !== null && project.property.engineering_id !== undefined ?
+                await engineeringLibModel.getEngineering(project.property.engineering_id) : null;
+            let projInfo = project._doc;
+            if (engineeringInfo !== null) {
+                if(engineeringInfo.billsGuidance_lib){
+                    for(let billsGuidanceLib of engineeringInfo.billsGuidance_lib){
+                        let stdBillsGuidanceLib = await stdBillsGuidanceLibModel.findOne({ID: billsGuidanceLib.id});
+                        if(stdBillsGuidanceLib){
+                            billsGuidanceLib.type = stdBillsGuidanceLib.type ? stdBillsGuidanceLib.type : 1;
+                        }
+                    }
+                }
+                projInfo.engineeringInfo = engineeringInfo;
+            }
+            //读取建设项目的基本信息
+            let basicInfo = await ProjectsData.getBasicInfo(projectID);
+            if(basicInfo !== null){
+                projInfo.property.basicInformation = basicInfo;
+            }
+            //获取单位工程完整目录结构
+            let fullPath = await pm_facade.getFullPath(projectID);
+            projInfo.fullPath = fullPath;
+            callback('', consts.projectConst.PROJECT_INFO, project);
+        }, function (err) {
+            callback(err, consts.projectConst.PROJECT_INFO, {});
+        });
+    },
     getProject: function(req, res){
         let data = JSON.parse(req.body.data);
         let projectID = data.proj_id;

+ 1 - 1
web/building_saas/complementary_ration_lib/js/main.js

@@ -28,7 +28,7 @@ let compleRationMain = {
                 }
             }
         };
-        let ration_lib = projectInfoObj.projectInfo.engineeringInfo.ration_lib;
+        let ration_lib = projectObj.project.projectInfo.engineeringInfo.ration_lib;
         let ids = [];
         for(lib of ration_lib){
             ids.push(parseInt(lib.id));

+ 2 - 2
web/building_saas/glj/js/project_glj.js

@@ -42,8 +42,8 @@ $(document).ready(function () {
     // 单价文件切换弹框
     $('#change-dj').on('shown.bs.modal', function () {
         // 获取当前建设项数据
-        let projectName = projectInfoObj.projectInfo.fullFolder !== undefined &&
-        projectInfoObj.projectInfo.fullFolder.length > 0 ? projectInfoObj.projectInfo.fullFolder[0] : '';
+        let projectName = projectObj.project.projectInfo.fullFolder !== undefined &&
+        projectObj.project.projectInfo.fullFolder.length > 0 ? projectObj.project.projectInfo.fullFolder[0] : '';
         $("#current-project-name").text(projectName);
 
         // 获取切换单价文件相关数据

+ 0 - 1
web/building_saas/main/html/main.html

@@ -1964,7 +1964,6 @@
         <script type="text/javascript">
             projectGljObject.initFilterTypeList();
             optionsOprObj.getOptions();
-            projectInfoObj.showProjectInfo();
             projectObj.checkMainSpread();
             projectObj.loadProjectData();
            // autoFlashHeight();

+ 2 - 2
web/building_saas/main/js/controllers/block_controller.js

@@ -81,7 +81,7 @@ let BlockController = {
     copyBlock:function (selection) {
         let startTime = +new Date();
         let blockOjb = {
-            compilationID:projectInfoObj.projectInfo.compilation,
+            compilationID:projectObj.project.projectInfo.compilation,
             datas:[]
         };
         let firstNode = projectObj.project.mainTree.items[selection.row];
@@ -219,7 +219,7 @@ let BlockController = {
         let firstParentID = null, lastNextID = null;
         let updateData = [],billUpdate = null;
         let billsIDMap = {};//用来做新旧ID映射
-        if(blockData.compilationID != projectInfoObj.projectInfo.compilation){//如果编办不一样,不能复制
+        if(blockData.compilationID != projectObj.project.projectInfo.compilation){//如果编办不一样,不能复制
             alert("编办不一致,不能粘贴!");
             return;
         }

+ 0 - 7
web/building_saas/main/js/main.js

@@ -6,13 +6,6 @@ $(function () {
 
     $("#header-menu").removeAttr('style');
 
-    if (projectInfoObj.projectInfo.property.valuationType == 'bill'){
-        $("#tab_tender_price").css('display', 'none');
-    }
-    else{
-        $("#about-calc").css('display', 'none');
-    };
-
     $('#tab_baobiao').on('shown.bs.tab', function (e) {
         $(e.relatedTarget.hash).removeClass('active');
         // do something

+ 2 - 2
web/building_saas/main/js/models/calc_program.js

@@ -1454,7 +1454,7 @@ class CalcProgram {
         // 存储费率临时数据,报表用。
         if (me.saveForReports.length > 0){
             let saveDatas = {};
-            saveDatas.projectID = projectInfoObj.projectInfo.ID;
+            saveDatas.projectID = projectObj.project.projectInfo.ID;
             saveDatas.calcItems = me.saveForReports;
             CommonAjax.post('/calcProgram/saveCalcItems', saveDatas, function (result) {
                 if (result){
@@ -1791,7 +1791,7 @@ class CalcProgram {
                 };
             };
             // 2018-08-27   zhang  插入空定额的时候,取费专业也为空
-           // if (treeNode.data.programID == undefined) treeNode.data.programID = projectInfoObj.projectInfo.property.engineering;
+           // if (treeNode.data.programID == undefined) treeNode.data.programID = projectObj.project.projectInfo.property.engineering;
             let template = me.compiledTemplates[treeNode.data.programID];
             treeNode.data.calcTemplate = template;
 

+ 6 - 6
web/building_saas/main/js/models/fee_rate.js

@@ -379,9 +379,9 @@ var FeeRate = {
             this.datas.ID = uuid.v1();
             this.datas.feeRateID=uuid.v1();
             this.datas.usageProjects=[];
-            this.datas.usageProjects.push({name:projectInfoObj.projectInfo.name,ID:projectInfoObj.projectInfo.ID});
+            this.datas.usageProjects.push({name:projectObj.project.projectInfo.name,ID:projectObj.project.projectInfo.ID});
             var data={
-                query:{projectID:projectInfoObj.projectInfo.ID},
+                query:{projectID:projectObj.project.projectInfo.ID},
                 doc:this.datas,
                 user_id:userID
             }
@@ -393,11 +393,11 @@ var FeeRate = {
             });
         };
         FeeRate.prototype.getChangeInfo = function (callback) {
-           // var projectID = projectInfoObj.projectInfo.ID;
+           // var projectID = projectObj.project.projectInfo.ID;
             var feeRate = this.getActivateFeeRate();
             var  rootProjectID= feeRate.rootProjectID;
             if(!rootProjectID){
-                rootProjectID=projectInfoObj.projectInfo.property.rootProjectID;
+                rootProjectID=projectObj.project.projectInfo.property.rootProjectID;
             }
             var data={
                 "user_id":userID,
@@ -634,7 +634,7 @@ var FeeRate = {
         };
         FeeRate.prototype.changeFeeRateFileFromCurrent = function (newFeeRateFile,callback){
             let me=this;
-            let projectID = projectInfoObj.projectInfo.ID;
+            let projectID = projectObj.project.projectInfo.ID;
             let data={
                 "projectID": projectID,
                 "newFeeRateFile":newFeeRateFile
@@ -651,7 +651,7 @@ var FeeRate = {
 
         FeeRate.prototype.changeFeeRateFileFromOthers=function (feeRateFileID,name,callback) {
             let me = this;
-            let projectID = projectInfoObj.projectInfo.ID;
+            let projectID = projectObj.project.projectInfo.ID;
             let data={
                 "projectID": projectID,
                 "feeRateFileID":feeRateFileID,

+ 4 - 4
web/building_saas/main/js/models/installation_fee.js

@@ -202,7 +202,7 @@ var installation_fee = {
         };
        installation_fee.prototype.submitInstallationUpdate = function (updateData,rationInstallations,callback) {
             if(updateData){
-                let data = {'projectID':projectInfoObj.projectInfo.ID,'updateData':updateData};
+                let data = {'projectID':projectObj.project.projectInfo.ID,'updateData':updateData};
                 if(rationInstallations){//是否附带更新定额安装费
                     data['rationInstallations'] = rationInstallations;
                 }
@@ -224,8 +224,8 @@ var installation_fee = {
         };
        installation_fee.prototype.calcInstallationFee=function(callback){
             let project = projectObj.project,me = this;
-            let engineering = projectInfoObj.projectInfo.property.engineering;
-            let installSetting = projectInfoObj.projectInfo.property.installSetting;
+            let engineering = projectObj.project.projectInfo.property.engineering;
+            let installSetting = projectObj.project.projectInfo.property.installSetting;
             let rationInstallation  = project.ration_installation;
             let BXs =  project.Bills.getAllBXs();//取所有补项
             let allBillsDatas = _.sortBy(_.cloneDeep(project.Bills.datas),'code');//取所有清单信息,用来查找清单信息和存放中间过程产生的清单
@@ -733,7 +733,7 @@ var installation_fee = {
                 bills: []
             };
             CommonAjax.post('/pm/api/updateMixDatas', {user_id: userID, mixDataArr: mixDatas}, function (rstData) {
-                projectInfoObj.projectInfo.property.installSetting = newValue;
+                projectObj.project.projectInfo.property.installSetting = newValue;
                 if(callback){
                     callback();
                 }

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

@@ -16,7 +16,8 @@ const ModuleNames = {
     quantity_detail:'quantity_detail',
     labour_coe: 'labour_coe',
     calc_program: 'calc_program',
-    installation_fee:'installation_fee'
+    installation_fee:'installation_fee',
+    projectInfo: 'project_info'
 };
 
 let gljType = gljUtil.gljType;

+ 9 - 7
web/building_saas/main/js/models/project.js

@@ -42,6 +42,8 @@ var PROJECT = {
                     me._project.projSetting.moduleName = me.projSetting;
                 }else if(item.moduleName === ModuleNames.projectGLJ){
                     me._project.projectGLJ.loadToCache(item.data);
+                } else if (item.moduleName === ModuleNames.projectInfo) {
+                    me._project.projectInfo = item.data;
                 }
             });
             for (module in counter) {
@@ -149,8 +151,8 @@ var PROJECT = {
                     newNode.source = br[i];
                     newNode.sourceType = that.Ration.getSourceType();
                     newNode.data = br[i];
-                    if(projectInfoObj.projectInfo.property.displaySetting !== undefined &&
-                        projectInfoObj.projectInfo.property.displaySetting.disPlayMainMaterial==true){
+                    if(projectObj.project.projectInfo.property.displaySetting !== undefined &&
+                        projectObj.project.projectInfo.property.displaySetting.disPlayMainMaterial==true){
                         loadRationGLJNode(newNode);
                     }
                 }
@@ -325,13 +327,13 @@ var PROJECT = {
 
         project.prototype.projectMarkChecking = function () {
             let me = this;
-            let  changeMark = projectInfoObj.projectInfo.changeMark;
+            let  changeMark = projectObj.project.projectInfo.changeMark;
             if(changeMark&&changeMark!=''){
                 let totalNode = this.Bills.getTotalCostNode(projectObj.mainController);
                 if(totalNode) totalNode.changed = true;
                 this.calcProgram.calcAllNodesAndSave();
                 CommonAjax.post("/project/removeProjectMark",{projectID:me.ID()},function (data) {
-                    delete projectInfoObj.projectInfo.changeMark;
+                    delete projectObj.project.projectInfo.changeMark;
                     if(socket.connected == true){//如果这时候socket已经连接成功,则发送删除标记广播
                         socket.emit('removeProjectMark',{projectID:me.ID(),userID:userID});
                     }else {//如果还没连接成功,则放入消息对象缓存,等socket连接成功后发送
@@ -353,7 +355,7 @@ var PROJECT = {
             };
             $.bootstrapLoading.start();
             CommonAjax.post('/pm/api/updateMixDatas', {user_id: userID, mixDataArr: mixDatas}, function (rstData) {
-                projectInfoObj.projectInfo.property.lockBills = value;
+                projectObj.project.projectInfo.property.lockBills = value;
                 if(callback){
                     callback();
                 }
@@ -362,7 +364,7 @@ var PROJECT = {
         };
         //返回清单是否被锁定
         project.prototype.isBillsLocked =function(){
-            if(projectInfoObj.projectInfo.property.lockBills == true){
+            if(projectObj.project.projectInfo.property.lockBills == true){
                 return true;
             }
             return false;
@@ -466,7 +468,7 @@ var PROJECT = {
 
         //判断项目是否安装工程
         project.prototype.isInstall = function () {
-            return projectInfoObj.projectInfo.property.isInstall?true:false;//如果是undefinded 就也返回false
+            return projectObj.project.projectInfo.property.isInstall?true:false;//如果是undefinded 就也返回false
         };
 
         /*        project.prototype.setBillsCalcMode = function (calcMode) {

+ 11 - 11
web/building_saas/main/js/models/project_glj.js

@@ -967,7 +967,7 @@ ProjectGLJ.prototype.addMixRatio = function(selections,callback){
 }
 
 ProjectGLJ.prototype.checkUnitFileName = function(newVal,callback){
-    let property = projectInfoObj.projectInfo.property;
+    let property = projectObj.project.projectInfo.property;
     let data = {
         name:newVal,
         rootProjectID:property.rootProjectID
@@ -1091,7 +1091,7 @@ ProjectGLJ.prototype.getByConKey = function (conkey) {//根据5个连接属性
 
 
 ProjectGLJ.prototype.refreshTreeNodePriceIfNeed = function (data) {
-    if ((data.unit_price.type == gljType.MAIN_MATERIAL || data.unit_price.type == gljType.EQUIPMENT) && projectInfoObj.projectInfo.property.displaySetting.disPlayMainMaterial == true) {
+    if ((data.unit_price.type == gljType.MAIN_MATERIAL || data.unit_price.type == gljType.EQUIPMENT) && projectObj.project.projectInfo.property.displaySetting.disPlayMainMaterial == true) {
         let me = this;
         var nodes = _.filter(projectObj.project.mainTree.items, function (tem) {
             if (tem.sourceType == ModuleNames.ration_glj && tem.data.projectGLJID == data.id) {
@@ -1112,7 +1112,7 @@ ProjectGLJ.prototype.getMainAndEquGLJNodeByID = function (id) {//通过ID取显
     }else {
         ids = [id];
     }
-    if(projectInfoObj.projectInfo.property.displaySetting.disPlayMainMaterial == true){
+    if(projectObj.project.projectInfo.property.displaySetting.disPlayMainMaterial == true){
          nodes = _.filter(projectObj.project.mainTree.items, function (tem) {
             return tem.sourceType == ModuleNames.ration_glj && ids.indexOf(tem.data.projectGLJID)  !== -1
         })
@@ -1209,16 +1209,16 @@ ProjectGLJ.prototype.setAdjustPrice = function (glj) {
 
 ProjectGLJ.prototype.getAdjustPrice = function (glj,isRadio) {
     let proGLJ =  projectObj.project.projectGLJ;
-    let calcOptions=projectInfoObj.projectInfo.property.calcOptions;
-    let decimalObj = projectInfoObj.projectInfo.property.decimal;
+    let calcOptions=projectObj.project.projectInfo.property.calcOptions;
+    let decimalObj = projectObj.project.projectInfo.property.decimal;
     let labourCoeDatas =  projectObj.project.labourCoe.datas;
     return gljUtil.getAdjustPrice(glj,proGLJ.datas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil);
 };
 
 ProjectGLJ.prototype.getBasePrice = function(glj,isRadio){
     let proGLJ =  projectObj.project.projectGLJ;
-    let calcOptions=projectInfoObj.projectInfo.property.calcOptions;
-    let decimalObj = projectInfoObj.projectInfo.property.decimal;
+    let calcOptions=projectObj.project.projectInfo.property.calcOptions;
+    let decimalObj = projectObj.project.projectInfo.property.decimal;
     let labourCoeDatas =  projectObj.project.labourCoe.datas;
     return gljUtil.getBasePrice(glj,proGLJ.datas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil);
 };
@@ -1226,16 +1226,16 @@ ProjectGLJ.prototype.getBasePrice = function(glj,isRadio){
 
 ProjectGLJ.prototype.getMarketPrice = function (glj,isRadio) {
     let proGLJ =  projectObj.project.projectGLJ;
-    let calcOptions=projectInfoObj.projectInfo.property.calcOptions;
-    let decimalObj = projectInfoObj.projectInfo.property.decimal;
+    let calcOptions=projectObj.project.projectInfo.property.calcOptions;
+    let decimalObj = projectObj.project.projectInfo.property.decimal;
     let labourCoeDatas =  projectObj.project.labourCoe.datas;
     return gljUtil.getMarketPrice(glj,proGLJ.datas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil);
 };
 
 ProjectGLJ.prototype.getTenderMarketPrice = function (glj,isRadio) {
     let proGLJ =  projectObj.project.projectGLJ;
-    let calcOptions=projectInfoObj.projectInfo.property.calcOptions;
-    let decimalObj = projectInfoObj.projectInfo.property.decimal;
+    let calcOptions=projectObj.project.projectInfo.property.calcOptions;
+    let decimalObj = projectObj.project.projectInfo.property.decimal;
     let labourCoeDatas =  projectObj.project.labourCoe.datas;
     let tenderCoe = 1;
     if (projectObj.project.property.tenderSetting && gljUtil.isDef(projectObj.project.property.tenderSetting.gljPriceTenderCoe) ){

+ 7 - 7
web/building_saas/main/js/models/ration.js

@@ -110,14 +110,14 @@ var Ration = {
         };
         ration.prototype.getTempRationData = function (id, billsID, serialNo, rType,priceType) {
             let newData = {'ID': id, 'serialNo': serialNo, projectID: this.project.ID()};
-            let pEngineer = projectInfoObj.projectInfo.property.projectEngineering;//量价默认使用后台设置的单位工程取费专业
+            let pEngineer = projectObj.project.projectInfo.property.projectEngineering;//量价默认使用后台设置的单位工程取费专业
             newData[project.masterField.ration] = billsID;
             newData['type'] = rType;
             if (rType == rationType.volumePrice){
                 newData['subType'] =  priceType?priceType:gljType.GENERAL_MATERIAL;   // 如果priceType 没传,默认的量价类型为材料
             };
             if(rType == rationType.ration){//空定额暂时不输入取费专业
-               // newData['programID'] = projectInfoObj.projectInfo.property.engineering;
+               // newData['programID'] = projectObj.project.projectInfo.property.engineering;
             }else if(rType == rationType.volumePrice){//量价取费专业默认为费率为0
                 newData['programID'] = projectObj.project.calcProgram.compiledTemplateMaps["费率为0"];
             }else {
@@ -383,8 +383,8 @@ var Ration = {
             let libID =  rationLibObj.getCurrentStdRationLibID();
             let libIDs = rationLibObj.getStdRationLibIDs();
             let defaultLibID = rationLibObj.getDefaultStdRationLibID();
-            let engineering = projectInfoObj.projectInfo.property.engineering;
-            let projectID = projectInfoObj.projectInfo.ID;
+            let engineering = projectObj.project.projectInfo.property.engineering;
+            let projectID = projectObj.project.projectInfo.ID;
             let project = projectObj.project;
             let mainTree = project.mainTree;
             let nodeInfo =[];
@@ -439,7 +439,7 @@ var Ration = {
         ration.prototype.addMultiRation = function (items, callback) {
             let me = this;
             let project = projectObj.project, sheetController = projectObj.mainController;
-            let engineering = projectInfoObj.projectInfo.property.engineering;
+            let engineering = projectObj.project.projectInfo.property.engineering;
             let selected = project.mainTree.selected, newSource = null, newNode = null,pre = null,br = null;
             let billItemID = null,serialNo=1,nextID=null;
             let needInstall = false;
@@ -550,7 +550,7 @@ var Ration = {
         ration.prototype.addNewRation = function (itemQuery,rationType,callback=null,isEmpty=false,priceType,needCalcAndSave=true) {//priceType 是量价类型
             let me = this;
             let project = projectObj.project, sheetController = projectObj.mainController;
-            let engineering = projectInfoObj.projectInfo.property.engineering;
+            let engineering = projectObj.project.projectInfo.property.engineering;
             let selected = project.mainTree.selected, newSource = null, newNode = null,pre=null,br=null;
             let billItemID = null,serialNo=1,nextID=null;
             let needInstall = false;
@@ -635,7 +635,7 @@ var Ration = {
         ration.prototype.addNewRationFast = function (rationType,callback) {
             let me = this;
             let project = projectObj.project, sheetController = projectObj.mainController;
-            let engineering = projectInfoObj.projectInfo.property.engineering;
+            let engineering = projectObj.project.projectInfo.property.engineering;
             let selected = project.mainTree.selected, newSource = null, newNode = null,pre=null,br=null;
             let billItemID = null,serialNo=1,nextID=null;
             if (selected === null) { return null; }

+ 4 - 4
web/building_saas/main/js/models/ration_glj.js

@@ -560,7 +560,7 @@ let ration_glj = {
             return node
         };
         ration_glj.prototype.getGLJData = function (cb) {
-            let property = projectInfoObj.projectInfo.property;
+            let property = projectObj.project.projectInfo.property;
             let engineerID = property.engineering_id;
             CommonAjax.get('/rationGlj/getGLJData/'+engineerID, function (data) {
                 //编办中有多单价设置
@@ -580,7 +580,7 @@ let ration_glj = {
             let gljList = [];
             let allGLJ = gljOprObj.AllRecode;
             let billsItemID = null, serialNo = 0,selectedSerialNo = null,nextNodeID = null, parentNodeID = null, billNode = null;
-            let pEngineer = projectInfoObj.projectInfo.property.projectEngineering;
+            let pEngineer = projectObj.project.projectInfo.property.projectEngineering;
             let children = [];
             if (selected.sourceType === project.Bills.getSourceType()) {
                 billsItemID = selected.data.ID;
@@ -684,7 +684,7 @@ let ration_glj = {
                 return
             }
             $.bootstrapLoading.start();
-            CommonAjax.post("/rationGlj/getGLJDataByCodes", { 'engineerID':projectInfoObj.projectInfo.property.engineering_id,projectID:projectObj.project.ID(),codes:codes}, function (result) {
+            CommonAjax.post("/rationGlj/getGLJDataByCodes", { 'engineerID':projectObj.project.projectInfo.property.engineering_id,projectID:projectObj.project.ID(),codes:codes}, function (result) {
                 $.bootstrapLoading.end();
                 callback(result)
             });
@@ -1011,7 +1011,7 @@ let ration_glj = {
             }
         };
         ration_glj.prototype.needShowToTree = function (data) {
-            if ((data.type == gljType.MAIN_MATERIAL || data.type == gljType.EQUIPMENT) && projectInfoObj.projectInfo.property.displaySetting.disPlayMainMaterial == true) {
+            if ((data.type == gljType.MAIN_MATERIAL || data.type == gljType.EQUIPMENT) && projectObj.project.projectInfo.property.displaySetting.disPlayMainMaterial == true) {
                 return true
             }
             return false

+ 1 - 1
web/building_saas/main/js/models/volume_price.js

@@ -52,7 +52,7 @@ var VolumePrice = {
                 var newData = {'ID': newID, 'serialNo': serialNo, projectID: tools.owner.ID()};
                 newData[project.masterField.volumePrice] = billsID;
                 newData.type = '材料';
-                newData.programID = projectInfoObj.projectInfo.property.engineering;
+                newData.programID = projectObj.project.projectInfo.property.engineering;
                 return newData;
             };
             getBillsSortVolumePrice (billsID) {

+ 2 - 2
web/building_saas/main/js/views/billsElf.js

@@ -271,8 +271,8 @@ const BillsElf = (function() {
         bills.selected = node;
         if(!node.elf.tree){
             let guidanceLibID;
-            if (projectInfoObj.projectInfo.engineeringInfo && projectInfoObj.projectInfo.engineeringInfo.billsGuidance_lib) {
-                guidanceLibID = projectInfoObj.projectInfo.engineeringInfo.billsGuidance_lib[0] ? projectInfoObj.projectInfo.engineeringInfo.billsGuidance_lib[0].id : null;
+            if (projectObj.project.projectInfo.engineeringInfo && projectObj.project.projectInfo.engineeringInfo.billsGuidance_lib) {
+                guidanceLibID = projectObj.project.projectInfo.engineeringInfo.billsGuidance_lib[0] ? projectObj.project.projectInfo.engineeringInfo.billsGuidance_lib[0].id : null;
             }
             CommonAjax.post('/billsGuidance/api/getItemsByCode', {guidanceLibID: guidanceLibID, code: nineCode}, function (rstData) {
                 //定额数据删除编号信息,(编码后+空格才会去除编码)

+ 1 - 1
web/building_saas/main/js/views/block_lib.js

@@ -73,7 +73,7 @@ var blockLibObj = {
         $.bootstrapLoading.start();
         let me = this;
         let namesAndLib = await ajaxPost('/blockLib/getLibNamesAndFirstLib',
-            {userID: userID, userName: $("#link_userName").text(), compilationID: projectInfoObj.projectInfo.compilation});
+            {userID: userID, userName: $("#link_userName").text(), compilationID: projectObj.project.projectInfo.compilation});
         function getLibNamesHtml(libsArr) {
             let result = '';
             for (let lib of libsArr) {

+ 1 - 1
web/building_saas/main/js/views/calc_program_manage.js

@@ -116,7 +116,7 @@ let calcProgramManage = {
             return result;
         };
 
-        let stdCPHtml = getStdCPFilesHtml(projectInfoObj.projectInfo.engineeringInfo.program_lib);
+        let stdCPHtml = getStdCPFilesHtml(projectObj.project.projectInfo.engineeringInfo.program_lib);
         $("#calcProgramFileSelect").html(stdCPHtml);
     },
     onMainEnterCell: function(sender, args) {

+ 10 - 10
web/building_saas/main/js/views/character_content_view.js

@@ -180,7 +180,7 @@ let contentOprObj = {
         pageCCOprObj.setCharacterBySetting(selectedNode, setting, callback, contentOprObj);
     },
     onEditStart(sender, args){
-        if(projectInfoObj.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
+        if(projectObj.project.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
             args.cancel = true;
             return;
         }
@@ -204,7 +204,7 @@ let contentOprObj = {
         if(args.sheet.isEditing()){
             args.sheet.endEdit(true);
         }
-        if(projectInfoObj.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
+        if(projectObj.project.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
             args.sheet.setValue(args.row, args.col, 0);
             return;
         }
@@ -239,7 +239,7 @@ let contentOprObj = {
     },
     //复制粘贴
     onClipboardPasting: function (sender, args) {
-        if(projectInfoObj.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
+        if(projectObj.project.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
             args.cancel = true;
             return;
         }
@@ -273,7 +273,7 @@ let contentOprObj = {
         let me = contentOprObj;
         let disObj = {jobAdd: false, jobInsert: true, jobDel: true, jobUp: true, jobDown: true};
         disObj.jobAdd = !pageCCOprObj.canAddType();
-        if(projectInfoObj.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
+        if(projectObj.project.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
             disObj.jobAdd = true;
             disObj.jobInsert = true;
             disObj.jobDel = true;
@@ -330,7 +330,7 @@ let contentOprObj = {
                 let addDis = pageCCOprObj.canAddType() ? false : true,  insertDis = false, delDis = false, upDis = false, downDis = false;
                 if(target.hitTestType === 3){//在表格内&& typeof target.row !== 'undefined' && typeof target.col !== 'undefined'
                     //清单锁定,不可用
-                    if(projectInfoObj.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
+                    if(projectObj.project.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
                         addDis = true;
                         insertDis = true;
                         delDis = true;
@@ -683,7 +683,7 @@ let characterOprObj = {
     },
     onEditStart: function (sender, args) {
         let me = characterOprObj;
-        if(projectInfoObj.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
+        if(projectObj.project.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
             args.cancel = true;
             return;
         }
@@ -709,7 +709,7 @@ let characterOprObj = {
         }
     },
     onClipboardPasting: function (sender, args) {
-        if(projectInfoObj.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
+        if(projectObj.project.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
             args.cancel = true;
         }
         if(args.cellRange.col + args.colCount - 1 > 1){
@@ -766,7 +766,7 @@ let characterOprObj = {
         if(args.sheet.isEditing()){
             args.sheet.endEdit(true);
         }
-        if(projectInfoObj.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
+        if(projectObj.project.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
             args.sheet.setValue(args.row, args.col, 0);
             return;
         }
@@ -791,7 +791,7 @@ let characterOprObj = {
         let disObj = {itemAdd: false, itemInsert: true, itemDel: true, itemUp: true, itemDown: true};
         disObj.itemAdd = !pageCCOprObj.canAddType();
         //清单锁定,不可用
-        if(projectInfoObj.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
+        if(projectObj.project.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
             disObj.itemAdd = true;
             disObj.itemInsert = true;
             disObj.itemDel = true;
@@ -836,7 +836,7 @@ let characterOprObj = {
                 let addDis = pageCCOprObj.canAddType() ? false : true, insertDis = false, delDis = false, upDis = false, downDis = false;
                 if(target.hitTestType === 3){//在表格内 && typeof target.row !== 'undefined' && typeof target.col !== 'undefined'
                     //清单锁定,则不可用
-                    if(projectInfoObj.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
+                    if(projectObj.project.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
                         addDis = true;
                         insertDis = true;
                         delDis = true;

+ 1 - 1
web/building_saas/main/js/views/glj_col.js

@@ -88,7 +88,7 @@ let gljCol = {
             me.removeCol('adjustPrice',me.project_glj_setting);
             me.removeCol('adjustPrice',me.mixRatio_Setting);
         }
-        if(projectInfoObj.projectInfo.property && projectInfoObj.projectInfo.property.valuationType == "bill"){
+        if(projectObj.project.projectInfo.property && projectObj.project.projectInfo.property.valuationType == "bill"){
             me.removeCol('is_adjust_price',me.project_glj_setting);
         }
         gljOprObj.setting = me.ration_glj_setting;

+ 3 - 3
web/building_saas/main/js/views/glj_view.js

@@ -724,8 +724,8 @@ var gljOprObj = {
     },
     setGLJPrice:function (data,glj,isRadio = false) {//isRadio 标记是否算组成物的价格
         let proGLJ =  projectObj.project.projectGLJ;
-        let calcOptions=projectInfoObj.projectInfo.property.calcOptions;
-        let decimalObj = projectInfoObj.projectInfo.property.decimal;
+        let calcOptions=projectObj.project.projectInfo.property.calcOptions;
+        let decimalObj = projectObj.project.projectInfo.property.decimal;
         let labourCoeDatas =  projectObj.project.labourCoe.datas;
         glj = glj?glj:_.find(proGLJ.datas.gljList, {'id': data.projectGLJID});
         if(glj){
@@ -754,7 +754,7 @@ var gljOprObj = {
         return proGLJ.getMarketPrice(glj);
     },
     calcPriceDiff:function (glj) {
-        let calcOptions=projectInfoObj.projectInfo.property.calcOptions;
+        let calcOptions=projectObj.project.projectInfo.property.calcOptions;
         return gljUtil.calcPriceDiff(glj,calcOptions);
     },
     getIndex(obj, pops){

+ 1 - 1
web/building_saas/main/js/views/glj_view_contextMenu.js

@@ -400,7 +400,7 @@ function getGLJData(actionType) {
 }
 
 function showGLJClassTree(record) {
-    let engineerID = projectInfoObj.projectInfo.property.engineering_id;
+    let engineerID = projectObj.project.projectInfo.property.engineering_id;
     CommonAjax.post('/rationGlj/getGLJClass/'+engineerID,record, function (data) {
         if(data.exist==true){
             alert("当前人材机已存在。");

+ 4 - 4
web/building_saas/main/js/views/installation_fee_view.js

@@ -1252,8 +1252,8 @@ let installationFeeObj={
         return data;
     },
     calcInstallationFee:function(callback){//计算安装增加费
-        let engineering = projectInfoObj.projectInfo.property.engineering;
-        let installSetting = projectInfoObj.projectInfo.property.installSetting;
+        let engineering = projectObj.project.projectInfo.property.engineering;
+        let installSetting = projectObj.project.projectInfo.property.installSetting;
         let install_fee = projectObj.project.installation_fee;
         let autoCreate = false;
         if(!projectObj.project.isInstall()){//如果不是安装工程,则不用计算
@@ -1322,7 +1322,7 @@ let installationFeeObj={
         });
     },
     initSettingRadio:function () {
-        let installSetting = projectInfoObj.projectInfo.property.installSetting;
+        let installSetting = projectObj.project.projectInfo.property.installSetting;
         //radio 值设置
         if(installSetting==undefined||installSetting=="0"){
             $("#all_project_calc").prop("checked",true);
@@ -1454,7 +1454,7 @@ $(function () {
     $("input[name='install_setting_radios']").each(function(){
         $(this).click(function(){
             var settingVal = $(this).val();
-            let installSetting = projectInfoObj.projectInfo.property.installSetting;
+            let installSetting = projectObj.project.projectInfo.property.installSetting;
             if(installSetting==settingVal){
                 return;
             }

+ 2 - 2
web/building_saas/main/js/views/main_tree_col.js

@@ -221,7 +221,7 @@ let MainTreeCol = {
         forQuantity: function (node) {
             if(node.sourceType === projectObj.project.Bills.getSourceType()){
                 //如果是预算项目的,所有清单的数量1、数量2不做输入限制。
-                if(projectInfoObj.projectInfo.property && projectInfoObj.projectInfo.property.valuationType == "bill")  return false;
+                if(projectObj.project.projectInfo.property && projectObj.project.projectInfo.property.valuationType == "bill")  return false;
                 if(node.data.type==billType.DXFY||(node.data.type==billType.BILL&&MainTreeCol.readOnly.billsParent(node))){//大项费用、清单父项行,工程量只读。
                     return true;
                 }
@@ -233,7 +233,7 @@ let MainTreeCol = {
         forQuantity2:function (node) {
             if(node.sourceType !== ModuleNames.bills) return true;//不是清单,只读
             //如果是预算项目的,所有清单的数量1、数量2不做输入限制。
-            if(projectInfoObj.projectInfo.property && projectInfoObj.projectInfo.property.valuationType == "bill")  return false;
+            if(projectObj.project.projectInfo.property && projectObj.project.projectInfo.property.valuationType == "bill")  return false;
             if(node.data.type==billType.DXFY||(node.data.type==billType.BILL&&MainTreeCol.readOnly.billsParent(node))) return true;//大项费用、清单父项行,工程量只读。
             return false
         },

+ 1 - 1
web/building_saas/main/js/views/mbzm_view.js

@@ -313,7 +313,7 @@ let mbzm_obj={
                     NextSiblingID:-1,
                     code:projectObj.project.Bills.newFormatCode(data.billsLocation),
                     type:billType.BILL,
-                    billsLibId:projectInfoObj.projectInfo.engineeringInfo.bill_lib[0].id,//projectInfoObj.projectInfo.engineeringInfo.billsGuidance_lib
+                    billsLibId:projectObj.project.projectInfo.engineeringInfo.bill_lib[0].id,//projectObj.project.projectInfo.engineeringInfo.billsGuidance_lib
                     billsLocation : data.billsLocation//这个是用来在后端查找清单信息
                 };
                 let existB = projectObj.project.Bills.sameStdCodeBillsData(data.billsLocation);//对于多单位的清单

+ 2 - 2
web/building_saas/main/js/views/project_glj_view.js

@@ -1137,7 +1137,7 @@ projectGljObject={
     },
     initVvTax:async function () {//初始化车船税选择
         try {
-            let engineeringID = projectInfoObj.projectInfo.property.engineering_id;
+            let engineeringID = projectObj.project.projectInfo.property.engineering_id;
             let result =  await ajaxGet("/glj/getVvTaxList",{engineeringID:engineeringID});
             let optionString = ` <option value="">车船税标准</option>`;
             for(let r of result){
@@ -1262,7 +1262,7 @@ $(function () {
     );
     // 单价文件切换弹框
     $('#change-unitFile').on('shown.bs.modal', function () {
-        let rootProjectID = projectInfoObj.projectInfo.property.rootProjectID;
+        let rootProjectID = projectObj.project.projectInfo.property.rootProjectID;
         // 获取切换单价文件相关数据
         $.ajax({
             url: '/glj/get-project-info',

+ 20 - 21
web/building_saas/main/js/views/project_info.js

@@ -3,7 +3,6 @@
  */
 
 var projectInfoObj = {
-    projectInfo: null,
     getFullPathHtml: function (proj) {
         let fullPath = [], i, pm = '<span class="text-truncate"><a href="/pm">项目管理</a></span>', angleRight = '<span class="text-truncate"><i class="fa fa-angle-right fa-fw"></i></span>';
         if (proj) {
@@ -27,26 +26,26 @@ var projectInfoObj = {
         }
         return fullPath.join('');
     },
-    showProjectInfo: function (proj) {
-        var that = this;
-        CommonAjax.post('/pm/api/getProject', {"user_id": userID, "proj_id": scUrlUtil.GetQueryString('project')}, function (data) {
-            if (data) {
-                that.projectInfo = data;
-                if(!data.engineeringInfo.billsGuidance_lib || data.engineeringInfo.billsGuidance_lib.length === 0){
-                    $('#stdBillsGuidanceTab').addClass('disabled');
-                } else {
-                    //打开预算项目时,右侧“清单规则”显示为“项目表”,打开工程量清单项目时,右侧“清单规则”显示为“清单范本”。
-                    $('#stdBillsGuidanceTab').text(data.property.valuationType === 'bill' ? '项目表' : '清单范本');
-                }
-
-                //init decimal
-                setDecimal(decimalObj, data.property.decimal);
-                billsQuanDecimal.datas = data.property.billsQuantityDecimal || [billsDecimalView.angleDecimal];
-                basicInfoView.orgDatas = data.property.basicInformation ? basicInfoView.toViewDatas(data.property.basicInformation) : [];
-                projFeatureView.orgDatas = data.property.projectFeature ? projFeatureView.toViewDatas(data.property.projectFeature) : [];
-                $('#fullpath').html(that.getFullPathHtml(that.projectInfo));
-                $("[data-toggle='tooltip']").tooltip();
+    showProjectInfo: function (data) {
+        if (data) {
+            if(!data.engineeringInfo.billsGuidance_lib || data.engineeringInfo.billsGuidance_lib.length === 0){
+                $('#stdBillsGuidanceTab').addClass('disabled');
+            } else {
+                //打开预算项目时,右侧“清单规则”显示为“项目表”,打开工程量清单项目时,右侧“清单规则”显示为“清单范本”。
+                $('#stdBillsGuidanceTab').text(data.property.valuationType === 'bill' ? '项目表' : '清单范本');
             }
-        });
+            //init decimal
+            setDecimal(decimalObj, data.property.decimal);
+            billsQuanDecimal.datas = data.property.billsQuantityDecimal || [billsDecimalView.angleDecimal];
+            basicInfoView.orgDatas = data.property.basicInformation ? basicInfoView.toViewDatas(data.property.basicInformation) : [];
+            projFeatureView.orgDatas = data.property.projectFeature ? projFeatureView.toViewDatas(data.property.projectFeature) : [];
+            $('#fullpath').html(this.getFullPathHtml(data));
+            $("[data-toggle='tooltip']").tooltip();
+            if (data.property.valuationType == 'bill'){
+                $("#tab_tender_price").css('display', 'none');
+            } else{
+                $("#about-calc").css('display', 'none');
+            };
+        }
     }
 };

+ 2 - 2
web/building_saas/main/js/views/project_property_display_view.js

@@ -4,7 +4,7 @@
 let projDisplayView = {
     datas: null,//just for view
     init: function () {
-        this.datas = projectInfoObj.projectInfo.property.displaySetting;
+        this.datas = projectObj.project.projectInfo.property.displaySetting;
         this.datas = this.datas === undefined ? {autoHeight: true, disPlayMainMaterial: true} : this.datas;
         //$("#autoHeight").prop("checked", this.datas.autoHeight);
         $("#billsAutoHeight").prop("checked", this.datas.billsAutoHeight);
@@ -41,7 +41,7 @@ let projDisplayView = {
 let calcOptions = {
     datas: null,//just for view
     init: function () {
-        this.datas = projectInfoObj.projectInfo.property.calcOptions;
+        this.datas = projectObj.project.projectInfo.property.calcOptions;
         $("#calc_main").prop("checked", this.datas.calc_main);
         $("#calc_add").prop("checked", this.datas.calc_add);
         $("#calc_est").prop("checked", this.datas.calc_est);

+ 1 - 1
web/building_saas/main/js/views/project_property_labour_coe_view.js

@@ -23,7 +23,7 @@ let labourCoeView = {
             return result;
         };
 
-        let stdLCHtml = getStdLabourCoeFilesHtml(projectInfoObj.projectInfo.engineeringInfo.artificial_lib);
+        let stdLCHtml = getStdLabourCoeFilesHtml(projectObj.project.projectInfo.engineeringInfo.artificial_lib);
         $("#std_labour_coe_files").html(stdLCHtml);
     },
     buildSheet: function (){

+ 13 - 12
web/building_saas/main/js/views/project_view.js

@@ -285,10 +285,10 @@ var projectObj = {
         let stdMatchCode, formatCode, matchs;
         let searchStdBillsAndUpdate = function (stdCode, formatCode) {
             let orgCode = node.data.code?node.data.code.substr(0, 9):"";
-            if (projectInfoObj.projectInfo.engineeringInfo.bill_lib.length === 0) {
+            if (projectObj.project.projectInfo.engineeringInfo.bill_lib.length === 0) {
                 normalUpdate(node,value,stdCode === orgCode);
-            } else if (projectInfoObj.projectInfo.engineeringInfo.bill_lib.length > 0) {
-                let libId = projectInfoObj.projectInfo.engineeringInfo.bill_lib[0].id;
+            } else if (projectObj.project.projectInfo.engineeringInfo.bill_lib.length > 0) {
+                let libId = projectObj.project.projectInfo.engineeringInfo.bill_lib[0].id;
                 CommonAjax.post('/stdBillsEditor/getStdBillsByCode', {userId: userID, billsLibId: libId, code: stdCode}, function (data) {
                     if (data) {
                         function sortItems(serialItems, items){
@@ -389,7 +389,7 @@ var projectObj = {
         if(!isDef(node.data.code) && (!isDef(value) || value.toString().trim() == '')){
             return;
         }
-        if (projectInfoObj.projectInfo.engineeringInfo.ration_lib.length === 0) {
+        if (projectObj.project.projectInfo.engineeringInfo.ration_lib.length === 0) {
             alert('当前项目无定额库,请添加定额库。');
             this.mainController.refreshTreeNode([node], false);
         } else {
@@ -876,6 +876,7 @@ var projectObj = {
         $.bootstrapLoading.start();
         this.project.loadDatas(function (err) {
             let mTime = +new Date();
+            projectInfoObj.showProjectInfo(that.project.projectInfo);
             //快速列设置
             if(!colSettingObj.getVisible('itemCharacterText')){
                 switchTznrHtml(true);
@@ -889,7 +890,7 @@ var projectObj = {
                 subObj.initSubSpread();//初始化主界面下方的表格
 
                 let quantityTime = +new Date();
-                that.project.property = projectInfoObj.projectInfo.property;
+                that.project.property = projectObj.project.projectInfo.property;
                 if (typeof overwriteRationCalcBases === 'function')
                     overwriteRationCalcBases(that.project.property.taxType);
                 //that.project.calcProgram.compileAllTemps();
@@ -1072,7 +1073,7 @@ var projectObj = {
                 //如果其下没有定额/量价/人材机,则自动在其下插入一条定额空行,在其后自动插入一条分项空行,焦点跳动至定额空行的编码单元格。
                 else if(selected.children.length === 0){
                     //分项没有后兄弟,且没有锁定清单时在其后插入分项
-                    if(!selected.nextSibling && !(projectInfoObj.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected))){
+                    if(!selected.nextSibling && !(projectObj.project.projectInfo.property.lockBills && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected))){
                         ProjectController.addFX(me.project, me.mainController);
                         //将焦点行设置成原本的行,以插入定额
                         me.mainController.setTreeSelected(me.project.mainTree.items[orgRow]);
@@ -1903,7 +1904,7 @@ var projectObj = {
 
     },
     loadLockBillsButton:function () {
-        if(projectInfoObj.projectInfo.property.lockBills == true){
+        if(projectObj.project.projectInfo.property.lockBills == true){
             //$("a[name='lockBills']").attr("data-original-title","解锁清单");
             $("a[name='lockBills']").html('<i class="fa fa-unlock-alt" aria-hidden="true"></i> 解锁清单');
         }else {
@@ -2057,7 +2058,7 @@ $('#downMove').click(function () {
     }
 });
 $("a[name='lockBills']").click(function () {//点击锁定/解锁清单
-    let lockBills = projectInfoObj.projectInfo.property.lockBills;
+    let lockBills = projectObj.project.projectInfo.property.lockBills;
     lockBills = !lockBills;
     projectObj.project.updateLockBills(lockBills,function () {
         var controller = projectObj.mainController, project = projectObj.project;
@@ -2204,7 +2205,7 @@ $('#poj-set').on('show.bs.modal', function () {
         projDisplayView.init();
         calcOptions.init();
     }
-    let propertyInfo = projectInfoObj.projectInfo.property;
+    let propertyInfo = projectObj.project.projectInfo.property;
     //关于计算-价差预备费//预算项目才有
     if (propertyInfo.valuationType === 'bill') {
         $('#jcybf').show();
@@ -2745,7 +2746,7 @@ $('#importConfirm').click(function () {
         let sDate = +new Date();
         formData.append('projectID', projectID);
         //要去匹配的清单库(第一个)
-        let matchBillLibId = projectInfoObj.projectInfo.engineeringInfo.bill_lib.length > 0 ? projectInfoObj.projectInfo.engineeringInfo.bill_lib[0].id : null;
+        let matchBillLibId = projectObj.project.projectInfo.engineeringInfo.bill_lib.length > 0 ? projectObj.project.projectInfo.engineeringInfo.bill_lib[0].id : null;
         formData.append('billsLibId', matchBillLibId);
         //选择的表及导入位置
         let importSheetsInfo = importBills.getImportSheetsInfo();
@@ -2897,7 +2898,7 @@ function doAfterImport(resData){
             doAfterImportPosition(positionData);
         }
         //如果清单未锁定,导入后锁定清单
-        /*if(!projectInfoObj.projectInfo.property.lockBills){
+        /*if(!projectObj.project.projectInfo.property.lockBills){
             $("a[name='lockBills']").click();
         }*/
         $.bootstrapLoading.end();
@@ -3000,7 +3001,7 @@ $(function () {
                 // 封装成伟城的块文件格式,直接调用伟城接口(定额这里的业务太多太庞杂,不要再重做一遍,尽量共用,维护代价小)
                 // 块文件要构建自己的树结构,所以也有自己的一部分数据。两种结构揉合在一起,显得有点杂乱,但利大于弊。
                 let vBlock_WC = {
-                    compilationID: projectInfoObj.projectInfo.compilation,
+                    compilationID: projectObj.project.projectInfo.compilation,
                     firstNodeType: node.data.type,
                     isFBFX: projectObj.project.Bills.isFBFX(node),
                     copyTime: +new Date(),

+ 4 - 2
web/building_saas/main/js/views/side_tools.js

@@ -3,7 +3,9 @@
  */
 $(window).resize(function() {
     autoFlashHeight();
-    sheetCommonObj.setColumnWidthByRate($('#stdRationChapter').width() - 40, rationLibObj.rationChapterSpread, rationLibObj.rationChapterTreeSetting.cols);
+    if ($('#stdRationChapter').width() > 0) {
+        sheetCommonObj.setColumnWidthByRate($('#stdRationChapter').width() - 30, rationLibObj.rationChapterSpread, rationLibObj.rationChapterTreeSetting.cols);
+    }
     billsGuidance.setColumnWidthByRate(billsGuidance.elfItem.workBook, $('#zy').width(), billsGuidance.elfItem.headers);
     billsGuidance.refreshWorkBook();
     rationLibObj.refreshSpread();
@@ -178,7 +180,7 @@ var sideToolsObj = {
             SlideResize.loadHorizonWidth(id, [sideResizeEles.eleObj.resize], [sideResizeEles.eleObj.left, sideResizeEles.eleObj.right], function(){
                 if (id === 'stdRationTab') {//加载定额库内部上下高度
                     SlideResize.loadVerticalHeight(rationLibResizeEles.eleObj.module, rationLibResizeEles.eleObj, rationLibResizeEles.limit, function () {
-                        rationLibObj.refreshSpread();
+                        sheetCommonObj.setColumnWidthByRate($('#stdRationChapter').width() - 30, rationLibObj.rationChapterSpread, rationLibObj.rationChapterTreeSetting.cols);
                     });
                 } else if (id === 'blockLibTab') {//块模板库
                     SlideResize.loadMultiVerticalHeight(blockLibMulti.module, blockLibMulti.eles, blockLibMulti.totalHeight, function () {

+ 2 - 2
web/building_saas/main/js/views/std_billsGuidance_lib.js

@@ -322,7 +322,7 @@ const billsGuidance = (function () {
                 return null;
             }
             let stdData = {};
-            stdData.projectID = projectInfoObj.projectInfo.ID;
+            stdData.projectID = projectObj.project.projectInfo.ID;
             stdData.isAdd = 1;
             stdData.ID = insertObj.ID;
             stdData.ParentID = insertObj.ParentID;
@@ -1024,7 +1024,7 @@ const billsGuidance = (function () {
         //打开清单指引库
         $('#stdBillsGuidanceTab').click(function () {
             if(libSel.children().length === 0 && !$(this).hasClass('disabled')){
-                initLibs(projectInfoObj.projectInfo.engineeringInfo.bill_lib);
+                initLibs(projectObj.project.projectInfo.engineeringInfo.bill_lib);
             }
         });
         //更改清单指引库

+ 2 - 2
web/building_saas/main/js/views/std_bills_lib.js

@@ -69,7 +69,7 @@ var billsLibObj = {
         let i, select = $('#stdBillsLibSelect');
         select.empty();
 
-        let bills_lib = projectInfoObj.projectInfo.engineeringInfo.bill_lib;
+        let bills_lib = projectObj.project.projectInfo.engineeringInfo.bill_lib;
         let selectedBillsLib = sessionStorage.getItem('stdBillsLib');
         bills_lib.forEach(function (data) {
             var option = $('<option>').val(data.id).text(data.name);
@@ -128,7 +128,7 @@ var billsLibObj = {
         return features;
     },
     insertBills: function (stdBillsJobData, stdBillsFeatureData, node) {
-        if(projectInfoObj.projectInfo.property.lockBills == true && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
+        if(projectObj.project.projectInfo.property.lockBills == true && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
             return false;
         }
         $.bootstrapLoading.start();

+ 11 - 11
web/building_saas/main/js/views/std_ration_lib.js

@@ -49,7 +49,7 @@ var rationLibObj = {
     loadStdRationLibs: function () {
         let select = $('#stdRationLibSelect');
         select.empty();
-        let ration_lib = projectInfoObj.projectInfo.engineeringInfo.ration_lib;
+        let ration_lib = projectObj.project.projectInfo.engineeringInfo.ration_lib;
         ration_lib.push({
             isDefault: false,
             id: rationLibObj.compleRationLibId,
@@ -345,8 +345,8 @@ var rationLibObj = {
     locateAtRation: function(libID, code){
         let me = rationLibObj;
         //查找定额,以确定定额所在章节节点
-        let firstLibID = projectInfoObj.projectInfo.engineeringInfo.ration_lib.length > 0 ?
-                        projectInfoObj.projectInfo.engineeringInfo.ration_lib[0].id : null;
+        let firstLibID = projectObj.project.projectInfo.engineeringInfo.ration_lib.length > 0 ?
+                        projectObj.project.projectInfo.engineeringInfo.ration_lib[0].id : null;
         let locateRow = 0,
             locateSubRow = 0;
         CommonAjax.post('/complementaryRation/api/getRationItem', {rationRepIds: [libID], code: code}, function (ration) {
@@ -481,35 +481,35 @@ var rationLibObj = {
     },
     getStdRationLibIDs: function () {
         let ids = [];
-        if(projectInfoObj.projectInfo.engineeringInfo.ration_lib.length === 0){
+        if(projectObj.project.projectInfo.engineeringInfo.ration_lib.length === 0){
             alert('当前项目无定额库,请添加定额库。');
             return null;
         }
-        for(let rationLib of projectInfoObj.projectInfo.engineeringInfo.ration_lib){
+        for(let rationLib of projectObj.project.projectInfo.engineeringInfo.ration_lib){
             ids.push(rationLib.id);
         }
         return ids;
     },
     getCurrentStdRationLibID:function () {
-        if(projectInfoObj.projectInfo.engineeringInfo.ration_lib.length === 0){
+        if(projectObj.project.projectInfo.engineeringInfo.ration_lib.length === 0){
             alert('当前项目无定额库,请添加定额库。');
             return null;
         }
         if($('#stdRationLibSelect').val()){
             return parseInt($('#stdRationLibSelect').val());
         }else {
-            return projectInfoObj.projectInfo.engineeringInfo.ration_lib[0].id;
+            return projectObj.project.projectInfo.engineeringInfo.ration_lib[0].id;
         }
     },
     getFirstStdRationLibID: function () {
-        if(projectInfoObj.projectInfo.engineeringInfo.ration_lib.length === 0){
+        if(projectObj.project.projectInfo.engineeringInfo.ration_lib.length === 0){
             alert('当前项目无定额库,请添加定额库。');
             return null;
         }
-        return parseInt(projectInfoObj.projectInfo.engineeringInfo.ration_lib[0].id);
+        return parseInt(projectObj.project.projectInfo.engineeringInfo.ration_lib[0].id);
     },
     getDefaultStdRationLibID:function(){
-        let ration_lib = projectInfoObj.projectInfo.engineeringInfo.ration_lib;
+        let ration_lib = projectObj.project.projectInfo.engineeringInfo.ration_lib;
         if(ration_lib.length === 0){
             alert('当前项目无定额库,请添加定额库。');
             return null;
@@ -642,7 +642,7 @@ function seachRation(){
     if($('#curRationLib').hasClass('btn-secondary')){
         rationLibIDs.push($('#stdRationLibSelect').val());
     } else {
-        for(let lib of projectInfoObj.projectInfo.engineeringInfo.ration_lib){
+        for(let lib of projectObj.project.projectInfo.engineeringInfo.ration_lib){
             rationLibIDs.push(lib.id);
         }
     }

+ 1 - 1
web/building_saas/main/js/views/tender_price_view.js

@@ -287,7 +287,7 @@ let tender_obj={
                     let temNode = me.tenderTree.findNode(d.data.ID);
                     temObj = temNode?temNode.data:null;
                 }else if(d.type == ModuleNames.project){
-                    temObj = projectInfoObj.projectInfo;
+                    temObj = projectObj.project.projectInfo;
                 }
                 if(temObj){
                     for(let key in d.data){

+ 12 - 12
web/building_saas/report/js/rpt_main.js

@@ -61,22 +61,22 @@ let zTreeOprObj = {
     },
     getReportTemplateTree: function() {
         let me = zTreeOprObj, params = {};
-        params.engineerId = projectInfoObj.projectInfo.property.engineering;
+        params.engineerId = projectObj.project.projectInfo.property.engineering;
         let private_chk_hide = function (chkTplItem) {
             //考虑未来拓展,统一在此判断报表模板是否显示
             let rst = false;
             // if (chkTplItem.hasOwnProperty('flags') && chkTplItem.flags.hasOwnProperty('taxType') && chkTplItem.flags['taxType'] !== null &&
-            //     parseInt(chkTplItem.flags['taxType']) !== parseInt(projectInfoObj.projectInfo.property.taxType)) {
+            //     parseInt(chkTplItem.flags['taxType']) !== parseInt(projectObj.project.projectInfo.property.taxType)) {
             //     rst = true;
             // }
             //重庆养护系统的判断逻辑有所不同
             if (chkTplItem.hasOwnProperty('flags') && chkTplItem.flags.hasOwnProperty('valuationType') && chkTplItem.flags['valuationType'] !== null &&
-                chkTplItem.flags['valuationType'] !== projectInfoObj.projectInfo.property.valuationType) {
+                chkTplItem.flags['valuationType'] !== projectObj.project.projectInfo.property.valuationType) {
                 rst = true;
             }
             return rst;
         };
-        // projectInfoObj.projectInfo.property.taxType === 1 //1: 一般计税 2: 简易计税
+        // projectObj.project.projectInfo.property.taxType === 1 //1: 一般计税 2: 简易计税
         CommonAjax.postEx("report_tpl_api/getRptTplTree", params, 20000, true, function(result){
             let private_remove_hide_item = function (items, nlv) {
                 if (items && items.length > 0) {
@@ -111,7 +111,7 @@ let zTreeOprObj = {
     },
     getCustomerCfg: function() {
         let me = zTreeOprObj, params = {};
-        params.engineerId = projectInfoObj.projectInfo.property.engineering;
+        params.engineerId = projectObj.project.projectInfo.property.engineering;
         CommonAjax.postEx("report_tpl_api/getCustomizeCfg", params, 20000, true, function(result){
                 if (result) {
                     me.defReportPageCfg = result[0];
@@ -218,7 +218,7 @@ let zTreeOprObj = {
             let pageSize = rptControlObj.getCurrentPageSize();
             params.pageSize = pageSize;
             params.rpt_tpl_id = treeNode.refId;
-            params.prj_id = projectInfoObj.projectInfo.ID;
+            params.prj_id = projectObj.project.projectInfo.ID;
             params.custCfg = me.reportPageCfg;
             me.currentNode = treeNode;
             me.requestReport(params);
@@ -248,7 +248,7 @@ let zTreeOprObj = {
         params.pageSize = rptControlObj.getCurrentPageSize();
         params.orientation = rptControlObj.getCurrentOrientation();
         params.rpt_tpl_id = me.currentNode.refId;
-        params.prj_id = projectInfoObj.projectInfo.ID;
+        params.prj_id = projectObj.project.projectInfo.ID;
         params.custCfg = me.reportPageCfg;
         me.requestReport(params);
     },
@@ -394,13 +394,13 @@ let rptControlObj = {
     getAllInOneBook: function () {
         if (zTreeOprObj.checkedRptTplNodes && zTreeOprObj.checkedRptTplNodes.length > 0) {
             let me = rptControlObj;
-            let orgRptName = projectInfoObj.projectInfo.name;
+            let orgRptName = projectObj.project.projectInfo.name;
             let refRptTplIds = [];
             for (let node of zTreeOprObj.checkedRptTplNodes) {
                 refRptTplIds.push(node.refId);
             }
             let params = {};
-            params.prj_id = projectInfoObj.projectInfo.ID;
+            params.prj_id = projectObj.project.projectInfo.ID;
             params.rpt_ids = refRptTplIds;
             params.rptName = orgRptName;
             params.pageSize = me.getCurrentPageSize();
@@ -429,7 +429,7 @@ let rptControlObj = {
                 rpt_names.push(tplNode.name)
             }
             let params = {};
-            params.prj_id = projectInfoObj.projectInfo.ID;
+            params.prj_id = projectObj.project.projectInfo.ID;
             params.rpt_ids = rpt_ids;
             params.rpt_names = rpt_names;
             params.pageSize = me.getCurrentPageSize();
@@ -479,7 +479,7 @@ let rptControlObj = {
                 rpt_names.push(tplNode.name)
             }
             let params = {};
-            params.prj_id = projectInfoObj.projectInfo.ID;
+            params.prj_id = projectObj.project.projectInfo.ID;
             params.rpt_ids = rpt_ids;
             params.rpt_names = rpt_names;
             params.pageSize = me.getCurrentPageSize();
@@ -601,7 +601,7 @@ let rptControlObj = {
             let params = {};
             params.pageSize = rptControlObj.getCurrentPageSize();
             params.rpt_tpl_id = treeNode.refId;
-            params.prj_id = projectInfoObj.projectInfo.ID;
+            params.prj_id = projectObj.project.projectInfo.ID;
             params.custCfg = zTreeOprObj.reportPageCfg;
             zTreeOprObj.requestReport(params);
         }

+ 1 - 1
web/building_saas/report/js/rpt_print.js

@@ -10,7 +10,7 @@ let rptPrintHelper = {
             params.pageSize = rptControlObj.getCurrentPageSize();
             params.orientation = ((zTreeOprObj.checkedRptTplNodes.length > 1)?null:rptControlObj.getCurrentOrientation());
             params.custCfg = zTreeOprObj.reportPageCfg;
-            params.prj_id = projectInfoObj.projectInfo.ID;
+            params.prj_id = projectObj.project.projectInfo.ID;
             for (let tplNode of zTreeOprObj.checkedRptTplNodes) {
                 rptIds.push(tplNode.refId);
             }