management.jsp 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381
  1. <%--
  2. Created by IntelliJ IDEA.
  3. User: user
  4. Date: 2019/8/16
  5. Time: 14:49
  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. <!DOCTYPE html>
  11. <html>
  12. <head>
  13. <title>工程管理</title>
  14. <link rel="stylesheet" href="${ctxp}/static/plugin/assets/layui/css/layui.css">
  15. <link rel="stylesheet" href="${ctxp}/static/plugin/assets/common.css"/>
  16. <link rel="stylesheet" href="${ctxp}/static/plugin/assets/vermeit.css">
  17. <script type="text/javascript" src="${ctxp}/static/plugin/assets/jquery-3.2.1.min.js"></script>
  18. <script src="${ctxp}/static/plugin/assets/layui/layui.js"></script>
  19. </head>
  20. <style>
  21. .layui-input{
  22. height: 28px;
  23. margin-top: 5px;
  24. width: 260px;
  25. }
  26. .input-meself-time{
  27. font-size: 13px;
  28. width: 140px;
  29. }
  30. .btn_out{
  31. width: 100px;
  32. margin: 0;
  33. float: right;
  34. margin-right:2%;
  35. }
  36. .div_main_form{
  37. width: 50%;
  38. margin-left: 10px;
  39. }
  40. .layui-icon-layer{
  41. display: none;
  42. }
  43. .layui-icon-file{
  44. display: none;
  45. }
  46. .layui-table-view .layui-table {width:100%}
  47. </style>
  48. <body style="height:100%">
  49. <input style="display: none;" id="addtext" value=""/>
  50. <div class="layui-main-bgc">
  51. <sys:message content="${message}"/>
  52. <div class="layui-row layui-col-space15">
  53. <div class="layui-col-md12">
  54. <div class="layui-card">
  55. <div class="layui-card-header layui-card-header-add">工程管理</div>
  56. <div class="layui-card-body" id="noneDiv" style="display: none">
  57. <div class="layui-meself-bgc">
  58. <form class="layui-form" action="${ctx}/project/list" style="margin-top: 10px;" method="post">
  59. <div class="layui-form-item">
  60. <div class="layui-inline">
  61. <div class="col-xs-12 col-sm-6 col-md-4" style="margin-left: 20px">
  62. <label class="layui-font-style">工程名称:</label>
  63. <input type="text" name="projectName" autocomplete="off" class="layui-input">
  64. </div>
  65. </div>
  66. <div class="layui-inline">
  67. <div class="col-xs-12 col-sm-6 col-md-4" style="margin-left: 20px">
  68. <label class="layui-font-style">登记人:</label>
  69. <input type="text" name="createBy" autocomplete="off" class="layui-input">
  70. </div>
  71. </div>
  72. <div class="layui-inline">
  73. <div class="col-xs-12 col-sm-6 col-md-4" style="margin-left: 20px">
  74. <label class="layui-font-style">工程登记时间:</label>
  75. <table>
  76. <tbody>
  77. <tr>
  78. <td> <input type="text" name="projectStartDate" id="beginDate1" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input input-meself-time"></td>
  79. <td>~</td>
  80. <td> <input type="text" name="projectEndDate" id="endDate1" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input input-meself-time"></td>
  81. </tr>
  82. </tbody>
  83. </table>
  84. </div>
  85. </div>
  86. </div>
  87. <div class="layui-form-item">
  88. <div class="layui-inline">
  89. <div class="col-xs-12 col-sm-6 col-md-4" style="margin-left: 20px">
  90. <label class="layui-font-style">项目名称:</label>
  91. <input type="text" name="itemName" autocomplete="off" class="layui-input">
  92. </div>
  93. </div>
  94. <div class="layui-inline">
  95. <div class="col-xs-12 col-sm-6 col-md-4" style="margin-left: 20px">
  96. <label class="layui-font-style">项目划分:</label>
  97. <input type="text" name="type" autocomplete="off" class="layui-input">
  98. </div>
  99. </div>
  100. <div class="layui-inline">
  101. <div class="col-xs-12 col-sm-6 col-md-4" style="margin-left: 20px">
  102. <label class="layui-font-style">施工单位:</label>
  103. <input type="text" name="unit" autocomplete="off" class="layui-input">
  104. </div>
  105. </div>
  106. </div>
  107. <div class="layui-form-item">
  108. <div class="layui-inline">
  109. <div class="col-xs-12 col-sm-6 col-md-4" style="margin-left: 20px">
  110. <label class="layui-font-style">项目登记时间:</label>
  111. <table>
  112. <tbody>
  113. <tr>
  114. <td><input type="text" name="itemStartDate" id="beginDate2" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input input-meself-time"></td>
  115. <td>~</td>
  116. <td> <input type="text" name="itemEndDate" id="endDate2" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input input-meself-time"></td>
  117. </tr>
  118. </tbody>
  119. </table>
  120. </div>
  121. </div>
  122. <div class="layui-inline">
  123. <div class="col-xs-12 col-sm-6 col-md-4 layui-mesl-mit">
  124. <button class="layui-btn layui-btn-primary layui-btn-radius formbtn" lay-submit="" lay-filter="mybtnsubmit">查询</button>
  125. <button type="reset" class="layui-btn layui-btn-primary layui-btn-radius formbtn" style="margin-left: 1px">重置</button>
  126. </div>
  127. </div>
  128. </div>
  129. </form>
  130. </div>
  131. </div>
  132. <div class="layui-card-body">
  133. <div class="" style="margin-left: 10px;margin-right: 10px;margin-top: 10px;">
  134. <div class="layui-btn-group">
  135. <button type="button" class="layui-btn layui-btn-normal layui-btn-meself" onclick="addProject()"><i class="layui-icon"></i>新建</button>
  136. <button type="button" class="layui-btn layui-btn-primary layui-btn-meself" onclick="refresh()"><img class="layui-meself-img1" src="${ctxp}/icon/refush.png" alt="">&nbsp;刷新</button>
  137. </div>
  138. <div class="layui-btn-group" style="float: right;margin-right: 10px;border: 1px solid rgb(204,204,204)">
  139. <button type="button" class="layui-btn layui-btn-primary layui-btn-sm" id="noneBtn"><img class="layui-meself-img" src="${ctxp}/icon/solr.png" alt=""></button>
  140. <%--<button type="button" class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon"></i></button>--%>
  141. <%--<button type="button" class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon"></i></button>--%>
  142. <%--<button type="button" class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon"></i></button>--%>
  143. </div>
  144. <table id="table1" class="layui-table" lay-filter="table1"></table>
  145. </div>
  146. </div>
  147. </div>
  148. </div>
  149. </div>
  150. </div>
  151. <script>
  152. layui.use(['form', 'layedit', 'laydate'], function(){
  153. var form = layui.form
  154. ,layer = layui.layer
  155. ,layedit = layui.layedit
  156. ,laydate = layui.laydate;
  157. //日期
  158. laydate.render({
  159. elem: '#beginDate1'
  160. });
  161. laydate.render({
  162. elem: '#endDate1'
  163. });
  164. laydate.render({
  165. elem: '#beginDate2'
  166. });
  167. laydate.render({
  168. elem: '#endDate2'
  169. });
  170. });
  171. </script>
  172. <script>
  173. layui.config({
  174. base: '${ctxp}/static/plugin/assets/'
  175. }).extend({
  176. treetable: 'treetable-lay/treetable'
  177. }).use(['layer', 'table', 'treetable'], function () {
  178. var $ = layui.jquery;
  179. var table = layui.table;
  180. var layer = layui.layer;
  181. var treetable = layui.treetable;
  182. var renderTable1 = function () {
  183. layer.load(2);
  184. treetable.render({
  185. treeColIndex: 0,
  186. treeSpid: -1,
  187. treeIdName: 'id',
  188. treePidName: 'pid',
  189. treeDefaultClose: false,
  190. treeLinkage: false,
  191. elem: '#table1',
  192. cols: [[
  193. {field: 'gcmc',width:200,title: '工程名称'},
  194. {field:'xmsl',width:180,title:"项目数量"},
  195. {field:'cjsq',width:200,title: '创建时期'},
  196. {field:'djr',width:200,title:'登记人'},
  197. {field:'op',align:'center',title:"操作",minWidth:200,templet:function(d){
  198. ////对操作进行初始化
  199. var xml = "";
  200. if(d.status==1){
  201. xml += "<a class='layui-btn layui-btn-primary layui-btn-xs' onclick=\"look( '${ctx}/project/form?id=" + d.id + "&tabId=1')\">查看</a>"
  202. +"<a class='layui-btn layui-btn-xs' onclick=\"update( '${ctx}/project/form?id=" + d.id + "&tabId=2')\">修改</a>"
  203. +"<a class='layui-btn layui-btn-normal layui-btn-xs' lay-event='add'>添加项目</a>"
  204. +"<a class='layui-btn layui-btn-warm layui-btn-xs' lay-event=''href=\"${ctx}/project/export?id=" + d.id+"\">导出</a>";
  205. }
  206. if(d.status==2){
  207. xml +="<span class='myspan'>操作</span>";
  208. }
  209. if(d.status==3){
  210. xml +="<a class='layui-btn layui-btn-xs' href=\"${ctx}/jkxl/list?id="+d.id+"&type="+d.type+"\">编辑</a>";
  211. }
  212. return xml;
  213. }}
  214. ]],
  215. "data": [
  216. <c:if test="${ not empty list}">
  217. <c:forEach items="${list}" var="data" varStatus="index">
  218. {
  219. "id": "${data.id}",
  220. "gcmc":"${data.projectName}",
  221. "xmsl": "${data.number}",
  222. "cjsq": "<fmt:formatDate value="${data.createDate}" pattern="yyyy/MM/dd"/>",
  223. "djr":"${data.userName}",
  224. "status":"1",
  225. "pid": -1
  226. },
  227. {
  228. "id": "2",
  229. "gcmc":"项目名称",
  230. "xmsl": "施工单位",
  231. "cjsq": "项目划分",
  232. "djr":"创建时间",
  233. "status":"2",
  234. "pid": "${data.id}"
  235. },
  236. </c:forEach>
  237. </c:if>
  238. <c:forEach items="${list}" var="item" varStatus="index">
  239. <c:forEach items="${item.wbsItems}" var="items" varStatus="index">
  240. {
  241. "id": "${items.id}",
  242. "type":"${items.type}",
  243. "gcmc":"${items.itemName}",
  244. "xmsl": "某施工单位一",
  245. <%--"cjsq": <c:if test="${items.type eq '1'}">"架空线路"</c:if><c:if test="${items.type eq '2'}">"电缆线路"</c:if>,--%>
  246. "cjsq":<c:if test="${items.type eq '1'}">"架空线路"</c:if><c:if test="${items.type eq '2'}">"电缆线路"</c:if>,
  247. "djr":"<fmt:formatDate value="${items.createDate}" pattern="yyyy/MM/dd"/>",
  248. "status":"3",
  249. "pid": "${items.projectId}"
  250. },
  251. </c:forEach>
  252. </c:forEach>
  253. ],
  254. done: function () {
  255. $(".myspan").closest("tr").css('background-color','#f2f2f2');
  256. layer.closeAll('loading');
  257. }
  258. });
  259. };
  260. renderTable1();
  261. treetable.foldAll('#table1');
  262. table.on('tool(table1)', function(obj,target){
  263. var data = obj.data;
  264. //console.log(obj)
  265. if(obj.event == 'add'){
  266. $("#addtext").val(data.id);
  267. layui.use(['table','layer'],function(){
  268. layer.open({
  269. type: 2,
  270. title: '添加工程',
  271. area: ['40%', '80%'],
  272. shade: 0.8,
  273. shadeClose: true,
  274. content: '${ctxp}/webpage/modules/sg/project/addItemForm.jsp'
  275. , btn: ['确定','关闭']
  276. ,yes: function(index, layero){
  277. // var bodyparent = layer.getChildFrame('body', index);
  278. // bodyparent.find('#newProject').click();
  279. var body = layer.getChildFrame('body', index);
  280. var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
  281. var inputForm = body.find('#inputForm');
  282. var top_iframe;
  283. if(target){
  284. top_iframe = target;//如果指定了iframe,则在改frame中跳转
  285. }else{
  286. top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
  287. }
  288. inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
  289. iframeWin.contentWindow.doSubmit();
  290. layer.close(index);//关闭对话框。
  291. }
  292. ,btn2: function(index, layero){
  293. layer.close(index);
  294. }
  295. })
  296. })
  297. }
  298. });
  299. });
  300. </script>
  301. <script>
  302. function refresh(){
  303. window.location.reload();
  304. }
  305. function addProject(){
  306. layer.prompt({title: '请输入工程名称', formType: 3}, function(text, index){
  307. layer.close(index);
  308. $.ajax({
  309. type: "post",
  310. url: "${ctx}/project/save",
  311. data:{projectName:text},
  312. dataType: "json",
  313. success: function(data){
  314. if(data.success){
  315. layer.msg(data.msg, {icon: 1});
  316. window.location.reload();
  317. }else{
  318. layer.msg('添加失败', {icon: 1});
  319. }
  320. }
  321. });
  322. });
  323. }
  324. </script>
  325. <script>
  326. function look(url) {
  327. layer.open({
  328. type: 2,
  329. title: '查看',
  330. area: ['70%', '90%'],
  331. shade: 0.8,
  332. shadeClose: true,
  333. fixed: true, //不固定
  334. maxmin: true,
  335. content: url
  336. , btn: ['关闭']
  337. })
  338. }
  339. function update(url) {
  340. layer.open({
  341. type: 2,
  342. title: '修改工程',
  343. area: ['70%', '90%'],
  344. shade: 0.8,
  345. shadeClose: true,
  346. fixed: false, //不固定
  347. maxmin: true,
  348. content: url
  349. , btn: ['确定','关闭']
  350. ,yes: function(index, layero){
  351. var bodyparent = layer.getChildFrame('body', index);
  352. bodyparent.find('#updatebtn').click();
  353. }
  354. ,btn2: function(index, layero){
  355. layer.close(index);
  356. }
  357. })
  358. }
  359. </script>
  360. <script>
  361. $(document).ready(function(e) {
  362. $("#noneBtn").click(function(e) {
  363. $("#noneDiv").toggle(400);
  364. });
  365. });
  366. </script>
  367. </body>
  368. </html>