Ver código fonte

物资领料流程,领料单添加修改后字段

yue 5 anos atrás
pai
commit
96771aaf4c
31 arquivos alterados com 2103 adições e 79 exclusões
  1. 20 0
      src/main/java/com/jeeplus/modules/act/service/ActTaskService.java
  2. 25 0
      src/main/java/com/jeeplus/modules/act/web/ActTaskController.java
  3. 11 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/utils/MyActiviUtils.java
  4. 2 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/ProjectMapper.java
  5. 23 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/xml/ProjectMapper.xml
  6. 4 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/service/ProjectService.java
  7. 3 3
      src/main/java/com/jeeplus/modules/sg/materialmodule/activiti/entity/MaterialModule.java
  8. 3 0
      src/main/java/com/jeeplus/modules/sg/materialmodule/activiti/mapper/MaterialModuleMapper.java
  9. 37 1
      src/main/java/com/jeeplus/modules/sg/materialmodule/activiti/mapper/xml/MaterialModuleMapper.xml
  10. 2 1
      src/main/java/com/jeeplus/modules/sg/materialmodule/activiti/service/MaterialModuleService.java
  11. 58 55
      src/main/java/com/jeeplus/modules/sg/materialmodule/activiti/web/MaterialModuleController.java
  12. 10 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/ShowList.java
  13. 3 1
      src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/PickIngMapper.xml
  14. 1 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/ShowListMapper.xml
  15. 173 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerEnd.js
  16. 92 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerEnd.jsp
  17. 173 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerStart.js
  18. 92 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerStart.jsp
  19. 173 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerWhether.js
  20. 92 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerWhether.jsp
  21. 33 15
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/materialModuleForm.js
  22. 2 1
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/materialModuleForm.jsp
  23. 173 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerEnd.js
  24. 91 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerEnd.jsp
  25. 173 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerMiddle.js
  26. 92 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerMiddle.jsp
  27. 200 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerStart.js
  28. 71 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerStart.jsp
  29. 173 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerWhether.js
  30. 92 0
      src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerWhether.jsp
  31. 6 2
      src/main/webapp/webpage/modules/sg/picking/activiti/netExamine.js

+ 20 - 0
src/main/java/com/jeeplus/modules/act/service/ActTaskService.java

@@ -2739,4 +2739,24 @@ public class ActTaskService extends BaseService {
 //		act.setComment(("yes".equals(act.getFlag())?"[同意] ":"[驳回] ")+act.getComment());
 		complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
 	}
+
+	/**
+	 * 施工单位项目经理非涉电开工流程提交文件
+	 * @param act
+	 */
+	@Transactional(readOnly = false)
+	public void nonPowerStartTask(Act act) {
+		// 设置意见
+		act.setComment(("yes".equals(act.getFlag())?"[同意] ":"[驳回] ")+act.getComment());
+		act.preUpdate();
+		// 对不同环节的业务逻辑进行操作
+		String taskDefKey = act.getTaskDefKey();
+		// 提交流程任务
+		Map<String, Object> vars = Maps.newHashMap();
+		//根据流程实例id查询项目的相关信息
+		Project user = MyActiviUtils.sgFindUser(act.getProcInsId());
+		//根据项目设置的流转人员,流转对应人员
+		vars.put("manager", user.getConstructionUnitManage());
+		complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
+	}
 }

+ 25 - 0
src/main/java/com/jeeplus/modules/act/web/ActTaskController.java

@@ -1429,4 +1429,29 @@ public class ActTaskController extends BaseController {
 		j.setMsg("审批成功");
 		return j;
 	}
+
+	/**
+	 * 施工单位项目经理非涉电开工流程提交文件
+	 * */
+	@ResponseBody
+	@RequestMapping(value = "nonPowerStartTask")
+	public AjaxJson nonPowerStartTask(Act act,String pic, UploadImages uploadImages) {
+		AjaxJson j = new AjaxJson();
+		try {
+			if (pic!=null&&pic!="") {
+				uploadImages.setPath(pic);
+				uploadImages.setProcInsId(act.getProcInsId());
+				uploadImages.setImgName("上传非涉电开工流程");
+				uploadImages.setuId(UserUtils.getUser().getLoginName());
+				uploadImagesService.save(uploadImages);
+			}
+			String comment = URLDecoder.decode(act.getComment(), "UTF-8");
+			act.setComment(comment);
+			actTaskService.nonPowerStartTask(act);
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+		}
+		j.setMsg("审批成功");
+		return j;
+	}
 }

+ 11 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/utils/MyActiviUtils.java

@@ -243,6 +243,14 @@ public class MyActiviUtils {
     }
 
     /**
+     * 施工流程根据项目名称查询人员
+     * */
+    public static Project sgFindUser(String procInsId){
+        Project user = projectService.sgFindUser(procInsId);
+        return user;
+    }
+
+    /**
      * 根据项目id称查询人员
      * */
     public static Project findUserById(String projectId){
@@ -304,6 +312,7 @@ public class MyActiviUtils {
                         newShowList.setMdTheParty(showList1.getMdTheParty());
                         newShowList.setMdText(showList1.getMdText());
                         newShowList.setMdTotalAmount(v);
+                        newShowList.setMdTotalAmountAfter(v);
                         newShowList.setMdSingleWeight(showList1.getMdSingleWeight());
                         BigDecimal b = new BigDecimal(i);
                         BigDecimal a = new BigDecimal(1000);
@@ -330,6 +339,7 @@ public class MyActiviUtils {
                         BigDecimal a2 = new BigDecimal(Double.toString(mdTotalWeight1));
                         double  b=  a1.add(a2).doubleValue();
                         list1.setMdTotalAmount(v);
+                        list1.setMdTotalAmountAfter(v);
                         list1.setMdTotalWeight(b);
                         flag = false;
                         break;
@@ -344,6 +354,7 @@ public class MyActiviUtils {
                     showList.setMdTheParty(turn.getMdTheParty());
                     showList.setMdText(turn.getMdText());
                     showList.setMdTotalAmount(turn.getMdTotalAmount());
+                    showList.setMdTotalAmountAfter(turn.getMdTotalAmountAfter());
                     showList.setMdSingleWeight(turn.getMdSingleWeight());
                     showList.setMdTotalWeight(turn.getMdTotalWeight());
                     showList.setBlockId(turn.getBlockId());

+ 2 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/ProjectMapper.java

@@ -34,6 +34,8 @@ public interface ProjectMapper extends BaseMapper<Project> {
 
     Project findUser(String procInsId);
 
+    Project sgFindUser(String procInsId);
+
     Project findUserById(String projectId);
 
     Integer updatePreConstruction(Project project);

+ 23 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/xml/ProjectMapper.xml

@@ -592,6 +592,29 @@
 		WHERE require_name = (select project_name from xm_construction_clarificaiton where proc_ins_id=#{procInsId});
 	</select>
 
+	<select id="sgFindUser"  resultType="com.jeeplus.modules.sg.managementcenter.project.entity.Project">
+		select
+			demand_unit
+			,project_manage_role
+			,distribution_engineering
+			,distribution_materials
+			,distribution_system
+			,distribution_policy
+			,management_leader
+			,run_unit
+			,run_unit_role
+			,through_research_role
+			,construction_unit
+			,construction_unit_role
+			,construction_unit_manage
+			,construction_unit_leader
+			,design_unit
+			,design_unit_manage
+			,design_unit_leader
+		FROM xm_project_details
+		WHERE require_name = (select project_name from sg_construction_process where proc_ins_id=#{procInsId});
+	</select>
+
 	<select id="findUserById"  resultType="com.jeeplus.modules.sg.managementcenter.project.entity.Project">
 		select
 			project_name

+ 4 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/project/service/ProjectService.java

@@ -298,6 +298,10 @@ public class ProjectService extends CrudService<ProjectMapper, Project> {
 		return projectMapper.findUser(procInsId);
 	}
 
+	public Project sgFindUser(String procInsId) {
+		return projectMapper.sgFindUser(procInsId);
+	}
+
 	//根据项目id称查询人员
 	public Project findUserById(String projectId) {
 		return projectMapper.findUserById(projectId);

+ 3 - 3
src/main/java/com/jeeplus/modules/sg/materialmodule/activiti/entity/MaterialModule.java

@@ -15,7 +15,7 @@ public class MaterialModule extends ActEntity<MaterialModule> {
     // 项目名称
     private String projectName;
     // 手动填写的项目类型,包含非涉电项目才会有项目类型
-    private Date projectType;
+    private String projectType;
 
     @Override
     public String getProcInsId() {
@@ -51,11 +51,11 @@ public class MaterialModule extends ActEntity<MaterialModule> {
         this.projectName = projectName;
     }
 
-    public Date getProjectType() {
+    public String getProjectType() {
         return projectType;
     }
 
-    public void setProjectType(Date projectType) {
+    public void setProjectType(String projectType) {
         this.projectType = projectType;
     }
 }

+ 3 - 0
src/main/java/com/jeeplus/modules/sg/materialmodule/activiti/mapper/MaterialModuleMapper.java

@@ -16,4 +16,7 @@ import com.jeeplus.modules.sg.materialmodule.activiti.entity.MaterialModule;
 @MyBatisMapper
 public interface MaterialModuleMapper extends BaseMapper<MaterialModule> {
 
+    //根据项目id修改项目施工状态
+    void updateConstructionStatus(MaterialModule materialModule);
+
 }

+ 37 - 1
src/main/java/com/jeeplus/modules/sg/materialmodule/activiti/mapper/xml/MaterialModuleMapper.xml

@@ -21,7 +21,7 @@
 		SELECT 
 			<include refid="materialColumns"/>
 		FROM sg_construction_process a
-		WHERE a.id = #{id}
+		WHERE a.proc_ins_id = #{procInsId}
 	</select>
 	
 	<select id="findList" resultType="MaterialModule" >
@@ -43,5 +43,41 @@
 		update xm_project_details set preConstruction = #{preConstruction} where id = #{id};
 	</update>-->
 
+	<insert id="insert">
+		insert into sg_construction_process (
+			id,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			del_flag,
+			remarks,
+			proc_ins_id,
+			user_name,
+			project_id,
+			project_name,
+			project_type
+		)values
+			(
+			#{id},
+			#{createBy.id},
+			#{createDate},
+			#{updateBy.id},
+			#{updateDate},
+			#{delFlag},
+			#{remarks},
+			#{procInsId},
+			#{userName},
+			#{projectId},
+			#{projectName},
+			#{projectType}
+			)
+	</insert>
+
+	<update id="updateConstructionStatus">
+		update xm_project_details set construction_status = '1' where id=#{projectId}
+	</update>
+
+
 
 </mapper>

+ 2 - 1
src/main/java/com/jeeplus/modules/sg/materialmodule/activiti/service/MaterialModuleService.java

@@ -31,9 +31,10 @@ public class MaterialModuleService extends CrudService<MaterialModuleMapper, Mat
 		return materialModule;
 	}
 
+	@Transactional(readOnly = false)
 	@Override
 	public void save(MaterialModule entity) {
-		String projectId = entity.getProjectId();
+		materialModuleMapper.updateConstructionStatus(entity);
 		super.save(entity);
 	}
 }

+ 58 - 55
src/main/java/com/jeeplus/modules/sg/materialmodule/activiti/web/MaterialModuleController.java

@@ -58,75 +58,77 @@ public class MaterialModuleController extends BaseController {
         return "modules/sg/materialmodule/activiti/materialModuleForm";
     }
 
-
-
-/*
-    @ResponseBody
-    @RequestMapping(value = "data")
-    public Map<String, Object> data(PickIng pickIng, HttpServletRequest request, HttpServletResponse response, Model model) {
-        Page<PickIng> page = pickIngService.findPage(new Page<PickIng>(request, response), pickIng);
-        return getBootstrapData(page);
+    /**
+     * 非涉电开工流程
+     */
+    @RequestMapping(value = "nonPowerStart")
+    public String nonPowerStart(MaterialModule materialModule, Model model) {
+        MaterialModule materialShow = materialModuleService.get(materialModule.getAct().getProcInsId());
+        model.addAttribute("materialModule", materialModule);
+        model.addAttribute("materialShow", materialShow);
+        return "modules/sg/materialmodule/activiti/nonPowerStart";
     }
 
-
-    */
-/**
-     * 项目经理审核
-     * 政策处理专职发起项目,交与项目经理审核页面
-     *//*
-
-    @RequestMapping(value = "applicationAudit")
-    public String applicationAudit(PickApplication pickApplication, Model model) {
-        String id = pickApplication.getId();
-        String projectId = showListService.selectProjectId(id);
-        Project project = projectService.get(projectId);
-        model.addAttribute("pickApplication", pickApplication);
-        model.addAttribute("project", project);
-        return "modules/sg/picking/activiti/applicationAudit";
+    /**
+     * 非涉电施工中流程
+     */
+    @RequestMapping(value = "nonPowerMiddle")
+    public String nonPowerMiddle(MaterialModule materialModule, Model model) {
+        model.addAttribute("materialModule", materialModule);
+        return "modules/sg/materialmodule/activiti/nonPowerMiddle";
     }
 
-    */
-/**
-     * 库存对比
-     *//*
+    /**
+     * 非涉电竣工流程
+     */
+    @RequestMapping(value = "nonPowerEnd")
+    public String nonPowerEnd(MaterialModule materialModule, Model model) {
+        model.addAttribute("materialModule", materialModule);
+        return "modules/sg/materialmodule/activiti/nonPowerEnd";
+    }
 
-    @RequestMapping(value = "inventoryComparison")
-    @RequiresPermissions("picking:activiti:inventoryComparison")
-    public String inventoryComparison(ShowList showList, Model model) {
-        model.addAttribute("showList", showList);
-        return "modules/sg/picking/activiti/inventoryComparison";
+    /**
+     * 是否完成非涉电工作
+     */
+    @RequestMapping(value = "nonPowerWhether")
+    public String nonPowerWhether(MaterialModule materialModule, Model model) {
+        model.addAttribute("materialModule", materialModule);
+        return "modules/sg/materialmodule/activiti/nonPowerWhether";
     }
 
-    */
-/**
-     * 导出erp领料单
-     *//*
+    /**
+     * 涉电开工流程
+     */
+    @RequestMapping(value = "PowerStart")
+    public String PowerStart(MaterialModule materialModule, Model model) {
+        model.addAttribute("materialModule", materialModule);
+        return "modules/sg/materialmodule/activiti/PowerStart";
+    }
 
-    @RequiresPermissions("picking:activiti:exportErp")
-    @RequestMapping(value = "exportErp")
-    public String exportErp(Acquisition acquisition, Model model) {
-        model.addAttribute("acquisition", acquisition);
-        return "modules/sg/picking/activiti/exportErp";
+    /**
+     * 涉电竣工流程
+     */
+    @RequestMapping(value = "PowerEnd")
+    public String PowerEnd(MaterialModule materialModule, Model model) {
+        model.addAttribute("materialModule", materialModule);
+        return "modules/sg/materialmodule/activiti/PowerEnd";
     }
 
-    @ResponseBody
-    @RequestMapping(value = "exportData")
-    public Map<String, Object> exportData(Acquisition acquisition, HttpServletRequest request, HttpServletResponse response, Model model) {
-        Page<Acquisition> page = showListService.acquisitionList(new Page<Acquisition>(request, response), acquisition);
-        List<Acquisition> list = page.getList();
-        for (Acquisition a :list) {
-            a.setTheNumber("第"+a.getTheNumber()+"次领料单");
-        }
-        return getBootstrapData(page);
+    /**
+     * 是否完成所有涉电工作
+     */
+    @RequestMapping(value = "PowerWhether")
+    public String PowerWhether(MaterialModule materialModule, Model model) {
+        model.addAttribute("materialModule", materialModule);
+        return "modules/sg/materialmodule/activiti/PowerWhether";
     }
-*/
 
     /**
      * 施工流程发起
      */
     @ResponseBody
     @RequestMapping(value = "containSave")
-    public AjaxJson save(MaterialModule materialModule, Model model) throws Exception {
+    public AjaxJson save(MaterialModule materialModule, Model model,String procDefId,String flag) throws Exception {
         AjaxJson j = new AjaxJson();
         /**
          * 后台hibernate-validation插件校验
@@ -149,11 +151,12 @@ public class MaterialModuleController extends BaseController {
         if (StringUtils.isBlank(materialModule.getId())) {
             //保存
             //修改项目的施工模块状态
+            materialModule.setUserName(UserUtils.getUser().getLoginName());
             materialModuleService.save(materialModule);
             // 启动流程
             Map<String, Object> vars = Maps.newHashMap();
-            vars.put("manager", UserUtils.getUser().getLoginName());
-            String flag = materialModule.getAct().getFlag();
+            Project userById = MyActiviUtils.findUserById(projectId);
+            vars.put("manager", userById.getConstructionUnitManage());
             if ("contain".equals(flag)) {
                 vars.put("contain", true);
                 vars.put("notContain", false);
@@ -167,7 +170,7 @@ public class MaterialModuleController extends BaseController {
                 vars.put("notContain", false);
                 vars.put("no", true);
             }
-            ProcessDefinition p = actProcessService.getProcessDefinition(materialModule.getAct().getProcDefId());
+            ProcessDefinition p = actProcessService.getProcessDefinition(procDefId);
             String title = materialModule.getCurrentUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
             actTaskService.startProcess(p.getKey(), "sg_construction_process", materialModule.getId(), title, vars);
             j.setMsg("发起施工流程成功!");

+ 10 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/ShowList.java

@@ -22,6 +22,8 @@ public class ShowList extends ActEntity<ShowList> implements Comparable<ShowList
     private String mdUnits;
     //总量;
     private Double mdTotalAmount;
+    //修改后总量
+    private Double mdTotalAmountAfter;
     //数量
     private Double mdCount;
     //单重/kg;
@@ -248,6 +250,14 @@ public class ShowList extends ActEntity<ShowList> implements Comparable<ShowList
         this.nowNumber = nowNumber;
     }
 
+    public Double getMdTotalAmountAfter() {
+        return mdTotalAmountAfter;
+    }
+
+    public void setMdTotalAmountAfter(Double mdTotalAmountAfter) {
+        this.mdTotalAmountAfter = mdTotalAmountAfter;
+    }
+
     @Override
     public int compareTo(ShowList o) {
         String materialCode = this.getMaterialCode();

+ 3 - 1
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/PickIngMapper.xml

@@ -112,7 +112,7 @@
 	</select>
 
 	<select id="projectNumber" resultType="com.jeeplus.modules.sg.picking.activiti.entity.ProjectNumber">
-		select require_name,the_number from md_acquisition_process as a,xm_project_details as b where a.project_id=b.id and proc_ins_id=#{pprocInsId}
+		select require_name,the_number from md_acquisition_process as a,xm_project_details as b where a.project_id=b.id and proc_ins_id=#{procInsId}
 	</select>
 
 	<update id="updateSelectVersion">
@@ -134,6 +134,7 @@
 			materialDescription,
 			mdUnits,
 			mdTotalAmount,
+			mdTotalAmountAfter,
 			mdSingleWeight,
 			mdTotalWeight,
 			mdTheParty,
@@ -154,6 +155,7 @@
 			#{item.materialDescription},
 			#{item.mdUnits},
 			#{item.mdTotalAmount},
+			#{item.mdTotalAmountAfter},
 			#{item.mdSingleWeight},
 			#{item.mdTotalWeight},
 			#{item.mdTheParty},

+ 1 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/ShowListMapper.xml

@@ -159,6 +159,7 @@
 		materialDescription,
 		mdUnits,
 		mdTotalAmount,
+		mdTotalAmountAfter,
 		mdSingleWeight,
 		mdTotalWeight,
 		mdTheParty,

+ 173 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerEnd.js

@@ -0,0 +1,173 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	var procInsId = $("#procInsId").val();
+	// alert(procInsId);
+	$('#testPicTable').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: 10,  
+               //可供选择的每页的行数(*)    
+               pageList: [10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
+               url: "${ctx}/managementcenter/upload/data?procInsId="+procInsId,
+               //默认值为 '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}/test/pic/testPic/delete?id="+row.id, function(data){
+                   	  		if(data.success){
+                   	  			$('#testPicTable').bootstrapTable('refresh');
+                   	  			jp.success(data.msg);
+                   	  		}else{
+                   	  			jp.error(data.msg);
+                   	  		}
+                   	  	})
+                   	   
+                   	});
+                      
+                   } 
+               },
+               onClickRow: function(row, $el){
+               },
+               	onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+               columns: [/*{
+				   field: 'uId',
+				   title: '标题',
+				   sortable: true,
+				   sortName: 'uId'
+				   ,formatter:function(value, row , index){
+					   value = jp.unescapeHTML(value);
+				   <c:choose>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:edit')}">
+					   return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:view')}">
+					   return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:otherwise>
+					   return value;
+				   </c:otherwise>
+					   </c:choose>
+				   }
+
+			   },*/{
+		        field: 'path',
+		        title: '图片路径',
+		        sortable: true,
+		        sortName: 'path',
+		        formatter:function(value, row , index){
+		        	var valueArray = value.split("|");
+		        	var labelArray = [];
+		        	for(var i =0 ; i<valueArray.length; i++){
+		        		if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+		        		{
+		        			labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+		        		}else{
+		        			labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+		        		}
+		        	}
+		        	return labelArray.join(" ");
+		        }
+		       
+		    },{
+				   field: 'imgName',
+				   title: '上传用途',
+				   sortable: true,
+				   sortName: 'imgName',
+			   },{
+				   field: 'uId',
+				   title: '上传人员',
+				   sortable: true,
+				   sortName: 'uId',
+			   }]
+		});
+		  
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+		  $('#testPicTable').bootstrapTable("toggleView");
+		}
+	  
+	  $('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+                'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
+        });
+
+	 $("#export").click(function(){//导出Excel文件
+			jp.downloadFile('${ctx}/test/pic/testPic/export');
+	  });
+		    
+	  $("#search").click("click", function() {// 绑定查询按扭
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	 
+	 $("#reset").click("click", function() {// 绑定查询按扭
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		  $("#searchForm  .select-item").html("");
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	});
+		
+  function getIdSelections() {
+        return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+
+    //刷新列表
+  function refresh(){
+  	$('#testPicTable').bootstrapTable('refresh');
+  }
+
+
+</script>

+ 92 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerEnd.jsp

@@ -0,0 +1,92 @@
+<%@ 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="nonPowerEnd.js"%>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$("#agree").click(function () {
+				var currentFileValues = $("input[name='pic']").val();
+				if (currentFileValues == "" || currentFileValues == null) {
+					jp.error("请上传文件");
+				} else {
+					jp.prompt("审核意见", function (message) {
+						jp.post("${ctx}/act/task/contractUploadList",
+						{
+							"taskId":"${uploadImages.act.taskId}",
+							"taskName":"${uploadImages.act.taskName}",
+							"taskDefKey":"${uploadImages.act.taskDefKey}",
+							"procInsId":"${uploadImages.act.procInsId}",
+							"procDefId":"${uploadImages.act.procDefId}",
+							"flag":"yes",
+							"pic":currentFileValues,
+							"comment":window.encodeURI(message)
+						},
+						function (data) {
+							if(data.success){
+								jp.success(data.msg);
+								jp.go("${ctx}/act/task/todo")
+							}
+						})
+					});
+				}
+			});
+		});
+	</script>
+</head>
+<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">
+	<!-- 表格 -->
+	<table id="testPicTable"   data-toolbar="#toolbar"></table>
+		<div class="panel-body">
+			<form:form id="inputForm" modelAttribute="materialModule" class="form-horizontal">
+				<form:hidden path="id"/>
+				<form:hidden path="act.taskId"/>
+				<form:hidden path="act.taskName"/>
+				<form:hidden path="act.taskDefKey"/>
+				<form:hidden path="act.procInsId"/>
+				<form:hidden path="act.procDefId"/>
+				<input type="hidden" id="procInsId" name="procInsId" value="${materialModule.act.procInsId}"/>
+				<table class="table table-bordered">
+					<tbody>
+					<tr>
+						<td class="width-15 active"><label class="pull-right"><font color="red">*</font>文件上传:</label></td>
+						<td class="width-35">
+							<sys:fileUpload  path="pic" fileNumLimit="50" fileSizeLimit="50" value="${testPic.pic}" type="file" uploadPath="/materialModule"></sys:fileUpload>
+						</td>
+					</tr>
+					</tbody>
+				</table>
+			</form:form>
+			<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="submit" value="提交" />&nbsp;
+					</div>
+				</div>
+			</div>
+			<c:if test="${not empty materialModule.id}">
+				<act:flowChart procInsId="${materialModule.act.procInsId}"/>
+				<act:histoicFlow procInsId="${materialModule.act.procInsId}" />
+			</c:if>
+		</div>
+    <!-- context menu -->
+    <ul id="context-menu" class="dropdown-menu">
+    </ul>  
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 173 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerStart.js

@@ -0,0 +1,173 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	var procInsId = $("#procInsId").val();
+	// alert(procInsId);
+	$('#testPicTable').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: 10,  
+               //可供选择的每页的行数(*)    
+               pageList: [10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
+               url: "${ctx}/managementcenter/upload/data?procInsId="+procInsId,
+               //默认值为 '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}/test/pic/testPic/delete?id="+row.id, function(data){
+                   	  		if(data.success){
+                   	  			$('#testPicTable').bootstrapTable('refresh');
+                   	  			jp.success(data.msg);
+                   	  		}else{
+                   	  			jp.error(data.msg);
+                   	  		}
+                   	  	})
+                   	   
+                   	});
+                      
+                   } 
+               },
+               onClickRow: function(row, $el){
+               },
+               	onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+               columns: [/*{
+				   field: 'uId',
+				   title: '标题',
+				   sortable: true,
+				   sortName: 'uId'
+				   ,formatter:function(value, row , index){
+					   value = jp.unescapeHTML(value);
+				   <c:choose>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:edit')}">
+					   return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:view')}">
+					   return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:otherwise>
+					   return value;
+				   </c:otherwise>
+					   </c:choose>
+				   }
+
+			   },*/{
+		        field: 'path',
+		        title: '图片路径',
+		        sortable: true,
+		        sortName: 'path',
+		        formatter:function(value, row , index){
+		        	var valueArray = value.split("|");
+		        	var labelArray = [];
+		        	for(var i =0 ; i<valueArray.length; i++){
+		        		if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+		        		{
+		        			labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+		        		}else{
+		        			labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+		        		}
+		        	}
+		        	return labelArray.join(" ");
+		        }
+		       
+		    },{
+				   field: 'imgName',
+				   title: '上传用途',
+				   sortable: true,
+				   sortName: 'imgName',
+			   },{
+				   field: 'uId',
+				   title: '上传人员',
+				   sortable: true,
+				   sortName: 'uId',
+			   }]
+		});
+		  
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+		  $('#testPicTable').bootstrapTable("toggleView");
+		}
+	  
+	  $('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+                'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
+        });
+
+	 $("#export").click(function(){//导出Excel文件
+			jp.downloadFile('${ctx}/test/pic/testPic/export');
+	  });
+		    
+	  $("#search").click("click", function() {// 绑定查询按扭
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	 
+	 $("#reset").click("click", function() {// 绑定查询按扭
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		  $("#searchForm  .select-item").html("");
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	});
+		
+  function getIdSelections() {
+        return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+
+    //刷新列表
+  function refresh(){
+  	$('#testPicTable').bootstrapTable('refresh');
+  }
+
+
+</script>

+ 92 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerStart.jsp

@@ -0,0 +1,92 @@
+<%@ 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="nonPowerStart.js"%>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$("#agree").click(function () {
+				var currentFileValues = $("input[name='pic']").val();
+				if (currentFileValues == "" || currentFileValues == null) {
+					jp.error("请上传文件");
+				} else {
+					jp.prompt("审核意见", function (message) {
+						jp.post("${ctx}/act/task/contractUploadList",
+						{
+							"taskId":"${uploadImages.act.taskId}",
+							"taskName":"${uploadImages.act.taskName}",
+							"taskDefKey":"${uploadImages.act.taskDefKey}",
+							"procInsId":"${uploadImages.act.procInsId}",
+							"procDefId":"${uploadImages.act.procDefId}",
+							"flag":"yes",
+							"pic":currentFileValues,
+							"comment":window.encodeURI(message)
+						},
+						function (data) {
+							if(data.success){
+								jp.success(data.msg);
+								jp.go("${ctx}/act/task/todo")
+							}
+						})
+					});
+				}
+			});
+		});
+	</script>
+</head>
+<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">
+	<!-- 表格 -->
+	<table id="testPicTable"   data-toolbar="#toolbar"></table>
+		<div class="panel-body">
+			<form:form id="inputForm" modelAttribute="materialModule" class="form-horizontal">
+				<form:hidden path="id"/>
+				<form:hidden path="act.taskId"/>
+				<form:hidden path="act.taskName"/>
+				<form:hidden path="act.taskDefKey"/>
+				<form:hidden path="act.procInsId"/>
+				<form:hidden path="act.procDefId"/>
+				<input type="hidden" id="procInsId" name="procInsId" value="${materialModule.act.procInsId}"/>
+				<table class="table table-bordered">
+					<tbody>
+					<tr>
+						<td class="width-15 active"><label class="pull-right"><font color="red">*</font>文件上传:</label></td>
+						<td class="width-35">
+							<sys:fileUpload  path="pic" fileNumLimit="50" fileSizeLimit="50" value="${testPic.pic}" type="file" uploadPath="/materialModule"></sys:fileUpload>
+						</td>
+					</tr>
+					</tbody>
+				</table>
+			</form:form>
+			<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="submit" value="提交" />&nbsp;
+					</div>
+				</div>
+			</div>
+			<c:if test="${not empty materialModule.id}">
+				<act:flowChart procInsId="${materialModule.act.procInsId}"/>
+				<act:histoicFlow procInsId="${materialModule.act.procInsId}" />
+			</c:if>
+		</div>
+    <!-- context menu -->
+    <ul id="context-menu" class="dropdown-menu">
+    </ul>  
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 173 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerWhether.js

@@ -0,0 +1,173 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	var procInsId = $("#procInsId").val();
+	// alert(procInsId);
+	$('#testPicTable').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: 10,  
+               //可供选择的每页的行数(*)    
+               pageList: [10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
+               url: "${ctx}/managementcenter/upload/data?procInsId="+procInsId,
+               //默认值为 '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}/test/pic/testPic/delete?id="+row.id, function(data){
+                   	  		if(data.success){
+                   	  			$('#testPicTable').bootstrapTable('refresh');
+                   	  			jp.success(data.msg);
+                   	  		}else{
+                   	  			jp.error(data.msg);
+                   	  		}
+                   	  	})
+                   	   
+                   	});
+                      
+                   } 
+               },
+               onClickRow: function(row, $el){
+               },
+               	onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+               columns: [/*{
+				   field: 'uId',
+				   title: '标题',
+				   sortable: true,
+				   sortName: 'uId'
+				   ,formatter:function(value, row , index){
+					   value = jp.unescapeHTML(value);
+				   <c:choose>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:edit')}">
+					   return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:view')}">
+					   return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:otherwise>
+					   return value;
+				   </c:otherwise>
+					   </c:choose>
+				   }
+
+			   },*/{
+		        field: 'path',
+		        title: '图片路径',
+		        sortable: true,
+		        sortName: 'path',
+		        formatter:function(value, row , index){
+		        	var valueArray = value.split("|");
+		        	var labelArray = [];
+		        	for(var i =0 ; i<valueArray.length; i++){
+		        		if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+		        		{
+		        			labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+		        		}else{
+		        			labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+		        		}
+		        	}
+		        	return labelArray.join(" ");
+		        }
+		       
+		    },{
+				   field: 'imgName',
+				   title: '上传用途',
+				   sortable: true,
+				   sortName: 'imgName',
+			   },{
+				   field: 'uId',
+				   title: '上传人员',
+				   sortable: true,
+				   sortName: 'uId',
+			   }]
+		});
+		  
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+		  $('#testPicTable').bootstrapTable("toggleView");
+		}
+	  
+	  $('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+                'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
+        });
+
+	 $("#export").click(function(){//导出Excel文件
+			jp.downloadFile('${ctx}/test/pic/testPic/export');
+	  });
+		    
+	  $("#search").click("click", function() {// 绑定查询按扭
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	 
+	 $("#reset").click("click", function() {// 绑定查询按扭
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		  $("#searchForm  .select-item").html("");
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	});
+		
+  function getIdSelections() {
+        return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+
+    //刷新列表
+  function refresh(){
+  	$('#testPicTable').bootstrapTable('refresh');
+  }
+
+
+</script>

+ 92 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerWhether.jsp

@@ -0,0 +1,92 @@
+<%@ 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="nonPowerStart.js"%>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$("#agree").click(function () {
+				var currentFileValues = $("input[name='pic']").val();
+				if (currentFileValues == "" || currentFileValues == null) {
+					jp.error("请上传文件");
+				} else {
+					jp.prompt("审核意见", function (message) {
+						jp.post("${ctx}/act/task/contractUploadList",
+						{
+							"taskId":"${uploadImages.act.taskId}",
+							"taskName":"${uploadImages.act.taskName}",
+							"taskDefKey":"${uploadImages.act.taskDefKey}",
+							"procInsId":"${uploadImages.act.procInsId}",
+							"procDefId":"${uploadImages.act.procDefId}",
+							"flag":"yes",
+							"pic":currentFileValues,
+							"comment":window.encodeURI(message)
+						},
+						function (data) {
+							if(data.success){
+								jp.success(data.msg);
+								jp.go("${ctx}/act/task/todo")
+							}
+						})
+					});
+				}
+			});
+		});
+	</script>
+</head>
+<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">
+	<!-- 表格 -->
+	<table id="testPicTable"   data-toolbar="#toolbar"></table>
+		<div class="panel-body">
+			<form:form id="inputForm" modelAttribute="materialModule" class="form-horizontal">
+				<form:hidden path="id"/>
+				<form:hidden path="act.taskId"/>
+				<form:hidden path="act.taskName"/>
+				<form:hidden path="act.taskDefKey"/>
+				<form:hidden path="act.procInsId"/>
+				<form:hidden path="act.procDefId"/>
+				<input type="hidden" id="procInsId" name="procInsId" value="${materialModule.act.procInsId}"/>
+				<table class="table table-bordered">
+					<tbody>
+					<tr>
+						<td class="width-15 active"><label class="pull-right"><font color="red">*</font>文件上传:</label></td>
+						<td class="width-35">
+							<sys:fileUpload  path="pic" fileNumLimit="50" fileSizeLimit="50" value="${testPic.pic}" type="file" uploadPath="/materialModule"></sys:fileUpload>
+						</td>
+					</tr>
+					</tbody>
+				</table>
+			</form:form>
+			<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="submit" value="提交" />&nbsp;
+					</div>
+				</div>
+			</div>
+			<c:if test="${not empty materialModule.id}">
+				<act:flowChart procInsId="${materialModule.act.procInsId}"/>
+				<act:histoicFlow procInsId="${materialModule.act.procInsId}" />
+			</c:if>
+		</div>
+    <!-- context menu -->
+    <ul id="context-menu" class="dropdown-menu">
+    </ul>  
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 33 - 15
src/main/webapp/webpage/modules/sg/materialmodule/activiti/materialModuleForm.js

@@ -17,52 +17,70 @@
 		//包含非涉电项目,需填写项目类型
 		$("#contain").click(function () {
 			var projectType = $("#projectType").val();
+			var procDefId = $("#procDefId").val();
+			var projectId = $("#projectId").val();
+			var projectName = $("#projectName").val();
+			console.log(procDefId);
 			if (projectType == "") {
-				alert("请正确填写项目类型");
+				jp.error("请正确填写项目类型");
 			} else {
-				jp.prompt("包含非涉电工作", function (message) {
-					jp.post("${ctx}/act/task/constructionLeader",
+				jp.post("${ctx}/materialmodule/activiti/containSave",
 					{
 						"projectType": projectType,
-						"flag":"contain",
-						"comment":window.encodeURI(message)
+						"projectId": projectId,
+						"projectName":projectName,
+						"procDefId":procDefId,
+						"flag": "contain",
 					},
 					function (data) {
-						if(data.success){
+						if (data.success) {
 							jp.success(data.msg);
-							jp.go("${ctx}/act/task/todo")
+							jp.go("${ctx}/act/task/todo");
+						} else {
+							jp.error(data.msg);
 						}
 					})
-				});
 			}
-		})
+		});
 
 		$("#notContain").click(function () {
-			jp.post("${ctx}///",
+			var projectId = $("#projectId").val();
+			var projectName = $("#projectName").val();
+			var procDefId = $("#procDefId").val();
+			jp.post("${ctx}/materialmodule/activiti/containSave",
 			{
-				"projectType": projectType,
+				"projectId": projectId,
+				"projectName":projectName,
+				"procDefId":procDefId,
 				"flag":"notContain",
-				"comment":window.encodeURI(message)
 			},
 			function (data) {
 				if(data.success){
 					jp.success(data.msg);
 					jp.go("${ctx}/act/task/todo")
+				} else {
+					jp.error(data.msg);
 				}
 			})
 		})
 
 		$("#no").click(function () {
-			jp.post("${ctx}///",
+			var projectId = $("#projectId").val();
+			var projectName = $("#projectName").val();
+			var procDefId = $("#procDefId").val();
+			jp.post("${ctx}/materialmodule/activiti/containSave",
 			{
-				"projectType": projectType,
+				"projectId": projectId,
+				"projectName":projectName,
+				"procDefId":procDefId,
 				"flag":"no",
-				"comment":window.encodeURI(message)
 			},
 			function (data) {
 				if(data.success){
 					jp.success(data.msg);
 					jp.go("${ctx}/act/task/todo")
+				} else {
+					jp.error(data.msg);
 				}
 			})
 		})

+ 2 - 1
src/main/webapp/webpage/modules/sg/materialmodule/activiti/materialModuleForm.jsp

@@ -22,6 +22,7 @@
 				<div class="panel-body">
 
 					<form:form id="inputForm" modelAttribute="materialModule" action="${ctx}/picking/activiti/save" method="post" class="form-horizontal">
+						<input type="hidden" id="procDefId" value="${materialModule.act.procDefId}">
 						<div class="form-group text-center">
 							<h3> 领料申请</h3>
 						</div>
@@ -35,7 +36,7 @@
 								</td>
 							</tr>
 							<tr>
-								<td class="width-15 active">填写项目类型</td>
+								<td class="width-15 active"><label class="pull-right">填写项目类型:</label></td>
 								<td class="width-35"><input class="form-control" type="text" id="projectType"/></td>
 							</tr>
 							</tbody>

+ 173 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerEnd.js

@@ -0,0 +1,173 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	var procInsId = $("#procInsId").val();
+	// alert(procInsId);
+	$('#testPicTable').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: 10,  
+               //可供选择的每页的行数(*)    
+               pageList: [10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
+               url: "${ctx}/managementcenter/upload/data?procInsId="+procInsId,
+               //默认值为 '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}/test/pic/testPic/delete?id="+row.id, function(data){
+                   	  		if(data.success){
+                   	  			$('#testPicTable').bootstrapTable('refresh');
+                   	  			jp.success(data.msg);
+                   	  		}else{
+                   	  			jp.error(data.msg);
+                   	  		}
+                   	  	})
+                   	   
+                   	});
+                      
+                   } 
+               },
+               onClickRow: function(row, $el){
+               },
+               	onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+               columns: [/*{
+				   field: 'uId',
+				   title: '标题',
+				   sortable: true,
+				   sortName: 'uId'
+				   ,formatter:function(value, row , index){
+					   value = jp.unescapeHTML(value);
+				   <c:choose>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:edit')}">
+					   return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:view')}">
+					   return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:otherwise>
+					   return value;
+				   </c:otherwise>
+					   </c:choose>
+				   }
+
+			   },*/{
+		        field: 'path',
+		        title: '图片路径',
+		        sortable: true,
+		        sortName: 'path',
+		        formatter:function(value, row , index){
+		        	var valueArray = value.split("|");
+		        	var labelArray = [];
+		        	for(var i =0 ; i<valueArray.length; i++){
+		        		if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+		        		{
+		        			labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+		        		}else{
+		        			labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+		        		}
+		        	}
+		        	return labelArray.join(" ");
+		        }
+		       
+		    },{
+				   field: 'imgName',
+				   title: '上传用途',
+				   sortable: true,
+				   sortName: 'imgName',
+			   },{
+				   field: 'uId',
+				   title: '上传人员',
+				   sortable: true,
+				   sortName: 'uId',
+			   }]
+		});
+		  
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+		  $('#testPicTable').bootstrapTable("toggleView");
+		}
+	  
+	  $('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+                'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
+        });
+
+	 $("#export").click(function(){//导出Excel文件
+			jp.downloadFile('${ctx}/test/pic/testPic/export');
+	  });
+		    
+	  $("#search").click("click", function() {// 绑定查询按扭
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	 
+	 $("#reset").click("click", function() {// 绑定查询按扭
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		  $("#searchForm  .select-item").html("");
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	});
+		
+  function getIdSelections() {
+        return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+
+    //刷新列表
+  function refresh(){
+  	$('#testPicTable').bootstrapTable('refresh');
+  }
+
+
+</script>

+ 91 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerEnd.jsp

@@ -0,0 +1,91 @@
+<%@ 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="nonPowerEnd.js"%>
+	<script type="text/javascript">
+		$(document).ready(function() {
+			$("#agree").click(function () {
+				var currentFileValues = $("input[name='pic']").val();
+				if (currentFileValues == "" || currentFileValues == null) {
+					jp.error("请上传文件");
+				} else {
+					jp.prompt("审核意见", function (message) {
+						jp.post("${ctx}/act/task/contractUploadList",
+						{
+							"taskId":"${uploadImages.act.taskId}",
+							"taskName":"${uploadImages.act.taskName}",
+							"taskDefKey":"${uploadImages.act.taskDefKey}",
+							"procInsId":"${uploadImages.act.procInsId}",
+							"procDefId":"${uploadImages.act.procDefId}",
+							"flag":"yes",
+							"pic":currentFileValues,
+							"comment":window.encodeURI(message)
+						},
+						function (data) {
+							if(data.success){
+								jp.success(data.msg);
+								jp.go("${ctx}/act/task/todo")
+							}
+						})
+					});
+				}
+			});
+		});
+	</script>
+</head>
+<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">
+	<!-- 表格 -->
+	<table id="testPicTable"   data-toolbar="#toolbar"></table>
+		<div class="panel-body">
+			<form:form id="inputForm" modelAttribute="materialModule" class="form-horizontal">
+				<form:hidden path="id"/>
+				<form:hidden path="act.taskId"/>
+				<form:hidden path="act.taskName"/>
+				<form:hidden path="act.taskDefKey"/>
+				<form:hidden path="act.procInsId"/>
+				<form:hidden path="act.procDefId"/>
+				<input type="hidden" id="procInsId" name="procInsId" value="${materialModule.act.procInsId}"/>
+				<table class="table table-bordered">
+					<tbody>
+					<tr>
+						<td class="width-15 active"><label class="pull-right"><font color="red">*</font>文件上传:</label></td>
+						<td class="width-35">
+							<sys:fileUpload  path="pic" fileNumLimit="50" fileSizeLimit="50" value="${testPic.pic}" type="file" uploadPath="/materialModule"></sys:fileUpload>
+						</td>
+					</tr>
+					</tbody>
+				</table>
+			</form:form>
+			<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="submit" value="提交" />&nbsp;
+					</div>
+				</div>
+			</div>
+			<c:if test="${not empty materialModule.id}">
+				<act:flowChart procInsId="${materialModule.act.procInsId}"/>
+				<act:histoicFlow procInsId="${materialModule.act.procInsId}" />
+			</c:if>
+		</div>
+    <!-- context menu -->
+    <ul id="context-menu" class="dropdown-menu">
+    </ul>  
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 173 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerMiddle.js

@@ -0,0 +1,173 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	var procInsId = $("#procInsId").val();
+	// alert(procInsId);
+	$('#testPicTable').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: 10,  
+               //可供选择的每页的行数(*)    
+               pageList: [10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
+               url: "${ctx}/managementcenter/upload/data?procInsId="+procInsId,
+               //默认值为 '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}/test/pic/testPic/delete?id="+row.id, function(data){
+                   	  		if(data.success){
+                   	  			$('#testPicTable').bootstrapTable('refresh');
+                   	  			jp.success(data.msg);
+                   	  		}else{
+                   	  			jp.error(data.msg);
+                   	  		}
+                   	  	})
+                   	   
+                   	});
+                      
+                   } 
+               },
+               onClickRow: function(row, $el){
+               },
+               	onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+               columns: [/*{
+				   field: 'uId',
+				   title: '标题',
+				   sortable: true,
+				   sortName: 'uId'
+				   ,formatter:function(value, row , index){
+					   value = jp.unescapeHTML(value);
+				   <c:choose>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:edit')}">
+					   return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:view')}">
+					   return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:otherwise>
+					   return value;
+				   </c:otherwise>
+					   </c:choose>
+				   }
+
+			   },*/{
+		        field: 'path',
+		        title: '图片路径',
+		        sortable: true,
+		        sortName: 'path',
+		        formatter:function(value, row , index){
+		        	var valueArray = value.split("|");
+		        	var labelArray = [];
+		        	for(var i =0 ; i<valueArray.length; i++){
+		        		if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+		        		{
+		        			labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+		        		}else{
+		        			labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+		        		}
+		        	}
+		        	return labelArray.join(" ");
+		        }
+		       
+		    },{
+				   field: 'imgName',
+				   title: '上传用途',
+				   sortable: true,
+				   sortName: 'imgName',
+			   },{
+				   field: 'uId',
+				   title: '上传人员',
+				   sortable: true,
+				   sortName: 'uId',
+			   }]
+		});
+		  
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+		  $('#testPicTable').bootstrapTable("toggleView");
+		}
+	  
+	  $('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+                'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
+        });
+
+	 $("#export").click(function(){//导出Excel文件
+			jp.downloadFile('${ctx}/test/pic/testPic/export');
+	  });
+		    
+	  $("#search").click("click", function() {// 绑定查询按扭
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	 
+	 $("#reset").click("click", function() {// 绑定查询按扭
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		  $("#searchForm  .select-item").html("");
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	});
+		
+  function getIdSelections() {
+        return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+
+    //刷新列表
+  function refresh(){
+  	$('#testPicTable').bootstrapTable('refresh');
+  }
+
+
+</script>

+ 92 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerMiddle.jsp

@@ -0,0 +1,92 @@
+<%@ 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="nonPowerMiddle.js"%>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$("#agree").click(function () {
+				var currentFileValues = $("input[name='pic']").val();
+				if (currentFileValues == "" || currentFileValues == null) {
+					jp.error("请上传文件");
+				} else {
+					jp.prompt("审核意见", function (message) {
+						jp.post("${ctx}/act/task/contractUploadList",
+						{
+							"taskId":"${uploadImages.act.taskId}",
+							"taskName":"${uploadImages.act.taskName}",
+							"taskDefKey":"${uploadImages.act.taskDefKey}",
+							"procInsId":"${uploadImages.act.procInsId}",
+							"procDefId":"${uploadImages.act.procDefId}",
+							"flag":"yes",
+							"pic":currentFileValues,
+							"comment":window.encodeURI(message)
+						},
+						function (data) {
+							if(data.success){
+								jp.success(data.msg);
+								jp.go("${ctx}/act/task/todo")
+							}
+						})
+					});
+				}
+			});
+		});
+	</script>
+</head>
+<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">
+	<!-- 表格 -->
+	<table id="testPicTable"   data-toolbar="#toolbar"></table>
+		<div class="panel-body">
+			<form:form id="inputForm" modelAttribute="materialModule" class="form-horizontal">
+				<form:hidden path="id"/>
+				<form:hidden path="act.taskId"/>
+				<form:hidden path="act.taskName"/>
+				<form:hidden path="act.taskDefKey"/>
+				<form:hidden path="act.procInsId"/>
+				<form:hidden path="act.procDefId"/>
+				<input type="hidden" id="procInsId" name="procInsId" value="${materialModule.act.procInsId}"/>
+				<table class="table table-bordered">
+					<tbody>
+					<tr>
+						<td class="width-15 active"><label class="pull-right"><font color="red">*</font>文件上传:</label></td>
+						<td class="width-35">
+							<sys:fileUpload  path="pic" fileNumLimit="50" fileSizeLimit="50" value="${testPic.pic}" type="file" uploadPath="/materialModule"></sys:fileUpload>
+						</td>
+					</tr>
+					</tbody>
+				</table>
+			</form:form>
+			<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="submit" value="提交" />&nbsp;
+					</div>
+				</div>
+			</div>
+			<c:if test="${not empty materialModule.id}">
+				<act:flowChart procInsId="${materialModule.act.procInsId}"/>
+				<act:histoicFlow procInsId="${materialModule.act.procInsId}" />
+			</c:if>
+		</div>
+    <!-- context menu -->
+    <ul id="context-menu" class="dropdown-menu">
+    </ul>  
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 200 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerStart.js

@@ -0,0 +1,200 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	var procInsId = $("#procInsId").val();
+	// alert(procInsId);
+	$('#testPicTable').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: 10,  
+               //可供选择的每页的行数(*)    
+               pageList: [10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
+               url: "${ctx}/managementcenter/upload/data?procInsId="+procInsId,
+               //默认值为 '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}/test/pic/testPic/delete?id="+row.id, function(data){
+                   	  		if(data.success){
+                   	  			$('#testPicTable').bootstrapTable('refresh');
+                   	  			jp.success(data.msg);
+                   	  		}else{
+                   	  			jp.error(data.msg);
+                   	  		}
+                   	  	})
+                   	   
+                   	});
+                      
+                   } 
+               },
+               onClickRow: function(row, $el){
+               },
+               	onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+               columns: [/*{
+				   field: 'uId',
+				   title: '标题',
+				   sortable: true,
+				   sortName: 'uId'
+				   ,formatter:function(value, row , index){
+					   value = jp.unescapeHTML(value);
+				   <c:choose>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:edit')}">
+					   return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:view')}">
+					   return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:otherwise>
+					   return value;
+				   </c:otherwise>
+					   </c:choose>
+				   }
+
+			   },*/{
+		        field: 'path',
+		        title: '图片路径',
+		        sortable: true,
+		        sortName: 'path',
+		        formatter:function(value, row , index){
+		        	var valueArray = value.split("|");
+		        	var labelArray = [];
+		        	for(var i =0 ; i<valueArray.length; i++){
+		        		if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+		        		{
+		        			labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+		        		}else{
+		        			labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+		        		}
+		        	}
+		        	return labelArray.join(" ");
+		        }
+		       
+		    },{
+				   field: 'imgName',
+				   title: '上传用途',
+				   sortable: true,
+				   sortName: 'imgName',
+			   },{
+				   field: 'uId',
+				   title: '上传人员',
+				   sortable: true,
+				   sortName: 'uId',
+			   }]
+		});
+		  
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+		  $('#testPicTable').bootstrapTable("toggleView");
+		}
+	  
+	  $('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+                'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
+        });
+
+	 $("#export").click(function(){//导出Excel文件
+			jp.downloadFile('${ctx}/test/pic/testPic/export');
+	  });
+		    
+	  $("#search").click("click", function() {// 绑定查询按扭
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	 
+	 $("#reset").click("click", function() {// 绑定查询按扭
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		  $("#searchForm  .select-item").html("");
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+
+	$("#agree").click(function () {
+		var currentFileValues = $("input[name='pic']").val();
+		if (currentFileValues == "" || currentFileValues == null) {
+			jp.error("请上传文件");
+		} else {
+			jp.prompt("审核意见", function (message) {
+				jp.post("${ctx}/act/task/nonPowerStartTask",
+					{
+						"taskId":"${materialModule.act.taskId}",
+						"taskName":"${materialModule.act.taskName}",
+						"taskDefKey":"${materialModule.act.taskDefKey}",
+						"procInsId":"${materialModule.act.procInsId}",
+						"procDefId":"${materialModule.act.procDefId}",
+						"flag":"yes",
+						"pic":currentFileValues,
+						"comment":window.encodeURI(message)
+					},
+					function (data) {
+						if(data.success){
+							jp.success(data.msg);
+							jp.go("${ctx}/act/task/todo")
+						}
+					})
+			});
+		}
+	});
+});
+		
+  function getIdSelections() {
+        return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+
+    //刷新列表
+  function refresh(){
+  	$('#testPicTable').bootstrapTable('refresh');
+  }
+
+
+</script>

+ 71 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerStart.jsp

@@ -0,0 +1,71 @@
+<%@ 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="nonPowerStart.js"%>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+
+		});
+	</script>
+</head>
+<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">
+	<!-- 表格 -->
+	<table id="testPicTable"   data-toolbar="#toolbar"></table>
+		<div class="panel-body">
+			<form:form id="inputForm" modelAttribute="materialModule" class="form-horizontal">
+				<form:hidden path="id"/>
+				<form:hidden path="act.taskId"/>
+				<form:hidden path="act.taskName"/>
+				<form:hidden path="act.taskDefKey"/>
+				<form:hidden path="act.procInsId"/>
+				<form:hidden path="act.procDefId"/>
+				<input type="hidden" id="procInsId" name="procInsId" value="${materialModule.act.procInsId}"/>
+				<table class="table table-bordered">
+					<tbody>
+					<tr>
+						<td class="width-35 active" style="text-align: right">项目名称:${materialShow.projectName}</td>
+						<td class="width-35">项目类型:${materialShow.projectType}</td>
+					</tr>
+					<tr>
+						<td class="width-15 active"><label class="pull-right"><font color="red">*</font>文件上传:</label></td>
+						<td class="width-35">
+							<sys:fileUpload  path="pic" fileNumLimit="50" fileSizeLimit="50" value="${testPic.pic}" type="file" uploadPath="/materialModule"></sys:fileUpload>
+						</td>
+					</tr>
+					</tbody>
+				</table>
+			</form:form>
+			<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="submit" value="提交" />&nbsp;
+					</div>
+				</div>
+			</div>
+			<c:if test="${not empty materialModule.id}">
+				<act:flowChart procInsId="${materialModule.act.procInsId}"/>
+				<act:histoicFlow procInsId="${materialModule.act.procInsId}" />
+			</c:if>
+		</div>
+    <!-- context menu -->
+    <ul id="context-menu" class="dropdown-menu">
+    </ul>  
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 173 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerWhether.js

@@ -0,0 +1,173 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	var procInsId = $("#procInsId").val();
+	// alert(procInsId);
+	$('#testPicTable').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: 10,  
+               //可供选择的每页的行数(*)    
+               pageList: [10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
+               url: "${ctx}/managementcenter/upload/data?procInsId="+procInsId,
+               //默认值为 '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}/test/pic/testPic/delete?id="+row.id, function(data){
+                   	  		if(data.success){
+                   	  			$('#testPicTable').bootstrapTable('refresh');
+                   	  			jp.success(data.msg);
+                   	  		}else{
+                   	  			jp.error(data.msg);
+                   	  		}
+                   	  	})
+                   	   
+                   	});
+                      
+                   } 
+               },
+               onClickRow: function(row, $el){
+               },
+               	onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+               columns: [/*{
+				   field: 'uId',
+				   title: '标题',
+				   sortable: true,
+				   sortName: 'uId'
+				   ,formatter:function(value, row , index){
+					   value = jp.unescapeHTML(value);
+				   <c:choose>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:edit')}">
+					   return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:when test="${fns:hasPermission('test:pic:testPic:view')}">
+					   return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+				   </c:when>
+					   <c:otherwise>
+					   return value;
+				   </c:otherwise>
+					   </c:choose>
+				   }
+
+			   },*/{
+		        field: 'path',
+		        title: '图片路径',
+		        sortable: true,
+		        sortName: 'path',
+		        formatter:function(value, row , index){
+		        	var valueArray = value.split("|");
+		        	var labelArray = [];
+		        	for(var i =0 ; i<valueArray.length; i++){
+		        		if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+		        		{
+		        			labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+		        		}else{
+		        			labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+		        		}
+		        	}
+		        	return labelArray.join(" ");
+		        }
+		       
+		    },{
+				   field: 'imgName',
+				   title: '上传用途',
+				   sortable: true,
+				   sortName: 'imgName',
+			   },{
+				   field: 'uId',
+				   title: '上传人员',
+				   sortable: true,
+				   sortName: 'uId',
+			   }]
+		});
+		  
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+		  $('#testPicTable').bootstrapTable("toggleView");
+		}
+	  
+	  $('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+                'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
+        });
+
+	 $("#export").click(function(){//导出Excel文件
+			jp.downloadFile('${ctx}/test/pic/testPic/export');
+	  });
+		    
+	  $("#search").click("click", function() {// 绑定查询按扭
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	 
+	 $("#reset").click("click", function() {// 绑定查询按扭
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		  $("#searchForm  .select-item").html("");
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	});
+		
+  function getIdSelections() {
+        return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+
+    //刷新列表
+  function refresh(){
+  	$('#testPicTable').bootstrapTable('refresh');
+  }
+
+
+</script>

+ 92 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/nonPowerWhether.jsp

@@ -0,0 +1,92 @@
+<%@ 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="nonPowerStart.js"%>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$("#agree").click(function () {
+				var currentFileValues = $("input[name='pic']").val();
+				if (currentFileValues == "" || currentFileValues == null) {
+					jp.error("请上传文件");
+				} else {
+					jp.prompt("审核意见", function (message) {
+						jp.post("${ctx}/act/task/contractUploadList",
+						{
+							"taskId":"${uploadImages.act.taskId}",
+							"taskName":"${uploadImages.act.taskName}",
+							"taskDefKey":"${uploadImages.act.taskDefKey}",
+							"procInsId":"${uploadImages.act.procInsId}",
+							"procDefId":"${uploadImages.act.procDefId}",
+							"flag":"yes",
+							"pic":currentFileValues,
+							"comment":window.encodeURI(message)
+						},
+						function (data) {
+							if(data.success){
+								jp.success(data.msg);
+								jp.go("${ctx}/act/task/todo")
+							}
+						})
+					});
+				}
+			});
+		});
+	</script>
+</head>
+<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">
+	<!-- 表格 -->
+	<table id="testPicTable"   data-toolbar="#toolbar"></table>
+		<div class="panel-body">
+			<form:form id="inputForm" modelAttribute="materialModule" class="form-horizontal">
+				<form:hidden path="id"/>
+				<form:hidden path="act.taskId"/>
+				<form:hidden path="act.taskName"/>
+				<form:hidden path="act.taskDefKey"/>
+				<form:hidden path="act.procInsId"/>
+				<form:hidden path="act.procDefId"/>
+				<input type="hidden" id="procInsId" name="procInsId" value="${materialModule.act.procInsId}"/>
+				<table class="table table-bordered">
+					<tbody>
+					<tr>
+						<td class="width-15 active"><label class="pull-right"><font color="red">*</font>文件上传:</label></td>
+						<td class="width-35">
+							<sys:fileUpload  path="pic" fileNumLimit="50" fileSizeLimit="50" value="${testPic.pic}" type="file" uploadPath="/materialModule"></sys:fileUpload>
+						</td>
+					</tr>
+					</tbody>
+				</table>
+			</form:form>
+			<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="submit" value="提交" />&nbsp;
+					</div>
+				</div>
+			</div>
+			<c:if test="${not empty materialModule.id}">
+				<act:flowChart procInsId="${materialModule.act.procInsId}"/>
+				<act:histoicFlow procInsId="${materialModule.act.procInsId}" />
+			</c:if>
+		</div>
+    <!-- context menu -->
+    <ul id="context-menu" class="dropdown-menu">
+    </ul>  
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 6 - 2
src/main/webapp/webpage/modules/sg/picking/activiti/netExamine.js

@@ -93,9 +93,13 @@ $(document).ready(function() {
 				}, {
 					field: 'mdUnits',
 					title: '单位',
-				}, {
-					field: 'mdTotalAmount',
+				},{
+					field: 'mdTotalAmountAfter',
 					title: '总量',
+				},
+				{
+					field: 'mdTotalAmount',
+					title: '修改后总量',
 					events: operateEvents,
 					formatter: getTime
 				}, {