engineering.html 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. <%include ./common.html %>
  2. <div class="panel-content">
  3. <div class="panel-title">
  4. <div class="title-main">
  5. <h2>
  6. <a href="javascript:void(0);" id="save-lib" class="btn btn-primary btn-sm pull-right">保存</a>
  7. <a href="/compilation/valuation/<%= section %>/<%= valuationId %>" class="btn btn-default btn-sm pull-right">返回</a>
  8. </h2>
  9. </div>
  10. </div>
  11. <div class="content-wrap">
  12. <div class="c-header" style="padding:0">
  13. <ul class="nav nav-tabs">
  14. <li role="presentation" class="active"><a href="javascript:void(0);"><%= libData.name %> - <%= libData.feeName %></a></li>
  15. </ul>
  16. </div>
  17. <div class="c-body">
  18. <form method="post" action="/compilation/save-lib" enctype="application/x-www-form-urlencoded21">
  19. <div class="row">
  20. <div class="col-md-12">
  21. <div class="row">
  22. <div class="form-group col-md-3">
  23. <label>标准清单</label>
  24. <div class="bill-list">
  25. <% if (Object.keys(libData).length > 0 && libData.bill_lib.length > 0) { %>
  26. <% libData.bill_lib.forEach(function (bill, index){ %>
  27. <p class="form-control-static">
  28. <a class="pull-right text-danger remove-lib" data-model="bill" title="移除">
  29. <span class="glyphicon glyphicon-remove"></span>
  30. </a>
  31. <input type="hidden" name="bill_lib" data-id="<%= bill.id %>" value="<%= JSON.stringify({id: bill.id, name: bill.name}) %>">
  32. <% if (index === 0) {%><i class="glyphicon glyphicon-flag"></i>&nbsp;<% } %><%= bill.name %>
  33. </p>
  34. <% }) %>
  35. <% } %>
  36. </div>
  37. <a class="btn btn-link btn-sm add-compilation" href="javascript:void(0)" data-model="bill">添加</a>
  38. </div>
  39. <div class="form-group col-md-3">
  40. <label>人材机库</label>
  41. <div class="glj-list">
  42. <% if (Object.keys(libData).length > 0 && libData.glj_lib.length > 0) { %>
  43. <% libData.glj_lib.forEach(function (glj, index){ %>
  44. <p class="form-control-static">
  45. <a class="pull-right text-danger remove-lib" data-model="glj" title="移除" data-id="<%= glj.id %>">
  46. <span class="glyphicon glyphicon-remove"></span>
  47. </a>
  48. <input type="hidden" name="glj_lib" data-id="<%= glj.id %>" value="<%= JSON.stringify({id: glj.id, name: glj.name}) %>">
  49. <% if (index === 0) {%><i class="glyphicon glyphicon-flag"></i>&nbsp;<% } %><%= glj.name %>
  50. </p>
  51. <% }) %>
  52. <% } %>
  53. </div>
  54. <a href="#" class="btn btn-link btn-sm add-compilation" data-model="glj">添加</a>
  55. </div>
  56. <div class="form-group col-md-3">
  57. <label>清单指引库</label>
  58. <div class="billsGuidance-list">
  59. <% if (Object.keys(libData).length > 0 && libData.billsGuidance_lib.length > 0) { %>
  60. <% libData.billsGuidance_lib.forEach(function (billsGuidance, index){ %>
  61. <p class="form-control-static">
  62. <a class="pull-right text-danger remove-lib" data-model="billsGuidance" title="移除" data-id="<%= billsGuidance.id %>">
  63. <span class="glyphicon glyphicon-remove"></span>
  64. </a>
  65. <input type="hidden" name="billsGuidance_lib" data-id="<%= billsGuidance.id %>" value="<%= JSON.stringify({id: billsGuidance.id, name: billsGuidance.name}) %>">
  66. <% if (index === 0) {%><i class="glyphicon glyphicon-flag"></i>&nbsp;<% } %><%= billsGuidance.name %>
  67. </p>
  68. <% }) %>
  69. <% } %>
  70. </div>
  71. <a href="#" class="btn btn-link btn-sm add-compilation" data-model="billsGuidance">添加</a>
  72. </div>
  73. <div class="form-group col-md-3">
  74. <label>人工系数</label>
  75. <div class="artificial-list">
  76. <% if (Object.keys(libData).length > 0 && libData.artificial_lib.length > 0) { %>
  77. <% libData.artificial_lib.forEach(function (artificial, index){ %>
  78. <p class="form-control-static">
  79. <a class="pull-right text-danger remove-lib" data-model="artificial" title="移除" data-id="<%= artificial.id %>">
  80. <span class="glyphicon glyphicon-remove"></span>
  81. </a>
  82. <input type="hidden" name="artificial_lib" data-id="<%= artificial.id %>" value="<%= JSON.stringify({id: artificial.id, name: artificial.name}) %>">
  83. <% if (index === 0) {%><i class="glyphicon glyphicon-flag"></i>&nbsp;<% } %><%= artificial.name %>
  84. </p>
  85. <% }) %>
  86. <% } %>
  87. </div>
  88. <a href="#" class="btn btn-link btn-sm add-compilation" data-model="artificial">添加</a>
  89. </div>
  90. </div>
  91. <div class="row">
  92. <div class="form-group col-md-3">
  93. <label>工程特征</label>
  94. <div class="feature-list">
  95. <% if (Object.keys(libData).length > 0 && libData.feature_lib && libData.feature_lib.length > 0) { %>
  96. <% libData.feature_lib.forEach(function (feature, index){ %>
  97. <p class="form-control-static">
  98. <a class="pull-right text-danger remove-lib" data-model="feature" title="移除" data-id="<%= feature.id %>">
  99. <span class="glyphicon glyphicon-remove"></span>
  100. </a>
  101. <input type="hidden" name="feature_lib" data-id="<%= feature.id %>" value="<%= JSON.stringify({id: feature.id, name: feature.name}) %>">
  102. <% if (index === 0) {%><i class="glyphicon glyphicon-flag"></i>&nbsp;<% } %><%= feature.name %>
  103. </p>
  104. <% }) %>
  105. <% } %>
  106. </div>
  107. <a href="#" class="btn btn-link btn-sm add-compilation" data-model="feature">添加</a>
  108. </div>
  109. <div class="form-group col-md-3">
  110. <label>基本信息</label>
  111. <div class="info-list">
  112. <% if (Object.keys(libData).length > 0 && libData.info_lib && libData.info_lib.length > 0) { %>
  113. <% libData.info_lib.forEach(function (info, index){ %>
  114. <p class="form-control-static">
  115. <a class="pull-right text-danger remove-lib" data-model="info" title="移除" data-id="<%= info.id %>">
  116. <span class="glyphicon glyphicon-remove"></span>
  117. </a>
  118. <input type="hidden" name="info_lib" data-id="<%= info.id %>" value="<%= JSON.stringify({id: info.id, name: info.name}) %>">
  119. <% if (index === 0) {%><i class="glyphicon glyphicon-flag"></i>&nbsp;<% } %><%= info.name %>
  120. </p>
  121. <% }) %>
  122. <% } %>
  123. </div>
  124. <a href="#" class="btn btn-link btn-sm add-compilation" data-model="info">添加</a>
  125. </div>
  126. <div class="form-group col-md-3">
  127. <label>累进区间</label>
  128. <div class="progressive-list">
  129. <% if (Object.keys(libData).length > 0 && libData.progressive_lib && libData.progressive_lib.length > 0) { %>
  130. <% libData.progressive_lib.forEach(function (progressive, index){ %>
  131. <p class="form-control-static">
  132. <a class="pull-right text-danger remove-lib" data-model="progressive" title="移除" data-id="<%= progressive.id %>">
  133. <span class="glyphicon glyphicon-remove"></span>
  134. </a>
  135. <input type="hidden" name="progressive_lib" data-id="<%= progressive.id %>" value="<%= JSON.stringify({id: progressive.id, name: progressive.name}) %>">
  136. <% if (index === 0) {%><i class="glyphicon glyphicon-flag"></i>&nbsp;<% } %><%= progressive.name %>
  137. </p>
  138. <% }) %>
  139. <% } %>
  140. </div>
  141. <a href="#" class="btn btn-link btn-sm add-compilation" data-model="progressive">添加</a>
  142. </div>
  143. <div class="form-group col-md-3">
  144. <label>车船税</label>
  145. <div class="vvTax-list">
  146. <% if (Object.keys(libData).length > 0 && libData.vvTax_lib && libData.vvTax_lib.length > 0) { %>
  147. <% libData.vvTax_lib.forEach(function (vvTax, index){ %>
  148. <p class="form-control-static">
  149. <a class="pull-right text-danger remove-lib" data-model="vvTax" title="移除" data-id="<%= vvTax.id %>">
  150. <span class="glyphicon glyphicon-remove"></span>
  151. </a>
  152. <input type="hidden" name="vvTax_lib" data-id="<%= vvTax.id %>" value="<%= JSON.stringify({id: vvTax.id, name: vvTax.name}) %>">
  153. <% if (index === 0) {%><i class="glyphicon glyphicon-flag"></i>&nbsp;<% } %><%= vvTax.name %>
  154. </p>
  155. <% }) %>
  156. <% } %>
  157. </div>
  158. <a href="#" class="btn btn-link btn-sm add-compilation" data-model="vvTax">添加</a>
  159. </div>
  160. </div>
  161. <div class="row">
  162. <div class="form-group col-md-3">
  163. <label>递延清单库</label>
  164. <div class="billCode-list">
  165. <% if (Object.keys(libData).length > 0 && libData.billCode_lib && libData.billCode_lib.length > 0) { %>
  166. <% libData.billCode_lib.forEach(function (billCode, index){ %>
  167. <p class="form-control-static">
  168. <a class="pull-right text-danger remove-lib" data-model="billCode" title="移除" data-id="<%= billCode.id %>">
  169. <span class="glyphicon glyphicon-remove"></span>
  170. </a>
  171. <input type="hidden" name="billCode_lib" data-id="<%= billCode.id %>" value="<%= JSON.stringify({id: billCode.id, name: billCode.name}) %>">
  172. <% if (index === 0) {%><i class="glyphicon glyphicon-flag"></i>&nbsp;<% } %><%= billCode.name %>
  173. </p>
  174. <% }) %>
  175. <% } %>
  176. </div>
  177. <a href="#" class="btn btn-link btn-sm add-compilation" data-model="billCode">添加</a>
  178. </div>
  179. </div>
  180. <div class="col-md-12">
  181. <a data-toggle="modal" data-target="#other_setting" class="btn btn-primary btn-sm " style="margin-right:5px">显示设置</a>
  182. </div>
  183. <div class="col-md-12" style="padding-top:20px">
  184. <legend>计算程序/清单模板/列设置/费率标准</legend>
  185. <a data-toggle="modal" data-target="#addTaxGroup" class="btn btn-link btn-sm " id="addTaxGroupBtn" style="margin-right:5px">添加</a>
  186. <table class="table engineer_table">
  187. <thead>
  188. <tr>
  189. <th>计税方式</th>
  190. <th>计算程序</th>
  191. <th>清单模板</th>
  192. <th>列设置</th>
  193. <th>费率标准</th>
  194. <th>操作</th>
  195. </tr>
  196. </thead>
  197. <tbody id="tax_group_tbody">
  198. <% if (Object.keys(libData).length > 0 && libData.tax_group.length > 0) { %>
  199. <% for(let tax of libData.tax_group) {%>
  200. <% let groupIndex = "";%>
  201. <tr class='taxGroup_tr'>
  202. <td>
  203. <% if(tax.taxType === "1") { %>
  204. <% groupIndex = groupIndex + tax.taxType;%>
  205. <span>一般计税</span>
  206. <% } else if(tax.taxType === "2"){%>
  207. <% groupIndex = groupIndex + tax.taxType;%>
  208. <span>简易计税</span>
  209. <% } %>
  210. </td>
  211. <td>
  212. <% if(tax.program_lib && tax.program_lib.id) { %>
  213. <% groupIndex = groupIndex + tax.program_lib.id;%>
  214. <span><%= tax.program_lib.displayName%></span>
  215. <% } %>
  216. </td>
  217. <td>
  218. <% if(tax.template_lib && tax.template_lib.id) { %>
  219. <% groupIndex = groupIndex + tax.template_lib.id;%>
  220. <span><%= tax.template_lib.name%></span>
  221. <% } %>
  222. </td>
  223. <td>
  224. <% if(tax.col_lib && tax.col_lib.id) { %>
  225. <% groupIndex = groupIndex + tax.col_lib.id;%>
  226. <span><%= tax.col_lib.name%></span>
  227. <% } %>
  228. </td>
  229. <td>
  230. <% if(tax.fee_lib && tax.fee_lib.id) { %>
  231. <% groupIndex = groupIndex + tax.fee_lib.id;%>
  232. <span><%= tax.fee_lib.name%></span>
  233. <% } %>
  234. </td>
  235. <td><a class='btn btn-link btn-sm ' style="padding: 0px" onclick='editTaxGroup(this)'>编辑</a>/<a class='btn btn-link btn-sm ' style="padding: 0px" onclick='deleteTableTr(this,"taxGroup_tr")'>删除</a>
  236. <input type='hidden' name='tax_group' data-id ="<%= groupIndex%>" value="<%= JSON.stringify(tax) %>">
  237. </td>
  238. </tr>
  239. <% } %>
  240. <% } %>
  241. </tbody>
  242. </table>
  243. </div>
  244. <div class="col-md-12" style="padding-top:20px">
  245. <legend>定额库</legend>
  246. <a data-toggle="modal" data-target="#addRation" class="btn btn-link btn-sm " id="addRatioBtn" style="margin-right:5px">添加</a>
  247. <a data-toggle="modal" data-target="#copy-lib" class="btn btn-link btn-sm " style="margin-right:5px">复制到</a>
  248. <table class="table engineer_table">
  249. <thead>
  250. <tr>
  251. <th>定额库名称</th>
  252. <th>默认</th>
  253. <th>操作</th>
  254. </tr>
  255. </thead>
  256. <tbody id="ration_tbody">
  257. <% if (Object.keys(libData).length > 0 && libData.ration_lib.length > 0) { %>
  258. <% libData.ration_lib.forEach(function (ration, index){ %>
  259. <tr class='ration_tr' draggable="true">
  260. <td>
  261. <span class="cursor-default"><%= ration.name%></span>
  262. </td>
  263. <td>
  264. <label class="form-check-label">
  265. <% if(ration.isDefault == true){%>
  266. <input class="form-check-input" name="ration_isDefault" checked value="<%= ration.id %>" type="radio">
  267. <% }else{ %>
  268. <input class="form-check-input" name="ration_isDefault" value="<%= ration.id %>" type="radio">
  269. <% } %>
  270. </label>
  271. </td>
  272. <td><a class='btn btn-link btn-sm ' style="padding: 0px" onclick='deleteTableTr(this,"ration_tr")'>删除</a>
  273. <input type="hidden" name="ration_lib" data-id="<%= ration.id %>" value="<%= JSON.stringify(ration) %>">
  274. </td>
  275. </tr>
  276. <% }) %>
  277. <% } %>
  278. </tbody>
  279. </table>
  280. </div>
  281. </div>
  282. <input type="hidden" name="glj_col" value="<%= gljCol %>" id="glj_col">
  283. <input type="hidden" name="isInstall" value="<%= libData.isInstall %>" id="isInstall">
  284. <input type="hidden" name="engineering" value="<%= libData.engineering %>" id="engineering">
  285. <input type="hidden" name="section" value="<%= section %>" id="section">
  286. <input type="hidden" name="id" value="<%= libData._id.toString()%>">
  287. </div>
  288. </form>
  289. </div>
  290. </div>
  291. </div>
  292. <script type="text/javascript">
  293. let billList = '<%- billList %>';
  294. let rationList = '<%- rationList %>';
  295. let gljList = '<%- gljList %>';
  296. let feeRateList = '<%- feeRateList %>';
  297. let artificialCoefficientList = '<%- artificialCoefficientList %>';
  298. let programList = '<%- calculationList %>';
  299. let billsTemplateData = '<%- billsTemplateData %>';
  300. let billsGuidanceList = '<%- billsGuidanceList %>';
  301. let gljCol = '<%- gljCol %>';
  302. let billTemplateList = '<%- billTemplateList %>';
  303. let mainTreeColList = '<%- mainTreeColList %>';
  304. let featureList = '<%- featureList %>';
  305. let infoList = '<%- infoList %>';
  306. let progressiveList = '<%- progressiveList %>';
  307. let vvTaxList = '<%- vvTaxList %>';
  308. let billCodeList = '<%- billCodeList %>';
  309. let colSpread = null;
  310. let colEditSpread = null;
  311. </script>
  312. <script type="text/javascript" src="/public/web/id_tree.js"></script>
  313. <script type="text/javascript" src="/public/web/tree_sheet/tree_sheet_helper.js"></script>
  314. <script type="text/javascript" src="/web/users/js/compilation.js"></script>
  315. <%include ../compilation/modal.html %>