瀏覽代碼

其他台账,静态页面

maixinrong 5 年之前
父節點
當前提交
37b1db4432

+ 72 - 0
app/controller/stage_extra_controller.js

@@ -0,0 +1,72 @@
+'use strict';
+
+/**
+ * 期-附加功能 控制器
+ *
+ * @author Mai
+ * @date 2020/2/24
+ * @version
+ */
+module.exports = app => {
+
+    class StageExtraController extends app.BaseController {
+        /**
+         * 构造函数
+         *
+         * @param {Object} ctx - egg全局变量
+         * @return {void}
+         */
+        constructor(ctx) {
+            super(ctx);
+        }
+
+        /**
+         * 甲供材料(Get)
+         * 
+         * @param {Object} ctx - egg全局变量
+         */
+        async jgcl (ctx) {
+            try {
+                const renderData = {
+                    jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.stageExtra.jgcl)
+                }
+                await this.layout('stage_extra/jgcl.ejs', renderData);
+            } catch (err) {
+                ctx.helper.log(err);
+            }
+        }
+
+        /**
+         * 奖罚金(Get)
+         * 
+         * @param {Object} ctx - egg全局变量
+         */
+        async bonus (ctx) {
+            try {
+                const renderData = {
+                    jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.stageExtra.bonus)
+                }
+                await this.layout('stage_extra/bonus.ejs', renderData);
+            } catch (err) {
+                ctx.helper.log(err);
+            }
+        }
+
+        /**
+         * 其他(Get)
+         * @param {Object} ctx - egg全局变量
+         */
+        async other(ctx) {
+            try {
+                const renderData = {
+                    jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.stageExtra.other)
+                }
+                await this.layout('stage_extra/other.ejs', renderData);
+            } catch (err) {
+                ctx.helper.log(err);
+            }
+        }
+    }
+
+    return StageExtraController;
+};

+ 52 - 0
app/public/js/se_bonus.js

@@ -0,0 +1,52 @@
+'use strict';
+
+/**
+ * 奖罚金
+ *
+ * @author Mai
+ * @date 2020/2/12
+ * @version
+ */
+
+const spreadSetting = { 
+    cols: [
+        {title: '名称', colSpan: '1', rowSpan: '1', field: 'name', hAlign: 0, width: 185, formatter: '@'},
+        {title: '金额', colSpan: '1', rowSpan: '1', field: 'e_type', hAlign: 1, width: 80, formatter: '@'},
+        {title: '本期金额', colSpan: '1', rowSpan: '1', field: 'quantity', hAlign: 2, width: 100, type: 'Number'},
+        {title: '截止本期金额', colSpan: '1', rowSpan: '1', field: 'total_price', hAlign: 2, width: 100, type: 'Number', readOnly: true},
+        {title: '时间', colSpan: '1', rowSpan: '1', field: 'total_price', hAlign: 2, width: 100, type: 'Number'},
+        {title: '编号', colSpan: '1', rowSpan: '1', field: 'total_price', hAlign: 2, width: 100, type: 'Number'},
+        {title: '依据材料证明', colSpan: '1', rowSpan: '1', field: 'total_price', hAlign: 2, width: 100, type: 'Number'},
+        {title: '备注', colSpan: '1', rowSpan: '1', field: 'memo', hAlign: 0, width: 150, formatter: '@', cellType: 'ellipsisAutoTip'}
+    ],
+    emptyRows: 3,
+    headRows: 1,
+    headRowHeight: [32],
+    defaultRowHeight: 21,
+    headerFont: '12px 微软雅黑',
+    font: '12px 微软雅黑',
+};
+$(document).ready(() => {
+    autoFlashHeight();
+    const bonusSpread = SpreadJsObj.createNewSpread($('#bonus-spread')[0]);
+    const bonusSheet = bonusSpread.getActiveSheet();
+    SpreadJsObj.initSheet(bonusSheet, spreadSetting);
+
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'menu.1.0.0',
+        miniHint: '#sub-mini-hint', hintKey: 'menu.hint.1.0.1',
+        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();
+            bonusSpread.refresh();
+        }
+    }); 
+});

+ 58 - 0
app/public/js/se_jgcl.js

@@ -0,0 +1,58 @@
+'use strict';
+
+/**
+ * 期 - 甲供材料
+ *
+ * @author Mai
+ * @date 2020/2/12
+ * @version
+ */
+
+const spreadSetting = {
+    cols: [
+        {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@'},
+        {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 50, formatter: '@', cellType: 'unit'},
+        {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number'},
+        {title: '本期到场|数量',  colSpan: '2|1', rowSpan: '1|1', field: 'get_qty', hAlign: 2, width: 60, type: 'Number'},
+        {title: '|金额',  colSpan: '|1', rowSpan: '|1', field: 'get_tp', hAlign: 2, width: 60, type: 'Number'},
+        {title: '截止本期到场|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_get_qty', hAlign: 2, width: 60, type: 'Number'},
+        {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_get_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
+        {title: '本期扣回|数量', colSpan: '2|1', rowSpan: '1|1', field: 'deduct_qty', hAlign: 2, width: 60, type: 'Number'},
+        {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'deduct_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
+        {title: '截止本期扣回|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_deduct_qty', hAlign: 2, width: 60, type: 'Number'},
+        {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_deduct_tp', hAlign: 2, width: 60, type: 'Number', readOnly: true},
+        {title: '材料来源', colSpan: '1', rowSpan: '2', field: 'source', hAlign: 0, width: 80, formatter: '@'},
+        {title: '单据号', colSpan: '1', rowSpan: '2', field: 'bills_code', hAlign: 0, width: 80, formatter: '@'},
+        {title: '检验单编号', colSpan: '1', rowSpan: '2', field: 'check_code', hAlign: 0, width: 80, formatter: '@'},
+        {title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'}
+    ],
+    emptyRows: 3,
+    headRows: 2,
+    headRowHeight: [25, 25],
+    defaultRowHeight: 21,
+    headerFont: '12px 微软雅黑',
+    font: '12px 微软雅黑',
+};
+$(document).ready(() => {
+    autoFlashHeight();
+    const jgclSpread = SpreadJsObj.createNewSpread($('#jgcl-spread')[0]);
+    const jgclSheet = jgclSpread.getActiveSheet();
+    SpreadJsObj.initSheet(jgclSheet, spreadSetting);
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'menu.1.0.0',
+        miniHint: '#sub-mini-hint', hintKey: 'menu.hint.1.0.1',
+        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();
+            jgclSpread.refresh();
+        }
+    });
+});

+ 84 - 0
app/public/js/se_other.js

@@ -0,0 +1,84 @@
+'use strict';
+
+/**
+ * 期 - 其他
+ *
+ * @author Mai
+ * @date 2020/2/12
+ * @version
+ */
+
+const mainSpreadSetting = {
+    cols: [
+        {title: '名称', colSpan: '1', rowSpan: '1', field: 'name', hAlign: 0, width: 185, formatter: '@'},
+        {title: '金额', colSpan: '1', rowSpan: '1', field: 'e_type', hAlign: 1, width: 80, formatter: '@'},
+        {title: '本期金额', colSpan: '1', rowSpan: '1', field: 'quantity', hAlign: 2, width: 100, type: 'Number'},
+        {title: '截止本期金额', colSpan: '1', rowSpan: '1', field: 'total_price', hAlign: 2, width: 100, type: 'Number', readOnly: true},
+        {title: '时间', colSpan: '1', rowSpan: '1', field: 'total_price', hAlign: 2, width: 100, type: 'Number'},
+        {title: '备注', colSpan: '1', rowSpan: '1', field: 'memo', hAlign: 0, width: 150, formatter: '@', cellType: 'ellipsisAutoTip'}
+    ],
+    emptyRows: 3,
+    headRows: 1,
+    headRowHeight: [32],
+    defaultRowHeight: 21,
+    headerFont: '12px 微软雅黑',
+    font: '12px 微软雅黑',
+};
+
+const subSpreadSetting = {
+    cols: [
+        {title: '名称', colSpan: '1', rowSpan: '1', field: 'name', hAlign: 0, width: 185, formatter: '@'},
+        {title: '金额', colSpan: '1', rowSpan: '1', field: 'e_type', hAlign: 1, width: 80, formatter: '@'},
+        {title: '本期金额', colSpan: '1', rowSpan: '1', field: 'quantity', hAlign: 2, width: 100, type: 'Number'},
+        {title: '截止本期金额', colSpan: '1', rowSpan: '1', field: 'total_price', hAlign: 2, width: 100, type: 'Number', readOnly: true},
+        {title: '时间', colSpan: '1', rowSpan: '1', field: 'total_price', hAlign: 2, width: 100, type: 'Number'},
+        {title: '备注', colSpan: '1', rowSpan: '1', field: 'memo', hAlign: 0, width: 150, formatter: '@', cellType: 'ellipsisAutoTip'}
+    ],
+    emptyRows: 3,
+    headRows: 1,
+    headRowHeight: [32],
+    defaultRowHeight: 21,
+    headerFont: '12px 微软雅黑',
+    font: '12px 微软雅黑',
+};
+
+$(document).ready(() => {
+    autoFlashHeight();
+
+    const mainSpread = SpreadJsObj.createNewSpread($('#main-spread')[0]);
+    const mainSheet = mainSpread.getActiveSheet();
+    SpreadJsObj.initSheet(mainSheet, mainSpreadSetting);
+
+    const subSpread = SpreadJsObj.createNewSpread($('#sub-spread')[0]);
+    const subSheet = subSpread.getActiveSheet();
+    SpreadJsObj.initSheet(subSheet, subSpreadSetting);
+
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'menu.1.0.0',
+        miniHint: '#sub-mini-hint', hintKey: 'menu.hint.1.0.1',
+        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();
+            mainSpread.refresh();
+            subSpread.refresh();
+        }
+    });    
+    // 上下窗口resizer
+    $.divResizer({
+        select: '#main-resize',
+        callback: function () {
+            mainSpread.refresh();
+            let bcontent = $(".bcontent-wrap") ? $(".bcontent-wrap").height() : 0;
+            $(".sp-wrap").height(bcontent-30);
+            subSpread.refresh();
+        }
+    });  
+});

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

@@ -618,7 +618,6 @@ $(document).ready(() => {
                 stagePosSpreadObj.loadCurPosData();
                 SpreadJsObj.resetTopAndSelect(spSpread.getActiveSheet());
                 if (posSearch) {
-
                     posSearch.search();
                 }
             }

+ 5 - 0
app/router.js

@@ -193,6 +193,11 @@ module.exports = app => {
     // 审核比较
     app.get('/tender/:id/measure/stage/:order/compare', sessionAuth, tenderCheck, stageCheck, 'stageController.compare');
     app.post('/tender/:id/measure/stage/:order/compare/load', sessionAuth, tenderCheck, stageCheck, 'stageController.compareAuditor');
+    // 附加功能
+    app.get('/tender/:id/measure/stage/:order/extra/jgcl', sessionAuth, tenderCheck, stageCheck, 'stageExtraController.jgcl');
+    app.get('/tender/:id/measure/stage/:order/extra/bonus', sessionAuth, tenderCheck, stageCheck, 'stageExtraController.bonus');
+    app.get('/tender/:id/measure/stage/:order/extra/other', sessionAuth, tenderCheck, stageCheck, 'stageExtraController.other');
+
     // 报表
     app.get('/tender/:id/report', sessionAuth, tenderCheck, 'reportController.index');
     app.get('/tender/:id/measure/stage/:order/report', sessionAuth, tenderCheck, stageCheck, 'reportController.index');

+ 7 - 0
app/view/stage/stage_sub_menu.ejs

@@ -19,6 +19,13 @@
         </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 + '/extra/jgcl') { %>active<% } %>">
+                    <a href="/tender/<%- ctx.tender.id %>/measure/stage/<%- ctx.stage.order %>/extra/jgcl"><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 + '/pay') { %>active<% } %>">
                     <a href="/tender/<%- ctx.tender.id %>/measure/stage/<%- stage.order %>/pay"><span class="ml-3">合同支付</span></a>
                 </li>

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

@@ -19,6 +19,13 @@
         </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 + '/extra/jgcl') { %>active<% } %>">
+                    <a href="/tender/<%- ctx.tender.id %>/measure/stage/<%- ctx.stage.order %>/extra/jgcl"><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 + '/pay') { %>active<% } %>">
                     <a href="/tender/<%- ctx.tender.id %>/measure/stage/<%- stage.order %>/pay"><span class="ml-3">合同支付</span></a>
                 </li>

+ 19 - 0
app/view/stage_extra/bonus.ejs

@@ -0,0 +1,19 @@
+<% include ./sub_menu.ejs %>
+<div class="panel-content">
+    <div class="panel-title">
+        <div class="title-main d-flex">
+            <% include ./sub_mini_menu.ejs %>
+            <div>
+                奖罚金
+            </div>
+            <div class="ml-auto"></div>
+        </div>
+    </div>
+    <div class="content-wrap">
+        <div class="c-header p-0"></div>
+        <div class="c-body">
+            <div class="sjs-height-0" id="bonus-spread">
+            </div>
+        </div>
+    </div>
+</div>

+ 19 - 0
app/view/stage_extra/jgcl.ejs

@@ -0,0 +1,19 @@
+<% include ./sub_menu.ejs %>
+<div class="panel-content">
+    <div class="panel-title">
+        <div class="title-main d-flex">
+            <% include ./sub_mini_menu.ejs %>
+            <div>
+                甲供材料
+            </div>
+            <div class="ml-auto"></div>
+        </div>
+    </div>
+    <div class="content-wrap">
+        <div class="c-header p-0"></div>
+        <div class="c-body">
+            <div class="sjs-height-0" id="jgcl-spread">
+            </div>
+        </div>
+    </div>
+</div>

+ 35 - 0
app/view/stage_extra/other.ejs

@@ -0,0 +1,35 @@
+<% include ./sub_menu.ejs %>
+<div class="panel-content">
+    <div class="panel-title">
+        <div class="title-main d-flex">
+            <% include ./sub_mini_menu.ejs %>
+            <div>
+                其他
+            </div>
+            <div class="ml-auto"></div>
+        </div>
+    </div>
+    <div class="content-wrap">
+        <div class="c-header p-0"></div>
+        <div class="c-body">
+            <div class="sjs-height-1" id="main-spread">
+            </div>
+            <div class="bcontent-wrap" id="main-bottom">
+                <div id="main-resize" class="resize-y"  r-Type="height" div1="#bills-spread" div2="#main-bottom" store-id="compare-main" store-version="1.0.0" min="100"></div>
+                <div class="bc-bar mb-1">
+                    <ul class="nav nav-tabs">
+                        <li class="nav-item">
+                            <a class="nav-link active" data-toggle="tab" href="#detail" role="tab">明细</a>
+                        </li>
+                    </ul>
+                </div>
+                <div class="tab-content">
+                    <div class="tab-pane active" id="detail">
+                        <div class="sp-wrap" id="sub-spread">
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 11 - 0
app/view/stage_extra/sub_menu.ejs

@@ -0,0 +1,11 @@
+<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="其他台账">其他台账</h2>
+        </div>
+    </div>
+    <div class="scrollbar-auto">
+        <% include ./sub_menu_list.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-upload fa-rotate-270"></i></a></div>
+    </div>
+</div>

+ 28 - 0
app/view/stage_extra/sub_menu_list.ejs

@@ -0,0 +1,28 @@
+<div class="nav-box">
+    <ul class="nav-list list-unstyled">
+        <li>
+            <a href="/tender/<%= ctx.tender.id %>/measure/stage/<%= ctx.stage.order %>"><span class="ml-3"><i class="fa fa-chevron-left "></i> 返回</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 + '/extra/jgcl') { %>active<% } %>">
+            <a href="/tender/<%= ctx.tender.id %>/measure/stage/<%= ctx.stage.order %>/extra/jgcl"><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 + '/extra/bonus') { %>active<% } %>">
+            <a href="/tender/<%= ctx.tender.id %>/measure/stage/<%= ctx.stage.order %>/extra/bonus"><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 + '/extra/other') { %>active<% } %>">
+            <a href="/tender/<%= ctx.tender.id %>/measure/stage/<%= ctx.stage.order %>/extra/other"><span class="ml-3">其他</span></a>
+        </li>
+    </ul>
+</div>

+ 11 - 0
app/view/stage_extra/sub_mini_menu.ejs

@@ -0,0 +1,11 @@
+<!--折起的菜单-->
+<div class="min-side" id="sub-mini-menu" style="display: none;">
+    <div id="sub-mini-hint" class="side-switch" data-container="body" data-toggle="popover" data-placement="bottom" data-content="这里打开收起的菜单栏"></div>
+    <div class="side-switch">
+        <i class="fa fa-bars"></i>
+    </div>
+    <div class="side-menu" id="mini-menu-list" style="display: none">
+        <% include ./sub_menu_list.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-upload fa-rotate-90"></i></a></div>
+    </div>
+</div>

+ 45 - 16
config/web.js

@@ -272,22 +272,6 @@ const JsFiles = {
                 ],
                 mergeFile: 'stage_detail',
             },
-            // extra: {
-            //     files: [
-            //         "/public/js/spreadjs/sheets/v11/gc.spread.sheets.all.11.2.2.min.js",
-            //         "/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",
-            //         "/public/js/path_tree.js",
-            //         "/public/js/stage_extra.js",
-            //         "/public/js/stage_audit.js",
-            //     ],
-            //     mergeFile: 'stage_extra',
-            // },
             pay: {
                 files: [
                     "/public/js/spreadjs/sheets/v11/gc.spread.sheets.all.11.2.2.min.js",
@@ -367,6 +351,51 @@ const JsFiles = {
                 mergeFile: 'stage_compare',
             }
         },
+        stageExtra: {
+            jgcl: {
+                files: [
+                    "/public/js/spreadjs/sheets/v11/gc.spread.sheets.all.11.2.2.min.js",
+                    "/public/js/decimal.min.js",                    
+                ],
+                mergeFiles: [
+                    "/public/js/sub_menu.js",
+                    "/public/js/spreadjs_rela/spreadjs_zh.js",
+                    "/public/js/zh_calc.js",
+                    "/public/js/path_tree.js",
+                    "/public/js/se_jgcl.js",
+                ],
+                mergeFile: 'se_jgcl',                
+            },
+            bonus: {
+                files: [
+                    "/public/js/spreadjs/sheets/v11/gc.spread.sheets.all.11.2.2.min.js",
+                    "/public/js/decimal.min.js",                    
+                ],
+                mergeFiles: [
+                    "/public/js/sub_menu.js",
+                    "/public/js/spreadjs_rela/spreadjs_zh.js",
+                    "/public/js/zh_calc.js",
+                    "/public/js/path_tree.js",
+                    "/public/js/se_bonus.js",
+                ],
+                mergeFile: 'se_bonus',                
+            },
+            other: {
+                files: [
+                    "/public/js/spreadjs/sheets/v11/gc.spread.sheets.all.11.2.2.min.js",
+                    "/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",
+                    "/public/js/path_tree.js",
+                    "/public/js/se_other.js",
+                ],
+                mergeFile: 'se_other',                
+            },
+        },
         measure: {
             compare: {
                 files: [