alongst.jsp 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  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. {
  63. "id":"1",
  64. "wbsys": "基础工程",
  65. "wbsCode": "39100000",
  66. "bl":'',
  67. "fee":''
  68. },
  69. {
  70. "id":"2",
  71. "wbsys": "杆塔工程",
  72. "wbsCode": "39200000",
  73. "bl":'',
  74. "fee":''
  75. },
  76. {
  77. "id":"3",
  78. "wbsys": "接地工程",
  79. "wbsCode": "39300000",
  80. "bl":'',
  81. "fee":''
  82. },
  83. {
  84. "id":"4",
  85. "wbsys": "架线工程",
  86. "wbsCode": "39400000",
  87. "bl":'',
  88. "fee":''
  89. },
  90. {
  91. "id":"5",
  92. "wbsys": "附件安装工程",
  93. "wbsCode": "39500000",
  94. "bl":'',
  95. "fee":''
  96. },
  97. {
  98. "id":"6",
  99. "wbsys": "辅助工程",
  100. "wbsCode": "39600000",
  101. "bl":'',
  102. "fee":''
  103. }
  104. ]
  105. ,page: false
  106. });
  107. table.on('edit(longtable)', function(obj){
  108. var field = obj.field;
  109. var moneycount = $("#readid2").text();
  110. if(field == 'bl'){
  111. var value = obj.value;
  112. var data = obj.data;
  113. var blvalue = value/100;
  114. if(value==''){
  115. var w = $(this).closest("tr").find("td").eq("4").find("div").html("");
  116. data.fee="";
  117. return false;
  118. }
  119. if(isNaN(blvalue)){
  120. layer.msg('请输入有效数字');
  121. return false;
  122. }
  123. var bfb = (blvalue*moneycount).toFixed(2);
  124. var w = $(this).closest("tr").find("td").eq("4").find("div").html(bfb);
  125. data.fee=bfb;
  126. }else{
  127. var value = obj.value;
  128. var data = obj.data;
  129. var feevalue = value/moneycount;
  130. if(value==''){
  131. $(this).closest("tr").find("td").eq("3").find("div").html("");
  132. data.bl="";
  133. return false;
  134. }
  135. if(isNaN(value)){
  136. layer.msg('请输入有效数字');
  137. return false;
  138. }
  139. var bfb2 = (feevalue*100).toFixed(2);
  140. $(this).closest("tr").find("td").eq("3").find("div").html(bfb2);
  141. data.bl=bfb2;
  142. }
  143. });
  144. var $ = layui.$, active = {
  145. getCheckData: function(){ //获取选中数据
  146. var checkStatus = table.checkStatus('checktable'),
  147. data = checkStatus.data;
  148. var moneycount2 = $("#readid2").text();
  149. var val = $('input[name="mydiv"]:checked').val();
  150. if(val==null){
  151. layer.msg('请选择操作方式');
  152. return false;
  153. }
  154. var jsondata=JSON.stringify(data);
  155. // var e= jsondata.stringify(jsondata);
  156. var objdata = JSON.parse(jsondata);
  157. // var objdata = JSON.stringify(jsondata);
  158. var blcount = 0;
  159. var feecount = 0;
  160. for (var i = 0;i<objdata.length;i++) {
  161. blcount=Number(blcount)+Number(objdata[i].bl) ;
  162. feecount=Number(feecount)+Number(objdata[i].fee);
  163. }
  164. if(blcount!=100||feecount!=moneycount2){
  165. layer.msg('比例/金额分配不正确!');
  166. return false;
  167. }
  168. var newid2 = parent.$('#newid').val();
  169. var xmmc2 = parent.$('#xmmc1').val();
  170. var fyje2 = parent.$('#fyje1').val();
  171. $.ajax({
  172. type:"post",
  173. url:"${ctx}/jkxl/ddtz",
  174. // data:JSON.stringify({id:newid2,type:xmmc2,fee:fyje2}),
  175. data:{id:newid2,type:xmmc2,fee:fyje2,tableData:jsondata,state:val },
  176. success:function(result){
  177. parent.location.reload();
  178. }
  179. });
  180. }
  181. };
  182. $('.suretable .layui-btn').on('click', function(){
  183. var type = $(this).data('type');
  184. active[type] ? active[type].call(this) : '';
  185. });
  186. // -----
  187. var newid2 = parent.$('#newid').val();
  188. var xmmc2 = parent.$('#xmmc1').val();
  189. var fyje2 = parent.$('#fyje1').val();
  190. $("#mylable2").text(xmmc2);
  191. $("#readid2").text(fyje2);
  192. });
  193. </script>
  194. </body>
  195. </html>