Explorar o código

Merge remote-tracking branch 'origin/master'

yue %!s(int64=5) %!d(string=hai) anos
pai
achega
c270492447

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

@@ -6,6 +6,7 @@ package com.jeeplus.modules.act.service;
 import java.io.InputStream;
 import java.io.InputStream;
 import java.util.*;
 import java.util.*;
 
 
+import com.jeeplus.common.utils.DateUtils;
 import com.jeeplus.common.utils.SpringContextHolder;
 import com.jeeplus.common.utils.SpringContextHolder;
 import com.jeeplus.modules.oa.entity.OaNotify;
 import com.jeeplus.modules.oa.entity.OaNotify;
 import com.jeeplus.modules.oa.entity.OaNotifyRecord;
 import com.jeeplus.modules.oa.entity.OaNotifyRecord;
@@ -16,6 +17,10 @@ import com.jeeplus.modules.sg.managementcenter.activiti.entity.Construction;
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.Disclose;
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.Disclose;
 import com.jeeplus.modules.sg.managementcenter.activiti.service.ConstructionService;
 import com.jeeplus.modules.sg.managementcenter.activiti.service.ConstructionService;
 import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyActiviUtils;
 import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyActiviUtils;
+import com.jeeplus.modules.sg.managementcenter.materialinfo.entity.MaterialInfo;
+import com.jeeplus.modules.sg.managementcenter.materialinfo.mapper.MaterialInfoMapper;
+import com.jeeplus.modules.sg.managementcenter.materialproject.entity.MaterialProject;
+import com.jeeplus.modules.sg.managementcenter.materialproject.mapper.MaterialProjectMapper;
 import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 import com.jeeplus.modules.sg.managementcenter.project.entity.Project1;
 import com.jeeplus.modules.sg.managementcenter.project.entity.Project1;
 import com.jeeplus.modules.sg.materialmodule.activiti.entity.MaterialModule;
 import com.jeeplus.modules.sg.materialmodule.activiti.entity.MaterialModule;
@@ -121,6 +126,15 @@ public class ActTaskService extends BaseService {
     private OaNotifyService oaNotifyService;
     private OaNotifyService oaNotifyService;
     @Autowired
     @Autowired
     private PickIngService pickIngService;
     private PickIngService pickIngService;
+    @Autowired
+    private ActProcessService actProcessService;
+    @Autowired
+    private ActTaskService actTaskService;
+
+    @Autowired
+    private MaterialProjectMapper materialProjectMapper;
+    @Autowired
+    private MaterialInfoMapper materialInfoMapper;
 
 
     /**
     /**
      * 获取待办任务列表
      * 获取待办任务列表
@@ -2551,6 +2565,92 @@ public class ActTaskService extends BaseService {
      * @param act
      * @param act
      */
      */
     @Transactional(readOnly = false)
     @Transactional(readOnly = false)
+    public void materialReport(Act act,String selectNumber,String reserveName) {
+        // 设置意见
+        act.setComment(("yes".equals(act.getFlag()) ? "[同意] " : "[驳回] ") + act.getComment());
+        act.preUpdate();
+        // 对不同环节的业务逻辑进行操作
+        String taskDefKey = act.getTaskDefKey();
+        // 提交流程任务
+        Map<String, Object> vars = Maps.newHashMap();
+        vars.put("person", "shenc2");
+        PickApplication pickApplication = new PickApplication();
+        pickApplication.preInsert();
+        pickApplication.setProjectId(reserveName);
+        //保存流程定义
+        showListService.newSave(pickApplication);
+        ProcessDefinition p = actProcessService.getProcessDefinition(act.getProcDefId());
+        String title = UserUtils.getUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
+        String procInsId = actTaskService.startProcessNew(p.getKey(), "md_picking_application", pickApplication.getId(), title, vars);
+        List<ShowList> showLists = MyActiviUtils.finaList(selectNumber);
+        for (ShowList a : showLists) {
+            a.preInsert();
+            a.setProcInsId(procInsId);
+            a.setReserveName(reserveName);
+        }
+        pickIngService.processTemReportList(showLists);
+        //complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
+    }
+
+    /**
+     * 保存审核意见
+     *
+     * @param act
+     */
+    @Transactional(readOnly = false)
+    public void materialReportBillOff(Act act) {
+        // 设置意见
+        act.setComment(("yes".equals(act.getFlag()) ? "[同意] " : "[驳回] ") + act.getComment());
+        act.preUpdate();
+        // 对不同环节的业务逻辑进行操作
+        String taskDefKey = act.getTaskDefKey();
+        // 提交流程任务
+        Map<String, Object> vars = Maps.newHashMap();
+        complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
+
+        //获取当前流程的材料数据
+        List<ShowList> procInsIdMaterialReport = pickIngService.findProcInsIdMaterialReport(act.getProcInsId());
+        //赋值
+        List<MaterialProject> materialProjects = new ArrayList<MaterialProject>();
+        List<MaterialInfo> materialInfos = new ArrayList<MaterialInfo>();
+        MaterialProject materialProject = null;
+        MaterialInfo materialInfo = null;
+        String reserveProjectName = "";
+        for (ShowList showList:procInsIdMaterialReport){
+            //获取储备名称名字
+            reserveProjectName = showList.getReserveName();
+            //获取明细数据(此处可优化为反射)
+            materialInfo = new MaterialInfo();
+            materialInfo.setProjectName(showList.getReserveName());//项目名称
+            materialInfo.setMaterialCode(showList.getMaterialCode());//物料编码
+            materialInfo.setMaterialName(showList.getMaterialDescription());//物料描述
+            materialInfo.setExtendDescription(showList.getExtensionDescription());//扩展描述
+            materialInfo.setUnit(showList.getMdUnits());//单位
+            materialInfo.setTotalCount(showList.getMdTotalAmount());//总量
+            materialInfo.setWeightTon(showList.getMdSingleWeight());//单重kg
+            materialInfo.setSupplyType(showList.getMdTheParty());//甲乙供
+            materialInfo.setNote(showList.getMdText());//备注
+            materialInfo.preInsert();
+            materialInfos.add(materialInfo);
+        }
+        materialProject = new MaterialProject();
+        materialProject.setReserveProjectName(reserveProjectName);
+        materialProject.preInsert();
+        materialProjects.add(materialProject);
+        ////添加年度物料上报统计
+        materialProjectMapper.insertList(materialProjects);
+        //添加月度物资上报明细
+        materialInfoMapper.insertList(materialInfos);
+        //根据流程删除临时表
+        pickIngService.deleteProcInsIdMaterialReport(act.getProcInsId());
+    }
+
+    /**
+     * 保存审核意见
+     *
+     * @param act
+     */
+    @Transactional(readOnly = false)
     public void managerExam(Act act) {
     public void managerExam(Act act) {
         // 设置意见
         // 设置意见
         act.setComment(("yes".equals(act.getFlag()) ? "[同意] " : "[驳回] ") + act.getComment());
         act.setComment(("yes".equals(act.getFlag()) ? "[同意] " : "[驳回] ") + act.getComment());

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

@@ -33,6 +33,7 @@ import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyActiviUtils;
 import com.jeeplus.modules.sg.managementcenter.constructionProject.entity.ConstructionProject;
 import com.jeeplus.modules.sg.managementcenter.constructionProject.entity.ConstructionProject;
 import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
 import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
 import com.jeeplus.modules.sg.materialmodule.activiti.service.MaterialModuleService;
 import com.jeeplus.modules.sg.materialmodule.activiti.service.MaterialModuleService;
+import com.jeeplus.modules.sg.picking.activiti.entity.PickApplication;
 import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
 import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
 import com.jeeplus.modules.sg.picking.activiti.service.PickIngService;
 import com.jeeplus.modules.sg.picking.activiti.service.PickIngService;
 import com.jeeplus.modules.sg.settActivi.service.SettActiviService;
 import com.jeeplus.modules.sg.settActivi.service.SettActiviService;
@@ -1349,6 +1350,38 @@ public class ActTaskController extends BaseController {
         return j;
         return j;
     }
     }
 
 
+    //开具设计清单
+    @ResponseBody
+    @RequestMapping(value = "materialReport")
+    public AjaxJson materialReport(Act act, String selectNumber,String reserveName) {
+        AjaxJson j = new AjaxJson();
+        try {
+            String comment = URLDecoder.decode(act.getComment(), "UTF-8");
+            act.setComment(comment);
+            actTaskService.materialReport(act,selectNumber,reserveName);
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        j.setMsg("审批成功");
+        return j;
+    }
+
+    //审核材料清单
+    @ResponseBody
+    @RequestMapping(value = "materialReportBillOff")
+    public AjaxJson materialReportBillOff(Act act, String selectNumber,String reserveName) {
+        AjaxJson j = new AjaxJson();
+        try {
+            String comment = URLDecoder.decode(act.getComment(), "UTF-8");
+            act.setComment(comment);
+            actTaskService.materialReportBillOff(act);
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        j.setMsg("审批成功");
+        return j;
+    }
+
     /**
     /**
      * 审批
      * 审批
      *
      *

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

@@ -57,6 +57,17 @@ public class ShowList extends ActEntity<ShowList> implements Comparable<ShowList
     //在当前节点的数量
     //在当前节点的数量
     private Double nowNumber;
     private Double nowNumber;
 
 
+
+    private String reserveName;
+
+    public String getReserveName() {
+        return reserveName;
+    }
+
+    public void setReserveName(String reserveName) {
+        this.reserveName = reserveName;
+    }
+
     public String getMaterialCode() {
     public String getMaterialCode() {
         return materialCode;
         return materialCode;
     }
     }

+ 14 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/PickIngMapper.java

@@ -60,6 +60,20 @@ public interface PickIngMapper extends BaseMapper<PickIng> {
      * */
      * */
     void processTemList(@Param("showList")List<ShowList> showList);
     void processTemList(@Param("showList")List<ShowList> showList);
 
 
+    /**
+     * 插入临时领料清单 :物资上报
+     * */
+    void processTemReportList(@Param("showList")List<ShowList> showList);
+
     //根据流程实例id查询所有符合的临时表数据
     //根据流程实例id查询所有符合的临时表数据
     List<ShowList> findAllTem(String procInsId);
     List<ShowList> findAllTem(String procInsId);
+
+    //根据流程定义号查询当前操作的流程进行回显
+    List<ShowList> findProcInsIdMaterialReport(String procInsId);
+
+    //根据流程定义号删除当前临时表数据
+    Integer deleteProcInsIdMaterialReport(String procInsId);
+
+    //根据项目定义号删除当前流程表
+    Integer deleteProcInsIdPickingApplication(String procInsId);
 }
 }

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

@@ -49,6 +49,10 @@ public interface ShowListMapper extends BaseMapper<ShowList> {
     List<ShowList> findNewTemList(ShowList showList);
     List<ShowList> findNewTemList(ShowList showList);
 
 
     /**
     /**
+     * 根据流程定义号获取临时领料清单(物资上报)
+     */
+    List<ShowList> findMaterialReport(ShowList showList);
+    /**
      * 根据流程定义号获得领料清单
      * 根据流程定义号获得领料清单
      * */
      * */
     List<ShowList> inventoryComparisonData(List<String> searchList);
     List<ShowList> inventoryComparisonData(List<String> searchList);

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

@@ -279,7 +279,84 @@
 		</foreach>
 		</foreach>
 	</insert>
 	</insert>
 
 
+	<insert id="processTemReportList">
+		insert into md_temporary_report_list (
+		id,
+		create_by,
+		create_date,
+		update_by,
+		update_date,
+		del_flag,
+		remarks,
+		procInsId,
+		materialCode,
+		extensionDescription,
+		materialDescription,
+		mdUnits,
+		mdTotalAmount,
+		mdTotalAmountAfter,
+		mdSingleWeight,
+		mdTotalWeight,
+		mdTheParty,
+		mdText,
+		reserveName
+		)values
+		<foreach collection="showList" item="item" index="index" separator="," >
+			(
+			#{item.id},
+			#{item.createBy.id},
+			#{item.createDate},
+			#{item.updateBy.id},
+			#{item.updateDate},
+			#{item.delFlag},
+			#{item.remarks},
+			#{item.procInsId},
+			#{item.materialCode},
+			#{item.extensionDescription},
+			#{item.materialDescription},
+			#{item.mdUnits},
+			#{item.mdTotalAmount},
+			#{item.mdTotalAmountAfter},
+			#{item.mdSingleWeight},
+			#{item.mdTotalWeight},
+			#{item.mdTheParty},
+			#{item.mdText},
+			#{item.reserveName}
+			)
+		</foreach>
+	</insert>
+
 	<select id="findAllTem" resultType="com.jeeplus.modules.sg.picking.activiti.entity.ShowList">
 	<select id="findAllTem" resultType="com.jeeplus.modules.sg.picking.activiti.entity.ShowList">
 		select * from md_temporary_list where procInsId = #{procInsId};
 		select * from md_temporary_list where procInsId = #{procInsId};
 	</select>
 	</select>
+
+	<sql id="materialReportColumns">
+		a.id AS "id",
+		a.procInsId AS "procInsId",
+		a.reserveName AS "reserveName",
+		a.materialCode AS "materialCode",
+		a.extensionDescription AS "extensionDescription",
+		a.materialDescription AS "materialDescription",
+		a.mdUnits AS "mdUnits",
+		a.mdTotalAmount AS "mdTotalAmount",
+		a.mdTotalAmountAfter AS "mdTotalAmountAfter",
+		a.mdSingleWeight AS "mdSingleWeight",
+		a.mdTotalWeight AS "mdTotalWeight",
+		a.mdTheParty AS "mdTheParty",
+		a.mdText AS "mdText"
+	</sql>
+
+	<select id="findProcInsIdMaterialReport" resultType="com.jeeplus.modules.sg.picking.activiti.entity.ShowList">
+		select
+		<include refid="materialReportColumns"/>
+		from md_temporary_report_list a where a.procInsId = #{procInsId}
+	</select>
+
+	<delete id="deleteProcInsIdMaterialReport" parameterType="string">
+		delete from md_temporary_report_list where procInsId = #{procInsId}
+	</delete>
+
+	<delete id="deleteProcInsIdPickingApplication">
+		delete from md_picking_application  where procInsId = #{procInsId}
+	</delete>
 </mapper>
 </mapper>

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

@@ -184,6 +184,24 @@
 	from md_temporary_list where procInsId = #{procInsId}
 	from md_temporary_list where procInsId = #{procInsId}
 	</select>
 	</select>
 
 
+	<select id="findMaterialReport" resultType="com.jeeplus.modules.sg.picking.activiti.entity.ShowList">
+	SELECT
+		id,
+		procInsId,
+		materialCode,
+		extensionDescription,
+		materialDescription,
+		mdUnits,
+		mdTotalAmount,
+		mdTotalAmountAfter,
+		mdSingleWeight,
+		mdTotalWeight,
+		mdTheParty,
+		mdText,
+		reserveName
+	from md_temporary_report_list where procInsId = #{procInsId}
+	</select>
+
     <select id="inventoryComparisonData" resultType="com.jeeplus.modules.sg.picking.activiti.entity.ShowList">
     <select id="inventoryComparisonData" resultType="com.jeeplus.modules.sg.picking.activiti.entity.ShowList">
         SELECT
         SELECT
         id,
         id,

+ 25 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/service/PickIngService.java

@@ -185,6 +185,14 @@ public class PickIngService extends CrudService<PickIngMapper, PickIng> {
 		pickIngMapper.processTemList(showList);
 		pickIngMapper.processTemList(showList);
 	}
 	}
 
 
+	/**
+	 * 插入临时领料清单:物资上报
+	 * */
+	@Transactional(readOnly = false)
+	public void processTemReportList(@Param("showList")List<ShowList> showList){
+		pickIngMapper.processTemReportList(showList);
+	}
+
 	public List<Acquisition> findErpType(List<String> list) {
 	public List<Acquisition> findErpType(List<String> list) {
 		return pickIngMapper.findErpType(list);
 		return pickIngMapper.findErpType(list);
 	}
 	}
@@ -284,4 +292,21 @@ public class PickIngService extends CrudService<PickIngMapper, PickIng> {
 	public List<ShowList> findAllTem(String procInsId){
 	public List<ShowList> findAllTem(String procInsId){
 		return pickIngMapper.findAllTem(procInsId);
 		return pickIngMapper.findAllTem(procInsId);
 	}
 	}
+
+	//根据流程定义号查询当前 模块清单进行回显
+	public List<ShowList> findProcInsIdMaterialReport(String procInsId){
+		return  pickIngMapper.findProcInsIdMaterialReport(procInsId);
+	}
+
+	//根据流程定义号删除当前临时表数据
+	@Transactional(readOnly = false)
+	public Integer deleteProcInsIdMaterialReport(String procInsId){
+		return pickIngMapper.deleteProcInsIdMaterialReport(procInsId);
+	}
+
+	//根据项目定义号删除当前流程表
+	@Transactional(readOnly = false)
+	public Integer deleteProcInsIdPickingApplication(String procInsId){
+		return pickIngMapper.deleteProcInsIdPickingApplication(procInsId);
+	}
 }
 }

+ 8 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/service/ShowListService.java

@@ -48,6 +48,14 @@ public class ShowListService extends CrudService<ShowListMapper, ShowList> {
 		return page;
 		return page;
 	}
 	}
 
 
+	//物资上报
+	public Page<ShowList> findMaterialReport(Page<ShowList> page, ShowList showList) {
+		dataRuleFilter(showList);
+		showList.setPage(page);
+		page.setList(mapper.findMaterialReport(showList));
+		return page;
+	}
+
 	public List<ShowList> findNewTemList(ShowList showList) {
 	public List<ShowList> findNewTemList(ShowList showList) {
 		return mapper.findNewTemList(showList);
 		return mapper.findNewTemList(showList);
 	}
 	}

+ 87 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/web/MaterialReportController.java

@@ -0,0 +1,87 @@
+package com.jeeplus.modules.sg.picking.activiti.web;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.act.entity.Act;
+import com.jeeplus.modules.act.service.ActProcessService;
+import com.jeeplus.modules.act.service.ActTaskService;
+import com.jeeplus.modules.sg.managementcenter.activiti.service.ConstructionService;
+import com.jeeplus.modules.sg.managementcenter.materialProvided.service.MaterialProvidedService;
+import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
+import com.jeeplus.modules.sg.picking.activiti.entity.PickIng;
+import com.jeeplus.modules.sg.picking.activiti.entity.PickList;
+import com.jeeplus.modules.sg.picking.activiti.entity.ProjectNumber;
+import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
+import com.jeeplus.modules.sg.picking.activiti.service.PickIngService;
+import com.jeeplus.modules.sg.picking.activiti.service.ShowListService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping(value = "${adminPath}/picking/materialReport")
+public class MaterialReportController extends BaseController {
+
+    @Autowired
+    private PickIngService pickIngService;
+    @Autowired
+    private ShowListService showListService;
+    @Autowired
+    private ActProcessService actProcessService;
+    @Autowired
+    private ActTaskService actTaskService;
+    @Autowired
+    private ConstructionService constructionService;
+    @Autowired
+    private ProjectService projectService;
+    @Autowired
+    private MaterialProvidedService materialProvidedService;
+
+    /**
+     * 填写项目表
+     */
+    @RequestMapping(value = "list")
+    public String form(ShowList showList, Model model) {
+        String procInsId = showList.getAct().getProcInsId();
+        String s = pickIngService.selectVersion(procInsId);
+        ProjectNumber projectNumber = pickIngService.projectNumber(procInsId);
+        PickIng pickIng = new PickIng();
+        List<PickList> pickListList = pickIngService.newAllList(pickIng, s);
+        model.addAttribute("showList", showList);
+        model.addAttribute("projectNumber", projectNumber);
+        model.addAttribute("pickListList", pickListList);
+        return "modules/sg/picking/activiti/materialReport";
+    }
+
+    /**
+     * 配网物资专职
+     */
+    @RequestMapping(value = "listMaterial")
+    public String formMaterial(ShowList showList, Model model, Act act) {
+        model.addAttribute("showList", showList);
+        ProjectNumber projectNumber = pickIngService.projectNumber(showList.getProcInsId());
+        model.addAttribute("projectNumber", projectNumber);
+        model.addAttribute("act", act);
+        return "modules/sg/picking/activiti/materialReportForm";
+    }
+
+    /**
+     * 模块清单显示页面
+     * */
+    @ResponseBody
+    @RequestMapping(value = "constructionTemData")
+    public Map<String, Object> constructionTemData(ShowList showList, String procInsId, HttpServletRequest request, HttpServletResponse response, Model model) {
+        Page<ShowList> page = showListService.findMaterialReport(new Page<ShowList>(request, response), showList);
+        return getBootstrapData(page);
+    }
+}

+ 338 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/materialReport.js

@@ -0,0 +1,338 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+    <script>
+    $(document).ready(function() {
+        var item = "";
+        //bootstrapTable加载数据
+        $('#informationTable').bootstrapTable({
+            //请求方法
+            method: 'post',
+            //类型json
+            dataType: "json",
+            contentType: "application/x-www-form-urlencoded",
+            //显示检索按钮
+            showSearch: false,
+            //显示刷新按钮
+            showRefresh: false,
+            //显示切换手机试图按钮
+            showToggle: false,
+            //显示 内容列下拉框
+            showColumns: false,
+            //显示到处按钮
+            showExport: false,
+            //显示切换分页按钮
+            showPaginationSwitch: false,
+            //最低显示2行
+            minimumCountColumns: 2,
+            //是否显示行间隔色
+            striped: true,
+            //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+            cache: false,
+            //是否显示分页(*)
+            pagination: false,
+            //排序方式
+            sortOrder: "asc",
+            //初始化加载第一页,默认第一页
+            pageNumber:1,
+            //每页的记录行数(*)
+            pageSize: 10,
+            //可供选择的每页的行数(*)
+            pageList: [10, 25, 50, 100],
+            //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+            url: "${ctx}/picking/showlist/data",
+            //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+            ////查询参数,每次调用是会带上这个参数,可自定义
+            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',
+            onClickRow: function(row, $el){
+            },
+            onShowSearch: function () {
+                $("#search-collapse").slideToggle();
+            },
+            formatNoMatches:function(){
+                return "你的自定义文字说明";
+            },
+            columns: [
+                {
+                    field: 'materialCode',
+                    title: '物料编码',
+                },{
+                    field: 'materialDescription',
+                    title: '物料名称',
+                },{
+                    field: 'extensionDescription',
+                    title: '扩展描述',
+                },{
+                    field: 'mdUnits',
+                    title: '单位',
+                },{
+                    field: 'mdTotalAmount',
+                    title: '总量',
+                },{
+                    field: 'mdSingleWeight',
+                    title: '单重/kg',
+                },{
+                    field: 'mdTotalWeight',
+                    title: '总重/吨',
+                },{
+                    field: 'mdTheParty',
+                    title: '甲乙供',
+                },{
+                    field: 'mdText',
+                    title: '备注',
+                }
+            ]
+        });
+
+        $('#informationTable2').bootstrapTable({
+            //请求方法
+            method: 'post',
+            //类型json
+            dataType: "json",
+            contentType: "application/x-www-form-urlencoded",
+            //显示检索按钮
+            showSearch: false,
+            //显示刷新按钮
+            showRefresh: false,
+            //显示切换手机试图按钮
+            showToggle: false,
+            //显示 内容列下拉框
+            showColumns: false,
+            //显示到处按钮
+            showExport: false,
+            //显示切换分页按钮
+            showPaginationSwitch: false,
+            //最低显示2行
+            minimumCountColumns: 2,
+            //是否显示行间隔色
+            striped: true,
+            //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+            cache: false,
+            //是否显示分页(*)
+            pagination: false,
+            //排序方式
+            sortOrder: "asc",
+            //初始化加载第一页,默认第一页
+            pageNumber:1,
+            //每页的记录行数(*)
+            pageSize: 10,
+            //可供选择的每页的行数(*)
+            pageList: [10, 25, 50, 100],
+            //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+            url: "${ctx}/picking/showlist/mkData",
+            //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+            ////查询参数,每次调用是会带上这个参数,可自定义
+            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',
+            onClickRow: function(row, $el){
+            },
+            onShowSearch: function () {
+                $("#search-collapse").slideToggle();
+            },
+            formatNoMatches:function(){
+                return "你的自定义文字说明";
+            },
+            columns: [
+                {
+                    field: 'mdBigClass',
+                    title: '模块大类',
+                },
+                {
+                    field: 'mdTheClass',
+                    title: '模块中类',
+                },
+                {
+                    field: 'mdName',
+                    title: '模块名称',
+                },
+                {
+                    field: 'materialCode',
+                    title: '物料编码',
+                },{
+                    field: 'materialDescription',
+                    title: '物料名称',
+                },{
+                    field: 'extensionDescription',
+                    title: '扩展描述',
+                },{
+                    field: 'mdUnits',
+                    title: '单位',
+                },{
+                    field: 'mdTotalAmount',
+                    title: '总量',
+                },{
+                    field: 'mdSingleWeight',
+                    title: '单重/kg',
+                },{
+                    field: 'mdTotalWeight',
+                    title: '总重/吨',
+                },{
+                    field: 'mdTheParty',
+                    title: '甲乙供',
+                },{
+                    field: 'mdText',
+                    title: '备注',
+                }
+            ]
+        });
+
+
+        if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+            $('#informationTable').bootstrapTable("toggleView");
+        }
+
+
+        function getTime(value, row, index) {
+            return [
+                "<input  id="+row.id+" type='number' name='changeAmount' class='form-control required deal'  value="+row.mdTotalAmount+">",
+            ].join('');
+        }
+
+        // 绑定查询按扭
+        $("#search").click("click", function() {
+            $('#informationTable').bootstrapTable('refresh');
+        });
+        $("#click1").click("click", function() {
+            // alert("1");
+            $("#click2").attr("style","");
+            $("#click1").attr("style","border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)");
+        });
+        $("#click2").click("click",function () {
+            $("#click1").attr("style","");
+            $("#click2").attr("style","border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)");
+        });
+        // 绑定查询重置按扭
+        $("#reset").click("click", function() {
+            $("#searchForm  input").val("");
+            $("#searchForm  select").val("");
+            $('#informationTable').bootstrapTable('refresh');
+        });
+
+        $("#dq").click("click", function () {
+            $("#div1").attr("style", "display:block;");
+            $("#div2").attr("style", "display:none;");
+            $("#div3").attr("style", "display:none;");
+        });
+        $("#qd").click("click", function () {
+            $("#div1").attr("style", "display:none;");
+            $("#div2").attr("style", "display:block;");
+            $("#div3").attr("style", "display:none;");
+            var item = "";
+            $('input[name="need"]').each(function(){
+                var val = $(this).val();
+                if (val!=null&&val!=""&&val>0) {
+                    item += $(this).attr("id")+":"+val+";"
+                    console.log("item"+item);
+                }
+            })
+            $('#informationTable').bootstrapTable('refresh', {
+                query:
+                    {
+                        item: item
+                    }
+            });
+        });
+        $("#mkqd").click("click", function () {
+            $("#div1").attr("style", "display:none;");
+            $("#div2").attr("style", "display:none;");
+            $("#div3").attr("style", "display:block;");
+            var item = "";
+            $('input[name="need"]').each(function(){
+                var val = $(this).val();
+                if (val!=null&&val!=""&&val>0) {
+                    item += $(this).attr("id")+":"+val+";"
+                    console.log(item+"\t");
+                }
+            })
+            $('#informationTable2').bootstrapTable('refresh', {
+                query:
+                    {
+                        item: item
+                    }
+            });
+        });
+        $("#agree").click(function () {
+            var item = "";
+            $('input[name="need"]').each(function(){
+                var val = $(this).val();
+                if (val!=null&&val!=""&&val>0) {
+                    item += $(this).attr("id")+":"+val+";"
+                    console.log(item+"\t");
+                }
+            })
+            if (item == null || item == "") {
+                jp.error("请填写模块表");
+            } else {
+                jp.prompt("审核通过", function (message) {
+                    jp.post("${ctx}/act/task/materialReport",
+                        {
+                            "taskId": "${showList.act.taskId}",
+                            "taskName": "${showList.act.taskName}",
+                            "taskDefKey": "${showList.act.taskDefKey}",
+                            "procInsId": "${showList.act.procInsId}",
+                            "procDefId": "${showList.act.procDefId}",
+                            "selectNumber":item,
+                            "flag": "yes",
+							"reserveName":$("#reserveName").val(),
+                            "comment": window.encodeURI(message)
+                        },
+                        function (data) {
+                            if(data.success){
+                                jp.success(data.msg);
+                                jp.go("${ctx}/act/task/todo")
+                            }
+                        })
+                });
+            }
+        });
+
+        function getIdSelections() {
+            return $.map($("#informationTable").bootstrapTable('getSelections'), function (row) {
+                return row.id
+            });
+        }
+
+
+
+        //刷新列表
+        function refresh() {
+            $('#informationTable').bootstrapTable('refresh');
+        }
+
+
+        function addRow(list, idx, tpl, row){
+            $(list).append(Mustache.render(tpl, {
+                idx: idx, delBtn: true, row: row
+            }));
+        }
+    })
+    // $(document).ready(function (){
+    //     $("li").each(function(index){
+    //         $(this).click(function(){
+    //             alert(index)
+    //             $("li").removeClass("style");//删除当前元素的样式
+    //             $("li").eq(index).attr("style","border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)");//添加当前元素的样式
+    //         });
+    //     });
+    // });
+
+    </script>

+ 121 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/materialReport.jsp

@@ -0,0 +1,121 @@
+<%@ 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="materialReport.js" %>
+	<style type="text/css">
+		#div1{
+			margin-top: 10px;
+		}
+		.well-class-body{
+			width: 150px;
+			word-wrap: break-word;
+			word-break: break-all;
+			/*text-align: right;*/
+			margin: 2px;
+		}
+		.list-lig-one{
+			color: #0C0C0C;
+			/*text-align: center;*/
+			font-size: 17px;
+			background-color: whitesmoke;
+		}
+		.list-lig-two{
+			/*background-color: #6495ED;*/
+			color: #333333;
+			font-size: 14px;
+		}
+	</style>
+</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">
+			<div>
+				<ul class="nav nav-tabs">
+					<li role="presentation" id="click1" style="border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)"><a id="dq" href="javascript:void(0)">填写需要材料</a></li>
+					<%--<li role="presentation" id="click3" ><a id="mkqd" href="javascript:void(0)">查看模块清单</a></li>--%>
+					<%--<li role="presentation" id="click2" ><a id="qd" href="javascript:void(0)">查看领料清单</a></li>--%>
+				</ul>
+			</div>
+			<div>
+				<input type="text" id="reserveName" name="reserveName" class="">
+			</div>
+			<!-- 表格 -->
+			<div id="div1">
+				<table class="table table-view">
+					<tbody>
+					<%--<h3>项目:${projectNumber.requireName}&nbsp;发起第${projectNumber.theNumber}次开具领料清单</h3>--%>
+					<c:forEach items="${pickListList}" var="items" varStatus="status">
+						<c:if test="${status.count eq 1 || (status.count-1) % 1 eq 0}">
+						<tr>
+						</c:if>
+							<td colspan="4" class="list-lig-one">${items.name}</td>
+						<c:if test="${status.count % 1 eq 0 || status.count eq 1}">
+						</tr>
+						</c:if>
+
+						<c:forEach items="${items.mdTheClassList}" var="items" varStatus="status">
+							<c:if test="${status.count eq 1 || (status.count-1) % 1 eq 0}">
+								<tr>
+							</c:if>
+							<td colspan="4" class="list-lig-two">${items.name}</td>
+							<c:if test="${status.count % 1 eq 0 || status.count eq 1}">
+								</tr>
+							</c:if>
+
+							<c:forEach items="${items.mdSmallClassList}" var="itemss" varStatus="status">
+								<c:if test="${status.count eq 1 || (status.count-1) % 4 eq 0}">
+									<tr>
+								</c:if>
+								<td style="text-align: center;vertical-align: middle">
+										<div class="well-class-body" style="float: left;">
+											<a href="javascript:jp.openViewDialog('模块清单','${ctx}/managementcenter/moduleacquisition/moduleListing/list?blockId=${itemss.id}', '800px', '500px');">
+												${itemss.name}
+											</a>
+										</div>
+										<div style="float: left;margin-left: 5px;margin: auto">
+											<input style="width:40px;" placeholder="0" type="number" min="0" name="need" id="${itemss.id}"/><span>&nbsp;${itemss.mdUnit}</span>
+<%--											<span><img onclick="jp.showPic('${itemss.mdImg}')" src="${itemss.mdImg}" height="50px"></span>--%>
+											<c:if test="${not empty itemss.mdImg}">
+												<a id="imgButton" class="btn btn-success btn-xs waves-effect m-r-5" href="javascript:jp.openViewDialog('查看附件','${ctx}/picking/activiti/pickPic?id=${itemss.id}', '800px', '500px')">显示附件</a>
+											</c:if>
+										</div>
+								</td>
+								<c:if test="${status.count % 4 eq 0 || status.count eq 4}">
+									</tr>
+								</c:if>
+							</c:forEach>
+
+						</c:forEach>
+					</c:forEach>
+					</tbody>
+				</table>
+				<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>
+			</div>
+
+			<c:if test="${not empty showList.id}">
+				<act:flowChart procInsId="${showList.act.procInsId}"/>
+				<act:histoicFlow procInsId="${showList.act.procInsId}" />
+			</c:if>
+		</div>
+
+	</div>
+	</div>
+</body>
+</html>
+

+ 235 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/materialReportForm.js

@@ -0,0 +1,235 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	window.operateEvents = {
+		'change input': function (e, value, row, index) {
+			//input的id是那一行bootstrap的id,将id
+			var ss = $('#'+row.id).val();
+			jp.confirm('确认要修改?', function () {
+				jp.get("${ctx}/picking/activiti/mdTotalTemAmount?id="+row.id+"&mdTotalAmount="+ss, function (data) {
+					jp.success(data.msg);
+					refresh();
+				})
+			},function () {
+				$('#informationTable').bootstrapTable('refresh');
+			})
+		}
+	};
+	var item = "";
+	var procInsId = $("#procInsId").val();
+		//bootstrapTable加载数据
+		$('#informationTable').bootstrapTable({
+			//请求方法
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			//显示检索按钮
+			showSearch: false,
+			//显示刷新按钮
+			showRefresh: false,
+			//显示切换手机试图按钮
+			showToggle: false,
+			//显示 内容列下拉框
+			showColumns: false,
+			//显示到处按钮
+			showExport: false,
+			//显示切换分页按钮
+			showPaginationSwitch: false,
+			//最低显示2行
+			minimumCountColumns: 2,
+			//是否显示行间隔色
+			striped: true,
+			//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+			cache: false,
+			//是否显示分页(*)
+			pagination: false,
+			//排序方式
+			sortOrder: "asc",
+			//初始化加载第一页,默认第一页
+			pageNumber: 1,
+			//每页的记录行数(*)
+			pageSize: 10,
+			//可供选择的每页的行数(*)
+			pageList: [10, 25, 50, 100],
+			//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+			url: "${ctx}/picking/materialReport/constructionTemData?procInsId="+procInsId,
+			//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+			////查询参数,每次调用是会带上这个参数,可自定义
+			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',
+			onClickRow: function (row, $el) {
+			},
+			onShowSearch: function () {
+				$("#search-collapse").slideToggle();
+			},
+			formatNoMatches: function () {
+				return "你的自定义文字说明";
+			},
+			columns: [
+				{
+					checkbox: true
+				},
+				{
+					field:'reserveName',
+					title:'项目名称',
+				},
+				{
+					field: 'materialCode',
+					title: '物料编码',
+				}, {
+					field: 'materialDescription',
+					title: '物料名称',
+				}, {
+					field: 'extensionDescription',
+					title: '扩展描述',
+					width:'200px'
+				}, {
+					field: 'mdUnits',
+					title: '单位',
+				},
+				{
+					field: 'mdTotalAmount',
+					title: '总量',
+				}, {
+					field: 'mdSingleWeight',
+					title: '单重/kg',
+				}, {
+					field: 'mdTotalWeight',
+					title: '总重/吨',
+				}, {
+					field: 'mdTheParty',
+					title: '甲乙供',
+				}, {
+					field: 'mdText',
+					title: '备注',
+				}
+			]
+		});
+	function myChange(row) {
+		alert(row.id);
+	}
+
+	function getTime(value, row, index) {
+		return [
+			"<input  id="+row.id+" type='number' name='changeAmount' class='form-control required deal'  value="+row.mdTotalAmount+">",
+		].join('');
+	}
+
+
+
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+		  $('#informationTable').bootstrapTable("toggleView");
+		}
+
+	$('#informationTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+		'check-all.bs.table uncheck-all.bs.table', function () {
+		$('#remove').prop('disabled', ! $('#informationTable').bootstrapTable('getSelections').length);
+		$('#view,#edit').prop('disabled', $('#informationTable').bootstrapTable('getSelections').length!=1);
+	});
+
+	$("#click2").click("click",function () {
+		$("#click3").attr("style","");
+		$("#click2").attr("style","border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)");
+		$("#div2").attr("style", "display:block;");
+		$("#div3").attr("style", "display:none;");
+	});
+
+	$("#click3").click("click",function () {
+		$("#click2").attr("style","");
+		$("#click3").attr("style","border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)");
+		$("#div2").attr("style", "display:none;");
+		$("#div3").attr("style", "display:block;");
+	});
+
+
+	// 绑定查询按扭
+	$("#search").click("click", function() {
+		$('#informationTable').bootstrapTable('refresh');
+	});
+
+	// 绑定查询重置按扭
+	$("#reset").click("click", function() {
+		$("#searchForm  input").val("");
+		$("#searchForm  select").val("");
+		$('#informationTable').bootstrapTable('refresh');
+	});
+
+	//通过
+	$("#agree").click(function () {
+		jp.prompt("同意, 审批意见", function (message) {
+			jp.post("${ctx}/act/task/materialReportBillOff",
+			{
+			"taskId":"${showList.act.taskId}",
+			"taskName":"${showList.act.taskName}",
+			"taskDefKey":"${showList.act.taskDefKey}",
+			"procInsId":"${showList.act.procInsId}",
+			"procDefId":"${showList.act.procDefId}",
+			"flag":"yes",
+			"comment":window.encodeURI(message)
+		},
+		function (data) {
+			if(data.success){
+				jp.success(data.msg);
+				jp.go("${ctx}/act/task/todo")
+			}
+		})
+		})
+	})
+
+
+	//领料清单
+	$("#exportBlock").click(function () {
+		var procInsId = encodeURI(encodeURI($("#procInsId").val()));
+		jp.downloadFile('${ctx}/picking/activiti/exportBlock?procInsId='+procInsId);
+	});
+
+	//模块清单
+	$("#exportListing").click(function () {
+		var procInsId = encodeURI(encodeURI($("#procInsId").val()));
+		jp.downloadFile('${ctx}/picking/activiti/exportListing?procInsId='+procInsId);
+	});
+});
+
+	function getIdSelections() {
+		return $.map($("#informationTable").bootstrapTable('getSelections'), function (row) {
+			return row.id
+		});
+	}
+	//刷新列表
+	function refresh() {
+		$('#informationTable').bootstrapTable('refresh');
+	}
+
+	function addRow(list, idx, tpl, row){
+		$(list).append(Mustache.render(tpl, {
+		idx: idx, delBtn: true, row: row
+		}));
+	}
+
+	function deleteAll(){
+		jp.confirm('确认要删除该图片管理记录吗?', function(){
+			jp.loading();
+			jp.get("${ctx}/picking/activiti/deleteAllTem?ids=" + getIdSelections(), function(data){
+					refresh();
+					jp.success(data.msg);
+			})
+		})
+	}
+
+	function add(){
+		var procInsId = $("#procInsId").val();
+		jp.openSaveDialog('新增物料', "${ctx}/picking/activiti/netExamineTemUpload?procInsId="+procInsId,'800px', '500px');
+	}
+
+</script>

+ 60 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/materialReportForm.jsp

@@ -0,0 +1,60 @@
+<%@ 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="materialReportForm.js" %>
+	<style type="text/css">
+		/* 下边两行是去掉input 输入框右边的上下箭头按钮*/
+		.deal::-webkit-inner-spin-button {
+			-webkit-appearance: none !important;
+		}
+		.deal::-webkit-outer-spin-button {
+			-webkit-appearance: none !important;
+		}
+		input[type="number"]{
+			-moz-appearance:textfield;
+		}
+	</style>
+</head>
+<body>
+	<div class="wrapper wrapper-content">
+	<div class="panel panel-primary">
+	<div class="panel-heading">
+		<h3 class="panel-title">配网物资专职审核材料清单</h3>
+	</div>
+		<form:form id="inputForm" modelAttribute="act" class="form-horizontal">
+			<input type="hidden" id="procInsId" name="procInsId" value="${showList.act.procInsId}"/>
+			<input type="hidden" id="taskId" name="procInsId" value="${showList.act.taskId}"/>
+		</form:form>
+		<div class="panel-body">
+			<div>
+				<ul class="nav nav-tabs">
+					<li role="presentation" id="click2" style="border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)"><a id="qd" href="javascript:void(0)">审核材料清单</a></li>
+					<%--<li role="presentation" id="click3" ><a id="mkqd" href="javascript:void(0)">查看模块清单</a></li>--%>
+				</ul>
+			</div>
+			<div id="div2" style="display: block">
+				<!-- 工具栏 -->
+				<table id="informationTable"   data-toolbar="#toolbar" class="table"></table>
+			</div>
+			<div class="row">
+				<div class="col-sm-3"></div>
+				<div class="col-sm-6">
+					<div class="form-group text-center" style="text-align: center;margin-top: 20px;">
+						<input id="agree" class="btn  btn-primary btn-lg btn-parsley" type="submit" value="确认提交" />&nbsp;
+					</div>
+				</div>
+			</div>
+			<c:if test="${not empty showList.id}">
+				<act:flowChart procInsId="${showList.act.procInsId}"/>
+				<act:histoicFlow procInsId="${showList.act.procInsId}" />
+			</c:if>
+		</div>
+	</div>
+	</div>
+</body>
+</html>