bwtz.ejs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <% include ../tender/tender_sub_menu.ejs %>
  2. <div class="panel-content">
  3. <div class="panel-title">
  4. <div class="title-main d-flex justify-content-between">
  5. <% include ../tender/tender_sub_mini_menu.ejs %>
  6. <div>
  7. <div class="d-inline-block">
  8. <div class="dropdown">
  9. <button class="btn btn-sm btn-light dropdown-toggle text-primary" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  10. <i class="fa fa-list-ol"></i> 显示层级
  11. </button>
  12. <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
  13. <a class="dropdown-item" name="showLevel" tag="1" href="javascript:void(0);">第一层</a>
  14. <a class="dropdown-item" name="showLevel" tag="2" href="javascript:void(0);">第二层</a>
  15. <a class="dropdown-item" name="showLevel" tag="3" href="javascript:void(0);">第三层</a>
  16. <a class="dropdown-item" name="showLevel" tag="4" href="javascript:void(0);">第四层</a>
  17. <a class="dropdown-item" name="showLevel" tag="5" href="javascript:void(0);">第五层</a>
  18. <a class="dropdown-item" name="showLevel" tag="last" href="javascript:void(0);">最底层</a>
  19. </div>
  20. </div>
  21. </div>
  22. <div class="d-inline-block">
  23. <a id="exportBwtz" class="btn btn-primary btn-sm" href="javascript: void(0)">导出部位台账Excel</a>
  24. </div>
  25. <div class="d-inline-block ml-2">
  26. <div class="alert alert-warning p-1"><i class="fa Example of exclamation-circle fa-exclamation-circle "></i> 台账分解与部位台账金额,会存在数学误差,属正常现象。软件以台账分解金额为准。</div>
  27. </div>
  28. </div>
  29. <div class="ml-auto">
  30. </div>
  31. </div>
  32. </div>
  33. <div class="content-wrap pr-46">
  34. <div class="c-header p-0"></div>
  35. <div class="row w-100 sub-content">
  36. <!--左栏-->
  37. <div class="c-body" id="left-view" style="width: 100%">
  38. <div class="sjs-height-1" id="xmj-spread">
  39. </div>
  40. <div class="bcontent-wrap" id="main-bottom">
  41. <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>
  42. <div class="bc-bar mb-1">
  43. <ul class="nav nav-tabs">
  44. <li class="nav-item">
  45. <a class="nav-link active" data-toggle="tab" href="#jldyjlqd" role="tab">计量单元/计量清单</a>
  46. </li>
  47. <li class="nav-item">
  48. <div class="d-inline-block ml-2">
  49. <a class="btn btn-sm btn-light">
  50. <div class="custom-control custom-checkbox">
  51. <input type="checkbox" class="custom-control-input" id="unit-show-1">
  52. <label class="custom-control-label text-primary" for="unit-show-1">只显示第一层</label>
  53. </div>
  54. </a>
  55. </div>
  56. <div class="d-inline-block">
  57. <div class="input-group input-group-sm ml-2">
  58. <div class="input-group-prepend">
  59. <span class="input-group-text" id="basic-addon1">数据筛选</span>
  60. </div>
  61. <input type="text" class="form-control form-control-sm m-0" id="unit-filter" placeholder="可根据 计量单元/清单编号/名称 筛选数据" style="width: 300px">
  62. </div>
  63. </div>
  64. <div class="d-inline-block ml-2">
  65. <div class="alert-warning p-1"><i class="fa Example of exclamation-circle fa-exclamation-circle "></i> 父项/子项任一符合,均显示</div>
  66. </div>
  67. </li>
  68. </ul>
  69. </div>
  70. <div class="sp-wrap" id="unit-spread">
  71. </div>
  72. </div>
  73. </div>
  74. <!--右栏-->
  75. <div class="c-body" id="right-view" style="display: none; width: 33%">
  76. <div class="resize-x" id="right-spr" r-Type="width" div1="#left-view" div2="#right-view" title="调整大小" a-type="percent"><!--调整左右高度条--></div>
  77. <div class="tab-content">
  78. <div id="search" class="tab-pane">
  79. </div>
  80. </div>
  81. </div>
  82. </div>
  83. <!--右侧菜单-->
  84. <div class="side-menu">
  85. <!--右侧菜单-->
  86. <ul class="nav flex-column right-nav">
  87. <li class="nav-item">
  88. <a class="nav-link" href="javascript: void(0);" role="tab" content="#search">查找定位</a>
  89. </li>
  90. </ul>
  91. </div>
  92. </div>
  93. </div>
  94. <script>
  95. const xmjSpreadSetting = {
  96. cols: [
  97. {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 145, formatter: '@', cellType: 'tree'},
  98. <% if (ex_memo1.show) { %>
  99. {title: '<%- ex_memo1.alias || ex_memo1.name %>', colSpan: '1', rowSpan: '2', field: 'ex_memo1', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  100. <% } %>
  101. {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@'},
  102. {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', cellType: 'unit'},
  103. <% if (ctx.tender.info.display.ledger.dgnQty) { %>
  104. {title: '项目节数量|数量1', colSpan: '2|1', rowSpan: '1|1', field: 'dgn_qty1', hAlign: 2, width: 60, type: 'Number'},
  105. {title: '|数量2', colSpan: '|1', rowSpan: '|1', field: 'dgn_qty2', hAlign: 2, width: 60, type: 'Number'},
  106. {title: '经济指标', colSpan: '1', rowSpan: '2', field: 'dgn_price', hAlign: 2, width: 60, type: 'Number'},
  107. <% } %>
  108. {title: '台账金额', colSpan: '1', rowSpan: '2', field: 'total_price', hAlign: 2, width: 100, type: 'Number'},
  109. {title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code', hAlign: 0, width: 100, formatter: '@'},
  110. {title: '备注', colSpan: '1', rowSpan: '2', field: 'memo', hAlign: 0, width: 120, formatter: '@', cellType: 'ellipsisAutoTip'},
  111. <% if (ex_memo2.show) { %>
  112. {title: '<%- ex_memo2.alias || ex_memo2.name %>', colSpan: '1', rowSpan: '2', field: 'ex_memo2', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  113. <% } %>
  114. <% if (ex_memo3.show) { %>
  115. {title: '<%- ex_memo3.alias || ex_memo3.name %>', colSpan: '1', rowSpan: '2', field: 'ex_memo3', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  116. <% } %>
  117. ],
  118. emptyRows: 0,
  119. headRows: 2,
  120. headRowHeight: [25, 25],
  121. defaultRowHeight: 21,
  122. headerFont: '12px 微软雅黑',
  123. font: '12px 微软雅黑',
  124. readOnly: true,
  125. localCache: {
  126. key: 'bwtz-xmj',
  127. colWidth: true,
  128. }
  129. };
  130. const unitSpreadSetting = {
  131. cols: [
  132. {title: '计量单元', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 120, formatter: '@', cellType: 'tree'},
  133. {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'b_code', hAlign: 0, width: 70, formatter: '@'},
  134. <% if (ex_memo1.show) { %>
  135. {title: '<%- ex_memo1.alias || ex_memo1.name %>', colSpan: '1', rowSpan: '2', field: 'ex_memo1_merge', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  136. <% } %>
  137. {
  138. title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 185, formatter: '@',
  139. getValue: function (data) {
  140. return data.pos_name + data.name;
  141. }
  142. },
  143. {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', cellType: 'unit'},
  144. {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number'},
  145. {title: '台账|数量', colSpan: '2|1', rowSpan: '1|1', field: 'quantity', hAlign: 2, width: 80, type: 'Number'},
  146. {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'total_price', hAlign: 2, width: 80, type: 'Number'},
  147. {title: '图(册)号', colSpan: '1', rowSpan: '2', field: 'drawing_code_merge', hAlign: 0, width: 100, formatter: '@'},
  148. {title: '备注', colSpan: '1', rowSpan: '2', field: 'memo_merge', hAlign: 0, width: 120, formatter: '@', cellType: 'ellipsisAutoTip'},
  149. <% if (ex_memo2.show) { %>
  150. {title: '<%- ex_memo2.alias || ex_memo2.name %>', colSpan: '1', rowSpan: '2', field: 'ex_memo2_merge', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  151. <% } %>
  152. <% if (ex_memo3.show) { %>
  153. {title: '<%- ex_memo3.alias || ex_memo3.name %>', colSpan: '1', rowSpan: '2', field: 'ex_memo3_merge', hAlign: 0, width: 100, formatter: '@', cellType: 'ellipsisAutoTip'},
  154. <% } %>
  155. ],
  156. emptyRows: 0,
  157. headRows: 2,
  158. headRowHeight: [25, 25],
  159. defaultRowHeight: 21,
  160. headerFont: '12px 微软雅黑',
  161. font: '12px 微软雅黑',
  162. readOnly: true,
  163. localCache: {
  164. key: 'bwtz-unit',
  165. colWidth: true,
  166. }
  167. };
  168. const thousandth = <%- ctx.tender.info.display.thousandth %>;
  169. const decimal = <%- ctx.tender.info.decimal.tp %>;
  170. </script>