浏览代码

项目计划安排

Enford 5 年之前
父节点
当前提交
d3b4921ee6

+ 9 - 7
src/main/webapp/webpage/modules/sg/managementcenter/projectPlanArrage/act/constructionDateList.js

@@ -125,37 +125,39 @@ $(document).ready(function() {
                    {
 		        field: 'projectNumber',
 		        title: '项目定义号',
-                width:160
 
             }
                    ,{
                        field: 'projectName',
                        title: '项目名称',
-                       width:120
 
                    }
                    ,{
                        field: 'projectPowerRange',
                        title: '停电范围',
-                       width:110
 
                    }
                    ,{
                        field: 'projectMonthDate',
                        title: '计划月份',
-                       width:160
                    }
                    ,{
                        field: 'constructionUnit',
                        title: '施工单位项目经理',
-                       width:160
                    }
                    ,{
                        field: 'projectDate',
                        title: '安排计划时间',
-                       width:160,
                        formatter: getTime
                    }
+                   ,{
+                       field: 'associatedBag',
+                       title: '关联包',
+                   }
+                   ,{
+                       field: 'powerPackage',
+                       title: '停电包'
+                   }
 		     ]
 		
 		});
@@ -167,7 +169,7 @@ $(document).ready(function() {
             ].join('');
         }else {
             return [
-                "<div class='input-group' id="+row.id+"> <input readonly='readonly' type='text' id="+row.id+"input1234"+" class='form-control required'  value="+row.projectDate+"/></div>" ,
+                "<div class='input-group' style='width: 100%' id="+row.id+"> <input readonly='readonly' type='text' id="+row.id+"input1234"+" class='form-control required'  value="+row.projectDate+"/></div>" ,
             ].join('');
         }
 

+ 10 - 1
src/main/webapp/webpage/modules/sg/managementcenter/projectPlanArrage/act/constructionManageAct.js

@@ -141,7 +141,16 @@
             }, {
                 field: 'constructionUnit',
                 title: '当前操作经理'
-            }, {
+            }
+                ,{
+                    field: 'associatedBag',
+                    title: '关联包',
+                }
+                ,{
+                    field: 'powerPackage',
+                    title: '停电包'
+                }
+            , {
                 field: 'backToText',
                 title: '备注'
             }

+ 289 - 0
src/main/webapp/webpage/modules/sg/managementcenter/projectPlanArrage/act/netActPowerList2.js

@@ -0,0 +1,289 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	$('#projectTable').bootstrapTable({
+		  //请求方法
+               method: 'post',
+               //类型json
+               dataType: "json",
+               contentType: "application/x-www-form-urlencoded",
+               // //显示检索按钮
+	           // showSearch: true,
+               //显示刷新按钮
+               showRefresh: true,
+               // //显示切换手机试图按钮
+               // showToggle: true,
+               // //显示 内容列下拉框
+    	       // showColumns: true,
+    	       // //显示到处按钮
+    	       // showExport: true,
+    	       // //显示切换分页按钮
+    	       // showPaginationSwitch: true,
+    	       //最低显示2行
+    	       minimumCountColumns: 2,
+               //是否显示行间隔色
+               striped: true,
+               //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+               cache: false,
+               //是否显示分页(*)
+               pagination: false,
+                //排序方式
+               sortOrder: "asc",
+               //初始化加载第一页,默认第一页
+                pageNumber:1,
+                // useCurrentPage:true,
+               //每页的记录行数(*)
+               // pageSize: 3000,
+               //可供选择的每页的行数(*)
+               // pageList: [5,10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+               url: "${ctx}/sg/managementCenter/projectPlanArrage/dataPower2",
+               //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+               //queryParamsType:'',
+               ////查询参数,每次调用是会带上这个参数,可自定义
+               queryParams : function(params) {
+               	var searchParam = $("#searchForm").serializeJSON();
+               	searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
+               	searchParam.pageSize = params.limit === undefined? -1 : params.limit;
+               	searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
+                   return searchParam;
+               },
+               //分页方式:client客户端分页,server服务端分页(*)
+               sidePagination: "server",
+               contextMenuTrigger:"right",//pc端 按右键弹出菜单
+               contextMenuTriggerMobile:"press",//手机端 弹出菜单,click:单击, press:长按。
+               contextMenu: '#context-menu',
+               onContextMenuItem: function(row, $el){
+                   if($el.data("item") == "edit"){
+                   		edit(row.id);
+                   }else if($el.data("item") == "view"){
+                       view(row.id);
+                   } else if($el.data("item") == "delete"){
+                        jp.confirm('确认要删除该表单记录吗?', function(){
+                       	jp.loading();
+                       	jp.get("${ctx}/sg/managementcenter/project/delete?id="+row.id, function(data){
+                   	  		if(data.success){
+                   	  			$('#projectTable').bootstrapTable('refresh');
+                   	  			jp.success(data.msg);
+                   	  		}else{
+                   	  			jp.error(data.msg);
+                   	  		}
+                   	  	})
+
+                   	});
+
+                   }
+               },
+                onLoadSuccess:function(data) {
+                    var split = data.rows;
+                    var tb = document.getElementById('projectTable');    // table 的 id
+                    var rows = tb.rows;                           // 获取表格所有行
+                    for (var i =0;i<split.length;i++){
+                        if (split[i].htmlStatus=="1"){
+                            // this.data.rows[i].setAttribute("style","color: red;");
+                            rows[i+1].style.color = "red"
+                        }
+                    }
+                },
+                onClickRow: function(row, $el){
+               },
+
+            onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+               columns: [
+                   {
+		        field: 'projectNumber',
+		        title: '项目定义号',
+                width:160
+
+            }
+                   ,{
+                       field: 'projectName',
+                       title: '项目名称',
+                       width:120
+
+                   }
+                   ,{
+                       field: 'projectMonthDate',
+                       title: '停电月份',
+                       width:110
+
+                   }
+                   ,{
+                       field: 'projectPowerRange',
+                       title: '停电范围',
+                       width:110
+
+                   }
+                   ,{
+                       field: 'projectPowerOut',
+                       title: '是否带电',
+                       width:160,
+                       formatter: getTime
+                   },{
+                       field: 'constructionUnit',
+                       title: '施工单位项目经理',
+
+                   }
+                   ,{
+                       field: 'associatedBag',
+                       title: '关联包',
+                   }
+                   ,{
+                       field: 'powerPackage',
+                       title: '停电包'
+                   }
+		     ]
+		});
+    function getTime(value, row, index) {
+        if(row.projectPowerOut == "带电") {
+            return [
+                "<select class='form-control' id=" + row.id + "><option value='停电'>停电</option><option value='带电'  selected>带电</option><select>",
+            ].join('');
+        }else {
+            return [
+                "<select class='form-control' id=" + row.id + "><option value='停电'  selected>停电</option><option value='带电' >带电</option><select>",
+            ].join('');
+        }
+    }
+    // onclick='submit("+row.id+")'
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+
+		 
+		  $('#projectTable').bootstrapTable("toggleView");
+		}
+	  
+	  $('#projectTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+                'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#projectTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#projectTable').bootstrapTable('getSelections').length!=1);
+        });
+		    
+	  $("#search").click("click", function() {// 绑定查询按扭
+		  $('#projectTable').bootstrapTable('refresh');
+		});
+	 
+	 $("#reset").click("click", function() {// 绑定查询按扭
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		  $("#searchForm  .select-item").html("");
+		  $('#projectTable').bootstrapTable('refresh');
+		});
+		
+		$('#beginBeginDate').datetimepicker({
+			 format: "YYYY-MM-DD HH:mm:ss"
+		});
+		$('#endBeginDate').datetimepicker({
+			 format: "YYYY-MM-DD HH:mm:ss"
+		});
+		$('#endDate').datetimepicker({
+			 format: "YYYY-MM-DD HH:mm:ss"
+		});
+		
+	});
+		
+  function getIdSelections() {
+        return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+    function getDate() {
+        return $.map($("#projectTable").bootstrapTable('getData'), function (row) {
+            return row
+        });
+    }
+    // function f() {
+    //
+    // }
+    //刷新列表
+  function refresh(){
+  	$('#projectTable').bootstrapTable('refresh');
+  }
+  
+   function add(){
+	  jp.openSaveDialog('新增项目计划安排', "${ctx}/sg/managementCenter/constructionProject/form",'800px', '500px');
+  }
+  // function submit(data) {
+  //     alert("1");
+  //     alert(data);
+  // }
+
+  
+   function edit(id){//没有权限时,不显示确定按钮
+       if(id == undefined){
+	      id = getIdSelections();
+	}
+	jp.openSaveDialog('编辑项目管理表单', "${ctx}/sg/managementcenter/project/form?id=" + id, '800px', '500px');
+  }
+  
+ function view(id){//没有权限时,不显示确定按钮
+      if(id == undefined){
+             id = getIdSelections();
+      }
+        jp.openViewDialog('查看项目管理表单', "${ctx}/sg/managementcenter/project/form?id=" + id, '800px', '500px');
+ }
+
+function save() {
+    var date = getDate();
+    var idPower = "";
+    var id = "";
+    for (var i = 0; i < date.length; i++){
+        id = date[i].id;
+        idPower += date[i].id + "," + $("#"+id).val() + ";";
+    }
+    idPower = idPower.substring(0,idPower.length-1);
+    $("#idPower").val(idPower);
+    jp.loading();
+    jp.post("${ctx}/sg/managementCenter/projectPlanArrage/inspectionNetWork",$('#inputForm').serialize(),function(data){
+        if(data.success){
+            refresh();
+            // $('#projectTable').bootstrapTable('refresh');
+            jp.success(data.msg);
+        }else{
+            jp.error(data.msg);
+        }
+    })
+}
+
+function saveSure(){
+    var date = getDate();
+    var idPower = "";
+    var id = "";
+    for (var i = 0; i < date.length; i++){
+        id = date[i].id;
+        idPower += date[i].id + "," + $("#"+id).val() + ";";
+    }
+    idPower = idPower.substring(0,idPower.length-1);
+    return idPower;
+    // $("#idPower").val(idPower);
+    // jp.loading();
+    // jp.post("${ctx}/sg/managementCenter/projectPlanArrage/sureInspection",$('#inputForm').serialize(),function(data){
+    //     if(data.success){
+    //         jp.confirm('带电项目在停电开关集合,是否通过?', function () {
+    //             var dialogIndex = parent.layer.getFrameIndex(window.name); // 获取窗口索引
+    //             // parent.layer.close(dialogIndex);
+    //             addDatePlan();
+    //             jp.success("项目计划流程发起");
+    //             jp.go("${ctx}/act/task/todo");
+    //         })
+    //     }else{
+    //         var dialogIndex = parent.layer.getFrameIndex(window.name); // 获取窗口索引
+    //         parent.layer.close(dialogIndex);
+    //         addDatePlan();
+    //     }
+    // })
+}
+
+
+// function addDatePlan() {
+//     jp.post("${ctx}/sg/managementCenter/projectPlanArrage/save",function(data){
+//         if(data.success){
+//             jp.success("项目计划流程发起");
+//             jp.go("${ctx}/act/task/todo")
+//         }else {
+//             jp.error("流程发起失败,请重新发起!");
+//         }
+//     })
+// }
+</script>

+ 33 - 0
src/main/webapp/webpage/modules/sg/managementcenter/projectPlanArrage/act/netActPowerList2.jsp

@@ -0,0 +1,33 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目计划安排</title>
+	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
+	<meta name="decorator" content="ani"/>
+	<%@ include file="/webpage/include/bootstraptable.jsp"%>
+	<%@include file="/webpage/include/treeview.jsp" %>
+	<%@include file="netActPowerList2.js" %>
+</head>
+<script>
+
+</script>
+<body>
+	<div class="wrapper wrapper-content">
+	<div class="panel panel-primary">
+	<%--<div class="panel-heading">--%>
+		<%--<h3 class="panel-title">安排计划时间</h3>--%>
+	<%--</div>--%>
+	<div class="panel-body">
+	<!-- 工具栏 -->
+
+	<!-- 表格 -->
+		<form id="inputForm">
+			<input value="" name="ids" id="idPower" type="hidden">
+		</form>
+		<table id="projectTable"  style="table-layout:fixed"  data-toolbar="#toolbar"></table>
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 151 - 74
src/main/webapp/webpage/modules/sg/managementcenter/projectPlanArrage/act/netWorkManageAct.js

@@ -1,12 +1,12 @@
 <%@ page contentType="text/html;charset=UTF-8" %>
-<script type="text/javascript">
+    <script type="text/javascript">
     $(document).ready(function() {
         var projectId = $('#projectId').val();
-        //zTree初始化
-        // $.getJSON("${ctx}/sg/managementCenter/projectPlanArrage/bootstrapNetWorkTreeTable?projectId="+projectId,function(data){
-        //     jstree(data);
-        //     dateTimeValue('1');
-        // });
+        // zTree初始化
+        $.getJSON("${ctx}/sg/managementCenter/projectPlanArrage/bootstrapNetWorkTreeTable?projectId="+projectId,function(data){
+            jstree(data);
+            dateTimeValue('1');
+        });
         $('#selectId').click(function () {
             var object = $('#jstree').treeview('getChecked');
             if (object.length<1){
@@ -43,38 +43,6 @@
                 silent : false//设置初始化节点关闭
             });
         });
-        //搜索
-        var search1 = function(e) {
-            var pattern = $.trim($('#input-search1').val());
-            var options = {
-                ignoreCase: $('#chk-ignore-case').is(':checked'),
-                exactMatch: $('#chk-exact-match').is(':checked'),
-                revealResults: $('#chk-reveal-results').is(':checked')
-            };
-            $('#jstreeTime').treeview('search', [ $.trim($('#input-search1').val()), { ignoreCase: false, exactMatch: false } ]);
-            var results = $('#jstreeTime').treeview('search', [ pattern, options ]);
-        }
-        $('#btn-search1').on('click', search1);
-        $('#btn-clear-search1').on('click', function (e) {
-            $('#jstreeTime').treeview('clearSearch');
-            $('#input-search1').val('');
-            $('#jstreeTime').treeview('collapseAll', {
-                silent : false//设置初始化节点关闭
-            });
-        });
-        $('#selectId1').click(function () {
-            var object = $('#jstreeTime').treeview('getChecked');
-            if (object.length<1){
-                jp.error("请选择项目!");
-                return false;
-            }
-            var str = "";
-            for (var  i = 0; i < object.length; i++) {
-                str+=object[i].id+",";
-            }
-            var sureStr  = str.substring(0,str.length-1);
-            minus(sureStr);
-        })
         //表格初始化
         $('#table').bootstrapTable({
             //请求方法
@@ -126,10 +94,6 @@
                 var tb = document.getElementById('table');    // table 的 id
                 var rows = tb.rows;                           // 获取表格所有行
                 for (var i =0;i<split.length;i++){
-                    // if (split[i].htmlStatus=="1"){
-                    //     // this.data.rows[i].setAttribute("style","color: red;");
-                    //     rows[i+1].style.backgroundColor = "#d25138"
-                    // }
                     if (split[i].htmlStatus=="2"){
                         // this.data.rows[i].setAttribute("style","color: red;");
                         rows[i+1].style.backgroundColor = "#BDD2AE"
@@ -163,11 +127,22 @@
                 title: '是否停电'
             }, {
                 field: 'constructionUnit',
-                title: '施工单位项目经理'
-            }, {
-                field: 'backToText',
-                title: '备注'
+                title: '当前操作经理'
             }
+                ,{
+                    field: 'associatedBag',
+                    title: '关联包',
+                }
+                ,{
+                    field: 'powerPackage',
+                    title: '停电包'
+                }
+                , {
+                    field: 'backToText',
+                    title: '备注'
+                }
+
+
             ]
 
         });
@@ -208,19 +183,6 @@ function jstree(date) {
         showCheckbox:true,
     });
 }
-function jstreeTime(date) {
-    $('#jstreeTime').treeview({
-        data: date,
-        levels: 1,
-        highlightSelected:false,
-        showCheckbox:true,
-        onNodeSelected: function(event, treeNode) {
-            var id = treeNode.id;
-            jp.openSaveDialog('编辑安排计划项目', "${ctx}/sg/managementCenter/constructionProject/formPlan?id=" + id, '800px', '500px');
-        },
-
-    });
-}
 function dateTimeValue(value) {
     if (value != '1'){
         $("#dateTimeId").val(value);
@@ -284,6 +246,52 @@ function getIdSelections() {
         return row.id
     });
 }
+
+function addPowerFlag() {
+    top.layer.open({
+        type: 2,
+        area: ['900px', '500px'],
+        title: '人工选择是否带电',
+        maxmin: true, //开启最大化最小化按钮
+        content: "${ctx}/sg/managementCenter/projectPlanArrage/netWorkElectrified",
+        btn: ['检验','确定','关闭'],
+        btn1:function(index,layero){
+            var iframeWin = layero.find('iframe')[0]; //得到弹出的窗口对象,执行窗口内iframe页的方法:iframeWin.method();
+            iframeWin.contentWindow.save();//调用保存事件,在 弹出页内,需要定义save方法。处理保存事件。s
+        },
+        btn2: function(index,layero){
+            var iframeWin = layero.find('iframe')[0]; //得到弹出的窗口对象,执行窗口内iframe页的方法:iframeWin.method();
+            var power = iframeWin.contentWindow.saveSure();
+            $("#idPower").val(power)
+            jp.loading();
+            jp.post("${ctx}/sg/managementCenter/projectPlanArrage/sureNetWorkInspection",$('#inputFormIds').serialize(),function(data){
+                if(data.success){
+                    jp.confirm('带电项目在停电开关集合,是否通过?', function () {
+                        newWorkSubmit();
+                        // addDatePlan();
+                        // jp.success("项目计划流程发起");
+                        top.layer.close(index);
+                        // jp.go("${ctx}/act/task/todo");
+                    })
+                }else{
+                    top.layer.close(index);
+                    newWorkSubmit();
+                    // addDatePlan();
+                    // jp.success("检验失败");
+                    // jp.go("${ctx}/act/task/todo");
+                }
+            })
+            return false;
+        },
+        btn3: function(index){
+            top.layer.close(index);
+        },
+        cancel:function (index) {
+            top.layer.close(index);
+        }
+    });
+}
+
 function newWorkSubmit() {
     top.layer.open({
         type: 2,
@@ -320,21 +328,6 @@ function newWorkSubmit() {
             top.layer.close(index);
         }
     });
-    // jp.prompt("审核通过", function (message) {
-    //     jp.post("${ctx}/sg/managementCenter/projectPlanArrage/newWorkRunProInsId",
-    //         {
-    //             "flag": "yes",
-    //             "comment": window.encodeURI(message)
-    //         },
-    //         function (data) {
-    //             if(data.success){
-    //                 jp.success(data.msg);
-    //                 jp.go("${ctx}/act/task/todo")
-    //             }else {
-    //                 jp.error(data.msg);
-    //             }
-    //         })
-    // });
 }
 function planSuccess() {
     jp.prompt("审核通过", function (message) {
@@ -353,4 +346,88 @@ function planSuccess() {
             })
     });
 }
+
+function planPowerPacker(ids){
+    if(!ids){
+        ids =  getIdSelections();
+    }
+    if (null!=ids&&""!=ids){
+        $.post("${ctx}/sg/managementCenter/projectPlanArrage/unNetplannedPackage?ids=" +ids, function(data){
+            if(data.success){
+                jstree(data.mapListTree);
+                refresh();
+                jp.success(data.message);
+            }else{
+                jp.error(data.message);
+            }
+        })
+    } else {
+        jp.error("请选择项目!");
+    }
+}
+//取消停电包
+function cancelPowerPacker(ids){
+    if(!ids){
+        ids =  getIdSelections();
+    }
+    if (null!=ids&&""!=ids){
+        $.post("${ctx}/sg/managementCenter/projectPlanArrage/cancelNetPackage?ids=" +ids, function(data){
+            if(data.success){
+                jstree(data.mapListTree);
+                refresh();
+                jp.success(data.message);
+            }else{
+                jp.error(data.message);
+            }
+        })
+    } else {
+        jp.error("请选择项目!");
+    }
+
+}
+
+
+// 选中所有子节点时,选中父节点 取消子节点时取消父节点
+function setParentNodeCheck(node) {
+    var parentNode = $("#jstree").treeview("getNode", node.parentId);
+    if (parentNode.children) {
+        var checkedCount = 0;
+        for (x in parentNode.children) {
+            if (parentNode.children[x].state.checked) {
+                checkedCount++;
+            } else {
+                break;
+            }
+        }
+        if (checkedCount == parentNode.children.length) {  //如果子节点全部被选 父全选
+            $("#jstree").treeview("checkNode", parentNode.nodeId);
+            setParentNodeCheck(parentNode);
+        } else {   //如果子节点未全部被选 父未全选
+            $('#jstree').treeview('uncheckNode', parentNode.nodeId);
+            setParentNodeCheck(parentNode);
+        }
+    }
+}
+
+// 取消父节点时 取消所有子节点
+function setChildNodeUncheck(node) {
+    if (node.children) {
+        var ts = [];    //当前节点子集中未被选中的集合
+        for (x in node.children) {
+            if (!node.children[x].state.checked) {
+                ts.push(node.children[x].nodeId);
+            }
+            if (node.children[x].nodes) {
+                var getNodeDieDai = node.children[x];
+                console.log(getNodeDieDai);
+                for (j in getNodeDieDai) {
+                    if (!getNodeDieDai.state.checked) {
+                        ts.push(getNodeDieDai[j]);
+                    }
+                }
+            }
+        }
+    }
+    return ts;
+}
 </script>

+ 81 - 11
src/main/webapp/webpage/modules/sg/managementcenter/projectPlanArrage/act/netWorkManageAct.jsp

@@ -19,32 +19,45 @@
         <div class="panel-body">
             <div class="wrapper wrapper-content">
                 <input type="text" value="${projectId}" id="projectId" hidden="hidden"/>
+                <input type="text" value="" id="ids" hidden="hidden">
                 <div class="row">
                     <%--未安排计划的树形--%>
-                    <%--<div class="col-sm-3 col-md-3">--%>
-                        <%--<div id="jstree" style="height:400px;overflow:auto;"></div>--%>
-                    <%--</div>--%>
-                    <%--<div  class="col-sm-9 col-md-9 animated fadeInRight">--%>
+                    <div class="col-sm-3 col-md-3">
+                        <div style="margin-top: 11px">
+                            <label>
+                                <input type="input" class="form-control" id="input-search" style="width: 200px;float: left">
+                                <button type="button" class="btn btn-success select-node" id="btn-search" style="float: left" >搜索</button>
+                            </label>
+                        </div>
+                        <div id="jstree" style="height:370px;overflow:auto;"></div>
+                    </div>
+                    <div  class="col-sm-9 col-md-9 animated fadeInRight">
                         <!-- 工具栏 -->
                         <div id="toolbar">
-                            <%--<button id="selectId" class="btn btn-warning">--%>
-                                <%--安排选择计划--%>
-                            <%--</button>--%>
+                            <button id="selectId" class="btn btn-primary">
+                                <i class="glyphicon glyphicon-plus"></i>安排选择计划
+                            </button>
                             <button id="remove" class="btn btn-danger"  onclick="deleteAll()">
                                 <i class="glyphicon glyphicon-remove"></i> 删除
                             </button>
+                            <button id="selectPowerPack" class="btn btn-primary" onclick="planPowerPacker()">
+                                <i class="glyphicon glyphicon-plus"></i>安排停电包
+                            </button>
+                            <button id="cancelPowerPack" class="btn btn-danger" onclick="cancelPowerPacker()">
+                                <i class="glyphicon glyphicon-remove"></i>取消停电包
+                            </button>
                         </div><!-- 工具栏结束 -->
-                        <div style="height:400px;overflow:auto">
+                        <div style="height:370px;overflow:auto">
                             <table id="table" data-toolbar="#toolbar">
                             </table>
                         </div>
-                    <%--</div>--%>
+                    </div>
                 </div>
-                <div class="row" style="margin-top: 20px">
+                <div class="row">
                     <div class="col-sm-3"></div>
                     <div class="col-sm-6">
                         <div class="form-group text-center">
-                            <input id="agree" class="btn  btn-primary btn-lg btn-parsley" type="button" value="确认提交" onclick="newWorkSubmit()" />&nbsp;
+                            <input id="agree" class="btn  btn-primary btn-lg btn-parsley" type="button" value="确认安排此计划" onclick="addPowerFlag()" />&nbsp;
                         </div>
                     </div>
                 </div>
@@ -56,6 +69,63 @@
         </div>
     </div>
 </div>
+<%--<div class="wrapper wrapper-content">--%>
+    <%--<div class="panel panel-primary">--%>
+        <%--<div class="panel-heading">--%>
+            <%--<h3 class="panel-title">项目计划审核操作</h3>--%>
+        <%--</div>--%>
+        <%--<div class="panel-body">--%>
+            <%--<div class="wrapper wrapper-content">--%>
+                <%--<input type="text" value="${projectId}" id="projectId" hidden="hidden"/>--%>
+                <%--<div class="row">--%>
+                    <%--&lt;%&ndash;未安排计划的树形&ndash;%&gt;--%>
+                    <%--<div class="col-sm-3 col-md-3">--%>
+                        <%--<div style="margin-top: 11px">--%>
+                            <%--<label>--%>
+                                <%--<input type="input" class="form-control" id="input-search" style="width: 200px;float: left">--%>
+                                <%--<button type="button" class="btn btn-success select-node" id="btn-search" style="float: left" >搜索</button>--%>
+                            <%--</label>--%>
+                        <%--</div>--%>
+                        <%--<div id="jstree" style="height:370px;overflow:auto;"></div>--%>
+                    <%--</div>--%>
+                    <%--<div  class="col-sm-9 col-md-9 animated fadeInRight">--%>
+                        <%--<!-- 工具栏 -->--%>
+                        <%--<div id="toolbar">--%>
+                            <%--<button id="selectId" class="btn btn-primary">--%>
+                                <%--<i class="glyphicon glyphicon-plus"></i>安排选择计划--%>
+                            <%--</button>--%>
+                            <%--<button id="remove" class="btn btn-danger"  onclick="deleteAll()">--%>
+                                <%--<i class="glyphicon glyphicon-remove"></i> 退回--%>
+                            <%--</button>--%>
+                            <%--<button id="selectPowerPack" class="btn btn-primary" onclick="planPowerPacker()">--%>
+                                <%--<i class="glyphicon glyphicon-plus"></i>安排停电包--%>
+                            <%--</button>--%>
+                            <%--<button id="cancelPowerPack" class="btn btn-danger" onclick="cancelPowerPacker()">--%>
+                                <%--<i class="glyphicon glyphicon-remove"></i>取消停电包--%>
+                            <%--</button>--%>
+                            <%--<div style="height:370px;overflow:auto">--%>
+                                <%--<table id="table" data-toolbar="#toolbar">--%>
+                                <%--</table>--%>
+                            <%--</div>--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+                <%--<div class="row" style="margin-top: 20px">--%>
+                    <%--<div class="col-sm-3"></div>--%>
+                    <%--<div class="col-sm-6">--%>
+                        <%--<div class="form-group text-center">--%>
+                            <%--<input id="agree" class="btn  btn-primary btn-lg btn-parsley" type="button" value="确认提交" onclick="newWorkSubmit()" />&nbsp;--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+                <%--<c:if test="${not empty act.id}">--%>
+                    <%--<act:flowChart procInsId="${act.procInsId}"/>--%>
+                    <%--<act:histoicFlow procInsId="${act.procInsId}" />--%>
+                <%--</c:if>--%>
+            <%--</div>--%>
+        <%--</div>--%>
+    <%--</div>--%>
+<%--</div>--%>
 <%--<span style="background-color: #0e90d2"></span>--%>
 </body>
 </html>

+ 1 - 1
src/main/webapp/webpage/modules/sg/managementcenter/projectPlanArrage/act/runListManageAct.jsp

@@ -55,7 +55,7 @@
 
 	<!-- 表格 -->
 	<table id="projectTable"  style="table-layout:fixed"  data-toolbar="#toolbar"></table>
-		<div class="row">
+		<div class="row" style="margin-top: 5px">
 			<div class="col-sm-3"></div>
 			<div class="col-sm-6">
 				<div class="form-group text-center">

+ 165 - 0
src/main/webapp/webpage/modules/sg/managementcenter/projectPlanArrage/oaNotify/planOaNotityForm.js

@@ -0,0 +1,165 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+    <script>
+    $(document).ready(function() {
+        var parentId = $("#parentId").val();
+        $('#projectTable').bootstrapTable({
+            //请求方法
+            method: 'post',
+            //类型json
+            dataType: "json",
+            contentType: "application/x-www-form-urlencoded",
+            // //显示检索按钮
+            // showSearch: true,
+            //显示刷新按钮
+            showRefresh: true,
+            //显示切换手机试图按钮
+            showToggle: true,
+            //显示 内容列下拉框
+            showColumns: true,
+            //显示到处按钮
+            showExport: true,
+            //显示切换分页按钮
+            showPaginationSwitch: true,
+            //最低显示2行
+            minimumCountColumns: 2,
+            //是否显示行间隔色
+            striped: true,
+            //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+            cache: false,
+            //是否显示分页(*)
+            pagination: true,
+            //排序方式
+            sortOrder: "asc",
+            // //初始化加载第一页,默认第一页
+            // pageNumber:1,
+            // //每页的记录行数(*)
+            // pageSize: 5,
+            // //可供选择的每页的行数(*)
+            // pageList: [5,10, 25, 50, 100],
+            //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+            url: "${ctx}/sg/managementCenter/projectPlanArrage/runListArragePlanProject?oanotityId="+parentId,
+            //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+            //queryParamsType:'',
+            ////查询参数,每次调用是会带上这个参数,可自定义
+            queryParams : function(params) {
+                var searchParam = $("#searchForm").serializeJSON();
+                searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
+                searchParam.pageSize = params.limit === undefined? -1 : params.limit;
+                searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
+                return searchParam;
+            },
+            //分页方式:client客户端分页,server服务端分页(*)
+            sidePagination: "server",
+            contextMenuTrigger:"right",//pc端 按右键弹出菜单
+            contextMenuTriggerMobile:"press",//手机端 弹出菜单,click:单击, press:长按。
+            contextMenu: '#context-menu',
+            onContextMenuItem: function(row, $el){
+            },
+
+            onClickRow: function(row, $el){
+            },
+            onShowSearch: function () {
+                $("#search-collapse").slideToggle();
+            },
+            columns: [{
+                checkbox: true
+            },
+                {
+                    field: 'projectNumber',
+                    title: '项目定义号',
+                    width:160
+
+                }
+                ,{
+                    field: 'projectName',
+                    title: '项目名称',
+                    width:110
+
+                }
+                ,{
+                    field: 'projectPowerRange',
+                    title: '停电范围',
+                    width:110
+
+                }
+                ,{
+                    field: 'projectPowerOut',
+                    title: '是否停电/带电',
+                    width:110
+
+                }
+                ,{
+                    field: 'projectMonthDate',
+                    title: '月份',
+                    width:110,
+                    sortName: 'beginBeginDate'
+
+                }
+                ,{
+                    field: 'projectDate',
+                    title: '具体时间',
+                    width:120,
+                    sortName: 'endDate'
+                },{
+                    field: 'associatedBag',
+                    title: '关联包',
+                    width:120
+                }
+                ,{
+                    field: 'powerPackage',
+                    title: '停电包',
+                    width:120
+                }
+            ]
+
+        });
+
+
+        if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+
+
+            $('#projectTable').bootstrapTable("toggleView");
+        }
+
+        $('#projectTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+            'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#projectTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#projectTable').bootstrapTable('getSelections').length!=1);
+        });
+
+        $("#search").click("click", function() {// 绑定查询按扭
+            $('#projectTable').bootstrapTable('refresh');
+        });
+
+        $("#reset").click("click", function() {// 绑定查询按扭
+            $("#searchForm  input").val("");
+            $("#searchForm  select").val("");
+            $("#searchForm  .select-item").html("");
+            $('#projectTable').bootstrapTable('refresh');
+        });
+        $("#export").click(function(){//导出Excel文件
+            var procInsId1 = $("#procInsId").val();
+            jp.downloadFile('${ctx}/sg/managementCenter/projectPlanArrage/export?oanotityId='+parentId);
+        });
+        $('#beginBeginDate').datetimepicker({
+            format: "YYYY-MM"
+        });
+        $('#endBeginDate').datetimepicker({
+            format: "YYYY-MM-DD"
+        });
+        $('#endDate').datetimepicker({
+            format: "YYYY-MM-DD"
+        });
+
+    });
+
+function getIdSelections() {
+    return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
+        return row.id
+    });
+}
+//刷新列表
+function refresh(){
+    $('#projectTable').bootstrapTable('refresh');
+}
+</script>

+ 138 - 0
src/main/webapp/webpage/modules/sg/managementcenter/projectPlanArrage/oaNotify/planOaNotityForm.jsp

@@ -0,0 +1,138 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<%@ include file="/webpage/include/bootstraptable.jsp"%>
+<%@include file="/webpage/include/treeview.jsp" %>
+<html>
+<head>
+	<title>通知管理</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+		$(document).ready(function() {
+			jp.ajaxForm("#inputForm",function(data){
+				if(data.success){
+					jp.success(data.msg);
+                    window.location.reload();
+					<%--jp.go("${ctx}/oa/oaNotify");--%>
+				}else{
+					jp.error(data.msg);
+				}
+			})
+
+		});
+	</script>
+</head>
+<body>
+<div class="wrapper wrapper-content">				
+<div class="row">
+	<div class="col-md-12">
+	<div class="panel panel-primary">
+		<div class="panel-heading">
+			<h3 class="panel-title"> 
+				<a class="panelButton" href="${ctx}/oa/oaNotify${isSelf?'/self':'' }"><i class="ti-angle-left"></i> 返回</a>
+			</h3>
+		</div>
+		<div class="panel-body">
+		<form:form id="inputForm" modelAttribute="oaNotify" action="${ctx}/oa/oaNotify/save" method="post" class="form-horizontal">
+		<form:hidden path="id"/>
+			<input  type="hidden" id="parentId"  readonly="readonly" value="${oaNotify.id}">
+				<div class="form-group">
+					<label class="col-sm-2 control-label"><font color="red">*</font>类型:</label>
+					<div class="col-sm-10">
+						<form:select path="type" class="form-control required">
+						<form:option value="" label=""/>
+						<form:options items="${fns:getDictList('oa_notify_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+						</form:select>
+					</div>
+				</div>
+				
+				<div class="form-group">
+					<label class="col-sm-2 control-label"><font color="red">*</font>标题:</label>
+					<div class="col-sm-10">
+						<form:input path="title" htmlEscape="false" maxlength="200" class="form-control required"/>
+					</div>
+				</div>
+
+			<%@ include file="planOaNotityForm.js"%>
+			<div id="toolbar">
+				<button id="export" class="btn btn-warning">
+					<i class="fa fa-file-excel-o"></i> 导出
+				</button>
+			</div>
+			<table id="projectTable"  style="table-layout:fixed"  data-toolbar="#toolbar"></table>
+				<c:if test="${oaNotify.status ne '1'}">
+				<div class="form-group">
+					<label class="col-sm-2 control-label"><font color="red">*</font>状态:</label>
+					<div class="col-sm-10">
+					<form:radiobuttons path="status" items="${fns:getDictList('oa_notify_status')}" itemLabel="label" itemValue="value" htmlEscape="false" class="i-checks required"/>
+					</div>
+				</div>
+				<%--<div class="form-group">--%>
+					<%--<label class="col-sm-2 control-label"><font color="red">*</font>接受人:</label>--%>
+					<%--<div class="col-sm-10">--%>
+						<%--<sys:userselect roleName="配网工程专职;配网系统专职" id="user" name="userId" value="${construction.tuser.id}" loginName="loginName" loginValue="系统专职"--%>
+										<%--labelName="user.name" labelValue="${construction.tuser.name}"--%>
+										<%--cssClass="form-control required"/>--%>
+					<%--</div>--%>
+				<%--</div>--%>
+				</c:if>
+				
+				
+			  <c:if test="${oaNotify.status eq '1'}">
+				<div class="form-group">
+				<table>
+					  <tr>
+				         <td  class="width-15 active">	<label class="pull-right">接受人:</label></td>
+				         <td class="width-35" colspan="3"><table id="contentTable" class="table table-striped table-bordered table-hover table-condensed dataTables-example dataTable">
+								<thead>
+									<tr>
+										<th>接受人</th>
+										<th>接受部门</th>
+										<th>阅读状态</th>
+										<th>阅读时间</th>
+									</tr>
+								</thead>
+								<tbody>
+								<c:forEach items="${oaNotify.oaNotifyRecordList}" var="oaNotifyRecord">
+									<tr>
+										<td>
+											${oaNotifyRecord.user.name}
+										</td>
+										<td>
+											${oaNotifyRecord.user.office.name}
+										</td>
+										<td>
+											${fns:getDictLabel(oaNotifyRecord.readFlag, 'oa_notify_read', '')}
+										</td>
+										<td>
+											<fmt:formatDate value="${oaNotifyRecord.readDate}" pattern="yyyy-MM-dd HH:mm:ss"/>
+										</td>
+									</tr>
+								</c:forEach>
+								</tbody>
+							</table>
+							已查阅:${oaNotify.readNum} &nbsp; 未查阅:${oaNotify.unReadNum} &nbsp; 总共:${oaNotify.readNum + oaNotify.unReadNum}</td>
+				      </tr>
+				  </table>
+				  </div>
+				</c:if>
+				<c:if test="${oaNotify.status ne '1'}">
+				<shiro:hasPermission name="oa:oaNotify:edit">
+						<div class="col-lg-3"></div>
+				        <div class="col-lg-6">
+				             <div class="form-group text-center">
+				                 <div>
+				                     <button class="btn btn-primary btn-block btn-lg btn-parsley" data-loading-text="正在提交...">提 交</button>
+				                 </div>
+				             </div>
+				        </div>
+				</shiro:hasPermission>
+				</c:if>
+		</form:form>
+		</div>
+
+	</div>
+	</div>
+</div>
+</div>
+</body>
+</html>

+ 52 - 1
src/main/webapp/webpage/modules/sg/managementcenter/projectPlanArrage/projectPlanArrageForm.js

@@ -60,7 +60,7 @@
                 //初始化加载第一页,默认第一页
                 pageNumber:1,
                 //每页的记录行数(*)
-                pageSize: 5,
+                pageSize: 100,
                 //可供选择的每页的行数(*)
                 pageList: [5,10, 25, 50, 100],
                 //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
@@ -120,6 +120,19 @@
                     field:'projectMonthDate',
                     title:'停电月份'
                 }
+                    ,{
+                        field: 'constructionUnit',
+                        title: '施工单位项目经理',
+
+                    }
+                    ,{
+                        field: 'associatedBag',
+                        title: '关联包',
+                    }
+                    ,{
+                        field: 'powerPackage',
+                        title: '停电包'
+                    }
                 ]
 
             });
@@ -251,6 +264,44 @@
             })
         })
     }
+function planPowerPacker(ids){
+    if(!ids){
+        ids =  getIdSelections();
+    }
+    if (null!=ids&&""!=ids){
+        $.post("${ctx}/sg/managementCenter/projectPlanArrage/unplannedPackage?ids=" +ids, function(data){
+            if(data.success){
+                jstree(data.mapListTree);
+                refresh();
+                jp.success(data.message);
+            }else{
+                jp.error(data.message);
+            }
+        })
+    } else {
+        jp.error("请选择项目!");
+    }
+
+}
+function cancelPowerPacker(ids){
+    if(!ids){
+        ids =  getIdSelections();
+    }
+    if (null!=ids&&""!=ids){
+        $.post("${ctx}/sg/managementCenter/projectPlanArrage/cancelPackage?ids=" +ids, function(data){
+            if(data.success){
+                jstree(data.mapListTree);
+                refresh();
+                jp.success(data.message);
+            }else{
+                jp.error(data.message);
+            }
+        })
+    } else {
+        jp.error("请选择项目!");
+    }
+
+}
     function getIdSelections() {
         return $.map($("#table").bootstrapTable('getSelections'), function (row) {
             return row.id

+ 6 - 0
src/main/webapp/webpage/modules/sg/managementcenter/projectPlanArrage/projectPlanArrageForm.jsp

@@ -42,6 +42,12 @@
                 <button id="remove" class="btn btn-danger"  onclick="deleteAll()">
                     <i class="glyphicon glyphicon-remove"></i> 退回
                 </button>
+                <button id="selectPowerPack" class="btn btn-primary" onclick="planPowerPacker()">
+                    <i class="glyphicon glyphicon-plus"></i>安排停电包
+                </button>
+                <button id="cancelPowerPack" class="btn btn-danger" onclick="cancelPowerPacker()">
+                    <i class="glyphicon glyphicon-remove"></i>取消停电包
+                </button>
             </div><!-- 工具栏结束 -->
             <div style="height:370px;overflow:auto">
                 <table id="table" data-toolbar="#toolbar">

+ 12 - 0
src/main/webapp/webpage/modules/sg/managementcenter/projectPlanArrage/projectPlanPowerList.js

@@ -121,6 +121,18 @@ $(document).ready(function() {
                        title: '是否带电',
                        width:160,
                        formatter: getTime
+                   },{
+                       field: 'constructionUnit',
+                       title: '施工单位项目经理',
+
+                   }
+                   ,{
+                       field: 'associatedBag',
+                       title: '关联包',
+                   }
+                   ,{
+                       field: 'powerPackage',
+                       title: '停电包'
                    }
 		     ]
 		});