cert.ejs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <% include ./sub_menu.ejs %>
  2. <div class="panel-content" id="app">
  3. <div class="panel-title">
  4. <div class="title-main d-flex justify-content-between">
  5. <div class="d-inline-block">
  6. <div class="btn-group group-tab">
  7. <a class="btn btn-sm btn-light" href="/profile/info">
  8. 账号资料
  9. </a>
  10. <a class="btn btn-sm btn-light active" href="javascript:void(0);">
  11. 证书信息
  12. </a>
  13. </div>
  14. </div>
  15. </div>
  16. </div>
  17. <div class="content-wrap">
  18. <div class="c-body">
  19. <div class="sjs-height-0">
  20. <div class="row m-0 mt-3">
  21. <div class="col-12">
  22. <a href="javascript:void(0);" id="addCert">+添加证书</a>
  23. <div class="row mb-3" id="certs">
  24. <% if (certList.length > 0) { %>
  25. <% for (const [i,c] of certList.entries()) { %>
  26. <div class="col-6 mt-3 one-cert" data-cid="<%- c.id %>">
  27. <div class="card">
  28. <div class="modal-header">
  29. <b>证书信息<span class="cert-num"><%- certList.length-i %></span></b>
  30. <div class="pull-right">
  31. <a href="#del-cert" data-cid="<%- c.id %>" data-jxid="" data-toggle="modal" data-target="#del-cert" class="del-cert-btn text-danger">删除</a>
  32. </div>
  33. </div>
  34. <div class="card-body">
  35. <b>持证情况:</b>
  36. <div class="m-3 one-cert-msg">
  37. <div class="form-group row">
  38. <label for="uname" class="ml-3 col-form-label">证件名称:</label>
  39. <div class="row col-sm-10 pr-0">
  40. <div class="col-6 pr-0">
  41. <select class="form-control form-control-sm select-cert-type" data-type="type">
  42. <option value="0">请选择</option>
  43. <% for (const t of certTypeConst) { %>
  44. <option value="<%- t.value %>" <% if (c.type === t.value) { %>selected<% } %>><%- t.name %></option>
  45. <% } %>
  46. </select>
  47. </div>
  48. <div class="col-6 pr-0">
  49. <select class="form-control form-control-sm select-cert-name" data-type="name">
  50. <% if (c.type) { %>
  51. <% for (const q of certSourceConst[ctx.helper.showCol4ObjArray(certTypeConst, c.type, 'value', 'source')]) { %>
  52. <option value="<%- q.value %>" <% if (c.name === q.value) { %>selected<% } %>><%- q.name %></option>
  53. <% } %>
  54. <% } else { %>
  55. <option value="0">请选择</option>
  56. <% } %>
  57. </select>
  58. </div>
  59. </div>
  60. </div>
  61. <div class="form-group row">
  62. <label for="uname" class="ml-3 col-form-label">证件编号:</label>
  63. <div class="col-sm-10">
  64. <input type="text" class="form-control form-control-sm" data-type="code" value="<%- c.code %>">
  65. </div>
  66. </div>
  67. <div class="form-group row">
  68. <label for="uname" class="ml-3 col-form-label">注册单位:</label>
  69. <div class="col-sm-10">
  70. <input type="text" class="form-control form-control-sm" data-type="reg_unit" value="<%- c.reg_unit %>">
  71. </div>
  72. </div>
  73. <div class="form-group row">
  74. <label for="uname" class="ml-3 col-form-label">技术职称:</label>
  75. <div class="col-sm-10">
  76. <input type="text" class="form-control form-control-sm" data-type="job_title" value="<%- c.job_title %>">
  77. </div>
  78. </div>
  79. <div class="form-group row">
  80. <label for="uname" class="ml-3 col-form-label">证书附件:</label>
  81. <div class="col-sm-10 file-show">
  82. <% if (c.file_path) { %>
  83. <div class="col-form-label">
  84. <a href="<%- fujianOssPath + c.file_path %>" target="_blank"><%- c.file_name %></a> &nbsp;<a href="#del-cert" data-cid="<%- c.id %>" data-jxid="" data-filename="<%- c.file_name %>" data-toggle="modal" data-target="#del-cert" class="del-cert-btn text-danger">删除</a>
  85. </div>
  86. <% } else { %>
  87. <input type="file" class="cert-file-upload">
  88. <% } %>
  89. </div>
  90. </div>
  91. </div>
  92. <div>
  93. <b>继续教育情况:</b>
  94. <div class="pull-right">
  95. <a href="javascript:void(0);" class="add-jx-btn">+添加</a>
  96. </div>
  97. <div class="all-jx">
  98. <% if (c.edu_json.length > 0) { %>
  99. <% for (const [j, e] of c.edu_json.reverse().entries()) { %>
  100. <div class="one-jx" data-jxid="<%- e.id %>">
  101. <div class="card mt-3">
  102. <div class="modal-header">
  103. <b>继续教育<span class="jx-num"><%- c.edu_json.length-j %></span></b>
  104. <div class="pull-right">
  105. <a href="#del-cert" data-cid="<%- c.id %>" data-jxid="<%- e.id %>" data-toggle="modal" data-target="#del-cert" class="del-cert-btn text-danger">删除</a>
  106. </div>
  107. </div>
  108. <div class="card-body">
  109. <div class="form-group row">
  110. <label for="uname" class="ml-3 col-form-label">培训时间:</label>
  111. <div class="col-sm-10">
  112. <input data-language="zh" data-old-date="<%- e.date %>" data-type="date" placeholder="请选择时间" type="text" data-range="true" data-multiple-dates-separator=" ~ " class="jx-date datepicker-here form-control form-control-sm" value="<%- e.date %>">
  113. </div>
  114. </div>
  115. <div class="form-group row">
  116. <label for="uname" class="ml-3 col-form-label">培训单位:</label>
  117. <div class="col-sm-10">
  118. <input type="text" class="form-control form-control-sm" data-type="unit" value="<%- e.unit %>">
  119. </div>
  120. </div>
  121. <div class="form-group row">
  122. <label for="uname" class="ml-3 col-form-label">培训证明:</label>
  123. <div class="col-sm-10 file-show">
  124. <% if (e.file_path) { %>
  125. <div class="col-form-label">
  126. <a href="<%- fujianOssPath + e.file_path %>" target="_blank"><%- e.file_name %></a> &nbsp;<a href="#del-cert" data-cid="<%- c.id %>" data-jxid="<%- e.id %>" data-filename="<%- e.file_name %>" data-toggle="modal" data-target="#del-cert" class="del-cert-btn text-danger">删除</a>
  127. </div>
  128. <% } else { %>
  129. <input type="file" class="jx-file-upload">
  130. <% } %>
  131. </div>
  132. </div>
  133. </div>
  134. </div>
  135. </div>
  136. <% } %>
  137. <% } %>
  138. </div>
  139. </div>
  140. </div>
  141. </div>
  142. </div>
  143. <% } %>
  144. <% } %>
  145. </div>
  146. </div>
  147. </div>
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. <script>
  153. const certTypeConst = JSON.parse(unescape('<%- escape(JSON.stringify(certTypeConst)) %>'));
  154. const certSourceConst = JSON.parse(unescape('<%- escape(JSON.stringify(certSourceConst)) %>'));
  155. const fujianOssPath = JSON.parse(unescape('<%- escape(JSON.stringify(fujianOssPath)) %>'));
  156. </script>