add.html 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. {extend name="../../base/view/common/base" /}
  2. <!-- 主体 -->
  3. {block name="body"}
  4. <form class="layui-form p-4">
  5. <h3 class="pb-3">添加报销申请</h3>
  6. <table class="layui-table layui-table-form">
  7. <tr>
  8. <td class="layui-td-gray-2">报销员工</td>
  9. <td>{$user.name}</td>
  10. <td class="layui-td-gray">报销部门</td>
  11. <td>{$user.department}</td>
  12. <td class="layui-td-gray">报销主体</td>
  13. <td>
  14. <select name="subject_id" lay-verify="required" lay-reqText="请选择报销主体">
  15. <option value="">请选择报销主体</option>
  16. {volist name=":get_base_data('enterprise')" id="vo"}
  17. <option value="{$vo.id}">{$vo.title}</option>
  18. {/volist}
  19. </select>
  20. </td>
  21. </tr>
  22. <tr>
  23. <td class="layui-td-gray">凭证编号<font>*</font></td>
  24. <td><input type="text" name="code" value="{$codeno}" {eq name="$is_codeno" value="1"}readonly{/eq} lay-verify="required" placeholder="请输入报销凭证编号" lay-reqText="请填写报销凭证编号" class="layui-input" value=""></td>
  25. <td class="layui-td-gray">单据日期<font>*</font></td>
  26. <td><input type="text" class="layui-input tool-time" name="expense_time" lay-verify="required" placeholder="请选择原始单据日期" lay-reqText="请选择原始单据日期" readonly value="">
  27. </td>
  28. <td class="layui-td-gray">入账月份<font>*</font></td>
  29. <td><input type="text" class="layui-input tool-time" data-type="month" name="income_month" lay-verify="required" placeholder="请选择入账月份" lay-reqText="请选择入账月份" readonly value=""></td>
  30. </tr>
  31. <tr>
  32. <td class="layui-td-gray">关联项目</td>
  33. <td colspan="5">
  34. <input type="text" class="layui-input picker-oa" data-types="project" name="ptname" placeholder="请选择需要关联的项目" readonly value="">
  35. <input type="hidden" class="layui-input" name="project_id" value="0">
  36. </td>
  37. </tr>
  38. <tr>
  39. <td class="layui-td-gray">冲抵借支</td>
  40. <td colspan="5">
  41. <input type="text" class="layui-input picker-oa" data-types="loan" name="loan" placeholder="请选择需要冲抵借支记录" readonly value="">
  42. <input type="hidden" class="layui-input" name="loan_id" value="0">
  43. </td>
  44. </tr>
  45. <tr>
  46. <td class="layui-td-gray">报销选项<font>*</font></td>
  47. <td colspan="5">
  48. <table id="interfix" class="layui-table layui-table-min" style="margin:0;">
  49. <tr>
  50. <th width="100">报销金额</th>
  51. <th width="120">报销项目</th>
  52. <th>备注信息</th>
  53. <th width="60">操作</th>
  54. </tr>
  55. <tr class="more_interfix">
  56. <td><input type="text" name="amount[]" value="" class="layui-input" lay-verify="required|number" lay-reqText="请完善报销金额"></td>
  57. <td style="text-align:left">
  58. <select name="cate_id[]" lay-verify="required" lay-reqText="请选择报销项目">
  59. <option value="">请选择</option>
  60. {volist name="$expense_cate" id="vo"}
  61. <option value="{$vo.id}">{$vo.title}</option>
  62. {/volist}
  63. </select>
  64. </td>
  65. <td><input type="text" name="remarks[]" class="layui-input" value=""><input type="hidden" name="expense_id[]" class="layui-input" value="0"></td>
  66. <td><a class="layui-btn layui-btn-danger layui-btn-xs" data-id="0" lay-event="del">删除</a></td>
  67. </tr>
  68. </table>
  69. <div class="pt-2">
  70. <button class="layui-btn layui-btn-sm" type="button" id="addInterfix">+ 报销选项</button>
  71. </div>
  72. </td>
  73. </tr>
  74. <tr>
  75. <td class="layui-td-gray">
  76. <div class="layui-input-inline">附件</div>
  77. <div class="layui-input-inline"><button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button></div>
  78. </td>
  79. <td colspan="5">
  80. <div class="layui-row" id="uploadBox">
  81. <input type="hidden" data-type="file" name="file_ids" value="">
  82. </div>
  83. </td>
  84. </tr>
  85. </table>
  86. <div id="checkBox" data-status="0" data-id="0" data-checkflowid="0" class="pt-3"></div>
  87. <div class="pt-4">
  88. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">保存并提交审核</button>
  89. <button type="reset" class="layui-btn layui-btn-primary">重置</button>
  90. </div>
  91. </form>
  92. <div id="selectTem" style="display:none;">
  93. <select name="cate_id[]" lay-verify="required" lay-reqText="请选择报销项目">
  94. <option value="">请选择</option>
  95. {volist name="$expense_cate" id="vo"}
  96. <option value="{$vo.id}">{$vo.title}</option>
  97. {/volist}
  98. </select>
  99. </div>
  100. {/block}
  101. <!-- /主体 -->
  102. <!-- 脚本 -->
  103. {block name="script"}
  104. <script>
  105. const moduleInit = ['tool','oaPicker','uploadPlus','oaCheck'];
  106. function gouguInit() {
  107. var form = layui.form,tool=layui.tool,table=layui.table,uploadPlus = layui.uploadPlus,oaCheck = layui.oaCheck;
  108. //相关附件上传
  109. var attachment = new uploadPlus();
  110. //审批相关
  111. oaCheck.init({
  112. check_name:'expense',
  113. check_btn:0
  114. });
  115. //添加报销信息表格
  116. $('#addInterfix').on('click',function(){
  117. var html = '';
  118. var selectTem=$('#selectTem').html();
  119. html += '<tr class="more_interfix">\
  120. <td><input type="text" name="amount[]" class="layui-input" lay-verify="required|number" lay-reqText="请完善报销金额"></td>\
  121. <td style="text-align:left">'+selectTem+'</td>\
  122. <td><input type="text" name="remarks[]" class="layui-input"><input type="hidden" name="expense_id[]" class="layui-input" value="0"></td>\
  123. <td><a class="layui-btn layui-btn-danger layui-btn-xs" data-id="0" lay-event="del">删除</a></td>\
  124. </tr>';
  125. $("#interfix").append(html).find('.tr-none').remove();
  126. form.render();
  127. });
  128. $('#interfix').on('click', '[lay-event="del"]', function() {
  129. if($('.more_interfix').length<2){
  130. layer.msg('至少保留一个报销选项');
  131. return false;
  132. }
  133. $(this).parents(".more_interfix").remove();
  134. });
  135. //监听提交
  136. form.on('submit(webform)', function(data){
  137. var interfix = $('.more_interfix');
  138. if(interfix.length <1 ){
  139. layer.msg('至少要保留一个报销选项');
  140. return false;
  141. }
  142. tool.ask('审核期间不能编辑修改,确定报销数据无误?', function(index) {
  143. let callback = function (e) {
  144. layer.msg(e.msg);
  145. if (e.code == 0) {
  146. let checkCallback = function (e) {
  147. layer.msg(e.msg);
  148. if (e.code == 0) {
  149. tool.sideClose(1000);
  150. }
  151. }
  152. data.field.check_name = 'expense';
  153. data.field.action_id = e.data.return_id;
  154. oaCheck.submit(data.field,checkCallback);
  155. }
  156. }
  157. tool.post("/finance/expense/add", data.field, callback);
  158. layer.close(index);
  159. });
  160. return false;
  161. });
  162. }
  163. </script>
  164. {/block}
  165. <!-- /脚本 -->