alongst.jsp 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  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. ,page: false
  75. });
  76. table.on('edit(longtable)', function(obj){
  77. var field = obj.field;
  78. var moneycount = $("#readid2").text();
  79. if(field == 'bl'){
  80. var value = obj.value;
  81. var data = obj.data;
  82. var blvalue = value/100;
  83. if(value==''){
  84. var w = $(this).closest("tr").find("td").eq("4").find("div").html("");
  85. data.fee="";
  86. return false;
  87. }
  88. if(isNaN(blvalue)){
  89. layer.msg('请输入有效数字');
  90. return false;
  91. }
  92. var bfb = (blvalue*moneycount).toFixed(2);
  93. var w = $(this).closest("tr").find("td").eq("4").find("div").html(bfb);
  94. data.fee=bfb;
  95. }else{
  96. var value = obj.value;
  97. var data = obj.data;
  98. var feevalue = value/moneycount;
  99. if(value==''){
  100. $(this).closest("tr").find("td").eq("3").find("div").html("");
  101. data.bl="";
  102. return false;
  103. }
  104. if(isNaN(value)){
  105. layer.msg('请输入有效数字');
  106. return false;
  107. }
  108. var bfb2 = (feevalue*100).toFixed(2);
  109. $(this).closest("tr").find("td").eq("3").find("div").html(bfb2);
  110. data.bl=bfb2;
  111. }
  112. });
  113. var $ = layui.$, active = {
  114. getCheckData: function(){ //获取选中数据
  115. var checkStatus = table.checkStatus('checktable'),
  116. data = checkStatus.data;
  117. var moneycount2 = $("#readid2").text();
  118. var val = $('input[name="mydiv"]:checked').val();
  119. if(val==null){
  120. layer.msg('请选择操作方式');
  121. return false;
  122. }
  123. var jsondata=JSON.stringify(data);
  124. // var e= jsondata.stringify(jsondata);
  125. var objdata = JSON.parse(jsondata);
  126. // var objdata = JSON.stringify(jsondata);
  127. var blcount = 0;
  128. var feecount = 0;
  129. for (var i = 0;i<objdata.length;i++) {
  130. blcount=Number(blcount)+Number(objdata[i].bl) ;
  131. feecount=Number(feecount)+Number(objdata[i].fee);
  132. }
  133. if(blcount!=100||feecount!=moneycount2){
  134. layer.msg('比例/金额分配不正确!');
  135. return false;
  136. }
  137. var newid2 = parent.$('#newid').val();
  138. var xmmc2 = parent.$('#xmmc1').val();
  139. var fyje2 = parent.$('#fyje1').val();
  140. $.ajax({
  141. type:"post",
  142. url:"${ctx}/jkxl/ddtz",
  143. // data:JSON.stringify({id:newid2,type:xmmc2,fee:fyje2}),
  144. data:{id:newid2,type:xmmc2,fee:fyje2,tableData:jsondata,state:val },
  145. success:function(result){
  146. parent.location.reload();
  147. }
  148. });
  149. }
  150. };
  151. $('.suretable .layui-btn').on('click', function(){
  152. var type = $(this).data('type');
  153. active[type] ? active[type].call(this) : '';
  154. });
  155. // -----
  156. var newid2 = parent.$('#newid').val();
  157. var xmmc2 = parent.$('#xmmc1').val();
  158. var fyje2 = parent.$('#fyje1').val();
  159. $("#mylable2").text(xmmc2);
  160. $("#readid2").text(fyje2);
  161. });
  162. </script>
  163. </body>
  164. </html>