Explorar o código

bugs 和 项目特征调整

zhangweicheng %!s(int64=6) %!d(string=hai) anos
pai
achega
7c22ae863b

+ 2 - 3
public/web/tree_sheet/tree_sheet_helper.js

@@ -510,7 +510,7 @@ var TREE_SHEET_HELPER = {
         };
         };
         TreeNodeCellType.prototype.processMouseMove = function(hitinfo){//造价书主界面,当鼠标移动到单元格最右往左50个像素内时才显示悬浮提示内容
         TreeNodeCellType.prototype.processMouseMove = function(hitinfo){//造价书主界面,当鼠标移动到单元格最右往左50个像素内时才显示悬浮提示内容
             if (hitinfo.sheet.name()!=="mainSheet") return;//只有在造价书主界面才显示
             if (hitinfo.sheet.name()!=="mainSheet") return;//只有在造价书主界面才显示
-            let offset = 20;//从右向左显示的像素范围
+            let offset = hitinfo.cellRect.width//20;从右向左显示的像素范围   2018-11-22 这里需求又改成不悬停在编码单元格右边一部分才弹出,整个单元格都弹出,所以offset先改成单元格的宽度,防止以后又改回来
             let leftX = hitinfo.cellRect.x + hitinfo.cellRect.width;//最右边的坐标
             let leftX = hitinfo.cellRect.x + hitinfo.cellRect.width;//最右边的坐标
             if(leftX - hitinfo.x <= offset){//如果鼠标移动到的位置是在显示的范围内显示悬浮提示
             if(leftX - hitinfo.x <= offset){//如果鼠标移动到的位置是在显示的范围内显示悬浮提示
                 TREE_SHEET_HELPER.delayShowTips(hitinfo,setting);
                 TREE_SHEET_HELPER.delayShowTips(hitinfo,setting);
@@ -659,8 +659,7 @@ var TREE_SHEET_HELPER = {
                     //显示在下方,三角形指
                     //显示在下方,三角形指
                     let top = setting.pos.y  +hitinfo.cellRect.y+ hitinfo.cellRect.height+10;
                     let top = setting.pos.y  +hitinfo.cellRect.y+ hitinfo.cellRect.height+10;
                     let left =  setting.pos.x + hitinfo.cellRect.x;
                     let left =  setting.pos.x + hitinfo.cellRect.x;
-                    $(this._toolTipElement).css("top", top).css("left", left);
-
+                    $(this._toolTipElement).css("top", top).css("left", left).css("max-width","500px");
                 }
                 }
                 $(this._toolTipElement).show("fast");
                 $(this._toolTipElement).show("fast");
                 TREE_SHEET_HELPER.tipDiv = 'show';//做个标记
                 TREE_SHEET_HELPER.tipDiv = 'show';//做个标记

+ 11 - 2
web/building_saas/main/html/main.html

@@ -148,7 +148,7 @@
                               <div class="main-data-top" id="billsSpread"></div>
                               <div class="main-data-top" id="billsSpread"></div>
                           </div>
                           </div>
                           <div class="resize"></div>
                           <div class="resize"></div>
-                          <div class="bottom-content">
+                          <div class="bottom-content" id="bottom_div">
                               <ul class="nav nav-tabs" role="tablist">
                               <ul class="nav nav-tabs" role="tablist">
                                   <li class="nav-item" id="GLJ_div">
                                   <li class="nav-item" id="GLJ_div">
                                       <a class="nav-link sub-item active" id="linkGLJ" data-toggle="tab" href="#subSpread" role="tab">人材机</a>
                                       <a class="nav-link sub-item active" id="linkGLJ" data-toggle="tab" href="#subSpread" role="tab">人材机</a>
@@ -183,7 +183,16 @@
                                   <div class="tab-pane active" id="subItems" role="tabpanel">
                                   <div class="tab-pane active" id="subItems" role="tabpanel">
                                       <div class="main-data-bottom ovf-hidden" id="subSpread" style="display: none" tabindex="0"></div>
                                       <div class="main-data-bottom ovf-hidden" id="subSpread" style="display: none" tabindex="0"></div>
                                       <div class="main-data-bottom ovf-hidden" id="rgResize" style="width: 0.2%; height: 100%; resize:horizontal; cursor: w-resize; float: left; background: #F1F1F1"></div>
                                       <div class="main-data-bottom ovf-hidden" id="rgResize" style="width: 0.2%; height: 100%; resize:horizontal; cursor: w-resize; float: left; background: #F1F1F1"></div>
-                                      <div class="item_spread main-data-bottom ovf-hidden " id="replaceM" style="display: none" ></div>
+                                      <div class="item_spread main-data-bottom ovf-hidden " id="replaceM" style="display: none" >
+                                          <div class="p-0" id="openItemText" style="height:100%;white-space:normal;">
+                                              <div class="tn-nav 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 id="closeItemText" style="float: right;width: auto;display: none"  data-toggle="tooltip" data-placement="bottom" data-original-title="关闭项目特征" class="col-7 col-form-label" href="javascript:void(0);"><i class="fa fa-arrow-right"></i></a>
+                                          <div id="replaceText" style="display: none;padding-bottom: 10px"></div>
+                                      </div>
                                       <div class="main-data-bottom ovf-hidden" id="tabZMHS" style="display: none">
                                       <div class="main-data-bottom ovf-hidden" id="tabZMHS" style="display: none">
                                           <div class=" main-data-bottom ovf-hidden" style="width: 60%; float: left; margin: 0; padding:0;" id="coeSpread"></div>
                                           <div class=" main-data-bottom ovf-hidden" style="width: 60%; float: left; margin: 0; padding:0;" id="coeSpread"></div>
                                           <div  id="zmhsResize" style="width: 0.2%; height: 100%; resize:horizontal; cursor: w-resize; float: left; background: #F1F1F1"></div>
                                           <div  id="zmhsResize" style="width: 0.2%; height: 100%; resize:horizontal; cursor: w-resize; float: left; background: #F1F1F1"></div>

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

@@ -3,6 +3,7 @@
  */
  */
 let MaterialController = {
 let MaterialController = {
     subSpreadDivWidth:"",
     subSpreadDivWidth:"",
+    showItemText:false,
     //规则相关映射
     //规则相关映射
     rule1: function (node) {
     rule1: function (node) {
         let itemText = node.data.itemCharacterText;
         let itemText = node.data.itemCharacterText;
@@ -178,6 +179,7 @@ let MaterialController = {
         refreshSubSpread();
         refreshSubSpread();
     },
     },
     showReplaceSpread:function(node){
     showReplaceSpread:function(node){
+        $("#replaceM").addClass("ovf-hidden");
         this.initSpread();
         this.initSpread();
         this.showData(node);
         this.showData(node);
     },
     },
@@ -220,8 +222,28 @@ let MaterialController = {
             return;
             return;
         }
         }
         $("#replaceM").removeClass("ovf-hidden");
         $("#replaceM").removeClass("ovf-hidden");
-        $('#subSpread').css('width',MaterialController.subSpreadDivWidth);
-        $("#replaceM").html(text);
+        $('#replaceM').css('margin-top',0);
+        this.toggleItemInit();
+        $("#replaceText").html(text);
+    },
+    toggleItemInit:function () {
+        if(this.showItemText == true){
+            $("#openItemText").hide();
+            $("#replaceText").show();
+            $("#closeItemText").show();
+            $("#rgResize").show();
+            let swidth =  this.subSpreadDivWidth == ""? $("#bottom_div").width()*0.7:this.subSpreadDivWidth;
+            swidth = parseFloat(swidth);
+            $('#subSpread').css('width',swidth);
+            $('#replaceM').css('width',$("#bottom_div").width()-$("#rgResize").width()-swidth);
+        }else {
+            $("#openItemText").show();
+            $("#replaceText").hide();
+            $("#closeItemText").hide();
+            $("#rgResize").hide();
+            $('#subSpread').css('width',$("#bottom_div").width()-40);
+            $('#replaceM').css('width',35);
+        }
     },
     },
     getItems:function(characterText){
     getItems:function(characterText){
         if(!characterText) return;
         if(!characterText) return;
@@ -272,3 +294,19 @@ slideResize(rg_sideResizeEles, {min: 100, max: $('#tabCon').width()-100}, 'width
     MaterialController.subSpreadDivWidth = $('#subSpread').css('width');
     MaterialController.subSpreadDivWidth = $('#subSpread').css('width');
     refreshSubSpread();
     refreshSubSpread();
 });
 });
+
+
+$(function (){
+    $("#openItemText").click(function () {
+        MaterialController.showItemText = true;
+        MaterialController.toggleItemInit();
+        refreshSubSpread();
+    });
+
+    $("#closeItemText").click(function () {
+        MaterialController.showItemText = false;
+        MaterialController.toggleItemInit();
+        refreshSubSpread();
+    });
+
+})

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

@@ -22,7 +22,7 @@ let gljCol = {
             rowHeaderWidth:25
             rowHeaderWidth:25
         },
         },
         getStyle:function (data) {
         getStyle:function (data) {
-            if(data.type == gljType.MAIN_MATERIAL){//是主材的话字体蓝色显示
+            if(data&&data.type == gljType.MAIN_MATERIAL){//是主材的话字体蓝色显示
                 return {foreColor:"#4D7BFF"};
                 return {foreColor:"#4D7BFF"};
             }
             }
             return null;
             return null;

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

@@ -17,6 +17,8 @@ var gljOprObj = {
     selectedGLJClass: null,
     selectedGLJClass: null,
     parentNodeIds: {},
     parentNodeIds: {},
     activeTab: '#linkGLJ',
     activeTab: '#linkGLJ',
+    rationTab:'#linkGLJ',
+    billsTab:'#linkJSCX',
     setting: {},
     setting: {},
     detailSetting: {
     detailSetting: {
         header: [
         header: [
@@ -1396,6 +1398,14 @@ var gljOprObj = {
     },
     },
     isExtraType:function (type) {
     isExtraType:function (type) {
         return _.includes(gljUtil.extraType,type)
         return _.includes(gljUtil.extraType,type)
+    },
+    setNodeShowTab:function () {
+        let node = projectObj.project.mainTree.selected;
+        if(node && node.sourceType==ModuleNames.ration){
+            gljOprObj.rationTab = gljOprObj.activeTab;
+        }else {
+            gljOprObj.billsTab = gljOprObj.activeTab;
+        }
     }
     }
 }
 }
 
 

+ 5 - 5
web/building_saas/main/js/views/locate_view.js

@@ -12,8 +12,8 @@ let locateObject={
             {headerName: "综合合价", headerWidth: 65, dataCode: "totalPrice", dataType: "Number", hAlign: "right"}
             {headerName: "综合合价", headerWidth: 65, dataCode: "totalPrice", dataType: "Number", hAlign: "right"}
         ],
         ],
         view: {
         view: {
-            lockColumns: [0,1,2,3,4],
-            rowHeaderWidth:25
+            lockColumns: [0,1,2,3,4,5],
+            colHeaderHeight:30
         }
         }
     },
     },
     ration_setting:{
     ration_setting:{
@@ -25,7 +25,7 @@ let locateObject={
         ],
         ],
         view: {
         view: {
             lockColumns: [0,1,2,3],
             lockColumns: [0,1,2,3],
-            rowHeaderWidth:25
+            colHeaderHeight:30
         }
         }
     },
     },
     ration_glj_setting:{
     ration_glj_setting:{
@@ -37,8 +37,8 @@ let locateObject={
             {headerName: "市场价", headerWidth: 65, dataCode: "marketPrice", dataType: "Number", hAlign: "right"}
             {headerName: "市场价", headerWidth: 65, dataCode: "marketPrice", dataType: "Number", hAlign: "right"}
         ],
         ],
         view: {
         view: {
-            lockColumns: [0,1,2,3],
-            rowHeaderWidth:25
+            lockColumns: [0,1,2,3,4],
+            colHeaderHeight:30
         }
         }
     },
     },
     initMainSpread:function(){
     initMainSpread:function(){

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

@@ -434,14 +434,14 @@ let MainTreeCol = {
                     return '0.######';
                     return '0.######';
                 default:
                 default:
                     return '0';
                     return '0';
-            }
-            ;
+            };
         }
         }
     },
     },
     getRationUnitTips:function (node) {
     getRationUnitTips:function (node) {
         let tips="";
         let tips="";
         let ration_glj = projectObj.project.ration_glj;
         let ration_glj = projectObj.project.ration_glj;
         let gljList = gljOprObj.filterGljByRation(node.data, ration_glj.datas);
         let gljList = gljOprObj.filterGljByRation(node.data, ration_glj.datas);
+        gljList = sortRationGLJ(gljList);
         for(let glj of gljList){
         for(let glj of gljList){
             tips += `${glj.code} ${glj.name}${glj.specs ? '&nbsp;&nbsp;&nbsp;' + glj.specs : ''}&nbsp;&nbsp&nbsp;${glj.unit}&nbsp;&nbsp;&nbsp;${glj.quantity}<br>`;
             tips += `${glj.code} ${glj.name}${glj.specs ? '&nbsp;&nbsp;&nbsp;' + glj.specs : ''}&nbsp;&nbsp&nbsp;${glj.unit}&nbsp;&nbsp;&nbsp;${glj.quantity}<br>`;
         }
         }

+ 8 - 5
web/building_saas/main/js/views/sub_view.js

@@ -73,14 +73,14 @@ let subObj = {
             installationFeeObj.engineeringTypeChecking();//检查是否安装工程
             installationFeeObj.engineeringTypeChecking();//检查是否安装工程
             $("#TZJNR_div").hide();
             $("#TZJNR_div").hide();
             $("#linkGLJ").addClass();
             $("#linkGLJ").addClass();
-            $("#linkGLJ").click();
+            $(gljOprObj.rationTab).click();
 
 
         }else {
         }else {
             $("#GLJ_div").hide();
             $("#GLJ_div").hide();
             $("#ZMHS_div").hide();
             $("#ZMHS_div").hide();
             $("#AZZJF_div").hide();
             $("#AZZJF_div").hide();
             $("#TZJNR_div").show();
             $("#TZJNR_div").show();
-            $("#linkJSCX").click();
+            $(gljOprObj.billsTab).click();
         }
         }
         projectObj.mainSpread.focus();
         projectObj.mainSpread.focus();
     }
     }
@@ -98,12 +98,10 @@ $("#linkGLJ").click(function(){
     refreshSubSpread();
     refreshSubSpread();
     subSpread.setActiveSheetIndex(0);
     subSpread.setActiveSheetIndex(0);
     gljOprObj.activeTab='#linkGLJ';
     gljOprObj.activeTab='#linkGLJ';
+    gljOprObj.setNodeShowTab();
 });
 });
 
 
 
 
-
-
-
 $("#linkAZZJF").click(function(){
 $("#linkAZZJF").click(function(){
     $("#subItems").children().hide();
     $("#subItems").children().hide();
     MaterialController.hideReplaceDiv();
     MaterialController.hideReplaceDiv();
@@ -112,6 +110,7 @@ $("#linkAZZJF").click(function(){
     refreshSubSpread();
     refreshSubSpread();
     subSpread.setActiveSheetIndex(3);
     subSpread.setActiveSheetIndex(3);
     gljOprObj.activeTab='#linkAZZJF';
     gljOprObj.activeTab='#linkAZZJF';
+    gljOprObj.setNodeShowTab();
 });
 });
 
 
 $("#linkGCLMX").click(function(){
 $("#linkGCLMX").click(function(){
@@ -123,6 +122,7 @@ $("#linkGCLMX").click(function(){
     refreshSubSpread();
     refreshSubSpread();
     subSpread.setActiveSheetIndex(1);
     subSpread.setActiveSheetIndex(1);
     gljOprObj.activeTab='#linkGCLMX';
     gljOprObj.activeTab='#linkGCLMX';
+    gljOprObj.setNodeShowTab();
 });
 });
 
 
 $("#linkJSCX").click(function(){        // 计算程序
 $("#linkJSCX").click(function(){        // 计算程序
@@ -139,6 +139,7 @@ $("#linkJSCX").click(function(){        // 计算程序
     let sel = projectObj.mainController.tree.selected;
     let sel = projectObj.mainController.tree.selected;
     calcProgramObj.refreshCalcProgram(sel, 3);
     calcProgramObj.refreshCalcProgram(sel, 3);
     gljOprObj.activeTab='#linkJSCX';
     gljOprObj.activeTab='#linkJSCX';
+    gljOprObj.setNodeShowTab();
 });
 });
 
 
 
 
@@ -150,6 +151,7 @@ $("#linkZMHS").click(function(){        // 子目换算
     refreshSubSpread();
     refreshSubSpread();
 
 
     gljOprObj.activeTab='#linkZMHS';
     gljOprObj.activeTab='#linkZMHS';
+    gljOprObj.setNodeShowTab();
 });
 });
 //特征及内容各模块宽度自适应
 //特征及内容各模块宽度自适应
 function adaptiveTzjnrWidth() {
 function adaptiveTzjnrWidth() {
@@ -190,6 +192,7 @@ $("#linkTZJNR").click(function () {
     }
     }
     pageCCOprObj.mainActiveCell = projectObj.mainSpread.getActiveSheet().getSelections()[0];
     pageCCOprObj.mainActiveCell = projectObj.mainSpread.getActiveSheet().getSelections()[0];
     pageCCOprObj.setCacheAndShow(selectedNode);
     pageCCOprObj.setCacheAndShow(selectedNode);
+    gljOprObj.setNodeShowTab();
 });
 });
 //打开排版规则
 //打开排版规则
 $('#openTypeSetting').click(function () {
 $('#openTypeSetting').click(function () {

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

@@ -219,7 +219,7 @@ let zmhs_obj = {
         let me = zmhs_obj;
         let me = zmhs_obj;
         let height = cellRect.height;
         let height = cellRect.height;
         let offect = 0;
         let offect = 0;
-        let newString = "<form style='margin-top:1px' ><table  width='100%'  cellpadding='0'  border='1px' bordercolor='#CCCCCC' cellspacing='0px' style='border-collapse:collapse;font-size: 10px;'>";
+        let newString = "<form style='margin-top:1px' ><table  width='100%'  cellpadding='0'  border='1px' bordercolor='#CCCCCC' cellspacing='0px' style='border-collapse:collapse;'>";
         let cus_coe =  me.coeSheetData[context.row];
         let cus_coe =  me.coeSheetData[context.row];
         if(cus_coe){
         if(cus_coe){
             for(let i =0;i< cus_coe.coes.length;i++){
             for(let i =0;i< cus_coe.coes.length;i++){