Browse Source

Merge branch '1.0.0_online' of http://smartcost.f3322.net:3000/SmartCost/ConstructionCost into 1.0.0_online

zhangweicheng 6 years ago
parent
commit
b90a8e64b5

+ 1 - 0
config/gulpConfig.js

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

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

@@ -67,6 +67,8 @@ module.exports = {
         });
         });
     },
     },
     getProjects: async function(req, res){
     getProjects: async function(req, res){
+        console.log(`req.session.sessionCompilation`);
+        console.log(req.session.sessionCompilation);
          await ProjectsData.getUserProjects(req.session.sessionUser.id, req.session.sessionCompilation._id, function(err, message, projects){
          await ProjectsData.getUserProjects(req.session.sessionUser.id, req.session.sessionCompilation._id, function(err, message, projects){
             if (projects) {
             if (projects) {
                 callback(req, res, err, message, projects);
                 callback(req, res, err, message, projects);

+ 8 - 2
modules/reports/rpt_component/jpc_flow_tab.js

@@ -229,7 +229,10 @@ JpcFlowTabSrv.prototype.createNew = function(){
                     for (let j = 0; j < me.segments[i].length; j++) {
                     for (let j = 0; j < me.segments[i].length; j++) {
                         //3. start to sum
                         //3. start to sum
                         // rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(data_fields[di], me.segments[i][j]);
                         // rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(data_fields[di], me.segments[i][j]);
-                        rowGrandTotal[di] = rowGrandTotal[di] + parseFloat(parseFloat(JpcFieldHelper.getValue(data_fields[di], me.segments[i][j])).toFixed(precisionAmt));
+                        let sv = JpcFieldHelper.getValue(data_fields[di], me.segments[i][j]);
+                        if (sv) {
+                            rowGrandTotal[di] = rowGrandTotal[di] + parseFloat(parseFloat(sv).toFixed(precisionAmt));
+                        }
                     }
                     }
                 }
                 }
                 me.segSumValLst.push(rowGrandTotal);
                 me.segSumValLst.push(rowGrandTotal);
@@ -966,7 +969,10 @@ JpcFlowTabSrv.prototype.createNew = function(){
                             }
                             }
                             // rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(page_sum_data_fields[di], contentValuesIdx[rowIdx][2]);
                             // rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(page_sum_data_fields[di], contentValuesIdx[rowIdx][2]);
                             if (contentValuesIdx[rowIdx][2] >= 0) {
                             if (contentValuesIdx[rowIdx][2] >= 0) {
-                                rowGrandTotal[di] = rowGrandTotal[di] + parseFloat(parseFloat(JpcFieldHelper.getValue(page_sum_data_fields[di], contentValuesIdx[rowIdx][2])).toFixed(precisionAmt));
+                                let psv = JpcFieldHelper.getValue(page_sum_data_fields[di], contentValuesIdx[rowIdx][2]);
+                                if (psv) {
+                                    rowGrandTotal[di] = rowGrandTotal[di] + parseFloat(parseFloat(psv).toFixed(precisionAmt));
+                                }
                             }
                             }
                         }
                         }
                     }
                     }

+ 6 - 2
modules/reports/util/rpt_excel_util.js

@@ -432,9 +432,13 @@ function writeSheet(pageData, sheetData, paperSize, sharedStrList, stylesObj, ap
         return rst;
         return rst;
     };
     };
     let private_getSharedStrIdx = function(val) {
     let private_getSharedStrIdx = function(val) {
-        let rst = sharedStrList.indexOf(val);
+        let strVal = val;
+        if (val === null) {
+            strVal = "";
+        }
+        let rst = sharedStrList.indexOf(strVal);
         if (rst < 0) {
         if (rst < 0) {
-            sharedStrList.push(val);
+            sharedStrList.push(strVal);
             rst = sharedStrList.length - 1;
             rst = sharedStrList.length - 1;
         }
         }
         return rst;
         return rst;

+ 1 - 1
modules/reports/util/rpt_pdf_util.js

@@ -234,7 +234,7 @@ function export_pdf_file (pageData, paperSize, fName, callback) {
                     doc.fontSize(dftFontHeight);
                     doc.fontSize(dftFontHeight);
                     options.width = w;
                     options.width = w;
                     options.height = dftFontHeight;
                     options.height = dftFontHeight;
-                    doc.text(val,output[0], output[1], options);
+                    // doc.text(val,output[0], output[1], options);
                 } else {
                 } else {
                     let aH = dftFontHeight + JV.OUTPUT_OFFSET[JV.OFFSET_IDX_BOTTOM] + JV.OUTPUT_OFFSET[JV.OFFSET_IDX_TOP] + 4;
                     let aH = dftFontHeight + JV.OUTPUT_OFFSET[JV.OFFSET_IDX_BOTTOM] + JV.OUTPUT_OFFSET[JV.OFFSET_IDX_TOP] + 4;
                     if ((aH * actLines.length) < (area[JV.IDX_BOTTOM] - area[JV.IDX_TOP]) && (control && control.Vertical !== 'top')) {
                     if ((aH * actLines.length) < (area[JV.IDX_BOTTOM] - area[JV.IDX_TOP]) && (control && control.Vertical !== 'top')) {

+ 5 - 0
modules/users/controllers/cld_controller.js

@@ -22,7 +22,12 @@ class CLDController {
      * @return {Promise.<void>}
      * @return {Promise.<void>}
      */
      */
     async getCategoryStaff(request, response) {
     async getCategoryStaff(request, response) {
+        const zongBuCategoryID = 12;
         let category = request.query.category;
         let category = request.query.category;
+        if (!category || category == -1) {
+            category = request.session.sessionCompilation && request.session.sessionCompilation.categoryID ? request.session.sessionCompilation.categoryID : zongBuCategoryID;
+            console.log(category);
+        }
         try {
         try {
             let cldModel = new CLDModel();
             let cldModel = new CLDModel();
             let result = await cldModel.getCategoryStaff(category);
             let result = await cldModel.getCategoryStaff(category);

+ 66 - 0
public/web/headerOpr.js

@@ -0,0 +1,66 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Zhong
+ * @date 2018/11/30
+ * @version
+ */
+
+//header相关的公共操作接口
+const CommonHeader = (function () {
+    //帮助-联系客服
+    const csDom = $('#customerService');
+    //获取办事处客服列表
+    //@param {Number}category @return {void}
+    function getCategoryList(category = -1, titile = '') {
+        if (titile) {
+            $('#upgrade-title').text(titile);
+        }
+        $.ajax({
+            type: 'get',
+            url: '/cld/getCategoryStaff?category=' + category,
+            dataType: 'json',
+            timeout: 5000,
+            success: function (response) {
+                if (response.error !== 0) {
+                    alert('获取CLD人员信息失败!');
+                } else {
+                    let staffList = response.data;
+                    let staffhtml = '';
+                    $.each(staffList, function (key, staff) {
+                        staffhtml += '<div class="col-4 mb-4"> ' +
+                            '<div class="card"> ' +
+                            '<div class="card-body"> ' +
+                            '<h4 class="card-title">' + staff.username + '</h4> ' +
+                            '<h6 class="card-subtitle mb-2 text-muted">' + staff.category + '</h6> ' +
+                            '</div> ' +
+                            '<ul class="list-group list-group-flush"> ' +
+                            '<li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> ' + staff.qq + '</li> ' +
+                            '<li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> ' + staff.telephone + '</li> ' +
+                            '<li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> ' + staff.phone + '</li> ' +
+                            '</ul> </div> </div>';
+                    });
+                    $('#staffList').html(staffhtml);
+                    $('#activ').modal('show');
+                }
+            },
+            error: function () {
+                console.log('请求超时');
+            }
+        })
+    }
+    //绑定事件
+    //@return {void}
+    function addEventListener(){
+        csDom.click(function () {
+            getCategoryList(-1, '联系客服');
+        });
+    }
+    return {getCategoryList, addEventListener}
+})();
+
+$(document).ready(function(){
+    CommonHeader.addEventListener();
+});

+ 14 - 13
test/unit/reports/test_rpt_test_template.js

@@ -31,10 +31,10 @@ let demoPrjId = - 1;
 // let demoRptId = 337; //19表
 // let demoRptId = 337; //19表
 // let demoRptId = 361; //封1
 // let demoRptId = 361; //封1
 // let demoRptId = 279; //表04
 // let demoRptId = 279; //表04
-// let demoRptId = 261; //封3
-// let demoRptId = 458; //09
-// let demoRptId = 551; //05
-let demoRptId = 626; //06
+// let demoRptId = 448; //封3
+let demoRptId = 450; //09
+// let demoRptId = 704; //05
+// let demoRptId = 626; //06
 // let demoRptId = 451; //09-1
 // let demoRptId = 451; //09-1
 // let demoRptId = 452; //04
 // let demoRptId = 452; //04
 // let demoRptId = 612; //09-3
 // let demoRptId = 612; //09-3
@@ -42,6 +42,7 @@ let demoRptId = 626; //06
 // let demoRptId = 386; //04
 // let demoRptId = 386; //04
 // let demoRptId = 389; //10
 // let demoRptId = 389; //10
 // let demoRptId = 280; //11-1 暂列金
 // let demoRptId = 280; //11-1 暂列金
+// let demoRptId = 514; //12
 // let demoRptId = 2260; //测试基本信息
 // let demoRptId = 2260; //测试基本信息
 // let demoRptId = 613; //09-4 2018
 // let demoRptId = 613; //09-4 2018
 // let demoRptId = 726; //定制:清单子目表
 // let demoRptId = 726; //定制:清单子目表
@@ -56,8 +57,8 @@ let userId_HaiZhu = "5b5a66c4a3c23e000dccdd77"; //海珠user id
 // demoPrjId = 720; //QA: DW3
 // demoPrjId = 720; //QA: DW3
 //demoPrjId = 1626; //QA:
 //demoPrjId = 1626; //QA:
 // demoPrjId = 2260; //QA:
 // demoPrjId = 2260; //QA:
-// demoPrjId = 4529; //QA:
-demoPrjId = 4107; //UAT:
+demoPrjId = 4529; //QA:
+// demoPrjId = 4107; //UAT:
 //*/
 //*/
 let userId_Dft = userId_HaiZhu;
 let userId_Dft = userId_HaiZhu;
 // let userId_Dft = "5a025c4c15074d134c2b9689";
 // let userId_Dft = "5a025c4c15074d134c2b9689";
@@ -88,10 +89,10 @@ test('测试 - 测试模板啦: ', function (t) {
         rptTplDataFacade.prepareProjectData(userId_Dft, demoPrjId, filter, function (err, msg, rawDataObj) {
         rptTplDataFacade.prepareProjectData(userId_Dft, demoPrjId, filter, function (err, msg, rawDataObj) {
             if (!err) {
             if (!err) {
                 try {
                 try {
-                    fsUtil.writeObjToFile(rawDataObj, "D:/GitHome/ConstructionCost/tmp/rptTplRawDataObject_测试模板.jsp");
+                    // fsUtil.writeObjToFile(rawDataObj, "D:/GitHome/ConstructionCost/tmp/rptTplRawDataObject_测试模板.jsp");
                     let tplData = rptDataUtil.assembleData(rawDataObj);
                     let tplData = rptDataUtil.assembleData(rawDataObj);
-                    fsUtil.writeObjToFile(rawDataObj, "D:/GitHome/ConstructionCost/tmp/rptTplRawDataAfterCacl_测试模板.jsp");
-                    fsUtil.writeObjToFile(tplData, "D:/GitHome/ConstructionCost/tmp/rptTplAssembledData_测试模板.jsp");
+                    // fsUtil.writeObjToFile(rawDataObj, "D:/GitHome/ConstructionCost/tmp/rptTplRawDataAfterCacl_测试模板.jsp");
+                    // fsUtil.writeObjToFile(tplData, "D:/GitHome/ConstructionCost/tmp/rptTplAssembledData_测试模板.jsp");
                     //it's time to build the report!!!
                     //it's time to build the report!!!
                     let printCom = JpcEx.createNew();
                     let printCom = JpcEx.createNew();
                     rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = pagesize;
                     rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = pagesize;
@@ -103,10 +104,10 @@ test('测试 - 测试模板啦: ', function (t) {
                     let customizeCfg = {"fillZero": true};
                     let customizeCfg = {"fillZero": true};
                     let pageRst = printCom.outputAsSimpleJSONPageArray(rptTpl, tplData, 1, maxPages, defProperties, customizeCfg);
                     let pageRst = printCom.outputAsSimpleJSONPageArray(rptTpl, tplData, 1, maxPages, defProperties, customizeCfg);
                     if (pageRst) {
                     if (pageRst) {
-                        fsUtil.writeObjToFile(pageRst, "D:/GitHome/ConstructionCost/tmp/testBuiltPageResult_测试模板.jsp");
-                        // rpt_xl_util.exportExcel(pageRst, pagesize, "local_test_rpt_excel", true, null, null, function(uuidName){
-                        //     console.log("excel uuid: " + uuidName);
-                        // });
+                        // fsUtil.writeObjToFile(pageRst, "D:/GitHome/ConstructionCost/tmp/testBuiltPageResult_测试模板.jsp");
+                        rpt_xl_util.exportExcel(pageRst, pagesize, "local_test_rpt_excel", true, null, null, function(uuidName){
+                            console.log("excel uuid: " + uuidName);
+                        });
                         // rpt_pdf_util.export_pdf_file(pageRst, pagesize, 'local_test_rpt_pdf', function(uuidName){
                         // rpt_pdf_util.export_pdf_file(pageRst, pagesize, 'local_test_rpt_pdf', function(uuidName){
                         //     console.log("pdf uuid: " + uuidName);
                         //     console.log("pdf uuid: " + uuidName);
                         // });
                         // });

+ 3 - 3
test/unit/reports/test_tpl_05.js

@@ -26,13 +26,13 @@ cfgCacheUtil.setupDftCache();
 let fsUtil = require("../../../public/fsUtil");
 let fsUtil = require("../../../public/fsUtil");
 
 
 let demoPrjId = - 1;
 let demoPrjId = - 1;
-// let demoRptId = 551; //05
-let demoRptId = 626; //06
+let demoRptId = 704; //05
+// let demoRptId = 626; //06
 let pagesize = "A4";
 let pagesize = "A4";
 
 
 // demoPrjId = 720; //QA: DW3
 // demoPrjId = 720; //QA: DW3
 // demoPrjId = 4563; //QA:
 // demoPrjId = 4563; //QA:
-demoPrjId = 4107; //UAT:
+demoPrjId = 4529; //UAT:
 //*/
 //*/
 // let userId_Leng = "59cdf14a0034a1000ba52b97"; //小冷User Id 换成_id了
 // let userId_Leng = "59cdf14a0034a1000ba52b97"; //小冷User Id 换成_id了
 let userId_Leng = "5b5a66c4a3c23e000dccdd77"; //海珠的 _id
 let userId_Leng = "5b5a66c4a3c23e000dccdd77"; //海珠的 _id

+ 9 - 15
web/building_saas/main/js/views/block_lib.js

@@ -84,12 +84,10 @@ var blockLibObj = {
             me.mainSpread.destroy();
             me.mainSpread.destroy();
             me.mainSpread = null;
             me.mainSpread = null;
         };
         };
-
         if (me.billSpread) {
         if (me.billSpread) {
             me.billSpread.destroy();
             me.billSpread.destroy();
             me.billSpread = null;
             me.billSpread = null;
         };
         };
-
         if (me.rationSpread) {
         if (me.rationSpread) {
             me.rationSpread.destroy();
             me.rationSpread.destroy();
             me.rationSpread = null;
             me.rationSpread = null;
@@ -100,10 +98,8 @@ var blockLibObj = {
         me.mainSheet = me.mainSpread.getSheet(0);
         me.mainSheet = me.mainSpread.getSheet(0);
         me.mainSheet.name('blockLibSheet');
         me.mainSheet.name('blockLibSheet');
         sheetCommonObj.spreadDefaultStyle(me.mainSpread);
         sheetCommonObj.spreadDefaultStyle(me.mainSpread);
-        // me.mainSpread.bind(GC.Spread.Sheets.Events.CellDoubleClick, this.onCellDoubleClick);
-        me.mainSpread.bind(GC.Spread.Sheets.Events.EnterCell, me.onEnterCell);
 
 
-        var showblockTree = function (datas) {
+        function showBlockTree(datas) {
             me.mainTree = idTree.createNew({id: 'ID', pid: 'ParentID', nid: 'NextSiblingID', rootId: -1, autoUpdate: false});
             me.mainTree = idTree.createNew({id: 'ID', pid: 'ParentID', nid: 'NextSiblingID', rootId: -1, autoUpdate: false});
             me.mainTreeController = TREE_SHEET_CONTROLLER.createNew(me.mainTree, me.mainSheet, me.mainSetting);
             me.mainTreeController = TREE_SHEET_CONTROLLER.createNew(me.mainTree, me.mainSheet, me.mainSetting);
             me.mainTree.loadDatas(datas);
             me.mainTree.loadDatas(datas);
@@ -114,16 +110,7 @@ var blockLibObj = {
                 blockLibObj.loadDetailDatas(node);
                 blockLibObj.loadDetailDatas(node);
             });
             });
         };
         };
-
-/*        CommonAjax.post('/complementaryRation/api/getRationTree', {userId: userID, rationRepId: rationLibID}, function (datas) {
-            showblockTree(datas);
-            $.bootstrapLoading.end();
-        }, function () {
-            showblockTree([]);
-            $.bootstrapLoading.end();
-        });*/
-
-        showblockTree(me.mainDatas);
+        showBlockTree(me.mainDatas);
 
 
         me.billSpread = sheetCommonObj.buildSheet($('#div_block_bill')[0], me.billSetting, 1);
         me.billSpread = sheetCommonObj.buildSheet($('#div_block_bill')[0], me.billSetting, 1);
         me.billSheet = me.billSpread.getSheet(0);
         me.billSheet = me.billSpread.getSheet(0);
@@ -137,6 +124,9 @@ var blockLibObj = {
 
 
         me.loadTreeContextMenu();
         me.loadTreeContextMenu();
 
 
+        me.mainSpread.bind(GC.Spread.Sheets.Events.EnterCell, me.onEnterCell);
+        me.mainSpread.bind(GC.Spread.Sheets.Events.CellDoubleClick, this.onCellDoubleClick);
+
         $.bootstrapLoading.end();
         $.bootstrapLoading.end();
     },
     },
     loadDetailDatas: function (node){
     loadDetailDatas: function (node){
@@ -529,6 +519,10 @@ var blockLibObj = {
     onEnterCell: function (sender, args) {
     onEnterCell: function (sender, args) {
         let me = blockLibObj;
         let me = blockLibObj;
         me.mainTree.selected = me.mainTree.items[me.mainSheet.getActiveRowIndex()];
         me.mainTree.selected = me.mainTree.items[me.mainSheet.getActiveRowIndex()];
+    },
+    onCellDoubleClick: function (sender, args) {
+        let me = blockLibObj;
+        //
     }
     }
 };
 };
 
 

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

@@ -1503,7 +1503,7 @@ var projectObj = {
                 },
                 },
                 "createBlocks":{
                 "createBlocks":{
                     name:'生成组价模板',
                     name:'生成组价模板',
-                    icon: 'fa-edit',
+                    icon: 'fa-puzzle-piece',
                     disabled:function (key,opt) {
                     disabled:function (key,opt) {
                         let selected = project.mainTree.selected;
                         let selected = project.mainTree.selected;
                         return selected.sourceType != ModuleNames.bills;
                         return selected.sourceType != ModuleNames.bills;

+ 32 - 15
web/building_saas/main/js/views/sub_view.js

@@ -368,8 +368,8 @@ function saveAddRule(){
 }
 }
 
 
 // 添加位置选择
 // 添加位置选择
-$("#add-position").change(function() {
-    const selected = $(this).children(":selected").val();
+function changeAddPosition(save = false) {
+    const selected = $('#add-position').children(":selected").val();
     const addContentEle = $("#add-content");
     const addContentEle = $("#add-content");
     const displayFormatEle = $("#display-format");
     const displayFormatEle = $("#display-format");
     const characterFormatEle = $("#character-format");
     const characterFormatEle = $("#character-format");
@@ -391,11 +391,16 @@ $("#add-position").change(function() {
             addContentEle.val(1);
             addContentEle.val(1);
             break;
             break;
     }
     }
-    saveAddRule();
+    if (save) {
+        saveAddRule();
+    }
+}
+$("#add-position").change(function() {
+    changeAddPosition(true);
 });
 });
 // 添加内容选择
 // 添加内容选择
-$("#add-content").change(function() {
-    const selected = $(this).children(":selected").val();
+function changeAddContent(save = false) {
+    const selected = $('#add-content').children(":selected").val();
     const characterFormatEle = $("#character-format");
     const characterFormatEle = $("#character-format");
     const childDisplayFormatEle = $("#child-display-format");
     const childDisplayFormatEle = $("#child-display-format");
     const serialTypeEle = $("#serial-type");
     const serialTypeEle = $("#serial-type");
@@ -435,7 +440,12 @@ $("#add-content").change(function() {
             childDisplayFormatEle.attr('disabled', 'disabled');
             childDisplayFormatEle.attr('disabled', 'disabled');
             break;
             break;
     }
     }
-    saveAddRule();
+    if (save) {
+        saveAddRule();
+    }
+}
+$("#add-content").change(function() {
+    changeAddContent(true);
 });
 });
 
 
 //显示格式
 //显示格式
@@ -449,11 +459,12 @@ $('#character-format').change(function () {
 });
 });
 
 
 // 子目生成方式选择事件
 // 子目生成方式选择事件
-$("#child-display-format").change(function() {
-    const selected = $(this).children(":selected").val();
+function changeChildDisplay(save = false) {
+    const selected = $('#child-display-format').children(":selected").val();
     const serialTypeEle = $("#serial-type");
     const serialTypeEle = $("#serial-type");
-    // 如果是编号+定额名称则序号格式不能选择
-    if (selected === '1') {
+    const addContent = $('#add-content').val();
+    // 如果添加内容是定额子目且子目生成方式是编号+定额名称则序号格式不能选择
+    if (addContent === '5' && selected === '1') {
         // 默认选中数字显示模式
         // 默认选中数字显示模式
         serialTypeEle.val("");
         serialTypeEle.val("");
         serialTypeEle.attr('disabled', 'disabled');
         serialTypeEle.attr('disabled', 'disabled');
@@ -461,7 +472,13 @@ $("#child-display-format").change(function() {
         serialTypeEle.val(1);
         serialTypeEle.val(1);
         serialTypeEle.removeAttr('disabled');
         serialTypeEle.removeAttr('disabled');
     }
     }
-    saveAddRule();
+    if (save) {
+        saveAddRule();
+    }
+
+}
+$("#child-display-format").change(function() {
+    changeChildDisplay(true);
 });
 });
 
 
 //序号格式
 //序号格式
@@ -511,17 +528,17 @@ function setRule(setting) {
         return;
         return;
     }
     }
     $("#add-position").val(setting.position);
     $("#add-position").val(setting.position);
-    $("#add-position").change();
+    changeAddPosition(false);
 
 
     $("#add-content").val(setting.addContent);
     $("#add-content").val(setting.addContent);
-    $("#add-content").change();
+    changeAddContent(false);
 
 
     $("#display-format").val(setting.displayFormat);
     $("#display-format").val(setting.displayFormat);
 
 
     $("#character-format").val(setting.characterFormat);
     $("#character-format").val(setting.characterFormat);
 
 
     $("#child-display-format").val(setting.childDisplayFormat);
     $("#child-display-format").val(setting.childDisplayFormat);
-    $("#child-display-format").change();
+    changeChildDisplay(false);
 
 
     $("#serial-type").val(setting.serialType);
     $("#serial-type").val(setting.serialType);
 
 
@@ -547,8 +564,8 @@ function refreshSubSpread(){
     } else{
     } else{
         if(subSpread) subSpread.refresh();
         if(subSpread) subSpread.refresh();
         if(MaterialController.spread) MaterialController.spread.refresh();
         if(MaterialController.spread) MaterialController.spread.refresh();
-        BillsElf.refreshWorkBook();
     }
     }
+    BillsElf.refreshWorkBook();
     if($('#linkZMHS').hasClass('active')) zmhs_obj.refresh();
     if($('#linkZMHS').hasClass('active')) zmhs_obj.refresh();
     if($('#linkMBZM').hasClass('active')) mbzm_obj.refresh();
     if($('#linkMBZM').hasClass('active')) mbzm_obj.refresh();
 }
 }

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

@@ -65,7 +65,7 @@ let zTreeOprObj = {
         let private_chk_hide = function (chkTplItem) {
         let private_chk_hide = function (chkTplItem) {
             //考虑未来拓展,统一在此判断报表模板是否显示
             //考虑未来拓展,统一在此判断报表模板是否显示
             let rst = false;
             let rst = false;
-            if (chkTplItem.hasOwnProperty('flags') && chkTplItem.flags.hasOwnProperty('taxType') &&
+            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(projectInfoObj.projectInfo.property.taxType)) {
                 rst = true;
                 rst = true;
             }
             }

+ 106 - 7
web/common/html/header.html

@@ -53,13 +53,13 @@
             <li class="nav-item dropdown">
             <li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-question-circle-o" data-placement="bottom"></i> 帮助</a>
                 <a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-question-circle-o" data-placement="bottom"></i> 帮助</a>
                 <div class="dropdown-menu dropdown-menu-right">
                 <div class="dropdown-menu dropdown-menu-right">
-                    <a class="dropdown-item" href="#">帮助</a>
+                    <!--<a class="dropdown-item" href="#">帮助</a>
                     <a class="dropdown-item" href="#">升级说明</a>
                     <a class="dropdown-item" href="#">升级说明</a>
-                    <a class="dropdown-item" href="#">重庆市2008定额说明</a>
-                    <a class="dropdown-item" href="#">纵横官网</a>
-                    <a class="dropdown-item" href="#">动画教程</a>
-                    <a class="dropdown-item" href="#">联系客服</a>
-                    <a class="dropdown-item" href="#">关于</a>
+                    <a class="dropdown-item" href="#">重庆市2008定额说明</a>-->
+                    <a class="dropdown-item" href="https://smartcost.com.cn/" target="_blank">纵横官网</a>
+                  <!--  <a class="dropdown-item" href="#">动画教程</a>-->
+                    <a id="customerService" class="dropdown-item" href="javascript:void(0);">联系客服</a>
+                  <!--  <a class="dropdown-item" href="#">关于</a>-->
                 </div>
                 </div>
             </li>
             </li>
           <!--  <li class="nav-item">
           <!--  <li class="nav-item">
@@ -141,6 +141,105 @@
         </div>
         </div>
     </div>
     </div>
 </div>
 </div>
+<!--激活产品 & 售后服务 & 联系客服-->
+<!--办事处客服列表-->
+<div class="modal fade" id="activ" data-backdrop="static" style="display: none;" aria-hidden="true">
+    <div class="modal-dialog modal-lg" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title" id="upgrade-title">联系销售代表激活</h5>
+                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                    <span aria-hidden="true">×</span>
+                </button>
+            </div>
+            <div class="modal-body">
+                <div class="row px-3" id="staffList">
+                    <div class="col-4 mb-4">
+                        <div class="card">
+                            <div class="card-body">
+                                <h4 class="card-title">刘飞</h4>
+                                <h6 class="card-subtitle mb-2 text-muted">广东办</h6>
+                            </div>
+                            <ul class="list-group list-group-flush">
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> 914630468</li>
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> 15812644017</li>
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> 0756-3850891</li>
+                            </ul>
+                        </div>
+                    </div>
+                    <div class="col-4 mb-4">
+                        <div class="card">
+                            <div class="card-body">
+                                <h4 class="card-title">姜栋</h4>
+                                <h6 class="card-subtitle mb-2 text-muted">广东办</h6>
+                            </div>
+                            <ul class="list-group list-group-flush">
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> 914630468</li>
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> 15812644017</li>
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> 0756-3850891</li>
+                            </ul>
+                        </div>
+                    </div>
+                    <div class="col-4 mb-4">
+                        <div class="card">
+                            <div class="card-body">
+                                <h4 class="card-title">冯娟</h4>
+                                <h6 class="card-subtitle mb-2 text-muted">广东办</h6>
+                            </div>
+                            <ul class="list-group list-group-flush">
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> 914630468</li>
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> 15812644017</li>
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> 0756-3850891</li>
+                            </ul>
+                        </div>
+                    </div>
+                    <div class="col-4 mb-4">
+                        <div class="card">
+                            <div class="card-body">
+                                <h4 class="card-title">何耀</h4>
+                                <h6 class="card-subtitle mb-2 text-muted">广东办</h6>
+                            </div>
+                            <ul class="list-group list-group-flush">
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> 914630468</li>
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> 15812644017</li>
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> 0756-3850891</li>
+                            </ul>
+                        </div>
+                    </div>
+                    <div class="col-4 mb-4">
+                        <div class="card">
+                            <div class="card-body">
+                                <h4 class="card-title">杨克松</h4>
+                                <h6 class="card-subtitle mb-2 text-muted">广东办</h6>
+                            </div>
+                            <ul class="list-group list-group-flush">
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> 914630468</li>
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> 15812644017</li>
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> 0756-3850891</li>
+                            </ul>
+                        </div>
+                    </div>
+                    <div class="col-4 mb-4">
+                        <div class="card">
+                            <div class="card-body">
+                                <h4 class="card-title">黄俊杰</h4>
+                                <h6 class="card-subtitle mb-2 text-muted">广东办</h6>
+                            </div>
+                            <ul class="list-group list-group-flush">
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> 914630468</li>
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> 15812644017</li>
+                                <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> 0756-3850891</li>
+                            </ul>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+            </div>
+        </div>
+    </div>
+</div>
 <!-- inject:js -->
 <!-- inject:js -->
 <script src="/lib/jquery/jquery-3.2.1.min.js"></script>
 <script src="/lib/jquery/jquery-3.2.1.min.js"></script>
 <script type="text/javascript" src="/lib/jquery-ui/jquery-ui.min.js"></script>
 <script type="text/javascript" src="/lib/jquery-ui/jquery-ui.min.js"></script>
@@ -153,6 +252,6 @@
 <script type="text/javascript" src="/public/web/PerfectLoad.js"></script>
 <script type="text/javascript" src="/public/web/PerfectLoad.js"></script>
 <script type="text/javascript" src="/lib/lodash/lodash.js"></script>
 <script type="text/javascript" src="/lib/lodash/lodash.js"></script>
 <script type="text/javascript" src="/public/web/commonAlert.js"></script>
 <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="/lib/jquery-editable-select/jquery.editable-select.min.js"></script>
 <script type="text/javascript" src="/lib/jquery-editable-select/jquery.editable-select.min.js"></script>
-
 <!-- endinject -->
 <!-- endinject -->

+ 2 - 1
web/users/html/login.html

@@ -76,6 +76,7 @@
                     <h5 class="modal-title">验证手机号</h5>
                     <h5 class="modal-title">验证手机号</h5>
                 </div>
                 </div>
                 <div class="modal-body">
                 <div class="modal-body">
+                    <p class=""><i class="text-danger fa fa-exclamation-triangle"></i> 您的通行账号未绑定手机号,请先验证手机号进行绑定。</p>
                     <input type="hidden" id="check_ssoId" value="" />
                     <input type="hidden" id="check_ssoId" value="" />
                     <div class="form-row">
                     <div class="form-row">
                         <div class="form-group col-md-8">
                         <div class="form-group col-md-8">
@@ -96,8 +97,8 @@
                     </div>
                     </div>
                 </div>
                 </div>
                 <div class="modal-footer">
                 <div class="modal-footer">
-                    <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
                     <button class="btn btn-primary" id="check-code">确定</button>
                     <button class="btn btn-primary" id="check-code">确定</button>
+                    <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
                 </div>
                 </div>
             </div>
             </div>
         </div>
         </div>

+ 0 - 98
web/users/html/user-buy.html

@@ -110,104 +110,6 @@
             </div>
             </div>
         </div>
         </div>
     </div>
     </div>
-    <!--激活产品 & 售后服务-->
-    <div class="modal fade" id="activ" data-backdrop="static" style="display: none;" aria-hidden="true">
-        <div class="modal-dialog modal-lg" role="document">
-            <div class="modal-content">
-                <div class="modal-header">
-                  <h5 class="modal-title" id="upgrade-title">联系销售代表激活</h5>
-                  <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                    <span aria-hidden="true">×</span>
-                  </button>
-                </div>
-                <div class="modal-body">
-                  <div class="row px-3" id="staffList">
-                    <div class="col-4 mb-4">
-                      <div class="card">
-                        <div class="card-body">
-                          <h4 class="card-title">刘飞</h4>
-                          <h6 class="card-subtitle mb-2 text-muted">广东办</h6>
-                        </div>
-                        <ul class="list-group list-group-flush">
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> 914630468</li>
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> 15812644017</li>
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> 0756-3850891</li>
-                        </ul>
-                      </div>
-                    </div>
-                    <div class="col-4 mb-4">
-                      <div class="card">
-                        <div class="card-body">
-                          <h4 class="card-title">姜栋</h4>
-                          <h6 class="card-subtitle mb-2 text-muted">广东办</h6>
-                        </div>
-                        <ul class="list-group list-group-flush">
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> 914630468</li>
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> 15812644017</li>
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> 0756-3850891</li>
-                        </ul>
-                      </div>
-                    </div>
-                    <div class="col-4 mb-4">
-                      <div class="card">
-                        <div class="card-body">
-                          <h4 class="card-title">冯娟</h4>
-                          <h6 class="card-subtitle mb-2 text-muted">广东办</h6>
-                        </div>
-                        <ul class="list-group list-group-flush">
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> 914630468</li>
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> 15812644017</li>
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> 0756-3850891</li>
-                        </ul>
-                      </div>
-                    </div>
-                    <div class="col-4 mb-4">
-                      <div class="card">
-                        <div class="card-body">
-                          <h4 class="card-title">何耀</h4>
-                          <h6 class="card-subtitle mb-2 text-muted">广东办</h6>
-                        </div>
-                        <ul class="list-group list-group-flush">
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> 914630468</li>
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> 15812644017</li>
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> 0756-3850891</li>
-                        </ul>
-                      </div>
-                    </div>
-                    <div class="col-4 mb-4">
-                      <div class="card">
-                        <div class="card-body">
-                          <h4 class="card-title">杨克松</h4>
-                          <h6 class="card-subtitle mb-2 text-muted">广东办</h6>
-                        </div>
-                        <ul class="list-group list-group-flush">
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> 914630468</li>
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> 15812644017</li>
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> 0756-3850891</li>
-                        </ul>
-                      </div>
-                    </div>
-                    <div class="col-4 mb-4">
-                      <div class="card">
-                        <div class="card-body">
-                          <h4 class="card-title">黄俊杰</h4>
-                          <h6 class="card-subtitle mb-2 text-muted">广东办</h6>
-                        </div>
-                        <ul class="list-group list-group-flush">
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> 914630468</li>
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> 15812644017</li>
-                          <li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> 0756-3850891</li>
-                        </ul>
-                      </div>
-                    </div>
-                  </div>
-                </div>
-                <div class="modal-footer">
-                  <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
-                </div>
-            </div>
-        </div>
-    </div>
     <!-- JS. -->
     <!-- JS. -->
   <script src="/web/building_saas/js/global.js"></script>
   <script src="/web/building_saas/js/global.js"></script>
   <script src="/web/users/js/user.js"></script>
   <script src="/web/users/js/user.js"></script>

+ 1 - 32
web/users/js/user.js

@@ -26,38 +26,7 @@ $(document).ready(function() {
         } else {
         } else {
             $('#upgrade-title').text('联系销售代表激活');
             $('#upgrade-title').text('联系销售代表激活');
         }
         }
-        $.ajax({
-            type: 'get',
-            url: '/cld/getCategoryStaff?category=' + category,
-            dataType: 'json',
-            timeout: 5000,
-            success: function (response) {
-                if (response.error !== 0) {
-                    alert('获取CLD人员信息失败!');
-                } else {
-                    let staffList = response.data;
-                    let staffhtml = '';
-                    $.each(staffList, function (key, staff) {
-                        staffhtml += '<div class="col-4 mb-4"> ' +
-                            '<div class="card"> ' +
-                            '<div class="card-body"> ' +
-                            '<h4 class="card-title">' + staff.username + '</h4> ' +
-                            '<h6 class="card-subtitle mb-2 text-muted">' + staff.category + '</h6> ' +
-                            '</div> ' +
-                            '<ul class="list-group list-group-flush"> ' +
-                            '<li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="腾讯QQ"><i class="fa fa-qq"></i> ' + staff.qq + '</li> ' +
-                            '<li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="手机号码"><i class="fa fa-tablet"></i> ' + staff.telephone + '</li> ' +
-                            '<li class="list-group-item" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="固定电话"><i class="fa fa-phone"></i> ' + staff.phone + '</li> ' +
-                            '</ul> </div> </div>';
-                    });
-                    $('#staffList').html(staffhtml);
-                    $('#activ').modal('show');
-                }
-            },
-            error: function () {
-                console.log('请求超时');
-            }
-        })
+        CommonHeader.getCategoryList(category);
     })
     })
 });
 });