瀏覽代碼

施工交底01

yue 5 年之前
父節點
當前提交
4eb78d593e

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/audit/information/web/InformationController.java

@@ -709,7 +709,7 @@ public class InformationController extends BaseController {
         }
         StringBuilder stringBuilder = new StringBuilder();
         Template template = null;
-        File path = new File(this.getClass().getResource("/").getPath() + "/frefemarker");
+        File path = new File(this.getClass().getResource("/").getPath() + "/freemarker");
         Configuration cfg = new Configuration();
         try {
             cfg.setDefaultEncoding("UTF-8");

+ 72 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/entity/Construction.java

@@ -0,0 +1,72 @@
+package com.jeeplus.modules.sg.managementcenter.activiti.entity;
+
+import com.jeeplus.core.persistence.ActEntity;
+
+import java.util.Date;
+
+/**
+ * 施工交底Entity
+ * @author
+ * @version 2019-11-08
+ */
+public class Construction extends ActEntity<Construction> {
+    private static final long serialVersionUID = 1L;
+    private String procInsId;		// 流程实例编号
+    private String userName;		// 申请人
+    private String projectId;		// 项目号
+    private String projectName;		// 项目名称
+    private Date acceptDate;		// 请假结束时间
+    private Date examineDate;		// 请假理由
+
+
+
+    @Override
+    public String getProcInsId() {
+        return procInsId;
+    }
+
+    @Override
+    public void setProcInsId(String procInsId) {
+        this.procInsId = procInsId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(String projectId) {
+        this.projectId = projectId;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public Date getAcceptDate() {
+        return acceptDate;
+    }
+
+    public void setAcceptDate(Date acceptDate) {
+        this.acceptDate = acceptDate;
+    }
+
+    public Date getExamineDate() {
+        return examineDate;
+    }
+
+    public void setExamineDate(Date examineDate) {
+        this.examineDate = examineDate;
+    }
+}

+ 20 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/mapper/ConstructionMapper.java

@@ -0,0 +1,20 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.sg.managementcenter.activiti.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.sg.managementcenter.activiti.entity.Construction;
+import com.jeeplus.modules.test.activiti.entity.OALeave;
+
+/**
+ * 施工交底MAPPER接口
+ * @author
+ * @version 2019-11-08
+ */
+
+@MyBatisMapper
+public interface ConstructionMapper extends BaseMapper<Construction> {
+	
+}

+ 138 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/mapper/xml/ConstructionMapper.xml

@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.test.activiti.mapper.ConstructionMapper">
+    
+	<sql id="constructionColumns">
+		a.id AS "id",
+		a.proc_ins_id AS "procInsId",
+		a.user_name AS "userName",
+		a.project_id AS "projectId",
+		a.project_name AS "projectName",
+		a.accept_date AS "acceptDate",
+		a.examine_date AS "examineDate",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.remarks AS "remarks",
+		a.del_flag AS "delFlag"
+	</sql>
+	
+	<sql id="constructionJoins">
+		LEFT JOIN sys_user updateBy ON updateBy.id = a.update_by
+	</sql>
+	
+    <resultMap type="Construction" id="ConstructionResult" autoMapping="true">
+    	<result column="reason" property="reason"   typeHandler="com.jeeplus.core.mapper.ConvertBlobTypeHandler"/>
+    </resultMap>
+
+	<select id="get" resultMap="ConstructionResult" >
+		SELECT 
+			<include refid="constructionColumns"/>
+		FROM xm_construction_clarificaiton a
+		<include refid="constructionJoins"/>
+		WHERE a.id = #{id}
+	</select>
+	
+	<select id="findList" resultMap="ConstructionResult" >
+		SELECT 
+			<include refid="constructionColumns"/>
+		FROM xm_construction_clarificaiton a
+		<include refid="constructionJoins"/>
+		<where>
+			a.del_flag = #{DEL_FLAG_NORMAL}
+			${dataScope}
+		</where>
+		<choose>
+			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
+				ORDER BY ${page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY a.update_date DESC
+			</otherwise>
+		</choose>
+	</select>
+	
+	<select id="findAllList" resultMap="ConstructionResult" >
+		SELECT 
+			<include refid="constructionColumns"/>
+		FROM xm_construction_clarificaiton a
+		<include refid="constructionJoins"/>
+		<where>
+			a.del_flag = #{DEL_FLAG_NORMAL}
+			${dataScope}
+		</where>		
+		<choose>
+			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
+				ORDER BY ${page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY a.update_date DESC
+			</otherwise>
+		</choose>
+	</select>
+	
+	<insert id="insert">
+		INSERT INTO xm_construction_clarificaiton(
+			id,
+			proc_ins_id,
+			leave_type,
+			start_time,
+			end_time,
+			reason,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			remarks,
+			del_flag
+		) VALUES (
+			#{id},
+			#{procInsId},
+			#{leaveType},
+			#{startTime},
+			#{endTime},
+			#{reason},
+			#{createBy.id},
+			#{createDate},
+			#{updateBy.id},
+			#{updateDate},
+			#{remarks},
+			#{delFlag}
+		)
+	</insert>
+	
+	<update id="update">
+		UPDATE xm_construction_clarificaiton SET
+			proc_ins_id = #{procInsId},
+			leave_type = #{leaveType},
+			start_time = #{startTime},
+			end_time = #{endTime},
+			reason = #{reason},
+			update_by = #{updateBy.id},
+			update_date = #{updateDate},
+			remarks = #{remarks}
+		WHERE id = #{id}
+	</update>
+	
+	
+	<!--物理删除-->
+	<update id="delete">
+		DELETE FROM xm_construction_clarificaiton
+		WHERE id = #{id}
+	</update>
+	
+	<!--逻辑删除-->
+	<update id="deleteByLogic">
+		UPDATE xm_construction_clarificaiton SET
+			del_flag = #{DEL_FLAG_DELETE}
+		WHERE id = #{id}
+	</update>
+	
+	
+	<!-- 根据实体名称和字段名称和字段值获取唯一记录 -->
+	<select id="findUniqueByProperty" resultType="OALeave" statementType="STATEMENT">
+		select * FROM xm_construction_clarificaiton  where ${propertyName} = '${value}'
+	</select>
+	
+</mapper>

+ 50 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/service/ConstructionService.java

@@ -0,0 +1,50 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.sg.managementcenter.activiti.service;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.sg.managementcenter.activiti.entity.Construction;
+import com.jeeplus.modules.sg.managementcenter.activiti.mapper.ConstructionMapper;
+import com.jeeplus.modules.test.activiti.entity.OALeave;
+import com.jeeplus.modules.test.activiti.mapper.OALeaveMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 施工交底Service
+ * @author
+ * @version 2019-11-08
+ */
+@Service
+@Transactional(readOnly = true)
+public class ConstructionService extends CrudService<ConstructionMapper, Construction> {
+
+
+
+	public Construction get(String id) {
+		return super.get(id);
+	}
+	
+	public List<Construction> findList(Construction construction) {
+		return super.findList(construction);
+	}
+	
+	public Page<Construction> findPage(Page<Construction> page, Construction construction) {
+		return super.findPage(page, construction);
+	}
+	
+	@Transactional(readOnly = false)
+	public void save(Construction construction) {
+		super.save(construction);
+	}
+	
+	@Transactional(readOnly = false)
+	public void delete(Construction construction) {
+		super.delete(construction);
+	}
+	
+}

+ 115 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/ConstructionController.java

@@ -0,0 +1,115 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.sg.managementcenter.activiti.web;
+
+import com.google.common.collect.Maps;
+import com.jeeplus.common.json.AjaxJson;
+import com.jeeplus.common.utils.DateUtils;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.act.service.ActProcessService;
+import com.jeeplus.modules.act.service.ActTaskService;
+import com.jeeplus.modules.sg.managementcenter.activiti.entity.Construction;
+import com.jeeplus.modules.sg.managementcenter.activiti.service.ConstructionService;
+import com.jeeplus.modules.test.activiti.entity.OALeave;
+import com.jeeplus.modules.test.activiti.service.OALeaveService;
+import org.activiti.engine.repository.ProcessDefinition;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * 施工交底Controller
+ * @author
+ * @version 2019-11-08
+ */
+@Controller
+@RequestMapping(value = "${adminPath}/managementcenter/activiti")
+
+public class ConstructionController extends BaseController {
+
+	@Autowired
+	private ConstructionService constructionService;
+	@Autowired
+	private ActProcessService actProcessService;
+	@Autowired
+	private ActTaskService actTaskService;
+	
+	@ModelAttribute
+	public Construction get(@RequestParam(required=false) String id) {
+		Construction entity = null;
+		if (StringUtils.isNotBlank(id)){
+			entity = constructionService.get(id);
+		}
+		if (entity == null){
+			entity = new Construction();
+		}
+		return entity;
+	}
+	
+
+	/**
+	 * 查看,增加,编辑请假申请表单页面
+	 */
+	@RequestMapping(value = "form/{mode}")
+	public String form(@PathVariable String mode, Construction construction, Model model) {
+		model.addAttribute("construction", construction);
+		if("add".equals(mode) || "edit".equals(mode)){
+			return "modules/test/activiti/oALeaveForm";
+		}else{//audit
+			return "modules/test/activiti/oALeaveAudit";
+		}
+	}
+
+	/**
+	 * 保存请假申请
+	 */
+	@ResponseBody
+	@RequestMapping(value = "save")
+	public AjaxJson save(Construction construction, Model model) throws Exception{
+		AjaxJson j = new AjaxJson();
+		/**
+		 * 后台hibernate-validation插件校验
+		 */
+		String errMsg = beanValidator(construction);
+		if (StringUtils.isNotBlank(errMsg)){
+			j.setSuccess(false);
+			j.setMsg(errMsg);
+			return j;
+		}
+
+
+		/**
+		 * 流程审批
+		 */
+		if (StringUtils.isBlank(construction.getId())){
+			//新增或编辑表单保存
+			constructionService.save(construction);//保存
+			// 启动流程
+			ProcessDefinition p = actProcessService.getProcessDefinition(construction.getAct().getProcDefId());
+			String title = construction.getCurrentUser().getName()+"在"+ DateUtils.getDateTime()+"发起"+p.getName();
+			actTaskService.startProcess(p.getKey(),  "test_activiti_leave", construction.getId(), title);
+			j.setMsg("发起流程审批成功!");
+			j.getBody().put("targetUrl",  "/act/task/process/");
+		}else{
+			//新增或编辑表单保存
+			constructionService.save(construction);//保存
+			construction.getAct().setComment(("yes".equals(construction.getAct().getFlag())?"[重新申请] ":"[销毁申请] "));
+			// 完成流程任务
+			Map<String, Object> vars = Maps.newHashMap();
+			vars.put("reapply", "yes".equals(construction.getAct().getFlag())? true : false);
+			actTaskService.complete(construction.getAct().getTaskId(), construction.getAct().getProcInsId(), construction.getAct().getComment(), construction.getContent(), vars);
+			j.setMsg("提交成功!");
+			j.getBody().put("targetUrl",  "/act/task/todo/");
+		}
+
+		return j;
+	}
+	
+
+
+}

+ 172 - 0
src/main/webapp/webpage/modules/sg/managementcenter/activiti/constructionAudit.jsp

@@ -0,0 +1,172 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>请假申请管理</title>
+	<meta name="decorator" content="ani"/>
+	<!-- SUMMERNOTE -->
+	<%@include file="/webpage/include/summernote.jsp" %>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			jp.ajaxForm("#inputForm",function(data){
+				if(data.success){
+					jp.success(data.msg);
+					jp.go("${ctx}/managementcenter/activiti");
+				}else{
+					jp.error(data.msg);
+					$("#inputForm").find("button:submit").button("reset");
+				}
+			});
+
+
+			$("#agree").click(function () {
+				jp.prompt("同意, 审批意见", function (message) {
+					jp.post("${ctx}/act/task/audit",
+							{
+								"taskId":"${oALeave.act.taskId}",
+								"taskName":"${oALeave.act.taskName}",
+								"taskDefKey":"${oALeave.act.taskDefKey}",
+								"procInsId":"${oALeave.act.procInsId}",
+								"procDefId":"${oALeave.act.procDefId}",
+								"flag":"yes",
+								"comment":message
+
+							},
+							function (data) {
+								if(data.success){
+									jp.success(data.msg);
+									jp.go("${ctx}/act/task/todo")
+								}
+							})
+				})
+			})
+
+
+			$("#reject").click(function () {
+				jp.prompt("驳回, 审批意见", function (message) {
+					jp.post("${ctx}/act/task/audit",
+							{
+								"taskId":"${oALeave.act.taskId}",
+								"taskName":"${oALeave.act.taskName}",
+								"taskDefKey":"${oALeave.act.taskDefKey}",
+								"procInsId":"${oALeave.act.procInsId}",
+								"procDefId":"${oALeave.act.procDefId}",
+								"flag":"no",
+								"comment":message
+
+							},
+							function (data) {
+
+								if(data.success){
+									jp.success(data.msg);
+									jp.go("${ctx}/act/task/todo")
+								}
+
+
+							})
+				})
+			})
+
+
+			$('#startTime').datetimepicker({
+				format: "YYYY-MM-DD HH:mm:ss"
+			});
+			$('#endTime').datetimepicker({
+				format: "YYYY-MM-DD HH:mm:ss"
+			});
+			//富文本初始化
+			$('#reason').summernote({
+				height: 300,
+				lang: 'zh-CN',
+				readonly: true,
+				callbacks: {
+					onChange: function(contents, $editable) {
+						$("input[name='reason']").val($('#reason').summernote('code'));//取富文本的值
+					}
+				}
+			});
+		});
+	</script>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<div class="row">
+		<div class="col-md-12">
+			<div class="panel panel-primary">
+				<div class="panel-heading">
+					<h3 class="panel-title">
+						<a class="panelButton"  href="#"  onclick="history.go(-1)"><i class="ti-angle-left"></i> 返回</a>
+					</h3>
+				</div>
+				<div class="panel-body">
+					<div class="form-group text-center">
+						<%--<h3>${oALeave.act.taskName}</h3>--%>
+					</div>
+					<form:form id="inputForm" modelAttribute="construction" action="${ctx}/managementcenter/activiti/save" method="post" class="form-horizontal">
+						<form:hidden path="id"/>
+						<div class="form-group">
+							<label class="col-sm-2 control-label"><font color="red">*</font>请假类型:</label>
+							<div class="col-sm-10">
+									${fns:getDictLabel(oALeave.leaveType, 'oa_leave_type', '')}
+							</div>
+						</div>
+						<hr>
+						<div class="form-group">
+							<label class="col-sm-2 control-label"><font color="red">*</font>请假开始时间:</label>
+							<div class="col-sm-10">
+								<fmt:formatDate value="${oALeave.startTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
+							</div>
+						</div>
+						<hr>
+						<div class="form-group">
+							<label class="col-sm-2 control-label"><font color="red">*</font>请假结束时间:</label>
+							<div class="col-sm-10">
+								<fmt:formatDate value="${oALeave.endTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
+							</div>
+						</div>
+						<hr>
+						<div class="form-group">
+							<label class="col-sm-2 control-label"><font color="red">*</font>请假理由:</label>
+							<div class="col-sm-10">
+									${fns:unescapeHtml(oALeave.reason)}
+							</div>
+						</div>
+						<hr>
+					</form:form>
+
+
+					<c:if test="${oALeave.act.taskDefKey != '' && !oALeave.act.finishTask && oALeave.act.isNextGatewaty}">
+						<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;
+									<input id="reject" class="btn  btn-danger btn-lg btn-parsley" type="submit" value="驳 回" />&nbsp;
+								</div>
+							</div>
+						</div>
+					</c:if>
+					<c:if test="${oALeave.act.taskDefKey != '' && !oALeave.act.finishTask && !oALeave.act.isNextGatewaty}">
+						<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>
+
+					<c:if test="${not empty oALeave.id}">
+						<act:flowChart procInsId="${oALeave.act.procInsId}"/>
+						<act:histoicFlow procInsId="${oALeave.act.procInsId}" />
+					</c:if>
+
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+</body>
+</html>

+ 138 - 0
src/main/webapp/webpage/modules/sg/managementcenter/activiti/constructionForm.jsp

@@ -0,0 +1,138 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>请假申请管理</title>
+	<meta name="decorator" content="ani"/>
+	<!-- SUMMERNOTE -->
+	<%@include file="/webpage/include/summernote.jsp" %>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			jp.ajaxForm("#inputForm",function(data){
+				if(data.success){
+					jp.success(data.msg);
+					jp.go("${ctx}"+ data.body.targetUrl);
+				}else{
+					jp.error(data.msg);
+					$("#inputForm").find("button:submit").button("reset");
+				}
+			});
+
+			$('#startTime').datetimepicker({
+				format: "YYYY-MM-DD HH:mm:ss"
+			});
+			$('#endTime').datetimepicker({
+				format: "YYYY-MM-DD HH:mm:ss"
+			});
+			//富文本初始化
+			$('#reason').summernote({
+				height: 300,
+				lang: 'zh-CN',
+				callbacks: {
+					onChange: function(contents, $editable) {
+						$("input[name='reason']").val($('#reason').summernote('code'));//取富文本的值
+					}
+				}
+			});
+		});
+	</script>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<div class="row">
+		<div class="col-md-12">
+			<div class="panel panel-primary">
+				<div class="panel-heading">
+					<h3 class="panel-title">
+						<a class="panelButton"  href="#"  onclick="history.go(-1)"><i class="ti-angle-left"></i> 返回</a>
+					</h3>
+				</div>
+				<div class="panel-body">
+					<form:form id="inputForm" modelAttribute="construction" action="${ctx}/managementcenter/activiti/save" method="post" 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"/>
+						<form:hidden id="flag" path="act.flag" />
+						<div class="form-group text-center">
+							<h3> 施工交底申请</h3>
+						</div>
+						<div class="form-group">
+							<label class="col-sm-2 control-label"><font color="red">*</font>项目号:</label>
+							<div class="col-sm-10">
+								<form:select path="leaveType" class="form-control required">
+									<form:option value="" label=""/>
+									<form:options items="${fns:getDictList('oa_leave_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+								</form:select>
+							</div>
+						</div>
+						<hr>
+						<div class="form-group">
+							<label class="col-sm-2 control-label"><font color="red">*</font>项目名称:</label>
+							<div class="col-sm-10">
+								<div class='input-group form_datetime' id='startTime'>
+									<input type='text'  name="startTime" class="form-control required"  value="<fmt:formatDate value="${oALeave.startTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
+									<span class="input-group-addon">
+								<span class="glyphicon glyphicon-calendar"></span>
+							</span>
+								</div>
+							</div>
+						</div>
+						<hr>
+						<div class="form-group">
+							<label class="col-sm-2 control-label"><font color="red">*</font>请假结束时间:</label>
+							<div class="col-sm-10">
+								<div class='input-group form_datetime' id='endTime'>
+									<input type='text'  name="endTime" class="form-control required"  value="<fmt:formatDate value="${oALeave.endTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
+									<span class="input-group-addon">
+								<span class="glyphicon glyphicon-calendar"></span>
+							</span>
+								</div>
+							</div>
+						</div>
+						<hr>
+						<div class="form-group">
+							<label class="col-sm-2 control-label"><font color="red">*</font>请假理由:</label>
+							<div class="col-sm-10">
+								<input type="hidden" name="reason" value=" ${oALeave.reason}"/>
+								<div id="reason">
+										${fns:unescapeHtml(oALeave.reason)}
+								</div>
+							</div>
+						</div>
+						<hr>
+						<div class="form-group">
+							<div class="col-lg-3"></div>
+							<c:if test="${oALeave.act.taskDefKey ne '' && !oALeave.act.finishTask && oALeave.act.isNextGatewaty}">
+								<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="重新提交" onclick="$('#flag').val('yes')"/>&nbsp;
+										<input id="reject" class="btn  btn-danger btn-lg btn-parsley" type="submit" value="销毁申请" onclick="$('#flag').val('no')"/>&nbsp;
+									</div>
+								</div>
+							</c:if>
+							<c:if test="${oALeave.act.startTask}">
+								<div class="col-lg-6">
+									<div class="form-group text-center">
+										<div>
+											<button class="btn btn-primary btn-block btn-lg btn-parsley" data-loading-text="正在提交...">提 交</button>
+										</div>
+									</div>
+								</div>
+							</c:if>
+						</div>
+					</form:form>
+					<c:if test="${not empty oALeave.id}">
+						<act:flowChart procInsId="${oALeave.act.procInsId}"/>
+						<act:histoicFlow procInsId="${oALeave.act.procInsId}" />
+					</c:if>
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+</body>
+</html>