approveForm.html 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  7. <title>审核表单</title>
  8. <link rel="stylesheet" href="../../assets/libs/layui/css/layui.css"/>
  9. <link rel="stylesheet" href="../../assets/module/admin.css?v=312"/>
  10. <style>
  11. .form-btn-group {
  12. text-align: right;
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <!-- 页面加载loading -->
  18. <div class="page-loading">
  19. <div class="ball-loader">
  20. <span></span><span></span><span></span><span></span>
  21. </div>
  22. </div>
  23. <!-- 正文开始 -->
  24. <div class="layui-fluid">
  25. <div class="layui-row">
  26. <div class="grid-demo">
  27. <div class="layui-card">
  28. <div class="layui-card-header">
  29. 审核表单
  30. </div>
  31. <div class="layui-card-body">
  32. <form class="layui-form" lay-filter="formData">
  33. <div class="layui-form-item layui-form-text">
  34. <label class="layui-form-label">评审内容</label>
  35. <div class="layui-input-block">
  36. <textarea name="approvalComments" rows="6" placeholder="请输入内容"
  37. class="layui-textarea"></textarea>
  38. </div>
  39. </div>
  40. <div class="layui-form-item" id="approver">
  41. <label class="layui-form-label" id="approverName">审批人</label>
  42. <div class="layui-input-block">
  43. <select name="deptLeader" id="approverList">
  44. </select>
  45. </div>
  46. </div>
  47. <div class="layui-form-item">
  48. <div class="layui-input-block form-btn-group">
  49. <button class="layui-btn layui-btn-normal" lay-even="1" lay-submit id="agree">同&nbsp;&nbsp;意</button>
  50. <button class="layui-btn layui-btn-danger" lay-submit id="reject">拒&nbsp;&nbsp;绝
  51. </button>
  52. </div>
  53. </div>
  54. </form>
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. <!-- js部分 -->
  61. <script type="text/javascript" src="../../assets/libs/layui/layui.js"></script>
  62. <script type="text/javascript" src="../../assets/js/common.js?v=312"></script>
  63. <script>
  64. </script>
  65. <script>
  66. layui.use(['layer', 'form', 'table', 'laydate', 'util', 'upload', 'zTree', 'admin', 'uParas', 'element', 'baseCache'], function () {
  67. var $ = layui.jquery;
  68. var layer = layui.layer;
  69. var form = layui.form;
  70. var admin = layui.admin;
  71. var uParas = layui.uParas;
  72. var element = layui.element, laydate = layui.laydate;
  73. /**
  74. * @Author: NanKeYang
  75. * @Description: 用户操作必带参数
  76. * @Data: 2020/1/8 15:17
  77. */
  78. var aId = layui.baseCache.getAId();
  79. var cId = layui.baseCache.getCId();
  80. var id = uParas.getUrlParam("id");
  81. var approveFlag, reqData;
  82. /**
  83. * @Author: NanKeYang
  84. * @Description: 添加成功和拒绝参数
  85. * @Data: 2020/1/9 15:46
  86. */
  87. $('#agree').click(function () {
  88. approveFlag = 1;
  89. })
  90. $('#reject').click(function () {
  91. approveFlag = 0;
  92. })
  93. /**
  94. * @Author: NanKeYang
  95. * @Description: 提交申请
  96. * @Data: 2020/1/9 15:48
  97. */
  98. form.on('submit(formData)', function (data) {
  99. var formData = form.val("formData");
  100. if (approveFlag === 1 && formData.deptLeader.length <= 0 && reqData.taskName === '部门领导审批') {
  101. layer.msg('请选择审批人');
  102. return false
  103. }
  104. let reqFormData;
  105. if (reqData.taskName === '部门领导审批') {
  106. reqFormData = {
  107. aId: aId,
  108. cId: cId,
  109. taskId: reqData.taskId,
  110. p_B_deptLeaderApproved: approveFlag === 1 ? true : false,
  111. p_S_hr: formData.deptLeader,
  112. message: formData.approvalComments
  113. }
  114. if (approveFlag === 0) {
  115. delete reqFormData['p_S_hr'];
  116. } else {
  117. if (this.deptLeader === '') {
  118. Toast.info('请选择审批人');
  119. return false;
  120. }
  121. }
  122. } else if (reqData.taskName === '人事审批') {
  123. reqFormData = {
  124. aId: aId,
  125. cId: cId,
  126. taskId: reqData.taskId,
  127. p_B_hrApproved: approveFlag === 1 ? true : false,
  128. message: formData.approvalComments,
  129. p_S_applyUserId: reqData.createdBy + '#自己'
  130. }
  131. } else if (this.reqData.taskName === '销假') {
  132. // reqFormData = {
  133. // aId: aId,
  134. // cId: cId,
  135. // }
  136. }
  137. var load = layer.load();
  138. $.ajax({
  139. type: "post",
  140. url: uParas.baseUrl + "/3rd/flow/approve",
  141. data: reqFormData,
  142. error: function (request) {
  143. layer.close(load);
  144. layer.alert('操作失败', {
  145. icon: 2,
  146. title: "提示"
  147. });
  148. },
  149. success: function (resp) {
  150. const {code, data, msg} = resp;
  151. layer.close(load);
  152. if (code == 1) {
  153. layer.msg('操作成功', {offset: ['50%'], time: 2000}, function () {
  154. parent.layer.closeAll();
  155. });
  156. } else {
  157. layer.msg(msg);
  158. }
  159. }
  160. });
  161. return false;
  162. });
  163. $.ajax({
  164. type: "get",
  165. url: uParas.baseUrl + "/3rd/flow/getUsers",
  166. data: {
  167. aId: aId,
  168. cId: cId
  169. },
  170. error: function (request) {
  171. layer.alert('操作失败', {
  172. icon: 2,
  173. title: "提示"
  174. });
  175. },
  176. success: function (resp) {
  177. const {code, data, msg} = resp;
  178. if (code == 1) {
  179. var optionsStr = `<option value="">请选择审批人</option>`;
  180. // approverList = [];
  181. // 提交要格式 => ID#名称
  182. data.forEach(function (item, index) {
  183. optionsStr += `<option value="${item.aId + '#' + item.accountRealName}">${item.accountRealName}</option>`
  184. })
  185. $('#approverList').append(optionsStr);
  186. form.render("select");
  187. } else {
  188. layer.msg(msg);
  189. }
  190. }
  191. });
  192. $.ajax({
  193. type: "get",
  194. url: uParas.baseUrl + "/3rd/flow/queryById",
  195. data: {
  196. aId: aId,
  197. cId: cId,
  198. id: id
  199. },
  200. error: function (request) {
  201. layer.alert('操作失败', {
  202. icon: 2,
  203. title: "提示"
  204. });
  205. },
  206. success: function (resp) {
  207. const {code, data, msg} = resp;
  208. if (code == 1) {
  209. reqData = data;
  210. if (data.taskName === "部门领导审批") {
  211. $('#approverName').text("人事审批")
  212. } else if (data.taskName === "人事审批") {
  213. $('#approver').hide();
  214. }
  215. } else {
  216. layer.msg(msg);
  217. }
  218. }
  219. });
  220. });
  221. </script>
  222. </body>
  223. </html>