exponent.ejs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. <% include ./material_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 ./material_sub_mini_menu.ejs %>
  6. <div>
  7. <% if ((material.status === auditConst.status.uncheck || material.status === auditConst.status.checkNo) && ctx.session.sessionUser.accountId === material.user_id) { %>
  8. <div class="d-inline-block">
  9. <a href="javascript: void(0);" id="add" class="btn btn-sm btn-light text-primary" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="新增"><i class="fa fa-plus" aria-hidden="true"></i></a>
  10. <a href="javascript: void(0);" id="del" class="btn btn-sm btn-light text-primary" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="删除"><i class="fa fa-remove" aria-hidden="true"></i></a>
  11. </div>
  12. <% } %>
  13. <div class="d-inline-block ml-3">
  14. 本期调差计量期:第<span class="mx-2"><%= material.s_order.split(',').join(',') %></span>期
  15. </div>
  16. <div class="d-inline-block ml-2" >
  17. <a href="#cc-digits" class="btn btn-sm btn-light text-primary" data-toggle="modal" data-placement="bottom" title="小数位数" data-target="#cc-digits" ><i class="fa fa-cog" aria-hidden="true"></i></a>
  18. </div>
  19. <!--<div class="d-inline-block ml-3" style="display: none!important;">-->
  20. <!--本期价差:<b id="ex_expr"><%- material.ex_expr %></b>-->
  21. <!--</div>-->
  22. </div>
  23. <div class="ml-auto">
  24. <% if (ctx.session.sessionProject.page_show.openMaterialChecklist && material.order === material.highOrder) { %>
  25. <a href="/tender/<%- ctx.tender.id %>/measure/material/<%- material.highOrder %>/checklist" class="btn btn-sm btn-outline-primary">清单设置</a>
  26. <% } %>
  27. </div>
  28. </div>
  29. </div>
  30. <div class="content-wrap pr-46">
  31. <div class="c-header p-0">
  32. </div>
  33. <div class="row w-100 sub-content">
  34. <div id="left-view" class="c-body" style="width: 100%">
  35. <!--上部分-->
  36. <div class="sjs-height-1" id="material-exponent-spread">
  37. </div>
  38. <!--下部分-->
  39. <div class="bcontent-wrap" id="main-bottom">
  40. <div id="main-resize" class="resize-y" r-Type="height" div1=".sjs-height-1" div2=".bcontent-wrap" title="调整大小"><!--调整上下高度条--></div>
  41. <div class="bc-bar mb-1">
  42. <div class="input-group input-group-sm ">
  43. <div class="input-group-prepend">
  44. <span class="input-group-text" id="basic-addon1">增值税税率</span>
  45. </div>
  46. <input id="rateInput" class="form-control form-control-sm col-1" <% if (material.readOnly || material.editForAudit) { %>disabled<% } %> type="number" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" min="0" step="1" max="100" value="<%- material.exponent_rate %>">
  47. <% if (!material.readOnly || !material.editForAudit) { %>
  48. <div class="dropdown-menu">
  49. <a class="dropdown-item changeRate" href="javascript:void(0);" data-value="9">9%</a>
  50. <a class="dropdown-item changeRate" href="javascript:void(0);" data-value="10">10%</a>
  51. <a class="dropdown-item changeRate" href="javascript:void(0);" data-value="11">11%</a>
  52. </div>
  53. <% } %>
  54. <!--<select class="form-control form-control-sm col-1" id="changeRate">-->
  55. <!--<% if (!material.readOnly && !material.editForAudit) { %>-->
  56. <!--<option value="9" <% if(material.exponent_rate === 9) { %>selected<% } %>>9%</option>-->
  57. <!--<option value="10" <% if(material.exponent_rate === 10) { %>selected<% } %>>10%</option>-->
  58. <!--<option value="11" <% if(material.exponent_rate === 11) { %>selected<% } %>>11%</option>-->
  59. <!--<% } else { %>-->
  60. <!--<option value="<%= material.exponent_rate %>" selected><%= material.exponent_rate %>%</option>-->
  61. <!--<% } %>-->
  62. <!--</select>-->
  63. </div>
  64. </div>
  65. <% if (!material.material_tax && !old_had_tax) { %>
  66. <div class="sp-wrap" style="max-width: 800px;min-width: 500px;">
  67. <div class="col-12 p-0">
  68. <table class="table table-sm table-bordered">
  69. <tr><th rowspan="2"></th><th colspan="2" class="text-center">信息价</th><th colspan="2" class="text-center">价格指数</th></tr>
  70. <tr class="text-center"><th>本期金额</th><th>截止本期金额</th>
  71. <th>本期金额
  72. <a href="javascript:void(0);" id="ex_expr" data-toggle="tooltip" data-placement="bottom" title="本期价差:<%- material.ex_expr ? material.ex_expr : '' %>"><i class="fa fa-question-circle-o"></i></a></th>
  73. <th>截止本期金额</th></tr>
  74. <tr id="tp_set"><td>材料价差费用</td>
  75. <td class="text-center"><%= material.m_tp !== null ? ctx.helper.round(material.m_tp, material.decimal.tp) : null %></td>
  76. <td class="text-center"><%= material.m_tp !== null || material.pre_tp !== null ? ctx.helper.round(ctx.helper.add(material.pre_tp, material.m_tp), material.decimal.tp) : null %></td>
  77. <td class="text-center"><%= material.ex_tp !== null ? ctx.helper.round(material.ex_tp, material.decimal.tp) : null %></td>
  78. <td class="text-center"><%= material.ex_tp !== null || material.ex_pre_tp !== null ? ctx.helper.round(ctx.helper.add(material.ex_pre_tp, material.ex_tp), material.decimal.tp) : null %></td>
  79. </tr>
  80. <tr id="rate_set"><td>材料价差费用(含建筑税)</td>
  81. <td class="text-center"><%= material.m_tp !== null ? ctx.helper.round(ctx.helper.mul(material.m_tp, 1+material.rate/100), material.decimal.tp) : null %></td>
  82. <td class="text-center"><%= material.m_tp !== null || pre_tp_hs !== null ? ctx.helper.round(ctx.helper.add(pre_tp_hs, ctx.helper.round(ctx.helper.mul(material.m_tp, 1+material.rate/100), material.decimal.tp)), material.decimal.tp) : null %></td>
  83. <td class="text-center"><%= material.ex_tp !== null ? ctx.helper.round(ctx.helper.mul(material.ex_tp, 1+material.exponent_rate/100), material.decimal.tp) : null %></td>
  84. <td class="text-center"><%= material.ex_tp !== null || ex_pre_tp_hs !== null ? ctx.helper.round(ctx.helper.add(ex_pre_tp_hs, ctx.helper.round(ctx.helper.mul(material.ex_tp, 1+material.exponent_rate/100), material.decimal.tp)), material.decimal.tp) : null %></td>
  85. </tr>
  86. </table>
  87. </div>
  88. </div>
  89. <% } else { %>
  90. <div class="sp-wrap" style="max-width: 800px;min-width: 500px;">
  91. <div class="col-12 p-0">
  92. <table class="table table-sm table-bordered">
  93. <tr><th rowspan="2"></th><th colspan="2" class="text-center">信息价</th><th colspan="2" class="text-center">价格指数</th></tr>
  94. <tr class="text-center"><th>本期金额</th><th>截止本期金额</th>
  95. <th>本期金额
  96. <a href="javascript:void(0);" id="ex_expr" data-toggle="tooltip" data-placement="bottom" title="本期价差:<%- material.ex_expr ? material.ex_expr : '' %>"><i class="fa fa-question-circle-o"></i></a></th>
  97. <th>截止本期金额</th></tr>
  98. <tr id="tp_set"><td>材料价差费用</td>
  99. <td class="text-center"><%= material.m_tp !== null ? ctx.helper.round(material.m_tp, material.decimal.tp) : null %></td>
  100. <td class="text-center"><%= material.m_tp !== null || material.pre_tp !== null ? ctx.helper.round(ctx.helper.add(material.pre_tp, material.m_tp), material.decimal.tp) : null %></td>
  101. <td class="text-center"><%= material.ex_tp !== null ? ctx.helper.round(material.ex_tp, material.decimal.tp) : null %></td>
  102. <td class="text-center"><%= material.ex_tp !== null || material.ex_pre_tp !== null ? ctx.helper.round(ctx.helper.add(material.ex_pre_tp, material.ex_tp), material.decimal.tp) : null %></td>
  103. </tr>
  104. <!--<tr><td>材料价差费用(含材料税)</td>-->
  105. <!--<td class="text-center"><%= material.material_tax ? (material.m_tax_tp !== null ? material.m_tax_tp : null) : '-' %></td>-->
  106. <!--<td class="text-center"><%= material.material_tax ? (material.m_tax_tp !== null || material.m_tax_pre_tp !== null ? ctx.helper.round(ctx.helper.add(material.m_tax_pre_tp, material.m_tax_tp), material.decimal.tp) : null) : material.m_tax_pre_tp %></td>-->
  107. <!--<td class="text-center">-</td>-->
  108. <!--<td class="text-center">-</td>-->
  109. <!--</tr>-->
  110. <tr id="rate_set"><td>材料价差费用(含建筑税)</td>
  111. <td class="text-center"><%= !material.material_tax ? (material.m_tp !== null ? ctx.helper.round(ctx.helper.mul(material.m_tp, 1+material.rate/100), material.decimal.tp) : null) : '-' %></td>
  112. <td class="text-center"><%= !material.material_tax ? (material.m_tp !== null || pre_tp_hs !== null ? ctx.helper.round(ctx.helper.add(pre_tp_hs, ctx.helper.round(ctx.helper.mul(material.m_tp, 1+material.rate/100), material.decimal.tp)), material.decimal.tp) : null) : pre_tp_hs !== null ? pre_tp_hs : '-' %></td>
  113. <td class="text-center"><%= material.ex_tp !== null ? ctx.helper.round(ctx.helper.mul(material.ex_tp, 1+material.exponent_rate/100), material.decimal.tp) : null %></td>
  114. <td class="text-center"><%= material.ex_tp !== null || ex_pre_tp_hs !== null ? ctx.helper.round(ctx.helper.add(ex_pre_tp_hs, ctx.helper.round(ctx.helper.mul(material.ex_tp, 1+material.exponent_rate/100), material.decimal.tp)), material.decimal.tp) : null %></td>
  115. </tr>
  116. </table>
  117. </div>
  118. </div>
  119. <% } %>
  120. </div>
  121. </div>
  122. <div id="right-view" class="c-body" style="display:none;width: 33%">
  123. <div class="resize-x" id="right-spr" r-Type="width" div1="#left-view" div2="#right-view" title="调整大小" a-type="percent"><!--调整左右高度条--></div>
  124. <div class="tab-content" style="width: 100%">
  125. <div id="tiaochaje" class="tab-pane active">
  126. <div class="sjs-sh-1">
  127. <table class="table table-bordered">
  128. <thead>
  129. <tr><th>选择</th><th>需调整的价差</th><th>金额</th></tr>
  130. </thead>
  131. <tbody id="calc_basic_select">
  132. <% for (const bq of ex_calc) { %>
  133. <tr>
  134. <td><input type="checkbox" value="<%- bq.code %>" <% if (material.readOnly) { %>disabled<% } %> class="calc_select" <% if (bq.select) { %>checked<% } %>></td>
  135. <td><%- materialType.ex_basic_text[bq.code] %></td><td><% if (bq.code === 'zdy' && !material.readOnly) { %><input type="number" id="calc_zdy" class="form-control form-control-sm" value="<%- bq.value %>"><% } else { %><%- bq.value %><% } %></td>
  136. </tr>
  137. <% } %>
  138. </tbody>
  139. </table>
  140. </div>
  141. </div>
  142. </div>
  143. </div>
  144. </div>
  145. <div class="side-menu">
  146. <!--右侧菜单-->
  147. <ul class="nav flex-column right-nav">
  148. <li class="nav-item">
  149. <a class="nav-link" content="#base-tab" href="javascript: void(0);">调差基数</a>
  150. </li>
  151. </ul>
  152. </div>
  153. </div>
  154. </div>
  155. <div style="display: none">
  156. <img src="/public/images/ellipsis_horizontal.png" id="ellipsis-icon" />
  157. <img src="/public/images/icon-ok.png" id="icon-ok" />
  158. </div>
  159. <script>
  160. const readOnly = <%- material.readOnly %>;
  161. const materialID = <%- material.id %>;
  162. const materialTax = <%- material.material_tax %>;
  163. const materialOrder = <%- material.order %>;
  164. const editForAudit = <%- material.editForAudit %>;
  165. const materialDecimal = JSON.parse(unescape('<%- escape(JSON.stringify(material.decimal)) %>'));
  166. const decimal = JSON.parse('<%- JSON.stringify(ctx.tender.info.decimal) %>');
  167. let m_tp = <%= material.m_tp !== null ? material.m_tp : 0 %>;
  168. let ex_tp = <%= material.ex_tp !== null ? material.ex_tp : 0 %>;
  169. const pre_tp = <%= material.pre_tp !== null ? material.pre_tp : 0 %>;
  170. const ex_pre_tp = <%= material.ex_pre_tp !== null ? material.ex_pre_tp : 0 %>;
  171. const pre_tp_hs = <%= pre_tp_hs !== null ? pre_tp_hs : 0 %>;
  172. const ex_pre_tp_hs = <%= ex_pre_tp_hs !== null ? ex_pre_tp_hs : 0 %>;
  173. const materialType = JSON.parse('<%- JSON.stringify(materialType) %>');
  174. const ex_calc = JSON.parse('<%- JSON.stringify(ex_calc) %>');
  175. let ex_expr = '<%- material.ex_expr %>';
  176. let materialRate = parseInt('<%- material.exponent_rate %>');
  177. let materialExponentData = JSON.parse(unescape('<%- escape(JSON.stringify(materialExponentData)) %>'));
  178. </script>