Browse Source

导航栏调整

MaiXinRong 5 years ago
parent
commit
a469d93141

+ 19 - 0
app/public/js/ledger.js

@@ -5,6 +5,7 @@
  * @date 2018/02/05
  * @version
  */
+
 const ckBillsSpread = window.location.pathname + '-billsSelect';
 function checkTzMeasureType () {
     return tender.measure_type === measureType.tz.value;
@@ -52,6 +53,24 @@ $(document).ready(function() {
     });
     const posSpread = SpreadJsObj.createNewSpread($('#pos-spread')[0]);
 
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'ledger.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+            ledgerSpread.refresh();
+            posSpread.refresh();
+        }
+    });
+
     // 定义事件
     const treeOperationObj = {
         getSelectNode: function (sheet) {

+ 18 - 0
app/public/js/ledger_audit.js

@@ -47,6 +47,24 @@ $(document).ready(() => {
     });
     const posSpread = SpreadJsObj.createNewSpread($('#pos-spread')[0]);
 
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'ledger.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+            ledgerSpread.refresh();
+            posSpread.refresh();
+        }
+    });
+
     const loadCurPosData = function () {
         const node = SpreadJsObj.getSelectObject(ledgerSpread.getActiveSheet());
         if (node) {

+ 19 - 0
app/public/js/revise.js

@@ -19,6 +19,25 @@ $(document).ready(() => {
     const posSpread = SpreadJsObj.createNewSpread($('#pos-spread')[0]);
     const posSheet = posSpread.getActiveSheet();
     SpreadJsObj.initSheet(posSheet, posSpreadSetting);
+
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'ledger.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+            billsSpread.refresh();
+            posSpread.refresh();
+        }
+    });
+
     // 初始化 清单树结构
     const treeSetting = {
         id: 'ledger_id',

+ 17 - 0
app/public/js/stage.js

@@ -1180,6 +1180,23 @@ $(document).ready(() => {
             }
         })
     }
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'stage.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+            slSpread.refresh();
+            spSpread.refresh();
+        }
+    });
 
     $('#row-view').on('show.bs.modal', function () {
         const html = [], customDisplay = customColDisplay();

+ 20 - 0
app/public/js/stage_change.js

@@ -125,6 +125,26 @@ $(document).ready(() => {
     };
     const posSpread = SpreadJsObj.createNewSpread($('#pos-spread')[0]);
     SpreadJsObj.initSheet(posSpread.getActiveSheet(), posSpreadSetting);
+
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'stage.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+            changeSpread.refresh();
+            billsSpread.refresh();
+            posSpread.refresh();
+        }
+    });
+
     // 上下窗口resizer
     $.divResizer({
         select: '#main-resize',

+ 19 - 0
app/public/js/stage_compare.js

@@ -61,6 +61,25 @@ $(document).ready(function () {
     // 初始化部位
     const posSpread = SpreadJsObj.createNewSpread($('#pos-spread')[0]);
     SpreadJsObj.initSheet(posSpread.getActiveSheet(), posSpreadSetting);
+
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'stage.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+            ledgerSpread.refresh();
+            posSpread.refresh();
+        }
+    });
+
     // 上下窗口resizer
     $.divResizer({
         select: '#main-resize',

+ 18 - 0
app/public/js/stage_detail.js

@@ -25,6 +25,24 @@ $(document).ready(() => {
         readOnly: readOnly,
     };
     const detailSpread = SpreadJsObj.createNewSpread($('#detail-spread')[0]);
+
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'stage.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+            detailSpread.refresh();
+        }
+    });
+
     SpreadJsObj.initSheet(detailSpread.getActiveSheet(), detailSpreadSetting);
     const detailOperationObj = {
         // 部位明细

+ 19 - 0
app/public/js/stage_gather.js

@@ -20,6 +20,25 @@ $(document).ready(function () {
     // 初始化所属项目节
     const leafXmjSpread = SpreadJsObj.createNewSpread($('#leaf-xmj-spread')[0]);
     SpreadJsObj.initSheet(leafXmjSpread.getActiveSheet(), leafXmjSpreadSetting);
+
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'stage.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+            gclSpread.refresh();
+            leafXmjSpread.refresh();
+        }
+    });
+
     // 上下窗口resizer
     $.divResizer({
         select: '#main-resize',

+ 18 - 0
app/public/js/stage_pay.js

@@ -47,6 +47,24 @@ $(document).ready(() => {
     autoFlashHeight();
 
     const paySpread = SpreadJsObj.createNewSpread($('#pay-spread')[0]);
+
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'stage.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+            paySpread.refresh();
+        }
+    });
+
     const paySpreadSetting = {
         cols: [
             {title: '名称', colSpan: '1', rowSpan: '1', field: 'name', hAlign: 0, width: 150, formatter: '@', readOnly: 'readOnly.name'},

+ 50 - 0
app/public/js/sub_menu.js

@@ -0,0 +1,50 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Mai
+ * @date
+ * @version
+ */
+(function($){
+    $.subMenu = function (setting) {
+        const menu = $(setting.menu), miniMenu = $(setting.miniMenu);
+        const toMenu = $(setting.toMenu), toMiniMenu = $(setting.toMiniMenu);
+
+        const showMenu = function () {
+            menu.show();
+            miniMenu.removeClass('d-flex').hide();
+            setting.callback({mini: false});
+        };
+        const showMiniMenu = function () {
+            menu.hide();
+            miniMenu.addClass('d-flex').show();
+            setting.callback({mini: true});
+        };
+        const menuType = getLocalCache(setting.key);
+        if (menuType && menuType === 'mini-menu') {
+            showMiniMenu();
+        } else {
+            showMenu();
+        }
+        toMenu.click(function () {
+            showMenu();
+            if (setting.key) {
+                setLocalCache(setting.key, 'menu');
+            }
+        });
+        toMiniMenu.click(function () {
+            showMiniMenu();
+            if (setting.key) {
+                setLocalCache(setting.key, 'miniMenu');
+            }
+        });
+        miniMenu.mouseenter(function () {
+            $(setting.miniMenuList).show();
+        });
+        miniMenu.mouseleave(function () {
+            $(setting.miniMenuList).hide();
+        });
+    }
+})(jQuery);

+ 20 - 1
app/view/change/index.ejs

@@ -1,7 +1,8 @@
 <% include ../tender/tender_sub_menu.ejs %>
 <div class="panel-content">
     <div class="panel-title">
-        <div class="title-main d-flex justify-content-between">
+        <div class="title-main d-flex">
+            <% include ../tender/tender_sub_mini_menu.ejs %>
             <div>
                 <div class="d-inline-block">
                     <select class="form-control form-control-sm" id="status_select">
@@ -76,4 +77,22 @@
         </div>
     </div>
 </div>
+<script src="/public/js/sub_menu.js"></script>
+<script>
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'ledger.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+        }
+    });
+</script>
 <script src="/public/js/change.js"></script>

+ 3 - 2
app/view/ledger/audit.ejs

@@ -1,7 +1,8 @@
 <% include ../tender/tender_sub_menu.ejs %>
 <div class="panel-content">
-    <div class="panel-title">
-        <div class="title-main d-flex justify-content-between">
+    <div class="panel-title fluid">
+        <div class="title-main d-flex">
+            <% include ../tender/tender_sub_mini_menu.ejs %>
             <div class="d-inline-block">
                 <div class="dropdown">
                     <button class="btn btn-sm btn-light dropdown-toggle text-primary" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">

+ 3 - 2
app/view/ledger/explode.ejs

@@ -1,7 +1,8 @@
 <% include ../tender/tender_sub_menu.ejs %>
 <div class="panel-content">
-    <div class="panel-title">
-        <div class="title-main  d-flex"><!--工具-->
+    <div class="panel-title fluid"><!--收起详解目录添加类名 fluid -->
+        <div class="title-main d-flex"><!--工具-->
+            <% include ../tender/tender_sub_mini_menu.ejs %>
             <div>
                 <div class="d-inline-block">
                     <div class="dropdown">

+ 21 - 2
app/view/measure/compare.ejs

@@ -1,7 +1,8 @@
 <% include ../tender/tender_sub_menu.ejs %>
 <div class="panel-content">
     <div class="panel-title">
-        <div class="title-main d-flex justify-content-between">
+        <div class="title-main d-flex">
+            <% include ../tender/tender_sub_mini_menu.ejs %>
             <h2>期审核比较</h2>
             <div>
                 <button href="#cate-set" class="btn btn-sm btn-light" data-toggle="modal" data-target="#select-qi"><i class="fa fa-clone"></i> 选择比较期</button>
@@ -30,4 +31,22 @@
             </div>
         </div>
     </div>
-</div>
+</div>
+<script src="/public/js/sub_menu.js"></script>
+<script>
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'ledger.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+        }
+    });
+</script>

+ 18 - 1
app/view/measure/stage.ejs

@@ -1,7 +1,8 @@
 <% include ../tender/tender_sub_menu.ejs %>
 <div class="panel-content">
     <div class="panel-title">
-        <div class="title-main d-flex justify-content-between">
+        <div class="title-main d-flex">
+            <% include ../tender/tender_sub_mini_menu.ejs %>
             <h2>
                 期列表
             </h2>
@@ -73,6 +74,22 @@
         </div>
     </div>
 </div>
+<script src="/public/js/sub_menu.js"></script>
 <script>
     const stages = JSON.parse('<%- JSON.stringify(stages) %>');
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'ledger.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+        }
+    });
 </script>

+ 20 - 1
app/view/report/index.ejs

@@ -1,7 +1,8 @@
 <% include ../tender/tender_sub_menu.ejs %>
 <div class="panel-content">
     <div class="panel-title">
-        <div class="title-main d-flex justify-content-between">
+        <div class="title-main d-flex">
+            <% include ../tender/tender_sub_mini_menu.ejs %>
             <div>
                 <div class="d-inline-block">
                     <div class="dropdown">
@@ -128,6 +129,24 @@
         </div>
     </div>
 </div>
+<script src="/public/js/sub_menu.js"></script>
+<script>
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'ledger.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+        }
+    });
+</script>
 
 <script type="text/javascript">  autoFlashHeight();</script>
 <!-- zTree -->

+ 23 - 4
app/view/revise/index.ejs

@@ -1,8 +1,9 @@
 <% include ../tender/tender_sub_menu.ejs %>
 <div class="panel-content">
-    <div class="panel-title">
-        <div class="title-main  d-flex justify-content-between"><!--工具-->
-            <div>
+    <div class="panel-title fluid">
+        <div class="title-main d-flex"><!--工具-->
+            <% include ../tender/tender_sub_mini_menu.ejs %>
+            <div class="fluid">
                 <div class="d-inline-block">
                     <div class="input-group input-group-sm">
                         <input class="datepicker-here form-control mt-0" placeholder="按时间筛选" data-range="true" data-multiple-dates-separator=" - " data-language="zh" type="text" style="width:190px">
@@ -70,4 +71,22 @@
             <% include ../layout/page.ejs %>
         </div>
     </div>
-</div>
+</div>
+<script src="/public/js/sub_menu.js"></script>
+<script>
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'ledger.memu.1.0.0',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+        }
+    });
+</script>

+ 2 - 1
app/view/stage/change.ejs

@@ -1,7 +1,8 @@
 <% include ./stage_sub_menu.ejs %>
 <div class="panel-content">
     <div class="panel-title">
-        <div class="title-main d-flex justify-content-between">
+        <div class="title-main d-flex">
+            <% include ./stage_sub_mini_menu.ejs %>
             <div>
                 <a class="btn btn-sm btn-light">
                     <div class="custom-control custom-checkbox">

+ 2 - 1
app/view/stage/compare.ejs

@@ -1,7 +1,8 @@
 <% include ./stage_sub_menu.ejs %>
 <div class="panel-content">
     <div class="panel-title">
-        <div class="title-main d-flex justify-content-between">
+        <div class="title-main d-flex">
+            <% include ./stage_sub_mini_menu.ejs %>
             <div class="d-inline-block">
                 <div class="dropdown">
                     <button class="btn btn-sm btn-light dropdown-toggle text-primary" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">

+ 2 - 1
app/view/stage/deal.ejs

@@ -1,6 +1,7 @@
 <div class="panel-content">
     <div class="panel-title">
-        <div class="title-main d-flex justify-content-between">
+        <div class="title-main d-flex">
+            <% include ./stage_sub_mini_menu.ejs %>
             <div>
                 <div class="d-inline-block">
                     <a href="#" class="btn btn-sm" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="插入"><i class="fa fa-sign-in" aria-hidden="true"></i></a>

+ 2 - 1
app/view/stage/detail.ejs

@@ -1,7 +1,8 @@
 <% include ./stage_sub_menu.ejs %>
 <div class="panel-content">
     <div class="panel-title">
-        <div class="title-main d-flex justify-content-between">
+        <div class="title-main d-flex">
+            <% include ./stage_sub_mini_menu.ejs %>
             <div>
                 <div class="d-inline-block">
                     <div class="form-group">

+ 2 - 1
app/view/stage/gather.ejs

@@ -1,7 +1,8 @@
 <% include ./stage_sub_menu.ejs %>
 <div class="panel-content">
     <div class="panel-title">
-        <div class="title-main d-flex justify-content-between">
+        <div class="title-main d-flex">
+            <% include ./stage_sub_mini_menu.ejs %>
             <div>
                 <div class="dropdown">
                     <button class="btn btn-sm btn-light dropdown-toggle text-primary" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">

+ 1 - 0
app/view/stage/index.ejs

@@ -2,6 +2,7 @@
 <div class="panel-content">
     <div class="panel-title">
         <div class="title-main d-flex">
+            <% include ./stage_sub_mini_menu.ejs %>
             <div>
                 <div class="d-inline-block">
                     <div class="dropdown">

+ 2 - 1
app/view/stage/pay.ejs

@@ -1,7 +1,8 @@
 <% include ./stage_sub_menu.ejs %>
 <div class="panel-content">
     <div class="panel-title">
-        <div class="title-main d-flex justify-content-between">
+        <div class="title-main d-flex">
+            <% include ./stage_sub_mini_menu.ejs %>
             <div>
                 <div class="d-inline-block">
                     <a href="javascript: void(0);" id="add" class="btn btn-sm" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="添加"><i class="fa fa-plus" aria-hidden="true"></i></a>

+ 2 - 1
app/view/stage/stage_sub_menu.ejs

@@ -1,4 +1,4 @@
-<div class="panel-sidebar">
+<div class="panel-sidebar" id="sub-menu">
     <div class="panel-title">
         <div class="title-bar">
             <h2 class="text-truncate" style="white-space:nowrap; overflow:hidden; text-overflow:ellipsis;" data-toggle="tooltip" data-placement="right" title=""  data-original-title="第<%- ctx.stage.order%>期 - <%- tender.name %>">第<%- ctx.stage.order%>期 - <%- tender.name %></h2>
@@ -56,5 +56,6 @@
                 </ul>
             </div>
         <% include ./audit_btn.ejs %>
+        <div class="side-fold"><a href="javascript: void(0)" data-toggle="tooltip" data-placement="top" data-original-title="折叠侧栏" id="to-mini-menu"><i class="fa fa-sign-out fa-flip-horizontal"></i></a></div>
     </div>
 </div>

+ 60 - 0
app/view/stage/stage_sub_mini_menu.ejs

@@ -0,0 +1,60 @@
+<!--折起的菜单-->
+<div class="min-side" id="sub-mini-menu" style="display: none;">
+    <div class="side-switch">
+        <i class="fa fa-bars"></i>
+    </div>
+    <div class="side-menu" id="mini-menu-list" style="display: none">
+        <div class="nav-box">
+            <ul class="nav-list list-unstyled">
+                <li class=""><a href="/tender/<%- ctx.tender.id %>/measure/stage"><i class="fa fa-chevron-left "></i> <span>返回</span></a></li>
+            </ul>
+        </div>
+        <div class="nav-box">
+            <ul class="nav-list list-unstyled">
+                <li class="<% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/stage/' + ctx.stage.order) { %>active<% } %>">
+                    <a href="/tender/<%- ctx.tender.id %>/measure/stage/<%- ctx.stage.order %>"><span class="ml-3">计量台帐</span></a>
+                </li>
+            </ul>
+        </div>
+        <div class="nav-box">
+            <ul class="nav-list list-unstyled">
+                <li class="<% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/stage/' + ctx.stage.order + '/detail') { %>active<% } %>">
+                    <a href="/tender/<%- ctx.tender.id %>/measure/stage/<%- stage.order %>/detail"><span class="ml-3">中间计量</span></a>
+                    <span class=" position-absolute tips-dot" data-toggle="tooltip" data-placement="bottom" data-original-title="完成中间计量" id="check_point" <% if (!ctx.stage.check_detail) { %>style="display: none;"<% } %>>
+                            <i class="fa fa-circle text-danger"></i>
+                        </span>
+                </li>
+            </ul>
+        </div>
+        <div class="nav-box">
+            <ul class="nav-list list-unstyled">
+                <li class="<% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/stage/' + ctx.stage.order + '/pay') { %>active<% } %>">
+                    <a href="/tender/<%- ctx.tender.id %>/measure/stage/<%- stage.order %>/pay"><span class="ml-3">合同支付</span></a>
+                </li>
+            </ul>
+        </div>
+        <div class="nav-box">
+            <ul class="nav-list list-unstyled">
+                <li class="<% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/stage/' + ctx.stage.order + '/change') { %>active<% } %>">
+                    <a href="/tender/<%- ctx.tender.id %>/measure/stage/<%- stage.order %>/change"><span class="ml-3">变更概况</span></a>
+                </li>
+            </ul>
+        </div>
+        <div class="nav-box">
+            <ul class="nav-list list-unstyled">
+                <li class="<% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/stage/' + ctx.stage.order + '/gather') { %>active<% } %>">
+                    <a href="/tender/<%- ctx.tender.id %>/measure/stage/<%- stage.order %>/gather"><span class="ml-3">清单汇总</span></a>
+                </li>
+            </ul>
+        </div>
+        <div class="nav-box">
+            <ul class="nav-list list-unstyled">
+                <li class="<% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/stage/' + ctx.stage.order + '/compare') { %>active<% } %>">
+                    <a href="/tender/<%- ctx.tender.id %>/measure/stage/<%- stage.order %>/compare"><span class="ml-3">审核比较</span></a>
+                </li>
+            </ul>
+        </div>
+        <% include ./audit_btn.ejs %>
+        <div class="side-fold"><a href="javascript: void(0);" data-toggle="tooltip" data-placement="top" data-original-title="展开侧栏" id="to-menu"><i class="fa fa-thumb-tack"></i></a></div>
+    </div>
+</div>

+ 2 - 1
app/view/tender/tender_sub_menu.ejs

@@ -1,4 +1,4 @@
-<div class="panel-sidebar">
+<div class="" id="sub-menu" style="display: none;">
     <div class="panel-title">
         <div class="title-bar">
             <h2 class="text-truncate" data-toggle="tooltip" data-placement="right" title=""  data-original-title="<%- tender.name %>"><%- tender.name %></h2>
@@ -22,5 +22,6 @@
             <% } %>
         </div>
         <% } %>
+        <div class="side-fold"><a href="javascript: void(0)" data-toggle="tooltip" data-placement="top" data-original-title="折叠侧栏" id="to-mini-menu"><i class="fa fa-sign-out fa-flip-horizontal"></i></a></div>
     </div>
 </div>

+ 39 - 0
app/view/tender/tender_sub_mini_menu.ejs

@@ -0,0 +1,39 @@
+<!--折起的菜单-->
+<div class="min-side" id="sub-mini-menu" style="display: none;">
+    <div class="side-switch">
+        <i class="fa fa-bars"></i>
+    </div>
+    <div class="side-menu" id="mini-menu-list" style="display: none">
+        <div class="nav-box">
+            <ul class="nav-list list-unstyled">
+                <li <% if (ctx.url === '/tender/' + ctx.tender.id) { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>"><i class="fa fa-pie-chart"></i> <span>标段概况</span></a></li>
+            </ul>
+        </div>
+        <div class="nav-box">
+            <h3><i class="fa fa-list-alt"></i> 0号台帐</h3>
+            <ul class="nav-list list-unstyled sub-list">
+                <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/ledger/explode') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/ledger/explode"><span>台帐分解</span></a></li>
+                <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/ledger/audit') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/ledger/audit"><span>台帐审批</span></a></li>
+                <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/revise') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/revise"><span>台帐修订</span></a></li>
+            </ul>
+        </div>
+        <div class="nav-box">
+            <h3><i class="fa fa-calendar-check-o"></i> 计量台帐</h3>
+            <ul class="nav-list list-unstyled sub-list">
+                <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/stage') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/measure/stage"><span>期列表</span></a></li>
+                <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/compare') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/measure/compare"><span>多期比较</span></a></li>
+            </ul>
+        </div>
+        <div class="nav-box">
+            <ul class="nav-list list-unstyled">
+                <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/change') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/change"><i class="fa fa-retweet"></i> <span>工程变更</span></a></li>
+            </ul>
+        </div>
+        <div class="nav-box">
+            <ul class="nav-list list-unstyled">
+                <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/report') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/report"><i class="fa fa-file-text-o"></i> <span>报表</span></a></li>
+            </ul>
+        </div>
+        <div class="side-fold"><a href="javascript: void(0);" data-toggle="tooltip" data-placement="top" data-original-title="展开侧栏" id="to-menu"><i class="fa fa-thumb-tack"></i></a></div>
+    </div>
+</div>

+ 9 - 0
config/web.js

@@ -101,6 +101,7 @@ const JsFiles = {
                     "/public/js/decimal.min.js",
                 ],
                 mergeFiles: [
+                    "/public/js/sub_menu.js",
                     "/public/js/div_resizer.js",
                     "/public/js/spreadjs_rela/spreadjs_zh.js",
                     "/public/js/zh_calc.js",
@@ -116,6 +117,7 @@ const JsFiles = {
                     "/public/js/decimal.min.js",
                 ],
                 mergeFiles: [
+                    "/public/js/sub_menu.js",
                     "/public/js/div_resizer.js",
                     "/public/js/spreadjs_rela/spreadjs_zh.js",
                     "/public/js/zh_calc.js",
@@ -130,6 +132,7 @@ const JsFiles = {
                     "/public/js/decimal.min.js",
                 ],
                 mergeFiles: [
+                    "/public/js/sub_menu.js",
                     "/public/js/div_resizer.js",
                     "/public/js/spreadjs_rela/spreadjs_zh.js",
                     "/public/js/zh_calc.js",
@@ -148,6 +151,7 @@ const JsFiles = {
                     "/public/js/toastr.min.js",
                 ],
                 mergeFiles: [
+                    "/public/js/sub_menu.js",
                     "/public/js/div_resizer.js",
                     "/public/js/spreadjs_rela/spreadjs_zh.js",
                     "/public/js/zh_calc.js",
@@ -165,6 +169,7 @@ const JsFiles = {
                     "/public/js/html2canvas/canvas2image.js",
                 ],
                 mergeFiles: [
+                    "/public/js/sub_menu.js",
                     "/public/js/spreadjs_rela/spreadjs_zh.js",
                     "/public/js/zh_calc.js",
                     "/public/js/path_tree.js",
@@ -179,6 +184,7 @@ const JsFiles = {
                     "/public/js/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js",
                 ],
                 mergeFiles: [
+                    "/public/js/sub_menu.js",
                     "/public/js/spreadjs_rela/spreadjs_zh.js",
                     "/public/js/stage_pay.js",
                     "/public/js/stage_audit.js",
@@ -191,6 +197,7 @@ const JsFiles = {
                     "/public/js/decimal.min.js",
                 ],
                 mergeFiles: [
+                    "/public/js/sub_menu.js",
                     "/public/js/div_resizer.js",
                     "/public/js/spreadjs_rela/spreadjs_zh.js",
                     "/public/js/zh_calc.js",
@@ -205,6 +212,7 @@ const JsFiles = {
                     "/public/js/decimal.min.js",
                 ],
                 mergeFiles: [
+                    "/public/js/sub_menu.js",
                     "/public/js/div_resizer.js",
                     "/public/js/spreadjs_rela/spreadjs_zh.js",
                     "/public/js/zh_calc.js",
@@ -220,6 +228,7 @@ const JsFiles = {
                     "/public/js/decimal.min.js",
                 ],
                 mergeFiles: [
+                    "/public/js/sub_menu.js",
                     "/public/js/div_resizer.js",
                     "/public/js/spreadjs_rela/spreadjs_zh.js",
                     "/public/js/zh_calc.js",