zhangweicheng пре 6 година
родитељ
комит
beeaba5fb6

+ 1 - 0
config/gulpConfig.js

@@ -150,6 +150,7 @@ module.exports = {
         'web/building_saas/main/js/views/character_content_view.js',
         'web/building_saas/main/js/views/glj_view.js',
         'web/building_saas/main/js/views/zmhs_view.js',
+        'web/building_saas/main/js/views/mbzm_view.js',
         'web/building_saas/main/js/views/tender_price_view.js',
         'web/building_saas/main/js/views/sub_view.js',
         'web/building_saas/main/js/views/fee_rate_view.js',

+ 6 - 2
public/web/sheet/sheet_common.js

@@ -138,8 +138,8 @@ var sheetCommonObj = {
                 sheet.setValue(0, col, setting.header[col].headerName, header);
                 sheet.setColumnWidth(col, setting.header[col].headerWidth?setting.header[col].headerWidth:100);
             }
-            if(setting.header[col].visible === false){
-                sheet.setColumnVisible(col,false);
+            if(setting.header[col].visible!==null&&setting.header[col].visible!==undefined){
+                sheet.setColumnVisible(col,setting.header[col].visible);
             }
             sheet.getCell(0, col, GC.Spread.Sheets.SheetArea.colHeader).wordWrap(true);
         }
@@ -262,6 +262,10 @@ var sheetCommonObj = {
             sheet.options.isProtected = true;
             sheet.getRange(-1, 0, -1, setting.header.length, GC.Spread.Sheets.SheetArea.viewport).locked(false);
             for (var i = 0; i < setting.view.lockColumns.length; i++) {
+                let col = setting.view.lockColumns[i];
+                if(_.isString(col)){//如果是dataCode 进行转换
+                    col = _.findIndex(setting.header,{dataCode:tem})
+                }
                 sheet.getRange(-1,setting.view.lockColumns[i], -1, 1, GC.Spread.Sheets.SheetArea.viewport).locked(true);
             }
         }

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

@@ -187,6 +187,9 @@
                                   <li class="nav-item" id = "TZJNR_div">
                                       <a class="nav-link sub-item" id="linkTZJNR" data-toggle="tab" href="#subSpread" role="tab">特征及内容</a>
                                   </li>
+                                  <!--<li class="nav-item" id="MBZM_div">
+                                      <a class="nav-link sub-item" id="linkMBZM" data-toggle="tab" href="#subSpread" role="tab">模板子目</a>
+                                  </li>-->
                               </ul>
                               <!-- Tab panes -->
                               <div class="tab-content" id="tabCon">
@@ -208,6 +211,27 @@
                                           <div  id="zmhsResize" style="width: 0.2%; height: 100%; resize:horizontal; cursor: w-resize; float: left; background: #F1F1F1"></div>
                                           <div class=" main-data-bottom ovf-hidden" style="width: 39.8%; float: left; margin: 0; padding:0;" id="assSpread"></div>
                                       </div>
+                                      <div class="main-data-bottom ovf-hidden" id="tabMBZM" style="display: none;">
+                                              <div class="col-12" style="background: #F1F1F1;">
+                                                  <div class="row" style="border-bottom:1px solid #ccc">
+                                                      <label class="col-auto col-form-label col-form-label-sm">提取位置</label>
+                                                      <div class="col-2">
+                                                          <select class="form-control  form-control-sm" id="">
+                                                              <option value="1">模板子目分别放在措施项目下</option>
+                                                              <option value="2">模板子目分别放在分部分项下</option>
+                                                              <option value="3">模板子目分别放在对应混凝土子目下</option>
+                                                          </select>
+                                                      </div>
+                                                      <div class="col-1">
+                                                          <button class=" btn btn-primary btn-sm form-control" type="button" id="apply_mbzm">应用</button>
+                                                      </div>
+                                                      <div class="col-1">
+                                                          <button class=" btn btn-primary btn-sm form-control" type="button" id="next_mbzm">下一条</button>
+                                                      </div>
+                                                  </div>
+                                              </div>
+                                              <div class=" ovf-hidden" style="" id="mbzmSpread"></div>
+                                      </div>
                                       <div class="main-data-bottom ovf-hidden" style="display: none" id="comments">
                                           <textarea style="font-size: 0.9rem" class="form-control" rows="8" readonly=""></textarea>
                                       </div>
@@ -1853,6 +1877,7 @@
     <script type="text/javascript" src="/web/building_saas/main/js/views/character_content_view.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/views/glj_view.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/views/zmhs_view.js"></script>
+    <script type="text/javascript" src="/web/building_saas/main/js/views/mbzm_view.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/views/tender_price_view.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/views/sub_view.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/views/fee_rate_view.js"></script>

+ 1 - 0
web/building_saas/main/js/views/glj_view.js

@@ -520,6 +520,7 @@ var gljOprObj = {
                         MaterialController.showReplaceDiv(node);
                     }
                     if($('#linkAZZJF').hasClass('active')) installationFeeObj.showRationInstallationData(node);
+                    if($('#linkMBZM').hasClass('active')) mbzm_obj.showMBZMData(node);
                 }
                 isShow = true;
             }

+ 38 - 0
web/building_saas/main/js/views/mbzm_view.js

@@ -0,0 +1,38 @@
+/**
+ * Created by zhang on 2018/11/26.
+ */
+
+let mbzm_obj={
+    spread:null,
+    setting:{
+        header: [
+            {headerName: "编码", headerWidth: 130, dataCode: "code", dataType: "String", formatter: "@"},
+            {headerName: "模板类别", headerWidth: 260, dataCode: "templateType", dataType: "String", hAlign: "left"},
+            {headerName: "系数", headerWidth: 65, dataCode: "coe", dataType: "Number"},
+            {headerName: "单位", headerWidth: 45, dataCode: "unit", dataType: "String", hAlign: "center"},
+            {headerName: "工程量", headerWidth: 65, dataCode: "quantity", dataType: "Number",decimalField: "ration.quantity"},
+            {headerName: "关联类别", headerWidth: 100, dataCode: "type", dataType: "String"},
+            {headerName: "清单位置", headerWidth: 200, dataCode: "billsPosition", hAlign: "left", dataType: "String",cellType:'selectButton',getText:'forPosition'},
+            {headerName: "清单位置", headerWidth: 200, dataCode: "fxPosition", hAlign: "left", dataType: "String",cellType:'selectButton',getText:'forPosition',visible:false}
+        ],
+        view: {
+            lockColumns:["code","content","unit","type","billsPosition","fxPosition"],
+            rowHeaderWidth:25
+        },
+
+    },
+    initSpread:function () {
+        this.spread = SheetDataHelper.createNewSpread($("#mbzmSpread")[0]);
+        sheetCommonObj.spreadDefaultStyle(this.spread);
+        this.sheet = this.spread.getSheet(0);
+        sheetCommonObj.initSheet(this.sheet, this.setting);
+        this.sheet.setRowCount(0);
+
+    },
+    refresh:function () {
+        this.spread?this.spread.refresh():'';
+    },
+    showMBZMData:function(node){
+       let selected = node?node:projectObj.project.mainTree.selected;
+    }
+}

+ 27 - 2
web/building_saas/main/js/views/sub_view.js

@@ -61,7 +61,7 @@ let subObj = {
     },
     initNavItem:function (node) {
      /*   1、造价书选中行类别是“大项费用”、“分部”、“分项”、“清单”时,显示按钮“工程量明细”、“计算程序”、“特征及内容”,默认打开“计算程序”。
-          2、选中行类别是“定额”、“量价”、“人材机”时,显示按钮“人材机”、“子目换算”、“工程量明细”、“计算程序”、“安装增加费”,默认打开“人材机”。
+          2、选中行类别是“定额”、“量价”、“人材机”时,显示按钮“人材机”、“子目换算”、“工程量明细”、“计算程序”、“安装增加费”、"模板子目",默认打开“人材机”。
      */
         if (!node) {
             return;
@@ -71,14 +71,15 @@ let subObj = {
             //GLJ_div //ZMHS_div
             $("#GLJ_div").show();
             $("#ZMHS_div").show();
+            $("#MBZM_div").show();
             installationFeeObj.engineeringTypeChecking();//检查是否安装工程
             $("#TZJNR_div").hide();
-            $("#linkGLJ").addClass();
             $(gljOprObj.rationTab).click();
 
         }else {
             $("#GLJ_div").hide();
             $("#ZMHS_div").hide();
+            $("#MBZM_div").hide();
             $("#AZZJF_div").hide();
             $("#TZJNR_div").show();
             $(gljOprObj.billsTab).click();
@@ -154,6 +155,16 @@ $("#linkZMHS").click(function(){        // 子目换算
     gljOprObj.activeTab='#linkZMHS';
     gljOprObj.setNodeShowTab();
 });
+$("#linkMBZM").click(function(){        // 模板子目
+    $("#subItems").children().hide();
+    $("#tabMBZM").show();
+    pageCCOprObj.active = false;
+    refreshSubSpread();
+    gljOprObj.activeTab='#linkMBZM';
+    gljOprObj.setNodeShowTab();
+});
+
+
 //特征及内容各模块宽度自适应
 function adaptiveTzjnrWidth() {
     if(gljOprObj.activeTab !== '#linkTZJNR'){
@@ -524,6 +535,7 @@ function refreshSubSpread(){
         if(MaterialController.spread) MaterialController.spread.refresh();
     }
     if($('#linkZMHS').hasClass('active')) zmhs_obj.refresh();
+    if($('#linkMBZM').hasClass('active')) mbzm_obj.refresh();
 }
 
 let subViewObj = {
@@ -587,6 +599,19 @@ $('#linkZMHS').on('shown.bs.tab', function (e) {
     zmhs_obj.showZMHSData();
 });
 
+
+$('#linkMBZM').on('shown.bs.tab', function (e) {
+    let total = $('#mbzmSpread').parent().height();
+    let b_height = $('#mbzmSpread').prev('.col-12').height();
+    $('#mbzmSpread').css('height',total- b_height);
+    if(mbzm_obj.spread == null){
+        mbzm_obj.initSpread();
+    }
+    mbzm_obj.refresh();
+    mbzm_obj.showMBZMData();
+});
+
+
 $('#linkComments').on('shown.bs.tab', function () {
     subViewObj.loadComments(projectObj.project.mainTree.selected);
 });