Forráskód Böngészése

期计量,添加全部静态页面

MaiXinRong 7 éve
szülő
commit
d012fb26a4

+ 84 - 23
app/controller/stage_controller.js

@@ -9,6 +9,7 @@
  */
 
 const moment = require('moment');
+const audit = require('../const/audit');
 
 module.exports = app => {
     class StageController extends app.BaseController {
@@ -36,7 +37,7 @@ module.exports = app => {
                 const tenderList = ctx.tenderList;
 
                 const stages = await ctx.service.stage.getAllDataByCondition({
-                    where: {tender_id: tender.id},
+                    where: {tid: tender.id},
                     order: ['order'],
                 });
                 const renderData = {
@@ -44,6 +45,7 @@ module.exports = app => {
                     tender,
                     tenderList,
                     stages,
+                    auditConst: audit.flow,
                 };
 
                 await this.layout('stage/index.ejs', renderData, 'stage/modal.ejs');
@@ -66,39 +68,98 @@ module.exports = app => {
                     throw '当前未打开标段';
                 }
 
-                const stages = await ctx.service.stage.getAllDataByCondition({
-                    where: {tender_id: tender.id},
-                    order: ['order'],
-                });
-                const order = stages.length + 1;
-                const newStage = {
-                    sid: this.uuid.v4(),
-                    tender_id: tenderId,
+                const data = JSON.parse(ctx.request.body.data);
+                const stage = await ctx.service.stage.add(tenderId, data.name, moment(data.time).toDate());
+                console.log(stage);
+
+                ctx.body = { err: 0, msg: '', data: stage };
+            } catch (err) {
+                console.log(err);
+                ctx.body = { err: 1, msg: err.toString(), data: null};
+            }
+        }
+
+        /**
+         * 期 -- 本期计量台账 页面 (Get)
+         *
+         * @param {Object} ctx - egg全局变量
+         * @returns {Promise<void>}
+         */
+        async stageMeasure(ctx) {
+            try {
+                const tender = ctx.tenderData;
+                const tenderList = ctx.tenderList;
+
+                const order = parseInt(ctx.params.order);
+                const stage = await ctx.service.stage.getDataByCondition({
+                    tid: tender.id,
                     order: order,
-                    name: ctx.body.stageName,
-                    in_time: new Date(),
-                    s_time: ctx.body.stageTime,
-                    times: 1,
-                    status: auditConst.status.uncheck,
-                };
-                const result = await ctx.service.stage.insert(newStage);
-                if (result.affected === 1) {
-                    ctx.redirect('/stage/' + newStage.sid);
+                });
+                const renderData = {
+                    tender,
+                    tenderList,
+                    stage,
+                    auditConst: audit.flow,
                 }
+                await this.layout('stage/measure.ejs', renderData, 'stage/measure_modal.ejs');
             } catch (err) {
                 console.log(err);
                 ctx.redirect('/stage');
             }
         }
 
-        async stage(ctx) {
+        /**
+         * 期 -- 合同支付 页面 (Get)
+         *
+         * @param {Object} ctx - egg全局变量
+         * @returns {Promise<void>}
+         */
+        async stageDeal(ctx) {
             try {
-                const tenderId = ctx.session.sessionUser.tenderId;
-                if (!tenderId) {
-                    throw '当前未打开标段'
+                const tender = ctx.tenderData;
+                const tenderList = ctx.tenderList;
+
+                const order = parseInt(ctx.params.order);
+                const stage = await ctx.service.stage.getDataByCondition({
+                    tid: tender.id,
+                    order: order,
+                });
+                const renderData = {
+                    tender,
+                    tenderList,
+                    stage,
+                    auditConst: audit.flow,
                 }
-                const tenderData = await ctx.service.tender.getDataById(tenderId);
+                await this.layout('stage/deal.ejs', renderData, 'stage/deal_modal.ejs');
+            } catch (err) {
+                console.log(err);
+                ctx.redirect('/stage');
+            }
+        }
 
+        /**
+         * 期 -- 报表 页面 (Get)
+         *
+         * @param {Object} ctx - egg全局变量
+         * @returns {Promise<void>}
+         */
+        async stageReport(ctx) {
+            try {
+                const tender = ctx.tenderData;
+                const tenderList = ctx.tenderList;
+
+                const order = parseInt(ctx.params.order);
+                const stage = await ctx.service.stage.getDataByCondition({
+                    tid: tender.id,
+                    order: order,
+                });
+                const renderData = {
+                    tender,
+                    tenderList,
+                    stage,
+                    auditConst: audit.flow,
+                };
+                await this.layout('stage/report.ejs', renderData, 'stage/report_modal.ejs');
             } catch (err) {
                 console.log(err);
                 ctx.redirect('/stage');

+ 109 - 66
app/public/css/main.css

@@ -1,12 +1,12 @@
 /*building SAAS 0.1*/
 /*bootstrap 初始化*/
 body {
-    font-size: 0.9rem;
-    overflow: hidden;
-    background: #e4e7ea
+  font-size: 0.9rem;
+  overflow: hidden;
+  background: #e4e7ea
 }
 .dropdown-menu {
-    font-size: 0.9rem
+  font-size: 0.9rem
 }
 .btn.disabled, .btn:disabled {
   color:#999
@@ -15,34 +15,37 @@ body {
 /*滚动条*/
 /* 滚动条 */
 ::-webkit-scrollbar-thumb:horizontal { /*水平滚动条的样式*/
-	width: 5px;
-	background-color: #ddd;
-	-webkit-border-radius: 6px;
+  width: 5px;
+  background-color: #ddd;
+  -webkit-border-radius: 6px;
 }
 ::-webkit-scrollbar-track-piece {
-	background-color: #fff; /*滚动条的背景颜色*/
-	-webkit-border-radius: 0; /*滚动条的圆角宽度*/
+  background-color: #fff; /*滚动条的背景颜色*/
+  -webkit-border-radius: 0; /*滚动条的圆角宽度*/
 }
 ::-webkit-scrollbar {
-	width: 10px; /*滚动条的宽度*/
-	height: 8px; /*滚动条的高度*/
+  width: 10px; /*滚动条的宽度*/
+  height: 8px; /*滚动条的高度*/
 }
 ::-webkit-scrollbar-thumb:vertical { /*垂直滚动条的样式*/
-	height: 50px;
-	background-color: #ddd;
-	-webkit-border-radius: 6px;
-	outline: 1px solid #fff;
-	outline-offset: -1px;
-	border: 1px solid #fff;
+  height: 50px;
+  background-color: #ddd;
+  -webkit-border-radius: 6px;
+  outline: 1px solid #fff;
+  outline-offset: -1px;
+  border: 1px solid #fff;
 }
 ::-webkit-scrollbar-thumb:hover { /*滚动条的hover样式*/
-	height: 50px;
-	background-color: #999;
-	-webkit-border-radius: 6px;
+  height: 50px;
+  background-color: #999;
+  -webkit-border-radius: 6px;
 }
 .sjs-height-1,.sjs-height-2{
   overflow: hidden;
 }
+.sjs-height-4,.sjs-height-5,.sjs-height-6{
+  overflow: auto;
+}
 .sjs-bottom{
   height:400px;
   overflow-y: auto;
@@ -52,46 +55,46 @@ body {
   overflow-y: auto;
 }
 .form-signin {
-    max-width: 500px;
-    margin: 150px auto;
+  max-width: 500px;
+  margin: 150px auto;
 }
 .has-danger {
-    -webkit-animation: shake 1s .2s ease both;
-    -moz-animation: shake 1s .2s ease both;
-    animation: shake 1s .2s ease both;
+  -webkit-animation: shake 1s .2s ease both;
+  -moz-animation: shake 1s .2s ease both;
+  animation: shake 1s .2s ease both;
 }
 @-webkit-keyframes shake {
-    0%, 100% {
-        -webkit-transform: translateX(0);
-    }
-    10%, 30%, 50%, 70%, 90% {
-        -webkit-transform: translateX(-10px);
-    }
-    20%, 40%, 60%, 80% {
-        -webkit-transform: translateX(10px);
-    }
+  0%, 100% {
+    -webkit-transform: translateX(0);
+  }
+  10%, 30%, 50%, 70%, 90% {
+    -webkit-transform: translateX(-10px);
+  }
+  20%, 40%, 60%, 80% {
+    -webkit-transform: translateX(10px);
+  }
 }
 @-moz-keyframes shake {
-    0%, 100% {
-        -moz-transform: translateX(0);
-    }
-    10%, 30%, 50%, 70%, 90% {
-        -moz-transform: translateX(-10px);
-    }
-    20%, 40%, 60%, 80% {
-        -moz-transform: translateX(10px);
-    }
+  0%, 100% {
+    -moz-transform: translateX(0);
+  }
+  10%, 30%, 50%, 70%, 90% {
+    -moz-transform: translateX(-10px);
+  }
+  20%, 40%, 60%, 80% {
+    -moz-transform: translateX(10px);
+  }
 }
 @keyframes shake {
-    0%, 100% {
-        transform: translateX(0);
-    }
-    10%, 30%, 50%, 70%, 90% {
-        transform: translateX(-10px);
-    }
-    20%, 40%, 60%, 80% {
-        transform: translateX(10px);
-    }
+  0%, 100% {
+    transform: translateX(0);
+  }
+  10%, 30%, 50%, 70%, 90% {
+    transform: translateX(-10px);
+  }
+  20%, 40%, 60%, 80% {
+    transform: translateX(10px);
+  }
 }
 /*2.主体框架*/
 .header {
@@ -199,6 +202,10 @@ body {
   right:15px;
   top:116px
 }
+.side-menu .nav-link{
+  line-height: 16px;
+  font-size: 14px
+}
 .sub-content{
   margin:0;
 }
@@ -207,22 +214,22 @@ body {
 }
 /*滚动*/
 .scrollbar-auto {
-    overflow-y: auto;
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    top: 0;
-    right: 0;
+  overflow-y: auto;
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  top: 0;
+  right: 0;
 }
 .panel-sidebar .scrollbar-auto{
-    padding-top: 20px;
-    box-sizing: border-box;
+  padding-top: 20px;
+  box-sizing: border-box;
 }
 .panel-sidebar .scrollbar-auto {
-    height: 100%;
-    width: 100%;
-    overflow-y: auto;
-    position: static;
+  height: 100%;
+  width: 100%;
+  overflow-y: auto;
+  position: static;
 }
 /*头部*/
 .header .logo {
@@ -334,7 +341,7 @@ body {
   text-decoration: none;
 }
 .bg-nav > li + li {
-    margin-top:0;
+  margin-top:0;
 }
 .bg-nav .sub-menu {
   list-style:none;
@@ -407,7 +414,7 @@ body {
   color:#f90000
 }
 .bg-gray {
- background-color:#bbb!important;
+  background-color:#bbb!important;
 }
 .datepickers-container {
   z-index: 9999
@@ -462,6 +469,42 @@ body {
   height:400px;
   overflow: hidden
 }
+/*打印工具栏*/
+.print-toolsbar{
+  padding-bottom:5px
+}
+.print-toolsbar .panel {
+  display:inline-block;
+  vertical-align:top;
+  background:#f7f7f9
+}
+.print-toolsbar .panel .panel-foot{
+  text-align: center;
+  font-size: 12px
+}
+.print-list {
+  border-right:1px solid #ccc
+}
+.print-list .form-list {
+  overflow: auto
+}
+.print-list .list-tools{
+  height:50px;
+  padding:10px 0;
+  border-bottom:1px solid #f2f2f2
+}
+.pageContainer {
+  background: #ededed;
+  text-align: center
+}
+.pageContainer .page{
+  border:9px solid transparent;
+  display: inline-block;
+}
+.pageContainer .page img{
+  width:inherit;
+  height: inherit;
+}
 .toast{
   position: absolute;
   top: 0;

BIN
app/public/images/baobiao.png


+ 3 - 1
app/router.js

@@ -99,7 +99,9 @@ module.exports = app => {
     // 期计量管理相关
     app.get('/stage', sessionAuth, tenderSelect, 'stageController.index');
     app.post('/stage/add', sessionAuth, 'stageController.add');
-    app.get('/stage/:sid', sessionAuth, 'stageController.stage');
+    app.get('/stage/:order/measure', sessionAuth, tenderSelect, 'stageController.stageMeasure');
+    app.get('/stage/:order/deal', sessionAuth, tenderSelect, 'stageController.stageDeal');
+    app.get('/stage/:order/report', sessionAuth, tenderSelect, 'stageController.stageReport');
 
     // 变更管理
     app.get('/change', sessionAuth, tenderSelect, 'changeController.index');

+ 31 - 1
app/service/stage.js

@@ -1,13 +1,15 @@
 'use strict';
 
 /**
- *
+ * 期计量 数据模型
  *
  * @author Mai
  * @date 2018/8/13
  * @version
  */
 
+const audit = require('../const/audit');
+
 module.exports = app => {
     class Stage extends app.BaseService {
         /**
@@ -20,6 +22,34 @@ module.exports = app => {
             super(ctx);
             this.tableName = 'stage';
         }
+
+        /**
+         *
+         * @param tenderId - 标段id
+         * @param name - 期名称
+         * @param time - 计量时间
+         * @returns {Promise<void>}
+         */
+        async add(tenderId, name, time) {
+            const stages = await this.getAllDataByCondition({
+                where: {tid: tenderId},
+                order: ['order'],
+            });
+            const order = stages.length + 1;
+            const newStage = {
+                sid: this.uuid.v4(),
+                tid: tenderId,
+                order: order,
+                name: name,
+                in_time: new Date(),
+                s_time: time,
+                times: 1,
+                status: audit.flow.status.uncheck,
+            };
+            const result = await this.db.insert(this.tableName, newStage);
+            console.log(result);
+            return result.affectedRows === 1 ? newStage : null;
+        }
     }
 
     return Stage;

+ 1 - 1
app/view/change/info.ejs

@@ -18,7 +18,7 @@
                 <!--审批-->
                 <a href="#sp-done" data-toggle="modal" data-target="#sp-done" class="btn btn-success btn-sm pull-right">审批通过</a>
                 <a href="#sp-back" data-toggle="modal" data-target="#sp-back" class="btn btn-warning btn-sm pull-right">审批退回</a>
-                <a href="#" class="btn btn-outline-danger btn-sm pull-right text-truncate" style="max-width: 100px;" title="删除 LZTJ-1标项目部发变更(2015)001号">删除 <%- change.code %></a>
+                <a href="#" class="btn btn-outline-danger btn-sm pull-right text-truncate" style="max-width: 100px;" title="删除 <%- change.code %>">删除 <%- change.code %></a>
             </div>
         </div>
     </div>

+ 1 - 0
app/view/layout/layout.ejs

@@ -11,6 +11,7 @@
     <link rel="stylesheet" href="/public/css/font-awesome/font-awesome.min.css">
     <link rel="stylesheet" href="/public/css/spreadjs/sheets/gc.spread.sheets.excelsmartcost.css">
     <link rel="stylesheet" href="/public/css/jquery-contextmenu/jquery.contextMenu.min.css">
+    <link rel="stylesheet" href="/public/css/ztree/zTreeStyle.css" type="text/css">
     <!-- JS. -->
     <script src="/public/js/jquery/jquery-3.2.1.min.js"></script>
     <script src="/public/js/jquery/jquery.validate.js"></script>

+ 233 - 0
app/view/stage/deal.ejs

@@ -0,0 +1,233 @@
+<div class="panel-content">
+    <div class="panel-title fluid">
+        <div class="title-main d-flex justify-content-between">
+            <div>
+                <div class="d-inline-block">
+                    <ul class="nav nav-pills m-0">
+                        <li class="nav-item"><a class="nav-link" href="/stage">返回</a></li>
+                        <li class="nav-item"><a class="nav-link active" href="/stage/<%- stage.order %>/measure">本期计量台帐</a></li>
+                        <li class="nav-item"><a class="nav-link" href="/stage/<%- stage.order %>/deal">合同支付</a></li>
+                        <li class="nav-item"><a class="nav-link" href="/stage/<%- stage.order %>/report">报表</a></li>
+                    </ul>
+                </div>
+            </div>
+            <div>
+                <a href="#sub-sp" data-toggle="modal" data-target="#sub-sp" class="btn btn-primary btn-sm pull-right">上报审批</a>
+                <a href="#sub-sp2" data-toggle="modal" data-target="#sub-sp2" class="btn btn-primary btn-sm pull-right">重新上报</a>
+                <a href="#sp-list" data-toggle="modal" data-target="#sp-list" class="btn btn-outline-secondary btn-sm pull-right">审批中</a>
+                <a href="#sp-list" data-toggle="modal" data-target="#sp-list" class="btn btn-outline-warning btn-sm pull-right text-muted">审批退回</a>
+                <!--审批-->
+                <a href="#sp-done" data-toggle="modal" data-target="#sp-done" class="btn btn-success btn-sm pull-right">审批通过</a>
+                <a href="#sp-back" data-toggle="modal" data-target="#sp-back" class="btn btn-warning btn-sm pull-right">审批退回</a>
+            </div>
+        </div>
+    </div>
+    <div class="content-wrap">
+        <div class="c-header p-0"></div>
+        <div class="c-body">
+            <!--上部-->
+            <div class="body-height-top">
+                <div class="row">
+                    <!--左栏-->
+                    <div class="col-8">
+                        <!--工具栏-->
+                        <div class="row">
+                            <div class="col-7">
+                                <div class="btn-group">
+                                    <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>
+                                    <a href="#" class="btn btn-sm" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="添加"><i class="fa fa-plus" aria-hidden="true"></i></a>
+                                    <a href="#" class="btn btn-sm" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="删除"><i class="fa fa-remove" aria-hidden="true"></i></a>
+                                    <a href="#" class="btn btn-sm" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="下移"><i class="fa fa-arrow-down" aria-hidden="true"></i></a>
+                                    <a href="#" class="btn btn-sm" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="上移"><i class="fa fa-arrow-up" aria-hidden="true"></i></a>
+                                    <a href="#" class="btn btn-sm" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="上移"><i class="fa fa-unlock" aria-hidden="true"></i> 解锁</a>
+                                </div>
+                            </div>
+                            <div class="col-5">
+                                <div class="input-group input-group-sm mb-1">
+                                    <div class="input-group-prepend">
+                                        <span class="input-group-text" id="basic-addon1">表达式</span>
+                                    </div>
+                                    <input type="text" class="form-control" >
+                                </div>
+                            </div>
+                        </div>
+                        <div style="height:330px;overflow: auto;">
+                            <table class="table table-bordered">
+                                <tr><th></th><th>名称</th><th>扣款</th><th>本期金额(表达式)</th><th>累计金额</th><th>起扣金额</th><th>付(扣)款限额</th><th>附件</th><th>操作</th></tr>
+                                <tr><td>1</td><td>本期应付</td><td><input type="checkbox"></td><td></td><td></td><td></td><td></td><td><a class="btn btn-sm" href="#file" data-toggle="modal" data-target="#file"><i class="fa fa-paperclip "></i> 0</a></td>
+                                    <td>
+                                    </td>
+                                </tr>
+                                <tr><td>2</td><td>本期实付</td><td><input type="checkbox"></td><td></td><td></td><td></td><td></td><td><a class="btn btn-sm" href="#file" data-toggle="modal" data-target="#file"><i class="fa fa-paperclip "></i> 3</a></td>
+                                    <td>
+                                    </td>
+                                </tr>
+                                <tr><td>3</td><td>本期支付计量</td><td><input type="checkbox"></td><td></td><td></td><td></td><td></td><td><a class="btn btn-sm" href="#file" data-toggle="modal" data-target="#file"><i class="fa fa-paperclip "></i> 0</a></td>
+                                    <td>
+                                    </td>
+                                </tr>
+                                <!--被停用了-->
+                                <tr class="table-danger"><td>4</td><td>质量保证金</td><td><input type="checkbox"></td><td></td><td></td><td></td><td></td><td><a class="btn btn-sm" href="#file" data-toggle="modal" data-target="#file"><i class="fa fa-paperclip "></i> 0</a></td>
+                                    <td>
+                                        <a class="btn btn-sm btn-success" href="#">启用</a>
+                                    </td>
+                                </tr>
+                                <tr><td>5</td><td>扣回开工预付款</td><td><input type="checkbox"></td><td></td><td></td><td></td><td></td><td><a class="btn btn-sm" href="#file" data-toggle="modal" data-target="#file"><i class="fa fa-paperclip "></i> 0</a></td>
+                                    <td>
+                                        <div class="dropdown dropleft">
+                                            <button class="btn btn-sm btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                                                操作
+                                            </button>
+                                            <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
+                                                <a class="dropdown-item" href="#op2" data-toggle="modal" data-target="#op2">设置计提期限</a>
+                                                <a class="dropdown-item" href="#op3">不参与本期应付计算</a>
+                                                <a class="dropdown-item" href="#op4">停用</a>
+                                            </div>
+                                        </div>
+                                    </td>
+                                </tr>
+                                <!--不参与本期应付计算-->
+                                <tr class="table-secondary"><td>6</td><td>扣回材料预付款</td><td><input type="checkbox"></td><td></td><td></td><td></td><td></td><td><a class="btn btn-sm" href="#file" data-toggle="modal" data-target="#file"><i class="fa fa-paperclip "></i> 1</a></td>
+                                    <td>
+                                        <div class="dropdown dropleft">
+                                            <button class="btn btn-sm btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                                                操作
+                                            </button>
+                                            <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
+                                                <a class="dropdown-item" href="#op2" data-toggle="modal" data-target="#op2">设置计提期限</a>
+                                                <a class="dropdown-item" href="#op3">加入本期应付计算</a>
+                                                <a class="dropdown-item" href="#op4">停用</a>
+                                            </div>
+                                        </div>
+                                    </td>
+                                </tr>
+                            </table>
+                        </div>
+                    </div>
+                    <!--右栏-->
+                    <div class="col-4">
+                        <div style="height:365px;overflow: hidden;">
+                            <table class="table table-bordered">
+                                <tr><th></th><th>可选基数</th><th>计算代号</th></tr>
+                                <tr><td>1</td><td>签约合同价</td><td>htj</td></tr>
+                                <tr><td>2</td><td>签约开工预付款</td><td>kgyfk</td></tr>
+                                <tr><td>3</td><td>签约材料预付款</td><td>clyfk</td></tr>
+                                <tr><td>4</td><td>本期完成计量</td><td>bqwc</td></tr>
+                                <tr><td>5</td><td>本期支付计量</td><td>bqzf</td></tr>
+                                <tr><td>6</td><td>100章本期完成计量</td><td>ybbqwc</td></tr>
+                            </table>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <!--下部-->
+            <div class="body-height-bottom">
+                <legend>章节明细 <a href="#zjset" data-toggle="modal" data-target="#zjset" class="btn btn-sm">章节设置</a> <a href="#zfset" data-toggle="modal" data-target="#zfset" class="btn btn-sm">支付设置</a></legend>
+                <div class="sjs-height-6">
+                    <table class="table table-bordered">
+                        <tr class="text-center"><th>章节名称</th><th>本期合同计量金额</th><th>本期变更计量金额</th><th>本期完成计量基金</th><th>累计完成计量金额</th><th>本期支付金额</th><th>累计支付金额</th></tr>
+                        <tr>
+                            <td>清单 第100章 总则</td>
+                            <td class="text-right">1000</td>
+                            <td class="text-right">1000</td>
+                            <td class="text-right">2000</td>
+                            <td class="text-right">2000</td>
+                            <td class="text-right">1000</td>
+                            <td class="text-right">2000</td>
+                        </tr>
+                        <tr>
+                            <td>清单 第200章 路基</td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                        </tr>
+                        <tr>
+                            <td>清单 第300章 路面</td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                        </tr>
+                        <tr>
+                            <td>清单 第400章 桥梁、涵洞</td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                        </tr>
+                        <tr>
+                            <td>清单 第500章 隧道</td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                        </tr>
+                        <tr>
+                            <td>清单 第600章 安全设施及预埋管线</td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                        </tr>
+                        <tr>
+                            <td>清单 第700章 绿化及环境保护</td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                        </tr>
+                        <tr>
+                            <td>未计入章节清单合计</td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                            <td class="text-right"></td>
+                        </tr>
+                        <tr>
+                            <td>清单小计(A)</td>
+                            <td class="text-right">1000</td>
+                            <td class="text-right">1000</td>
+                            <td class="text-right">2000</td>
+                            <td class="text-right">2000</td>
+                            <td class="text-right">2000</td>
+                            <td class="text-right">2000</td>
+                        </tr>
+                        <tr>
+                            <td>非清单单项费用(B)</td>
+                            <td class="text-right">500</td>
+                            <td class="text-right"></td>
+                            <td class="text-right">500</td>
+                            <td class="text-right">500</td>
+                            <td class="text-right">500</td>
+                            <td class="text-right">500</td>
+                        </tr>
+                        <tr>
+                            <td>合计(C=A+B)</td>
+                            <td class="text-right">1500</td>
+                            <td class="text-right">1000</td>
+                            <td class="text-right">2500</td>
+                            <td class="text-right">2500</td>
+                            <td class="text-right">2500</td>
+                            <td class="text-right">2500</td>
+                        </tr>
+                    </table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 318 - 0
app/view/stage/deal_modal.ejs

@@ -0,0 +1,318 @@
+<!--上报审批-->
+<div class="modal fade" id="sub-sp" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">上报审批</h5>
+            </div>
+            <div class="modal-body">
+                <div class="form-group">
+                    <label>搜索审批人</label>
+                    <div class="input-group">
+                        <input class="form-control" placeholder="请输入姓名进行检索" type="text">
+                        <div class="input-group-append">
+                            <button class="btn btn-outline-secondary" type="button"><i class="fa fa-search"></i></button>
+                        </div>
+                    </div>
+                </div>
+                <div class="card border-primary">
+                    <div class="card-body">
+                        <h5 class="card-title">
+                            <a href="#" class="btn btn-primary btn-sm pull-right">添加</a>张三
+                        </h5>
+                        <h6 class="card-subtitle mb-2 text-muted">监理</h6>
+                        <p class="card-text">XXXXX公司</p>
+                    </div>
+                </div>
+                <div class="card mt-3">
+                    <div class="card-header">
+                        审批流程
+                    </div>
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item"><a href="" class="text-danger pull-right">移除</a>1 张三  <small class="text-muted">监理</small></li>
+                        <li class="list-group-item"><a href="" class="text-danger pull-right">移除</a>2 王五 <small class="text-muted">监理</small></li>
+                        <li class="list-group-item"><a href="" class="text-danger pull-right">移除</a>3 李四 <small class="text-muted">监理</small></li>
+                    </ul>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary">确认上报</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--审批流程/结果-->
+<div class="modal fade" id="sp-list" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">审批流程</h5>
+            </div>
+            <div class="modal-body">
+                <div class="card mt-3">
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item">
+                            <span class="text-success pull-right">审批通过</span>
+                            <h5 class="card-title">1 张三 <small class="text-muted">监理</small></h5>
+                            <p class="card-text">审批意见。2018-01-01</p>
+                        </li>
+                        <li class="list-group-item">
+                            <span class="text-warning pull-right">审批中</span>
+                            <h5 class="card-title">2 王五 <small class="text-muted">监理</small></h5>
+                            <p class="card-text"></p>
+                        </li>
+                        <li class="list-group-item">
+                            <h5 class="card-title">3 李四 <small class="text-muted">监理</small></h5>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--审批通过-->
+<div class="modal fade" id="sp-done" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">审批通过</h5>
+            </div>
+            <div class="modal-body">
+                <div class="card mt-3">
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item">
+                            <span class="text-success pull-right">审批通过</span>
+                            <h5 class="card-title">1 张三 <small class="text-muted">监理</small></h5>
+                            <p class="card-text">审批意见。2018-01-01</p>
+                        </li>
+                        <li class="list-group-item">
+                            <span class="text-warning pull-right">审批中</span>
+                            <h5 class="card-title">2 王五 <small class="text-muted">监理</small></h5>
+                            <div class="form-group">
+                                <label>审批意见<b class="text-danger">*</b></label>
+                                <textarea class="form-control" ></textarea>
+                            </div>
+                        </li>
+                        <li class="list-group-item">
+                            <h5 class="card-title">3 李四 <small class="text-muted">监理</small></h5>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-success" >确认通过</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--审批退回-->
+<div class="modal fade" id="sp-back" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">审批退回</h5>
+            </div>
+            <div class="modal-body">
+                <div class="card mt-3">
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item">
+                            <span class="text-success pull-right">审批通过</span>
+                            <h5 class="card-title">1 张三 <small class="text-muted">监理</small></h5>
+                            <p class="card-text">审批意见。2018-01-01</p>
+                        </li>
+                        <li class="list-group-item">
+                            <span class="text-warning pull-right">审批中</span>
+                            <h5 class="card-title">2 王五 <small class="text-muted">监理</small></h5>
+                            <div class="form-group">
+                                <label>审批意见<b class="text-danger">*</b></label>
+                                <textarea class="form-control" ></textarea>
+                            </div>
+                            <div class="alert alert-warning">审批退回,将直接退回给上报人。</data-min-view>
+                        </li>
+                        <li class="list-group-item">
+                            <h5 class="card-title">3 李四 <small class="text-muted">监理</small></h5>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-warning" >确认退回</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--章节设置-->
+<div class="modal fade" id="zjset" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">章节设置</h5>
+            </div>
+            <div class="modal-body">
+                <table class="table table-sm table-bordered">
+                    <tr><th width="200">章节</th><th>名称</th></tr>
+                    <tr><td>100</td><td><input type="text" class="form-control form-control-sm" value="总则"></td></tr>
+                    <tr><td>200</td><td><input type="text" class="form-control form-control-sm" value="路基"></td></tr>
+                    <tr><td>300</td><td><input type="text" class="form-control form-control-sm" value="路面"></td></tr>
+                    <tr><td>400</td><td><input type="text" class="form-control form-control-sm" value="桥梁、涵洞"></td></tr>
+                    <tr><td>500</td><td><input type="text" class="form-control form-control-sm" value="隧道"></td></tr>
+                    <tr><td>600</td><td><input type="text" class="form-control form-control-sm" value="安全设施及预埋管线"></td></tr>
+                    <tr><td>700</td><td><input type="text" class="form-control form-control-sm" value="绿化及环境保护"></td></tr>
+                    <tr><td>800</td><td><input type="text" class="form-control form-control-sm" value="公路沿线管理用房设施"></td></tr>
+                    <tr><td>900</td><td><input type="text" class="form-control form-control-sm" value="监控系统"></td></tr>
+                    <tr><td>1000</td><td><input type="text" class="form-control form-control-sm" value="收费系统"></td></tr>
+                    <tr><td>1100</td><td><input type="text" class="form-control form-control-sm" value="通信系统"></td></tr>
+                    <tr><td>1200</td><td><input type="text" class="form-control form-control-sm" value="消防系统"></td></tr>
+                    <tr><td>1300</td><td><input type="text" class="form-control form-control-sm" value="供配电及照明系统"></td></tr>
+                </table>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary">确定修改</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--支付设置-->
+<div class="modal fade" id="zfset" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">支付设置</h5>
+            </div>
+            <div class="modal-body">
+                <div class="form-group">
+                    <label></label>
+                    <div class="form-check form-check-inline">
+                        <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1">
+                        <label class="form-check-label" for="inlineRadio1">按支付比例计算</label>
+                    </div>
+                    <div class="form-check form-check-inline">
+                        <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2">
+                        <label class="form-check-label" for="inlineRadio2">手工输入</label>
+                    </div>
+                </div>
+                <table class="table table-sm table-bordered">
+                    <tr><th width="150">章节</th><th>合同计量支付比例(%)</th><th>数量变更计量支付比例(%)</th></tr>
+                    <tr><td>100</td><td><input type="text" class="form-control form-control-sm" value="100"></td><td><input type="text" class="form-control form-control-sm" value="100"></td></tr>
+                    <tr><td>200</td><td><input type="text" class="form-control form-control-sm" value="100"></td><td><input type="text" class="form-control form-control-sm" value="100"></td></tr>
+                    <tr><td>300</td><td><input type="text" class="form-control form-control-sm" value="100"></td><td><input type="text" class="form-control form-control-sm" value="100"></td></tr>
+                    <tr><td>400</td><td><input type="text" class="form-control form-control-sm" value="100"></td><td><input type="text" class="form-control form-control-sm" value="100"></td></tr>
+                    <tr><td>500</td><td><input type="text" class="form-control form-control-sm" value="100"></td><td><input type="text" class="form-control form-control-sm" value="100"></td></tr>
+                    <tr><td>600</td><td><input type="text" class="form-control form-control-sm" value="100"></td><td><input type="text" class="form-control form-control-sm" value="100"></td></tr>
+                    <tr><td>700</td><td><input type="text" class="form-control form-control-sm" value="100"></td><td><input type="text" class="form-control form-control-sm" value="100"></td></tr>
+                    <tr><td>800</td><td><input type="text" class="form-control form-control-sm" value="100"></td><td><input type="text" class="form-control form-control-sm" value="100"></td></tr>
+                    <tr><td>900</td><td><input type="text" class="form-control form-control-sm" value="100"></td><td><input type="text" class="form-control form-control-sm" value="100"></td></tr>
+                    <tr><td>1000</td><td><input type="text" class="form-control form-control-sm" value="100"></td><td><input type="text" class="form-control form-control-sm" value="100"></td></tr>
+                    <tr><td>1100</td><td><input type="text" class="form-control form-control-sm" value="100"></td><td><input type="text" class="form-control form-control-sm" value="100"></td></tr>
+                    <tr><td>1200</td><td><input type="text" class="form-control form-control-sm" value="100"></td><td><input type="text" class="form-control form-control-sm" value="100"></td></tr>
+                    <tr><td>1300</td><td><input type="text" class="form-control form-control-sm" value="100"></td><td><input type="text" class="form-control form-control-sm" value="100"></td></tr>
+                </table>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary">确定修改</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--设置计提期限-->
+<div class="modal fade" id="op2" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">设置计提期限</h5>
+            </div>
+            <div class="modal-body">
+                <p>请设置付(扣)款项 <b>本期应付</b> 的计提期限</p>
+                <div class="form-group">
+                    <label for="formGroupExampleInput">限制模式为:</label>
+                    <div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1">
+                            <label class="form-check-label" for="inlineRadio1">无</label>
+                        </div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2">
+                            <label class="form-check-label" for="inlineRadio2">计量期数</label>
+                        </div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio3" value="option3">
+                            <label class="form-check-label" for="inlineRadio3">计量金额</label>
+                        </div>
+                    </div>
+                </div>
+                <!--计量期数模式-->
+                <div class="form-group">
+                    <label>限制期数</label>
+                    <input class="form-control" type="number">
+                </div>
+                <!--计量金额模式-->
+                <div class="form-group">
+                    <label for="formGroupExampleInput"></label>
+                    <div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="radio" name="iROptions" id="ilRadio1" value="option1">
+                            <label class="form-check-label" for="ilRadio1">累计完成计量金额</label>
+                        </div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="radio" name="iROptions" id="ilRadio2" value="option2">
+                            <label class="form-check-label" for="ilRadio2">累计合同计量金额</label>
+                        </div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="radio" name="iROptions" id="ilRadio3" value="option3">
+                            <label class="form-check-label" for="ilRadio3">累计变更计量金额</label>
+                        </div>
+                    </div>
+                </div>
+                <div class="form-group">
+                    <label>限制金额</label>
+                    <input class="form-control" type="number">
+                </div>
+                <!--公用提示-->
+                <p>设置为:</p>
+                <p class="pl-3 text-danger">当 累计完成计量金额 >= 50000.00 时</p>
+                <p class="pl-3">当期金额直接计量至(扣款限额 - 截止上期金额)</p>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary" >确定</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--附件-->
+<div class="modal fade" id="file" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">附件</h5>
+            </div>
+            <div class="modal-body">
+                <div class="form-group">
+                    <label for="formGroupExampleInput">大小限制:10MB,支持<span data-toggle="tooltip" data-placement="bottom" title="doc,docx,xls,xlsx,ppt,pptx,pdf">office等文档格式</span>、<span data-toggle="tooltip" data-placement="bottom" title="jpg,png,bmp">图片格式</span>、<span data-toggle="tooltip" data-placement="bottom" title="rar,zip">压缩包格式</span></label>
+                    <input type="file" class="form-control">
+                </div>
+                <div class="modal-height-500">
+                    <table class="table table-sm table-bordered">
+                        <thead>
+                        <tr><th>文件名</th><th>上传人</th><th>上传时间</th><th>操作</th></tr>
+                        </thead>
+                        <tr><td>XXXX.jpg</td><td>张三</td><td>2018-01-01</td><td><a href="#" target="_blank" title="下载"><i class="fa fa-download "></i></a> <a class="text-danger" href="#" target="_blank" title="删除"><i class="fa fa-remove "></i></a></td></tr>
+                        <tr><td>YYYY.jpg</td><td>李四</td><td>2018-01-01</td><td><a href="#" target="_blank" title="下载"><i class="fa fa-download "></i></a></td></tr>
+                    </table>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary" >确定</button>
+            </div>
+        </div>
+    </div>
+</div>

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

@@ -29,7 +29,7 @@
                 <tbody>
                     <% for (const s of stages) { %>
                     <tr>
-                        <td><a href="/stage/<%- s.order %>">第 <%- s.order %> 期</a></td>
+                        <td><a href="/stage/<%- s.order %>/measure">第 <%- s.order %> 期</a></td>
                         <td class="text-center"><%- moment(s.s_time).format('YYYYMM') %></td>
                         <td class="text-right"></td>
                         <td class="text-right"></td>

+ 469 - 0
app/view/stage/measure.ejs

@@ -0,0 +1,469 @@
+<div class="panel-content">
+    <div class="panel-title fluid">
+        <div class="title-main d-flex justify-content-between">
+            <div>
+                <div class="d-inline-block">
+                    <ul class="nav nav-pills m-0">
+                        <li class="nav-item"><a class="nav-link" href="/stage">返回</a></li>
+                        <li class="nav-item"><a class="nav-link active" href="/stage/<%- stage.order %>/measure">本期计量台帐</a></li>
+                        <li class="nav-item"><a class="nav-link" href="/stage/<%- stage.order %>/deal">合同支付</a></li>
+                        <li class="nav-item"><a class="nav-link" href="/stage/<%- stage.order %>/report">报表</a></li>
+                    </ul>
+                </div>
+            </div>
+            <div>
+                <a href="#sub-sp" data-toggle="modal" data-target="#sub-sp" class="btn btn-primary btn-sm pull-right">上报审批</a>
+                <!-- <a href="#sub-sp2" data-toggle="modal" data-target="#sub-sp2" class="btn btn-primary btn-sm pull-right">重新上报</a> -->
+                <!--
+                <a href="#sp-list" data-toggle="modal" data-target="#sp-list" class="btn btn-outline-secondary btn-sm pull-right">审批中</a>
+                <a href="#sp-list" data-toggle="modal" data-target="#sp-list" class="btn btn-outline-warning btn-sm pull-right text-muted">审批退回</a>
+                <a href="#sp-done" data-toggle="modal" data-target="#sp-done" class="btn btn-success btn-sm pull-right">审批通过</a>
+                <a href="#sp-back" data-toggle="modal" data-target="#sp-back" class="btn btn-warning btn-sm pull-right">审批退回</a> -->
+                <a href="#add-qd3" data-toggle="modal" data-target="#add-qd3" class="btn btn-success btn-sm pull-right">添加计量清单</a>
+            </div>
+        </div>
+    </div>
+    <div class="content-wrap pr-46">
+        <div class="c-header p-0">
+        </div>
+        <div class="row w-100 sub-content">
+            <div class="c-body col-8">
+                <div class="sjs-height-1" id="billsSpread">
+                </div>
+            </div>
+            <div class="c-body col">
+                <div class="tab-content">
+                    <!--变更令-->
+                    <div id="biangeng" class="tab-pane active">
+                        <!--变更令二级tab-->
+                        <div class="sjs-bar">
+                            <ul class="nav nav-tabs">
+                                <li class="nav-item">
+                                    <a class="nav-link active show" data-toggle="tab" href="#keybg" role="tab" aria-selected="true">可用变更令</a>
+                                </li>
+                                <li class="nav-item">
+                                    <a class="nav-link" data-toggle="tab" href="#bglhz" role="tab" aria-selected="false">变更令汇总</a>
+                                </li>
+                            </ul>
+                        </div>
+                        <!--变更令二级tab内容-->
+                        <div class="tab-content">
+                            <!--可用变更令-->
+                            <div id="keybg" class="tab-pane active">
+                                <div class="sjs-bart">
+                                    <table class="table table-bordered table-sm mt-1">
+                                        <tr><th>当前变更清单</th><th>清单名称</th><th>变更数量</th></tr>
+                                        <tr><td>202-1-1</td><td>清理现场</td><td>120</td></tr>
+                                    </table>
+                                    <div class="row">
+                                        <div class="col-auto">
+                                            <div class="form-check-inline">
+                                                <label class="form-check-label">
+                                                    <input class="form-check-input" type="checkbox">
+                                                    显示可变更数量为0项
+                                                </label>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="sjs-height-5">
+                                    <table class="table table-bordered">
+                                        <tr><th>已用</th><th>变更令号</th><th>名称</th><th>总数量</th><th>可变更数量</th><th>本期计量</th></tr>
+                                        <tr><td><i class="fa fa-check text-success"></i></td><td>CW01-BG-1</td><td>增加清淤换填数量</td><td>100</td><td>50</td><td>20</td></tr>
+                                        <tr><td><i class="fa fa-check text-success"></i></td><td>CW01-BG-2</td><td>增加挖淤及回填数量</td><td>150</td><td>120</td><td>100</td></tr>
+                                        <tr><td></td><td>CW01-BG-3</td><td>增加清淤换填数量</td><td>150</td><td>100</td><td></td></tr>
+                                    </table>
+                                </div>
+                                <div class="sjs-bottom">
+                                    <ul class="nav nav-tabs">
+                                        <li class="nav-item">
+                                            <a class="nav-link active" data-toggle="tab" href="#bgsm" role="tab">工程变更理由及内容</a>
+                                        </li>
+                                        <li class="nav-item">
+                                            <a class="nav-link" data-toggle="tab" href="#detail" role="tab">更多变更信息</a>
+                                        </li>
+                                        <li class="nav-item">
+                                            <a class="nav-link" data-toggle="tab" href="#fujian" role="tab">附件</a>
+                                        </li>
+                                    </ul>
+                                    <div class="tab-content">
+                                        <div id="bgsm" class="tab-pane active">
+                                            <div class="sjs-bottom-2">
+                                                <div class="form-group">
+                                                    <label></label>
+                                                    <textarea class="form-control form-control-sm" rows="6" readonly>由于K0+532涵洞基底土质天然含水率为25%、收费站出口右侧加宽段K0+120-K0+190段基底土质天然含水率为28.8%。含水率较大形成过湿土,地基松软,无法满足承载力要求。经处项目办、设计、监理、施工单位四方勘察,采用抛石挤淤、砂砾换填以达到地基承载力。
+                                    </textarea>
+                                                </div>
+                                            </div>
+                                        </div>
+                                        <div id="detail" class="tab-pane">
+                                            <div class="sjs-bottom-2">
+                                                <div class="form-group mt-3">
+                                                    <label>批复编号</label>
+                                                    <input class="form-control form-control-sm" value="LZTJ-1标项目部发变更(2015)001号" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>工程名称</label>
+                                                    <input class="form-control form-control-sm" value="收费站出口右侧加宽段及K0+532基底换填" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>桩号</label>
+                                                    <input class="form-control form-control-sm" value="K0+532" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>原设计图名称</label>
+                                                    <input class="form-control form-control-sm" placeholder="" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>原图号</label>
+                                                    <input class="form-control form-control-sm" placeholder="" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>变更设计图名称</label>
+                                                    <input class="form-control form-control-sm" placeholder="" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>变更图号</label>
+                                                    <input class="form-control form-control-sm" placeholder="" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>工程变更理由及内容</label>
+                                                    <textarea class="form-control form-control-sm" rows="6" readonly>由于K0+532涵洞基底土质天然含水率为25%、收费站出口右侧加宽段K0+120-K0+190段基底土质天然含水率为28.8%。含水率较大形成过湿土,地基松软,无法满足承载力要求。经处项目办、设计、监理、施工单位四方勘察,采用抛石挤淤、砂砾换填以达到地基承载力。
+                                    </textarea>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>工程变更合同依据</label>
+                                                    <textarea class="form-control form-control-sm" rows="6" readonly></textarea>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>变更类型</label>
+                                                    <div class="checkbox">
+                                                        <label class="checkbox-inline">
+                                                            <input id="inlineCheckbox1" value="option1" checked="" type="checkbox" disabled>A.位置
+                                                        </label>
+                                                        <!-- <label class="checkbox-inline">
+                                                          <input id="inlineCheckbox2" value="option2" type="checkbox">B.数量
+                                                        </label>
+                                                        <label class="checkbox-inline">
+                                                          <input id="inlineCheckbox3" value="option3" type="checkbox">C.结构
+                                                        </label>
+                                                        <label class="checkbox-inline">
+                                                          <input id="inlineCheckbox3" value="option3" checked="" type="checkbox">D.新增
+                                                        </label>
+                                                        <label class="checkbox-inline">
+                                                          <input id="inlineCheckbox3" value="option3" type="checkbox">E.取消
+                                                        </label>
+                                                        <label class="checkbox-inline">
+                                                          <input id="inlineCheckbox3" value="option3" type="checkbox">F.纠错
+                                                        </label> -->
+                                                    </div>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>变更类别 </label>
+                                                    <select class="form-control form-control-sm" disabled><option>A类变更(设计变更)</option><option>B类变更(施工措施变)</option><option>C类变更(计划变更)</option><option>D类变更(条件变更)</option><option>E类变更(新增工程)</option></select>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>变更性质 </label>
+                                                    <select class="form-control form-control-sm" disabled><option>一般设计变更</option><option>较大设计变更</option><option>重大设计变更</option></select>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>变更提出单位</label>
+                                                    <!-- <a href="#editcompany" style="float:right;" class="" data-toggle="modal">编辑</a> -->
+                                                    <select class="form-control form-control-sm" disabled><option>AA公司</option><option>BB公司</option></select>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>费用承担方</label>
+                                                    <div class="radio">
+                                                        <label class="radio-inline">
+                                                            <input id="inlineCheckbox1" value="option1" checked="" type="radio" disabled> 业主
+                                                        </label>
+                                                        <!-- <label class="radio-inline">
+                                                          <input id="inlineCheckbox2" value="option2" type="radio"> 承包人
+                                                        </label> -->
+                                                    </div>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>备注</label>
+                                                    <textarea class="form-control form-control-sm" rows="3" readonly></textarea>
+                                                </div>
+                                            </div>
+                                        </div>
+                                        <div id="fujian" class="tab-pane">
+                                            <table class="table table-bordered">
+                                                <tr><th>名称</th><th>上传者</th></tr>
+                                                <tr><td><a href="">合同段工程变更现场办公会议纪要的通知.rar</a></td><th>张三</th></tr>
+                                            </table>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                            <!--变更令汇总-->
+                            <div id="bglhz" class="tab-pane">
+                                <div class="sjs-bart">
+                                    <select class="form-control form-control-sm"><option>全部</option><option>本期已用变更令</option></select>
+                                </div>
+                                <div class="sjs-height-5">
+                                    <table class="table table-bordered">
+                                        <tr><th>变更令号</th><th>名称</th><th>金额</th><th>批复文号</th><th>已执行(%)</th></tr>
+                                        <tr><td>CW01-BG-1</td><td>增加清淤换填数量</td><td></td><td></td><td></td></tr>
+                                        <tr><td>CW01-BG-2</td><td>增加挖淤及回填数量</td><td></td><td></td><td></td></tr>
+                                        <tr><td>CW01-BG-3</td><td>增加清淤换填数量</td><td></td><td></td><td></td></tr>
+                                    </table>
+                                </div>
+                                <div class="sjs-bottom">
+                                    <ul class="nav nav-tabs">
+                                        <li class="nav-item">
+                                            <a class="nav-link active" data-toggle="tab" href="#bgqd" role="tab">变更清单</a>
+                                        </li>
+                                        <li class="nav-item">
+                                            <a class="nav-link" data-toggle="tab" href="#detail2" role="tab">变更信息</a>
+                                        </li>
+                                        <li class="nav-item">
+                                            <a class="nav-link" data-toggle="tab" href="#fujian2" role="tab">附件</a>
+                                        </li>
+                                    </ul>
+                                    <div class="tab-content">
+                                        <!--变更清单-->
+                                        <div id="bgqd" class="tab-pane active">
+                                            <div class="sjs-bottom-2">
+                                                <table class="table table-bordered">
+                                                    <tr><th>清单编号</th><th>名称</th><th>单位</th><th>单价</th><th>数量</th><th>金额</th><th>已变更</th></tr>
+                                                </table>
+                                            </div>
+                                        </div>
+                                        <!--变更信息-->
+                                        <div id="detail2" class="tab-pane">
+                                            <div class="sjs-bottom-2">
+                                                <div class="form-group mt-3">
+                                                    <label>批复编号</label>
+                                                    <input class="form-control form-control-sm" value="LZTJ-1标项目部发变更(2015)001号" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>工程名称</label>
+                                                    <input class="form-control form-control-sm" value="收费站出口右侧加宽段及K0+532基底换填" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>桩号</label>
+                                                    <input class="form-control form-control-sm" value="K0+532" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>原设计图名称</label>
+                                                    <input class="form-control form-control-sm" placeholder="" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>原图号</label>
+                                                    <input class="form-control form-control-sm" placeholder="" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>变更设计图名称</label>
+                                                    <input class="form-control form-control-sm" placeholder="" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>变更图号</label>
+                                                    <input class="form-control form-control-sm" placeholder="" type="text" readonly>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>工程变更理由及内容</label>
+                                                    <textarea class="form-control form-control-sm" rows="6" readonly>由于K0+532涵洞基底土质天然含水率为25%、收费站出口右侧加宽段K0+120-K0+190段基底土质天然含水率为28.8%。含水率较大形成过湿土,地基松软,无法满足承载力要求。经处项目办、设计、监理、施工单位四方勘察,采用抛石挤淤、砂砾换填以达到地基承载力。
+                                    </textarea>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>工程变更合同依据</label>
+                                                    <textarea class="form-control form-control-sm" rows="6" readonly></textarea>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>变更类型</label>
+                                                    <div class="checkbox">
+                                                        <label class="checkbox-inline">
+                                                            <input id="inlineCheckbox1" value="option1" checked="" type="checkbox" disabled>A.位置
+                                                        </label>
+                                                        <!-- <label class="checkbox-inline">
+                                                          <input id="inlineCheckbox2" value="option2" type="checkbox">B.数量
+                                                        </label>
+                                                        <label class="checkbox-inline">
+                                                          <input id="inlineCheckbox3" value="option3" type="checkbox">C.结构
+                                                        </label>
+                                                        <label class="checkbox-inline">
+                                                          <input id="inlineCheckbox3" value="option3" checked="" type="checkbox">D.新增
+                                                        </label>
+                                                        <label class="checkbox-inline">
+                                                          <input id="inlineCheckbox3" value="option3" type="checkbox">E.取消
+                                                        </label>
+                                                        <label class="checkbox-inline">
+                                                          <input id="inlineCheckbox3" value="option3" type="checkbox">F.纠错
+                                                        </label> -->
+                                                    </div>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>变更类别 </label>
+                                                    <select class="form-control form-control-sm" disabled><option>A类变更(设计变更)</option><option>B类变更(施工措施变)</option><option>C类变更(计划变更)</option><option>D类变更(条件变更)</option><option>E类变更(新增工程)</option></select>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>变更性质 </label>
+                                                    <select class="form-control form-control-sm" disabled><option>一般设计变更</option><option>较大设计变更</option><option>重大设计变更</option></select>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>变更提出单位</label>
+                                                    <!-- <a href="#editcompany" style="float:right;" class="" data-toggle="modal">编辑</a> -->
+                                                    <select class="form-control form-control-sm" disabled><option>AA公司</option><option>BB公司</option></select>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>费用承担方</label>
+                                                    <div class="radio">
+                                                        <label class="radio-inline">
+                                                            <input id="inlineCheckbox1" value="option1" checked="" type="radio" disabled> 业主
+                                                        </label>
+                                                        <!-- <label class="radio-inline">
+                                                          <input id="inlineCheckbox2" value="option2" type="radio"> 承包人
+                                                        </label> -->
+                                                    </div>
+                                                </div>
+                                                <div class="form-group">
+                                                    <label>备注</label>
+                                                    <textarea class="form-control form-control-sm" rows="3" readonly></textarea>
+                                                </div>
+                                            </div>
+                                        </div>
+                                        <!--附件-->
+                                        <div id="fujian2" class="tab-pane">
+                                            <table class="table table-bordered">
+                                                <tr><th>名称</th><th>上传者</th></tr>
+                                                <tr><td><a href="">合同段工程变更现场办公会议纪要的通知.rar</a></td><th>张三</th></tr>
+                                            </table>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <!--中间计量表-->
+                    <div id="jlbiao" class="tab-pane">
+                        <div class="sjs-bar row">
+                            <div class="col">
+                                <div class="input-group input-group-sm">
+                                    <div class="input-group-prepend">
+                                        <span class="input-group-text" id="basic-addon3">表号前缀</span>
+                                    </div>
+                                    <input type="text" class="form-control" id="basic-url" aria-describedby="basic-addon3">
+                                </div>
+                            </div>
+                            <div class="col-auto">
+                                <div class="form-group">
+                                    <div class="form-check form-check-inline">
+                                        <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1">
+                                        <label class="form-check-label" for="inlineRadio1">总量控制</label>
+                                    </div>
+                                    <div class="form-check form-check-inline">
+                                        <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2">
+                                        <label class="form-check-label" for="inlineRadio2">0号台帐</label>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="col-auto">
+                                <button class="btn btn-sm btn-outline-primary">生成数据</button>
+                            </div>
+                        </div>
+                        <div class="sjs-height-3">
+                            <table class="table table-bordered">
+                                <tr><th>编号</th><th>中间计量表号</th><th>交工证书/凭证表</th></tr>
+                            </table>
+                        </div>
+                        <div class="sjs-bottom">
+                            <ul class="nav nav-tabs">
+                                <li class="nav-item">
+                                    <a class="nav-link active" data-toggle="tab" href="#zj" role="tab" aria-selected="false">中间计量数据</a>
+                                </li>
+                                <li class="nav-item">
+                                    <a class="nav-link" data-toggle="tab" href="#ct" role="tab" aria-selected="true">计算草图</a>
+                                </li>
+                            </ul>
+                            <div class="tab-content">
+                                <div class="tab-pane active" id="zj">
+                                    <div class="sjs-bottom-2">
+                                        <!--总量控制-->
+                                        <div class="form-group">
+                                            <label>本期计量数量:</label>
+                                            <input class="form-control form-control-sm" type="number">
+                                        </div>
+                                        <!--0号台帐-->
+                                        <div class="form-group">
+                                            <label>本期计量金额:</label>
+                                            <input class="form-control form-control-sm" type="number">
+                                        </div>
+                                        <div class="form-group">
+                                            <label>变更令号:</label>
+                                            <input class="form-control form-control-sm" type="text">
+                                        </div>
+                                        <div class="form-group">
+                                            <label>部位:</label>
+                                            <input class="form-control form-control-sm" type="text">
+                                        </div>
+                                        <div class="form-group">
+                                            <label>起始桩号:</label>
+                                            <input class="form-control form-control-sm" type="text">
+                                        </div>
+                                        <div class="form-group">
+                                            <label>分部分项工程:</label>
+                                            <input class="form-control form-control-sm" type="text">
+                                        </div>
+                                        <div class="form-group">
+                                            <label>计量单元:</label>
+                                            <input class="form-control form-control-sm" type="text">
+                                        </div>
+                                        <div class="form-group">
+                                            <label>图号:</label>
+                                            <input class="form-control form-control-sm" type="text">
+                                        </div>
+                                        <div class="form-group">
+                                            <label>计算式说明:</label>
+                                            <textarea class="form-control"></textarea>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="tab-pane" id="ct">
+                                    <div class="sjs-bottom-2">
+                                        <div class="form-group">
+                                            <a href="#edit-img" data-toggle="modal" data-target="#edit-img"  class="pull-right">添加草图</a>
+                                            <label>计算草图:</label>
+                                            <p class="form-control"><img src="img/sketch/2.png" class="d-100"></p>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <!--中间审批记录-->
+                    <div id="spjilu" class="tab-pane">
+                        <div class="side-bar">
+                            <table class="table table-bordered m-0">
+                                <tr><th>清单编号</th><th>清单名称</th><th>上报数量</th></tr>
+                                <tr><td>201-1</td><td>清理现场</td><td>10</td></tr>
+                            </table>
+                        </div>
+                        <div class="sjs-height-2">
+                            <table class="table table-bordered">
+                                <tr><th>审批人</th><th>审批数量</th><th>审批意见</th></tr>
+                                <tr><td>张三</td><td>15</td><td>审批意见文本</td></tr>
+                                <tr><td>王五</td><td>20</td><td>审批意见文本</td></tr>
+                            </table>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="side-menu">
+            <!--右侧菜单-->
+            <ul class="nav flex-column right-nav">
+                <li class="nav-item">
+                    <a class="nav-link active" data-toggle="tab" href="#biangeng" role="tab">变更令</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link" data-toggle="tab" href="#jlbiao" role="tab">分布分项</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link" data-toggle="tab" href="#spjilu" role="tab">审批记录</a>
+                </li>
+            </ul>
+        </div>
+    </div>
+</div>

+ 236 - 0
app/view/stage/measure_modal.ejs

@@ -0,0 +1,236 @@
+<!--弹出添加计量清单-->
+<div class="modal fade" id="add-qd3" data-backdrop="static">
+    <div class="modal-dialog modal-lgx" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">添加计量清单</h5>
+            </div>
+            <div class="modal-body">
+                <div class="row">
+                    <div class="col-3">
+                        <div class="modal-height-500">
+                            <table class="table table-bordered">
+                                <tr><td></td><td>第一部分建筑安装工程费</td></tr>
+                                <tr><td>1-1</td><td>临时工程</td></tr>
+                                <tr><td>1-1-1</td><td>临时道路</td></tr>
+                                <tr><td>1-1-2</td><td>临时便桥</td></tr>
+                                <tr><td>1-2</td><td>路基工程</td></tr>
+                                <tr><td>1-2-1</td><td>场地清理</td></tr>
+                                <tr><td>1-2-1-1</td><td>清理与挖除</td></tr>
+                                <tr><td>1-2-1-2</td><td>挖除旧路面</td></tr>
+                                <tr><td>1-2-2</td><td>挖方</td></tr>
+                                <tr><td>1-2-3</td><td>特殊路基处理</td></tr>
+                            </table>
+                        </div>
+                    </div>
+                    <div class="col-9">
+                        <div class="modal-height-250">
+                            <legend>选择计量单元</legend>
+                            <table class="table table-bordered">
+                                <tr><th width="50"></th><th>项目节编号</th><th>名称</th><th>单位</th></tr>
+                                <tr><td><input type="checkbox"></td><td>1-4-5-1-1-1-1-1</td><td>0#桥台1#桩</td><td></td></tr>
+                                <tr><td><input type="checkbox"></td><td>1-2-1-1-2</td><td>k1+000-k1+800</td><td></td></tr>
+                                <tr><td><input type="checkbox"></td><td>1-2-1-1-3</td><td>k2+800-k1+004</td><td></td></tr>
+                            </table>
+                        </div>
+                        <div class="modal-height-250">
+                            <table class="table table-bordered">
+                                <thead>
+                                <tr><th width="50" rowspan="2"></th><th rowspan="2">清单编号</th><th rowspan="2">名称</th><th rowspan="2">单位</th><th rowspan="2">单价</th><th colspan="2">0号台帐</th><th colspan="2">累计完成</th></tr>
+                                <tr><th>数量</th><th>金额</th><th>数量</th><th>金额</th></tr>
+                                </thead>
+                                <tbody>
+                                <tr><td><input type="checkbox"></td><td>403-1-a</td><td>I级钢筋(包括基础、承台、支撑梁等)</td><td>kg</td><td>5.18</td><td>126</td><td>653</td><td></td><td></td></tr>
+                                </tbody>
+                            </table>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary">添加</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--上报审批-->
+<div class="modal fade" id="sub-sp" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">上报审批</h5>
+            </div>
+            <div class="modal-body">
+                <div class="form-group">
+                    <label>搜索审批人</label>
+                    <div class="input-group">
+                        <input class="form-control" placeholder="请输入姓名进行检索" type="text">
+                        <div class="input-group-append">
+                            <button class="btn btn-outline-secondary" type="button"><i class="fa fa-search"></i></button>
+                        </div>
+                    </div>
+                </div>
+                <div class="card border-primary">
+                    <div class="card-body">
+                        <h5 class="card-title">
+                            <a href="#" class="btn btn-primary btn-sm pull-right">添加</a>张三
+                        </h5>
+                        <h6 class="card-subtitle mb-2 text-muted">监理</h6>
+                        <p class="card-text">XXXXX公司</p>
+                    </div>
+                </div>
+                <div class="card mt-3">
+                    <div class="card-header">
+                        审批流程
+                    </div>
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item"><a href="" class="text-danger pull-right">移除</a>1 张三  <small class="text-muted">监理</small></li>
+                        <li class="list-group-item"><a href="" class="text-danger pull-right">移除</a>2 王五 <small class="text-muted">监理</small></li>
+                        <li class="list-group-item"><a href="" class="text-danger pull-right">移除</a>3 李四 <small class="text-muted">监理</small></li>
+                    </ul>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary">确认上报</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--审批流程/结果-->
+<div class="modal fade" id="sp-list" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">审批流程</h5>
+            </div>
+            <div class="modal-body">
+                <div class="card mt-3">
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item">
+                            <span class="text-success pull-right">审批通过</span>
+                            <h5 class="card-title">1 张三 <small class="text-muted">监理</small></h5>
+                            <p class="card-text">审批意见。2018-01-01</p>
+                        </li>
+                        <li class="list-group-item">
+                            <span class="text-warning pull-right">审批中</span>
+                            <h5 class="card-title">2 王五 <small class="text-muted">监理</small></h5>
+                            <p class="card-text"></p>
+                        </li>
+                        <li class="list-group-item">
+                            <h5 class="card-title">3 李四 <small class="text-muted">监理</small></h5>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--审批通过-->
+<div class="modal fade" id="sp-done" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">审批通过</h5>
+            </div>
+            <div class="modal-body">
+                <div class="card mt-3">
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item">
+                            <span class="text-success pull-right">审批通过</span>
+                            <h5 class="card-title">1 张三 <small class="text-muted">监理</small></h5>
+                            <p class="card-text">审批意见。2018-01-01</p>
+                        </li>
+                        <li class="list-group-item">
+                            <span class="text-warning pull-right">审批中</span>
+                            <h5 class="card-title">2 王五 <small class="text-muted">监理</small></h5>
+                            <div class="form-group">
+                                <label>审批意见<b class="text-danger">*</b></label>
+                                <textarea class="form-control" ></textarea>
+                            </div>
+                        </li>
+                        <li class="list-group-item">
+                            <h5 class="card-title">3 李四 <small class="text-muted">监理</small></h5>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-success" >确认通过</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--审批退回-->
+<div class="modal fade" id="sp-back" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">审批退回</h5>
+            </div>
+            <div class="modal-body">
+                <div class="card mt-3">
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item">
+                            <span class="text-success pull-right">审批通过</span>
+                            <h5 class="card-title">1 张三 <small class="text-muted">监理</small></h5>
+                            <p class="card-text">审批意见。2018-01-01</p>
+                        </li>
+                        <li class="list-group-item">
+                            <span class="text-warning pull-right">审批中</span>
+                            <h5 class="card-title">2 王五 <small class="text-muted">监理</small></h5>
+                            <div class="form-group">
+                                <label>审批意见<b class="text-danger">*</b></label>
+                                <textarea class="form-control" ></textarea>
+                            </div>
+                            <div class="alert alert-warning">审批退回,将直接退回给上报人。</data-min-view>
+                        </li>
+                        <li class="list-group-item">
+                            <h5 class="card-title">3 李四 <small class="text-muted">监理</small></h5>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-warning" >确认退回</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--添加草图-->
+<div class="modal fade" id="edit-img" data-backdrop="static">
+    <div class="modal-dialog modal-lgx" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">添加草图</h5>
+            </div>
+            <div class="modal-body">
+                <p><a href="" class="btn btn-outline-primary btn-sm">上传图片</a></p>
+                <div class="img-view">
+                    <div class="img-item">
+                        <div class="img-bar">
+                            <a href="" class="text-danger" title="删除"><i class="fa fa-remove"></i></a>
+                        </div>
+                        <img src="img/sketch/1.png" id="draggable">
+                    </div>
+                    <div class="img-item" style="left:300px;">
+                        <div class="img-bar">
+                            <a href="" class="text-danger" title="删除"><i class="fa fa-remove"></i></a>
+                        </div>
+                        <img src="img/sketch/2.png" id="draggable">
+                    </div>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary" >确认</button>
+            </div>
+        </div>
+    </div>
+</div>

+ 13 - 2
app/view/stage/modal.ejs

@@ -17,12 +17,23 @@
             </div>
             <div class="modal-footer">
                 <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
-                <button type="button" class="btn btn-primary">确定添加</button>
+                <button type="button" class="btn btn-primary" id="addOk">确定添加</button>
             </div>
         </div>
     </div>
 </div>
 <script src="/public/js/moment/moment.min.js"></script>
 <script>
-    $('input[type=month]').val(moment().format('YYYY-MM'));
+    $(document).ready(() => {
+        $('input[type=month]').val(moment().format('YYYY-MM'));
+        $('#addOk').click(function () {
+            const data = {
+                name: $('input[name=stageName]').val(),
+                time: $('input[name=stageTime]').val(),
+            };
+            postData('/stage/add', data, function (rst) {
+                window.location.href = '/stage/' + rst.order + '/measure';
+            });
+        });
+    });
 </script>

+ 201 - 0
app/view/stage/report.ejs

@@ -0,0 +1,201 @@
+<div class="panel-content">
+    <div class="panel-title fluid">
+        <div class="title-main d-flex justify-content-between">
+            <div>
+                <div class="d-inline-block">
+                    <ul class="nav nav-pills m-0">
+                        <li class="nav-item"><a class="nav-link" href="/stage">返回</a></li>
+                        <li class="nav-item"><a class="nav-link active" href="/stage/<%- stage.order %>/measure">本期计量台帐</a></li>
+                        <li class="nav-item"><a class="nav-link" href="/stage/<%- stage.order %>/deal">合同支付</a></li>
+                        <li class="nav-item"><a class="nav-link" href="/stage/<%- stage.order %>/report">报表</a></li>
+                    </ul>
+                </div>
+            </div>
+            <div>
+                <a href="#sub-sp" data-toggle="modal" data-target="#sub-sp" class="btn btn-primary btn-sm pull-right">上报审批</a>
+                <a href="#sub-sp2" data-toggle="modal" data-target="#sub-sp2" class="btn btn-primary btn-sm pull-right">重新上报</a>
+                <a href="#sp-list" data-toggle="modal" data-target="#sp-list" class="btn btn-outline-secondary btn-sm pull-right">审批中</a>
+                <a href="#sp-list" data-toggle="modal" data-target="#sp-list" class="btn btn-outline-warning btn-sm pull-right text-muted">审批退回</a>
+                <!--审批-->
+                <a href="#sp-done" data-toggle="modal" data-target="#sp-done" class="btn btn-success btn-sm pull-right">审批通过</a>
+                <a href="#sp-back" data-toggle="modal" data-target="#sp-back" class="btn btn-warning btn-sm pull-right">审批退回</a>
+                <a href="#" class="btn btn-outline-danger btn-sm pull-right text-truncate" style="max-width: 100px;">删除 第5期</a>
+            </div>
+        </div>
+    </div>
+    <div class="content-wrap">
+        <div class="c-header p-0"></div>
+        <div class="c-body">
+            <div class="row">
+                <div class="col-2">
+                    <div class="sjs-height-1">
+                        <div class="text-center"><a href="#add-c" data-toggle="modal" data-target="#add-c" class=" btn btn-outline-primary btn-sm">添加定制报表</a></div>
+                        <ul id="treeDemo2" class="ztree"></ul>
+                    </div>
+                </div>
+                <div class="col-10">
+                    <div class="toolsbar-f d-flex justify-content-between">
+                        <div class="print-toolsbar">
+                            <div class="panel">
+                                <div class="panel-body">
+                                    <button class="btn btn-secondary btn-sm" type="button">
+                                        <i class="fa fa-print"></i><br>
+                                        打印 <span id="checkCount" class="badge badge-light">5</span>
+                                    </button>
+                                    <button class="btn btn-secondary btn-sm" type="button" href="#export" data-toggle="modal" data-target="#export">
+                                        <i class="fa fa-share-square-o"></i><br>
+                                        导出 <span id="checkCount" class="badge badge-light">5</span>
+                                    </button>
+                                </div>
+                            </div>
+                            <div class="panel">
+                                <div class="panel-body">
+                                    <div class="btn-group" role="group" aria-label="Button group with nested dropdown">
+                                        <div class="btn-group" role="group">
+                                            <button id="btnGroupDrop1" type="button" class="btn btn-secondary btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                                                纵向
+                                            </button>
+                                            <div class="dropdown-menu" aria-labelledby="btnGroupDrop1">
+                                                <a class="dropdown-item" href="#">横向</a>
+                                            </div>
+                                        </div>
+                                        <div class="btn-group" role="group">
+                                            <button id="btnGroupDrop1" type="button" class="btn btn-secondary btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                                                A4
+                                            </button>
+                                            <div class="dropdown-menu" aria-labelledby="btnGroupDrop1">
+                                                <a class="dropdown-item" href="#">A3</a>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="panel-foot text-muted">
+                                    预览设置
+                                </div>
+                            </div>
+                            <div class="panel">
+                                <div class="panel-body">
+                                    <div class="btn-group" role="group">
+                                        <button type="button" class="btn btn-secondary btn-sm" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="缩小">-</button>
+                                        <button class="btn btn-secondary btn-sm" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="重置默认大小">1000%</button>
+                                        <button type="button" class="btn btn-secondary btn-sm" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="放大">+</button>
+                                    </div>
+                                </div>
+                                <div class="panel-foot text-muted">
+                                    缩放
+                                </div>
+                            </div>
+                            <div class="panel">
+                                <div class="panel-body">
+                                    <div class="btn-group" role="group" aria-label="Button group with nested dropdown">
+                                        <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#paper"><i class="fa fa-file-o"></i> 纸张</button>
+                                        <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#format"><i class="fa fa-bold"></i> 格式</button>
+                                        <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#content"><i class="fa fa-file-text-o"></i> 内容</button>
+                                    </div>
+                                </div>
+                                <div class="panel-foot text-muted">
+                                    报表设置
+                                </div>
+                            </div>
+                            <div class="panel">
+                                <div class="panel-body">
+                                    <div class="input-group input-group-sm">
+                                        <div class="input-group-prepend">
+                                            <button type="button" class="btn btn-secondary btn-sm" disabled="" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="上一页"><i class="fa fa-chevron-left"></i></button>
+                                        </div>
+                                        <input class="form-control" value="1/10" style="width:60px" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="输入页码按回车键,快速跳转">
+                                        <div class="input-group-append">
+                                            <button type="button" class="btn btn-secondary btn-sm" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="下一页"><i class="fa fa-chevron-right"></i></button>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="panel-foot text-muted">
+                                    翻页
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="sjs-height-4">
+                        <div class="print-view form-view">
+                            <div class="pageContainer">
+                                <div class="page">
+                                    <img src="/public/images/baobiao.png">
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script type="text/javascript" src="/public/js/ztree/jquery.ztree.core.js"></script>
+<script type="text/javascript" src="/public/js/ztree/jquery.ztree.excheck.js"></script>
+<script type="text/javascript">
+    <!--
+    var setting = {
+        view: {
+            selectedMulti: false
+        },
+        data: {
+            simpleData: {
+                enable: true
+            }
+        },
+        callback: {
+            onCheck: onCheck
+        }
+    };
+
+    var zNodes =[
+        { id:1, pId:0, name:"通用报表", open:true},
+        { id:11, pId:1, name:"XXX表 1-1"},
+        { id:122, pId:11, name:"报表 1-2-2"},
+        { id:123, pId:11, name:"报表 1-2-3"},
+        { id:12, pId:1, name:"YYY表", open:true},
+        { id:124, pId:12, name:"报表 1-2-1"},
+        { id:125, pId:12, name:"报表 1-2-2"},
+        { id:126, pId:12, name:"报表 1-2-3"},
+        { id:2, pId:0, name:"定制报表", open:true},
+        { id:21, pId:2, name:"AA报表 2-1"},
+        { id:221, pId:21, name:"报表 2-2-1"},
+        { id:222, pId:21, name:"报表 2-2-2"},
+        { id:223, pId:21, name:"报表 2-2-3"},
+        { id:22, pId:2, name:"BB报表 2-2", open:true},
+        { id:224, pId:22, name:"报表 2-2-1"},
+        { id:225, pId:22, name:"报表 2-2-2"},
+        { id:226, pId:22, name:"报表 2-2-3"}
+    ];
+
+    var clearFlag = false;
+    function onCheck(e, treeId, treeNode) {
+        count();
+        if (clearFlag) {
+            clearCheckedOldNodes();
+        }
+    }
+    function clearCheckedOldNodes() {
+        var zTree = $.fn.zTree.getZTreeObj("treeDemo2"),
+            nodes = zTree.getChangeCheckedNodes();
+        for (var i=0, l=nodes.length; i<l; i++) {
+            nodes[i].checkedOld = nodes[i].checked;
+        }
+    }
+    function count() {
+        var zTree = $.fn.zTree.getZTreeObj("treeDemo2"),
+            checkCount = zTree.getCheckedNodes(true).length;
+        $("#checkCount2").text(checkCount);
+
+    }
+    function createTree() {
+        $.fn.zTree.init($("#treeDemo2"), setting, zNodes);
+        count();
+    }
+    $(document).ready(function(){
+        createTree();
+    });
+    //-->
+</script>
+<script type="text/javascript">
+    autoFlashHeight();
+</script>

+ 190 - 0
app/view/stage/report_modal.ejs

@@ -0,0 +1,190 @@
+<!--上报审批-->
+<div class="modal fade" id="sub-sp" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">上报审批</h5>
+            </div>
+            <div class="modal-body">
+                <div class="form-group">
+                    <label>搜索审批人</label>
+                    <div class="input-group">
+                        <input class="form-control" placeholder="请输入姓名进行检索" type="text">
+                        <div class="input-group-append">
+                            <button class="btn btn-outline-secondary" type="button"><i class="fa fa-search"></i></button>
+                        </div>
+                    </div>
+                </div>
+                <div class="card border-primary">
+                    <div class="card-body">
+                        <h5 class="card-title">
+                            <a href="#" class="btn btn-primary btn-sm pull-right">添加</a>张三
+                        </h5>
+                        <h6 class="card-subtitle mb-2 text-muted">监理</h6>
+                        <p class="card-text">XXXXX公司</p>
+                    </div>
+                </div>
+                <div class="card mt-3">
+                    <div class="card-header">
+                        审批流程
+                    </div>
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item"><a href="" class="text-danger pull-right">移除</a>1 张三  <small class="text-muted">监理</small></li>
+                        <li class="list-group-item"><a href="" class="text-danger pull-right">移除</a>2 王五 <small class="text-muted">监理</small></li>
+                        <li class="list-group-item"><a href="" class="text-danger pull-right">移除</a>3 李四 <small class="text-muted">监理</small></li>
+                    </ul>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary">确认上报</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--审批流程/结果-->
+<div class="modal fade" id="sp-list" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">审批流程</h5>
+            </div>
+            <div class="modal-body">
+                <div class="card mt-3">
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item">
+                            <span class="text-success pull-right">审批通过</span>
+                            <h5 class="card-title">1 张三 <small class="text-muted">监理</small></h5>
+                            <p class="card-text">审批意见。2018-01-01</p>
+                        </li>
+                        <li class="list-group-item">
+                            <span class="text-warning pull-right">审批中</span>
+                            <h5 class="card-title">2 王五 <small class="text-muted">监理</small></h5>
+                            <p class="card-text"></p>
+                        </li>
+                        <li class="list-group-item">
+                            <h5 class="card-title">3 李四 <small class="text-muted">监理</small></h5>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--审批通过-->
+<div class="modal fade" id="sp-done" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">审批通过</h5>
+            </div>
+            <div class="modal-body">
+                <div class="card mt-3">
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item">
+                            <span class="text-success pull-right">审批通过</span>
+                            <h5 class="card-title">1 张三 <small class="text-muted">监理</small></h5>
+                            <p class="card-text">审批意见。2018-01-01</p>
+                        </li>
+                        <li class="list-group-item">
+                            <span class="text-warning pull-right">审批中</span>
+                            <h5 class="card-title">2 王五 <small class="text-muted">监理</small></h5>
+                            <div class="form-group">
+                                <label>审批意见<b class="text-danger">*</b></label>
+                                <textarea class="form-control" ></textarea>
+                            </div>
+                        </li>
+                        <li class="list-group-item">
+                            <h5 class="card-title">3 李四 <small class="text-muted">监理</small></h5>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-success" >确认通过</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--审批退回-->
+<div class="modal fade" id="sp-back" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">审批退回</h5>
+            </div>
+            <div class="modal-body">
+                <div class="card mt-3">
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item">
+                            <span class="text-success pull-right">审批通过</span>
+                            <h5 class="card-title">1 张三 <small class="text-muted">监理</small></h5>
+                            <p class="card-text">审批意见。2018-01-01</p>
+                        </li>
+                        <li class="list-group-item">
+                            <span class="text-warning pull-right">审批中</span>
+                            <h5 class="card-title">2 王五 <small class="text-muted">监理</small></h5>
+                            <div class="form-group">
+                                <label>审批意见<b class="text-danger">*</b></label>
+                                <textarea class="form-control" ></textarea>
+                            </div>
+                            <div class="alert alert-warning">审批退回,将直接退回给上报人。</data-min-view>
+                        </li>
+                        <li class="list-group-item">
+                            <h5 class="card-title">3 李四 <small class="text-muted">监理</small></h5>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-warning" >确认退回</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--添加定制报表-->
+<div class="modal fade" id="add-c" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">添加定制报表</h5>
+            </div>
+            <div class="modal-body">
+                <div class="form-group">
+                    <label>输入提取码</label>
+                    <div class="input-group">
+                        <input class="form-control" placeholder="请输入6位提取码" type="text">
+                        <div class="input-group-append">
+                            <button class="btn btn-outline-secondary" type="button"><i class="fa fa-search"></i></button>
+                        </div>
+                    </div>
+                </div>
+                <div class="card mt-3">
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item">
+                            <h5 class="card-title text-danger">提取码不存在</h5>
+                        </li>
+                    </ul>
+                </div>
+                <div class="card mt-3">
+                    <ul class="list-group list-group-flush">
+                        <li class="list-group-item">
+                            <h5 class="card-title">XXX项目</h5>
+                            <p class="card-text">包含报表 14 张</p>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <!--有结果出现添加-->
+                <button type="button" class="btn btn-primary" >确认添加</button>
+            </div>
+        </div>
+    </div>
+</div>