浏览代码

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

zhongzewei 6 年之前
父节点
当前提交
d710aa262a

+ 1 - 0
config/gulpConfig.js

@@ -133,6 +133,7 @@ module.exports = {
         'web/building_saas/main/js/views/importBills.js',
         'public/web/rpt_tpl_def.js',
         'public/web/treeDataHelper.js',
+        'public/web/string_util_light.js',
         'public/web/ztree_common.js',
         'web/building_saas/report/js/rpt_main.js',
         'web/building_saas/report/js/rpt_cfg_const.js',

+ 1 - 1
modules/fee_rates/facade/fee_rates_facade.js

@@ -283,7 +283,7 @@ async function newFeeRateFile(userId, updateData){
                 newFeeRate.name = temFee.name;
                 return newFeeRate;
             }
-            let temA = feeFile.id.split("-");
+            let temA = feeFile.id.split("@@");
             let libID = temA[1];
             let doc={
                 userID: userId,

+ 14 - 0
modules/reports/rpt_component/helper/jpc_helper_field.js

@@ -13,6 +13,19 @@ let JpcFieldHelper = {
             dataField[valueIdx] = newValue;
         }
     },
+    resetSumFormat: function(ref_tab_fields, sum_tab_field) {
+        let rst = false;
+        if (ref_tab_fields && ref_tab_fields.length > 0) {
+            for (let tab_field of ref_tab_fields) {
+                if (tab_field[JV.PROP_FIELD_ID] === sum_tab_field[JV.PROP_FIELD_ID]) {
+                    rst = true;
+                    sum_tab_field[JV.PROP_FORMAT] = tab_field[JV.PROP_FORMAT];
+                    break;
+                }
+            }
+        }
+        return rst;
+    },
     resetFormat: function (tab_field, map_field, customizeCfg) {
         if (map_field && map_field[JV.PROP_PRECISION] && map_field[JV.PROP_PRECISION].type === "fixed") {
             let formatStrs = ["#."], ffStr = (customizeCfg && customizeCfg.fillZero)?"0":"#";
@@ -24,6 +37,7 @@ let JpcFieldHelper = {
             } else {
                 tab_field[JV.PROP_FORMAT] = formatStrs.join("");
             }
+            map_field[JV.PROP_FORMAT] = tab_field[JV.PROP_FORMAT]; //这里顺手把format也赋给map_field,后期统计用得着
         }
     },
     resetFlexibleFormat: function (tab_field, ref_field_data, flexiblePrecisionRefObj, valueIdx, customizeCfg) {

+ 23 - 3
modules/reports/rpt_component/jpc_flow_tab.js

@@ -690,9 +690,9 @@ JpcFlowTabSrv.prototype.createNew = function(){
             // 2.2 Column tab
             tabRstLst.push(me.outputColumn(rptTpl, dataObj, page, segIdx, bands, unitFactor, 0));
             // 2.3 Sum Seg
-            tabRstLst.push(me.outputSegSum(rptTpl, dataObj, page, segIdx, bands, unitFactor, controls));
+            tabRstLst.push(me.outputSegSum(rptTpl, dataObj, page, segIdx, bands, unitFactor, controls, $CURRENT_RPT));
             // 2.4 Sum Page
-            tabRstLst.push(me.outputPageSum(rptTpl, dataObj, page, segIdx, bands, unitFactor, controls));
+            tabRstLst.push(me.outputPageSum(rptTpl, dataObj, page, segIdx, bands, unitFactor, controls, $CURRENT_RPT));
             // 2.5 Group
             // 2.6 Discrete
             tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[FLOW_NODE_STR][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, 1, 0, $CURRENT_RPT, customizeCfg));
@@ -941,12 +941,22 @@ JpcFlowTabSrv.prototype.createNew = function(){
         let me = this, rst = [];
         let FLOW_NODE_STR = me.isEx?JV.NODE_FLOW_INFO_EX:JV.NODE_FLOW_INFO;
         let tab = rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_SEG_SUM];
+        let refTab = rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_CONTENT];
+        let refTabEx = (rptTpl[JV.NODE_FLOW_INFO_EX])?rptTpl[JV.NODE_FLOW_INFO_EX][JV.NODE_FLOW_CONTENT]:null;
         let band = bands[tab[JV.PROP_BAND_NAME]];
         if (band) {
             let pageStatus = me.pageStatusLst[page - 1];
             if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]]) {
+                let ref_tab_fields = refTab[JV.PROP_FLOW_FIELDS];
+                let ref_tab_fields_ex = refTabEx?refTabEx[JV.PROP_FLOW_FIELDS]:null;
                 let tab_fields = me.seg_sum_tab_fields;
                 for (let i = 0; i < tab_fields.length; i++) {
+                    if (!JpcFieldHelper.resetSumFormat(ref_tab_fields, tab_fields[i])) {
+                        if (!JpcFieldHelper.resetSumFormat(ref_tab_fields_ex, tab_fields[i])) {
+                            let map_data_field = JE.F(tab_fields[i][JV.PROP_FIELD_ID], $CURRENT_RPT);
+                            tab_fields[i][JV.PROP_FORMAT] = map_data_field[JV.PROP_FORMAT];
+                        }
+                    }
                     let sumVal = 0;
                     if (me.segSumValLst[segIdx] && me.segSumValLst[segIdx].length > i) {
                         sumVal = me.segSumValLst[segIdx][i];
@@ -961,16 +971,26 @@ JpcFlowTabSrv.prototype.createNew = function(){
         }
         return rst;
     };
-    JpcFlowTabResult.outputPageSum = function (rptTpl, dataObj, page, segIdx, bands, unitFactor, controls) {
+    JpcFlowTabResult.outputPageSum = function (rptTpl, dataObj, page, segIdx, bands, unitFactor, controls, $CURRENT_RPT) {
         let me = this, rst = [];
         let FLOW_NODE_STR = me.isEx?JV.NODE_FLOW_INFO_EX:JV.NODE_FLOW_INFO;
         let tab = rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_PAGE_SUM];
+        let refTab = rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_CONTENT];
+        let refTabEx = (rptTpl[JV.NODE_FLOW_INFO_EX])?rptTpl[JV.NODE_FLOW_INFO_EX][JV.NODE_FLOW_CONTENT]:null;
         let band = bands[tab[JV.PROP_BAND_NAME]];
         if (band) {
             let pageStatus = me.pageStatusLst[page - 1];
             if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]]) {
+                let ref_tab_fields = refTab[JV.PROP_FLOW_FIELDS];
+                let ref_tab_fields_ex = refTabEx?refTabEx[JV.PROP_FLOW_FIELDS]:null;
                 let tab_fields = me.page_sum_tab_fields;
                 for (let i = 0; i < tab_fields.length; i++) {
+                    if (!JpcFieldHelper.resetSumFormat(ref_tab_fields, tab_fields[i])) {
+                        if (!JpcFieldHelper.resetSumFormat(ref_tab_fields_ex, tab_fields[i])) {
+                            let map_data_field = JE.F(tab_fields[i][JV.PROP_FIELD_ID], $CURRENT_RPT);
+                            tab_fields[i][JV.PROP_FORMAT] = map_data_field[JV.PROP_FORMAT];
+                        }
+                    }
                     let cellItem = JpcCommonOutputHelper.createCommonOutput(tab_fields[i], me.pageSumValLst[page - 1][i], controls);
                     cellItem[JV.PROP_AREA] = JpcAreaHelper.outputArea(tab_fields[i][JV.PROP_AREA], band, unitFactor, 1, 0, 1, 0, me.multiCols, 0, true, false);
                     rst.push(cellItem);

+ 2 - 2
test/unit/reports/test_rpt_test_template.js

@@ -32,8 +32,8 @@ let demoPrjId = - 1;
 // let demoRptId = 361; //封1
 // let demoRptId = 279; //表04
 // let demoRptId = 261; //封3
-// let demoRptId = 401; //09
-let demoRptId = 389; //10
+let demoRptId = 418; //09
+// let demoRptId = 389; //10
 // let demoRptId = 280; //11-1 暂列金
 // let demoRptId = 2260; //测试基本信息
 let pagesize = "A4";

+ 35 - 0
web/building_saas/css/custom.css

@@ -99,4 +99,39 @@ legend.legend{
     border-color:transparent transparent #000 transparent;}
 .elf-options:hover{
     background-color: #CCCCCC;
+}
+
+.inline-div{
+    display:inline;
+}
+
+/*快捷切换单位工程*/
+
+
+
+
+
+/*.menu a:hover {
+    color: #fff;
+    background: #40DE5A;
+}*/
+
+
+.menu ul ul {
+    visibility: hidden;
+    position: absolute;
+    top: -1px;
+    left: 100px;
+}
+
+.menu ul li:hover ul, .menu ul a:hover ul {
+    visibility: visible;
+}
+
+.menu ul :hover ul ul {
+    visibility: hidden;
+}
+
+.menu ul :hover ul :hover ul {
+    visibility: visible;
 }

+ 34 - 0
web/building_saas/css/main.css

@@ -411,3 +411,37 @@ a{
     background-color:black;
 }
 */
+/*快捷切换单位工程*/
+.navbar-crumb{
+    position: relative;
+}
+.navbar-crumb .f-nav,.navbar-crumb .s-nav{
+    position: absolute;
+    z-index: 999;
+    width: 200px;
+    background:#fff;
+    border: 1px solid rgba(0,0,0,.15);
+    padding: .5rem 0;
+}
+.navbar-crumb .f-nav{
+    right:50px;
+    top:35px;
+}
+.navbar-crumb .s-nav{
+    left:200px
+}
+.navbar-crumb .f-nav li{
+    padding: .25rem 1rem;
+    cursor: default;
+}
+.navbar-crumb .f-nav li.focus{
+    color: #16181b;
+    background-color: #f7f7f9;
+}
+
+.navbar-crumb .f-nav li .s-nav{
+    display: none
+}
+.navbar-crumb .f-nav li.focus .s-nav{
+    display: block
+}

+ 9 - 8
web/building_saas/main/js/views/fee_rate_view.js

@@ -205,8 +205,7 @@ var feeRateObject={
             pID = rates[rowIdx].ParentID;
         }
         // 费率现有可能有多层节点,所以要递归展开父节点
-        expandParent(pID,rates,sheet);
-
+        if(pID) expandParent(pID,rates,sheet);
         sheet.setSelection(rowIdx, -1, 1, -1);
         sheet.showRow(rowIdx, GC.Spread.Sheets.VerticalPosition.center);
         feeRateObject.onCellClick({type: 'CellClick'}, {row:rowIdx});
@@ -1006,13 +1005,15 @@ $(function(){
 
     $('#calcBaseFeeRate').on('shown.bs.modal', function (e) {
         let toggle = $('#calcBaseFeeRateConf').attr('toggle');
-        if(feeRateObject.feeRateSpreads==null){
-            feeRateObject.createSheet();
+        if(toggle == 'feeRate'){
+            if(feeRateObject.feeRateSpreads==null){
+                feeRateObject.createSheet();
+            }
+            feeRateObject.feeRateSelection=null;
+            feeRateObject.showFeeRateTree(feeRateObject.feeRateSheet,feeRateObject.sheetSetting,projectObj.project.FeeRate.getActivateFeeRate().rates);
+            feeRateObject.locate();
+            feeRateObject.feeRateSpreads.refresh();
         }
-        feeRateObject.feeRateSelection=null;
-        feeRateObject.showFeeRateTree(feeRateObject.feeRateSheet,feeRateObject.sheetSetting,projectObj.project.FeeRate.getActivateFeeRate().rates);
-        feeRateObject.locate();
-        feeRateObject.feeRateSpreads.refresh();
     });
     $('#tabFeeRate').on('shown.bs.tab', function () {
         if(feeRateObject.feeRateSpreads){

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

@@ -834,9 +834,9 @@ const billsGuidance = (function () {
             let me = this;
             let node = bills.tree.selected.elf.tree.items[elfSheet.getActiveRowIndex()];
             if(this.isEscKey !=true){
-                //renderSheetFunc(elfSheet, function () {
+                renderSheetFunc(elfSheet, function () {
                     doAfterSel.call(me, node);
-               // });
+                });
             }
             this.isEscKey = false;
             return this.displayText;

+ 1 - 1
web/building_saas/pm/js/pm_newMain.js

@@ -1530,7 +1530,7 @@ $(document).ready(function() {
                 $("#tender-fee-rate").children("option").first().val("newFeeRate-"+engLib.fee_lib[0].id);
             }*/
            //2018-08-29  费率改为和计税方式绑定在一起 所以在这里还不能确定标准费率库ID
-            $("#tender-fee-rate").children("option").first().val("newFeeRate-");
+            $("#tender-fee-rate").children("option").first().val("newFeeRate@@");
             $("#tender-engineering").parent().siblings('.hidden-area').slideDown('fast');
         }
         else {

+ 1 - 1
web/over_write/js/chongqing_2018.js

@@ -71,7 +71,7 @@ function overwriteRationCalcBases (taxType){
             return calcTools.rationBaseFee(node, [gljType.OTHER_MATERIAL], priceTypes.ptBasePrice, isTender);
         };
         rationCalcBases['定额施工机具使用费'] = function (node, isTender) {
-            return calcTools.rationBaseFee(node, [gljType.GENERAL_MACHINE, gljType.INSTRUMENT], priceTypes.ptBasePrice, isTender);
+            return calcTools.rationBaseFee(node, [gljType.GENERAL_MACHINE, gljType.INSTRUMENT, gljType.OTHER_MACHINE_USED], priceTypes.ptBasePrice, isTender);
         };
         rationCalcBases['市场价主材费'] = function (node, isTender) {
             return calcTools.rationBaseFee(node, [gljType.MAIN_MATERIAL], priceTypes.ptMarketPrice, isTender);