Browse Source

Merge remote-tracking branch 'origin/dev' into dev

dev
liuxiaoxu 1 month ago
parent
commit
5c43efa494
  1. 74
      ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseEvectionFormController.java
  2. 26
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/BaseEvectionForm.java
  3. 4
      ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseEvectionFormService.java
  4. 48
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseEvectionFormServiceImpl.java
  5. 10
      ruoyi-admin/src/main/resources/mapper/system/BaseEvectionFormMapper.xml
  6. 67
      ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/baseEvectionForm.html
  7. 32
      ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/cancel.html
  8. 181
      ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/hrApprove.html
  9. 44
      ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/hrRecord.html
  10. 18
      ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskCcjlVerify.html
  11. 40
      ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskCczgVerify.html
  12. 40
      ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskFzjlVerify.html
  13. 24
      ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskModifyApply.html
  14. 40
      ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskYfzjVerify.html
  15. 40
      ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskZjlVerify.html

74
ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseEvectionFormController.java

@ -3,9 +3,11 @@ package com.ruoyi.system.controller;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.process.general.service.IProcessService; import com.ruoyi.process.general.service.IProcessService;
import com.ruoyi.system.domain.Vo.BaseEvectionFormVo; import com.ruoyi.system.domain.Vo.BaseEvectionFormVo;
import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo; import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo;
import com.ruoyi.system.domain.Vo.OutsourceOrderVO;
import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.ISysUserService;
import org.activiti.engine.RuntimeService; import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService; import org.activiti.engine.TaskService;
@ -148,9 +150,18 @@ public class BaseEvectionFormController extends BaseController
String instanceId = baseEvectionFormVo.getInstanceId(); String instanceId = baseEvectionFormVo.getInstanceId();
String instanceType = baseEvectionFormVo.getInstanceType(); String instanceType = baseEvectionFormVo.getInstanceType();
// 判断任务节点
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
String verifyName = task.getTaskDefinitionKey().substring(0, 1).toUpperCase() + task.getTaskDefinitionKey().substring(1);
boolean approvedFlag = processService.complete(taskId, instanceId, baseEvectionFormVo.getApplyTitle(), boolean approvedFlag = processService.complete(taskId, instanceId, baseEvectionFormVo.getApplyTitle(),
baseEvectionFormVo.getEvectionCode(), baseEvectionFormVo.getEvectionCode(),
"evection", new HashMap<String, Object>(), request); "evection", new HashMap<String, Object>(), request);
if(verifyName.equals("ModifyApply")){
//驳回调整,设置为待审核
baseEvectionFormVo.setAuditStatus("0");
baseEvectionFormVo.setApplyTime(DateUtils.getNowDate());
}
if(!approvedFlag){ if(!approvedFlag){
// 审核状态-审核拒绝 // 审核状态-审核拒绝
baseEvectionFormVo.setAuditStatus("2"); baseEvectionFormVo.setAuditStatus("2");
@ -195,6 +206,50 @@ public class BaseEvectionFormController extends BaseController
mmap.put("baseEvectionForm", baseEvectionForm); mmap.put("baseEvectionForm", baseEvectionForm);
return prefix + "/edit"; return prefix + "/edit";
} }
/**
* 人事录入出差单费用等
*/
@GetMapping("/hrRecord/{evectionId}")
public String hrRecord(@PathVariable("evectionId") Long evectionId, ModelMap mmap)
{
BaseEvectionForm baseEvectionForm = baseEvectionFormService.selectBaseEvectionFormById(evectionId);
mmap.put("baseEvectionForm", baseEvectionForm);
return prefix + "/hrRecord";
}
//人事录入出行费用
@RequiresPermissions("system:baseEvectionForm:hrRecord")
@PostMapping("/hrRecord")
@ResponseBody
public AjaxResult hrRecordSave(BaseEvectionForm baseEvectionForm)
{
baseEvectionForm.setPersonnelAdministration("1");//已录入
baseEvectionFormService.updateBaseEvectionForm(baseEvectionForm);
return AjaxResult.success();
}
/**
* 人事核准
*/
@GetMapping("/hrApprove/{evectionId}")
public String hrApprove(@PathVariable("evectionId") Long evectionId, ModelMap mmap)
{
BaseEvectionForm baseEvectionForm = baseEvectionFormService.selectBaseEvectionFormById(evectionId);
mmap.put("baseEvectionForm", baseEvectionForm);
return prefix + "/hrApprove";
}
//人事录入出行费用
@RequiresPermissions("system:baseEvectionForm:hrApprove")
@PostMapping("/hrApprove")
@ResponseBody
public AjaxResult hrApproveSave(BaseEvectionForm baseEvectionForm)
{
baseEvectionForm.setPersonnelAdministration("2");//已核准
baseEvectionFormService.updateBaseEvectionForm(baseEvectionForm);
return AjaxResult.success();
}
@GetMapping("/detail/{id}") @GetMapping("/detail/{id}")
public String detail(@PathVariable("id") Long id, ModelMap mmap) public String detail(@PathVariable("id") Long id, ModelMap mmap)
{ {
@ -226,17 +281,26 @@ public class BaseEvectionFormController extends BaseController
return toAjax(baseEvectionFormService.deleteBaseEvectionFormByIds(ids)); return toAjax(baseEvectionFormService.deleteBaseEvectionFormByIds(ids));
} }
/**
* 加载作废出差单信息弹窗
*/
@GetMapping("/cancel/{id}")
public String cancel(@PathVariable("id") Long id, ModelMap mmap) {
BaseEvectionForm baseEvectionForm = baseEvectionFormService.selectBaseEvectionFormById(id);
mmap.put("baseEvectionForm", baseEvectionForm);
return prefix + "/cancel";
}
/** /**
* 作废出差单 * 作废出差单
*/ */
@RequiresPermissions("system:baseEvectionForm:cancel") @RequiresPermissions("system:baseEvectionForm:cancel")
@Log(title = "出差单", businessType = BusinessType.CANCEL) @Log(title = "出差单", businessType = BusinessType.CANCEL)
@GetMapping( "/cancel/{id}") @PostMapping( "/cancel")
@ResponseBody @ResponseBody
public AjaxResult cancel(@PathVariable("id") Long id){ public AjaxResult cancel(BaseEvectionForm baseEvectionForm){
return toAjax(baseEvectionFormService.cancelBaseEvectionFormById(id)); return toAjax(baseEvectionFormService.cancelBaseEvectionFormByObject(baseEvectionForm));
} }
/** /**
* 恢复出差单 * 恢复出差单
*/ */
@ -253,6 +317,6 @@ public class BaseEvectionFormController extends BaseController
@ResponseBody @ResponseBody
public AjaxResult getId() public AjaxResult getId()
{ {
return AjaxResult.success(baseEvectionFormService.getId()); return AjaxResult.success(baseEvectionFormService.getId());
} }
} }

26
ruoyi-admin/src/main/java/com/ruoyi/system/domain/BaseEvectionForm.java

@ -1,5 +1,6 @@
package com.ruoyi.system.domain; package com.ruoyi.system.domain;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
@ -67,11 +68,12 @@ public class BaseEvectionForm extends BaseEntity
/** 出差时间 */ /** 出差时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "UTC")
@Excel(name = "预计出差开始时间") @Excel(name = "预计出差开始时间")
private Date evectionBeginTime; private String evectionBeginTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "预计出差结束时间") @Excel(name = "预计出差结束时间")
private Date evectionEndTime; private String evectionEndTime;
/** 派工单号 */ /** 派工单号 */
@Excel(name = "派工单号") @Excel(name = "派工单号")
@ -104,11 +106,11 @@ public class BaseEvectionForm extends BaseEntity
/** 实际出差时间 */ /** 实际出差时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "实际出差时间") @Excel(name = "实际出差时间")
private Date realityEvenctionBeginTime; private String realityEvenctionBeginTime;
/** 实际出差时间 */ /** 实际出差时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "实际出差时间") @Excel(name = "实际出差时间")
private Date realityEvenctionEndTime; private String realityEvenctionEndTime;
/** 申请人 */ /** 申请人 */
@Excel(name = "申请人") @Excel(name = "申请人")
@ -303,19 +305,19 @@ public class BaseEvectionForm extends BaseEntity
return evectionCauses; return evectionCauses;
} }
public Date getEvectionBeginTime() { public String getEvectionBeginTime() {
return evectionBeginTime; return evectionBeginTime;
} }
public void setEvectionBeginTime(Date evectionBeginTime) { public void setEvectionBeginTime(String evectionBeginTime) {
this.evectionBeginTime = evectionBeginTime; this.evectionBeginTime = evectionBeginTime;
} }
public Date getEvectionEndTime() { public String getEvectionEndTime() {
return evectionEndTime; return evectionEndTime;
} }
public void setEvectionEndTime(Date evectionEndTime) { public void setEvectionEndTime(String evectionEndTime) {
this.evectionEndTime = evectionEndTime; this.evectionEndTime = evectionEndTime;
} }
@ -383,19 +385,19 @@ public class BaseEvectionForm extends BaseEntity
return otherExpensesBudget; return otherExpensesBudget;
} }
public Date getRealityEvenctionBeginTime() { public String getRealityEvenctionBeginTime() {
return realityEvenctionBeginTime; return realityEvenctionBeginTime;
} }
public void setRealityEvenctionBeginTime(Date realityEvenctionBeginTime) { public void setRealityEvenctionBeginTime(String realityEvenctionBeginTime) {
this.realityEvenctionBeginTime = realityEvenctionBeginTime; this.realityEvenctionBeginTime = realityEvenctionBeginTime;
} }
public Date getRealityEvenctionEndTime() { public String getRealityEvenctionEndTime() {
return realityEvenctionEndTime; return realityEvenctionEndTime;
} }
public void setRealityEvenctionEndTime(Date realityEvenctionEndTime) { public void setRealityEvenctionEndTime(String realityEvenctionEndTime) {
this.realityEvenctionEndTime = realityEvenctionEndTime; this.realityEvenctionEndTime = realityEvenctionEndTime;
} }

4
ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseEvectionFormService.java

@ -65,10 +65,10 @@ public interface IBaseEvectionFormService
/** /**
* 作废出差单 * 作废出差单
* @param evectionId 出差单ID * @param baseEvectionForm 出差单
* @return * @return
*/ */
int cancelBaseEvectionFormById(Long evectionId); int cancelBaseEvectionFormByObject(BaseEvectionForm baseEvectionForm);
/** /**
* 恢复出差单 * 恢复出差单

48
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseEvectionFormServiceImpl.java

@ -21,6 +21,7 @@ import com.ruoyi.process.todoitem.mapper.BizTodoItemMapper;
import com.ruoyi.system.domain.BaseExpenseAccount; import com.ruoyi.system.domain.BaseExpenseAccount;
import com.ruoyi.system.domain.Vo.BaseEvectionFormVo; import com.ruoyi.system.domain.Vo.BaseEvectionFormVo;
import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo; import com.ruoyi.system.domain.Vo.BaseExpenseAccountVo;
import com.ruoyi.system.domain.Vo.OutsourceOrderVO;
import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.service.IBaseExpenseAccountService; import com.ruoyi.system.service.IBaseExpenseAccountService;
import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysRoleService;
@ -220,13 +221,33 @@ public class BaseEvectionFormServiceImpl implements IBaseEvectionFormService
/** /**
* 作废出差单 * 作废出差单
* *
* @param evectionId 出差单ID * @param baseEvectionForm 出差单
* @return 结果 * @return 结果
*/ */
@Override @Override
public int cancelBaseEvectionFormById(Long evectionId) public int cancelBaseEvectionFormByObject(BaseEvectionForm baseEvectionForm)
{ {
return baseEvectionFormMapper.cancelBaseEvectionFormById(evectionId); BaseEvectionForm baseEvectionFormVo = baseEvectionFormMapper.selectBaseEvectionFormById(baseEvectionForm.getEvectionId());
// 审核状态-待审核
baseEvectionFormVo.setAuditStatus("0");
SysUser user = ShiroUtils.getSysUser();
// 启动流程
String applyTitle = user.getUserName()+"发起了出差单作废审批-"+DateUtils.dateTimeNow();
String instanceType = "cancel";
ProcessInstance processInstance = startProcessInstance(applyTitle,instanceType,baseEvectionFormVo, user);
String processInstanceId = processInstance.getProcessInstanceId();
// 作废实例id
baseEvectionFormVo.setCancelInstanceId(processInstanceId);
// 存在提交完就流程结束的情况
boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId);
if(processIsFinish){
// 审核状态-审核通过
baseEvectionFormVo.setAuditStatus("1");
// 使用状态-已作废
baseEvectionFormVo.setUseStatus("2");
}
baseEvectionFormVo.setCancelRemark(baseEvectionForm.getCancelRemark());
return baseEvectionFormMapper.updateBaseEvectionForm(baseEvectionFormVo);
} }
/** /**
@ -238,7 +259,26 @@ public class BaseEvectionFormServiceImpl implements IBaseEvectionFormService
@Override @Override
public int restoreBaseEvectionFormById(Long evectionId) public int restoreBaseEvectionFormById(Long evectionId)
{ {
return baseEvectionFormMapper.restoreBaseEvectionFormById(evectionId); BaseEvectionForm baseEvectionForm = baseEvectionFormMapper.selectBaseEvectionFormById(evectionId);
// 审核状态-待审核
baseEvectionForm.setAuditStatus("0");
SysUser user = ShiroUtils.getSysUser();
// 启动流程
String applyTitle = user.getUserName()+"发起了出差单恢复审批-"+DateUtils.dateTimeNow();
String instanceType = "restore";
ProcessInstance processInstance = startProcessInstance(applyTitle,instanceType,baseEvectionForm, user);
String processInstanceId = processInstance.getProcessInstanceId();
// 恢复实例id
baseEvectionForm.setRestoreInstanceId(processInstanceId);
// 存在提交完就流程结束的情况
boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId);
if(processIsFinish){
// 审核状态-审核通过
baseEvectionForm.setAuditStatus("1");
// 使用状态-是
baseEvectionForm.setUseStatus("1");
}
return baseEvectionFormMapper.updateBaseEvectionForm(baseEvectionForm);
} }
@Override @Override
public Object getId() { public Object getId() {

10
ruoyi-admin/src/main/resources/mapper/system/BaseEvectionFormMapper.xml

@ -33,6 +33,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time" />
<result property="remark" column="remark" /> <result property="remark" column="remark" />
<result property="cancelRemark" column="cancel_remark" />
<result property="instanceId" column="instance_id" /> <result property="instanceId" column="instance_id" />
<result property="instanceType" column="instance_type" /> <result property="instanceType" column="instance_type" />
<result property="instanceTypeName" column="instance_type_name" /> <result property="instanceTypeName" column="instance_type_name" />
@ -51,7 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
travel_mode,hotel,transportation_cost_budget,accommodation_budget,other_expenses_budget, travel_mode,hotel,transportation_cost_budget,accommodation_budget,other_expenses_budget,
reality_evenction_begin_time,reality_evenction_end_time,create_by,create_time,update_by, reality_evenction_begin_time,reality_evenction_end_time,create_by,create_time,update_by,
update_time,remark,instance_id,instance_type,submit_instance_id,cancel_instance_id, update_time,remark,instance_id,instance_type,submit_instance_id,cancel_instance_id,
restore_instance_id,apply_title,apply_user,apply_time restore_instance_id,apply_title,apply_user,apply_time,cancel_remark
from base_evection_form from base_evection_form
</sql> </sql>
@ -60,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<where> <where>
<if test="auditStatus != null and auditStatus != ''"> and audit_status = #{auditStatus}</if> <if test="auditStatus != null and auditStatus != ''"> and audit_status = #{auditStatus}</if>
<if test="useStatus != null and useStatus != ''"> and use_status = #{useStatus}</if> <if test="useStatus != null and useStatus != ''"> and use_status = #{useStatus}</if>
<if test="evectionCode != null and evectionCode != ''"> and evection_code = #{evectionCode}</if> <if test="evectionCode != null and evectionCode != ''"> and evection_code like concat('%', #{evectionCode}, '%')</if>
<if test="evectionAddr != null and evectionAddr != ''"> and evection_addr = #{evectionAddr}</if> <if test="evectionAddr != null and evectionAddr != ''"> and evection_addr = #{evectionAddr}</if>
<if test="evectionDetailAddr != null and evectionDetailAddr != ''"> and evection_detail_addr = #{evectionDetailAddr}</if> <if test="evectionDetailAddr != null and evectionDetailAddr != ''"> and evection_detail_addr = #{evectionDetailAddr}</if>
<if test="evectionCauses != null and evectionCauses != ''"> and evection_causes = #{evectionCauses}</if> <if test="evectionCauses != null and evectionCauses != ''"> and evection_causes = #{evectionCauses}</if>
@ -75,7 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="applyTitle != null and applyTitle != ''"> and apply_title = #{applyTitle}</if> <if test="applyTitle != null and applyTitle != ''"> and apply_title = #{applyTitle}</if>
<if test="applyUser != null and applyUser != ''"> and apply_user = #{applyUser}</if> <if test="applyUser != null and applyUser != ''"> and apply_user = #{applyUser}</if>
<if test="applyTime != null "> and apply_time = #{applyTime}</if> <if test="applyTime != null "> and apply_time = #{applyTime}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if> <if test="params.beginApplyTime != null and params.beginApplyTime != '' and params.endApplyTime != null and params.endApplyTime != ''"> and Date(apply_time) between #{params.beginApplyTime} and #{params.endApplyTime}</if>
</where> </where>
order by audit_status asc, create_time desc order by audit_status asc, create_time desc
</select> </select>
@ -182,12 +183,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="transportationCostBudget != null">transportation_cost_budget = #{transportationCostBudget},</if> <if test="transportationCostBudget != null">transportation_cost_budget = #{transportationCostBudget},</if>
<if test="accommodationBudget != null">accommodation_budget = #{accommodationBudget},</if> <if test="accommodationBudget != null">accommodation_budget = #{accommodationBudget},</if>
<if test="otherExpensesBudget != null">other_expenses_budget = #{otherExpensesBudget},</if> <if test="otherExpensesBudget != null">other_expenses_budget = #{otherExpensesBudget},</if>
<if test="realityEvenctionBeginTime != null">reality_evenction_begin_time = #{realityEvenctionBeginTime},</if>
<if test="realityEvenctionEndTime != null">reality_evenction_end_time = #{realityEvenctionEndTime},</if>
<if test="applyUser != null">apply_user = #{applyUser},</if> <if test="applyUser != null">apply_user = #{applyUser},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if> <if test="remark != null">remark = #{remark},</if>
<if test="cancelRemark != null">cancel_remark = #{cancelRemark},</if>
<if test="instanceId != null">instance_id = #{instanceId},</if> <if test="instanceId != null">instance_id = #{instanceId},</if>
<if test="instanceType != null">instance_type = #{instanceType},</if> <if test="instanceType != null">instance_type = #{instanceType},</if>
<if test="submitInstanceId != null">submit_instance_id = #{submitInstanceId},</if> <if test="submitInstanceId != null">submit_instance_id = #{submitInstanceId},</if>

67
ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/baseEvectionForm.html

@ -29,14 +29,14 @@
<input type="text" name="evectionCode"/> <input type="text" name="evectionCode"/>
</li> </li>
<li> <li>
<label>出差人:</label> <label>申请人:</label>
<input type="text" name="evectionBy"/> <select type="text" name="applyUser"></select>
</li> </li>
<li class="select-time"> <li class="select-time">
<label>录入时间:</label> <label>申请时间:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginCreateTime]"/> <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginApplyTime]"/>
<span>-</span> <span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endCreateTime]"/> <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endApplyTime]"/>
</li> </li>
<li> <li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
@ -64,6 +64,8 @@
var removeFlag = [[${@permission.hasPermi('system:baseEvectionForm:remove')}]]; var removeFlag = [[${@permission.hasPermi('system:baseEvectionForm:remove')}]];
var cancelFlag = [[${@permission.hasPermi('system:baseEvectionForm:cancel')}]]; var cancelFlag = [[${@permission.hasPermi('system:baseEvectionForm:cancel')}]];
var restoreFlag = [[${@permission.hasPermi('system:baseEvectionForm:restore')}]]; var restoreFlag = [[${@permission.hasPermi('system:baseEvectionForm:restore')}]];
var hrRecordFlag = [[${@permission.hasPermi('system:baseEvectionForm:hrRecord')}]];
var hrApproveFlag = [[${@permission.hasPermi('system:baseEvectionForm:hrApprove')}]];
var auditStatusDatas = [[${@dict.getType('auditStatus')}]]; var auditStatusDatas = [[${@dict.getType('auditStatus')}]];
var useStatusDatas = [[${@dict.getType('useStatus')}]]; var useStatusDatas = [[${@dict.getType('useStatus')}]];
var administrationStatusDatas = [[${@dict.getType('administration_status')}]]; var administrationStatusDatas = [[${@dict.getType('administration_status')}]];
@ -118,6 +120,9 @@
{ title: '当前状态',field: 'taskStatus', { title: '当前状态',field: 'taskStatus',
align: 'center', align: 'center',
formatter: function(value, row, index) { formatter: function(value, row, index) {
if(value == "未启动" || value == "审核拒绝"){
return '<span class="badge badge-danger">' + value + '</span>';
}
return '<span class="badge badge-primary">' + value + '</span>'; return '<span class="badge badge-primary">' + value + '</span>';
} }
}, },
@ -138,7 +143,7 @@
} }
}, },
{title: '出差单编号',field: 'evectionCode',align: 'center',}, {title: '出差单编号',field: 'evectionCode',align: 'center',},
{title: '出差人',field: 'evectionBy',align: 'center',}, {title: '出差人',field: 'evectionBy',align: 'center',visible: false,},
{title: '同行人',field: 'partnerBy',align: 'center',}, {title: '同行人',field: 'partnerBy',align: 'center',},
{title: '出差地',field: 'evectionAddr',align: 'center',}, {title: '出差地',field: 'evectionAddr',align: 'center',},
{title: '出差详细地址',field: 'evectionDetailAddr',align: 'center',}, {title: '出差详细地址',field: 'evectionDetailAddr',align: 'center',},
@ -161,10 +166,24 @@
align: 'center', align: 'center',
formatter: function(value, row, index) { formatter: function(value, row, index) {
var actions = []; var actions = [];
// 审核状态-审核通过 // 审核状态-审核通过 使用状态是
if(row.auditStatus=="1"){ if(row.auditStatus=="1"&&row.useStatus == "1"&&row.personnelAdministration == "0"){
// 编辑 // 编辑
// actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i> 编辑</a> '); // actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i> 编辑</a> ');
actions.push('<a class="btn btn-success btn-xs ' + hrRecordFlag + ' " href="javascript:void(0)" onclick="hrRecord(\'' + row.evectionId + '\')"><i class="fa fa-edit"></i> 出行费用</a> ');
}
if(row.auditStatus=="1"&&row.useStatus == "1"&&row.personnelAdministration == "1"){
// 核准
actions.push('<a class="btn btn-success btn-xs ' + hrApproveFlag + ' " href="javascript:void(0)" onclick="hrApprove(\'' + row.evectionId + '\')"><i class="fa fa-edit"></i> 核准</a> ');
}
if(row.auditStatus == "1"&& row.useStatus == "1"){
// 作废
actions.push('<a class="btn btn-danger btn-xs ' + cancelFlag + '" href="javascript:void(0)" onclick="cancel(\'' + row.evectionId + '\')"><i class="fa fa-remove"></i> 作废</a>');
}
// 已作废
if(row.useStatus=="2" && !row.restoreInstanceId){
// 恢复
actions.push('<a class="btn btn-success btn-xs ' + restoreFlag + '" href="javascript:void(0)" onclick="$.operate.restore(\'' + row.evectionId + '\')"><i class="fa fa-window-restore"></i> 恢复</a> ');
} }
// 有流程实例id // 有流程实例id
if (row.instanceId) { if (row.instanceId) {
@ -197,7 +216,39 @@
} }
}; };
$.table.init(options); $.table.init(options);
selectUserAll();
}); });
function cancel(id) {
$.modal.confirm("确定作废该出差单信息吗?", function() {
var url = prefix + "/cancel/" + id;
$.modal.open("作废", url);
})
}
function selectUserAll(){
$.ajax({
url: ctx +'system/baseExpense/getExpenseUser',
type: 'post',
async: false,
success: function (result) {
userList = result.data;
var selectUser = $("select[name='applyUser']");
var selectHtml = '<option value="">所有</option>';
userList.forEach(function (user) {
selectHtml += '<option value="' + user.loginName + '">' + user.userName + '</option>';
});
selectUser.html(selectHtml);
}
});
}
function hrRecord(evectionId){
$.modal.open("出行费用",prefix + "/hrRecord/" + evectionId);
}
function hrApprove(evectionId){
$.modal.open("核准",prefix + "/hrApprove/" + evectionId);
}
</script> </script>
</body> </body>
</html> </html>

32
ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/cancel.html

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('作废')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal" id="form-baseEvectionForm-cancel" th:object="${baseEvectionForm}">
<input name="id" th:field="*{evectionId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label is-required">作废理由:</label>
<div class="col-sm-8">
<textarea name="cancelRemark" th:field="*{cancelRemark}" class="form-control" required></textarea>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "system/baseEvectionForm";
$("#form-baseEvectionForm-cancel").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/cancel", $('#form-baseEvectionForm-cancel').serialize());
}
}
</script>
</body>
</html>

181
ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/hrApprove.html

@ -0,0 +1,181 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增出差单')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-baseEvectionForm-hrApprove" th:object="${baseEvectionForm}">
<input name="evectionId" th:field="*{evectionId}" type="hidden">
<div class="form-group" hidden="hidden">
<label class="col-sm-3 control-label">出差单编号:</label>
<div class="col-sm-8">
<input name="evectionCode" th:field="*{evectionCode}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8">
<input readonly name="deptName" th:field="*{deptName}" class="form-control"></input>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8">
<input readonly name="postName" th:field="*{postName}" class="form-control"></input>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出差人:</label>
<div class="col-sm-8">
<input readonly name="evectionBy" th:field="*{evectionBy}" class="form-control"></input>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">同行人:</label>
<div class="col-sm-8">
<input name="partnerBy" th:field="*{partnerBy}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出差地:</label>
<div class="col-sm-8">
<input name="evectionAddr" th:field="*{evectionAddr}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出差详细地址:</label>
<div class="col-sm-8">
<input name="evectionDetailAddr" th:field="*{evectionDetailAddr}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出差事由:</label>
<div class="col-sm-8">
<input name="evectionCauses" th:field="*{evectionCauses}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出差时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input disabled name="evectionBeginTime" th:field="*{evectionBeginTime}" class="form-control" placeholder="yyyy-MM-dd" type="text" readonly>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<span class="input-group-addon">-</span>
<input disabled name="evectionEndTime" th:field="*{evectionEndTime}" class="form-control" placeholder="yyyy-MM-dd" type="text" readonly>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">派工单号:</label>
<div class="col-sm-8">
<input name="dispatchlistCode" th:field="*{dispatchlistCode}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">生产单号:</label>
<div class="col-sm-8">
<input name="makeCode" th:field="*{makeCode}" class="form-control" type="text" readonly>
</div>
</div>
<div class="col-xs-12">
<div class="hr-line-dashed" style="height: 10px;border-top: 1px dashed #ddd;margin-top: 10px; /* 调整间距 */border-bottom: 1px dashed #ddd;margin-bottom: 10px;"></div>
</div>
<div class="form-group">
<h3 class="col-sm-3 control-label">人事行政</h3>
</div>
<div class="form-group">
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出行方式:</label>
<div class="col-sm-8">
<input name="travelMode" th:field="*{travelMode}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">酒店:</label>
<div class="col-sm-8">
<input name="hotel" th:field="*{hotel}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">交通预算费用:</label>
<div class="col-sm-8">
<input name="transportationCostBudget" th:field="*{transportationCostBudget}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">住宿预算费用:</label>
<div class="col-sm-8">
<input name="accommodationBudget" th:field="*{accommodationBudget}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">其他预算费用:</label>
<div class="col-sm-8">
<input name="otherExpensesBudget" th:field="*{otherExpensesBudget}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">实际出差时间:</label>
<div class="col-sm-8">
<div class="input-group">
<input name="realityEvenctionBeginTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<span class="input-group-addon">-</span>
<input name="realityEvenctionEndTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "system/baseEvectionForm"
$("#form-baseEvectionForm-hrApprove").validate({focusCleanup: true});
$(function() {
console.log([[${baseEvectionForm}]]);
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/hrApprove", $('#form-baseEvectionForm-hrApprove').serialize());
}
}
$("input[name='evectionBeginTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
todayBtn: true,
autoClose: true
});
$("input[name='evectionEndTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
todayBtn: true,
autoclose: true
});
$("input[name='realityEvenctionBeginTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
todayBtn: true,
autoclose: true
});
$("input[name='realityEvenctionEndTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
todayBtn: true,
autoclose: true
});
</script>
</body>
</html>

44
ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/hrRecord.html

@ -6,7 +6,7 @@
</head> </head>
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-baseEvectionForm-add"> <form class="form-horizontal m" id="form-baseEvectionForm-hrRecord" th:object="${baseEvectionForm}">
<input name="evectionId" th:field="*{evectionId}" type="hidden"> <input name="evectionId" th:field="*{evectionId}" type="hidden">
<div class="form-group" hidden="hidden"> <div class="form-group" hidden="hidden">
<label class="col-sm-3 control-label">出差单编号:</label> <label class="col-sm-3 control-label">出差单编号:</label>
@ -119,64 +119,36 @@
<input name="otherExpensesBudget" class="form-control" type="text"> <input name="otherExpensesBudget" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label">实际出差时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="realityEvenctionBeginTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<span class="input-group-addon">-</span>
<input name="realityEvectionEndTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</form> </form>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" /> <th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript"> <script th:inline="javascript">
var prefix = ctx + "system/baseEvectionForm" var prefix = ctx + "system/baseEvectionForm"
$("#form-baseEvectionForm-add").validate({focusCleanup: true}); $("#form-baseEvectionForm-hrRecord").validate({focusCleanup: true});
$(function() { $(function() {
getSelections();
}); });
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-baseEvectionForm-add').serialize()); $.operate.save(prefix + "/hrRecord", $('#form-baseEvectionForm-hrRecord').serialize());
} }
} }
$("input[name='evectionBeginTime']").datetimepicker({ $("input[name='evectionBeginTime']").datetimepicker({
format: "yyyy-mm-dd", format: "yyyy-mm-dd",
minView: "month", minView: "month",
autoclose: true todayBtn: true,
autoClose: true
}); });
$("input[name='evectionEndTime']").datetimepicker({ $("input[name='evectionEndTime']").datetimepicker({
format: "yyyy-mm-dd", format: "yyyy-mm-dd",
minView: "month", minView: "month",
autoclose: true todayBtn: true,
autoClose: true
}); });
$("input[name='realityEvenctionTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
function getSelections(){
$.ajax({
url: ctx + "system/requisitioning/getEmpUserName",
type: "get",
dataType: "json",
success: function (data) {
$("select[name='deptName']").append($('<option></option>').val(data.deptName).html(data.deptName));
$("select[name='evectionBy']").append($('<option></option>').val(data.userName).html(data.userName));
$("select[name='postName']").append($('<option></option>').val(data.postName).html(data.postName));
}
});
}
</script> </script>
</body> </body>
</html> </html>

18
ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskCcjlVerify.html

@ -84,6 +84,12 @@
<input readonly name="makeCode" th:field="*{makeCode}" class="form-control" type="text"> <input readonly name="makeCode" th:field="*{makeCode}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group" id="cancelRemark" hidden>
<label class="col-sm-3 control-label">作废理由:</label>
<div class="col-sm-8">
<textarea readonly name="cancelRemark" th:text="*{cancelRemark}" class="form-control" type="text"></textarea>
</div>
</div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label is-required" for="ccjlVerifyApproved">审批意见:</label> <label class="col-sm-3 control-label is-required" for="ccjlVerifyApproved">审批意见:</label>
<div class="col-sm-6"> <div class="col-sm-6">
@ -94,6 +100,12 @@
</select> </select>
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label">批注:</label>
<div class="col-sm-6">
<textarea name="comment" class="form-control"></textarea>
</div>
</div>
</form> </form>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
@ -104,6 +116,12 @@
var prefix = ctx + "system/baseEvectionForm"; var prefix = ctx + "system/baseEvectionForm";
$("#form-baseEvectionForm-ccjl").validate({focusCleanup: true}); $("#form-baseEvectionForm-ccjl").validate({focusCleanup: true});
$(function() {
var instanceType = [[${formData.instanceType}]];
if(instanceType === "cancel"){
$("#cancelRemark").show();
}
});
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
if ($('textarea[name="comment"]').val()) { if ($('textarea[name="comment"]').val()) {

40
ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskCczgVerify.html

@ -21,53 +21,53 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">部门:</label> <label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="deptName" th:field="*{deptName}" class="form-control"></select> <input readonly name="deptName" th:field="*{deptName}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">岗位:</label> <label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="postName" th:field="*{postName}" class="form-control"></select> <input readonly name="postName" th:field="*{postName}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差人:</label> <label class="col-sm-3 control-label">出差人:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="evectionBy" th:field="*{evectionBy}" class="form-control"></select> <input readonly name="evectionBy" th:field="*{evectionBy}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">同行人:</label> <label class="col-sm-3 control-label">同行人:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="partnerBy" th:field="*{partnerBy}" class="form-control" type="text"> <input readonly name="partnerBy" th:field="*{partnerBy}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差地:</label> <label class="col-sm-3 control-label">出差地:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="evectionAddr" th:field="*{evectionAddr}" class="form-control" type="text"> <input readonly name="evectionAddr" th:field="*{evectionAddr}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差详细地址:</label> <label class="col-sm-3 control-label">出差详细地址:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="evectionDetailAddr" th:field="*{evectionDetailAddr}" class="form-control" type="text"> <input readonly name="evectionDetailAddr" th:field="*{evectionDetailAddr}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差事由:</label> <label class="col-sm-3 control-label">出差事由:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="evectionCauses" th:field="*{evectionCauses}" class="form-control" type="text"> <input readonly name="evectionCauses" th:field="*{evectionCauses}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差时间:</label> <label class="col-sm-3 control-label">出差时间:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<div class="input-group date"> <div class="input-group date">
<input name="evectionBeginTime" class="form-control" placeholder="yyyy-MM-dd" type="text"> <input readonly name="evectionBeginTime" th:field="*{evectionBeginTime}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<span class="input-group-addon">-</span> <span class="input-group-addon">-</span>
<input name="evectionEndTime" class="form-control" placeholder="yyyy-MM-dd" type="text"> <input readonly name="evectionEndTime" th:field="*{evectionEndTime}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div> </div>
</div> </div>
@ -75,13 +75,19 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">派工单号:</label> <label class="col-sm-3 control-label">派工单号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="dispatchlistCode" th:field="*{dispatchlistCode}" class="form-control" type="text"> <input readonly name="dispatchlistCode" th:field="*{dispatchlistCode}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">生产单号:</label> <label class="col-sm-3 control-label">生产单号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="makeCode" th:field="*{makeCode}" class="form-control" type="text"> <input readonly name="makeCode" th:field="*{makeCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group" id="cancelRemark" hidden>
<label class="col-sm-3 control-label">作废理由:</label>
<div class="col-sm-8">
<textarea readonly name="cancelRemark" th:text="*{cancelRemark}" class="form-control" type="text"></textarea>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -94,6 +100,12 @@
</select> </select>
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label">批注:</label>
<div class="col-sm-6">
<textarea name="comment" class="form-control"></textarea>
</div>
</div>
</form> </form>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
@ -104,6 +116,12 @@
var prefix = ctx + "system/baseEvectionForm"; var prefix = ctx + "system/baseEvectionForm";
$("#form-baseEvectionForm-cczg").validate({focusCleanup: true}); $("#form-baseEvectionForm-cczg").validate({focusCleanup: true});
$(function() {
var instanceType = [[${formData.instanceType}]];
if(instanceType === "cancel"){
$("#cancelRemark").show();
}
});
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
if ($('textarea[name="comment"]').val()) { if ($('textarea[name="comment"]').val()) {

40
ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskFzjlVerify.html

@ -21,53 +21,53 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">部门:</label> <label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="deptName" th:field="*{deptName}" class="form-control"></select> <input readonly name="deptName" th:field="*{deptName}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">岗位:</label> <label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="postName" th:field="*{postName}" class="form-control"></select> <input readonly name="postName" th:field="*{postName}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差人:</label> <label class="col-sm-3 control-label">出差人:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="evectionBy" th:field="*{evectionBy}" class="form-control"></select> <input readonly name="evectionBy" th:field="*{evectionBy}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">同行人:</label> <label class="col-sm-3 control-label">同行人:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="partnerBy" th:field="*{partnerBy}" class="form-control" type="text"> <input readonly name="partnerBy" th:field="*{partnerBy}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差地:</label> <label class="col-sm-3 control-label">出差地:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="evectionAddr" th:field="*{evectionAddr}" class="form-control" type="text"> <input readonly name="evectionAddr" th:field="*{evectionAddr}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差详细地址:</label> <label class="col-sm-3 control-label">出差详细地址:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="evectionDetailAddr" th:field="*{evectionDetailAddr}" class="form-control" type="text"> <input readonly name="evectionDetailAddr" th:field="*{evectionDetailAddr}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差事由:</label> <label class="col-sm-3 control-label">出差事由:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="evectionCauses" th:field="*{evectionCauses}" class="form-control" type="text"> <input readonly name="evectionCauses" th:field="*{evectionCauses}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差时间:</label> <label class="col-sm-3 control-label">出差时间:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<div class="input-group date"> <div class="input-group date">
<input name="evectionBeginTime" class="form-control" placeholder="yyyy-MM-dd" type="text"> <input readonly name="evectionBeginTime" th:field="*{evectionBeginTime}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<span class="input-group-addon">-</span> <span class="input-group-addon">-</span>
<input name="evectionEndTime" class="form-control" placeholder="yyyy-MM-dd" type="text"> <input readonly name="evectionEndTime" th:field="*{evectionEndTime}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div> </div>
</div> </div>
@ -75,13 +75,19 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">派工单号:</label> <label class="col-sm-3 control-label">派工单号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="dispatchlistCode" th:field="*{dispatchlistCode}" class="form-control" type="text"> <input readonly name="dispatchlistCode" th:field="*{dispatchlistCode}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">生产单号:</label> <label class="col-sm-3 control-label">生产单号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="makeCode" th:field="*{makeCode}" class="form-control" type="text"> <input readonly name="makeCode" th:field="*{makeCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group" id="cancelRemark" hidden>
<label class="col-sm-3 control-label">作废理由:</label>
<div class="col-sm-8">
<textarea readonly name="cancelRemark" th:text="*{cancelRemark}" class="form-control" type="text"></textarea>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -94,6 +100,12 @@
</select> </select>
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label">批注:</label>
<div class="col-sm-6">
<textarea name="comment" class="form-control"></textarea>
</div>
</div>
</form> </form>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
@ -104,6 +116,12 @@
var prefix = ctx + "system/baseEvectionForm"; var prefix = ctx + "system/baseEvectionForm";
$("#form-baseEvectionForm-fzjl").validate({focusCleanup: true}); $("#form-baseEvectionForm-fzjl").validate({focusCleanup: true});
$(function() {
var instanceType = [[${formData.instanceType}]];
if(instanceType === "cancel"){
$("#cancelRemark").show();
}
});
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
if ($('textarea[name="comment"]').val()) { if ($('textarea[name="comment"]').val()) {

24
ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskModifyApply.html

@ -21,19 +21,19 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">部门:</label> <label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="deptName" th:field="*{deptName}" class="form-control"></select> <input readonly name="deptName" th:field="*{deptName}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">岗位:</label> <label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="postName" th:field="*{postName}" class="form-control"></select> <input readonly name="postName" th:field="*{postName}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差人:</label> <label class="col-sm-3 control-label">出差人:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="evectionBy" th:field="*{evectionBy}" class="form-control"></select> <input readonly name="evectionBy" th:field="*{evectionBy}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -64,10 +64,10 @@
<label class="col-sm-3 control-label">出差时间:</label> <label class="col-sm-3 control-label">出差时间:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<div class="input-group date"> <div class="input-group date">
<input name="evectionBeginTime" class="form-control" placeholder="yyyy-MM-dd" type="text"> <input name="evectionBeginTime" th:field="*{evectionBeginTime}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<span class="input-group-addon">-</span> <span class="input-group-addon">-</span>
<input name="evectionEndTime" class="form-control" placeholder="yyyy-MM-dd" type="text"> <input name="evectionEndTime" th:field="*{evectionEndTime}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div> </div>
</div> </div>
@ -84,6 +84,15 @@
<input name="makeCode" th:field="*{makeCode}" class="form-control" type="text"> <input name="makeCode" th:field="*{makeCode}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label" for="reApply">是否继续申请:</label>
<div class="col-sm-8">
<select id="reApply" name="p_B_reApply" class="form-control m-b">
<option value="true">重新申请</option>
<option value="false">结束流程</option>
</select>
</div>
</div>
</form> </form>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
@ -111,11 +120,6 @@
autoclose: true autoclose: true
}); });
$("input[name='realityeEvenctionTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script> </script>
</body> </body>
</html> </html>

40
ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskYfzjVerify.html

@ -21,53 +21,53 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">部门:</label> <label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="deptName" th:field="*{deptName}" class="form-control"></select> <input readonly name="deptName" th:field="*{deptName}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">岗位:</label> <label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="postName" th:field="*{postName}" class="form-control"></select> <input readonly name="postName" th:field="*{postName}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差人:</label> <label class="col-sm-3 control-label">出差人:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="evectionBy" th:field="*{evectionBy}" class="form-control"></select> <input readonly name="evectionBy" th:field="*{evectionBy}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">同行人:</label> <label class="col-sm-3 control-label">同行人:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="partnerBy" th:field="*{partnerBy}" class="form-control" type="text"> <input readonly name="partnerBy" th:field="*{partnerBy}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差地:</label> <label class="col-sm-3 control-label">出差地:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="evectionAddr" th:field="*{evectionAddr}" class="form-control" type="text"> <input readonly name="evectionAddr" th:field="*{evectionAddr}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差详细地址:</label> <label class="col-sm-3 control-label">出差详细地址:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="evectionDetailAddr" th:field="*{evectionDetailAddr}" class="form-control" type="text"> <input readonly name="evectionDetailAddr" th:field="*{evectionDetailAddr}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差事由:</label> <label class="col-sm-3 control-label">出差事由:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="evectionCauses" th:field="*{evectionCauses}" class="form-control" type="text"> <input readonly name="evectionCauses" th:field="*{evectionCauses}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差时间:</label> <label class="col-sm-3 control-label">出差时间:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<div class="input-group date"> <div class="input-group date">
<input name="evectionBeginTime" class="form-control" placeholder="yyyy-MM-dd" type="text"> <input readonly name="evectionBeginTime" th:field="*{evectionBeginTime}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<span class="input-group-addon">-</span> <span class="input-group-addon">-</span>
<input name="evectionEndTime" class="form-control" placeholder="yyyy-MM-dd" type="text"> <input readonly name="evectionEndTime" th:field="*{evectionEndTime}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div> </div>
</div> </div>
@ -75,13 +75,19 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">派工单号:</label> <label class="col-sm-3 control-label">派工单号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="dispatchlistCode" th:field="*{dispatchlistCode}" class="form-control" type="text"> <input readonly name="dispatchlistCode" th:field="*{dispatchlistCode}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">生产单号:</label> <label class="col-sm-3 control-label">生产单号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="makeCode" th:field="*{makeCode}" class="form-control" type="text"> <input readonly name="makeCode" th:field="*{makeCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group" id="cancelRemark" hidden>
<label class="col-sm-3 control-label">作废理由:</label>
<div class="col-sm-8">
<textarea readonly name="cancelRemark" th:text="*{cancelRemark}" class="form-control" type="text"></textarea>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -94,6 +100,12 @@
</select> </select>
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label">批注:</label>
<div class="col-sm-6">
<textarea name="comment" class="form-control"></textarea>
</div>
</div>
</form> </form>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
@ -104,6 +116,12 @@
var prefix = ctx + "system/baseEvectionForm"; var prefix = ctx + "system/baseEvectionForm";
$("#form-baseEvectionForm-yfzj").validate({focusCleanup: true}); $("#form-baseEvectionForm-yfzj").validate({focusCleanup: true});
$(function() {
var instanceType = [[${formData.instanceType}]];
if(instanceType === "cancel"){
$("#cancelRemark").show();
}
});
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
if ($('textarea[name="comment"]').val()) { if ($('textarea[name="comment"]').val()) {

40
ruoyi-admin/src/main/resources/templates/system/baseEvectionForm/taskZjlVerify.html

@ -21,53 +21,53 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">部门:</label> <label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="deptName" th:field="*{deptName}" class="form-control"></select> <input readonly name="deptName" th:field="*{deptName}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">岗位:</label> <label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="postName" th:field="*{postName}" class="form-control"></select> <input readonly name="postName" th:field="*{postName}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差人:</label> <label class="col-sm-3 control-label">出差人:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="evectionBy" th:field="*{evectionBy}" class="form-control"></select> <input readonly name="evectionBy" th:field="*{evectionBy}" class="form-control"></input>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">同行人:</label> <label class="col-sm-3 control-label">同行人:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="partnerBy" th:field="*{partnerBy}" class="form-control" type="text"> <input readonly name="partnerBy" th:field="*{partnerBy}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差地:</label> <label class="col-sm-3 control-label">出差地:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="evectionAddr" th:field="*{evectionAddr}" class="form-control" type="text"> <input readonly name="evectionAddr" th:field="*{evectionAddr}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差详细地址:</label> <label class="col-sm-3 control-label">出差详细地址:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="evectionDetailAddr" th:field="*{evectionDetailAddr}" class="form-control" type="text"> <input readonly name="evectionDetailAddr" th:field="*{evectionDetailAddr}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差事由:</label> <label class="col-sm-3 control-label">出差事由:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="evectionCauses" th:field="*{evectionCauses}" class="form-control" type="text"> <input readonly name="evectionCauses" th:field="*{evectionCauses}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出差时间:</label> <label class="col-sm-3 control-label">出差时间:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<div class="input-group date"> <div class="input-group date">
<input name="evectionBeginTime" class="form-control" placeholder="yyyy-MM-dd" type="text"> <input readonly name="evectionBeginTime" th:field="*{evectionBeginTime}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<span class="input-group-addon">-</span> <span class="input-group-addon">-</span>
<input name="evectionEndTime" class="form-control" placeholder="yyyy-MM-dd" type="text"> <input readonly name="evectionEndTime" th:field="*{evectionEndTime}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div> </div>
</div> </div>
@ -75,13 +75,19 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">派工单号:</label> <label class="col-sm-3 control-label">派工单号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="dispatchlistCode" th:field="*{dispatchlistCode}" class="form-control" type="text"> <input readonly name="dispatchlistCode" th:field="*{dispatchlistCode}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">生产单号:</label> <label class="col-sm-3 control-label">生产单号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="makeCode" th:field="*{makeCode}" class="form-control" type="text"> <input readonly name="makeCode" th:field="*{makeCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group" id="cancelRemark" hidden>
<label class="col-sm-3 control-label">作废理由:</label>
<div class="col-sm-8">
<textarea readonly name="cancelRemark" th:text="*{cancelRemark}" class="form-control" type="text"></textarea>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -94,6 +100,12 @@
</select> </select>
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label">批注:</label>
<div class="col-sm-6">
<textarea name="comment" class="form-control"></textarea>
</div>
</div>
</form> </form>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
@ -104,6 +116,12 @@
var prefix = ctx + "system/baseEvectionForm"; var prefix = ctx + "system/baseEvectionForm";
$("#form-baseEvectionForm-zjl").validate({focusCleanup: true}); $("#form-baseEvectionForm-zjl").validate({focusCleanup: true});
$(function() {
var instanceType = [[${formData.instanceType}]];
if(instanceType === "cancel"){
$("#cancelRemark").show();
}
});
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
if ($('textarea[name="comment"]').val()) { if ($('textarea[name="comment"]').val()) {

Loading…
Cancel
Save