alongst.jsp 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  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. <html>
  10. <head>
  11. <title>单独调整</title>
  12. <link rel="stylesheet" href="${ctxp}/static/plugin/assets/layui/css/layui.css">
  13. <link rel="stylesheet" href="${ctxp}/static/plugin/assets/common.css"/>
  14. <script type="text/javascript" src="${ctxp}/static/plugin/assets/jquery-3.2.1.min.js"></script>
  15. <script src="${ctxp}/static/plugin/assets/layui/layui.js"></script>
  16. </head>
  17. <style>
  18. .layui-table-view .layui-table {width:100%}
  19. </style>
  20. <body>
  21. <form class="layui-form" action="">
  22. <div class="layui-form-item">
  23. <div class="" style="margin-left: 10px;margin-top: 10px;">
  24. <span id="mylable2">项目调整</span>
  25. <span>:</span>
  26. <span id="readid2">200</span>
  27. </div>
  28. <div class="" style="margin-left: 10px;">
  29. <input type="radio" name="mydiv" value="增加" title="增加">
  30. <input type="radio" name="mydiv" value="减少" title="减少">
  31. </div>
  32. </div>
  33. </form>
  34. <!--<div>-->
  35. <table class="layui-hide" id="longtable" lay-filter="longtable"></table>
  36. <!--</div>-->
  37. <div class="layui-btn-group suretable" style="display: none;">
  38. <button class="layui-btn" data-type="getCheckData" id="freenl">确定</button>
  39. </div>
  40. <script>
  41. layui.use(['table','form','layedit', 'laydate'], function(){
  42. var table = layui.table
  43. ,form = layui.form;
  44. form.render();
  45. table.render({
  46. elem: '#longtable'
  47. ,title: '单独调整页'
  48. ,id:'checktable'
  49. ,cols: [[
  50. {type: 'checkbox'}
  51. ,{field:'wbsys',width:100,title:'分布分项'}
  52. ,{field:'wbssbm',width:120,title:'WBS识别码'}
  53. ,{field:'bl',width:100,title:'比例',edit: 'text'}
  54. ,{field:'ftje',width:100,title:'分摊金额',edit: 'text'}
  55. ]]
  56. ,data:[
  57. {
  58. "id":"1",
  59. "wbsys": "",
  60. "wbssbm": "",
  61. "bl":'',
  62. "ftje":''
  63. },
  64. {
  65. "id":"2",
  66. "wbsys": "",
  67. "wbssbm": "",
  68. "bl":'',
  69. "ftje":''
  70. },
  71. {
  72. "id":"3",
  73. "wbsys": "",
  74. "wbssbm": "",
  75. "bl":'',
  76. "ftje":''
  77. }
  78. ]
  79. ,page: false
  80. });
  81. table.on('edit(longtable)', function(obj){
  82. var field = obj.field;
  83. var moneycount = $("#readid2").text();
  84. if(field == 'bl'){
  85. var value = obj.value;
  86. var data = obj.data;
  87. var blvalue = value.substring(0,value.length-1);
  88. var ofvalue = value.substring(value.length-1,value.length);
  89. if(value==''){
  90. $(this).html(value);
  91. var w = $(this).closest("tr").find("td").eq("4").html();
  92. data.ftje="";
  93. return false;
  94. }
  95. if(isNaN(blvalue)||ofvalue!="%"){
  96. layer.msg('请输入正确的格式(-%-)');
  97. return false;
  98. }
  99. var bfb = changeTwoDecimal((blvalue/100)* moneycount);
  100. $(this).html(value);
  101. var w = $(this).closest("tr").find("td").eq("4").html(bfb);
  102. data.ftje=bfb;
  103. }else{
  104. var value = obj.value;
  105. var data = obj.data;
  106. if(value==''){
  107. $(this).html(value);
  108. $(this).closest("tr").find("td").eq("3").html("");
  109. data.bl="";
  110. return false;
  111. }
  112. if(isNaN(value)){
  113. layer.msg('请输入有效数字');
  114. return false;
  115. }
  116. var ftf= changeTwoDecimal(value/moneycount);
  117. // alert(ftf);
  118. var bfb2 = (ftf*100)+"%";
  119. $(this).html(value);
  120. $(this).closest("tr").find("td").eq("3").html(bfb2);
  121. data.bl=bfb2;
  122. }
  123. });
  124. var $ = layui.$, active = {
  125. getCheckData: function(){ //获取选中数据
  126. var checkStatus = table.checkStatus('checktable'),
  127. data = checkStatus.data;
  128. var moneycount2 = $("#readid2").text();
  129. var val = $('input[name="mydiv"]:checked').val();
  130. if(val==null){
  131. layer.msg('请选择操作方式');
  132. return false;
  133. }
  134. var jsondata=JSON.stringify(data);
  135. // var e= jsondata.stringify(jsondata);
  136. var objdata = JSON.parse(jsondata);
  137. var blcount = 0;
  138. var ftjecount = 0;
  139. for (var i = 0;i<objdata.length;i++) {
  140. blcount=Number(blcount)+Number(parseFloat(objdata[i].bl.substring(0,objdata[i].bl.length-1)).toFixed(2));
  141. ftjecount=Number(ftjecount)+Number(parseFloat(objdata[i].ftje).toFixed(2));
  142. }
  143. if(blcount!=100||ftjecount!=moneycount2){
  144. layer.msg('比例/金额分配不正确!');
  145. return false;
  146. }
  147. $.ajax({
  148. type:"get",
  149. url:"",
  150. // async:true
  151. success:function(result){
  152. parent.location.reload();
  153. }
  154. });
  155. }
  156. };
  157. $('.suretable .layui-btn').on('click', function(){
  158. var type = $(this).data('type');
  159. active[type] ? active[type].call(this) : '';
  160. });
  161. // -----
  162. var newid2 = parent.$('#newid').val();
  163. var xmmc2 = parent.$('#xmmc1').val();
  164. var fyje2 = parent.$('#fyje1').val();
  165. $("#mylable2").text(xmmc2);
  166. $("#readid2").text(fyje2);
  167. });
  168. </script>
  169. <script>
  170. function changeTwoDecimal(v) {
  171. // if (isNaN(v))
  172. // return 0;
  173. // }
  174. var fv = parseFloat(v);
  175. fv = Math.round(fv * 100) / 100; //四舍五入,保留两位小数
  176. var fs = fv.toString();
  177. var fp = fs.indexOf('.');
  178. if (fp < 0) {
  179. fp = fs.length;
  180. fs += '.';
  181. }
  182. while (fs.length <= fp + 2) { //小数位小于两位,则补0
  183. fs += '0';
  184. }
  185. return fs;
  186. }
  187. </script>
  188. </body>
  189. </html>