audit.ejs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <div class="panel-content">
  2. <div class="panel-title fluid">
  3. <div class="title-main d-flex justify-content-between">
  4. <div></div>
  5. <div>
  6. <a href="#sp-done" data-toggle="modal" data-target="#sp-done" class="btn btn-success btn-sm pull-right">审批通过</a>
  7. <a href="#sp-back" data-toggle="modal" data-target="#sp-back" class="btn btn-warning btn-sm pull-right">审批退回</a>
  8. </div>
  9. </div>
  10. </div>
  11. <div class="content-wrap row pr-46">
  12. <div class="c-header p-0 col-12">
  13. </div>
  14. <!--核心内容(两栏)-->
  15. <div class="row w-100 sub-content">
  16. <!--左栏-->
  17. <div class="c-body col-12">
  18. <div class="sjs-height-1" id="ledger-spread">
  19. </div>
  20. </div>
  21. <!--右栏-->
  22. <div class="c-body col-0" style="display: none;">
  23. <div class="tab-content">
  24. <div id="deal-bills" class="tab-pane">
  25. <div class="sjs-height-1" id="deal-bills-spread">
  26. </div>
  27. </div>
  28. <div id="opinion" class="tab-pane">
  29. <div class="side-bar">
  30. <select class="form-control form-control-sm">
  31. <% for (const a of auditors) { %>
  32. <option value="<%- a.audit_id %>"><%- a.name %></option>
  33. <% } %>
  34. </select>
  35. </div>
  36. <div class="sjs-height-2" style="overflow:auto">
  37. <% if (curAuditor && curAuditor.audit_id === ctx.session.sessionUser.accountId) { %>
  38. <div class="card my-3">
  39. <div class="card-header">添加清单意见</div>
  40. <div class="card-body">
  41. <!--无清单 提示添加清单-->
  42. <div class="alert alert-primary px-2 py-1" role="alert">
  43. 台帐清单右键,添加至"清单意见"
  44. </div>
  45. <!--已添加清单-->
  46. <table class="table table-sm table-bordered mb-2" id="rela_bills">
  47. </table>
  48. <textarea class="form-control" placeholder="审批内容" id="content"></textarea>
  49. <div class="alert alert-warning px-2 py-1 mt-2 mb-1" role="alert" id="opinionHint">
  50. 请填写审批内容。
  51. </div>
  52. <div class="alert alert-warning px-2 py-1 mt-2 mb-1" role="alert" id="billsHint">
  53. 至少需要一条清单。
  54. </div>
  55. <button class="btn btn-sm btn-primary mt-1" id="addContent">添加</button>
  56. </div>
  57. </div>
  58. <% } %>
  59. <legend><%- auditors[0].name %> 清单意见</legend>
  60. <% for (const c of content) { %>
  61. <div name="auditContent" class="card my-3">
  62. <div class="card-body">
  63. <table class="table table-sm table-bordered mb-2">
  64. <% const bills = JSON.parse(c.rela_bills); %>
  65. <% for (const b of bills) { %>
  66. <tr bid="<%- b.ledger_id %>"><td><%- b.code ? b.code : b.b_code %></td><td><%- b.name %></td></tr>
  67. <% } %>
  68. </table>
  69. <p><%- c.content %></p>
  70. <span class="text-muted"><%- c.in_time.toLocaleString() %></span>
  71. </div>
  72. </div>
  73. <% } %>
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. <!--右侧菜单-->
  80. <div class="side-menu">
  81. <!--右侧菜单-->
  82. <ul class="nav flex-column right-nav">
  83. <li class="nav-item">
  84. <a class="nav-link" href="javascript: void(0);" role="tab" content="#deal-bills">签约清单</a>
  85. </li>
  86. <li class="nav-item">
  87. <a class="nav-link" href="javascript: void(0);" role="tab" content="#opinion">清单意见</a>
  88. </li>
  89. </ul>
  90. </div>
  91. </div>
  92. </div>
  93. <script type="text/javascript">
  94. let ledger = '<%- ledger %>';
  95. ledger = JSON.parse(ledger);
  96. let ledgerSpreadSetting = '<%- ledgerSpreadSetting %>';
  97. ledgerSpreadSetting = JSON.parse(ledgerSpreadSetting);
  98. ledgerSpreadSetting.readOnly = <%- readOnly %>;
  99. const userName = '<%- ctx.session.sessionUser.name %>';
  100. </script>
  101. <script src="/public/js/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js"></script>
  102. <script>
  103. GC.Spread.Sheets.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";
  104. </script>
  105. <script src="/public/js/spreadjs_rela/spreadjs_zh<%= min %>.js"></script>
  106. <script src="/public/js/path_tree<%= min %>.js"></script>
  107. <script src="/public/js/ledger_audit.js"></script>