wbslist.jsp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. <%--
  2. Created by IntelliJ IDEA.
  3. User: user
  4. Date: 2019/8/7
  5. Time: 18:39
  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>wbs</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. </head>
  17. <style>
  18. .btn_out{
  19. width: 100px;
  20. margin: 0;
  21. float: right;
  22. margin-right:2%;
  23. }
  24. .div_main_form{
  25. width: 50%;
  26. margin-left: 10px;
  27. }
  28. .layui-table-view .layui-table {width:100%}
  29. </style>
  30. <body style="background-color: white">
  31. <sys:message content="${message}"/>
  32. <!-----------本体部分--------->
  33. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
  34. <legend>本体部分</legend>
  35. </fieldset>
  36. <div class="" style="margin-left: 10px;margin-right: 10px;margin-top: 10px;">
  37. <%--<button type="button" class="layui-btn layui-btn-fluid btn_out" onclick="export()">导出</button>--%>
  38. <c:forEach items="${map.list1}" var="data1" varStatus="index">
  39. <a class="layui-btn" href="${ctx}/jkxl/export?id=${data1.id}">导出</a>
  40. </c:forEach>
  41. <%--<table:importExcel url="${ctx}/propertycostreminder/propertyCostReminder/import"></table:importExcel>--%>
  42. <table id="table1" class="layui-table" lay-filter="table1"></table>
  43. </div>
  44. <!-----------其他部分--------->
  45. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
  46. <legend>其他部分</legend>
  47. </fieldset>
  48. <div class="" style="margin-left: 10px;margin-right: 10px;">
  49. <table id="table2" class="layui-table" lay-filter="table2"></table>
  50. </div>
  51. <!-----------未识别部分--------->
  52. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
  53. <legend>未识别部分</legend>
  54. </fieldset>
  55. <div class="" style="margin-left: 10px;width:70%;margin-right: 10px;">
  56. <input hidden="hidden" name="" id="newid" value=""/>
  57. <input hidden="hidden" name="" id="xmmc1" value=""/>
  58. <input hidden="hidden" name="" id="fyje1" value=""/>
  59. <table class="layui-hide" id="xmmc" lay-filter="freestr"></table>
  60. </div>
  61. <div style="width: 100%;height: 100px"></div>
  62. <script type="text/html" id="barDemo">
  63. <a class="layui-btn layui-btn-xs" lay-event="fttz">分摊调整</a>
  64. <a class="layui-btn layui-btn-xs" lay-event="ddtz">单独调整</a>
  65. <!--<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>-->
  66. </script>
  67. </body>
  68. <script src="${ctxp}/static/plugin/assets/layui/layui.js"></script>
  69. <script>
  70. layui.config({
  71. base: '${ctxp}/static/plugin/assets/'
  72. }).extend({
  73. treetable: 'treetable-lay/treetable'
  74. }).use(['layer', 'table', 'treetable'], function () {
  75. var $ = layui.jquery;
  76. var table = layui.table;
  77. var layer = layui.layer;
  78. var treetable = layui.treetable;
  79. var renderTable1 = function () {
  80. layer.load(2);
  81. treetable.render({
  82. treeColIndex: 1,
  83. treeSpid: -1,
  84. treeIdName: 'id',
  85. treePidName: 'pid',
  86. treeDefaultClose: false,
  87. treeLinkage: false,
  88. elem: '#table1',
  89. <%--url: '${ctxp}/webpage/modules/sys/free/selfwbs.json',--%>
  90. page: false,
  91. cols: [[
  92. {type:'numbers',title: '序号', rowspan: 2, totalRowText: "合计",},
  93. {field: 'wbsys', title: 'WBS要素',width:200, rowspan:'2'},
  94. {field:'wbssbm',width:100, align:'center',rowspan:'2',title:"wbs识别码",rowspan:'2'},
  95. {field:'fbfxysj', align:'center', title: '分布分项(原数据)',colspan:'6'},
  96. {field:'fbfxtch',align:'center',title:'分布分项(调差后)',colspan:'4'},
  97. {field:'fbfxtch',align:'center',title:'共性分摊费用',colspan:'10'},
  98. {field:'hj',align:'center',width:80,title:'合计',rowspan:'2',totalRow: true}
  99. // {templet: '#oper-col', title: 'oper'}
  100. ],[
  101. {field:'hjje', width:90,align:'center',title:'合计金额',totalRow: true},
  102. {field:'zjgcf', width:100,align:'center',title:'直接工程费',totalRow: true},
  103. {field:'rgf1', width:80,align:'center',title:'人工费',totalRow: true},
  104. {field:'cbrcg1', width:100,align:'center',title:'承包人采购',totalRow: true},
  105. {field:'fbrcg1', width:100,align:'center',title:'发包人采购',totalRow: true},
  106. {field:'jxf1', width:80,align:'center',title:'机械费',totalRow: true},
  107. {field:'rgf2', width:80,align:'center',title:'人工费',totalRow: true},
  108. {field:'cbrcg2', width:100,align:'center',title:'承包人采购',totalRow: true},
  109. {field:'fbrcg2', width:100,align:'center',title:'发包人采购',totalRow: true},
  110. {field:'jxf2', width:80,align:'center',title:'机械费',totalRow: true},
  111. {field:'rgf3', width:80,align:'center',title:'人工费',totalRow: true},
  112. {field:'cbrcg3', width:100,align:'center',title:'承包人采购',totalRow: true},
  113. {field:'fbrcg3', width:100,align:'center',title:'发包人采购',totalRow: true},
  114. {field:'jxf3', width:80,align:'center',title:'机械费',totalRow: true},
  115. {field:'csf_1',width:100,title:'措施费-1',align:'center',totalRow: true},
  116. {field:'csf_2',width:100,title:'措施费-2',align:'center',totalRow: true},
  117. {field:'csf2',align:'center',width:90,title:'措施费二',totalRow: true},
  118. {field:'qtf',align:'center',width:80,title:'其他费',totalRow: true},
  119. {field:'gf',align:'center',width:60,title:'规费',totalRow: true},
  120. {field:'sf',align:'center',width:60,title:'税金',totalRow: true},
  121. ]]
  122. ,data: [
  123. <c:if test="${ not empty map.list}">
  124. <c:forEach items="${map.list}" var="data" varStatus="index">
  125. <c:if test="${data.state eq '1'}">
  126. {
  127. "id": "${data.wbsCode}",
  128. "wbsys":"${data.describe}",
  129. "wbssbm": "${data.wbsCode}",
  130. "hjje": "${data.originalTotalCost}",
  131. "zjgcf":"${data.zjgcFee}",
  132. "rgf1": "${data.originalRgCost}",
  133. "cbrcg1": "${data.originalCbrCost}",
  134. "fbrcg1": "${data.originalFbrCost}",
  135. "jxf1": "${data.originalJxCost}",
  136. "rgf2": "${data.jxCost}",
  137. "cbrcg2": "${data.cbrCost}",
  138. "fbrcg2":"${data.fbrCost}",
  139. "jxf2": "${data.jxCost}",
  140. <%--"rgf3": "${data.rgFtFee}",--%>
  141. "rgf3": "${data.rgFtFee}",
  142. "cbrcg3": "${data.cbrFtFee}",
  143. "fbrcg3": "${data.fbrFtFee}",
  144. "jxf3": "${data.jxFtFee}",
  145. "csf_1": "${data.measuresFee1}",
  146. "csf_2": "${data.measuresFee2}",
  147. "csf2": "${data.measuresFee3}",
  148. "qtf":"${data.otherCost}",
  149. "gf":"${data.fees}",
  150. "sf":"${data.tex}",
  151. "hj": "${data.totalFee}",
  152. "pid": "${data.parentNode}"
  153. },
  154. </c:if>
  155. </c:forEach>
  156. </c:if>
  157. ],
  158. done: function () {
  159. layer.closeAll('loading');
  160. }
  161. });
  162. };
  163. renderTable1();
  164. });
  165. </script>
  166. <script>
  167. layui.use(['table', 'form', 'element', 'treetable'], function () {
  168. var $ = layui.jquery;
  169. var table = layui.table;
  170. var form = layui.form;
  171. var element = layui.element;
  172. var treetable = layui.treetable;
  173. // 渲染表格
  174. var renderTable2 = function () {
  175. layer.load(2);
  176. treetable.render({
  177. treeColIndex: 1,
  178. treeSpid: -1,
  179. treeIdName: 'd_id',
  180. treePidName: 'd_pid',
  181. elem: '#table2',
  182. <%--url: '${ctxp}/webpage/modules/sys/free/other.json',--%>
  183. page: false,
  184. cols: [[
  185. {type: 'numbers'},
  186. // {field: 'id', title: 'WBS要素'},
  187. {field: 'wbsys', title: 'WBS要素'},
  188. {field: 'wbssbm', title: 'WBS识别码'},
  189. {field: 'money', title: '金额'},
  190. // {field: 'pid', title: 'pid'},
  191. ]]
  192. ,data: [
  193. <c:if test="${ not empty map.list}">
  194. <c:forEach items="${map.list}" var="data" varStatus="index">
  195. <c:if test="${data.state eq '0'}">
  196. {
  197. "d_id": "${data.wbsCode}",
  198. "wbsys": "${data.describe}",
  199. "wbssbm": "${data.wbsCode}",
  200. "money": "${data.totalFee}",
  201. "d_pid": "${data.parentNode}"
  202. },
  203. </c:if>
  204. </c:forEach>
  205. </c:if>
  206. ],
  207. done: function () {
  208. layer.closeAll('loading');
  209. }
  210. });
  211. };
  212. renderTable2();
  213. });
  214. </script>
  215. <script>
  216. layui.use('table', function(){
  217. var table = layui.table;
  218. });
  219. </script>
  220. <script>
  221. layui.use('table', function(){
  222. var table = layui.table;
  223. table.render({
  224. elem: '#xmmc'
  225. ,title: '为标识'
  226. ,cols: [[
  227. {field:'xmmc', width:200,title:'项目名称'}
  228. ,{field:'fyje', width:178,title:'费用金额'}
  229. ,{width:178, toolbar: '#barDemo',title:'操作'}
  230. ]]
  231. ,data:[
  232. <c:if test="${ not empty map.list}">
  233. <c:forEach items="${map.list2}" var="data" varStatus="index">
  234. {
  235. "id":"${data.id}",
  236. "xmmc": <c:if test="${data.type eq '1'}">"补增值税税率调整差额"</c:if><c:if test="${data.type eq '2'}">"扣减甲供材超供材料费"</c:if>,
  237. "fyje": "${data.fee}"
  238. },
  239. </c:forEach>
  240. </c:if>
  241. ]
  242. ,page: false
  243. });
  244. //监听工具条
  245. table.on('tool(freestr)', function(obj){
  246. var datacount="";
  247. var data = obj.data;
  248. if(obj.event === 'fttz'){
  249. sureradio(data);
  250. } else if(obj.event === 'ddtz'){
  251. sureradio2(data);
  252. }
  253. // alert(datacount);
  254. });
  255. });
  256. </script>
  257. <script>
  258. function sureradio2(data){
  259. var newid = data.id;
  260. var xmmc = data.xmmc;
  261. var fyje = data.fyje;
  262. $("#newid").val(newid);
  263. $("#xmmc1").val(xmmc);
  264. $("#fyje1").val(fyje);
  265. // alert(fyje);
  266. layui.use(['table','layer'],function(){
  267. layer.open({
  268. type: 2,
  269. title: '单独调整',
  270. area: ['700px', '500px'],
  271. shade: 0.8,
  272. // closeBtn: 0,
  273. // fixed: true, //不固定
  274. maxmin: true,
  275. shadeClose: true,
  276. content: '${ctxp}/webpage/modules/sg/free/alongst.jsp'
  277. , btn: ['确定','关闭']
  278. ,yes: function(index, layero){
  279. var bodyparent = layer.getChildFrame('body', index);
  280. bodyparent.find('#freenl').click();
  281. }
  282. ,btn2: function(index, layero){
  283. // alert(layero);
  284. layer.close(index);
  285. }
  286. })
  287. })
  288. }
  289. </script>
  290. <script>
  291. function sureradio(data,target){
  292. var newid = data.id;
  293. var xmmc = data.xmmc;
  294. var fyje = data.fyje;
  295. $("#newid").val(newid);
  296. $("#xmmc1").val(xmmc);
  297. $("#fyje1").val(fyje);
  298. layui.use(['table','layer'],function(){
  299. layer.open({
  300. type: 2,
  301. title: xmmc,
  302. area: ['400px', '500px'],
  303. shade: 0.8,
  304. shadeClose: true,
  305. content: '${ctxp}/webpage/modules/sg/free/avgpage.jsp'
  306. , btn: ['调整','关闭']
  307. ,yes: function(index, layero){
  308. var body = layer.getChildFrame('body', index);
  309. var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
  310. var inputForm = body.find('#inputForm');
  311. var top_iframe;
  312. if(target){
  313. top_iframe = target;//如果指定了iframe,则在改frame中跳转
  314. }else{
  315. top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
  316. }
  317. inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
  318. iframeWin.contentWindow.doSubmit();
  319. layer.close(index);//关闭对话框。
  320. }
  321. })
  322. })
  323. }
  324. </script>
  325. </html>