Просмотр исходного кода

清单精灵增加项目特征窗口

zhangweicheng 7 лет назад
Родитель
Сommit
e6e3c6fefd

+ 36 - 3
web/building_saas/main/html/main.html

@@ -260,7 +260,7 @@
                                           <div class=" main-data-bottom ovf-hidden col-auto p-0" id="gljItemTab" style="width: 30px">
                                               <div class="rn-nav d-flex align-items-start flex-column gljSubTab">
                                                   <div id="zmhs_toogle">
-                                                      <div class="tn-nav d-flex align-items-start flex-column" data-toggle="tooltip" data-placement="left" title="" data-original-title="打开子目换算">
+                                                      <div class=" d-flex align-items-start flex-column" data-toggle="tooltip" data-placement="left" title="" data-original-title="打开子目换算">
                                                           <span class="mt-3 ml-2 text-primary">子目换算</span>
                                                           <i class="fa fa-arrow-left mt-auto mb-3 text-primary ml-2"></i>
                                                       </div>
@@ -437,8 +437,8 @@
                                               </div>
                                           </div>
                                       </div>
-                                      <div class="container-fluid main-data-bottom ovf-hidden" id="qdjl" role="tabpanel">
-                                          <div class="row p-0" style="background: #efefef">
+                                      <div class="main-data-bottom ovf-hidden" id="qdjl" style="float: left" >
+                                          <div class="p-0" style="background: #efefef">
                                               <div class="col-6 p-0">
                                                   <div id="qdjlTools" style="width: calc(100% - 5px); border-bottom: solid 1px lightgrey;">
                                                       <a id="elfInsertRation" href="javascript:void(0);" class="btn btn-sm btn-primary px-1 ml-1">应用选项</a>
@@ -449,6 +449,39 @@
                                               </div>
                                           </div>
                                       </div>
+                                      <div class="main-data-bottom ovf-hidden" id="xmtzTextDiv">
+                                          <div class="resize-x main-data-bottom ovf-hidden" id="tzrgResize" style="display: none"></div>
+                                          <div class="item_spread main-data-bottom ovf-hidden " id="tzSubDiv" style="width: 99%;">
+                                              <div class="tab-content">
+                                                  <div class="tab-pane" id="xmtz_tab" style="margin-top:-2px">
+                                                      <div class="main-data-bottom" id="tzCharacterText" >
+                                                          项目特征 内容
+                                                      </div>
+                                                  </div>
+                                              </div>
+                                          </div>
+                                          <div class=" main-data-bottom ovf-hidden col-auto p-0" id="tzItemTab" style="width: 30px">
+                                              <div class="rn-nav d-flex align-items-start flex-column QDSubTab">
+                                                  <div id="tz_toogle">
+                                                      <div class=" d-flex align-items-start flex-column" data-toggle="tooltip" data-placement="left" title="" data-original-title="打开项目特征">
+                                                          <span class="mt-3 ml-2 text-primary">项目特征</span>
+                                                          <i class="fa fa-arrow-left mt-auto mb-3 text-primary ml-2"></i>
+                                                      </div>
+                                                  </div>
+                                                  <!--<a  role="tab" class="zmhs-link nav-link">子目换算</a>-->
+                                                  <div id="tz_nav" style="display: none">
+                                                      <ul class="nav nav-tabs">
+                                                          <li class="nav-item" data-toggle="tooltip" data-placement="left" title="收起">
+                                                              <a data-toggle="tab" href="#rnc-close" role="tab" class="zmhs-link nav-link">收起<!--<i class="fa fa-arrow-right"></i>--></a>
+                                                          </li>
+                                                          <li class="nav-item" data-toggle="tooltip" data-placement="left" title="项目特征">
+                                                              <a data-toggle="tab" id="tz-nav" href="#xmtz_tab" role="tab" class="zmhs-link nav-link">特征<!--<i class="fa fa-info-circle"></i>--></a>
+                                                          </li>
+                                                      </ul>
+                                                  </div>
+                                              </div>
+                                          </div>
+                                      </div>
                                   </div>
                               </div>
                           </div>

+ 7 - 2
web/building_saas/main/js/controllers/material_controller.js

@@ -213,10 +213,15 @@ let MaterialController = {
         sheetCommonObj.showData(this.sheet, this.setting,this.datas);
         this.sheet.setRowCount(this.datas.length);
     },
-    showItemCharacterText:function (node) {
+    showItemCharacterText:function (node,eleID = 'itemCharacterText') {
         let text="";
         let selected = node?node:projectObj.project.mainTree.selected;
         let parent = selected.parent;
+        if(eleID != 'itemCharacterText'){//如果是清单精灵里显示的,parent就是本身
+            parent = selected
+        }
+
+
         if(selected&&parent){
             text = parent.data.itemCharacterText?parent.data.itemCharacterText.replace(/\n/g,"<br>"):"";
         }
@@ -228,7 +233,7 @@ let MaterialController = {
         }*/
         //$('#replaceM').css('margin-top',0);
         //this.toggleItemInit();
-        $("#itemCharacterText").html(text);
+        $("#"+eleID).html(text);
     },
     //初始化人材机和项目特征文本两个区域的宽度,改变窗口大小时调用此方法,实时刷新
     initItemWidth: function () {

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

@@ -11,6 +11,7 @@ let subSpread = null;
 let subObj = {
     TZJNRrePercent:null,
     showGljSubTab:false,
+    showQDSubTab:false,
     initSubSpread:function () {
         //清单精灵
         BillsElf.buildSheet();
@@ -134,10 +135,71 @@ let subObj = {
         $("#subSpread").addClass("ration_glj_spread");
         this.initItemWidth();
     },
+    //初始化清单精灵和项目特征文本两个区域的宽度,改变窗口大小时调用此方法,实时刷新
+    initTZItemWidth:function (){
+        //总宽度
+        let totalWidth = $('#subItems').width();
+        //人材机和项目特征文本比例
+        const openWidth = 30;//打开项目特征工具条
+        const tab_tem = (305+openWidth+10)/totalWidth;//tab显示框默认宽度:305(表格宽度) + 30(工具条宽度)+10(resize div 宽度)
+        //默认比例
+        let textPercent = tab_tem * 100 + '%',//'15%',
+            rcjPercent = (1 - tab_tem)* 100 + '%';//85
+        //文本没显示,则打开工具条固定30px转换百分比
+        if (!subObj.showQDSubTab) {
+            textPercent = openWidth / totalWidth;
+            rcjPercent = 1 - textPercent;
+            textPercent = textPercent * 100 + '%';
+            rcjPercent = rcjPercent * 100 + '%';
+        }
+        //设置特征及内容与排版规则的比例
+        $('#qdjl').css('width', rcjPercent);
+        $('#xmtzTextDiv').css('width', textPercent);
+        //打开了项目特征,则继续加载人材机表和项目特征文本具体比例
+        if (subObj.showQDSubTab === true) {
+            let jl_sideResizeEles = this.getJLSideResize();
+            SlideResize.loadHorizonWidth(jl_sideResizeEles.eleObj.module,
+                [jl_sideResizeEles.eleObj.resize], [jl_sideResizeEles.eleObj.left, jl_sideResizeEles.eleObj.right]);
+            $("#tzSubDiv").width( $('#xmtzTextDiv').width() - jl_sideResizeEles.eleObj.resize.width() - 30)
+        }
+    },
+    getJLSideResize:function () {
+        let jl_sideResizeEles = {};
+        jl_sideResizeEles.eleObj = {
+            module: 'qdjl',
+            resize: $('#tzrgResize'),
+            parent: $('#subItems'),
+            left: $('#qdjl'),
+            right: $('#tzSubDiv')
+        };
+        rg_sideResizeEles.limit = {
+            min: 100,
+            max: `$('#subItems').width()-100`
+        };
+        return jl_sideResizeEles;
+    },
+    initQDSubTab:function () {
+        if(!($('#linkQDJL').hasClass('active'))){
+            return;
+        }
+        if(this.showQDSubTab == true){
+            $("#tzSubDiv").show();
+            $("#tzrgResize").show();
+        } else {
+            $("#tzSubDiv").hide();
+            $("#tzrgResize").hide();
+        }
+        this.initTZItemWidth();
+    },
     showGljSubTabData:function () {
         this.initGljSubTab();
         zmhs_obj.showDatas();
         refreshSubSpread();
+    },
+    showQDSubTabData:function () {
+        this.initQDSubTab();
+        MaterialController.showItemCharacterText(null,"tzCharacterText");
+        refreshSubSpread();
     }
 };
 
@@ -275,7 +337,10 @@ function adaptiveTzjnrWidth() {
 $('#linkQDJL').click(function () {
     gljOprObj.activeTab='#linkQDJL';
     $("#subItems").children().hide();
+    subObj.showQDSubTabData();
     $('#qdjl').show();
+    $("#xmtzTextDiv").show();
+    $("#tzItemTab").show();
     let selectedNode = projectObj.mainController.tree.selected;
     BillsElf.billsSelElf(selectedNode.data.code);
     refreshSubSpread();
@@ -689,6 +754,10 @@ $('#linkGLJ').on('shown.bs.tab', function () {
     gljOprObj.showDataIfRationSelect(projectObj.project.mainTree.selected, '111111');
 });
 
+$('#linkQDJL').on('shown.bs.tab', function () {
+    subObj.showQDSubTabData();
+});
+
 $('#linkZMHS').on('shown.bs.tab', function (e) {
     if(zmhs_obj.coeSpread == null || zmhs_obj.assSpread == null){
         zmhs_obj.initSpread();
@@ -719,11 +788,19 @@ $('#linkAZZJF').on('shown.bs.tab', function () {
 $('#zmhs_toogle').bind('click',function (){
    $("#zmhs_nav").show();
    if(subObj.showGljSubTab == false){
-       subObj.activeTab?$(subObj.activeTab).click():$("#xm-nav").click();
+       subObj.activeGLJItemTab?$(subObj.activeGLJItemTab).click():$("#xm-nav").click();
    }
     $("#zmhs_toogle").hide();
 });
 
+$('#tz_toogle').bind('click',function (){
+    $("#tz_nav").show();
+    if(subObj.showQDSubTab == false){
+        subObj.activeQDItemTab?$(subObj.activeQDItemTab).click():$("#tz-nav").click();
+    }
+    $("#tz_toogle").hide();
+});
+
 $('.gljSubTab ul li a').bind('click',function () {
     if(this.hash =="#rnc-close"){
         $("#zmhs_nav").hide();
@@ -732,7 +809,7 @@ $('.gljSubTab ul li a').bind('click',function () {
         subObj.showGljSubTab = false;
     } else {
         subObj.showGljSubTab = true;
-        subObj.activeTab =this;
+        subObj.activeGLJItemTab =this;
     }
 
     subObj.initGljSubTab();
@@ -744,6 +821,21 @@ $('.gljSubTab ul li a').bind('click',function () {
      }*/
 });
 
+$('.QDSubTab ul li a').bind('click',function () {
+    if(this.hash =="#rnc-close"){
+        $("#tz_nav").hide();
+        $("#tz_toogle").show();
+        closeTab(this);
+        subObj.showQDSubTab = false;
+    } else {
+        subObj.showQDSubTab = true;
+        subObj.activeQDItemTab =this;
+    }
+    subObj.initQDSubTab();
+    refreshSubSpread();
+});
+
+
 $('.gljSubTab ul li a').on('shown.bs.tab', function () {
     if(this.hash == "#rnc-xm"){
         //初始化项目特征表格位置,如果以后需要的话,showdata 统一移动至zmhs_obj中