浏览代码

单价变更完成0.01

MaiXinRong 3 年之前
父节点
当前提交
9f794037cc

+ 11 - 0
app/controller/revise_controller.js

@@ -1016,6 +1016,8 @@ module.exports = app => {
                     return spec;
                 case 'tags':
                     return await this.ctx.service.ledgerTag.getDatas(ctx.tender.id);
+                case 'price':
+                    return await this.ctx.service.revisePriceChange.getAllDataByCondition({ where: { rid: ctx.revise.id } });
             }
         }
 
@@ -1060,6 +1062,15 @@ module.exports = app => {
             };
             await this.layout('revise/bwtz.ejs', renderData);
         }
+
+        async price(ctx) {
+            if (!ctx.revise) throw '台账修订数据有误';
+            const renderData = {
+                revise: ctx.revise,
+                jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.revise.price)
+            };
+            await this.layout('revise/price.ejs', renderData);
+        }
     }
 
     return ReviseController;

+ 2 - 1
app/middleware/revise_check.js

@@ -18,7 +18,7 @@ module.exports = options => {
      * @param {function} next - 中间件继续执行的方法
      * @return {void}
      */
-    return function* reviseAuditCheck(next) {
+    return function* reviseCheck(next) {
         try {
             // 获取revise
             const revise = yield this.service.ledgerRevise.getLastestRevise(this.tender.id);
@@ -30,6 +30,7 @@ module.exports = options => {
                 const auditorsId = this.helper._.map(auditors, 'audit_id');
                 revise.reviseUsers.push(...auditorsId);
             }
+            revise.readOnly = revise.status === auditConst.status.uncheck || revise.status === auditConst.status.checkNo;
             this.revise = revise;
             yield next;
         } catch (err) {

+ 4 - 1
app/router.js

@@ -217,7 +217,10 @@ module.exports = app => {
 
     app.get('/tender/:id/revise/compare', sessionAuth, tenderCheck, uncheckTenderCheck, reviseAuditCheck, 'reviseController.compare');
     app.get('/tender/:id/revise/gcl-compare', sessionAuth, tenderCheck, uncheckTenderCheck, reviseAuditCheck, 'reviseController.gclCompare');
-    app.post('/tender/:id/revise/load', sessionAuth, tenderCheck, uncheckTenderCheck, reviseAuditCheck, 'reviseController.loadData');
+    app.post('/tender/:id/revise/load', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, reviseAuditCheck, 'reviseController.loadData');
+    // 单价调整
+    app.get('/tender/:id/revise/price', sessionAuth, tenderCheck, uncheckTenderCheck, reviseCheck, reviseAuditCheck, 'reviseController.price');
+
 
     // 查看修订数据
     app.get('/tender/:id/revise/history', sessionAuth, tenderCheck, uncheckTenderCheck, 'reviseController.history');

+ 27 - 0
app/service/revise_price_change.js

@@ -0,0 +1,27 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Mai
+ * @date
+ * @version
+ */
+
+module.exports = app => {
+    class RevisePriceChange extends app.BaseService {
+
+        /**
+         * 构造函数
+         *
+         * @param {Object} ctx - egg全局变量
+         * @return {void}
+         */
+        constructor(ctx) {
+            super(ctx);
+            this.tableName = 'revise_price_change';
+        }
+    }
+
+    return RevisePriceChange;
+};

+ 42 - 0
app/view/revise/price.ejs

@@ -0,0 +1,42 @@
+<% 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="content-wrap row pr-46">
+        <div class="c-header p-0 col-12"></div>
+        <!--核心内容(两栏)-->
+        <div class="row w-100 sub-content">
+            <!--左栏-->
+            <div class="c-body" id="left-view" style="width: 100%">
+                <!--0号台账模式-->
+                <div class="sjs-height-0" style="overflow: hidden" id="price-spread">
+                </div>
+            </div>
+            <!--右栏-->
+            <div class="c-body" id="right-view" style="display: none; width: 33%;">
+                <div class="resize-x" id="revise-right-spr" r-Type="width" div1="#left-view" div2="#right-view" title="调整大小" a-type="percent"><!--调整左右高度条--></div>
+                <div class="tab-content">
+                    <div id="ledgerGcl" class="tab-pane">
+                    </div>
+                </div>
+            </div>
+        </div>
+        <!--右侧菜单-->
+        <div class="side-menu">
+            <!--右侧菜单-->
+            <ul class="nav flex-column right-nav" id="side-menu">
+                <li class="nav-item">
+                    <a class="nav-link" content="#ledgerGcl" href="javascript: void(0);">台账清单</a>
+                </li>
+            </ul>
+        </div>
+    </div>
+</div>
+<script src="/public/js/moment/moment.min.js"></script>
+<script>
+    const readOnly = <%- ctx.revise.readOnly %>;
+</script>

+ 1 - 0
app/view/revise/sub_menu_list.ejs

@@ -1,4 +1,5 @@
 <nav-menu title="返回" url="/tender/<%= ctx.tender.id %>/revise" tclass="text-primary" ml="1" icon="fa-chevron-left"></nav-menu>
 <nav-menu title="台账修订" url="/tender/<%= ctx.tender.id %>/revise/info" ml="3" active="<%= ctx.url.indexOf('revise/info') %>"></nav-menu>
+<nav-menu title="单价调整" url="/tender/<%= ctx.tender.id %>/revise/price" ml="3" active="<%= ctx.url.indexOf('revise/price') %>"></nav-menu>
 <nav-menu title="台账对比" url="/tender/<%= ctx.tender.id %>/revise/compare" ml="3" active="<%= ctx.url.indexOf('revise/compare') %>"></nav-menu>
 <nav-menu title="清单对比" url="/tender/<%= ctx.tender.id %>/revise/gcl-compare" ml="3" active="<%= ctx.url.indexOf('revise/gcl-compare') %>"></nav-menu>

+ 14 - 0
config/web.js

@@ -259,6 +259,20 @@ const JsFiles = {
                 ],
                 mergeFile: 'revise_history',
             },
+            price: {
+                files: ['/public/js/spreadjs/sheets/v11/gc.spread.sheets.all.11.2.2.min.js'],
+                mergeFiles: [
+                    '/public/js/sub_menu.js',
+                    '/public/js/div_resizer.js',
+                    '/public/js/spreadjs_rela/spreadjs_zh.js',
+                    '/public/js/shares/sjs_setting.js',
+                    '/public/js/zh_calc.js',
+                    '/public/js/gcl_gather.js',
+                    '/public/js/path_tree.js',
+                    '/public/js/revise_price.js',
+                ],
+                mergeFile: 'revise_price',
+            },
             compare: {
                 files: [
                     '/public/js/spreadjs/sheets/v11/gc.spread.sheets.all.11.2.2.min.js',