addXg.html 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  6. <title>新建</title>
  7. <link rel="stylesheet" th:href="@{/lib/layui/css/layui.css}" media="all">
  8. <link rel="stylesheet" th:href="@{/css/public.css}" media="all">
  9. <link rel="stylesheet" th:href="@{/lib/font-awesome-4.7.0/css/font-awesome.min.css}" media="all">
  10. <style>
  11. body {
  12. background-color: #ffffff;
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <form class="layui-form" action="" lay-filter="formDemo">
  18. <div class="layui-form layuimini-form" style="margin-right: 20px">
  19. <input type="hidden" id="rws" name="rws" class="layui-input">
  20. <input type="hidden" id="ht" name="ht" class="layui-input">
  21. <div class="layui-form-item">
  22. <label class="layui-form-label required" style="width: 70px">计划名称</label>
  23. <div class="layui-input-block">
  24. <!-- <select name="jhmc" id="jhmc" lay-filter="status" lay-verify="required" lay-reqtext="请选择计划名称">-->
  25. <!-- <option value="">请选择</option>-->
  26. <!-- <option th:each="item:${jhmcList}" th:text="${item.name}"-->
  27. <!-- th:value="${item.name}"></option>-->
  28. <!-- </select>-->
  29. <input type="text" id="jhmc" name="jhmc" class="layui-input" placeholder="请输入计划名称" lay-verify="required"
  30. lay-reqtext="请输入计划名称">
  31. </div>
  32. </div>
  33. <div class="layui-form-item">
  34. <label class="layui-form-label" style="width: 70px">付款要求</label>
  35. <div class="layui-input-block">
  36. <textarea id="fkyq" name="fkyq" class="layui-textarea" style="width: 100%;height: 100px"></textarea>
  37. <tip>按合同约定填写</tip>
  38. </div>
  39. </div>
  40. <div class="layui-form-item">
  41. <label class="layui-form-label" style="width: 90px; margin-left: -20px">支付比例(%)</label>
  42. <!-- <label class="layui-form-label required" style="width: 90px; margin-left: -20px">支付比例(%)</label>-->
  43. <div class="layui-input-block">
  44. <!-- <input type="number" id="zfbl" name="zfbl" autocomplete="off" class="layui-input" lay-verify="required" lay-reqtext="支付比例不能为空">-->
  45. <input type="number" id="zfbl" name="zfbl" autocomplete="off" class="layui-input">
  46. </div>
  47. </div>
  48. <div class="layui-form-item">
  49. <label class="layui-form-label required" style="width: 70px">支付金额(万元)</label>
  50. <div class="layui-input-block">
  51. <input type="number" id="zfje" name="zfje" autocomplete="off" class="layui-input" lay-verify="required"
  52. lay-reqtext="支付金额不能为空">
  53. </div>
  54. </div>
  55. <div class="layui-form-item layui-inline" style="width: 100%">
  56. <label class="layui-form-label" style="width: 10%">付款信息</label>
  57. <div class="layuimini-container" style="margin-left: 13%; padding-bottom: 10px;width: 90%">
  58. <input type="hidden" id="fkxx" name="fkxx" class="layui-input">
  59. <div class="layui-btn-group" style="margin-bottom: -8px">
  60. <button type="button" class="layui-btn layui-btn-primary layui-btn-sm" lay-filter="add"><i class="layui-icon">&#xe63c;</i>添加行</button>
  61. <button type="button" class="layui-btn layui-btn-primary layui-btn-sm" lay-filter="delete"><i class="layui-icon">&#xe63c;</i>删除行</button>
  62. </div>
  63. <table class="layui-hide" id="currentTableId2" name="currentTableId2" lay-filter="currentTableFilter2" style="padding-top: 0px;margin-top: 0px"></table>
  64. </div>
  65. </div>
  66. <!-- 右侧悬浮按钮 -->
  67. <div class="right-bottom-btn">
  68. <button class="layui-btn" lay-submit lay-filter="saveBtn">
  69. <i class="layui-icon layui-icon-ok"></i>保存
  70. </button>
  71. <button class="layui-btn" lay-filter="cancleBtn">
  72. <i class="layui-icon layui-icon-close"></i>取消
  73. </button>
  74. </div>
  75. </div>
  76. </form>
  77. <script th:src="@{/lib/jquery-3.4.1/jquery-3.4.1.min.js}" charset="utf-8"></script>
  78. <script th:src="@{/lib/layui/layui.js}" charset="utf-8"></script>
  79. <script th:src="@{/lib/coco-message/coco-message.js}" charset="utf-8"></script>
  80. <script th:src="@{/js/lay-config.js}" charset="utf-8"></script>
  81. <script type="text/javascript" th:inline="javascript">
  82. AjaxUtil.ctx = /*[[@{/}]]*/'';
  83. layui.use(['form', 'layer','table'], function () {
  84. var form = layui.form,
  85. table = layui.table,
  86. layer = layui.layer;
  87. var htInfo = parent.getHtInfo();
  88. $("#rws").val(htInfo.rws);
  89. $("#ht").val(htInfo.ht);
  90. //支付比例
  91. $("#zfbl").on("input", function (e) {
  92. //获取input输入的值
  93. var zfbl = parseFloat(e.delegateTarget.value);
  94. if (!isNaN(zfbl)) {
  95. var zfje = htInfo.htje * zfbl * 0.01;
  96. $("#zfje").val(parseFloat(zfje.toFixed(5)));
  97. }
  98. });
  99. //监听提交
  100. form.on('submit(saveBtn)', function (data) {
  101. const zfje = parseFloat(document.getElementById('zfje').value);
  102. const zfbl = parseFloat(document.getElementById('zfbl').value);
  103. const htje = parseFloat(htInfo.htje);
  104. const zfjes = parseFloat(htje * zfbl * 0.01);
  105. var data_prjPayplan = [];
  106. for (const item of prjPayplan ) {
  107. var dfWb = {
  108. "id": item.id,
  109. "name": item.name,
  110. "fkje": item.fkje,
  111. "fksm": item.fksm
  112. };
  113. data_prjPayplan.push(dfWb);
  114. }
  115. $("#fkxx").val(JSON.stringify(data_prjPayplan));
  116. data.field.fkxx = JSON.stringify(data_prjPayplan);
  117. if (zfje > htje){
  118. layer.msg('支付金额不能大于合同总金额!');
  119. return false;
  120. }
  121. var index = layer.load(0, {shade: 0.1});
  122. // AjaxUtil.post({
  123. // url: AjaxUtil.ctx + "prjPayplanXg/doAdd/?htje="+htje,
  124. // data: data.field,
  125. // success: function (res) {
  126. // layer.close(index);
  127. // if (res.code === 0) {
  128. // parent.setUpdateFlag();
  129. // parent.layer.close(parent.layer.getFrameIndex(window.name));
  130. // } else {
  131. // layer.msg(res.message);
  132. // }
  133. //
  134. // },
  135. // error: function (error) {
  136. // Message.error(error.message, 1000);
  137. // }
  138. // });
  139. parent.setFkjh(data.field);
  140. parent.setUpdateFlag();
  141. parent.layer.close(parent.layer.getFrameIndex(window.name));// 关闭子窗口
  142. // return false;
  143. });
  144. var prjPayplan = new Array();
  145. var currTable2 = table.render({
  146. elem: '#currentTableId2',
  147. data: prjPayplan,
  148. cols: [
  149. [
  150. {type: "checkbox", align: 'center'},
  151. {type: 'numbers', align: 'center'},
  152. {field: 'name', title: '公司名称', width: '30%',align:'center',edit: 'text'},
  153. {field: 'fkje', title: '付款金额', width: '15%', align: 'center',edit:'text'},
  154. {field: 'fksm', title: '付款说明', align: 'center',edit: 'text'}
  155. ]
  156. ],
  157. autoSort: false,
  158. limit: Number.MAX_VALUE,
  159. page: false,
  160. skin: 'grid',
  161. done: function (res, curr, count) { // done为数据渲染完的回调
  162. }
  163. });
  164. $("button[lay-filter='add']").click(function () {
  165. var newRow={"name":"","fkje":"","fksm":"" };
  166. prjPayplan.push(newRow)
  167. currTable2.reload();
  168. });
  169. $("button[lay-filter='delete']").click(function () {
  170. if (prjPayplan.length == 0)
  171. return;
  172. var checkStatus = table.checkStatus('currentTableId2')
  173. , data = checkStatus.data;
  174. if (data == null || data.length === 0) {
  175. Message.warning("请选择要删除的文件!", 1000);
  176. return;
  177. }
  178. for (var i = 0; i < prjPayplan.length; i++) {
  179. var item = prjPayplan[i];
  180. if (item.LAY_CHECKED) {//条件:选中
  181. prjPayplan.splice(i, 1);//移除后后造成数组下标索引发生变化,所以下面需要i--
  182. i--;
  183. }
  184. }
  185. //刷新表格
  186. currTable2.reload();
  187. });
  188. // 监听取消按钮
  189. $("button[lay-filter='cancleBtn']").click(function () {
  190. var iframeIndex = parent.layer.getFrameIndex(window.name);
  191. parent.layer.close(iframeIndex);
  192. });
  193. });
  194. </script>
  195. </body>
  196. </html>