alongst.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <script type="text/javascript">
  3. layui.use(['table','form','layedit', 'laydate'], function(){
  4. var table = layui.table //生产数据表格
  5. ,form = layui.form;
  6. form.render();
  7. table.render({
  8. elem: '#longtable'
  9. ,title: '单独调整页'
  10. ,id:'checktable'
  11. ,cols: [[
  12. {type: 'checkbox'}
  13. ,{field:'wbsys',title:'分部分项'}
  14. ,{field:'wbsCode',title:'WBS识别码'}
  15. ,{field:'bl',title:'比例(%)',edit: 'text'}
  16. ,{field:'fee',title:'分摊金额',edit: 'text'}
  17. ]]
  18. ,data:[
  19. <c:if test="${ not empty list}">
  20. <c:forEach items="${list}" var="data" varStatus="index">
  21. {
  22. "id":"1",
  23. "wbsys": "${data.describe}",
  24. "wbsCode": "${data.wbsCode}",
  25. "bl":'',
  26. "fee":''
  27. },
  28. </c:forEach>
  29. </c:if>
  30. ]
  31. ,page: false
  32. });
  33. //计算比例/金额
  34. table.on('edit(longtable)', function(obj){
  35. var field = obj.field;
  36. var moneycount = $("#readid2").text();
  37. if(field == 'bl'){
  38. var value = obj.value;
  39. var data = obj.data;
  40. var blvalue = value/100;
  41. if(value==''){
  42. var w = $(this).closest("tr").find("td").eq("4").find("div").html("");
  43. data.fee="";
  44. return false;
  45. }
  46. if(isNaN(blvalue)){
  47. layer.msg('请输入有效数字');
  48. return false;
  49. }
  50. var bfb = (blvalue*moneycount);
  51. var w = $(this).closest("tr").find("td").eq("4").find("div").html(bfb);
  52. data.fee=bfb;
  53. }else{
  54. var value = obj.value;
  55. var data = obj.data;
  56. var feevalue = value/moneycount;
  57. if(value==''){
  58. $(this).closest("tr").find("td").eq("3").find("div").html("");
  59. data.bl="";
  60. return false;
  61. }
  62. if(isNaN(value)){
  63. layer.msg('请输入有效数字');
  64. return false;
  65. }
  66. var bfb2 = (feevalue*100);
  67. $(this).closest("tr").find("td").eq("3").find("div").html(bfb2);
  68. data.bl=bfb2;
  69. }
  70. });
  71. var $ = layui.$, active = {
  72. getCheckData: function(){ //获取选中数据
  73. var checkStatus = table.checkStatus('checktable'),
  74. data = checkStatus.data;
  75. var moneycount2 = $("#readid2").text();
  76. var val = $('input[name="mydiv"]:checked').val();
  77. if(val==null){
  78. layer.msg('请选择操作方式');
  79. return false;
  80. }
  81. var jsondata=JSON.stringify(data);
  82. var objdata = JSON.parse(jsondata);
  83. var blcount = 0;
  84. var feecount = 0;
  85. for (var i = 0;i<objdata.length;i++) {
  86. blcount=Number(blcount)+Number(objdata[i].bl) ;
  87. feecount=Number(feecount)+Number(objdata[i].fee);
  88. }
  89. if(blcount!=100||feecount!=moneycount2){
  90. layer.msg('比例/金额分配不正确!');
  91. return false;
  92. }
  93. var newid2 = parent.$('#newid').val();
  94. var xmmc2 = parent.$('#xmmc1').val();
  95. var fyje2 = parent.$('#fyje1').val();
  96. $.ajax({
  97. type:"post",
  98. url:"${ctx}/jkxl/ddtz",
  99. // data:JSON.stringify({id:newid2,type:xmmc2,fee:fyje2}),
  100. data:{id:newid2,type:xmmc2,fee:fyje2,tableData:jsondata,state:val },
  101. success:function(result){
  102. parent.location.reload();
  103. }
  104. });
  105. }
  106. };
  107. $('.suretable .layui-btn').on('click', function(){
  108. var type = $(this).data('type');
  109. active[type] ? active[type].call(this) : '';
  110. });
  111. var newid2 = parent.$('#newid').val();
  112. var xmmc2 = parent.$('#xmmc1').val();
  113. var fyje2 = parent.$('#fyje1').val();
  114. $("#mylable2").text(xmmc2);
  115. $("#readid2").text(fyje2);
  116. });
  117. </script>