management.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <script type="text/javascript">
  3. layui.use(['form', 'layedit', 'laydate'], function(){
  4. var form = layui.form
  5. ,layer = layui.layer
  6. ,layedit = layui.layedit
  7. ,laydate = layui.laydate;
  8. //日期
  9. laydate.render({
  10. elem: '#beginDate1' //工程开始时间
  11. });
  12. laydate.render({
  13. elem: '#endDate1' //结束时间
  14. });
  15. laydate.render({
  16. elem: '#beginDate2' //项目开始时间
  17. });
  18. laydate.render({
  19. elem: '#endDate2' //项目结束时间
  20. });
  21. });
  22. layui.config({
  23. base: '${ctxp}/static/plugin/assets/'
  24. }).extend({
  25. treetable: 'treetable-lay/treetable'
  26. }).use(['layer', 'table', 'treetable'], function () { //生成下拉表格
  27. var $ = layui.jquery;
  28. var table = layui.table;
  29. var layer = layui.layer;
  30. var treetable = layui.treetable;
  31. var renderTable1 = function () {
  32. layer.load(2);
  33. treetable.render({
  34. treeColIndex: 0,
  35. treeSpid: -1,
  36. treeIdName: 'id',
  37. treePidName: 'pid',
  38. treeDefaultClose: true,//默认折叠
  39. treeLinkage: true,
  40. elem: '#table1',
  41. cols: [[
  42. {field: 'gcmc',minWidth:200,width:260,title: '工程名称'},
  43. {field:'xmsl',width:145,title:"结算书数量"},
  44. {field:'cjsq',width:145,title: '创建时期'},
  45. {field:'djr',width:130,title:'登记人'},
  46. {field:'op',align:'center',title:"操作",minWidth:500,maxWidth:700,templet:function(d){
  47. ////对操作进行初始化
  48. var xml = "";
  49. if(d.status==1){ //工程按钮
  50. xml +="<div><a style='margin-top: 3px;' class='layui-btn layui-btn-primary layui-btn-xs' onclick=\"look( '${ctx}/project/form?id=" + d.id + "&tabId=1')\">查看</a>"
  51. +"<a style='margin-top: 3px;' class='layui-btn layui-btn-xs' onclick=\"update( '${ctx}/project/form?id=" + d.id + "&tabId=2')\">修改</a>"
  52. +"<a style='margin-top: 3px;' class='layui-btn layui-btn-normal layui-btn-xs' lay-event='add'>添加结算书</a>"
  53. +"<a style='margin-top: 3px;' class='layui-btn layui-btn-xs layui-btn-danger' id=delPro"+d.id+" onclick=\"deleteProject('"+d.id+"')\">删除</a>"
  54. // +"<br>"
  55. +"<a style='margin-top: 3px;' class='layui-btn layui-btn-warm layui-btn-xs' lay-event=''href=\"${ctx}/project/exportone?id=" + d.id+"\">导出wbs工程</a>"
  56. +"<a style='margin-top: 3px;' class='layui-btn layui-btn-normal layui-btn-xs'onclick=\"withhold( '${ctx}/project/withholdform?id=" + d.id + "&tabId=1')\">诚信扣款</a></div>";
  57. // +"<a style='margin-top: 3px;' class='layui-btn layui-btn-warm layui-btn-xs'onclick=\"materialOffset( '${ctx}/project/materialOffsetForm?id=" + d.id + "&tabId=1')\">甲供材抵扣</a>"
  58. // +"<a style='margin-top: 3px;' class='layui-btn layui-btn-warm layui-btn-xs'onclick=\"taxDeductions( '${ctx}/project/taxDeductionsForm?id=" + d.id + "&tabId=1')\">税额扣减</a></div>";
  59. }
  60. if(d.status==2){ //项目表头操作
  61. xml +="<span class='myspan' self-id ="+d.pid+">操作</span>";
  62. }
  63. if(d.status==3){ //项目类型
  64. xml +="<a style='margin-top: 3px;' self-id="+d.pid+" class='layui-btn layui-btn-xs' href=\"${ctx}/jkxl/list?id="+d.id+"&type="+d.type+"\">编辑</a>"
  65. +"<a style='margin-top: 3px;' class='layui-btn layui-btn-xs layui-btn-danger' id=del"+d.id+" onclick=\"deleteItem('" + d.id + "')\">删除</a>";
  66. }
  67. return xml;
  68. }}
  69. ]],
  70. data: [
  71. <c:if test="${ not empty page.list}">
  72. <c:forEach items="${page.list}" var="data" varStatus="index">
  73. {
  74. "id": "${data.id}",
  75. "gcmc":"${data.projectName}",
  76. "xmsl": "${data.number}",
  77. "cjsq": "<fmt:formatDate value="${data.createDate}" pattern="yyyy/MM/dd"/>",
  78. "djr":"${data.userName}",
  79. "status":"1",
  80. "pid": -1
  81. },
  82. {
  83. "id": "2",
  84. "gcmc":"结算书名称",
  85. "xmsl": "供应商",
  86. "cjsq": "结算书划分",
  87. "djr":"创建时间",
  88. "status":"2",
  89. "pid": "${data.id}"
  90. },
  91. </c:forEach>
  92. </c:if>
  93. <c:forEach items="${page.list}" var="item" varStatus="index">
  94. <c:forEach items="${item.wbsItems}" var="items" varStatus="index">
  95. {
  96. "id": "${items.id}",
  97. "type":"${items.type}",
  98. "gcmc":"${items.itemName}",
  99. "xmsl": "${items.unit}",
  100. "cjsq":"<c:if test="${items.type eq '1'}">架空线路</c:if><c:if test="${items.type eq '2'}">电缆线路</c:if><c:if test="${items.type eq '3'}">变电站工程</c:if>",
  101. "djr":"<fmt:formatDate value="${items.createDate}" pattern="yyyy/MM/dd"/>",
  102. "status":"3",
  103. "pid": "${items.projectId}"
  104. },
  105. </c:forEach>
  106. </c:forEach>
  107. ],
  108. done: function () {
  109. $(".myspan").closest("tr").css('background-color','#f2f2f2');
  110. // $("#br_div").closest("tr").css('height','break-word');
  111. layer.closeAll('loading');
  112. }
  113. });
  114. };
  115. renderTable1();
  116. // treetable.foldAll('#table1');
  117. table.on('tool(table1)', function(obj,target){
  118. var data = obj.data;
  119. if(obj.event == 'add'){ //添加项目
  120. $("#addtext").val(data.id);
  121. layui.use(['table','layer'],function(){
  122. layer.open({
  123. type: 2,
  124. title: '添加结算书',
  125. offset:['7%','20%'],
  126. area: ['60%', '90%'],
  127. shade: 0.8,
  128. shadeClose: true,
  129. content: '${ctxp}/webpage/modules/sg/project/addItemForm.jsp'
  130. , btn: ['确定','关闭']
  131. ,yes: function(index, layero){
  132. // var bodyparent = layer.getChildFrame('body', index);
  133. // bodyparent.find('#newProject').click();
  134. var body = layer.getChildFrame('body', index);
  135. var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
  136. var inputForm = body.find('#inputForm');
  137. var top_iframe;
  138. if(target){
  139. top_iframe = target;//如果指定了iframe,则在改frame中跳转
  140. }else{
  141. top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
  142. }
  143. inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
  144. iframeWin.contentWindow.doSubmit();
  145. // layer.close(index);//关闭对话框。
  146. }
  147. ,btn2: function(index, layero){
  148. layer.close(index);
  149. }
  150. })
  151. })
  152. }
  153. });
  154. });
  155. function refresh(){ //刷新
  156. $("#fromSumbit").submit();
  157. }
  158. function addProject(){ //添加工程
  159. layui.use(['table','layer'],function(){
  160. layer.open({
  161. type: 2,
  162. title: '添加工程',
  163. offset:['7%','20%'],
  164. area: ['60%', '90%'],
  165. shade: 0.8,
  166. shadeClose: true,
  167. content: '${ctxp}/webpage/modules/sg/project/addprojectForm.jsp'
  168. , btn: ['确定','关闭']
  169. ,yes: function(index, layero){
  170. var bodyparent = layer.getChildFrame('body', index); //当前页面 获取子类(弹出层body)的属性
  171. bodyparent.find('#btnSub').click(); //获取子类页面的按钮,点击事件。
  172. }
  173. ,btn2: function(index, layero){
  174. layer.close(index);
  175. }
  176. })
  177. })
  178. }
  179. function look(url) { //工程 查看
  180. layer.open({
  181. type: 2,
  182. title: '查看',
  183. area: ['70%', '90%'],
  184. offset:['7%','14%'],
  185. shade: 0.8,
  186. shadeClose: true,
  187. fixed: true, //不固定
  188. maxmin: true,
  189. content: url,//查看的路径
  190. btn: ['关闭']
  191. })
  192. }
  193. function withhold(url) { //诚信扣款
  194. layer.open({
  195. type: 2,
  196. title: '诚信扣款',
  197. area: ['70%', '90%'],
  198. offset:['7%','14%'],
  199. shade: 0.8,
  200. shadeClose: true,
  201. fixed: true, //不固定
  202. maxmin: true,
  203. content: url,//查看的路径
  204. btn: ['确定','关闭'],
  205. yes: function(index, layero){
  206. var bodyparent = layer.getChildFrame('body', index); //获取子类页面body下内容
  207. bodyparent.find('#updatebtn').click(); // 点击修改页面隐藏的按钮
  208. }
  209. ,btn2: function(index, layero){
  210. layer.close(index);
  211. }
  212. })
  213. }
  214. function materialOffset(url) { //甲供材扣抵
  215. layer.open({
  216. type: 2,
  217. title: '甲供材扣抵',
  218. area: ['70%', '90%'],
  219. offset:['7%','14%'],
  220. shade: 0.8,
  221. shadeClose: true,
  222. fixed: true, //不固定
  223. maxmin: true,
  224. content: url,//查看的路径
  225. btn: ['确定','关闭'],
  226. yes: function(index, layero){
  227. var bodyparent = layer.getChildFrame('body', index); //获取子类页面body下内容
  228. bodyparent.find('#updatebtn').click(); // 点击修改页面隐藏的按钮
  229. }
  230. ,btn2: function(index, layero){
  231. layer.close(index);
  232. }
  233. })
  234. }
  235. function taxDeductions(url) { //税金处理
  236. layer.open({
  237. type: 2,
  238. title: '税金处理',
  239. area: ['70%', '90%'],
  240. offset:['7%','14%'],
  241. shade: 0.8,
  242. shadeClose: true,
  243. fixed: true, //不固定
  244. maxmin: true,
  245. content: url,//查看的路径
  246. btn: ['确定','关闭'],
  247. yes: function(index, layero){
  248. var bodyparent = layer.getChildFrame('body', index); //获取子类页面body下内容
  249. bodyparent.find('#updatebtn').click(); // 点击修改页面隐藏的按钮
  250. }
  251. ,btn2: function(index, layero){
  252. layer.close(index);
  253. }
  254. })
  255. }
  256. function update(url) { //修改
  257. layer.open({
  258. type: 2,
  259. title: '修改工程',
  260. area: ['70%', '90%'],
  261. offset:['6%','14%'],
  262. shade: 0.8,
  263. shadeClose: true,
  264. fixed: false, //不固定
  265. maxmin: true,
  266. content: url
  267. , btn: ['确定','关闭']
  268. ,yes: function(index, layero){
  269. var bodyparent = layer.getChildFrame('body', index); //获取子类页面body下内容
  270. bodyparent.find('#updatebtn').click(); // 点击修改页面隐藏的按钮
  271. }
  272. ,btn2: function(index, layero){
  273. layer.close(index);
  274. }
  275. })
  276. }
  277. function deleteItem(id) { //逻辑删除项目
  278. layer.msg('您确定要删除吗?', {
  279. icon: 3
  280. , time: 0 //不自动关闭
  281. ,offset:['38%','38%']
  282. , btn: ['确定', '取消']
  283. , yes: function (index) {
  284. $.ajax({
  285. type: "post",
  286. url: "${ctx}/project/tem/deleteItem",
  287. data: {'id': id},
  288. dataType: "json",
  289. success: function (data) {
  290. if (data.success) {
  291. layer.close(index);
  292. var text = $("#delPro"+data.msg).closest('tr').find("td").eq("1").find("div").html();
  293. $("#del"+id).closest('tr').remove();
  294. if (text-1 >= 0){
  295. $("#delPro"+data.msg).closest('tr').find("td").eq("1").find("div").html(text-1);
  296. }else {
  297. $("#delPro"+data.msg).closest('tr').find("td").eq("1").find("div").html(0);
  298. }
  299. } else {
  300. layer.msg(data.msg, {icon: 5,offset:['40%','40%']});
  301. }
  302. }
  303. })
  304. }
  305. })
  306. }
  307. function deleteProject(id) {//删除工程
  308. layer.msg('您确定要删除吗?', {
  309. icon: 3
  310. , time: 0 //不自动关闭
  311. , btn: ['确定', '取消']
  312. ,offset:['38%','38%']
  313. , yes: function (index) {
  314. $.ajax({
  315. type: "post",
  316. url: "${ctx}/project/deleteProject",
  317. data: {'id': id},
  318. dataType: "json",
  319. success: function (data) {
  320. if (data.success) {
  321. layer.close(index);
  322. $("[self-id="+id+"]").closest('tr').remove();
  323. $("#delPro"+id).closest('tr').remove();
  324. } else {
  325. layer.msg(data.msg, {icon: 5,offset:['37%','37%']});
  326. }
  327. }
  328. })
  329. }
  330. })
  331. }
  332. $(document).ready(function(e) { //触发隐藏的 搜索框
  333. $("#noneBtn").click(function(e) {
  334. $("#noneDiv").toggle();
  335. })
  336. });
  337. </script>