浏览代码

gulpConfig

zhongzewei 6 年之前
父节点
当前提交
74a52ed0bf

+ 1 - 1
config/gulpConfig.js

@@ -6,8 +6,8 @@ module.exports = {
     version:'1.0.1',
     common_jspaths:[
         'lib/jquery/jquery-3.2.1.min.js',
-        'lib/popper/popper.min.js',
         'lib/jquery-ui/jquery-0i.min.js',
+        'lib/popper/popper.min.js',
         'lib/bootstrap/bootstrap.min.js',
         'web/building_saas/js/*.js',
         'public/web/scMathUtil.js',

+ 20 - 0
public/web/sheet/sheet_common.js

@@ -651,5 +651,25 @@ var sheetCommonObj = {
             sheet.setDefaultStyle(defaultStyle, GC.Spread.Sheets.SheetArea.rowHeader);
         }
     },
+    //动态根据工作簿宽度和各列宽度比例设置宽度
+    setColumnWidthByRate: function (workBookWidth, workBook, headers){
+        if(workBook){
+            const sheet = workBook.getActiveSheet();
+            sheet.suspendEvent();
+            sheet.suspendPaint();
+            for(let col = 0; col < headers.length; col++){
+                if(headers[col]['rateWidth'] !== undefined && headers[col]['rateWidth'] !== null && headers[col]['rateWidth'] !== ''){
+                    sheet.setColumnWidth(col, workBookWidth * headers[col]['rateWidth'], GC.Spread.Sheets.SheetArea.colHeader)
+                }
+                else {
+                    if(headers[col]['headerWidth'] !== undefined && headers[col]['headerWidth'] !== null && headers[col]['headerWidth'] !== ''){
+                        sheet.setColumnWidth(col, headers[col]['headerWidth'], GC.Spread.Sheets.SheetArea.colHeader)
+                    }
+                }
+            }
+            sheet.resumeEvent();
+            sheet.resumePaint();
+        }
+    }
 
 }

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

@@ -9,6 +9,7 @@
 
     <!-- inject:css -->
     <link rel="stylesheet" href="/lib/jquery-ui/jquery-ui.css" type="text/css">
+    <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap-datetimepicker.min.css">
     <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css">
     <link rel="stylesheet" href="/lib/spreadjs/sheets/css/gc.spread.sheets.sc.css" type="text/css">
     <link rel="stylesheet" href="/web/building_saas/css/main.css">
@@ -1453,12 +1454,11 @@
         <script src = "/lib/spreadjs/sheets/gc.spread.sheets.all.11.1.2.min.js"></script>
         <script>GC.Spread.Sheets.LicenseKey =  '<%- LicenseKey %>';</script>
 
-    <script type="text/javascript" src="/lib/jquery-ui/jquery-ui.min.js"></script>
     <script type="text/javascript" src="/lib/jquery-ui/jquery-ui-datepickerCN.js"></script>
     <script type="text/javascript" src="/lib/jquery-contextmenu/jquery.contextMenu.js"></script>
     <script type="text/javascript" src="/lib/jquery-contextmenu/jquery.ui.position.js"></script>
-    <script src="/lib/popper/popper.min.js"></script>
-    <script src="/lib/bootstrap/bootstrap.min.js"></script>
+    <script src="/lib/bootstrap/bootstrap-datetimepicker.min.js"></script>
+    <script src="/lib/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
 
         <script src="/lib/spreadjs/views/gc.spread.views.dataview.10.0.0.min.js" type="text/javascript"></script>
         <script type="text/javascript" src="/lib/ztree/jquery.ztree.core.js"></script>

+ 0 - 1
web/building_saas/main/js/models/calc_program.js

@@ -1932,7 +1932,6 @@ class CalcProgram {
         let me = this;
         let formulaNodes = cbTools.getFormulaNodes(true);
         for(let n of formulaNodes){
-            console.log(`${n.data.name} : ${n.data.calcBase}`);
         }
         if (formulaNodes.length == 0) return;
         for (let formulaNode of formulaNodes){

+ 37 - 4
web/building_saas/main/js/views/character_content_view.js

@@ -7,13 +7,17 @@ let contentOprObj = {
     currentCache: [],//按照serialNo排序
     setting: {
         header: [
-            {headerName:"工作内容",headerWidth:160,dataCode:"content", dataType: "String", hAlign: "left", vAlign: "center"},
-            {headerName:"输出",headerWidth:40,dataCode:"isChecked", cellType:"checkBox", hAlign: "center", vAlign: "center"}
+            {headerName:"工作内容", headerWidth: 360, rateWidth:0.93, dataCode:"content", dataType: "String", hAlign: "left", vAlign: "center"},
+            {headerName:"输出", headerWidth: 40, rateWidth: null, dataCode:"isChecked", cellType:"checkBox", hAlign: "center", vAlign: "center"}
         ]
     },
     buildSheet: function(container) {
         let me = contentOprObj;
         me.workBook = sheetCommonObj.buildSheet(container, me.setting, 30);
+        //获取工作内容列比例
+        let workBookWidth = pageCCOprObj.getWorkBookWidth();
+        me.setRateWith(workBookWidth);
+        sheetCommonObj.setColumnWidthByRate(workBookWidth, me.workBook, me.setting.header);
         me.workBook.options.allowUserDragDrop = false;
         me.workBook.getSheet(0).setColumnWidth(0, 20, GC.Spread.Sheets.SheetArea.rowHeader);
         me.workBook.options.allowCopyPasteExcelStyle = false;
@@ -22,6 +26,12 @@ let contentOprObj = {
         }
         me.bindEvents(me.workBook);
     },
+    setRateWith: function (workBookWidth) {
+        let me = this;
+        let otherWidthRate = me.setting.header[1]['headerWidth'] / workBookWidth;
+        let contentWidthRate = 1 - otherWidthRate;
+        me.setting.header[0]['rateWidth'] = contentWidthRate;
+    },
     bindEvents: function (workBook) {
         let sheet = workBook.getActiveSheet(), me = contentOprObj;
         const EVENTS = GC.Spread.Sheets.Events;
@@ -34,6 +44,7 @@ let contentOprObj = {
         workBook.bind(EVENTS.RangeChanged, me.onRangeChanged);
         me.bindTools();
     },
+
     bindTools: function () {
         let me = contentOprObj;
         let sheet = me.workBook.getActiveSheet();
@@ -398,7 +409,7 @@ let characterOprObj = {
     currentCache: [],
     setting: {
         header: [
-            {headerName:"项目特征",headerWidth:120,dataCode:"character", dataType: "String", hAlign: "left", vAlign: "center"},
+            {headerName:"项目特征",headerWidth:120, rateWidth:0.9, dataCode:"character", dataType: "String", hAlign: "left", vAlign: "center"},
             {headerName:"特征值",headerWidth:160,dataCode:"eigenvalue", dataType: "String", cellType: "comboBox", hAlign: "left", vAlign: "center"},
             {headerName:"输出",headerWidth:40,dataCode:"isChecked", cellType:"checkBox", hAlign: "center", vAlign: "center"}
         ]
@@ -406,6 +417,10 @@ let characterOprObj = {
     buildSheet: function(container) {
         let me = characterOprObj;
         me.workBook = sheetCommonObj.buildSheet(container, me.setting, 30);
+        //获取项目特征列比例
+        let workBookWidth = pageCCOprObj.getWorkBookWidth();
+        me.setRateWith(workBookWidth);
+        sheetCommonObj.setColumnWidthByRate(workBookWidth, me.workBook, me.setting.header);
         me.workBook.options.allowUserDragDrop = false;
         me.workBook.getSheet(0).setColumnWidth(0, 20, GC.Spread.Sheets.SheetArea.rowHeader);
         me.workBook.options.allowCopyPasteExcelStyle = false;
@@ -414,6 +429,12 @@ let characterOprObj = {
         }
         me.bindEvents(me.workBook);
     },
+    setRateWith: function (workBookWidth) {
+        let me = this;
+        let otherWidthRate = (me.setting.header[1]['headerWidth'] + me.setting.header[2]['headerWidth']) / workBookWidth;
+        let contentWidthRate = 1 - otherWidthRate;
+        me.setting.header[0]['rateWidth'] = contentWidthRate;
+    },
     bindEvents: function (workBook) {
         let sheet = workBook.getActiveSheet(), me = characterOprObj;
         const EVENTS = GC.Spread.Sheets.Events;
@@ -1402,4 +1423,16 @@ let pageCCOprObj = {
 
         return updateData;
     },
-}
+    //获取特征及内容工作簿宽度
+    getWorkBookWidth: function () {
+        return ($(window).width() - $('.main-nav').width()) / 3 - 50;
+    }
+}
+
+$(window).resize(function () {
+    let workBookWidth = pageCCOprObj.getWorkBookWidth();
+    contentOprObj.setRateWith(workBookWidth);
+    sheetCommonObj.setColumnWidthByRate(workBookWidth, contentOprObj.workBook, contentOprObj.setting.header);
+    characterOprObj.setRateWith(workBookWidth);
+    sheetCommonObj.setColumnWidthByRate(workBookWidth, characterOprObj.workBook, characterOprObj.setting.header);
+});

+ 13 - 3
web/building_saas/main/js/views/project_info.js

@@ -7,7 +7,7 @@ var projectInfoObj = {
     getFullPathHtml: function (proj) {
         let fullPath = [], i, pm = '<span class="text-truncate"><a href="/pm">项目管理</a></span>', angleRight = '<span class="text-truncate"><i class="fa fa-angle-right fa-fw"></i></span>';
         // fullPath.push(pm);
-        if (proj && proj.fullFolder) {
+        if (proj) {
             /*
             for (i = 0; i < proj.fullFolder.length; i++) {
                 if (i <= proj.fullFolder.length - 3) {
@@ -21,8 +21,18 @@ var projectInfoObj = {
                 }
             }
              */
-            let newHtml = ` <span><i class="fa fa-sticky-note-o"></i></span>
-                <span data-toggle="tooltip" data-placement="bottom" data-original-title="${proj.fullPath}" class="text-truncate float-right">&nbsp;${proj.name}</span></span>`
+            let pathArr = proj.fullPath.split('\\');
+            let engName = pathArr[pathArr.length -2] || '',
+                projectName = pathArr[pathArr.length -3] || '',
+                folderName = pathArr[pathArr.length -4] || '';
+            let newHtml = `   <span data-toggle="tooltip" data-placement="bottom" data-original-title="${folderName}"><i class="fa fa-folder-open-o"></i>...</span>
+                <span class="text-muted px-1">\</span>
+                <span data-toggle="tooltip" data-placement="bottom" data-original-title="${projectName}"><i class="fa fa-cubes"></i>...</span>
+                <span class="text-muted px-1">\</span>
+                <span data-toggle="tooltip" data-placement="bottom" data-original-title="${engName}"><i class="fa fa-cube"></i>...</span>
+                <span class="text-muted px-1">\</span>
+                <span><i class="fa fa-sticky-note-o"></i></span>
+                <span data-toggle="tooltip" data-placement="bottom" data-original-title="${proj.name}"> <span class="text-truncate float-right">&nbsp;${proj.name}</span></span>`;
             fullPath.push(newHtml);
 
         }

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

@@ -1742,7 +1742,6 @@ var projectObj = {
             $("a[name='lockBills']").attr("data-original-title","锁定清单");
             $("a[name='lockBills']").html('<i class="fa fa-lock" aria-hidden="true"></i>');
         }
-
     },
     editContent:function (node,fieldID) {//右键编辑工程内容、服务内容、签证及索赔依据
         let infoText = "请输入";

+ 0 - 2
web/building_saas/pm/html/project-management.html

@@ -531,8 +531,6 @@
 <script src = "/lib/spreadjs/sheets/gc.spread.sheets.all.11.1.2.min.js"></script>
 <script>GC.Spread.Sheets.LicenseKey = '<%- LicenseKey %>';</script>
 <!-- inject:js -->
-<script src="/lib/popper/popper.min.js"></script>
-<script src="/lib/bootstrap/bootstrap.min.js"></script>
 <script src="/web/building_saas/js/global.js"></script>
 <script src="/public/web/PerfectLoad.js"></script>
 <script src="/public/web/date_util.js"></script>

+ 9 - 9
web/building_saas/pm/js/pm_gc.js

@@ -17,15 +17,15 @@ const gcTreeObj = {
             autoUpdate: false
         },
         header: [
-            {name: '工程列表', dataCode: 'name', width: 0.5, vAlign: 'center', hAlign: 'left'},
-            {name: '删除日期', dataCode: 'deleteDateTime', width: 0.1, vAlign: 'center', hAlign: 'left'},
-            {name: '创建日期', dataCode: 'createDateTime', width: 0.1, vAlign: 'center', hAlign: 'left'},
-            {name: '恢复', dataCode: 'recovery', width: 0.05, vAlign: 'center', hAlign: 'left'},
-            {name: '彻底删除', dataCode: 'delete', width: 0.05, vAlign: 'center', hAlign: 'left'},
-            {name: '单价文件', dataCode: 'unitPriceFile', width: 0.05, vAlign: 'center', hAlign: 'left'},
-            {name: '单价文件-清除', dataCode: 'unitPriceFile_delete', width: 0.05, vAlign: 'center', hAlign: 'left'},
-            {name: '费率文件', dataCode: 'feeRateFile', width: 0.05, vAlign: 'center', hAlign: 'left'},
-            {name: '费率文件-清除', dataCode: 'feeRateFile_delete', width: 0.05, vAlign: 'center', hAlign: 'left'}
+            {name: '工程列表', dataCode: 'name', width: 0.5, rateWidth: 0.5, vAlign: 'center', hAlign: 'left'},
+            {name: '删除日期', dataCode: 'deleteDateTime', width: 0.1, rateWidth: 0.1, vAlign: 'center', hAlign: 'left'},
+            {name: '创建日期', dataCode: 'createDateTime', width: 0.1, rateWidth: 0.1, vAlign: 'center', hAlign: 'left'},
+            {name: '恢复', dataCode: 'recovery', width: 0.05, rateWidth: 0.05, vAlign: 'center', hAlign: 'left'},
+            {name: '彻底删除', dataCode: 'delete', width: 0.05, rateWidth: 0.05, vAlign: 'center', hAlign: 'left'},
+            {name: '单价文件', dataCode: 'unitPriceFile', width: 0.05, rateWidth: 0.05, vAlign: 'center', hAlign: 'left'},
+            {name: '单价文件-清除', dataCode: 'unitPriceFile_delete', width: 0.05, rateWidth: 0.05, vAlign: 'center', hAlign: 'left'},
+            {name: '费率文件', dataCode: 'feeRateFile', width: 0.05, rateWidth: 0.05, vAlign: 'center', hAlign: 'left'},
+            {name: '费率文件-清除', dataCode: 'feeRateFile_delete', width: 0.05, rateWidth: 0.05, vAlign: 'center', hAlign: 'left'}
         ],
         //恢复和彻底删除字体色
         style: {

+ 2 - 16
web/building_saas/pm/js/pm_newMain.js

@@ -1092,9 +1092,8 @@ $(document).ready(function() {
     });
     //列宽随着屏幕改变
     $(window).resize(function () {
-        //autoPmWdith(projTreeObj.workBook, projTreeObj.setting.header);
-        autoPmWdith(gcTreeObj.workBook, gcTreeObj.setting.header);
-        autoPmWdith(pmShare.spreadObj.workBook, pmShare.headers)
+        sheetCommonObj.setColumnWidthByRate(getWorkBookWidth(), gcTreeObj.workBook, gcTreeObj.setting.header);
+        sheetCommonObj.setColumnWidthByRate(getWorkBookWidth(), pmShare.spreadObj.workBook, pmShare.headers);
 
     });
 
@@ -1597,19 +1596,6 @@ function getWorkBookWidth(){
     return workBookWidth = $(window).width() - $('.pm-side').width() - 90;
 }
 
-//根据当前工作表的宽度更改比例
-function autoPmWdith(workBook, headers){
-    if(workBook){
-        const sheet = workBook.getActiveSheet();
-        projTreeObj.renderSheetFuc(sheet, function () {
-            let workBookWidth = getWorkBookWidth();
-            for(let col = 0; col < headers.length; col++){
-                sheet.setColumnWidth(col, workBookWidth * headers[col]['width'], GC.Spread.Sheets.SheetArea.colHeader)
-            }
-        });
-    }
-}
-
 /**
  * 初始化数据
  *

+ 4 - 4
web/building_saas/pm/js/pm_share.js

@@ -24,10 +24,10 @@ const pmShare = (function () {
         }
     };
     const headers = [
-        {name: '工程列表', dataCode: 'name', width: 0.55, vAlign: 'center', hAlign: 'left'},
-        {name: '由...分享', dataCode: 'from', width: 0.15, vAlign: 'center', hAlign: 'left'},
-        {name: '分享给...', dataCode: 'to', width: 0.15, vAlign: 'center', hAlign: 'left'},
-        {name: '操作', dataCode: 'operation', width: 0.15, vAlign: 'center', hAlign: 'left'},
+        {name: '工程列表', dataCode: 'name', width: 0.55, rateWidth: 0.55, vAlign: 'center', hAlign: 'left'},
+        {name: '由...分享', dataCode: 'from', width: 0.15, rateWidth: 0.15, vAlign: 'center', hAlign: 'left'},
+        {name: '分享给...', dataCode: 'to', width: 0.15, rateWidth: 0.15, vAlign: 'center', hAlign: 'left'},
+        {name: '操作', dataCode: 'operation', width: 0.15, rateWidth: 0.15, vAlign: 'center', hAlign: 'left'},
     ];
     const spreadOpts = {
         workBook: {

+ 4 - 2
web/common/html/header.html

@@ -30,7 +30,7 @@
             </li>
             <% if (action === 'index' && controller === 'main') {%>
             <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-wrench"></i> 工具</a>
+                <a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-wrench" data-toggle="tooltip" data-placement="bottom" data-original-title="工具"></i></a>
                 <div class="dropdown-menu dropdown-menu-right">
                     <a id="compleRationLib" class="dropdown-item" href="javascript:void(0);" data-toggle="modal" data-target="#comple-ration">定额库编辑器</a>
                     <a id="compleGljLib" class="dropdown-item" href="/complementaryGlj" target="_">人材机库编辑器</a>
@@ -38,7 +38,7 @@
             </li>
             <% } %>
             <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"></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-toggle="tooltip" data-placement="bottom" data-original-title="帮助"></i></a>
                 <div class="dropdown-menu dropdown-menu-right">
                     <a class="dropdown-item" href="#">帮助</a>
                     <a class="dropdown-item" href="#">升级说明</a>
@@ -130,6 +130,8 @@
 </div>
 <!-- inject:js -->
 <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 src="/lib/popper/popper.min.js"></script>
 <script src="/lib/bootstrap/bootstrap.min.js"></script>
 <script type="text/javascript" src="/web/building_saas/js/moment.min.js"></script>
 <script type="text/javascript" src="/web/building_saas/js/message.js"></script>

+ 0 - 1
web/users/html/user-info.html

@@ -84,7 +84,6 @@
     </div>
 </div>
 <!-- JS. -->
-<script src="/lib/popper/popper.min.js"></script>
 <script src="/web/building_saas/js/global.js"></script>
 <script src="/web/users/js/user.js"></script>
 </body>

+ 0 - 1
web/users/html/user-set.html

@@ -77,7 +77,6 @@
         </div>
     </div>
     <!-- JS. -->
-    <script src="/lib/popper/popper.min.js"></script>
     <script src="/web/building_saas/js/global.js"></script>
 </body>
 <script type="text/javascript">