| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295 | 
							- <% include ./stage_sub_menu.ejs %>
 
- <div class="panel-content">
 
-     <div class="panel-title">
 
-         <div class="title-main d-flex justify-content-between">
 
-             <% include ./stage_sub_mini_menu.ejs %>
 
-             <div>
 
-                 <div class="d-inline-block">
 
-                     <div class="dropdown">
 
-                         <button class="btn btn-sm btn-light dropdown-toggle text-primary" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
 
-                             <i class="fa fa-list-ol"></i> 显示层级
 
-                         </button>
 
-                         <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
 
-                             <a class="dropdown-item" name="showLevel" tag="1" href="javascirpt: void(0);">第一层</a>
 
-                             <a class="dropdown-item" name="showLevel" tag="2" href="javascirpt: void(0);">第二层</a>
 
-                             <a class="dropdown-item" name="showLevel" tag="3" href="javascirpt: void(0);">第三层</a>
 
-                             <a class="dropdown-item" name="showLevel" tag="4" href="javascirpt: void(0);">第四层</a>
 
-                             <a class="dropdown-item" name="showLevel" tag="5" href="javascirpt: void(0);">第五层</a>
 
-                             <a class="dropdown-item" name="showLevel" tag="last" href="javascirpt: void(0);">最底层</a>
 
-                             <!--<a class="dropdown-item" name="showLevel" tag="curMeasure" href="javascirpt: void(0);">只显示本期计量</a>-->
 
-                         </div>
 
-                     </div>
 
-                 </div>
 
-                 <div class="d-inline-block">
 
-                     <div class="dropdown">
 
-                         <button class="btn btn-sm btn-light dropdown-toggle text-primary" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
 
-                             <i class="fa fa-list-ol"></i> 过滤数据
 
-                         </button>
 
-                         <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
 
-                             <a class="dropdown-item" href="javascirpt: void(0);" name="load-data" tag="cur">本期</a>
 
-                             <a class="dropdown-item" href="javascirpt: void(0);" name="load-data" tag="end">截止本期</a>
 
-                             <a class="dropdown-item" href="javascirpt: void(0);" name="load-data" tag="all">显示全部</a>
 
-                         </div>
 
-                     </div>
 
-                 </div>
 
-                 <div class="d-inline-block">
 
-                     <a id="exportBwtz" class="btn btn-primary btn-sm" href="javascript: void(0)">导出部位台账Excel</a>
 
-                 </div>
 
-                 <div class="d-inline-block ml-2">
 
-                     <div class="alert alert-warning p-1"><i class="fa Example of exclamation-circle fa-exclamation-circle "></i> 计量台账与部位台账金额,会存在数学误差,属正常现象。软件以计量台账金额为准。</div>
 
-                 </div>
 
-             </div>
 
-             <div class="ml-auto">
 
-             </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" id="left-view" style="width: 100%">
 
-                 <div class="sjs-height-1" id="xmj-spread">
 
-                 </div>
 
-                 <div class="bcontent-wrap" id="main-bottom">
 
-                     <div id="main-resize" class="resize-y" r-Type="height" div1="#xmj-spread" div2="#main-bottom" store-id="stage-bwtz" store-version="1.0.0" min="100"></div>
 
-                     <div class="bc-bar mb-1">
 
-                         <ul class="nav nav-tabs">
 
-                             <li class="nav-item">
 
-                                 <a class="nav-link active" data-toggle="tab" href="#jldyjlqd" role="tab">计量单元/计量清单</a>
 
-                             </li>
 
-                             <li class="nav-item">
 
-                                 <div class="d-inline-block ml-2">
 
-                                     <a class="btn btn-sm btn-light">
 
-                                         <div class="custom-control custom-checkbox">
 
-                                             <input type="checkbox" class="custom-control-input" id="unit-show-1">
 
-                                             <label class="custom-control-label text-primary" for="unit-show-1">只显示第一层</label>
 
-                                         </div>
 
-                                     </a>
 
-                                 </div>
 
-                                 <div class="d-inline-block">
 
-                                     <div class="input-group input-group-sm ml-2">
 
-                                         <div class="input-group-prepend">
 
-                                             <span class="input-group-text" id="basic-addon1">数据筛选</span>
 
-                                         </div>
 
-                                         <input type="text" class="form-control form-control-sm m-0" id="unit-filter" placeholder="可根据 计量单元/清单编号/名称 筛选数据" style="width: 300px">
 
-                                     </div>
 
-                                 </div>
 
-                                 <div class="d-inline-block ml-2">
 
-                                     <div class="alert-warning p-1"><i class="fa Example of exclamation-circle fa-exclamation-circle "></i> 父项/子项任一符合,均显示</div>
 
-                                 </div>
 
-                             </li>
 
-                         </ul>
 
-                     </div>
 
-                     <div class="sp-wrap" id="unit-spread">
 
-                     </div>
 
-                 </div>
 
-             </div>
 
-             <!--右栏-->
 
-             <div class="c-body" id="right-view" style="display: none; width: 33%">
 
-                 <div class="resize-x" id="right-spr" r-Type="width" div1="#left-view" div2="#right-view" title="调整大小" a-type="percent"><!--调整左右高度条--></div>
 
-                 <div class="tab-content">
 
-                     <div id="search" class="tab-pane">
 
-                     </div>
 
-                 </div>
 
-             </div>
 
-         </div>
 
-         <!--右侧菜单-->
 
-         <div class="side-menu">
 
-             <!--右侧菜单-->
 
-             <ul class="nav flex-column right-nav">
 
-                 <li class="nav-item">
 
-                     <a class="nav-link" href="javascript: void(0);" role="tab" content="#search">查找定位</a>
 
-                 </li>
 
-             </ul>
 
-         </div>
 
-     </div>
 
- </div>
 
- <div style="display: none">
 
-     <img src="/public/images/file_clip.png" id="rela-file-icon">
 
-     <img src="/public/images/file_clip_hover.png" id="rela-file-hover">
 
- </div>
 
- <script>
 
-     const thirdParty = JSON.parse('<%- JSON.stringify(thirdParty) %>');
 
-     function getGxbyText(data) {
 
-         const def = thirdParty.gxby.find(function (x) {
 
-             return x.value === data.gxby_status;
 
-         });
 
-         return def ? def.name : '';
 
-     }
 
-     function getDaglText(data) {
 
-         const def = thirdParty.dagl.find(function (x) {
 
-             return x.value === data.dagl_status;
 
-         });
 
-         if (data.code === '1-2-6-1-1-1') console.log(def);
 
-         return def ? def.name : '';
 
-     }
 
-     function getColor (sheet, data, row, col, defaultColor) {
 
-         if (!data) return defaultColor;
 
-         if (col.field === 'gxby') {
 
-             const def = thirdParty.gxby.find(function (x) {
 
-                 return x.value === data.gxby_status;
 
-             });
 
-             return (def && def.color) ? def.color : defaultColor;
 
-         } else if (col.field === 'dagl') {
 
-             const def = thirdParty.dagl.find(function (x) {
 
-                 return x.value === data.dagl_status;
 
-             });
 
-             return (def && def.color) ? def.color : defaultColor;
 
-         }
 
-         return defaultColor;
 
-     }
 
-     function imageClick (data, hitinfo) {
 
-         if (!data) return;
 
-         const col = hitinfo.sheet.zh_setting.cols[hitinfo.col];
 
-         switch (col.field) {
 
-             case 'dagl': data.dagl_url && window.open(data.dagl_url); break;
 
-             case 'gxby': data.gxby_url && window.open(data.gxby_url); break;
 
-         }
 
-     }
 
-     const xmjSpreadSetting = {
 
-         cols: [
 
-             {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 145, formatter: '@', cellType: 'tree'},
 
-             <% if (ex_memo1.show) { %>
 
-             {title: '<%- ex_memo1.alias || ex_memo1.name %>', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
 
-             <% } %>
 
-             {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@'},
 
-             {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', cellType: 'unit'},
 
-             <% if (ctx.tender.info.display.ledger.dgnQty) { %>
 
-             {title: '项目节数量|数量1',  colSpan: '2|1', rowSpan: '1|1', field: 'dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '|数量2',  colSpan: '|1', rowSpan: '|1', field: 'dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '经济指标',  colSpan: '1', rowSpan: '2', field: 'dgn_price', hAlign: 2, width: 60, type: 'Number'},
 
-             <% } %>
 
-             {title: '台账金额', colSpan: '1', rowSpan: '2', field: 'total_price', hAlign: 2, width: 70, type: 'Number'},
 
-             <% if (ctx.tender.info.display.stage.realComplete) { %>
 
-             {title: '现场实际金额', colSpan: '1', rowSpan: '2', field: 'real_tp', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '预计变更金额', colSpan: '1', rowSpan: '2', field: 'estimate_tp', hAlign: 2, width: 60, type: 'Number'},
 
-             <% } %>
 
-             {title: '本期计量金额|合同计量', colSpan: '4|1', rowSpan: '1|1', field: 'contract_tp', hAlign: 2, width: 70, type: 'Number'},
 
-             {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_tp', hAlign: 2, width: 70, type: 'Number'},
 
-             {title: '|补差', colSpan: '|1', rowSpan: '|1', field: 'pc_tp', hAlign: 2, width: 70, type: 'Number', visible: <%- ctx.tender.info.display.stage.priceDiff %> },
 
-             {title: '|完成计量', colSpan: '|1', rowSpan: '|1', field: 'gather_tp', hAlign: 2, width: 70, type: 'Number'},
 
-             {title: '截止本期计量金额|合同计量', colSpan: '4|1', rowSpan: '1|1', field: 'end_contract_tp', hAlign: 2, width: 70, type: 'Number'},
 
-             {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'end_qc_tp', hAlign: 2, width: 70, type: 'Number'},
 
-             {title: '|完成计量', colSpan: '|1', rowSpan: '|1', field: 'end_gather_tp', hAlign: 2, width: 70, type: 'Number'},
 
-             {title: '|完成率(%)', colSpan: '|1', rowSpan: '|1', field: 'end_final_1_percent', hAlign: 2, width: 80, readOnly: true, type: 'Number'},
 
-             {title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 80, formatter: '@'},
 
-             {title: '本期批注', colSpan: '1', rowSpan: '2', field: 'postil', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
 
-             {title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
 
-             <% if (ex_memo2.show) { %>
 
-             {title: '<%- ex_memo2.alias || ex_memo2.name %>', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
 
-             <% } %>
 
-             <% if (ex_memo3.show) { %>
 
-             {title: '<%- ex_memo3.alias || ex_memo3.name %>', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
 
-             <% } %>
 
-             <% if (ctx.session.sessionProject.gxby) { %>
 
-             {
 
-                 title: '工序报验', colSpan: '1', rowSpan: '2', field: 'gxby', hAlign: 1, width: 80, formatter: '@',
 
-                 readOnly: true, getValue: getGxbyText, cellType: 'imageBtn', normalImg: '#rela-file-icon', indent: 12,
 
-                 imgAlign: 2, showImage: function (data) { return data && data.gxby_url }
 
-             },
 
-             <% } %>
 
-             <% if (ctx.session.sessionProject.dagl) { %>
 
-             {
 
-                 title: '档案管理', colSpan: '1', rowSpan: '2', field: 'dagl', hAlign: 1, width: 80, formatter: '@',
 
-                 readOnly: true, getValue: getDaglText, cellType: 'imageBtn', normalImg: '#rela-file-icon', indent: 12,
 
-                 imgAlign: 2, showImage: function (data) { return data && data.dagl_url }
 
-             },
 
-             <% } %>
 
-         ],
 
-         emptyRows: 0,
 
-         headRows: 2,
 
-         headRowHeight: [25, 25],
 
-         defaultRowHeight: 21,
 
-         headerFont: '12px 微软雅黑',
 
-         font: '12px 微软雅黑',
 
-         readOnly: true,
 
-         localCache: {
 
-             key: 'stage-bwtz-xmj',
 
-             colWidth: true,
 
-         },
 
-         getColor,
 
-         imageClick,
 
-     };
 
-     const unitSpreadSetting = {
 
-         cols: [
 
-             {title: '计量单元', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 120, formatter: '@', cellType: 'tree'},
 
-             {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 70, formatter: '@'},
 
-             <% if (ex_memo1.show) { %>
 
-             {title: '<%- ex_memo1.alias || ex_memo1.name %>', colSpan: '1', rowSpan: '2', field: 'ex_memo1_merge', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
 
-             <% } %>
 
-             {
 
-                 title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@',
 
-                 getValue: function (data) {
 
-                     return data.pos_name + data.name;
 
-                 }
 
-             },
 
-             {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', cellType: 'unit'},
 
-             {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '台账|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 60, type: 'Number'},
 
-             <% if (ctx.tender.info.display.stage.realComplete) { %>
 
-             {title: '现场实际|数量', colSpan: '2|1', rowSpan: '1|1', field: 'real_qty', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'real_tp', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '预计变更|数量', colSpan: '2|1', rowSpan: '1|1', field: 'estimate_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
 
-             {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'estimate_tp', hAlign: 2, width: 60, type: 'Number'},
 
-             <% } %>
 
-             {title: '本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'contract_tp', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '本期数量变更|数量', colSpan: '3|1', rowSpan: '1|1', field: 'qc_qty', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'qc_tp', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '|变更令', colSpan: '|1', rowSpan: '|1', field: 'bgl_code', hAlign: 2, width: 60, formatter: '@', cellType: 'ellipsisAutoTip'},
 
-             <% if ( ctx.tender.info.display.stage.priceDiff ) { %>
 
-             { title: '本期补差|原单价', colSpan: '2|1', rowSpan: '1|1', field: 'org_price', hAlign: 2, width: 60, type: 'Number', getValue(data) { return data.pc_tp ? data.org_price : null},  },
 
-             { title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'pc_tp', hAlign: 2, width: 60, type: 'Number' },
 
-             <% } %>
 
-             {title: '本期完成计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'gather_tp', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '截止本期合同计量|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_contract_qty', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_contract_tp', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '截止本期数量变更|数量', colSpan: '2|1', rowSpan: '1|1', field: 'end_qc_qty', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_qc_tp', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '截止本期完成计量|数量', colSpan: '3|1', rowSpan: '1|1', field: 'end_gather_qty', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'end_gather_tp', hAlign: 2, width: 60, type: 'Number'},
 
-             {title: '|完成率(%)', colSpan: '|1', rowSpan: '|1', field: 'end_final_1_percent', hAlign: 2, width: 80, type: 'Number'},
 
-             {title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code_merge', hAlign: 0, width: 80, formatter: '@'},
 
-             {title: '本期批注', colSpan: '1', rowSpan: '2', field: 'postil_merge', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
 
-             {title: '备注', colSpan: '1', rowSpan: '2', field: 'memo_merge', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
 
-             <% if (ex_memo2.show) { %>
 
-             {title: '<%- ex_memo2.alias || ex_memo2.name %>', colSpan: '1', rowSpan: '2', field: 'ex_memo2_merge', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
 
-             <% } %>
 
-             <% if (ex_memo3.show) { %>
 
-             {title: '<%- ex_memo3.alias || ex_memo3.name %>', colSpan: '1', rowSpan: '2', field: 'ex_memo3_merge', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
 
-             <% } %>
 
-             <% if (ctx.session.sessionProject.gxby) { %>
 
-             {
 
-                 title: '工序报验', colSpan: '1', rowSpan: '2', field: 'gxby', hAlign: 1, width: 80, formatter: '@',
 
-                 readOnly: true, getValue: getGxbyText, cellType: 'imageBtn', normalImg: '#rela-file-icon', indent: 5,
 
-                 imgAlign: 2, showImage: function (data) { return data && data.gxby_url },
 
-             },
 
-             <% } %>
 
-             <% if (ctx.session.sessionProject.dagl) { %>
 
-             {
 
-                 title: '档案管理', colSpan: '1', rowSpan: '2', field: 'dagl', hAlign: 1, width: 80, formatter: '@',
 
-                 readOnly: true, getValue: getDaglText, cellType: 'imageBtn', normalImg: '#rela-file-icon', indent: 5,
 
-                 imgAlign: 2, showImage: function (data) { return data && data.dagl_url },
 
-             },
 
-             <% } %>
 
-         ],
 
-         emptyRows: 0,
 
-         headRows: 2,
 
-         headRowHeight: [25, 25],
 
-         defaultRowHeight: 21,
 
-         headerFont: '12px 微软雅黑',
 
-         font: '12px 微软雅黑',
 
-         readOnly: true,
 
-         localCache: {
 
-             key: 'stage-bwtz-unit',
 
-             colWidth: true,
 
-         },
 
-         getColor,
 
-         imageClick,
 
-     };
 
-     const decimal = <%- ctx.tender.info.decimal.tp %>;
 
-     const thousandth = <%- ctx.tender.info.display.thousandth %>;
 
-     const gxby = <%- ctx.session.sessionProject.gxby %>;
 
-     const dagl = <%- ctx.session.sessionProject.dagl %>;
 
- </script>
 
 
  |