Browse Source

标段属性

MaiXinRong 6 years ago
parent
commit
cea9a7030b

+ 85 - 0
app/const/tender_info.js

@@ -0,0 +1,85 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Mai
+ * @date
+ * @version
+ */
+
+const parseInfo = ['deal_info', 'construction_unit', 'tech_param', 'decimal', 'deal_param', 'display'];
+const defaultInfo = {
+    // 合同信息
+    deal_info: {
+        buildName: '',
+        dealCode: '',
+        dealName: '',
+    },
+    // 参建单位
+    construction_unit: {
+        build: {
+            company: '',
+            corporation: '',
+            date: '',
+        },
+        contract1: {
+            company: '',
+            corporation: '',
+            date: '',
+        },
+        contract2: {
+            company: '',
+            corporation: '',
+            date: '',
+        },
+        supervision1: {
+            company: '',
+            corporation: '',
+            date: '',
+        },
+        supervision2: {
+            company: '',
+            corporation: '',
+            date: '',
+        },
+    },
+    // 技术参数
+    tech_param: {
+        loadLevel: 0,
+        loadLength: 0,
+        startPeg: '',
+        endPeg: '',
+        laneCount: 0,
+        dealPeriod: '',
+        startDate: '',
+        planEndDate: '',
+    },
+    // 小数位数
+    decimal: {
+        qty: 3,
+        tp: 2,
+        deal: false,
+        dealQty: 3,
+        dealTp: 2,
+        pay: false,
+        payTp: 0,
+    },
+    // 合同参数
+    deal_param: {
+        contractPrice: 0,
+        startAdvance: 0,
+        materialAdvance: 0,
+    },
+    // 显示设置
+    display: {
+        ledger: {
+            dgnQty : false,
+        }
+    }
+};
+
+module.exports = {
+    parseInfo,
+    defaultInfo,
+}

+ 20 - 0
app/controller/tender_controller.js

@@ -131,12 +131,32 @@ module.exports = app => {
          */
         async tenderInfo(ctx) {
             try {
+                const tenderId = ctx.params.id;
                 const renderData = await this.getCommonRenderData(ctx);
+                renderData.tenderInfo = await ctx.service.tenderInfo.getTenderInfo(tenderId);
                 await this.layout('tender/detail.ejs', renderData);
             } catch (error) {
                 this.log(error);
                 this.ctx.redirect('/list');
+            }
+        }
 
+        /**
+         * 保存标段属性等(Ajax)
+         *
+         * @param ctx
+         * @returns {Promise<void>}
+         */
+        async saveTenderInfo(ctx) {
+            try {
+                const tenderId = ctx.params.id;
+                const data = JSON.parse(ctx.request.body.data);
+                console.log(data);
+                await ctx.service.tenderInfo.saveTenderInfo(tenderId, data);
+                ctx.body = {err: 0, msg: '', data: data};
+            } catch(err) {
+                this.log(err);
+                ctx.body = {err: 1, msg: err.toString(), data: null};
             }
         }
 

+ 4 - 4
app/public/js/category.js

@@ -207,7 +207,7 @@ $(document).ready(() => {
             name: name.val(),
             type: parseInt(type.val()),
         };
-        postData('/setting/category/add', data, function (data) {
+        postData('/api/setting/category/add', data, function (data) {
             InitCategoryData(data);
             $('#categoryList').append(getCategoryHtml(data));
             bindCategoryControl();
@@ -246,7 +246,7 @@ $(document).ready(() => {
             id: parseInt($(this).attr('cid')),
             updateValue: valueArr,
         };
-        postData('/setting/category/value', data, function (data) {
+        postData('/api/setting/category/value', data, function (data) {
             tenders = data.tenders;
             const category = findCategory(data.category.id);
             category.value = data.category.value;
@@ -267,7 +267,7 @@ $(document).ready(() => {
             name: name.val(),
             type: parseInt(type.val()),
         }
-        postData('/setting/category/update', data, function (data) {
+        postData('/api/setting/category/update', data, function (data) {
             const category = findCategory(data.id);
             for (const c in data) {
                 category[c] = data[c];
@@ -285,7 +285,7 @@ $(document).ready(() => {
         const data = {
             id: parseInt($(this).attr('cid')),
         }
-        postData('/setting/category/del', data, function () {
+        postData('/api/setting/category/del', data, function () {
             $('tr[cid=' + data.id + ']').remove();
             $('#del-cate').modal('hide');
         }, function () {

+ 232 - 108
app/public/js/tender.js

@@ -22,120 +22,244 @@ try {
 } catch (error) {
 
 }
-//1 标段完成占比/
-let myChart = echarts.init(document.getElementById('chartContainer1'));
-let option = {
-    color: ['#e9af68','#57b7b6','#e4575a','#959eac','#6699FF',
-        '#d38b70','#8fb7cf','#cd5c5c','#ffa500','#40e0d0',
-        '#1e90ff','#ff6347','#7b68ee','#00fa9a','#ffd700',
-        '#5c616b','#ff6666','#3cb371','#b8860b','#30e0e0'],
-    title : {
-        text: '标段完成占比',
-        x:'left'
-    },
-
-    tooltip : {
-        trigger: 'item',
-        formatter: "{a} <br/>{b}:{c} 元<br>占:{d} %"
-    },
-    calculable : true,
-    series : [
-        {
-            name:'标段计量分布',
-            type:'pie',
-            radius : '60%',
-            center: ['50%','50%'],
-            data: tenderData
-        }
-    ]
-};
-// 为echarts对象加载数据
-myChart.setOption(option);
-//1 //
-//2 土建标月进度//
-myChart = echarts.init(document.getElementById('chartContainer2'));
-option = {
-    color:['#6699FF','#3cb371'],
-    title : {
-        text: '土建标月进度'
-    },
-    tooltip : {
-        trigger: 'axis',
-        formatter: "{b} <br/>{a}:{c} %<br/>{a1}:{c1} %"
-    },
-    legend: {
-        data:['累计完成','本月完成']
-    },
-    dataZoom : {
-        show : true,
-        start :50,
-        end : 100
-    },
-    xAxis : [
-        {
-            type : 'category',
-            boundaryGap : true,
-            data : [
-                '2017-01','2017-02','2017-03','2017-04','2017-05','2017-06','2017-07','2017-08','2017-09'
-            ]
-        }
-    ],
-    yAxis : [
-        {
-            type : 'value',
-            axisLabel : {
-                formatter: '{value} %'
-            },
-            splitArea : {show : true}
-        }
-    ],
-    series : [
-        {
-            name:'累计完成',
-            type:'line',
-            itemStyle: {
-                normal: {
-                    lineStyle: {
-                        shadowColor : 'rgba(0,0,0,0.4)',
-                        shadowBlur: 5,
-                        shadowOffsetX: 3,
-                        shadowOffsetY: 3
-                    }
-                }
-            },
-            data:[10, 10, 30, 40, 50, 60, 80, 85, 100]
-        },
-        {
-            name:'本月完成',
-            type:'line',
-            itemStyle: {
-                normal: {
-                    lineStyle: {
-                        shadowColor : 'rgba(0,0,0,0.4)',
-                        shadowBlur: 5,
-                        shadowOffsetX: 3,
-                        shadowOffsetY: 3
-                    }
-                }
-            },
-            data:[10, 0, 20, 10, 10, 10, 10, 5, 15]
-        }
-    ]
-};
+// 属性
+function loadCommonProperty () {
+    // 合同信息
+    $('#build-name').val(property.deal_info.buildName);
+    $('#deal-code').val(property.deal_info.dealCode);
+    $('#deal-name').val(property.deal_info.dealName);
 
+    // 参建单位
+    // 建设单位
+    $('#build-company').val(property.construction_unit.build.company);
+    $('#build-corporation').val(property.construction_unit.build.corporation);
+    $('#build-date').val(property.construction_unit.build.date);
+    // 承包单位1
+    $('#contract1-company').val(property.construction_unit.contract1.company);
+    $('#contract1-corporation').val(property.construction_unit.contract1.corporation);
+    $('#contract1-date').val(property.construction_unit.contract1.date);
+    // 承包单位2
+    $('#contract2-company').val(property.construction_unit.contract2.company);
+    $('#contract2-corporation').val(property.construction_unit.contract2.corporation);
+    $('#contract2-date').val(property.construction_unit.contract2.date);
+    // 监理单位1
+    $('#supervision1-company').val(property.construction_unit.supervision1.company);
+    $('#supervision1-corporation').val(property.construction_unit.supervision1.corporation);
+    $('#supervision1-date').val(property.construction_unit.supervision1.date);
+    // 监理单位2
+    $('#supervision2-company').val(property.construction_unit.supervision2.company);
+    $('#supervision2-corporation').val(property.construction_unit.supervision2.corporation);
+    $('#supervision2-date').val(property.construction_unit.supervision2.date);
 
-// 为echarts对象加载数据
-myChart.setOption(option);
-//3 标段计量分布//
+    // 技术参数
+    $('#loadLevel').val(property.tech_param.loadLevel);
+    $('#length').val(property.tech_param.loadLength);
+    $('#start-peg').val(property.tech_param.startPeg);
+    $('#end-peg').val(property.tech_param.endPeg);
+    $('#lane-count').val(property.tech_param.laneCount);
+    $('#deal-period').val(property.tech_param.dealPeriod);
+    $('#start-date').val(property.tech_param.startDate);
+    $('#plan-end-date').val(property.tech_param.planEndDate);
+}
+// 计算参数
+function loadCalculateProperty () {
+    // 小数位数
+    $('#decimal-qty').val(property.decimal.qty);
+    $('#decimal-tp').val(property.decimal.tp);
+    $('#decimal-deal')[0].checked = property.decimal.deal;
+    $('#decimal-deal-qty').val(property.decimal.dealQty);
+    $('#decimal-deal-tp').val(property.decimal.dealTp);
+    $('#decimal-pay')[0].checked = property.decimal.pay;
+    $('#decimal-pay-qty').val(property.decimal.payQty);
+    $('#decimal-pay-tp').val(property.decimal.payTp);
 
-function getEmptyHtml() {
-    const html = '<div class="jumbotron">\n' +
-                 '    <h3 class="display-6">还没有标段数据</h3>\n' +
-                 '</div>';
-    return html;
+    // 合同参数
+    $('#contract-price').val(property.deal_param.contractPrice);
+    $('#start-advance').val(property.deal_param.startAdvance);
+    $('#material-advance').val(property.deal_param.materialAdvance);
+}
+// 显示设置
+function loadDisplayProperty () {
+    $('#ledger-dgn-qty')[0].checked = property.display.ledger.dgnQty;
+}
+// 设置某个div下全部的input、select是否只读
+function setReadOnly(obj, readOnly) {
+    if (readOnly) {
+        $('input', obj).attr('readonly', '');
+        $('select', obj).attr('disabled', '');
+        $('input[type=checkbox]', obj).attr('disabled', '');
+    } else {
+        $('input', obj).removeAttr('readonly');
+        $('select', obj).removeAttr('disabled');
+        $('input[type=checkbox]', obj).removeAttr('disabled');
+    }
+}
+// 标段属性
+function loadTenderProperty() {
+    // 加载属性
+    loadCommonProperty();
+    loadCalculateProperty();
+    loadDisplayProperty();
+    // 设置只读
+    setReadOnly('#shuxing', true);
 }
 
 $(document).ready(function() {
+    loadTenderProperty();
+
+    /**
+     * 属性
+     */
+    // 编辑
+    $('#edit-agi').click(() => {
+        setReadOnly('#v-pills-agi', false);
+        $('#post-agi').parent().show();
+        $('#edit-agi').parent().hide();
+    });
+    // 取消
+    $('#cancel-agi').click(() => {
+        setReadOnly('#v-pills-agi', true);
+        loadCommonProperty();
+        $('#post-agi').parent().hide();
+        $('#edit-agi').parent().show();
+    });
+    // 提交
+    $('#post-agi').click(() => {
+        const prop = {
+            deal_info: {
+                buildName: $('#build-name').val(),
+                dealCode: $('#deal-code').val(),
+                dealName: $('#deal-name').val(),
+            },
+            construction_unit: {
+                build: {
+                    company: $('#build-company').val(),
+                    corporation: $('#build-corporation').val(),
+                    date: $('#build-date').val(),
+                },
+                contract1: {
+                    company: $('#contract1-company').val(),
+                    corporation: $('#contract1-corporation').val(),
+                    date: $('#contract1-date').val(),
+                },
+                contract2: {
+                    company: $('#contract2-company').val(),
+                    corporation: $('#contract2-corporation').val(),
+                    date: $('#contract2-date').val(),
+                },
+                supervision1: {
+                    company: $('#supervision1-company').val(),
+                    corporation: $('#supervision1-corporation').val(),
+                    date: $('#supervision1-date').val(),
+                },
+                supervision2: {
+                    company: $('#supervision2-company').val(),
+                    corporation: $('#supervision2-corporation').val(),
+                    date: $('#supervision2-date').val(),
+                },
+            },
+            tech_param: {
+                loadLevel: _.toNumber($('#loadLevel').val()),
+                loadLength: _.toNumber($('#length').val()),
+                startPeg: $('#start-peg').val(),
+                endPeg: $('#end-peg').val(),
+                laneCount: _.toNumber($('#lane-count').val()),
+                dealPeriod: $('#deal-period').val(),
+                startDate: $('#start-date').val(),
+                planEndDate: $('#plan-end-date').val(),
+            }
+        };
+        const tenderId = window.location.pathname.split('/')[2];
+        console.log(prop);
+        postData('/api/tender/' + tenderId + '/save', prop, function (data) {
+            setReadOnly('#v-pills-agi', true);
+            property.deal_info = data.deal_info;
+            property.construction_unit = data.construction_unit;
+            property.tech_param = data.tech_param;
+            $('#post-agi').parent().hide();
+            $('#edit-agi').parent().show();
+        });
+    });
+
+    /**
+     * 计算参数
+      */
+    // 编辑
+    $('#edit-count').click(() => {
+        setReadOnly('#v-pills-count', false);
+        $('#post-count').parent().show();
+        $('#edit-count').parent().hide();
+    });
+    // 取消
+    $('#cancel-count').click(() => {
+        setReadOnly('#v-pills-count', true);
+        loadCommonProperty();
+        $('#post-count').parent().hide();
+        $('#edit-count').parent().show();
+    });
+    // 提交
+    $('#post-count').click(() => {
+        const prop = {
+            decimal: {
+                qty: _.toNumber($('#decimal-qty').val()),
+                tp: _.toNumber($('#decimal-tp').val()),
+                deal: $('#decimal-deal')[0].checked,
+                dealQty: _.toNumber($('#decimal-deal-qty').val()),
+                dealTp: _.toNumber($('#decimal-deal-tp').val()),
+                pay: $('#decimal-pay')[0].checked,
+                payQty: _.toNumber($('#decimal-pay-qty').val()),
+                payTp: _.toNumber($('#decimal-pay-tp').val()),
+            },
+            deal_param: {
+                contractPrice: _.toNumber($('#contract-price').val()),
+                startAdvance: _.toNumber($('#start-advance').val()),
+                materialAdvance: _.toNumber($('#material-advance').val()),
+            }
+        };
+        const tenderId = window.location.pathname.split('/')[2];
+        console.log(prop);
+        postData('/api/tender/' + tenderId + '/save', prop, function (data) {
+            setReadOnly('#v-pills-count', true);
+            property.decimal = data.decimal;
+            property.deal_param = data.deal_param;
+            $('#post-count').parent().hide();
+            $('#edit-count').parent().show();
+        });
+    });
+
+    /**
+     * 显示设置
+     */
+    // 编辑
+    $('#edit-display').click(() => {
+        setReadOnly('#v-pills-display', false);
+        $('#post-display').parent().show();
+        $('#edit-display').parent().hide();
+    });
+    // 取消
+    $('#cancel-display').click(() => {
+        setReadOnly('#v-pills-display', true);
+        loadCommonProperty();
+        $('#post-display').parent().hide();
+        $('#edit-display').parent().show();
+    });
+    // 提交
+    $('#post-display').click(() => {
+        const prop = {
+            display: {
+                ledger: { dgnQty: $('#ledger-dgn-qty')[0].checked, },
+            },
+        };
+        const tenderId = window.location.pathname.split('/')[2];
+        console.log(prop);
+        postData('/api/tender/' + tenderId + '/save', prop, function (data) {
+            setReadOnly('#v-pills-display', true);
+            property.display = data.display;
+            $('#post-display').parent().hide();
+            $('#edit-display').parent().show();
+        });
+    });
+
     //标段类型选择
     $('#tender_type_select').change(function () {
         const type = $(this).val() != 0 ? '/?type='+$(this).val() : '';

+ 1 - 1
app/public/js/tender_list.js

@@ -303,7 +303,7 @@ $(document).ready(() => {
                 data.push({id: c.id, level: node.getPath().length - 1});
             }
         }
-        postData('/setting/category/level', data, function (rst) {
+        postData('/api/setting/category/level', data, function (rst) {
             for (const d of data) {
                 const c = findNode('id', d.id, category);
                 c.level = d.level;

+ 6 - 5
app/router.js

@@ -34,11 +34,11 @@ module.exports = app => {
     app.get('/setting/user', sessionAuth, 'settingController.user');
     // 标段自定义类别
     app.get('/setting/category', sessionAuth, 'settingController.category');
-    app.post('/setting/category/add', sessionAuth, 'settingController.addCategory');
-    app.post('/setting/category/del', sessionAuth, 'settingController.deleteCategory');
-    app.post('/setting/category/update', sessionAuth, 'settingController.updateCategory');
-    app.post('/setting/category/value', sessionAuth, 'settingController.setCategoryValue');
-    app.post('/setting/category/level', sessionAuth, 'settingController.resetCategoryLevel');
+    app.post('/api/setting/category/add', sessionAuth, 'settingController.addCategory');
+    app.post('/api/setting/category/del', sessionAuth, 'settingController.deleteCategory');
+    app.post('/api/setting/category/update', sessionAuth, 'settingController.updateCategory');
+    app.post('/api/setting/category/value', sessionAuth, 'settingController.setCategoryValue');
+    app.post('/api/setting/category/level', sessionAuth, 'settingController.resetCategoryLevel');
 
     // 项目相关
     app.get('/project/info', sessionAuth, 'projectController.info');
@@ -63,6 +63,7 @@ module.exports = app => {
     app.post('/list/del', sessionAuth, 'tenderController.deleteTender');
     // 标段概况
     app.get('/tender/:id', sessionAuth, 'tenderController.tenderInfo');
+    app.post('/api/tender/:id/save', sessionAuth, 'tenderController.saveTenderInfo');
     app.post('/tender/rule', sessionAuth, 'tenderController.rule');
 
 

+ 88 - 0
app/service/tender_info.js

@@ -0,0 +1,88 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Mai
+ * @date 2018/10/30
+ * @version
+ */
+
+const infoConst = require('../const/tender_info');
+const parseInfo = infoConst.parseInfo;
+const defaultInfo = infoConst.defaultInfo;
+
+module.exports = app => {
+
+    class TenderInfo extends app.BaseService {
+
+        /**
+         * 构造函数
+         *
+         * @param {Object} ctx - egg全局变量
+         * @return {void}
+         */
+        constructor(ctx) {
+            super(ctx);
+            this.tableName = 'tender_info';
+        }
+
+        /**
+         * 新增 标段相关信息
+         *
+         * @param tenderId - 标段Id
+         * @param projectId - 项目Id
+         * @param transaction - 事务
+         * @returns {Promise<void>}
+         */
+        async addTenderInfo(tenderId, projectId, transaction) {
+            const info = JSON.parse(JSON.stringify(defaultInfo));
+            info.tid = tenderId;
+            info.pid = projectId;
+            for (const pi of parseInfo) {
+                info[pi] = JSON.stringify(info[pi])
+            }
+
+            if (transaction) {
+                await transaction.insert(this.tableName, info);
+            } else {
+                await this.db.insert(this.tableName, info);
+            }
+            return info;
+        }
+
+        /**
+         * 获取标段相关信息
+         * @param tenderId
+         * @returns {Promise<void>}
+         */
+        async getTenderInfo(tenderId) {
+            let info = await this.getDataByCondition({tid: tenderId});
+            // 兼容不存在info的情况
+            if (!info) {
+                info = await this.addTenderInfo(tenderId, this.ctx.session.sessionProject.id);
+            }
+            for (const pi of parseInfo) {
+                info[pi] = !info[pi] || info[pi] === '' ? defaultInfo[parseInfo] : JSON.parse(info[pi]);
+            }
+            return info;
+        }
+
+        /**
+         * 保存标段相关信息
+         *
+         * @param data
+         * @returns {Promise<void>}
+         */
+        async saveTenderInfo(tenderId, data) {
+            for (const di in data) {
+                if (parseInfo.indexOf(di) >= 0) {
+                    data[di] = JSON.stringify(data[di]);
+                }
+            }
+            await this.db.update(this.tableName, data, {where: {tid: tenderId}});
+        }
+    }
+
+    return TenderInfo;
+};

+ 76 - 51
app/view/tender/detail.ejs

@@ -101,8 +101,15 @@
                             <div class="tab-content">
                                 <div class="tab-pane fade show active" id="v-pills-agi" role="tabpanel">
                                     <!--操作-->
-                                    <div class="d-flex justify-content-end mt-3"><button type="button" class="btn btn-sm btn-outline-primary">编辑</button></div>
-                                    <div class="d-flex justify-content-end mt-3"><button type="button" class="btn btn-sm btn-outline-success"><i class="fa fa-check"></i> 提交</button>&nbsp;<button type="button" class="btn btn-sm btn-outline-danger"><i class="fa fa-close"></i>  取消</button></div>
+                                    <div class="d-flex justify-content-end mt-3">
+                                        <div>
+                                            <button type="button" class="btn btn-sm btn-outline-primary" id="edit-agi"> 编辑</button>
+                                        </div>
+                                        <div style="display: none">
+                                            <button type="button" class="btn btn-sm btn-outline-success" id="post-agi"><i class="fa fa-check"></i> 提交</button>&nbsp;
+                                            <button type="button" class="btn btn-sm btn-outline-danger" id="cancel-agi"><i class="fa fa-close"></i> 取消</button>
+                                        </div>
+                                    </div>
                                     <!--合同信息-->
                                     <legend class="mt-3">合同信息</legend>
                                     <!--默认显示-->
@@ -113,7 +120,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">建设项目名称</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="项目A" readonly="">
+                                                    <input type="text" class="form-control" value="项目A" readonly="" id="build-name">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -121,7 +128,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">合同编号</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="" readonly="">
+                                                    <input type="text" class="form-control" value="" readonly="" id="deal-code">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -129,7 +136,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">合同名称</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="" readonly="">
+                                                    <input type="text" class="form-control" value="" readonly="" id="deal-name">
                                                 </div>
                                             </div>
                                         </div>
@@ -145,7 +152,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">单位名称</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="">
+                                                    <input type="text" class="form-control" value="" id="build-company">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -153,7 +160,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">法人代表</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="">
+                                                    <input type="text" class="form-control" value="" id="build-corporation">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -161,7 +168,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">签订日期</span>
                                                     </div>
-                                                    <input type="date" class="form-control" value="">
+                                                    <input type="date" class="form-control" value="" id="build-date">
                                                 </div>
                                             </div>
                                         </div>
@@ -174,7 +181,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">单位名称</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="">
+                                                    <input type="text" class="form-control" value="" id="contract1-company">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -182,7 +189,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">法人代表</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="">
+                                                    <input type="text" class="form-control" value="" id="contract1-corporation">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -190,7 +197,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">签订日期</span>
                                                     </div>
-                                                    <input type="date" class="form-control" value="">
+                                                    <input type="date" class="form-control" value="" id="contract1-date">
                                                 </div>
                                             </div>
                                         </div>
@@ -203,7 +210,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">单位名称</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="">
+                                                    <input type="text" class="form-control" value="" id="contract2-company">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -211,7 +218,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">法人代表</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="">
+                                                    <input type="text" class="form-control" value="" id="contract2-corporation">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -219,7 +226,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">签订日期</span>
                                                     </div>
-                                                    <input type="date" class="form-control" value="">
+                                                    <input type="date" class="form-control" value="" id="contract2-date">
                                                 </div>
                                             </div>
                                         </div>
@@ -232,7 +239,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">单位名称</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="">
+                                                    <input type="text" class="form-control" value="" id="supervision1-company">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -240,7 +247,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">法人代表</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="">
+                                                    <input type="text" class="form-control" value="" id="supervision1-corporation">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -248,7 +255,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">签订日期</span>
                                                     </div>
-                                                    <input type="date" class="form-control" value="">
+                                                    <input type="date" class="form-control" value="" id="supervision1-date">
                                                 </div>
                                             </div>
                                         </div>
@@ -261,7 +268,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">单位名称</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="">
+                                                    <input type="text" class="form-control" value="" id="supervision2-company">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -269,7 +276,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">法人代表</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="">
+                                                    <input type="text" class="form-control" value="" id="supervision2-corporation">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -277,7 +284,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">签订日期</span>
                                                     </div>
-                                                    <input type="date" class="form-control" value="">
+                                                    <input type="date" class="form-control" value="" id="supervision2-date">
                                                 </div>
                                             </div>
                                         </div>
@@ -291,12 +298,12 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">公路等级</span>
                                                     </div>
-                                                    <select class="form-control" disabled="">
-                                                        <option>高速公路</option>
-                                                        <option>一级公路</option>
-                                                        <option>二级公路</option>
-                                                        <option>三级公路</option>
-                                                        <option>四级公路</option>
+                                                    <select class="form-control" disabled="" id="load-level">
+                                                        <option value="1">高速公路</option>
+                                                        <option value="2">一级公路</option>
+                                                        <option value="3">二级公路</option>
+                                                        <option value="4">三级公路</option>
+                                                        <option value="5">四级公路</option>
                                                     </select>
                                                 </div>
                                             </div>
@@ -305,7 +312,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">长度(KM)</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="" readonly="">
+                                                    <input type="text" class="form-control" value="" readonly="" id="length">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -313,7 +320,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">起始桩号</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="" readonly="">
+                                                    <input type="text" class="form-control" value="" readonly="" id="start-peg">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -321,7 +328,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">终止桩号</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="" readonly="">
+                                                    <input type="text" class="form-control" value="" readonly="" id="end-peg">
                                                 </div>
                                             </div>
                                         </div>
@@ -333,7 +340,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">车道数</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="" readonly="">
+                                                    <input type="text" class="form-control" value="" readonly="" id="lane-count">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -341,7 +348,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">合同工期</span>
                                                     </div>
-                                                    <input type="text" class="form-control" value="" readonly="">
+                                                    <input type="text" class="form-control" value="" readonly="" id="deal-period">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -349,7 +356,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">开工日期</span>
                                                     </div>
-                                                    <input type="date" class="form-control" value="" readonly="">
+                                                    <input type="date" class="form-control" value="" readonly="" id="start-date">
                                                 </div>
                                             </div>
                                             <div class="col">
@@ -357,7 +364,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">计划完工日期</span>
                                                     </div>
-                                                    <input type="date" class="form-control" value="" readonly="">
+                                                    <input type="date" class="form-control" value="" readonly="" id="plan-end-date">
                                                 </div>
                                             </div>
                                         </div>
@@ -365,8 +372,15 @@
                                 </div>
                                 <div class="tab-pane fade" id="v-pills-count" role="tabpanel" >
                                     <!--操作-->
-                                    <div class="d-flex justify-content-end mt-3"><button type="button" class="btn btn-sm btn-outline-primary">编辑</button></div>
-                                    <div class="d-flex justify-content-end mt-3"><button type="button" class="btn btn-sm btn-outline-success"><i class="fa fa-check"></i> 提交</button>&nbsp;<button type="button" class="btn btn-sm btn-outline-danger"><i class="fa fa-close"></i>  取消</button></div>
+                                    <div class="d-flex justify-content-end mt-3">
+                                        <span>
+                                            <button type="button" class="btn btn-sm btn-outline-primary" id="edit-count">编辑</button>
+                                        </span>
+                                        <span style="display: none">
+                                            <button type="button" class="btn btn-sm btn-outline-success" id="post-count"><i class="fa fa-check"></i> 提交</button>&nbsp;
+                                            <button type="button" class="btn btn-sm btn-outline-danger" id="cancel-count"><i class="fa fa-close"></i>  取消</button>
+                                        </span>
+                                    </div>
                                     <!--小数位数-->
                                     <legend class="mt-3">小数位数</legend>
                                     <div class="form-group">
@@ -377,7 +391,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">数量</span>
                                                     </div>
-                                                    <input type="number" class="form-control" value="3">
+                                                    <input type="number" class="form-control" value="3" id="decimal-qty">
                                                 </div>
                                             </div>
                                             <div class="col-2">
@@ -385,7 +399,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">金额</span>
                                                     </div>
-                                                    <input type="number" class="form-control" value="2">
+                                                    <input type="number" class="form-control" value="2" id="decimal-tp">
                                                 </div>
                                             </div>
                                         </div>
@@ -395,7 +409,7 @@
                                         <div class="row">
                                             <div class="col-auto">
                                                 <div class="form-group form-check mt-1">
-                                                    <input type="checkbox" class="form-check-input" id="exampleCheck1" checked="">
+                                                    <input type="checkbox" class="form-check-input" id="decimal-deal" checked="">
                                                     <label class="form-check-label" for="exampleCheck1">签约清单</label>
                                                 </div>
                                             </div>
@@ -404,7 +418,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">数量</span>
                                                     </div>
-                                                    <input type="number" class="form-control" value="3">
+                                                    <input type="number" class="form-control" value="3" id="decimal-deal-qty">
                                                 </div>
                                             </div>
                                             <div class="col-2">
@@ -412,14 +426,14 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">金额</span>
                                                     </div>
-                                                    <input type="number" class="form-control" value="2">
+                                                    <input type="number" class="form-control" value="2" id="decimal-deal-tp">
                                                 </div>
                                             </div>
                                         </div>
                                         <div class="row">
                                             <div class="col-auto">
                                                 <div class="form-group form-check mt-1">
-                                                    <input type="checkbox" class="form-check-input" id="exampleCheck2">
+                                                    <input type="checkbox" class="form-check-input" id="decimal-pay">
                                                     <label class="form-check-label" for="exampleCheck2">合同支付</label>
                                                 </div>
                                             </div>
@@ -428,7 +442,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">数量</span>
                                                     </div>
-                                                    <input type="number" class="form-control" value="3" readonly="">
+                                                    <input type="number" class="form-control" value="3" readonly="" id="decimal-pay-qty">
                                                 </div>
                                             </div>
                                             <div class="col-2">
@@ -436,7 +450,7 @@
                                                     <div class="input-group-prepend">
                                                         <span class="input-group-text">金额</span>
                                                     </div>
-                                                    <input type="number" class="form-control" value="2" readonly="">
+                                                    <input type="number" class="form-control" value="2" readonly="" id="decimal-pay-tp">
                                                 </div>
                                             </div>
                                         </div>
@@ -450,7 +464,7 @@
                                                 <div class="input-group-prepend">
                                                     <span class="input-group-text">签约合同价</span>
                                                 </div>
-                                                <input type="number" class="form-control" value="">
+                                                <input type="number" class="form-control" value="" id="contract-price">
                                             </div>
                                         </div>
                                         <div class="col-3 my-3">
@@ -458,7 +472,7 @@
                                                 <div class="input-group-prepend">
                                                     <span class="input-group-text">签约开工预付款</span>
                                                 </div>
-                                                <input type="number" class="form-control" value="">
+                                                <input type="number" class="form-control" value="" id="start-advance">
                                             </div>
                                         </div>
                                         <div class="col-3">
@@ -466,23 +480,30 @@
                                                 <div class="input-group-prepend">
                                                     <span class="input-group-text">签约材料预付款</span>
                                                 </div>
-                                                <input type="number" class="form-control" value="">
+                                                <input type="number" class="form-control" value="" id="material-advance">
                                             </div>
                                         </div>
                                     </div>
                                 </div>
                                 <div class="tab-pane fade" id="v-pills-display" role="tabpanel" >
                                     <!--操作-->
-                                    <div class="d-flex justify-content-end mt-3"><button type="button" class="btn btn-sm btn-outline-primary">编辑</button></div>
-                                    <div class="d-flex justify-content-end mt-3"><button type="button" class="btn btn-sm btn-outline-success"><i class="fa fa-check"></i> 提交</button>&nbsp;<button type="button" class="btn btn-sm btn-outline-danger"><i class="fa fa-close"></i>  取消</button></div>
+                                    <div class="d-flex justify-content-end mt-3">
+                                        <span>
+                                            <button type="button" class="btn btn-sm btn-outline-primary" id="edit-display">编辑</button>
+                                        </span>
+                                        <span style="display: none">
+                                            <button type="button" class="btn btn-sm btn-outline-success" id="post-display"><i class="fa fa-check"></i> 提交</button>&nbsp;
+                                            <button type="button" class="btn btn-sm btn-outline-danger" id="cancel-display"><i class="fa fa-close"></i>  取消</button>
+                                        </span>
+                                    </div>
                                     <legend class="mt-3">台帐列显示</legend>
                                     <div class="form-group">
                                         <div class="form-group">
                                             <div class="row">
                                                 <div class="col">
                                                     <div class="form-group form-check">
-                                                        <input type="checkbox" class="form-check-input" id="exampleCheck3" checked="">
-                                                        <label class="form-check-label" for="exampleCheck3">设计数量</label>
+                                                        <input type="checkbox" class="form-check-input" id="ledger-dgn-qty" checked="">
+                                                        <label class="form-check-label" for="ledger-dgn-qty">设计数量</label>
                                                     </div>
                                                 </div>
                                             </div>
@@ -668,4 +689,8 @@
     // 为echarts对象加载数据
     myChart.setOption(option);
     //3 标段月进度//
-</script>
+</script>
+<script>
+    let property = JSON.parse('<%- JSON.stringify(tenderInfo) %>');
+</script>
+<script type="text/javascript" src="/public/js/tender.js"></script>

+ 0 - 18
config/config.qa.js

@@ -51,24 +51,6 @@ module.exports = appInfo => {
         encrypt: true,
     };
 
-    // geetest验证码key
-    config.geetest = {
-        id: '23c50f6711966f744c93a70167c8e0a4',
-        key: '9b67989994f9def437ea68bb495f0162',
-    };
-
-    // 前端验证
-    config.jsValidator = {
-        client: {},
-        app: true,
-    };
-
-    // 上传设置
-    config.multipart = {
-        whitelist: ['.xls', '.xlsx', '.json'],
-        fileSize: '10mb',
-    };
-
     // 是否压缩替换前端js
     config.min = false;