management.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  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',width:210,title: '工程名称'},
  43. {field:'xmsl',width:190,title:"结算书数量"},
  44. {field:'cjsq',width:170,title: '创建时期'},
  45. {field:'djr',width:160,title:'登记人'},
  46. {field:'op',align:'center',title:"操作",minWidth:500,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+"\">单体工程导出</a>"
  56. +"<a style='margin-top: 3px;' class='layui-btn layui-btn-warm layui-btn-xs' lay-event=''href=\"${ctx}/project/export?id=" + d.id+"\">导出</a><div>";
  57. }
  58. if(d.status==2){ //项目表头操作
  59. xml +="<span class='myspan'>操作</span>";
  60. }
  61. if(d.status==3){ //项目类型
  62. xml +="<a style='margin-top: 3px;' class='layui-btn layui-btn-xs' href=\"${ctx}/jkxl/list?id="+d.id+"&type="+d.type+"\">编辑</a>"
  63. +"<a style='margin-top: 3px;' class='layui-btn layui-btn-xs layui-btn-danger' id=del"+d.id+" onclick=\"deleteItem('" + d.id + "')\">删除</a>";
  64. }
  65. return xml;
  66. }}
  67. ]],
  68. data: [
  69. <c:if test="${ not empty page.list}">
  70. <c:forEach items="${page.list}" var="data" varStatus="index">
  71. {
  72. "id": "${data.id}",
  73. "gcmc":"${data.projectName}",
  74. "xmsl": "${data.number}",
  75. "cjsq": "<fmt:formatDate value="${data.createDate}" pattern="yyyy/MM/dd"/>",
  76. "djr":"${data.userName}",
  77. "status":"1",
  78. "pid": -1
  79. },
  80. {
  81. "id": "2",
  82. "gcmc":"结算书名称",
  83. "xmsl": "供应商",
  84. "cjsq": "结算书划分",
  85. "djr":"创建时间",
  86. "status":"2",
  87. "pid": "${data.id}"
  88. },
  89. </c:forEach>
  90. </c:if>
  91. <c:forEach items="${page.list}" var="item" varStatus="index">
  92. <c:forEach items="${item.wbsItems}" var="items" varStatus="index">
  93. {
  94. "id": "${items.id}",
  95. "type":"${items.type}",
  96. "gcmc":"${items.itemName}",
  97. "xmsl": "${items.unit}",
  98. "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>",
  99. "djr":"<fmt:formatDate value="${items.createDate}" pattern="yyyy/MM/dd"/>",
  100. "status":"3",
  101. "pid": "${items.projectId}"
  102. },
  103. </c:forEach>
  104. </c:forEach>
  105. ],
  106. done: function () {
  107. $(".myspan").closest("tr").css('background-color','#f2f2f2');
  108. // $("#br_div").closest("tr").css('height','break-word');
  109. layer.closeAll('loading');
  110. }
  111. });
  112. };
  113. renderTable1();
  114. // treetable.foldAll('#table1');
  115. table.on('tool(table1)', function(obj,target){
  116. var data = obj.data;
  117. if(obj.event == 'add'){ //添加项目
  118. $("#addtext").val(data.id);
  119. layui.use(['table','layer'],function(){
  120. layer.open({
  121. type: 2,
  122. title: '添加结算书',
  123. offset:['7%','20%'],
  124. area: ['60%', '90%'],
  125. shade: 0.8,
  126. shadeClose: true,
  127. content: '${ctxp}/webpage/modules/sg/project/addItemForm.jsp'
  128. , btn: ['确定','关闭']
  129. ,yes: function(index, layero){
  130. // var bodyparent = layer.getChildFrame('body', index);
  131. // bodyparent.find('#newProject').click();
  132. var body = layer.getChildFrame('body', index);
  133. var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
  134. var inputForm = body.find('#inputForm');
  135. var top_iframe;
  136. if(target){
  137. top_iframe = target;//如果指定了iframe,则在改frame中跳转
  138. }else{
  139. top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
  140. }
  141. inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
  142. iframeWin.contentWindow.doSubmit();
  143. // layer.close(index);//关闭对话框。
  144. }
  145. ,btn2: function(index, layero){
  146. layer.close(index);
  147. }
  148. })
  149. })
  150. }
  151. });
  152. });
  153. function refresh(){ //刷新
  154. $("#fromSumbit").submit();
  155. }
  156. function addProject(){ //添加工程
  157. layui.use(['table','layer'],function(){
  158. layer.open({
  159. type: 2,
  160. title: '添加工程',
  161. offset:['7%','20%'],
  162. area: ['60%', '90%'],
  163. shade: 0.8,
  164. shadeClose: true,
  165. content: '${ctxp}/webpage/modules/sg/project/addprojectForm.jsp'
  166. , btn: ['确定','关闭']
  167. ,yes: function(index, layero){
  168. var bodyparent = layer.getChildFrame('body', index); //当前页面 获取子类(弹出层body)的属性
  169. bodyparent.find('#btnSub').click(); //获取子类页面的按钮,点击事件。
  170. }
  171. ,btn2: function(index, layero){
  172. layer.close(index);
  173. }
  174. })
  175. })
  176. }
  177. function look(url) { //工程 查看
  178. layer.open({
  179. type: 2,
  180. title: '查看',
  181. area: ['70%', '90%'],
  182. offset:['7%','14%'],
  183. shade: 0.8,
  184. shadeClose: true,
  185. fixed: true, //不固定
  186. maxmin: true,
  187. content: url,//查看的路径
  188. btn: ['关闭']
  189. })
  190. }
  191. function update(url) { //修改
  192. layer.open({
  193. type: 2,
  194. title: '修改工程',
  195. area: ['70%', '90%'],
  196. offset:['6%','14%'],
  197. shade: 0.8,
  198. shadeClose: true,
  199. fixed: false, //不固定
  200. maxmin: true,
  201. content: url
  202. , btn: ['确定','关闭']
  203. ,yes: function(index, layero){
  204. var bodyparent = layer.getChildFrame('body', index); //获取子类页面body下内容
  205. bodyparent.find('#updatebtn').click(); // 点击修改页面隐藏的按钮
  206. }
  207. ,btn2: function(index, layero){
  208. layer.close(index);
  209. }
  210. })
  211. }
  212. function deleteItem(id) { //逻辑删除项目
  213. layer.msg('您确定要删除吗?', {
  214. icon: 3
  215. , time: 0 //不自动关闭
  216. ,offset:['40%','40%']
  217. , btn: ['确定', '取消']
  218. , yes: function (index) {
  219. $.ajax({
  220. type: "post",
  221. url: "${ctx}/project/tem/deleteItem",
  222. data: {'id': id},
  223. dataType: "json",
  224. success: function (data) {
  225. if (data.success) {
  226. layer.msg("删除结算书成功", {icon: 6,offset:['40%','40%']},function () {
  227. var text = $("#delPro"+data.msg).closest('tr').find("td").eq("1").find("div").html();
  228. $("#del"+id).closest('tr').remove();
  229. $("#delPro"+data.msg).closest('tr').find("td").eq("1").find("div").html(text-1);
  230. });
  231. } else {
  232. layer.msg(data.msg, {icon: 5,offset:['40%','40%']});
  233. }
  234. }
  235. })
  236. }
  237. })
  238. }
  239. function deleteProject(id) {//删除工程
  240. layer.msg('您确定要删除吗?', {
  241. icon: 3
  242. , time: 0 //不自动关闭
  243. , btn: ['确定', '取消']
  244. ,offset:['40%','40%']
  245. , yes: function (index) {
  246. $.ajax({
  247. type: "post",
  248. url: "${ctx}/project/deleteProject",
  249. data: {'id': id},
  250. dataType: "json",
  251. success: function (data) {
  252. if (data.success) {
  253. layer.msg(data.msg, {icon: 6,offset:['40%','40%']},function () {
  254. window.location.reload();
  255. })
  256. } else {
  257. layer.msg(data.msg, {icon: 5,offset:['40%','40%']});
  258. }
  259. }
  260. })
  261. }
  262. })
  263. }
  264. $(document).ready(function(e) { //触发隐藏的 搜索框
  265. $("#noneBtn").click(function(e) {
  266. $("#noneDiv").toggle();
  267. })
  268. });
  269. </script>