|
@@ -208,3 +208,445 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
+// 标段属性
|
|
|
+<div class="modal fade" id="bd-attr" 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-height-500" style="overflow-y: auto">
|
|
|
+ <div class="modal-body">
|
|
|
+ <ul class="nav nav-tabs nav-justified mb-2">
|
|
|
+ <li class="nav-item">
|
|
|
+ <a class="nav-link active" data-toggle="tab" href="#htxx" role="tab" aria-selected="true">合同信息</a>
|
|
|
+ </li>
|
|
|
+ <li class="nav-item">
|
|
|
+ <a class="nav-link" data-toggle="tab" href="#cjdw" role="tab" aria-selected="false">参建单位</a>
|
|
|
+ </li>
|
|
|
+ <li class="nav-item">
|
|
|
+ <a class="nav-link" data-toggle="tab" href="#jscs" role="tab">技术参数</a>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ <div class="tab-content">
|
|
|
+ <div class="tab-pane active" id="htxx">
|
|
|
+ <div class="form-group">
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-12 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">建设项目名称</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="项目A" id="build-name" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-12 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text" style="width:90px">合同编号</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="deal-code" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-12 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text" style="width:90px">合同名称</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="deal-name" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-12 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text" style="width:90px">工程类别</span>
|
|
|
+ </div>
|
|
|
+ <select class="form-control" id="project-type">
|
|
|
+ <option value="">请选择</option>
|
|
|
+ <option value="设计">设计</option>
|
|
|
+ <option value="监理">监理</option>
|
|
|
+ <option value="施工">施工</option>
|
|
|
+ <option value="检测">检测</option>
|
|
|
+ <option value="其他">其他</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-12 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text" style="width:90px">合同类别</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="deal-type">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-12">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text" style="width:90px">结算书编号</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="final-code">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="tab-pane" id="cjdw">
|
|
|
+ <div class="form-group mb-4">
|
|
|
+ <label>建设单位:</label>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-12 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">单位名称</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="build-company" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6 pr-0">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">法人代表</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="build-corporation" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">签订日期</span>
|
|
|
+ </div>
|
|
|
+ <input type="date" class="form-control" value="" id="build-date">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="form-group mb-4">
|
|
|
+ <label>承包单位1:</label>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-12 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">单位名称</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="contract1-company" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6 pr-0">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">法人代表</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="contract1-corporation" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">签订日期</span>
|
|
|
+ </div>
|
|
|
+ <input type="date" class="form-control" value="" id="contract1-date">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-12 mt-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">项目经理部</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="contract1-management" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="form-group mb-4">
|
|
|
+ <label>承包单位2:</label>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-12 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">单位名称</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="contract2-company" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6 pr-0">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">法人代表</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="contract2-corporation" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">签订日期</span>
|
|
|
+ </div>
|
|
|
+ <input type="date" class="form-control" value="" id="contract2-date">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="form-group mb-4">
|
|
|
+ <label>监理单位1:</label>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-12 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">单位名称</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="supervision1-company" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6 pr-0">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">法人代表</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="supervision1-corporation" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">签订日期</span>
|
|
|
+ </div>
|
|
|
+ <input type="date" class="form-control" value="" id="supervision1-date">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="form-group">
|
|
|
+ <label>监理单位2:</label>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-12 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">单位名称</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="supervision2-company" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6 pr-0">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">法人代表</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="supervision2-corporation" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">签订日期</span>
|
|
|
+ </div>
|
|
|
+ <input type="date" class="form-control" value="" id="supervision2-date">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="form-group">
|
|
|
+ <label>检测单位:</label>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-12 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">单位名称</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="detect-company" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6 pr-0">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">法人代表</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="detect-corporation" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">签订日期</span>
|
|
|
+ </div>
|
|
|
+ <input type="date" class="form-control" value="" id="detect-date">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="tab-pane" id="jscs">
|
|
|
+ <div class="form-group">
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-6 pr-0 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">公路等级</span>
|
|
|
+ </div>
|
|
|
+ <select class="form-control" id="load-level">
|
|
|
+ <option>高速公路</option>
|
|
|
+ <option>一级公路</option>
|
|
|
+ <option>二级公路</option>
|
|
|
+ <option>三级公路</option>
|
|
|
+ <option>四级公路</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text" style="width:90px">长度(KM)</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="length" min="0" max="10000"
|
|
|
+ oninput="limitDealParamLength(this);limitReturn(this);" onchange="checkNumberValid(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6 pr-0 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">起始桩号</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="start-peg" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text" style="width:90px">终止桩号</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="end-peg" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6 pr-0 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text" style="width:66px">车道数</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="lane-count" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text" style="width:90px">合同工期</span>
|
|
|
+ </div>
|
|
|
+ <input type="text" class="form-control" value="" id="deal-period" maxlength="100" oninput="limitReturn(this)">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6 pr-0 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">开工日期</span>
|
|
|
+ </div>
|
|
|
+ <input type="date" class="form-control" value="" id="start-date">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">计划完工日期</span>
|
|
|
+ </div>
|
|
|
+ <input type="date" class="form-control" value="" id="plan-end-date">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6 pr-0 mb-2">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">实际开工日期</span>
|
|
|
+ </div>
|
|
|
+ <input type="date" class="form-control" value="" id="real-start-date">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-6">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">实际完工日期</span>
|
|
|
+ </div>
|
|
|
+ <input type="date" class="form-control" value="" id="real-end-date">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-12">
|
|
|
+ <div class="input-group input-group-sm">
|
|
|
+ <div class="input-group-prepend">
|
|
|
+ <span class="input-group-text">构造物规模</span>
|
|
|
+ </div>
|
|
|
+ <textarea class="form-control" id="structure-scale"></textarea>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="modal-footer">
|
|
|
+ <button class="btn btn-sm btn-primary mr-auto" data-toggle="modal" data-target="#sync-attr">从计量标段同步</button>
|
|
|
+
|
|
|
+ <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">取消</button>
|
|
|
+ <button type="button" class="btn btn-sm btn-primary" onclick="postAttr();">确认修改</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</div>
|
|
|
+<div class="modal fade" id="sync-attr" 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">
|
|
|
+ <h5>可选标段</h5>
|
|
|
+ <div id="sr-spread" style="height: 300px"></div>
|
|
|
+ </div>
|
|
|
+ <div class="modal-footer">
|
|
|
+ <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">取消</button>
|
|
|
+ <button type="button" class="btn btn-sm btn-primary" id="sync-attr-ok">确定</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</div>
|
|
|
+<script>
|
|
|
+ let property = JSON.parse(unescape('<%- escape(JSON.stringify(tenderInfo)) %>'));
|
|
|
+ const category = JSON.parse('<%- JSON.stringify(categoryData) %>');
|
|
|
+ // 根据Min Max限制Input输入
|
|
|
+ function limitInputMinMax (obj) {
|
|
|
+ if (_.toNumber(obj.value) > _.toNumber(obj.max)) {
|
|
|
+ obj.value = obj.max;
|
|
|
+ }
|
|
|
+ if(_.toNumber(obj.value) < _.toNumber(obj.min)) {
|
|
|
+ obj.value = obj.min;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 根据Maxlength限制input输入
|
|
|
+ function limitMaxLength (obj) {
|
|
|
+ if (obj.value.length > obj.maxLength) {
|
|
|
+ obj.value = obj.value.substr(0, obj.maxLength);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 根据正则限制输入
|
|
|
+ function limitReg(obj, reg) {
|
|
|
+ obj.value = obj.value.replace(reg, '');
|
|
|
+ }
|
|
|
+ // 小数位数 input 输入限制
|
|
|
+ function limitDecimal(obj) {
|
|
|
+ limitReg(obj, /[^\d]/g);
|
|
|
+ limitMaxLength(obj);
|
|
|
+ limitInputMinMax(obj);
|
|
|
+ }
|
|
|
+
|
|
|
+ function limitDealParamLength(obj) {
|
|
|
+ limitReg(obj, /[^\d\.]/g); // 过滤数字和.
|
|
|
+ limitReg(obj, /\.{2,}/g); // 过滤第二个.
|
|
|
+ limitInputMinMax(obj);
|
|
|
+ }
|
|
|
+
|
|
|
+ function limitReturn(obj) {
|
|
|
+ limitReg(obj, /\s/g);
|
|
|
+ }
|
|
|
+
|
|
|
+ function checkNumberValid(obj) {
|
|
|
+ const value = _.toNumber(obj.value);
|
|
|
+ obj.value = value ? value : '';
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|