alongst.jsp 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <%--
  2. Created by IntelliJ IDEA.
  3. User: user
  4. Date: 2019/8/11
  5. Time: 9:30
  6. To change this template use File | Settings | File Templates.
  7. --%>
  8. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  9. <%@ include file="/webpage/include/taglib.jsp"%>
  10. <html>
  11. <head>
  12. <title>单独调整</title>
  13. <link rel="stylesheet" href="${ctxp}/static/plugin/assets/layui/css/layui.css">
  14. <link rel="stylesheet" href="${ctxp}/static/plugin/assets/common.css"/>
  15. <script type="text/javascript" src="${ctxp}/static/plugin/assets/jquery-3.2.1.min.js"></script>
  16. <script src="${ctxp}/static/plugin/assets/layui/layui.js"></script>
  17. </head>
  18. <style>
  19. .layui-table-view .layui-table {width:100%}
  20. .layui-table-cell .layui-form-checkbox[lay-skin="primary"]{
  21. top: 50%;
  22. transform: translateY(-50%);
  23. }
  24. </style>
  25. <body>
  26. <div class="layui-btn-group suretable" style="display: none;">
  27. <button class="layui-btn" data-type="getCheckData" id="freenl">确定</button>
  28. </div>
  29. <form class="layui-form" action="">
  30. <div class="layui-form-item">
  31. <div class="" style="margin-left: 10px;margin-top: 10px;">
  32. <span id="mylable2">项目调整</span>
  33. <span>:</span>
  34. <span id="readid2">200</span>
  35. </div>
  36. <div class="" style="margin-left: 10px;">
  37. <input type="radio" name="mydiv" value="1" title="增加">
  38. <input type="radio" name="mydiv" value="2" title="减少">
  39. </div>
  40. </div>
  41. </form>
  42. <!--<div>-->
  43. <table class="layui-hide" id="longtable" lay-filter="longtable"></table>
  44. <!--</div>-->
  45. <script>
  46. layui.use(['table','form','layedit', 'laydate'], function(){
  47. var table = layui.table
  48. ,form = layui.form;
  49. form.render();
  50. table.render({
  51. elem: '#longtable'
  52. ,title: '单独调整页'
  53. ,id:'checktable'
  54. ,cols: [[
  55. {type: 'checkbox',width:30}
  56. ,{field:'wbsys',width:100,title:'分部分项'}
  57. ,{field:'wbsCode',width:120,title:'WBS识别码'}
  58. ,{field:'bl',width:100,title:'比例(%)',edit: 'text'}
  59. ,{field:'fee',width:100,title:'分摊金额',edit: 'text'}
  60. ]]
  61. ,data:[
  62. <c:if test="${ not empty list}">
  63. <c:forEach items="${list}" var="data" varStatus="index">
  64. {
  65. "id":"1",
  66. "wbsys": "${data.describe}",
  67. "wbsCode": "${data.wbsCode}",
  68. "bl":'',
  69. "fee":''
  70. },
  71. </c:forEach>
  72. </c:if>
  73. // {
  74. // "id":"2",
  75. // "wbsys": "杆塔工程",
  76. // "wbsCode": "39200000",
  77. // "bl":'',
  78. // "fee":''
  79. // },
  80. // {
  81. // "id":"3",
  82. // "wbsys": "接地工程",
  83. // "wbsCode": "39300000",
  84. // "bl":'',
  85. // "fee":''
  86. // },
  87. // {
  88. // "id":"4",
  89. // "wbsys": "架线工程",
  90. // "wbsCode": "39400000",
  91. // "bl":'',
  92. // "fee":''
  93. // },
  94. // {
  95. // "id":"5",
  96. // "wbsys": "附件安装工程",
  97. // "wbsCode": "39500000",
  98. // "bl":'',
  99. // "fee":''
  100. // },
  101. // {
  102. // "id":"6",
  103. // "wbsys": "辅助工程",
  104. // "wbsCode": "39600000",
  105. // "bl":'',
  106. // "fee":''
  107. // }
  108. ]
  109. ,page: false
  110. });
  111. table.on('edit(longtable)', function(obj){
  112. var field = obj.field;
  113. var moneycount = $("#readid2").text();
  114. if(field == 'bl'){
  115. var value = obj.value;
  116. var data = obj.data;
  117. var blvalue = value/100;
  118. if(value==''){
  119. var w = $(this).closest("tr").find("td").eq("4").find("div").html("");
  120. data.fee="";
  121. return false;
  122. }
  123. if(isNaN(blvalue)){
  124. layer.msg('请输入有效数字');
  125. return false;
  126. }
  127. var bfb = (blvalue*moneycount).toFixed(2);
  128. var w = $(this).closest("tr").find("td").eq("4").find("div").html(bfb);
  129. data.fee=bfb;
  130. }else{
  131. var value = obj.value;
  132. var data = obj.data;
  133. var feevalue = value/moneycount;
  134. if(value==''){
  135. $(this).closest("tr").find("td").eq("3").find("div").html("");
  136. data.bl="";
  137. return false;
  138. }
  139. if(isNaN(value)){
  140. layer.msg('请输入有效数字');
  141. return false;
  142. }
  143. var bfb2 = (feevalue*100).toFixed(2);
  144. $(this).closest("tr").find("td").eq("3").find("div").html(bfb2);
  145. data.bl=bfb2;
  146. }
  147. });
  148. var $ = layui.$, active = {
  149. getCheckData: function(){ //获取选中数据
  150. var checkStatus = table.checkStatus('checktable'),
  151. data = checkStatus.data;
  152. var moneycount2 = $("#readid2").text();
  153. var val = $('input[name="mydiv"]:checked').val();
  154. if(val==null){
  155. layer.msg('请选择操作方式');
  156. return false;
  157. }
  158. var jsondata=JSON.stringify(data);
  159. // var e= jsondata.stringify(jsondata);
  160. var objdata = JSON.parse(jsondata);
  161. // var objdata = JSON.stringify(jsondata);
  162. var blcount = 0;
  163. var feecount = 0;
  164. for (var i = 0;i<objdata.length;i++) {
  165. blcount=Number(blcount)+Number(objdata[i].bl) ;
  166. feecount=Number(feecount)+Number(objdata[i].fee);
  167. }
  168. if(blcount!=100||feecount!=moneycount2){
  169. layer.msg('比例/金额分配不正确!');
  170. return false;
  171. }
  172. var newid2 = parent.$('#newid').val();
  173. var xmmc2 = parent.$('#xmmc1').val();
  174. var fyje2 = parent.$('#fyje1').val();
  175. $.ajax({
  176. type:"post",
  177. url:"${ctx}/jkxl/ddtz",
  178. // data:JSON.stringify({id:newid2,type:xmmc2,fee:fyje2}),
  179. data:{id:newid2,type:xmmc2,fee:fyje2,tableData:jsondata,state:val },
  180. success:function(result){
  181. parent.location.reload();
  182. }
  183. });
  184. }
  185. };
  186. $('.suretable .layui-btn').on('click', function(){
  187. var type = $(this).data('type');
  188. active[type] ? active[type].call(this) : '';
  189. });
  190. // -----
  191. var newid2 = parent.$('#newid').val();
  192. var xmmc2 = parent.$('#xmmc1').val();
  193. var fyje2 = parent.$('#fyje1').val();
  194. $("#mylable2").text(xmmc2);
  195. $("#readid2").text(fyje2);
  196. });
  197. </script>
  198. </body>
  199. </html>