index.ejs 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <div class="panel-sidebar">
  2. <div class="panel-title">
  3. <div class="title-bar">
  4. <h2 class="">项目节 <a href="#upload" data-toggle="modal" data-target="#upload" class="pull-right mr-3" title="导入项目节"><i class="fa fa-upload"></i></a></h2>
  5. </div>
  6. </div>
  7. <div class="scrollbar-auto">
  8. <div class="nav-box">
  9. <ul id="templateNode" class="ztree"></ul>
  10. </div>
  11. </div>
  12. </div>
  13. <div class="panel-content">
  14. <div class="panel-title">
  15. <div class="title-main">
  16. <h2>
  17. <%= selectNode.code %> <%= selectNode.name %>
  18. <a href="#add-index" data-toggle="modal" data-target="#add-index" class="btn btn-primary btn-sm pull-right">添加指标</a>
  19. </h2>
  20. </div>
  21. </div>
  22. <div class="content-wrap">
  23. <div class="c-body">
  24. <div class="sjs-height-1">
  25. <table class="table table-bordered">
  26. <tr>
  27. <th>指标编号</th>
  28. <th>指标名称</th>
  29. <th colspan="2">指标单位</th>
  30. <th>计算规则</th>
  31. <th>设置规则</th>
  32. </tr>
  33. <% for (const index of selectIndex) { %>
  34. <tr index_id="<%= index.id %>">
  35. <td><%= index.code %></td>
  36. <td><%= index.name %></td>
  37. <td><%= index.unit1 %></td>
  38. <td><%= index.unit2 %></td>
  39. <td name="rule"><%= index.rule %></td>
  40. <td name="parse_rule"><%= index.parse_rule %><a name="setRule" href="#set-count" data-toggle="modal" data-target="#set-count" value="<%- index.calc_rule %>"><i class="fa fa-cog"></i></a></td>
  41. </tr>
  42. <% } %>
  43. </table>
  44. <div class="container-fluid">
  45. <legend class="mt-5">参数设置</legend>
  46. <div class="row">
  47. <div class="col-6">
  48. <div class="card">
  49. <div class="card-body">
  50. <h6 class="card-title"><b>z1 第一部分 建筑安装工程费用</b> 参数</h6>
  51. <table class="table table-sm table-bordered table-hover">
  52. <tr><th>参数名称</th><th>绑定清单<br><small class="text-muted">(为空则在指标库填写具体值)</small></th></tr>
  53. <% for (const n of nodeParams) { %>
  54. <tr><td code="<%= n.code %>"><%= n.name %></td><td><input class="form-control form-control-sm"></td></tr>
  55. <% } %>
  56. </table>
  57. </div>
  58. </div>
  59. </div>
  60. <div class="col-6">
  61. <div class="card border-danger">
  62. <div class="card-body">
  63. <h6 class="card-title text-center">全局参数 </h6>
  64. <table class="table table-sm table-bordered table-hover">
  65. <tr><th colspan="2" class="text-center"><b class="text-danger">*全局参数影响所有指标,谨慎修改</b></th></tr>
  66. <tr><th>参数名称</th><th>绑定清单<br><small class="text-muted">(为空则在指标库填写具体值)</small></th></tr>
  67. <% for (const p of globalParams) { %>
  68. <tr><td code="<%= p.code %>"><%= p.name %></td><td><input class="form-control form-control-sm"></td></tr>
  69. <% } %>
  70. </table>
  71. </div>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. </div>
  80. <script type="text/javascript">
  81. const treeSetting = {
  82. treeId: 'template',
  83. view: {showIcon: false},
  84. data: {
  85. key: {
  86. name: 'text',
  87. }
  88. }
  89. };
  90. const selectNode = '<%- selectNode.node_id %>';
  91. const treeNode = '<%- nodes %>';
  92. $(document).ready(function(){
  93. const loadText = function (arr) {
  94. for (const a of arr) {
  95. a.text = a.code + ' ' + a.name;
  96. if (a.children && a.children.length > 0) {
  97. loadText(a.children);
  98. }
  99. }
  100. }
  101. const treeNodeData = treeNode !== '' ? JSON.parse(treeNode) : [];
  102. loadText(treeNodeData);
  103. const treeObj = $.fn.zTree.init($("#templateNode"), treeSetting, treeNodeData);
  104. const node = treeObj.getNodeByParam('node_id', selectNode);
  105. treeObj.selectNode(node);
  106. });
  107. </script>