Browse Source

1. 分页调整
2. 台账修订部分代码

MaiXinRong 5 years ago
parent
commit
e6d1714d1f

+ 5 - 0
app.js

@@ -33,6 +33,11 @@ module.exports = app => {
     // 控制器基类
     app.BaseController = BaseController;
 
+    // 检查日志路径
+    if (!fs.existsSync(app.baseDir + '/logs')) {
+        fs.mkdirSync(app.baseDir + '/logs');
+    }
+
     // 自定义手机校验规则
     app.validator.addRule('mobile', (rule, value) => {
         try {

+ 12 - 0
app/const/audit.js

@@ -44,6 +44,17 @@ const ledger = (function () {
     return { status, statusString, statusClass, auditString, auditStringClass }
 })();
 
+// 台账修订 审批流程
+const revise = (function () {
+    const status = {
+        uncheck: 1, // 待上报
+        checking: 2, // 待审批|审批中
+        checked: 3, // 审批通过
+        checkNo: 4, // 审批退回
+    };
+    return { status }
+})();
+
 // 期审批流程
 const stage = (function () {
     // 流程状态
@@ -221,6 +232,7 @@ filter.statusString[filter.status.checked] = '已完成';
 module.exports = {
     ledger,
     stage,
+    revise,
     flow: {
         status,
         statusString,

+ 49 - 4
app/controller/ledger_controller.js

@@ -13,7 +13,8 @@ const stdDataAddType = {
     child: 2,
     next: 3,
 };
-const auditConst = require('../const/audit').ledger;
+const audit = require('../const/audit');
+const auditConst = audit.ledger;
 const tenderMenu = require('../../config/menu').tenderMenu;
 const measureType = require('../const/tender').measureType;
 const spreadConst = require('../const/spread');
@@ -655,20 +656,64 @@ module.exports = app => {
             }
         }
 
+        async _getAddReviseValid(ctx) {
+            const stage  = await ctx.service.stage.getLastestStage(ctx.tender.id, true);
+            return (ctx.tender.data.user_id === ctx.session.sessionUser.accountId) &&
+                (ctx.tender.data.ledger_status === auditConst.status.checked) &&
+                (!stage || stage.status === audit.stage.status.checked);
+        }
+
         /**
-         * 台账变更页面 (Get)
+         * 台账修订页面 (Get)
          *
          * @param {object} ctx - egg全局变量
          * @return {void}
          */
-        async change(ctx) {
+        async revise(ctx) {
             try {
+                // 分页相关
+                const count = await ctx.service.ledgerRevise.count({tid: ctx.tender.id});
+                const ledgerRevise = await ctx.service.ledgerRevise.getReviseList(ctx.tender.id);
+                const addValid = await this._getAddReviseValid(ctx);
                 const renderData = {
                     tender: ctx.tender.data,
                     tenderMenu: this.menu.tenderMenu,
                     preUrl: '/tender/' + ctx.tender.id,
+                    pageInfo: {
+                        page: ctx.page,
+                        total: Math.ceil(count/app.config.pageSize),
+                        queryData: JSON.stringify(ctx.urlInfo.query),
+                    },
+                    ledgerRevise,
+                    addValid,
+                    auditConst: audit.revise,
                 };
-                await this.layout('ledger/change.ejs', renderData, 'ledger/change_modal.ejs');
+                await this.layout('ledger/revise.ejs', renderData, 'ledger/revise_modal.ejs');
+            } catch (err) {
+                this.log(err);
+                ctx.redirect(ctx.request.header.referer);
+            }
+        }
+
+        async addRevise(ctx) {
+            try {
+                const addValid = await this._getAddReviseValid(ctx);
+                if (!addValid) {
+                    throw '无法新增修订';
+                }
+                const revise = await ctx.service.ledgerRevise.add(ctx.tender.id, ctx.session.sessionUser.accountId);
+                console.log(3);
+
+                ctx.redirect('/tender/' + ctx.tender.id + '/ledger/revise/');
+                //ctx.redirect('/tender/' + ctx.tender.id + '/ledger/revise/' + revise.id + '/info');
+            } catch(err) {
+                this.log(err);
+                ctx.redirect(ctx.request.header.referer);
+            }
+        }
+
+        async reviseInfo(ctx) {
+            try {
             } catch (err) {
                 this.log(err);
                 ctx.redirect(ctx.request.header.referer);

+ 41 - 0
app/public/js/bootstrap/bootstrap-paginator.js

@@ -205,6 +205,14 @@
 
         },
 
+        showMore: function () {
+            var pages = this.getPages();
+
+            if (pages.more) {
+                this.show(pages.more);
+            }
+        },
+
         /**
          * Internal on page item click handler, when the page item is clicked, change the current page to the corresponding page and
          * trigger the pageclick event for the listeners.
@@ -242,6 +250,9 @@
             case "page":
                 currentTarget.bootstrapPaginator("show", page);
                 break;
+            case "page":
+                currentTarget.bootstrapPaginator("showMore");
+                break;
             }
 
         },
@@ -264,6 +275,7 @@
                 prev = null,
                 next = null,
                 last = null,
+                more = null,
                 p = null,
                 i = 0;
 
@@ -339,6 +351,17 @@
                 }
             }
 
+            // modified by mai 显示...类型
+            if (pages.more) {
+
+                more = this.buildPageItem("more", pages.more);
+
+                if (more) {
+                    listContainer.append(more);
+                }
+            }
+
+
             if (pages.next) {//if there is next page
 
                 next = this.buildPageItem("next", pages.next);
@@ -405,6 +428,11 @@
                 text = this.options.itemTexts(type, page, this.currentPage);
                 title = this.options.tooltipTitles(type, page, this.currentPage);
                 break;
+            case "more":
+                if (!this.getValueFromOption(this.options.shouldShowPage, type, page, this.currentPage)) { return; }
+                text = this.options.itemTexts(type, page, this.currentPage);
+                title = this.options.tooltipTitles(type, page, this.currentPage);
+                break;
             }
 
             itemContainer.addClass(itemContainerClass).append(itemContent);
@@ -467,6 +495,12 @@
                 output.prev = 1;
             }
 
+            if (output[output.length - 1] === totalPages) {
+                output.more = totalPages
+            } else {
+                output.more = output[output.length - 1] + 1;
+            }
+
             if (this.currentPage < totalPages) {// add the next page when the current page doesn't reach the last page
                 output.next = this.currentPage + 1;
             } else {
@@ -606,6 +640,9 @@
             case "page":
                 result = true;
                 break;
+            case "more":
+                result = (page !== this.totalPages);
+                break;
             }
 
             return result;
@@ -623,6 +660,8 @@
                 return "&gt;&gt;";
             case "page":
                 return page;
+            case "more":
+                return "...";
             }
         },
         tooltipTitles: function (type, page, current) {
@@ -638,6 +677,8 @@
                 return "Go to last page";
             case "page":
                 return (page === current) ? "Current page is " + page : "Go to page " + page;
+            case "more":
+                return "more pages";
             }
         },
         bootstrapTooltipOptions: {

+ 2 - 1
app/router.js

@@ -98,7 +98,8 @@ module.exports = app => {
     app.post('/tender/:id/pos/update', sessionAuth, tenderCheck, 'ledgerController.posUpdate');
     app.post('/tender/:id/pos/paste', sessionAuth, tenderCheck, 'ledgerController.posPaste');
 
-    app.get('/tender/:id/ledger/change', sessionAuth, tenderCheck, 'ledgerController.change');
+    app.get('/tender/:id/ledger/revise', sessionAuth, tenderCheck, 'ledgerController.revise');
+    app.post('/tender/:id/ledger/revise/add', sessionAuth, tenderCheck, 'ledgerController.addRevise');
     app.get('/tender/:id/ledger/index', sessionAuth, 'ledgerController.index');
 
     // 台账审批相关

+ 0 - 16
app/service/ledger_change.js

@@ -1,16 +0,0 @@
-'use strict';
-
-/**
- *
- *
- * @author Mai
- * @date 2018/6/12
- * @version
- */
-
-module.exports = app => {
-    class LedgerChange extends app.BaseService {
-    }
-
-    return LedgerChange;
-};

+ 94 - 0
app/service/ledger_revise.js

@@ -0,0 +1,94 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Mai
+ * @date 2018/6/12
+ * @version
+ */
+
+const audit = require('../const/audit').revise;
+
+module.exports = app => {
+    class LedgerRevise extends app.BaseService {
+
+        /**
+         * 构造函数
+         *
+         * @param {Object} ctx - egg全局变量
+         * @return {void}
+         */
+        constructor(ctx) {
+            super(ctx);
+            this.tableName = 'ledger_revise';
+        }
+
+        /**
+         * 获取标段下,修订(分页,且按时间倒序)
+         * @param {Number}tid - 标段id
+         * @returns {Promise<*>} - ledger_change下所有数据,并关联 project_account(读取提交人名称、单位、公司)
+         */
+        async getReviseList (tid) {
+            const sql = 'SELECT *, pa.name As user_name, pa.role As user_role, pa.company As user_company' +
+                '  FROM ' + this.tableName + ' As lc' +
+                '  INNER JOIN ' + this.ctx.service.projectAccount.tableName + ' As pa ON lc.uid = pa.id' +
+                '  WHERE lc.tid = ?' +
+                '  ORDER BY lc.in_time DESC' +
+                '  LIMIT ?, ?';
+            const Len = this.app.config.pageSize;
+            const sqlParam = [tid, (this.ctx.page - 1) * Len, Len];
+            return await this.db.query(sql, sqlParam);
+        }
+
+        /**
+         * 获取新增修订的序号
+         * @param {Number}tid - 标段id
+         * @returns {Promise<number>}
+         */
+        async getNewOrder(tid) {
+            const sql = 'SELECT Max(`corder`) As max_order FROM ' + this.tableName + ' Where `tid` = ? and `valid`';
+            const sqlParam = [tid];
+            const result = await this.db.queryOne(sql, sqlParam);
+            return result.max_order || 0;
+            // if (result && result.max_order) {
+            //     return result.max_order;
+            // } else {
+            //     return 0;
+            // }
+        }
+
+        /**
+         * 新增修订
+         * @param {Number}tid - 标段id
+         * @param {Number}uid - 提交人id
+         * @returns {Promise<void>}
+         */
+        async add(tid, uid) {
+
+            if (!tid && !uid) {
+                throw '数据错误';
+            }
+            const maxOrder = await this.getNewOrder(tid);
+            const data = {
+                id: this.uuid.v4(), tid: tid, uid: uid,
+                corder: maxOrder + 1, in_time: new Date(), status: audit.status.uncheck,
+            };
+            const transaction = await this.db.beginTransaction();
+            try {
+                const result = await transaction.insert(this.tableName, data);
+                if (result.affectedRows !== 1) {
+                    throw '新增台账修订失败';
+                }
+                // todo 拷贝数据(清单、部位明细)
+                await transaction.commit();
+            } catch(err) {
+                await transaction.rollback();
+                throw err;
+            }
+        }
+
+    }
+
+    return LedgerRevise;
+};

+ 36 - 0
app/service/ledger_revise_bills.js

@@ -0,0 +1,36 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Mai
+ * @date
+ * @version
+ */
+
+module.exports = app => {
+    class LedgerReviseBills extends app.BaseService {
+        /**
+         * 构造函数
+         *
+         * @param {Object} ctx - egg全局变量
+         * @return {void}
+         */
+        constructor(ctx) {
+            super(ctx);
+            this.tableName = 'ledger_revise_bills';
+        }
+
+        /**
+         * 初始化 修订的 清单
+         * @param tid
+         * @param lrid
+         * @returns {Promise<void>}
+         */
+        async initReviseBills(tid, lrid) {
+
+        }
+    }
+
+    return LedgerReviseBills;
+};

+ 36 - 0
app/service/ledger_revise_pos.js

@@ -0,0 +1,36 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Mai
+ * @date
+ * @version
+ */
+
+module.exports = app => {
+    class LedgerRevisePos extends app.BaseService {
+        /**
+         * 构造函数
+         *
+         * @param {Object} ctx - egg全局变量
+         * @return {void}
+         */
+        constructor(ctx) {
+            super(ctx);
+            this.tableName = 'ledger_revise_pos';
+        }
+
+        /**
+         * 初始化 修订的 部位明细
+         * @param tid
+         * @param lrid
+         * @returns {Promise<void>}
+         */
+        async initRevisePos(tid, lrid) {
+
+        }
+    }
+
+    return LedgerRevisePos;
+};

+ 35 - 7
app/view/layout/page.ejs

@@ -1,3 +1,22 @@
+<!--<div class="btn-toolbar" role="toolbar" aria-label="Toolbar with button groups">-->
+    <!--<div class="btn-group mr-2" role="group" aria-label="First group">-->
+        <!--<button type="button" class="btn btn-light" disabled title="首页"><i class="fa fa-caret-left"></i></button>-->
+        <!--<button type="button" class="btn btn-light" disabled title="上一页"><i class="fa fa-angle-left"></i></button>-->
+    <!--</div>-->
+    <!--<div class="btn-group mr-2" role="group" aria-label="Second group">-->
+        <!--<button type="button" class="btn btn-light active">1</button>-->
+        <!--<button type="button" class="btn btn-light">2</button>-->
+        <!--<button type="button" class="btn btn-light">3</button>-->
+        <!--<button type="button" class="btn btn-light">4</button>-->
+        <!--<button type="button" class="btn btn-light">5</button>-->
+        <!--<button type="button" class="btn btn-light" title="更多">...</button>-->
+    <!--</div>-->
+    <!--<div class="btn-group" role="group" aria-label="Third group">-->
+        <!--<button type="button" class="btn btn-light" title="下一页"><i class="fa fa-angle-right"></i></button>-->
+        <!--<button type="button" class="btn btn-light" title="尾页"><i class="fa fa-caret-right"></i></button>-->
+    <!--</div>-->
+<!--</div>-->
+
 <nav aria-label="Page navigation example">
     <ul class="pagination"></ul>
 </nav>
@@ -7,6 +26,7 @@
         bootstrapMajorVersion: 4,
         currentPage: "<%= pageInfo.page %>",
         totalPages: "<%= pageInfo.total %>",
+        numberOfPages: 5,
         size: "normal",
         itemContainerClass: function(type, page, current) {
             let className = 'page-item';
@@ -14,12 +34,18 @@
             this.totalPages = parseInt(this.totalPages);
 
             switch (type) {
+                case "first":
+                    className = this.currentPage === 1 ? className + ' disabled' : className;
+                    break;
                 case "prev":
                     className = this.currentPage === 1 ? className + ' disabled' : className;
                     break;
                 case "next":
                     className = this.currentPage === this.totalPages ? className + ' disabled' : className;
                     break;
+                case "last":
+                    className = this.currentPage === this.totalPages ? className + ' disabled' : className;
+                    break;
                 case "page":
                     className = page === this.currentPage ? className + ' active' : className;
                     break;
@@ -33,32 +59,34 @@
         itemTexts: function(type, page, current) {
             switch (type) {
                 case "first":
-                    return "&laquo;";
+                    return '<i class="fa fa-caret-left"></i>';
                 case "prev":
-                    return "上一页";
+                    return '<i class="fa fa-angle-left"></i>';
                 case "next":
-                    return "下一页";
+                    return '<i class="fa fa-angle-right"></i>';
                 case "last":
-                    return "最后一页";
+                    return '<i class="fa fa-caret-right"></i>';
                 case "page":
                     return page;
+                case "more":
+                    return '...';
             }
         },
         shouldShowPage: function (type, page, current) {
             let result = true;
             switch (type) {
                 case "first":
-                    result = (current !== 1);
                     break;
                 case "prev":
                     break;
                 case "next":
                     break;
                 case "last":
-                    result = false;
                     break;
                 case "page":
-                    result = true;
+                    break;
+                case "more":
+                    result = (page !== this.totalPages);
                     break;
             }
             return result;

+ 0 - 88
app/view/ledger/change.ejs

@@ -1,88 +0,0 @@
-<% include ../tender/tender_sub_menu.ejs %>
-<div class="panel-content">
-    <div class="panel-title fluid">
-        <div class="title-main  d-flex justify-content-between"><!--工具-->
-            <div>
-                <div class="d-inline-block">
-                    <input type="month" class="form-control form-control-sm mt-0">
-                </div>
-            </div>
-            <div>
-                <div class="d-inline-block">
-                    <a href="#add-bg" data-toggle="modal" data-target="#add-bg" class="btn btn-primary btn-sm pull-right">新建修订</a>
-                </div>
-            </div>
-        </div>
-    </div>
-    <div class="content-wrap">
-        <div class="c-body">
-            <table class="table table-bordered">
-                <thead>
-                <tr>
-                    <th>编号</th>
-                    <th>变更名称</th>
-                    <th>创建时间</th>
-                    <th>提交人</th>
-                    <th>状态</th>
-                    <th>处理时间</th>
-                    <th>操作</th>
-                </tr>
-                </thead>
-                <tr>
-                    <td>0006</td>
-                    <td><a href="taizhang-bg-detail.html">编写错漏6(待修订)</a></td>
-                    <td>2017-11-23</td>
-                    <td>张三</td>
-                    <td>草稿</td>
-                    <td>2017-11-25</td>
-                    <td></td>
-                </tr>
-                <tr>
-                    <td>0005</td>
-                    <td><a href="taizhang-bg-detail-shenpi.html">编写错漏5(审批&审批中)</a></td>
-                    <td>2017-11-23</td>
-                    <td>张三</td>
-                    <td>王五 审批中</td>
-                    <td></td>
-                    <td><a href="taizhang-bg-detail-shenpi.html" class="btn btn-success btn-sm">审批</a></td>
-                </tr>
-                <tr>
-                    <td>0004</td>
-                    <td><a href="">编写错漏4</a></td>
-                    <td>2017-11-23</td>
-                    <td>张三</td>
-                    <td>退回</td>
-                    <td>2017-12-06</td>
-                    <td><a href="taizhang-bg-detail.html" class="btn btn-primary btn-sm">重新上报</a> <a href="#remove"  data-toggle="modal" data-target="#remove" class="btn btn-secondary btn-sm">作废</a></td>
-                </tr>
-                <tr>
-                    <td>0003</td>
-                    <td><a href="taizhang-bg-detail-done.html">编写错漏3(完成)</a></td>
-                    <td>2017-11-23</td>
-                    <td>张三</td>
-                    <td>完成</td>
-                    <td></td>
-                    <td></td>
-                </tr>
-                <tr>
-                    <td>0002</td>
-                    <td><a href="">编写错漏2</a></td>
-                    <td>2017-11-23</td>
-                    <td>张三</td>
-                    <td>张三 作废</td>
-                    <td>2017-11-24</td>
-                    <td></td>
-                </tr>
-                <tr>
-                    <td>0001</td>
-                    <td><a href="">编写错漏1</a></td>
-                    <td>2017-11-23</td>
-                    <td>张三</td>
-                    <td></td>
-                    <td></td>
-                    <td><a href="#" class="btn btn-danger btn-sm">删除</a></td>
-                </tr>
-            </table>
-        </div>
-    </div>
-</div>

+ 65 - 0
app/view/ledger/revise.ejs

@@ -0,0 +1,65 @@
+<% 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="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">
+                        <div class="input-group-append">
+                            <button class="btn btn-outline-secondary" type="button" title="筛选"><i class="fa fa-filter"></i></button>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div>
+                <% if (addValid) { %>
+                <div class="d-inline-block">
+                    <a href="#add-bg" data-toggle="modal" data-target="#add-bg" class="btn btn-primary btn-sm pull-right">新建修订</a>
+                </div>
+                <% } %>
+            </div>
+        </div>
+    </div>
+    <div class="content-wrap">
+        <div class="c-body">
+            <!--修订中-->
+            <table class="table table-bordered">
+                <thead>
+                <tr>
+                    <th></th>
+                    <th>创建时间</th>
+                    <th>提交人</th>
+                    <th>状态</th>
+                    <th>完成时间</th>
+                    <th>操作</th>
+                </tr>
+                </thead>
+                <% for (const lr of ledgerRevise) { %>
+                <tr>
+                    <td><%- lr.corder %></td>
+                    <td><%- lr.in_time ? lr.in_time.toLocaleDateString() : '' %></td>
+                    <td><%- lr.user_name %></td>
+                    <td></td>
+                    <td><%- lr.end_time ? lr.end_time.toLocaleDateString() : '' %></td>
+                    <td>
+                        <% if (lr.status === auditConst.status.uncheck) { %>
+                        <a href="<%- preUrl + 'ledger/revise/' + lr.id +'/info' %>" class="btn btn-primary btn-sm">修订</a>
+                        <a href="#remove" data-toggle="modal" data-target="#remove" class="btn btn-secondary btn-sm">作废</a>
+                        <% } else if (lr.status === auditConst.status.checking) { %>
+                        <a href="<%- preUrl + 'ledger/revise/' + lr.id +'/info' %>" class="btn btn-success btn-sm">审批</a><
+                        <% } else if (lr.status === auditConst.status.checkNo) { %>
+                        <a href="<%- preUrl + 'ledger/revise/' + lr.id +'/info' %>" class="btn btn-primary btn-sm">重新上报</a>
+                        <a href="#remove" data-toggle="modal" data-target="#remove" class="btn btn-secondary btn-sm">作废</a>
+                        <% } else if (ledgerRevise.indexOf(lr) === ledgerRevise.length - 1) { %>
+                        <a href="<%- preUrl + 'ledger/revise/' + lr.id +'/info' %>">查看修订内容</a>
+                        <% } %>
+                    </td>
+                </tr>
+                <% } %>
+            </table>
+            <!--翻页-->
+            <% include ../layout/page.ejs %>
+        </div>
+    </div>
+</div>

+ 11 - 17
app/view/ledger/change_modal.ejs

@@ -1,39 +1,33 @@
-<!--弹出新建台帐变更-->
+<!--弹出新建台帐修订-->
 <div class="modal fade" id="add-bg" data-backdrop="static">
-    <div class="modal-dialog" role="document">
-        <form class="modal-content" action="/ledger/change/add" method="post">
+    <form class="modal-dialog" role="document" action="<%- preUrl + '/ledger/revise/add' %>" method="post">
+        <div class="modal-content">
             <div class="modal-header">
                 <h5 class="modal-title">新建修订</h5>
             </div>
             <div class="modal-body">
-                <div class="form-group">
-                    <label>修订编号<b class="text-danger">*</b></label>
-                    <input class="form-control"  value="0006" type="text" readonly>
-                </div>
-                <div class="form-group">
-                    <label>修订名称<b class="text-danger">*</b></label>
-                    <input class="form-control"  placeholder="输入修订名称" type="text" value="20180525 15:27 修订">
-                </div>
+                <h5>创建修订后,本期计量将暂时锁定,锁定后本期计量无法计量和上报,需修订完成后,才能解锁。</h5>
             </div>
             <div class="modal-footer">
+                <input type="hidden" name="_csrf" value="<%= ctx.csrf %>" />
                 <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
                 <button type="submit" class="btn btn-primary">确定新建</button>
             </div>
-        </form>
-    </div>
+        </div>
+    </form>
 </div>
 <!--弹出作废-->
 <div class="modal fade" id="remove" data-backdrop="static">
     <div class="modal-dialog" role="document">
         <div class="modal-content">
             <div class="modal-header">
-                <h5 class="modal-title">作废变更</h5>
+                <h5 class="modal-title">作废修订</h5>
             </div>
             <div class="modal-body">
                 <div class="alert alert-danger">
-                    编写错漏3 已有审批数据,请谨慎操作;
-                    <br>作废后,审批无法恢复,请谨慎操作;
-                    <br>确认作废,请在以下输入框输入"&nbsp;&nbsp;&nbsp;<b>变更作废</b>&nbsp;&nbsp;&nbsp;",再点击“确认作废”按钮。
+                    修订 已有数据,请谨慎操作;
+                    <br>作废后,数据无法恢复,请谨慎操作;
+                    <br>确认作废,请在以下输入框输入"&nbsp;&nbsp;&nbsp;<b>修订作废</b>&nbsp;&nbsp;&nbsp;",再点击“确认作废”按钮。
                 </div>
                 <div class="form-group">
                     <input class="form-control"  placeholder="" type="text">

+ 3 - 0
config/config.qa.js

@@ -61,5 +61,8 @@ module.exports = appInfo => {
         disableConsoleAfterReady: false,
     };
 
+    // 分页相关
+    config.pageSize = 3;
+
     return config;
 };

+ 1 - 1
config/menu.js

@@ -64,7 +64,7 @@ const tenderMenu = {
             }, {
                 name: '台帐修订',
                 display: true,
-                url: '/ledger/change',
+                url: '/ledger/revise',
             },
         ],
     },