commit
This commit is contained in:
@@ -86,6 +86,7 @@ RoleConstant {
|
|||||||
LOVE_ASSIST_WORK_GROUP_MEMBER("爱心扶助小组审批员"),
|
LOVE_ASSIST_WORK_GROUP_MEMBER("爱心扶助小组审批员"),
|
||||||
|
|
||||||
PSYCHOLOGY_DOCTOR("心理咨询师"),
|
PSYCHOLOGY_DOCTOR("心理咨询师"),
|
||||||
|
LEGAL_DOCTOR("法律顾问"),
|
||||||
;
|
;
|
||||||
/**
|
/**
|
||||||
* 避免和枚举类的name冲突
|
* 避免和枚举类的name冲突
|
||||||
|
|||||||
+4
-3
@@ -125,7 +125,7 @@ public class MFamilyActivityController {
|
|||||||
String id = v.getId();
|
String id = v.getId();
|
||||||
NutMap nutMap = NutMap.NEW();
|
NutMap nutMap = NutMap.NEW();
|
||||||
List<FamilyUserCourse> familyUserCourses = collectMap.get(id);
|
List<FamilyUserCourse> familyUserCourses = collectMap.get(id);
|
||||||
int remainingNum = v.getCourseLimitNum();
|
int remainingNum = v.getCourseLimitNum() != null ? v.getCourseLimitNum() : 0;
|
||||||
if (Lang.isNotEmpty(familyUserCourses)) {
|
if (Lang.isNotEmpty(familyUserCourses)) {
|
||||||
remainingNum = v.getCourseLimitNum() - familyUserCourses.size();
|
remainingNum = v.getCourseLimitNum() - familyUserCourses.size();
|
||||||
}
|
}
|
||||||
@@ -325,11 +325,12 @@ public class MFamilyActivityController {
|
|||||||
@At
|
@At
|
||||||
@ApiOperation("验证子活动是否能报名")
|
@ApiOperation("验证子活动是否能报名")
|
||||||
@SaCheckPermission("h5.family.sign")
|
@SaCheckPermission("h5.family.sign")
|
||||||
public Object validateSourceSignUp(String activityCourseId) {
|
public Object validateSourceSignUp(String activityCourseId, String courseId) {
|
||||||
try {
|
try {
|
||||||
lock.lock();
|
lock.lock();
|
||||||
// 该时间段下已报名的人数
|
// 该时间段下已报名的人数
|
||||||
int count = dao.count(FamilyUserCourse.class, Cnd.where("activityCourseId", "=", activityCourseId));
|
int count = dao.count(FamilyUserCourse.class, Cnd.where("activityCourseId", "=", activityCourseId)
|
||||||
|
.and("courseId", "=", courseId));
|
||||||
// 获取改时间段下的活动课程限制报名人数
|
// 获取改时间段下的活动课程限制报名人数
|
||||||
FamilyActivityCourse course = dao.fetch(FamilyActivityCourse.class, activityCourseId);
|
FamilyActivityCourse course = dao.fetch(FamilyActivityCourse.class, activityCourseId);
|
||||||
Integer courseLimitNum = course.getCourseLimitNum();
|
Integer courseLimitNum = course.getCourseLimitNum();
|
||||||
|
|||||||
+5
-3
@@ -32,6 +32,7 @@ import org.nutz.mvc.annotation.*;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.CompletionException;
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -129,7 +130,7 @@ public class MTrainSignUpActivityController {
|
|||||||
String id = v.getId();
|
String id = v.getId();
|
||||||
NutMap nutMap = NutMap.NEW();
|
NutMap nutMap = NutMap.NEW();
|
||||||
List<TrainSignUpUserCourse> trainSignUpUserCourses = collectMap.get(id);
|
List<TrainSignUpUserCourse> trainSignUpUserCourses = collectMap.get(id);
|
||||||
int remainingNum = v.getCourseLimitNum();
|
int remainingNum = v.getCourseLimitNum() != null ? v.getCourseLimitNum() : 0;
|
||||||
if (Lang.isNotEmpty(trainSignUpUserCourses)) {
|
if (Lang.isNotEmpty(trainSignUpUserCourses)) {
|
||||||
remainingNum = v.getCourseLimitNum() - trainSignUpUserCourses.size();
|
remainingNum = v.getCourseLimitNum() - trainSignUpUserCourses.size();
|
||||||
}
|
}
|
||||||
@@ -328,11 +329,12 @@ public class MTrainSignUpActivityController {
|
|||||||
@At
|
@At
|
||||||
@ApiOperation("验证子活动是否能报名")
|
@ApiOperation("验证子活动是否能报名")
|
||||||
@SaCheckPermission("h5.trainSignUp.sign")
|
@SaCheckPermission("h5.trainSignUp.sign")
|
||||||
public Object validateSourceSignUp(String activityCourseId) {
|
public Object validateSourceSignUp(String activityCourseId, String courseId) {
|
||||||
try {
|
try {
|
||||||
lock.lock();
|
lock.lock();
|
||||||
// 该时间段下已报名的人数
|
// 该时间段下已报名的人数
|
||||||
int count = dao.count(TrainSignUpUserCourse.class, Cnd.where("activityCourseId", "=", activityCourseId));
|
int count = dao.count(TrainSignUpUserCourse.class, Cnd.where("activityCourseId", "=", activityCourseId)
|
||||||
|
.and("courseId", "=", courseId));
|
||||||
// 获取改时间段下的活动课程限制报名人数
|
// 获取改时间段下的活动课程限制报名人数
|
||||||
TrainSignUpActivityCourse course = dao.fetch(TrainSignUpActivityCourse.class, activityCourseId);
|
TrainSignUpActivityCourse course = dao.fetch(TrainSignUpActivityCourse.class, activityCourseId);
|
||||||
Integer courseLimitNum = course.getCourseLimitNum();
|
Integer courseLimitNum = course.getCourseLimitNum();
|
||||||
|
|||||||
+36
-70
@@ -2,44 +2,42 @@ package com.budwk.app.zhgh.staffbenefit.condolence.controller;
|
|||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
import cn.dev33.satoken.stp.StpUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.lang.Dict;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.budwk.app.base.annotation.SLog;
|
import com.budwk.app.base.annotation.SLog;
|
||||||
import com.budwk.app.base.constant.RoleConstant;
|
import com.budwk.app.base.constant.RoleConstant;
|
||||||
import com.budwk.app.base.page.Pagination;
|
import com.budwk.app.base.page.Pagination;
|
||||||
import com.budwk.app.base.param.PageForm;
|
|
||||||
import com.budwk.app.base.result.Result;
|
import com.budwk.app.base.result.Result;
|
||||||
|
import com.budwk.app.flow.constant.FlowConst;
|
||||||
import com.budwk.app.flow.engine.FlowEngine;
|
import com.budwk.app.flow.engine.FlowEngine;
|
||||||
|
import com.budwk.app.flow.entity.ProcessInstance;
|
||||||
|
import com.budwk.app.flow.entity.ProcessTask;
|
||||||
|
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
||||||
import com.budwk.app.sys.views.View_user;
|
import com.budwk.app.sys.views.View_user;
|
||||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||||
import com.budwk.app.zhgh.dayofficework.article.models.Article;
|
|
||||||
import com.budwk.app.zhgh.staffbenefit.condolence.model.Condolence;
|
import com.budwk.app.zhgh.staffbenefit.condolence.model.Condolence;
|
||||||
import com.budwk.app.zhgh.staffbenefit.condolence.model.CondolenceType;
|
|
||||||
import com.budwk.app.zhgh.staffbenefit.condolence.service.CondolenceService;
|
import com.budwk.app.zhgh.staffbenefit.condolence.service.CondolenceService;
|
||||||
import com.budwk.app.zhgh.staffbenefit.psychology.model.PsychologyDoctor;
|
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
|
||||||
import org.nutz.dao.Cnd;
|
import org.nutz.dao.Cnd;
|
||||||
|
import org.nutz.dao.Dao;
|
||||||
import org.nutz.dao.Sqls;
|
import org.nutz.dao.Sqls;
|
||||||
import org.nutz.dao.sql.Sql;
|
import org.nutz.dao.sql.Sql;
|
||||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||||
import org.nutz.ioc.aop.Aop;
|
|
||||||
import org.nutz.ioc.loader.annotation.Inject;
|
import org.nutz.ioc.loader.annotation.Inject;
|
||||||
import org.nutz.ioc.loader.annotation.IocBean;
|
import org.nutz.ioc.loader.annotation.IocBean;
|
||||||
import org.nutz.lang.util.NutMap;
|
|
||||||
import org.nutz.mvc.annotation.At;
|
import org.nutz.mvc.annotation.At;
|
||||||
import org.nutz.mvc.annotation.Ok;
|
import org.nutz.mvc.annotation.Ok;
|
||||||
import org.nutz.mvc.annotation.Param;
|
import org.nutz.mvc.annotation.Param;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ClassName CondolenceApplyController
|
* @ClassName CondolenceApplyController
|
||||||
* @Author JyuHsin
|
* @Author JyuHsin
|
||||||
* @Date 2025/7/28 11:06
|
* @Date 2025/8/20 15:40
|
||||||
* @Version 1.0
|
* @Version 1.0
|
||||||
* @Description TODO
|
* @Description TODO
|
||||||
*/
|
*/
|
||||||
@@ -50,67 +48,46 @@ import java.util.List;
|
|||||||
public class CondolenceApplyController {
|
public class CondolenceApplyController {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private CondolenceService condolenceService;
|
private Dao dao;
|
||||||
@Inject
|
@Inject
|
||||||
private FlowEngine flowEngine;
|
private FlowEngine flowEngine;
|
||||||
|
@Inject
|
||||||
|
private CondolenceService condolenceService;
|
||||||
|
|
||||||
@At("")
|
@At("")
|
||||||
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/apply/index.html")
|
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/apply/index.html")
|
||||||
@SaCheckLogin
|
@SaCheckLogin
|
||||||
public void index() {}
|
public void index() {}
|
||||||
|
|
||||||
@At("/form")
|
@At
|
||||||
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/apply/form.html")
|
@ApiOperation("保存申请")
|
||||||
@SaCheckLogin
|
@SaCheckPermission("condolence.apply")
|
||||||
public void form() {}
|
@SLog(type = "condolence", tag = "职工慰问-慰问申请", msg = "保存职工慰问申请")
|
||||||
|
public Result save(@Param("data") Condolence condolence) {
|
||||||
|
if(StrUtil.isBlank(condolence.getId())) condolence.setCreateTime(DateUtil.now());
|
||||||
|
dao.insertOrUpdate(condolence);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
@At
|
@At
|
||||||
@ApiOperation("分页查询")
|
@ApiOperation("提交申请")
|
||||||
@SaCheckPermission("condolence.apply")
|
@SaCheckPermission("condolence.apply")
|
||||||
public Result pageData(PageForm pageForm,
|
@SLog(type = "condolence", tag = "职工慰问-慰问申请", msg = "提交职工慰问申请")
|
||||||
@Param(value = "year") Integer year,
|
public Result submit(@Param("data") Condolence condolence) {
|
||||||
@Param(value = "type") String type) {
|
if(StrUtil.isBlank(condolence.getId())) condolence.setCreateTime(DateUtil.now());
|
||||||
Sql sql = Sqls.create("""
|
dao.insertOrUpdate(condolence);
|
||||||
SELECT
|
// 开启流程实例
|
||||||
info.*,
|
Dict args = Dict.create();
|
||||||
type.name as typeName,
|
args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode());
|
||||||
ins.id AS instanceId,
|
args.set(FlowConst.FORM_DATA, condolence);
|
||||||
ins.businessNo,
|
ProcessInstance instance = flowEngine.startProcessInstanceByKey("ZGWW", condolence.getId(), SecurityUtil.getUserId(), args);
|
||||||
ins.state instanceState,
|
|
||||||
ins.variable instanceVariable,
|
// 自动完成第一个申请任务
|
||||||
t.id taskId,
|
List<ProcessTask> doingTaskList = flowEngine.processTaskService().getDoingTaskList(instance.getId(), null);
|
||||||
t.taskName AS taskKey,
|
for (ProcessTask task : doingTaskList) {
|
||||||
t.displayName taskName,
|
flowEngine.executeProcessTask(task.getId(), SecurityUtil.getUserId(), args);
|
||||||
t.taskType,
|
|
||||||
t.performType taskPerformType,
|
|
||||||
t.taskState,
|
|
||||||
t.finishTime,
|
|
||||||
t.taskParentId,
|
|
||||||
t.variable taskVariable,
|
|
||||||
IF((SELECT taskName FROM wf_process_task tt WHERE tt.id = t.taskParentId) = 'startTask', 1, 0) canRevoke,
|
|
||||||
(select MAX(id) from wf_process_task where processInstanceId = ins.id and taskName = 'startTask') AS startTaskId
|
|
||||||
FROM
|
|
||||||
condolence info
|
|
||||||
LEFT JOIN condolence_type type ON info.type = type.id
|
|
||||||
LEFT JOIN `wf_process_instance` ins ON ins.businessNo = info.id
|
|
||||||
LEFT JOIN wf_process_task t ON t.processInstanceId = ins.id AND t.taskState = 10
|
|
||||||
LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id
|
|
||||||
$condition
|
|
||||||
""");
|
|
||||||
Cnd cnd = Cnd.NEW();
|
|
||||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
|
||||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
|
||||||
seg.or(Condolence::getHelpUserName, "like", "%" + pageForm.getSearchKeyword() + "%");
|
|
||||||
seg.or(Condolence::getHelpLoginName, "like", "%" + pageForm.getSearchKeyword() + "%");
|
|
||||||
cnd.and(seg);
|
|
||||||
}
|
}
|
||||||
cnd.andEX("year(info.createTime)", "=", year);
|
return Result.success();
|
||||||
cnd.andEX("info.type", "=", type);
|
|
||||||
cnd.and("info.createdBy", "=", SecurityUtil.getUserId());
|
|
||||||
cnd.desc("info.createTime");
|
|
||||||
sql.setCondition(cnd);
|
|
||||||
Pagination<NutMap> pagination = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
|
||||||
return Result.success(pagination);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@At
|
@At
|
||||||
@@ -153,15 +130,4 @@ public class CondolenceApplyController {
|
|||||||
Pagination pagination = condolenceService.listPageMap(1, 50, sql);
|
Pagination pagination = condolenceService.listPageMap(1, 50, sql);
|
||||||
return Result.success(pagination.getList());
|
return Result.success(pagination.getList());
|
||||||
}
|
}
|
||||||
|
|
||||||
@At
|
|
||||||
@ApiOperation("删除")
|
|
||||||
@Aop(TransAop.READ_COMMITTED)
|
|
||||||
@SaCheckPermission("condolence.apply")
|
|
||||||
@SLog(type = "condolence", tag = "删除职工慰问", msg = "删除职工慰问")
|
|
||||||
public Result delete(@Param("id") String id) {
|
|
||||||
condolenceService.delete(id);
|
|
||||||
flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id);
|
|
||||||
return Result.success();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-7
@@ -45,11 +45,6 @@ public class CondolenceBranchUnionApprovalController {
|
|||||||
@SaCheckLogin
|
@SaCheckLogin
|
||||||
public void index() {}
|
public void index() {}
|
||||||
|
|
||||||
@At("/form")
|
|
||||||
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/branchUnionApproval/form.html")
|
|
||||||
@SaCheckLogin
|
|
||||||
public void form() {}
|
|
||||||
|
|
||||||
@At
|
@At
|
||||||
@ApiOperation("分页查询")
|
@ApiOperation("分页查询")
|
||||||
@SaCheckPermission("condolence.branchUnionApproval")
|
@SaCheckPermission("condolence.branchUnionApproval")
|
||||||
@@ -64,7 +59,8 @@ public class CondolenceBranchUnionApprovalController {
|
|||||||
ins.id AS instanceId,
|
ins.id AS instanceId,
|
||||||
ins.businessNo,
|
ins.businessNo,
|
||||||
ins.state instanceState,
|
ins.state instanceState,
|
||||||
ins.variable instanceVariable,
|
ins.variable instanceVariale,
|
||||||
|
ins.processDefineId instanceProcessDefineId,
|
||||||
t.id taskId,
|
t.id taskId,
|
||||||
t.taskName AS taskKey,
|
t.taskName AS taskKey,
|
||||||
t.displayName taskName,
|
t.displayName taskName,
|
||||||
@@ -73,13 +69,17 @@ public class CondolenceBranchUnionApprovalController {
|
|||||||
t.taskState,
|
t.taskState,
|
||||||
t.finishTime,
|
t.finishTime,
|
||||||
t.taskParentId,
|
t.taskParentId,
|
||||||
t.variable taskVariable
|
t.variable taskVariable,
|
||||||
|
IFNULL(GROUP_CONCAT(DISTINCT nt.displayName),'结束') curTaskName,
|
||||||
|
IF(rt.id IS NOT NULL, 1, 0) AS canRevoke
|
||||||
FROM
|
FROM
|
||||||
wf_process_task t
|
wf_process_task t
|
||||||
LEFT JOIN wf_process_instance ins ON ins.id = t.processInstanceId
|
LEFT JOIN wf_process_instance ins ON ins.id = t.processInstanceId
|
||||||
LEFT JOIN condolence info ON info.id = ins.businessNo
|
LEFT JOIN condolence info ON info.id = ins.businessNo
|
||||||
LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id
|
LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id
|
||||||
LEFT JOIN condolence_type type ON info.type = type.id
|
LEFT JOIN condolence_type type ON info.type = type.id
|
||||||
|
LEFT JOIN wf_process_task nt ON nt.processInstanceId = ins.id AND nt.taskState = 10
|
||||||
|
LEFT JOIN wf_process_task rt ON rt.processInstanceId = ins.id AND rt.taskParentId = t.id AND rt.taskState = 10
|
||||||
$condition
|
$condition
|
||||||
""");
|
""");
|
||||||
Cnd cnd = Cnd.NEW();
|
Cnd cnd = Cnd.NEW();
|
||||||
@@ -100,6 +100,7 @@ public class CondolenceBranchUnionApprovalController {
|
|||||||
} else {
|
} else {
|
||||||
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
||||||
}
|
}
|
||||||
|
cnd.groupBy("t.id");
|
||||||
sql.setCondition(cnd);
|
sql.setCondition(cnd);
|
||||||
Pagination<NutMap> pageVO = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
Pagination<NutMap> pageVO = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||||
return Result.success(pageVO);
|
return Result.success(pageVO);
|
||||||
|
|||||||
+128
@@ -0,0 +1,128 @@
|
|||||||
|
package com.budwk.app.zhgh.staffbenefit.condolence.controller;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.budwk.app.base.annotation.SLog;
|
||||||
|
import com.budwk.app.base.constant.RoleConstant;
|
||||||
|
import com.budwk.app.base.page.Pagination;
|
||||||
|
import com.budwk.app.base.param.PageForm;
|
||||||
|
import com.budwk.app.base.result.Result;
|
||||||
|
import com.budwk.app.flow.engine.FlowEngine;
|
||||||
|
import com.budwk.app.sys.views.View_user;
|
||||||
|
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||||
|
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||||
|
import com.budwk.app.zhgh.staffbenefit.condolence.model.Condolence;
|
||||||
|
import com.budwk.app.zhgh.staffbenefit.condolence.model.CondolenceType;
|
||||||
|
import com.budwk.app.zhgh.staffbenefit.condolence.service.CondolenceService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||||
|
import org.nutz.dao.Cnd;
|
||||||
|
import org.nutz.dao.Sqls;
|
||||||
|
import org.nutz.dao.sql.Sql;
|
||||||
|
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||||
|
import org.nutz.ioc.aop.Aop;
|
||||||
|
import org.nutz.ioc.loader.annotation.Inject;
|
||||||
|
import org.nutz.ioc.loader.annotation.IocBean;
|
||||||
|
import org.nutz.lang.Lang;
|
||||||
|
import org.nutz.lang.util.NutMap;
|
||||||
|
import org.nutz.mvc.annotation.At;
|
||||||
|
import org.nutz.mvc.annotation.Ok;
|
||||||
|
import org.nutz.mvc.annotation.Param;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName CondolenceApplyController
|
||||||
|
* @Author JyuHsin
|
||||||
|
* @Date 2025/7/28 11:06
|
||||||
|
* @Version 1.0
|
||||||
|
* @Description TODO
|
||||||
|
*/
|
||||||
|
@IocBean
|
||||||
|
@At("/platform/condolence/mine")
|
||||||
|
@Api("职工慰问我的")
|
||||||
|
@Ok("json:full")
|
||||||
|
public class CondolenceMineController {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private CondolenceService condolenceService;
|
||||||
|
@Inject
|
||||||
|
private FlowEngine flowEngine;
|
||||||
|
|
||||||
|
@At("")
|
||||||
|
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/mine/index.html")
|
||||||
|
@SaCheckLogin
|
||||||
|
public void index() {}
|
||||||
|
|
||||||
|
@At
|
||||||
|
@ApiOperation("分页查询")
|
||||||
|
@SaCheckPermission("condolence.mine")
|
||||||
|
public Result pageData(PageForm pageForm,
|
||||||
|
@Param(value = "year") Integer year,
|
||||||
|
@Param(value = "type") String type) {
|
||||||
|
Sql sql = Sqls.create("""
|
||||||
|
SELECT
|
||||||
|
info.*,
|
||||||
|
type.name as typeName,
|
||||||
|
ins.id AS instanceId,
|
||||||
|
ins.businessNo,
|
||||||
|
ins.state instanceState,
|
||||||
|
ins.variable instanceVariable,
|
||||||
|
ins.processDefineId instanceProcessDefineId,
|
||||||
|
t.id taskId,
|
||||||
|
t.taskName AS taskKey,
|
||||||
|
t.displayName taskName,
|
||||||
|
t.taskType,
|
||||||
|
t.performType taskPerformType,
|
||||||
|
t.taskState,
|
||||||
|
t.finishTime,
|
||||||
|
t.taskParentId,
|
||||||
|
t.variable taskVariable,
|
||||||
|
IF((SELECT taskName FROM wf_process_task tt WHERE tt.id = t.taskParentId) = 'startTask', 1, 0) canRevoke,
|
||||||
|
(select MAX(id) from wf_process_task where processInstanceId = ins.id and taskName = 'startTask') AS startTaskId
|
||||||
|
FROM
|
||||||
|
condolence info
|
||||||
|
LEFT JOIN condolence_type type ON info.type = type.id
|
||||||
|
LEFT JOIN `wf_process_instance` ins ON ins.businessNo = info.id
|
||||||
|
LEFT JOIN wf_process_task t ON t.processInstanceId = ins.id AND t.taskState = 10
|
||||||
|
LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id
|
||||||
|
$condition
|
||||||
|
""");
|
||||||
|
Cnd cnd = Cnd.NEW();
|
||||||
|
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||||
|
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||||
|
seg.or(Condolence::getHelpUserName, "like", "%" + pageForm.getSearchKeyword() + "%");
|
||||||
|
seg.or(Condolence::getHelpLoginName, "like", "%" + pageForm.getSearchKeyword() + "%");
|
||||||
|
cnd.and(seg);
|
||||||
|
}
|
||||||
|
cnd.andEX("year(info.createTime)", "=", year);
|
||||||
|
cnd.andEX("info.type", "=", type);
|
||||||
|
cnd.and("info.createdBy", "=", SecurityUtil.getUserId());
|
||||||
|
cnd.desc("info.createTime");
|
||||||
|
sql.setCondition(cnd);
|
||||||
|
Pagination<NutMap> pagination = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||||
|
return Result.success(pagination);
|
||||||
|
}
|
||||||
|
|
||||||
|
@At
|
||||||
|
@ApiOperation("删除")
|
||||||
|
@Aop(TransAop.READ_COMMITTED)
|
||||||
|
@SaCheckPermission("condolence.mine")
|
||||||
|
@SLog(type = "condolence", tag = "删除职工慰问", msg = "删除职工慰问")
|
||||||
|
public Result delete(@Param("id") String id) {
|
||||||
|
condolenceService.delete(id);
|
||||||
|
flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@At
|
||||||
|
@ApiOperation("查询单个慰问申请信息")
|
||||||
|
@SaCheckPermission("condolence.mine")
|
||||||
|
public Result info(String id) {
|
||||||
|
Condolence condolence = condolenceService.fetch(id);
|
||||||
|
CondolenceType type = condolenceService.dao().fetch(CondolenceType.class, Cnd.where(CondolenceType::getId, "=", condolence.getType()));
|
||||||
|
NutMap nutMap = Lang.obj2nutmap(condolence);
|
||||||
|
nutMap.put("typeName", type.getName());
|
||||||
|
return Result.success(nutMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
+8
-7
@@ -45,11 +45,6 @@ public class CondolenceSchoolUnionApprovalController {
|
|||||||
@SaCheckLogin
|
@SaCheckLogin
|
||||||
public void index() {}
|
public void index() {}
|
||||||
|
|
||||||
@At("/form")
|
|
||||||
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/schoolUnionApproval/form.html")
|
|
||||||
@SaCheckLogin
|
|
||||||
public void form() {}
|
|
||||||
|
|
||||||
@At
|
@At
|
||||||
@ApiOperation("分页查询")
|
@ApiOperation("分页查询")
|
||||||
@SaCheckPermission("condolence.schoolUnionApproval")
|
@SaCheckPermission("condolence.schoolUnionApproval")
|
||||||
@@ -66,7 +61,8 @@ public class CondolenceSchoolUnionApprovalController {
|
|||||||
ins.id AS instanceId,
|
ins.id AS instanceId,
|
||||||
ins.businessNo,
|
ins.businessNo,
|
||||||
ins.state instanceState,
|
ins.state instanceState,
|
||||||
ins.variable instanceVariable,
|
ins.variable instanceVariale,
|
||||||
|
ins.processDefineId instanceProcessDefineId,
|
||||||
t.id taskId,
|
t.id taskId,
|
||||||
t.taskName AS taskKey,
|
t.taskName AS taskKey,
|
||||||
t.displayName taskName,
|
t.displayName taskName,
|
||||||
@@ -75,13 +71,17 @@ public class CondolenceSchoolUnionApprovalController {
|
|||||||
t.taskState,
|
t.taskState,
|
||||||
t.finishTime,
|
t.finishTime,
|
||||||
t.taskParentId,
|
t.taskParentId,
|
||||||
t.variable taskVariable
|
t.variable taskVariable,
|
||||||
|
IFNULL(GROUP_CONCAT(DISTINCT nt.displayName),'结束') curTaskName,
|
||||||
|
IF(rt.id IS NOT NULL, 1, 0) AS canRevoke
|
||||||
FROM
|
FROM
|
||||||
wf_process_task t
|
wf_process_task t
|
||||||
LEFT JOIN wf_process_instance ins ON ins.id = t.processInstanceId
|
LEFT JOIN wf_process_instance ins ON ins.id = t.processInstanceId
|
||||||
LEFT JOIN condolence info ON info.id = ins.businessNo
|
LEFT JOIN condolence info ON info.id = ins.businessNo
|
||||||
LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id
|
LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id
|
||||||
LEFT JOIN condolence_type type ON info.type = type.id
|
LEFT JOIN condolence_type type ON info.type = type.id
|
||||||
|
LEFT JOIN wf_process_task nt ON nt.processInstanceId = ins.id AND nt.taskState = 10
|
||||||
|
LEFT JOIN wf_process_task rt ON rt.processInstanceId = ins.id AND rt.taskParentId = t.id AND rt.taskState = 10
|
||||||
$condition
|
$condition
|
||||||
""");
|
""");
|
||||||
Cnd cnd = Cnd.NEW();
|
Cnd cnd = Cnd.NEW();
|
||||||
@@ -104,6 +104,7 @@ public class CondolenceSchoolUnionApprovalController {
|
|||||||
} else {
|
} else {
|
||||||
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
||||||
}
|
}
|
||||||
|
cnd.groupBy("t.id");
|
||||||
sql.setCondition(cnd);
|
sql.setCondition(cnd);
|
||||||
Pagination<NutMap> pageVO = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
Pagination<NutMap> pageVO = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||||
return Result.success(pageVO);
|
return Result.success(pageVO);
|
||||||
|
|||||||
-50
@@ -1,50 +0,0 @@
|
|||||||
package com.budwk.app.zhgh.staffbenefit.condolence.controller;
|
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
|
||||||
import com.budwk.app.base.result.Result;
|
|
||||||
import com.budwk.app.zhgh.democratic.suggestionBox.models.SuggestionBox;
|
|
||||||
import com.budwk.app.zhgh.staffbenefit.condolence.model.Condolence;
|
|
||||||
import com.budwk.app.zhgh.staffbenefit.condolence.model.CondolenceType;
|
|
||||||
import io.swagger.annotations.Api;
|
|
||||||
import org.nutz.dao.Cnd;
|
|
||||||
import org.nutz.dao.Dao;
|
|
||||||
import org.nutz.ioc.loader.annotation.Inject;
|
|
||||||
import org.nutz.ioc.loader.annotation.IocBean;
|
|
||||||
import org.nutz.lang.Lang;
|
|
||||||
import org.nutz.lang.util.NutMap;
|
|
||||||
import org.nutz.mvc.annotation.At;
|
|
||||||
import org.nutz.mvc.annotation.Ok;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @ClassName CondolenceViewController
|
|
||||||
* @Author JyuHsin
|
|
||||||
* @Date 2025/7/30 10:46
|
|
||||||
* @Version 1.0
|
|
||||||
* @Description TODO
|
|
||||||
*/
|
|
||||||
@IocBean
|
|
||||||
@At("/platform/condolence/view")
|
|
||||||
@Api("职工慰问查看")
|
|
||||||
@Ok("json:full")
|
|
||||||
public class CondolenceViewController {
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
private Dao dao;
|
|
||||||
|
|
||||||
@At("/index")
|
|
||||||
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/view/index.html")
|
|
||||||
@SaCheckLogin
|
|
||||||
public void index() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@At("/info")
|
|
||||||
@SaCheckLogin
|
|
||||||
public Result info(String id) {
|
|
||||||
Condolence condolence = dao.fetch(Condolence.class, id);
|
|
||||||
CondolenceType type = dao.fetch(CondolenceType.class, Cnd.where(CondolenceType::getId, "=", condolence.getType()));
|
|
||||||
NutMap nutMap = Lang.obj2nutmap(condolence);
|
|
||||||
nutMap.put("typeName", type.getName());
|
|
||||||
return Result.success(nutMap);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+6
-1
@@ -7,7 +7,9 @@ import com.budwk.app.base.constant.RoleConstant;
|
|||||||
import com.budwk.app.base.page.Pagination;
|
import com.budwk.app.base.page.Pagination;
|
||||||
import com.budwk.app.base.param.PageForm;
|
import com.budwk.app.base.param.PageForm;
|
||||||
import com.budwk.app.base.result.Result;
|
import com.budwk.app.base.result.Result;
|
||||||
|
import com.budwk.app.sys.models.Sys_role;
|
||||||
import com.budwk.app.sys.models.Sys_user_role;
|
import com.budwk.app.sys.models.Sys_user_role;
|
||||||
|
import com.budwk.app.sys.services.SysRoleService;
|
||||||
import com.budwk.app.sys.views.View_user;
|
import com.budwk.app.sys.views.View_user;
|
||||||
import com.budwk.app.zhgh.staffbenefit.legal.model.LegalDoctor;
|
import com.budwk.app.zhgh.staffbenefit.legal.model.LegalDoctor;
|
||||||
import com.budwk.app.zhgh.staffbenefit.legal.service.LegalDoctorService;
|
import com.budwk.app.zhgh.staffbenefit.legal.service.LegalDoctorService;
|
||||||
@@ -46,6 +48,8 @@ public class LegalDoctorController {
|
|||||||
private Dao dao;
|
private Dao dao;
|
||||||
@Inject
|
@Inject
|
||||||
private LegalDoctorService doctorService;
|
private LegalDoctorService doctorService;
|
||||||
|
@Inject
|
||||||
|
private SysRoleService sysRoleService;
|
||||||
|
|
||||||
@At("")
|
@At("")
|
||||||
@SaCheckPermission("legal.doctorManage")
|
@SaCheckPermission("legal.doctorManage")
|
||||||
@@ -74,6 +78,7 @@ public class LegalDoctorController {
|
|||||||
@SaCheckPermission("legal.doctorManage")
|
@SaCheckPermission("legal.doctorManage")
|
||||||
@SLog(type = "legal", tag = "新增/修改法律援助师", msg = "新增/修改法律援助师")
|
@SLog(type = "legal", tag = "新增/修改法律援助师", msg = "新增/修改法律援助师")
|
||||||
public Object onSubmit(LegalDoctor doctor) {
|
public Object onSubmit(LegalDoctor doctor) {
|
||||||
|
Sys_role role = sysRoleService.getByCode(RoleConstant.LEGAL_DOCTOR);
|
||||||
if(StrUtil.isBlank(doctor.getId())) {
|
if(StrUtil.isBlank(doctor.getId())) {
|
||||||
int count = doctorService.count(Cnd.where(LegalDoctor::getUserId, "=", doctor.getUserId()));
|
int count = doctorService.count(Cnd.where(LegalDoctor::getUserId, "=", doctor.getUserId()));
|
||||||
if(count > 0) {
|
if(count > 0) {
|
||||||
@@ -89,7 +94,7 @@ public class LegalDoctorController {
|
|||||||
//插入角色
|
//插入角色
|
||||||
Sys_user_role userRole = new Sys_user_role();
|
Sys_user_role userRole = new Sys_user_role();
|
||||||
userRole.setUserId(doctor.getUserId());
|
userRole.setUserId(doctor.getUserId());
|
||||||
userRole.setRoleId(RoleConstant.PSYCHOLOGY_DOCTOR.name());
|
userRole.setRoleId(role.getId());
|
||||||
dao.insert(userRole);
|
dao.insert(userRole);
|
||||||
}
|
}
|
||||||
doctorService.insertOrUpdate(doctor);
|
doctorService.insertOrUpdate(doctor);
|
||||||
|
|||||||
+6
-1
@@ -7,7 +7,9 @@ import com.budwk.app.base.constant.RoleConstant;
|
|||||||
import com.budwk.app.base.page.Pagination;
|
import com.budwk.app.base.page.Pagination;
|
||||||
import com.budwk.app.base.param.PageForm;
|
import com.budwk.app.base.param.PageForm;
|
||||||
import com.budwk.app.base.result.Result;
|
import com.budwk.app.base.result.Result;
|
||||||
|
import com.budwk.app.sys.models.Sys_role;
|
||||||
import com.budwk.app.sys.models.Sys_user_role;
|
import com.budwk.app.sys.models.Sys_user_role;
|
||||||
|
import com.budwk.app.sys.services.SysRoleService;
|
||||||
import com.budwk.app.sys.views.View_user;
|
import com.budwk.app.sys.views.View_user;
|
||||||
import com.budwk.app.zhgh.staffbenefit.psychology.model.PsychologyDoctor;
|
import com.budwk.app.zhgh.staffbenefit.psychology.model.PsychologyDoctor;
|
||||||
import com.budwk.app.zhgh.staffbenefit.psychology.service.PsychologyDoctorService;
|
import com.budwk.app.zhgh.staffbenefit.psychology.service.PsychologyDoctorService;
|
||||||
@@ -46,6 +48,8 @@ public class PsychologyDoctorController {
|
|||||||
private Dao dao;
|
private Dao dao;
|
||||||
@Inject
|
@Inject
|
||||||
private PsychologyDoctorService doctorService;
|
private PsychologyDoctorService doctorService;
|
||||||
|
@Inject
|
||||||
|
private SysRoleService sysRoleService;
|
||||||
|
|
||||||
@At("")
|
@At("")
|
||||||
@SaCheckPermission("psychology.doctorManage")
|
@SaCheckPermission("psychology.doctorManage")
|
||||||
@@ -74,6 +78,7 @@ public class PsychologyDoctorController {
|
|||||||
@SaCheckPermission("psychology.doctorManage")
|
@SaCheckPermission("psychology.doctorManage")
|
||||||
@SLog(type = "psychology", tag = "新增/修改心理咨询师", msg = "新增/修改心理咨询师")
|
@SLog(type = "psychology", tag = "新增/修改心理咨询师", msg = "新增/修改心理咨询师")
|
||||||
public Object onSubmit(PsychologyDoctor doctor) {
|
public Object onSubmit(PsychologyDoctor doctor) {
|
||||||
|
Sys_role role = sysRoleService.getByCode(RoleConstant.PSYCHOLOGY_DOCTOR);
|
||||||
if(StrUtil.isBlank(doctor.getId())) {
|
if(StrUtil.isBlank(doctor.getId())) {
|
||||||
int count = doctorService.count(Cnd.where(PsychologyDoctor::getUserId, "=", doctor.getUserId()));
|
int count = doctorService.count(Cnd.where(PsychologyDoctor::getUserId, "=", doctor.getUserId()));
|
||||||
if(count > 0) {
|
if(count > 0) {
|
||||||
@@ -89,7 +94,7 @@ public class PsychologyDoctorController {
|
|||||||
//插入角色
|
//插入角色
|
||||||
Sys_user_role userRole = new Sys_user_role();
|
Sys_user_role userRole = new Sys_user_role();
|
||||||
userRole.setUserId(doctor.getUserId());
|
userRole.setUserId(doctor.getUserId());
|
||||||
userRole.setRoleId(RoleConstant.PSYCHOLOGY_DOCTOR.name());
|
userRole.setRoleId(role.getId());
|
||||||
dao.insert(userRole);
|
dao.insert(userRole);
|
||||||
}
|
}
|
||||||
doctorService.insertOrUpdate(doctor);
|
doctorService.insertOrUpdate(doctor);
|
||||||
|
|||||||
+48
@@ -0,0 +1,48 @@
|
|||||||
|
package com.budwk.app.zhgh.staffbenefit.recuperation.controller;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import com.budwk.app.base.result.Result;
|
||||||
|
import com.budwk.app.zhgh.staffbenefit.recuperation.service.RecuperationAuditService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nutz.dao.Dao;
|
||||||
|
import org.nutz.ioc.loader.annotation.Inject;
|
||||||
|
import org.nutz.ioc.loader.annotation.IocBean;
|
||||||
|
import org.nutz.lang.util.NutMap;
|
||||||
|
import org.nutz.mvc.annotation.At;
|
||||||
|
import org.nutz.mvc.annotation.Ok;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName RecuperationBranchUnionAuditController
|
||||||
|
* @Author JyuHsin
|
||||||
|
* @Date 2025/8/20 14:37
|
||||||
|
* @Version 1.0
|
||||||
|
* @Description TODO
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@IocBean
|
||||||
|
@At("/platform/recuperation/branchUnionAudit")
|
||||||
|
@Api("疗休养分工会审核")
|
||||||
|
@Ok("json:full")
|
||||||
|
public class RecuperationBranchUnionAuditController {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private Dao dao;
|
||||||
|
@Inject
|
||||||
|
private RecuperationAuditService auditService;
|
||||||
|
|
||||||
|
@At("")
|
||||||
|
@Ok("beetl:/platform/zhgh/staffbenefit/recuperation/branchUnionAudit/index.html")
|
||||||
|
@SaCheckLogin
|
||||||
|
public void index() {}
|
||||||
|
|
||||||
|
@At
|
||||||
|
@ApiOperation("分页查询")
|
||||||
|
@SaCheckLogin
|
||||||
|
public Result findOne(String id) {
|
||||||
|
NutMap nutMap = auditService.findOne(id);
|
||||||
|
return Result.success(nutMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
+52
-21
@@ -12,6 +12,8 @@ import com.budwk.app.base.annotation.SLog;
|
|||||||
import com.budwk.app.base.page.Pagination;
|
import com.budwk.app.base.page.Pagination;
|
||||||
import com.budwk.app.base.param.PageForm;
|
import com.budwk.app.base.param.PageForm;
|
||||||
import com.budwk.app.base.result.Result;
|
import com.budwk.app.base.result.Result;
|
||||||
|
import com.budwk.app.base.utils.CommonDownloadUtil;
|
||||||
|
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||||
import com.budwk.app.zhgh.staffbenefit.recuperation.constant.RecuperationState;
|
import com.budwk.app.zhgh.staffbenefit.recuperation.constant.RecuperationState;
|
||||||
import com.budwk.app.zhgh.staffbenefit.recuperation.model.RecuperationConfig;
|
import com.budwk.app.zhgh.staffbenefit.recuperation.model.RecuperationConfig;
|
||||||
import com.budwk.app.zhgh.staffbenefit.recuperation.model.RecuperationEnroll;
|
import com.budwk.app.zhgh.staffbenefit.recuperation.model.RecuperationEnroll;
|
||||||
@@ -183,7 +185,6 @@ public class RecuperationSchoolUnionUserQueryController {
|
|||||||
return Result.success(pagination);
|
return Result.success(pagination);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置出行人员
|
* 设置出行人员
|
||||||
*
|
*
|
||||||
@@ -283,6 +284,50 @@ public class RecuperationSchoolUnionUserQueryController {
|
|||||||
return Result.success(list);
|
return Result.success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@At
|
||||||
|
@Aop(TransAop.READ_COMMITTED)
|
||||||
|
@ApiOperation("修改报名信息")
|
||||||
|
@SaCheckPermission("recuperation.schoolUnionUserQuery")
|
||||||
|
@SLog(type = "recuperation", tag = "修改报名信息", msg = "修改报名信息")
|
||||||
|
public Result doEdit(RecuperationEnroll enroll) {
|
||||||
|
enroll.setNormal(true);
|
||||||
|
dao.updateIgnoreNull(enroll);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@At
|
||||||
|
@ApiOperation("获取分工会选择的线路")
|
||||||
|
@SaCheckPermission("recuperation.schoolUnionUserQuery")
|
||||||
|
public Result getUnionSelectLine() {
|
||||||
|
Sql sql = Sqls.create("""
|
||||||
|
SELECT
|
||||||
|
rlus.id,
|
||||||
|
rlus.unionId,
|
||||||
|
rlus.lineId,
|
||||||
|
rlus.selectUserId,
|
||||||
|
DATE_FORMAT( rlus.playStartTime, '%Y-%m-%d' ) AS playStartTime,
|
||||||
|
DATE_FORMAT( rlus.playEndTime, '%Y-%m-%d' ) AS playEndTime,
|
||||||
|
rl.lineName,
|
||||||
|
rl.regionalNature,
|
||||||
|
if(rlus.signUpMode=1,'分工会','校工会') AS signUpMode,
|
||||||
|
lot.lotName
|
||||||
|
FROM
|
||||||
|
`recuperation_line_select` rlus
|
||||||
|
LEFT JOIN `recuperation_line` rl ON rlus.lineId = rl.id
|
||||||
|
LEFT JOIN `recuperation_lot` lot ON rl.lotId = lot.id
|
||||||
|
$condition
|
||||||
|
""");
|
||||||
|
Cnd cnd = Cnd.NEW();
|
||||||
|
cnd.and(Cnd.exps("rlus.isOpen","=",1).or("rlus.unionId","=", SecurityUtil.getUnionId()));
|
||||||
|
cnd.and("YEAR(rlus.selectTime)","=",DateUtil.thisYear());
|
||||||
|
// cnd.and("rlus.signUpMode","=",signUpMode);
|
||||||
|
cnd.desc("lot.lotValue");
|
||||||
|
cnd.desc("rl.lineName");
|
||||||
|
sql.setCondition(cnd);
|
||||||
|
List<NutMap> listMap = enrollService.listMap(sql);
|
||||||
|
return Result.success(listMap);
|
||||||
|
}
|
||||||
|
|
||||||
@At
|
@At
|
||||||
@Ok("void")
|
@Ok("void")
|
||||||
@ApiOperation("导出")
|
@ApiOperation("导出")
|
||||||
@@ -394,18 +439,12 @@ public class RecuperationSchoolUnionUserQueryController {
|
|||||||
|
|
||||||
}
|
}
|
||||||
excelEntities.add(new ExcelExportEntity("备注", "bz", 20));
|
excelEntities.add(new ExcelExportEntity("备注", "bz", 20));
|
||||||
response.setContentType("application/octet-stream");
|
|
||||||
response.setHeader("Content-Disposition", "attachment;filename=" + new String(("报名人员.xlsx").getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1));
|
|
||||||
ExportParams exportParams = new ExportParams();
|
ExportParams exportParams = new ExportParams();
|
||||||
exportParams.setType(ExcelType.XSSF);
|
exportParams.setType(ExcelType.XSSF);
|
||||||
|
|
||||||
try {
|
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, excelEntities, list);
|
||||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, excelEntities, list);
|
CommonDownloadUtil.download("报名人员.xlsx", workbook, response);
|
||||||
workbook.write(response.getOutputStream());
|
|
||||||
workbook.close();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@At
|
@At
|
||||||
@@ -421,8 +460,7 @@ public class RecuperationSchoolUnionUserQueryController {
|
|||||||
u.sex,
|
u.sex,
|
||||||
u.mobile,
|
u.mobile,
|
||||||
u.unitname as unitName,
|
u.unitname as unitName,
|
||||||
u.name as unionName,
|
u.unionname as unionName
|
||||||
u.remark
|
|
||||||
from
|
from
|
||||||
activity_user_scope us
|
activity_user_scope us
|
||||||
left join vw_user u on u.id = us.userId
|
left join vw_user u on u.id = us.userId
|
||||||
@@ -448,16 +486,9 @@ public class RecuperationSchoolUnionUserQueryController {
|
|||||||
excelEntities.add(new ExcelExportEntity("所属单位", "unitName", 20));
|
excelEntities.add(new ExcelExportEntity("所属单位", "unitName", 20));
|
||||||
excelEntities.add(new ExcelExportEntity("所属工会", "unionName", 20));
|
excelEntities.add(new ExcelExportEntity("所属工会", "unionName", 20));
|
||||||
|
|
||||||
response.setContentType("application/octet-stream");
|
|
||||||
response.setHeader("Content-Disposition", "attachment;filename=" + new String((DateUtil.thisYear() + "未报名人员.xlsx").getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1));
|
|
||||||
ExportParams exportParams = new ExportParams();
|
ExportParams exportParams = new ExportParams();
|
||||||
exportParams.setType(ExcelType.XSSF);
|
exportParams.setType(ExcelType.XSSF);
|
||||||
try {
|
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, excelEntities, listMap);
|
||||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, excelEntities, listMap);
|
CommonDownloadUtil.download(DateUtil.thisYear() + "未报名人员.xlsx", workbook, response);
|
||||||
workbook.write(response.getOutputStream());
|
|
||||||
workbook.close();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+17
@@ -0,0 +1,17 @@
|
|||||||
|
package com.budwk.app.zhgh.staffbenefit.recuperation.service;
|
||||||
|
|
||||||
|
import com.budwk.app.base.service.BaseService;
|
||||||
|
import com.budwk.app.zhgh.staffbenefit.recuperation.model.RecuperationEnroll;
|
||||||
|
import org.nutz.lang.util.NutMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName RecuperationAuditService
|
||||||
|
* @Author JyuHsin
|
||||||
|
* @Date 2025/8/20 14:38
|
||||||
|
* @Version 1.0
|
||||||
|
* @Description TODO
|
||||||
|
*/
|
||||||
|
public interface RecuperationAuditService extends BaseService<RecuperationEnroll> {
|
||||||
|
|
||||||
|
NutMap findOne(String id);
|
||||||
|
}
|
||||||
+81
@@ -0,0 +1,81 @@
|
|||||||
|
package com.budwk.app.zhgh.staffbenefit.recuperation.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.budwk.app.base.model.Audit;
|
||||||
|
import com.budwk.app.base.service.impl.BaseServiceImpl;
|
||||||
|
import com.budwk.app.zhgh.staffbenefit.recuperation.model.RecuperationEnroll;
|
||||||
|
import com.budwk.app.zhgh.staffbenefit.recuperation.model.RecuperationEnrollBed;
|
||||||
|
import com.budwk.app.zhgh.staffbenefit.recuperation.model.RecuperationEnrollCompanion;
|
||||||
|
import com.budwk.app.zhgh.staffbenefit.recuperation.service.RecuperationAuditService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nutz.dao.Cnd;
|
||||||
|
import org.nutz.dao.Dao;
|
||||||
|
import org.nutz.dao.Sqls;
|
||||||
|
import org.nutz.dao.sql.Sql;
|
||||||
|
import org.nutz.ioc.loader.annotation.IocBean;
|
||||||
|
import org.nutz.lang.Strings;
|
||||||
|
import org.nutz.lang.util.NutMap;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName RecuperationAuditServiceImpl
|
||||||
|
* @Author JyuHsin
|
||||||
|
* @Date 2025/8/20 14:38
|
||||||
|
* @Version 1.0
|
||||||
|
* @Description TODO
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@IocBean(args = {"refer:dao"})
|
||||||
|
public class RecuperationAuditServiceImpl extends BaseServiceImpl<RecuperationEnroll> implements RecuperationAuditService {
|
||||||
|
|
||||||
|
public RecuperationAuditServiceImpl(Dao dao) {
|
||||||
|
super(dao);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public NutMap findOne(String id) {
|
||||||
|
Sql sql = Sqls.create("""
|
||||||
|
SELECT
|
||||||
|
lxs.travelAgencyName,
|
||||||
|
enroll.*,
|
||||||
|
line.lineName,
|
||||||
|
if(enroll.takePartInUnionId!=enroll.selfUnionId,true,false) isTransferIn,
|
||||||
|
(SELECT COUNT(1) FROM recuperation_enroll_companion WHERE trreId=enroll.id and relation='亲属') isFamily
|
||||||
|
FROM
|
||||||
|
`recuperation_enroll` enroll
|
||||||
|
LEFT JOIN recuperation_line_select lineu ON lineu.id = enroll.takePartInLineId
|
||||||
|
LEFT JOIN recuperation_line line ON line.id = lineu.lineId
|
||||||
|
LEFT JOIN recuperation_travel_agency lxs ON lxs.id = line.travelAgencyId
|
||||||
|
where enroll.id=@id
|
||||||
|
""").setParam("id", id);
|
||||||
|
sql.setCallback(Sqls.callback.map());
|
||||||
|
this.dao().execute(sql);
|
||||||
|
NutMap fetch = sql.getObject(NutMap.class);
|
||||||
|
NutMap map = NutMap.NEW();
|
||||||
|
if (Strings.isNotBlank(fetch.getString("selfUnionAuditId"))) {
|
||||||
|
Audit selfUnionAudit = dao().fetch(Audit.class, fetch.getString("selfUnionAuditId"));
|
||||||
|
fetch.setv("selfUnionAudit", selfUnionAudit);
|
||||||
|
}
|
||||||
|
if (Strings.isNotBlank(fetch.getString("joinLineUnionAuditId"))) {
|
||||||
|
Audit joinLineUnionAudit = dao().fetch(Audit.class, fetch.getString("joinLineUnionAuditId"));
|
||||||
|
fetch.setv("joinLineUnionAudit", joinLineUnionAudit);
|
||||||
|
}
|
||||||
|
if (Strings.isNotBlank(fetch.getString("schoolUnionAuditId"))) {
|
||||||
|
Audit schoolUnionAudit = dao().fetch(Audit.class, fetch.getString("schoolUnionAuditId"));
|
||||||
|
fetch.setv("schoolUnionAudit", schoolUnionAudit);
|
||||||
|
}
|
||||||
|
if (Strings.isNotBlank(fetch.getString("bedInfoId"))) {
|
||||||
|
RecuperationEnrollBed bedInfo = dao().fetch(RecuperationEnrollBed.class, fetch.getString("bedInfoId"));
|
||||||
|
fetch.setv("bedInfo", bedInfo);
|
||||||
|
}
|
||||||
|
List<RecuperationEnrollCompanion> companionList = dao().query(RecuperationEnrollCompanion.class, Cnd.where("trreId", "=", id));
|
||||||
|
companionList.forEach(v -> {
|
||||||
|
if(StrUtil.isNotBlank(v.getBedInfoId())) {
|
||||||
|
v.setBedInfo(dao().fetch(RecuperationEnrollBed.class, v.getBedInfoId()));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
map.addv("viewData", fetch.setv("companionList", companionList));
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -196,7 +196,10 @@ const signForm = {
|
|||||||
},
|
},
|
||||||
async validateSourceSignUp() {
|
async validateSourceSignUp() {
|
||||||
if (this.courseRow.courseIsLimitApply) {
|
if (this.courseRow.courseIsLimitApply) {
|
||||||
const resp = await $.post('/platform/mobile/familyActivity/validateSourceSignUp', {activityCourseId: this.formData.activityCourseId})
|
const resp = await $.post('/platform/mobile/familyActivity/validateSourceSignUp', {
|
||||||
|
activityCourseId: this.formData.activityCourseId,
|
||||||
|
courseId: this.courseRow.id
|
||||||
|
})
|
||||||
if (resp.code !== 0) {
|
if (resp.code !== 0) {
|
||||||
this.$message.warning(resp.msg)
|
this.$message.warning(resp.msg)
|
||||||
return false
|
return false
|
||||||
|
|||||||
@@ -155,7 +155,10 @@ const signForm = {
|
|||||||
this.$refs["form"].validate(async (valid) => {
|
this.$refs["form"].validate(async (valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.courseRow.courseIsLimitApply) {
|
if (this.courseRow.courseIsLimitApply) {
|
||||||
const resp = await this.$axios.post('/platform/mobile/trainSignUpActivity/validateSourceSignUp', {activityCourseId: this.formData.activityCourseId})
|
const resp = await this.$axios.post('/platform/mobile/trainSignUpActivity/validateSourceSignUp', {
|
||||||
|
activityCourseId: this.formData.activityCourseId,
|
||||||
|
courseId: this.courseRow.id
|
||||||
|
})
|
||||||
if (resp.code !== 0) {
|
if (resp.code !== 0) {
|
||||||
this.$message.warning(res.msg)
|
this.$message.warning(res.msg)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -1,340 +0,0 @@
|
|||||||
<div id="condolence-apply-form">
|
|
||||||
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="0" label-suffix=":" class="flow-task-form">
|
|
||||||
<el-descriptions :column="2" border>
|
|
||||||
<el-descriptions-item label="申请人姓名">{{formData.applyUserName}}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="申请人工号">{{formData.applyLoginName}}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="申请人单位">{{formData.applyUnitName}}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="申请人工会">{{formData.applyUnionName}}</el-descriptions-item>
|
|
||||||
|
|
||||||
<el-descriptions-item label="慰问对象">
|
|
||||||
<el-form-item prop="helpUserId" label="慰问对象">
|
|
||||||
<el-select
|
|
||||||
style="width: 100%"
|
|
||||||
v-model="formData.helpUserId"
|
|
||||||
filterable
|
|
||||||
clearable
|
|
||||||
remote
|
|
||||||
reserve-keyword
|
|
||||||
placeholder="请输入姓名或工号查询"
|
|
||||||
:remote-method="createRemoteMethod(helpUserOptions)"
|
|
||||||
@change="helpUserChange">
|
|
||||||
<el-option
|
|
||||||
v-for="item in helpUserOptions"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.userName+'('+item.loginName+')'+'('+item.unitName+')'+'('+item.sex+')'"
|
|
||||||
:value="item.id">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="收款人">
|
|
||||||
<el-form-item prop="payUserId" label="慰问对象">
|
|
||||||
<el-select
|
|
||||||
style="width: 100%"
|
|
||||||
v-model="formData.payUserId"
|
|
||||||
filterable
|
|
||||||
clearable
|
|
||||||
remote
|
|
||||||
reserve-keyword
|
|
||||||
placeholder="请输入姓名或工号查询"
|
|
||||||
:remote-method="createRemoteMethod(payUserOptions)"
|
|
||||||
@change="payUserChange">
|
|
||||||
<el-option
|
|
||||||
v-for="item in payUserOptions"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.userName+'('+item.loginName+')'+'('+item.unitName+')'+'('+item.sex+')'"
|
|
||||||
:value="item.id">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="慰问类型">
|
|
||||||
<el-select v-model="formData.type" @change="typeChange" style="width: 100%"
|
|
||||||
placeholder="请选择慰问类型">
|
|
||||||
<el-option v-for="item in typeOptions"
|
|
||||||
:value="item.id"
|
|
||||||
:key="item.id"
|
|
||||||
:disabled="item.isDisabled"
|
|
||||||
:label="item.name"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="慰问方式">
|
|
||||||
<el-form-item prop="way" label="慰问方式">
|
|
||||||
<el-select v-model="formData.way"
|
|
||||||
placeholder="选择慰问类型自动匹配慰问方式"
|
|
||||||
style="width: 100%"
|
|
||||||
clearable
|
|
||||||
disabled>
|
|
||||||
<el-option label="慰问金 (A)" value="1"></el-option>
|
|
||||||
<el-option label="提货券 (B)" value="2"></el-option>
|
|
||||||
<el-option label="慰问品 (C)" value="3"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="慰问金额">
|
|
||||||
<el-form-item prop="money" label="慰问金额">
|
|
||||||
<el-input style="width: 100%" v-model="formData.money"
|
|
||||||
controls-position="right"
|
|
||||||
:controls="false"
|
|
||||||
precision="2"
|
|
||||||
placeholder="选择慰问类型自动匹配金额"
|
|
||||||
:min="0"
|
|
||||||
:max="10000"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="慰问时间">
|
|
||||||
<el-form-item label="慰问时间" prop="occurTime">
|
|
||||||
<el-date-picker
|
|
||||||
clearable
|
|
||||||
style="width: 100%"
|
|
||||||
v-model="formData.occurTime"
|
|
||||||
type="date"
|
|
||||||
value-format="yyyy-MM-dd"
|
|
||||||
placeholder="请选择慰问时间">
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
|
|
||||||
<template v-if="['2'].includes(formData.type)">
|
|
||||||
<el-descriptions-item label="孩次">
|
|
||||||
<el-form-item prop="child" label="孩次">
|
|
||||||
<el-select v-model="formData.child" placeholder="请选择孩次"
|
|
||||||
style="width: 100%"
|
|
||||||
clearable>
|
|
||||||
<el-option label="一孩" value="一孩"></el-option>
|
|
||||||
<el-option label="二孩" value="二孩"></el-option>
|
|
||||||
<el-option label="三孩" value="三孩"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
</template>
|
|
||||||
<template v-if="['3','4'].includes(formData.type)">
|
|
||||||
<el-descriptions-item label="治疗医院">
|
|
||||||
<el-form-item prop="hospital" label="治疗医院">
|
|
||||||
<el-input v-model="formData.hospital" maxlength="50" placeholder="请填写治疗医院"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="病房号">
|
|
||||||
<el-form-item prop="hospitalHouseNum" label="病房号">
|
|
||||||
<el-input v-model="formData.hospitalHouseNum" maxlength="50" placeholder="请填写病房号" type="number"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="床号">
|
|
||||||
<el-form-item prop="hospitalHouseBedNum" label="床号">
|
|
||||||
<el-input v-model="formData.hospitalHouseBedNum" maxlength="50" placeholder="请填写床号" type="number"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
</template>
|
|
||||||
<template v-if="['4'].includes(formData.type)">
|
|
||||||
<el-descriptions-item label="患病病种">
|
|
||||||
<el-form-item prop="hospitalBy" label="患病病种">
|
|
||||||
<el-input v-model="formData.hospitalBy" maxlength="50" placeholder="请填写患病病种"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
</template>
|
|
||||||
<template v-if="['6'].includes(formData.type)">
|
|
||||||
<el-descriptions-item label="直系亲属">
|
|
||||||
<el-form-item prop="deadImmediateFamily" label="直系亲属">
|
|
||||||
<el-select v-model="formData.deadImmediateFamily">
|
|
||||||
<el-option label="配偶" value="配偶"></el-option>
|
|
||||||
<el-option label="父亲" value="父亲"></el-option>
|
|
||||||
<el-option label="母亲" value="母亲"></el-option>
|
|
||||||
<el-option label="子女" value="子女"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<el-descriptions-item label="申请事由" :span="2">
|
|
||||||
<el-form-item prop="remark" label="申请事由">
|
|
||||||
<el-input maxlength="500" v-model="formData.remark" placeholder="请填写申请事由"
|
|
||||||
type="textarea" :autosize="{ minRows: 4, maxRows: 8}"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
|
|
||||||
<el-descriptions-item :span="2" v-if="chooseType.isUploadFile === true">
|
|
||||||
<template slot="label">
|
|
||||||
附件
|
|
||||||
<el-tooltip class="item" effect="dark" :content="'上传附件说明:' + chooseType.uploadFileDesc"
|
|
||||||
placement="top-start"
|
|
||||||
v-if="chooseType.isUploadFile && chooseType.uploadFileDesc">
|
|
||||||
<i class="el-icon-question"></i>
|
|
||||||
</el-tooltip>
|
|
||||||
</template>
|
|
||||||
<el-form-item prop="files" label="附件">
|
|
||||||
<file-upload
|
|
||||||
:value.sync="formData.files"
|
|
||||||
:upload_number="5"
|
|
||||||
upload_result_category="array"
|
|
||||||
complete_result
|
|
||||||
upload_mode="drag"
|
|
||||||
></file-upload>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
|
|
||||||
<el-descriptions-item label="签字" :span="2">
|
|
||||||
<el-form-item prop="signature" label="签字">
|
|
||||||
<pc-signature v-model="formData.signature"></pc-signature>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
</el-descriptions>
|
|
||||||
</el-form>
|
|
||||||
<snaker-flow-task-form-action @task-action="handleTaskAction" @save-draft="handleSaveDraft" @cancel="handleCancel"></snaker-flow-task-form-action>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
new Vue({
|
|
||||||
el: "#condolence-apply-form",
|
|
||||||
store,
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
id: GetQueryString("businessId"),
|
|
||||||
taskId: GetQueryString("taskId"),
|
|
||||||
instanceId: GetQueryString("instanceId"),
|
|
||||||
formData: {},
|
|
||||||
formRules: {
|
|
||||||
helpUserId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
payUserId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
type: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
way: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
money: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
occurTime: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
child: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
hospital: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
hospitalHouseNum: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
hospitalHouseBedNum: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
hospitalBy: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
deadImmediateFamily: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
remark: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
files: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
signature: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
|
||||||
},
|
|
||||||
chooseType: {},
|
|
||||||
payUserOptions: [],
|
|
||||||
helpUserOptions: [],
|
|
||||||
typeOptions: [],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
createRemoteMethod(options) {
|
|
||||||
return (keyword) => {
|
|
||||||
this.selectQueryUser(keyword, options)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
selectQueryUser(keyword, options) {
|
|
||||||
options.length = 0
|
|
||||||
this.$axios.post("/platform/condolence/apply/listUser", { keyword: keyword }).then((res) => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
options.push(...res.data)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
helpUserChange(val) {
|
|
||||||
const user = this.helpUserOptions.find(o => o.id === val)
|
|
||||||
if(user) {
|
|
||||||
const { userName, loginName, unitId, unitName, unionId, unionName } = user
|
|
||||||
this.$set(this.formData, "helpUserName", userName)
|
|
||||||
this.$set(this.formData, "helpLoginName", loginName)
|
|
||||||
this.$set(this.formData, "helpUnitId", unitId)
|
|
||||||
this.$set(this.formData, "helpUnitName", unitName)
|
|
||||||
this.$set(this.formData, "helpUnionId", unionId)
|
|
||||||
this.$set(this.formData, "helpUnionName", unionName)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
payUserChange(val) {
|
|
||||||
const user = this.payUserOptions.find(o => o.id === val)
|
|
||||||
if(user) {
|
|
||||||
const { userName, loginName } = user
|
|
||||||
this.$set(this.formData, "payUserName", userName)
|
|
||||||
this.$set(this.formData, "payLoginName", loginName)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
typeChange(id) {
|
|
||||||
this.chooseType = this.typeOptions.find(o => o.id === id)
|
|
||||||
if (this.chooseType) {
|
|
||||||
this.$set(this.formData, "money", this.chooseType.money)
|
|
||||||
this.$set(this.formData, "way", this.chooseType.way)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
init() {
|
|
||||||
if (this.id) {
|
|
||||||
this.$axios.post("/platform/condolence/view/info", { id: this.id }).then((res) => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
this.formData = res.data
|
|
||||||
}
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
const { username, loginname, id, unit, union, mobile } = this.$store.state.user
|
|
||||||
this.formData = {
|
|
||||||
applyUserName: username,
|
|
||||||
applyLoginName: loginname,
|
|
||||||
applyUserId: id,
|
|
||||||
applyUnitId: unit?.id,
|
|
||||||
applyUnitName: unit?.name,
|
|
||||||
applyUnionId: union?.id,
|
|
||||||
applyUnionName: union?.name,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
handleTaskAction(val) {
|
|
||||||
this.$refs.formRef.validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$axios
|
|
||||||
.post("/flow/common/startInstanceAndExecute", {
|
|
||||||
...val,
|
|
||||||
bizData: JSON.stringify(this.formData)
|
|
||||||
})
|
|
||||||
.then((res) => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
this.$message.success(res.msg)
|
|
||||||
// 发送完成消息
|
|
||||||
window.parent.postMessage(
|
|
||||||
{
|
|
||||||
type: "task-complete"
|
|
||||||
},
|
|
||||||
"*"
|
|
||||||
)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
handleSaveDraft(val) {
|
|
||||||
this.$refs.formRef.validateField(["helpUserId"], (errMsg) => {
|
|
||||||
if (errMsg) {
|
|
||||||
this.$message.warning("请选择慰问对象")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.$axios
|
|
||||||
.post("/flow/common/startInstance", {
|
|
||||||
...val,
|
|
||||||
bizData: JSON.stringify(this.formData)
|
|
||||||
})
|
|
||||||
.then((res) => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
this.$message.success(res.msg)
|
|
||||||
// 发送完成消息
|
|
||||||
window.parent.postMessage(
|
|
||||||
{
|
|
||||||
type: "task-complete"
|
|
||||||
},
|
|
||||||
"*"
|
|
||||||
)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
handleCancel() {window.close()},
|
|
||||||
queryCondolenceType() {
|
|
||||||
this.$axios.post('/platform/condolence/type/queryCondolenceType')
|
|
||||||
.then((resp) => {
|
|
||||||
this.typeOptions = resp.data
|
|
||||||
})
|
|
||||||
},
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.queryCondolenceType()
|
|
||||||
this.init()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
@@ -2,162 +2,355 @@
|
|||||||
layout("/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
|
||||||
<guava ref="guava">
|
<div id="app" v-cloak>
|
||||||
<div id="app">
|
<el-card shadow="never">
|
||||||
<el-card shadow="never">
|
<snaker-start slot="header" label="职工慰问" define_key="ZGWW"></snaker-start>
|
||||||
<search @search="doSearch">
|
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="0" label-suffix=":" class="flow-task-form">
|
||||||
<search-item label="年度">
|
<el-descriptions :column="2" border>
|
||||||
<el-date-picker
|
<el-descriptions-item label="申请人姓名">{{formData.applyUserName}}</el-descriptions-item>
|
||||||
v-model="pageForm.year"
|
<el-descriptions-item label="申请人工号">{{formData.applyLoginName}}</el-descriptions-item>
|
||||||
type="year"
|
<el-descriptions-item label="申请人单位">{{formData.applyUnitName}}</el-descriptions-item>
|
||||||
value-format="yyyy"
|
<el-descriptions-item label="申请人工会">{{formData.applyUnionName}}</el-descriptions-item>
|
||||||
placeholder="年度"
|
|
||||||
style="width: 100%"
|
|
||||||
@change="doSearch"
|
|
||||||
></el-date-picker>
|
|
||||||
</search-item>
|
|
||||||
<search-item label="姓名/工号">
|
|
||||||
<el-input placeholder="请输入慰问对象姓名或工号查询" clearable v-model="pageForm.searchKeyword"
|
|
||||||
@keyup.enter.native="doSearch">
|
|
||||||
</el-input>
|
|
||||||
</search-item>
|
|
||||||
<search-item label="慰问类型">
|
|
||||||
<el-select v-model="pageForm.type" @change="doSearch" style="width: 100%"
|
|
||||||
placeholder="请选择慰问类型">
|
|
||||||
<el-option v-for="item in typeOptions"
|
|
||||||
:value="item.id"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.name"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
|
||||||
</search-item>
|
|
||||||
</search>
|
|
||||||
</el-card>
|
|
||||||
|
|
||||||
<el-card shadow="never">
|
<el-descriptions-item label="慰问对象">
|
||||||
<table-tool label="申请列表">
|
<el-form-item prop="helpUserId" label="慰问对象">
|
||||||
<el-button type="primary" size="small" @click="onAdd">
|
<el-select
|
||||||
<i class="ti-plus"></i>
|
style="width: 100%"
|
||||||
新增申请
|
v-model="formData.helpUserId"
|
||||||
</el-button>
|
filterable
|
||||||
</table-tool>
|
clearable
|
||||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
remote
|
||||||
<el-table-column type="index" width="50px" label="序号" :index="indexMethod"></el-table-column>
|
reserve-keyword
|
||||||
<el-table-column
|
placeholder="请输入姓名或工号查询"
|
||||||
:label="column.label"
|
:remote-method="createRemoteMethod(helpUserOptions)"
|
||||||
:prop="column.prop"
|
@change="helpUserChange">
|
||||||
:key="column.prop"
|
<el-option
|
||||||
:width="column.width"
|
v-for="item in helpUserOptions"
|
||||||
:sortable="column.sortable"
|
:key="item.id"
|
||||||
align="center"
|
:label="item.userName+'('+item.loginName+')'+'('+item.unitName+')'+'('+item.sex+')'"
|
||||||
header-align="center"
|
:value="item.id">
|
||||||
show-overflow-tooltip
|
</el-option>
|
||||||
v-for="column in tableColumns"
|
</el-select>
|
||||||
>
|
</el-form-item>
|
||||||
<template v-slot="{ row }" v-if="column.prop === 'instanceState'">
|
</el-descriptions-item>
|
||||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message" size="small"></enum-tag>
|
<el-descriptions-item label="收款人">
|
||||||
</template>
|
<el-form-item prop="payUserId" label="慰问对象">
|
||||||
</el-table-column>
|
<el-select
|
||||||
<el-table-column label="操作" fixed="right" width="300">
|
style="width: 100%"
|
||||||
<template slot-scope="{row}">
|
v-model="formData.payUserId"
|
||||||
<el-button @click="onOpen(row)" size="mini" type="primary">查看</el-button>
|
filterable
|
||||||
<el-button v-if="row.taskKey === 'startTask'" @click="onEdit(row)" size="mini" type="primary">编辑</el-button>
|
clearable
|
||||||
<el-button v-if="row.canRevoke" size="mini" type="danger" @click="onRevoke(row)">撤回</el-button>
|
remote
|
||||||
<el-button v-if="row.taskKey === 'startTask'" @click="onDelete(row.id)" size="mini" type="danger">
|
reserve-keyword
|
||||||
删除
|
placeholder="请输入姓名或工号查询"
|
||||||
</el-button>
|
:remote-method="createRemoteMethod(payUserOptions)"
|
||||||
</template>
|
@change="payUserChange">
|
||||||
</el-table-column>
|
<el-option
|
||||||
</el-table>
|
v-for="item in payUserOptions"
|
||||||
<!--#include("/layouts/pagination.html"){}#-->
|
:key="item.id"
|
||||||
</el-card>
|
:label="item.userName+'('+item.loginName+')'+'('+item.unitName+')'+'('+item.sex+')'"
|
||||||
</div>
|
:value="item.id">
|
||||||
</guava>
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="慰问类型">
|
||||||
|
<el-select v-model="formData.type" @change="typeChange" style="width: 100%"
|
||||||
|
placeholder="请选择慰问类型">
|
||||||
|
<el-option v-for="item in typeOptions"
|
||||||
|
:value="item.id"
|
||||||
|
:key="item.id"
|
||||||
|
:disabled="item.isDisabled"
|
||||||
|
:label="item.name"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="慰问方式">
|
||||||
|
<el-form-item prop="way" label="慰问方式">
|
||||||
|
<el-select v-model="formData.way"
|
||||||
|
placeholder="选择慰问类型自动匹配慰问方式"
|
||||||
|
style="width: 100%"
|
||||||
|
clearable
|
||||||
|
disabled>
|
||||||
|
<el-option label="慰问金 (A)" value="1"></el-option>
|
||||||
|
<el-option label="提货券 (B)" value="2"></el-option>
|
||||||
|
<el-option label="慰问品 (C)" value="3"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="慰问金额">
|
||||||
|
<el-form-item prop="money" label="慰问金额">
|
||||||
|
<el-input style="width: 100%" v-model="formData.money"
|
||||||
|
controls-position="right"
|
||||||
|
:controls="false"
|
||||||
|
precision="2"
|
||||||
|
placeholder="选择慰问类型自动匹配金额"
|
||||||
|
:min="0"
|
||||||
|
:max="10000"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="慰问时间">
|
||||||
|
<el-form-item label="慰问时间" prop="occurTime">
|
||||||
|
<el-date-picker
|
||||||
|
clearable
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="formData.occurTime"
|
||||||
|
type="date"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
placeholder="请选择慰问时间">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
|
||||||
|
<template v-if="['2'].includes(formData.type)">
|
||||||
|
<el-descriptions-item label="孩次">
|
||||||
|
<el-form-item prop="child" label="孩次">
|
||||||
|
<el-select v-model="formData.child" placeholder="请选择孩次"
|
||||||
|
style="width: 100%"
|
||||||
|
clearable>
|
||||||
|
<el-option label="一孩" value="一孩"></el-option>
|
||||||
|
<el-option label="二孩" value="二孩"></el-option>
|
||||||
|
<el-option label="三孩" value="三孩"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="['3','4'].includes(formData.type)">
|
||||||
|
<el-descriptions-item label="治疗医院">
|
||||||
|
<el-form-item prop="hospital" label="治疗医院">
|
||||||
|
<el-input v-model="formData.hospital" maxlength="50" placeholder="请填写治疗医院"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="病房号">
|
||||||
|
<el-form-item prop="hospitalHouseNum" label="病房号">
|
||||||
|
<el-input v-model="formData.hospitalHouseNum" maxlength="50" placeholder="请填写病房号" type="number"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="床号">
|
||||||
|
<el-form-item prop="hospitalHouseBedNum" label="床号">
|
||||||
|
<el-input v-model="formData.hospitalHouseBedNum" maxlength="50" placeholder="请填写床号" type="number"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="['4'].includes(formData.type)">
|
||||||
|
<el-descriptions-item label="患病病种">
|
||||||
|
<el-form-item prop="hospitalBy" label="患病病种">
|
||||||
|
<el-input v-model="formData.hospitalBy" maxlength="50" placeholder="请填写患病病种"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="['6'].includes(formData.type)">
|
||||||
|
<el-descriptions-item label="直系亲属">
|
||||||
|
<el-form-item prop="deadImmediateFamily" label="直系亲属">
|
||||||
|
<el-select v-model="formData.deadImmediateFamily">
|
||||||
|
<el-option label="配偶" value="配偶"></el-option>
|
||||||
|
<el-option label="父亲" value="父亲"></el-option>
|
||||||
|
<el-option label="母亲" value="母亲"></el-option>
|
||||||
|
<el-option label="子女" value="子女"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<el-descriptions-item label="申请事由" :span="2">
|
||||||
|
<el-form-item prop="remark" label="申请事由">
|
||||||
|
<el-input maxlength="500" v-model="formData.remark" placeholder="请填写申请事由"
|
||||||
|
type="textarea" :autosize="{ minRows: 4, maxRows: 8}"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
|
||||||
|
<el-descriptions-item :span="2" v-if="chooseType.isUploadFile === true">
|
||||||
|
<template slot="label">
|
||||||
|
附件
|
||||||
|
<el-tooltip class="item" effect="dark" :content="'上传附件说明:' + chooseType.uploadFileDesc"
|
||||||
|
placement="top-start"
|
||||||
|
v-if="chooseType.isUploadFile && chooseType.uploadFileDesc">
|
||||||
|
<i class="el-icon-question"></i>
|
||||||
|
</el-tooltip>
|
||||||
|
</template>
|
||||||
|
<el-form-item prop="files" label="附件">
|
||||||
|
<file-upload
|
||||||
|
:value.sync="formData.files"
|
||||||
|
:upload_number="5"
|
||||||
|
upload_result_category="array"
|
||||||
|
complete_result
|
||||||
|
upload_mode="drag"
|
||||||
|
></file-upload>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
|
||||||
|
<el-descriptions-item label="签字" :span="2">
|
||||||
|
<el-form-item prop="signature" label="签字">
|
||||||
|
<pc-signature v-model="formData.signature"></pc-signature>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</el-form>
|
||||||
|
<el-row type="flex" justify="end" class="mt20">
|
||||||
|
<el-button type="primary" plain @click="onSave">保存</el-button>
|
||||||
|
<el-button type="primary" @click="onSubmit" v-if="!taskId">提交</el-button>
|
||||||
|
<el-button type="primary" @click="onFinishTask" v-else>提交1</el-button>
|
||||||
|
</el-row>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
new Vue({
|
new Vue({
|
||||||
el: "#app",
|
el: "#app",
|
||||||
store,
|
store,
|
||||||
mixins: [initTableMixins],
|
data() {
|
||||||
data() {
|
return {
|
||||||
return {
|
id: GetQueryString("bizId"),
|
||||||
typeOptions: [],
|
taskId: GetQueryString("taskId"),
|
||||||
tableColumns: [
|
formData: {},
|
||||||
{prop: 'helpUserName', label: '慰问对象'},
|
formRules: {
|
||||||
{prop: 'helpLoginName', label: '慰问对象工号'},
|
helpUserId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
{prop: 'applyUserName', label: '申请人'},
|
payUserId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
{prop: 'applyUnionName', label: '所属工会'},
|
type: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
{prop: 'applyUnitName', label: '所属单位'},
|
way: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
{prop: 'typeName', label: '慰问类型'},
|
money: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
{prop: 'taskName', label: '当前节点'},
|
occurTime: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
{prop: 'instanceState', label: '流程状态'},
|
child: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
],
|
hospital: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
}
|
hospitalHouseNum: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
|
hospitalHouseBedNum: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
|
hospitalBy: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
|
deadImmediateFamily: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
|
remark: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
|
files: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
|
signature: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
},
|
},
|
||||||
methods: {
|
chooseType: {},
|
||||||
onAdd() {
|
payUserOptions: [],
|
||||||
window.open("/flow/common/approval/form?defineKey=ZGWW")
|
helpUserOptions: [],
|
||||||
},
|
typeOptions: [],
|
||||||
onOpen(row) {
|
}
|
||||||
window.open(
|
},
|
||||||
"/flow/common/approval/form?instanceId=" +
|
methods: {
|
||||||
(row.instanceId || "") +
|
createRemoteMethod(options) {
|
||||||
"&businessId=" +
|
return (keyword) => {
|
||||||
row.id +
|
this.selectQueryUser(keyword, options)
|
||||||
"&defineKey=ZGWW"
|
|
||||||
)
|
|
||||||
},
|
|
||||||
onEdit(row) {
|
|
||||||
window.open(
|
|
||||||
"/flow/common/approval/form?taskId=" +
|
|
||||||
(row.taskId || "") +
|
|
||||||
"&instanceId=" +
|
|
||||||
(row.instanceId || "") +
|
|
||||||
"&businessId=" +
|
|
||||||
row.id +
|
|
||||||
"&defineKey=ZGWW"
|
|
||||||
)
|
|
||||||
},
|
|
||||||
onRevoke(row) {
|
|
||||||
this.$confirm("您确定要撤回吗?", "提示", {
|
|
||||||
confirmButtonText: "确定",
|
|
||||||
cancelButtonText: "取消",
|
|
||||||
type: "warning"
|
|
||||||
}).then(() => {
|
|
||||||
this.$axios.post("/flow/common/revokeTask", { taskId: row.startTaskId }).then((res) => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
this.$message.success(res.msg)
|
|
||||||
this.pageData()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
onDelete(id) {
|
|
||||||
this.$confirm("您确定要删除吗?", "提示", {
|
|
||||||
confirmButtonText: "确定",
|
|
||||||
cancelButtonText: "取消",
|
|
||||||
type: "warning"
|
|
||||||
}).then(() => {
|
|
||||||
this.$axios.post("/platform/condolence/apply/delete", { id }).then((res) => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
this.$message.success(res.msg)
|
|
||||||
this.pageData()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
queryCondolenceType() {
|
|
||||||
this.$axios.post('/platform/condolence/type/queryCondolenceType')
|
|
||||||
.then((resp) => {
|
|
||||||
this.typeOptions = resp.data
|
|
||||||
})
|
|
||||||
},
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.queryCondolenceType()
|
|
||||||
this.pageData()
|
|
||||||
}
|
}
|
||||||
})
|
},
|
||||||
|
selectQueryUser(keyword, options) {
|
||||||
|
options.length = 0
|
||||||
|
this.$axios.post("/platform/condolence/apply/listUser", { keyword: keyword }).then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
options.push(...res.data)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
helpUserChange(val) {
|
||||||
|
const user = this.helpUserOptions.find(o => o.id === val)
|
||||||
|
if(user) {
|
||||||
|
const { userName, loginName, unitId, unitName, unionId, unionName } = user
|
||||||
|
this.$set(this.formData, "helpUserName", userName)
|
||||||
|
this.$set(this.formData, "helpLoginName", loginName)
|
||||||
|
this.$set(this.formData, "helpUnitId", unitId)
|
||||||
|
this.$set(this.formData, "helpUnitName", unitName)
|
||||||
|
this.$set(this.formData, "helpUnionId", unionId)
|
||||||
|
this.$set(this.formData, "helpUnionName", unionName)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
payUserChange(val) {
|
||||||
|
const user = this.payUserOptions.find(o => o.id === val)
|
||||||
|
if(user) {
|
||||||
|
const { userName, loginName } = user
|
||||||
|
this.$set(this.formData, "payUserName", userName)
|
||||||
|
this.$set(this.formData, "payLoginName", loginName)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
typeChange(id) {
|
||||||
|
this.chooseType = this.typeOptions.find(o => o.id === id)
|
||||||
|
if (this.chooseType) {
|
||||||
|
this.$set(this.formData, "money", this.chooseType.money)
|
||||||
|
this.$set(this.formData, "way", this.chooseType.way)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onSave() {
|
||||||
|
this.$confirm("您确定保存吗?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning"
|
||||||
|
}).then(() => {
|
||||||
|
this.$axios.post('/platform/condolence/apply/save', {data: JSON.stringify(this.formData)}).then(res => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$message.success(res.msg)
|
||||||
|
window.location.href = '/platform/condolence/mine'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onSubmit() {
|
||||||
|
this.$confirm("您确定要提交吗?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning"
|
||||||
|
}).then(() => {
|
||||||
|
this.$axios.post('/platform/condolence/apply/submit', {
|
||||||
|
data: JSON.stringify(this.formData),
|
||||||
|
taskId: GetQueryString("taskId")
|
||||||
|
}).then(res => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$message.success(res.msg)
|
||||||
|
window.location.href = '/platform/condolence/mine'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onFinishTask() {
|
||||||
|
this.$confirm("您确定要提交吗?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning"
|
||||||
|
}).then(() => {
|
||||||
|
this.$axios.post('/flow/common/executeTask', {
|
||||||
|
data: JSON.stringify({
|
||||||
|
processTaskId: GetQueryString("taskId"),
|
||||||
|
submitType: 5
|
||||||
|
})
|
||||||
|
}).then(res => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$message.success(res.msg)
|
||||||
|
window.location.href = '/platform/condolence/mine'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
init() {
|
||||||
|
if (this.id) {
|
||||||
|
this.$axios.post("/platform/condolence/mine/info", { id: this.id }).then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.formData = res.data
|
||||||
|
this.selectQueryUser(this.formData.helpLoginName, this.helpUserOptions)
|
||||||
|
this.selectQueryUser(this.formData.payLoginName, this.payUserOptions)
|
||||||
|
this.chooseType = this.typeOptions.find(o => o.id === this.formData.type)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
const { username, loginname, id, unit, union, mobile } = this.$store.state.user
|
||||||
|
this.formData = {
|
||||||
|
applyUserName: username,
|
||||||
|
applyLoginName: loginname,
|
||||||
|
applyUserId: id,
|
||||||
|
applyUnitId: unit?.id,
|
||||||
|
applyUnitName: unit?.name,
|
||||||
|
applyUnionId: union?.id,
|
||||||
|
applyUnionName: union?.name,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
queryCondolenceType() {
|
||||||
|
this.$axios.post('/platform/condolence/type/queryCondolenceType')
|
||||||
|
.then((resp) => {
|
||||||
|
this.typeOptions = resp.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.queryCondolenceType()
|
||||||
|
this.init()
|
||||||
|
}
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!--#
|
<!--#
|
||||||
|
|||||||
+84
-16
@@ -2,8 +2,8 @@
|
|||||||
layout("/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
|
||||||
<guava ref="guava">
|
<div id="app">
|
||||||
<div id="app">
|
<guava ref="guava">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<search @search="doSearch">
|
<search @search="doSearch">
|
||||||
<search-item label="年度">
|
<search-item label="年度">
|
||||||
@@ -60,21 +60,49 @@ layout("/layouts/platform.html"){
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" width="300px">
|
<el-table-column label="操作" fixed="right" width="300px">
|
||||||
<template slot-scope="{row}">
|
<template slot-scope="{row}">
|
||||||
<el-button @click="onOpen(row)" size="mini" type="primary">查看</el-button>
|
<el-button @click="onView(row)" size="mini" type="primary">查看</el-button>
|
||||||
<el-button v-if="row.taskState === 10" @click="openApproval(row)" size="mini" type="primary">审核</el-button>
|
<el-button v-if="row.taskState === 10" @click="onAudit(row)" size="mini" type="primary">审核</el-button>
|
||||||
|
<el-button v-if="row.canRevoke" @click="onRevoke(row)" size="mini" type="danger">撤回</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<!--#include("/layouts/pagination.html"){}#-->
|
<!--#include("/layouts/pagination.html"){}#-->
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
|
||||||
</guava>
|
<template #edit>
|
||||||
|
<condolence-info ref="condolenceInfoRef">
|
||||||
|
<div v-if="showApprovalForm">
|
||||||
|
<div class="process-title">
|
||||||
|
{{formData.taskName}}
|
||||||
|
</div>
|
||||||
|
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="0" label-suffix=":"
|
||||||
|
class="flow-task-form">
|
||||||
|
<el-form-item label="审批意见" prop="tf_opinion"
|
||||||
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
|
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-row type="flex" justify="end">
|
||||||
|
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
||||||
|
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到发起人</el-button>
|
||||||
|
<el-button @click="handleTaskAction(2)" size="small" type="danger">拒绝申请</el-button>
|
||||||
|
<el-button @click="handleTaskAction(1)" size="small" type="primary">同意申请</el-button>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</condolence-info>
|
||||||
|
</template>
|
||||||
|
</guava>
|
||||||
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
<!--#include('../common/info.js'){}#-->
|
||||||
new Vue({
|
new Vue({
|
||||||
el: "#app",
|
el: "#app",
|
||||||
store,
|
store,
|
||||||
mixins: [initTableMixins],
|
mixins: [initTableMixins],
|
||||||
|
components: {
|
||||||
|
"condolence-info": condolenceInfo
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pageForm: {
|
pageForm: {
|
||||||
@@ -91,20 +119,60 @@ layout("/layouts/platform.html"){
|
|||||||
{prop: 'taskName', label: '当前节点'},
|
{prop: 'taskName', label: '当前节点'},
|
||||||
{prop: 'instanceState', label: '流程状态'},
|
{prop: 'instanceState', label: '流程状态'},
|
||||||
],
|
],
|
||||||
|
formData: {},
|
||||||
|
showApprovalForm: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onOpen(row) {
|
onView(row) {
|
||||||
window.open(
|
this.$refs.guava.edit(()=>{
|
||||||
"/flow/common/approval/form?instanceId=" +
|
this.showApprovalForm = false
|
||||||
(row.instanceId || "") +
|
this.$refs.condolenceInfoRef.onOpen(row)
|
||||||
"&businessId=" +
|
})
|
||||||
row.id +
|
|
||||||
"&defineKey=ZGWW"
|
|
||||||
)
|
|
||||||
},
|
},
|
||||||
openApproval(row) {
|
onAudit(row) {
|
||||||
window.open("/flow/common/approval/form?taskId=" + row.taskId + "&instanceId=" + row.instanceId + "&businessId=" + row.businessNo)
|
this.$refs.guava.edit(()=>{
|
||||||
|
this.showApprovalForm = true
|
||||||
|
this.formData = {
|
||||||
|
processTaskId: row.taskId,
|
||||||
|
taskName: row.curTaskName
|
||||||
|
}
|
||||||
|
this.$refs.condolenceInfoRef.onOpen(row)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleTaskAction(val) {
|
||||||
|
this.$confirm("您确定要提交吗?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning"
|
||||||
|
}).then(() => {
|
||||||
|
this.$axios.post("/flow/common/executeTask", {
|
||||||
|
data: JSON.stringify({
|
||||||
|
...this.formData,
|
||||||
|
submitType: val
|
||||||
|
})
|
||||||
|
}).then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$refs.guava.index()
|
||||||
|
this.$message.success(res.msg)
|
||||||
|
this.doSearch()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onRevoke(row) {
|
||||||
|
this.$confirm("您确定要撤回吗?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "info"
|
||||||
|
}).then(() => {
|
||||||
|
this.$axios.post("/flow/common/revokeTask", {taskId: row.taskId}).then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$message.success(res.msg)
|
||||||
|
this.doSearch()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
},
|
},
|
||||||
queryCondolenceType() {
|
queryCondolenceType() {
|
||||||
this.$axios.post('/platform/condolence/type/queryCondolenceType')
|
this.$axios.post('/platform/condolence/type/queryCondolenceType')
|
||||||
|
|||||||
@@ -0,0 +1,109 @@
|
|||||||
|
const condolenceInfo = {
|
||||||
|
template: /*language=HTML*/ `
|
||||||
|
<div>
|
||||||
|
<div class="process-title">
|
||||||
|
申请信息
|
||||||
|
<el-link type="primary" @click="openChart">点击查看流程图</el-link>
|
||||||
|
</div>
|
||||||
|
<el-descriptions :column="2" border>
|
||||||
|
<el-descriptions-item label="申请人姓名">{{ viewData.applyUserName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="申请人工号">{{ viewData.applyLoginName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="申请人单位">{{ viewData.applyUnitName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="申请人工会">{{ viewData.applyUnionName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="慰问对象">{{ viewData.helpUserName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="收款人">{{ viewData.payUserName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="慰问类型">{{ viewData.typeName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="慰问方式">{{ viewData.way }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="慰问金额">{{ viewData.money }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="慰问时间">{{ viewData.occurTime }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item v-if="['2'].includes(viewData.type)" label="孩次">{{ viewData.child }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item v-if="['3','4'].includes(viewData.type)" label="治疗医院">{{ viewData.hospital }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item v-if="['3','4'].includes(viewData.type)" label="病房号">{{ viewData.hospitalHouseNum }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item v-if="['3','4'].includes(viewData.type)" label="床号">{{ viewData.hospitalHouseBedNum }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item v-if="['4'].includes(viewData.type)" label="患病病种">{{ viewData.hospitalBy }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item v-if="['6'].includes(viewData.type)" label="直系亲属">{{ viewData.deadImmediateFamily }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="申请事由" :span="2">{{ viewData.remark }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="附件" :span="2">
|
||||||
|
<file-preview v-if="viewData.files && viewData.files.length > 0" :files="viewData.files" complete_result></file-preview>
|
||||||
|
<span v-else>暂无附件</span>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="签字" :span="2">
|
||||||
|
<el-image :src="viewData.signature"
|
||||||
|
v-if="viewData.signature"
|
||||||
|
class="signature-image"></el-image>
|
||||||
|
<span v-else>暂无签字</span>
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
|
||||||
|
<template v-for="task in doneTasks">
|
||||||
|
<div class="mt10">
|
||||||
|
<div class="process-title">{{ task.displayName }}</div>
|
||||||
|
<el-descriptions border class="flow-task-form" :column="3" :key="task.id"
|
||||||
|
v-if="task.ext.isFirstTaskNode">
|
||||||
|
<el-descriptions-item label="申请用户">{{ task.ext.initiatorName
|
||||||
|
}}({{task.ext.initiatorAccount}})
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="申请时间">{{ task.finishTime }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="办理结果">
|
||||||
|
<dict-tag :options="dict.type.PROCESS_TASK_SUBMIT_TYPE"
|
||||||
|
:value="task.ext.submitType"></dict-tag>
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
|
||||||
|
<el-descriptions border class="flow-task-form" :column="3" :key="task.id" v-else>
|
||||||
|
<el-descriptions-item label="办理用户">{{ task.taskFormData.userName
|
||||||
|
}}({{task.taskFormData.loginName}})
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="办理时间">{{ task.finishTime }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="办理结果">
|
||||||
|
<dict-tag :options="dict.type.PROCESS_TASK_SUBMIT_TYPE"
|
||||||
|
:value="task.ext.submitType"></dict-tag>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="办理意见" v-if="!task.ext.isFirstTaskNode">{{
|
||||||
|
task.taskFormData.opinion }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<slot></slot>
|
||||||
|
<snaker-chart ref="snakerChartRef"></snaker-chart>
|
||||||
|
</div>
|
||||||
|
`,
|
||||||
|
store,
|
||||||
|
dicts: ["PROCESS_TASK_SUBMIT_TYPE"],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
viewData: {},
|
||||||
|
doneTasks: [],
|
||||||
|
row: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
onOpen(row) {
|
||||||
|
this.row = row
|
||||||
|
this.visible = true
|
||||||
|
this.getInfo()
|
||||||
|
this.getDoneTasks()
|
||||||
|
},
|
||||||
|
getInfo() {
|
||||||
|
this.$axios.post('/platform/condolence/mine/info', {id: this.row.id}).then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.viewData = res.data
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取已办任务审批记录
|
||||||
|
getDoneTasks() {
|
||||||
|
this.$axios.post("/flow/common/doneTasks", {bizId: this.row.id}).then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.doneTasks = res.data
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 查看流程图
|
||||||
|
openChart(){
|
||||||
|
this.$refs.snakerChartRef.onOpenFull(this.row.instanceProcessDefineId, this.row.instanceId)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,160 @@
|
|||||||
|
<!--#
|
||||||
|
layout("/layouts/platform.html"){
|
||||||
|
#-->
|
||||||
|
<div id="app">
|
||||||
|
<guava ref="guava">
|
||||||
|
<el-card shadow="never">
|
||||||
|
<search @search="doSearch">
|
||||||
|
<search-item label="年度">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="pageForm.year"
|
||||||
|
type="year"
|
||||||
|
value-format="yyyy"
|
||||||
|
placeholder="年度"
|
||||||
|
style="width: 100%"
|
||||||
|
@change="doSearch"
|
||||||
|
></el-date-picker>
|
||||||
|
</search-item>
|
||||||
|
<search-item label="姓名/工号">
|
||||||
|
<el-input placeholder="请输入慰问对象姓名或工号查询" clearable v-model="pageForm.searchKeyword"
|
||||||
|
@keyup.enter.native="doSearch">
|
||||||
|
</el-input>
|
||||||
|
</search-item>
|
||||||
|
<search-item label="慰问类型">
|
||||||
|
<el-select v-model="pageForm.type" @change="doSearch" style="width: 100%"
|
||||||
|
placeholder="请选择慰问类型">
|
||||||
|
<el-option v-for="item in typeOptions"
|
||||||
|
:value="item.id"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</search-item>
|
||||||
|
</search>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
|
<el-card shadow="never">
|
||||||
|
<table-tool label="申请列表">
|
||||||
|
<el-button type="primary" size="small" @click="onAdd">
|
||||||
|
<i class="ti-plus"></i>
|
||||||
|
新增申请
|
||||||
|
</el-button>
|
||||||
|
</table-tool>
|
||||||
|
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||||
|
<el-table-column type="index" width="50px" label="序号" :index="indexMethod"></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
:label="column.label"
|
||||||
|
:prop="column.prop"
|
||||||
|
:key="column.prop"
|
||||||
|
:width="column.width"
|
||||||
|
:sortable="column.sortable"
|
||||||
|
align="center"
|
||||||
|
header-align="center"
|
||||||
|
show-overflow-tooltip
|
||||||
|
v-for="column in tableColumns"
|
||||||
|
>
|
||||||
|
<template v-slot="{ row }" v-if="column.prop === 'instanceState'">
|
||||||
|
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message" size="small"></enum-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" fixed="right" width="300">
|
||||||
|
<template slot-scope="{row}">
|
||||||
|
<el-button @click="onView(row)" size="mini" type="primary">查看</el-button>
|
||||||
|
<el-button v-if="row.taskKey === 'startTask' || !row.instanceId" @click="onEdit(row)" size="mini" type="primary">编辑</el-button>
|
||||||
|
<el-button v-if="row.canRevoke" size="mini" type="danger" @click="onRevoke(row)">撤回</el-button>
|
||||||
|
<el-button v-if="row.taskKey === 'startTask' || !row.instanceId" @click="onDelete(row.id)" size="mini" type="danger">
|
||||||
|
删除
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!--#include("/layouts/pagination.html"){}#-->
|
||||||
|
</el-card>
|
||||||
|
|
||||||
|
<template #view>
|
||||||
|
<condolence-info ref="condolenceInfoRef"></condolence-info>
|
||||||
|
</template>
|
||||||
|
</guava>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
<!--#include('../common/info.js'){}#-->
|
||||||
|
new Vue({
|
||||||
|
el: "#app",
|
||||||
|
store,
|
||||||
|
mixins: [initTableMixins],
|
||||||
|
components: {
|
||||||
|
"condolence-info": condolenceInfo
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
typeOptions: [],
|
||||||
|
tableColumns: [
|
||||||
|
{prop: 'helpUserName', label: '慰问对象'},
|
||||||
|
{prop: 'helpLoginName', label: '慰问对象工号'},
|
||||||
|
{prop: 'applyUserName', label: '申请人'},
|
||||||
|
{prop: 'applyUnionName', label: '所属工会'},
|
||||||
|
{prop: 'applyUnitName', label: '所属单位'},
|
||||||
|
{prop: 'typeName', label: '慰问类型'},
|
||||||
|
{prop: 'taskName', label: '当前节点'},
|
||||||
|
{prop: 'instanceState', label: '流程状态'},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
onAdd() {
|
||||||
|
window.location.href = '/platform/condolence/apply'
|
||||||
|
},
|
||||||
|
onView(row) {
|
||||||
|
this.$refs.guava.view(()=>{
|
||||||
|
this.$refs.condolenceInfoRef.onOpen(row)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onEdit(row) {
|
||||||
|
window.location.href = '/platform/condolence/apply?taskId=' + (row.startTaskId || '') + "&bizId=" + row.id
|
||||||
|
},
|
||||||
|
onRevoke(row) {
|
||||||
|
this.$confirm("您确定要撤回吗?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning"
|
||||||
|
}).then(() => {
|
||||||
|
this.$axios.post("/flow/common/revokeTask", { taskId: row.startTaskId }).then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$message.success(res.msg)
|
||||||
|
this.pageData()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onDelete(id) {
|
||||||
|
this.$confirm("您确定要删除吗?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning"
|
||||||
|
}).then(() => {
|
||||||
|
this.$axios.post("/platform/condolence/mine/delete", { id }).then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$message.success(res.msg)
|
||||||
|
this.pageData()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
queryCondolenceType() {
|
||||||
|
this.$axios.post('/platform/condolence/type/queryCondolenceType')
|
||||||
|
.then((resp) => {
|
||||||
|
this.typeOptions = resp.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.queryCondolenceType()
|
||||||
|
this.pageData()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!--#
|
||||||
|
}
|
||||||
|
#-->
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
layout("/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
|
||||||
<guava ref="guava">
|
<div id="app">
|
||||||
<div id="app">
|
<guava ref="guava">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<search @search="doSearch">
|
<search @search="doSearch">
|
||||||
<search-item label="年度">
|
<search-item label="年度">
|
||||||
@@ -76,20 +76,28 @@ layout("/layouts/platform.html"){
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" width="100">
|
<el-table-column label="操作" fixed="right" width="100">
|
||||||
<template slot-scope="{row}">
|
<template slot-scope="{row}">
|
||||||
<el-button @click="onOpen(row)" size="mini" type="primary">查看</el-button>
|
<el-button @click="onView(row)" size="mini" type="primary">查看</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<!--#include("/layouts/pagination.html"){}#-->
|
<!--#include("/layouts/pagination.html"){}#-->
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
|
||||||
</guava>
|
<template #edit>
|
||||||
|
<condolence-info ref="condolenceInfoRef"></condolence-info>
|
||||||
|
</template>
|
||||||
|
</guava>
|
||||||
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
<!--#include('../common/info.js'){}#-->
|
||||||
new Vue({
|
new Vue({
|
||||||
el: "#app",
|
el: "#app",
|
||||||
store,
|
store,
|
||||||
mixins: [initTableMixins],
|
mixins: [initTableMixins],
|
||||||
|
components: {
|
||||||
|
"condolence-info": condolenceInfo
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
typeOptions: [],
|
typeOptions: [],
|
||||||
@@ -111,14 +119,10 @@ layout("/layouts/platform.html"){
|
|||||||
onExport() {
|
onExport() {
|
||||||
this.$downLoad(loc() + '/onExport', this.pageForm)
|
this.$downLoad(loc() + '/onExport', this.pageForm)
|
||||||
},
|
},
|
||||||
onOpen(row) {
|
onView(row) {
|
||||||
window.open(
|
this.$refs.guava.edit(()=>{
|
||||||
"/flow/common/approval/form?instanceId=" +
|
this.$refs.condolenceInfoRef.onOpen(row)
|
||||||
(row.instanceId || "") +
|
})
|
||||||
"&businessId=" +
|
|
||||||
row.id +
|
|
||||||
"&defineKey=ZGWW"
|
|
||||||
)
|
|
||||||
},
|
},
|
||||||
queryCondolenceType() {
|
queryCondolenceType() {
|
||||||
this.$axios.post('/platform/condolence/type/queryCondolenceType')
|
this.$axios.post('/platform/condolence/type/queryCondolenceType')
|
||||||
|
|||||||
+86
-16
@@ -2,8 +2,9 @@
|
|||||||
layout("/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
|
||||||
<guava ref="guava">
|
<div id="app">
|
||||||
<div id="app">
|
<guava ref="guava">
|
||||||
|
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<search @search="doSearch">
|
<search @search="doSearch">
|
||||||
<search-item label="年度">
|
<search-item label="年度">
|
||||||
@@ -79,21 +80,50 @@ layout("/layouts/platform.html"){
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" width="300px">
|
<el-table-column label="操作" fixed="right" width="300px">
|
||||||
<template slot-scope="{row}">
|
<template slot-scope="{row}">
|
||||||
<el-button @click="onOpen(row)" size="mini" type="primary">查看</el-button>
|
<el-button @click="onView(row)" size="mini" type="primary">查看</el-button>
|
||||||
<el-button v-if="row.taskState === 10" @click="openApproval(row)" size="mini" type="primary">审核</el-button>
|
<el-button v-if="row.taskState === 10" @click="onAudit(row)" size="mini" type="primary">审核</el-button>
|
||||||
|
<el-button v-if="row.canRevoke" @click="onRevoke(row)" size="mini" type="danger">撤回</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<!--#include("/layouts/pagination.html"){}#-->
|
<!--#include("/layouts/pagination.html"){}#-->
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
|
||||||
</guava>
|
<template #edit>
|
||||||
|
<condolence-info ref="condolenceInfoRef">
|
||||||
|
<div v-if="showApprovalForm">
|
||||||
|
<div class="process-title">
|
||||||
|
{{formData.taskName}}
|
||||||
|
</div>
|
||||||
|
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="0" label-suffix=":"
|
||||||
|
class="flow-task-form">
|
||||||
|
<el-form-item label="审批意见" prop="tf_opinion"
|
||||||
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
|
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-row type="flex" justify="end">
|
||||||
|
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
||||||
|
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到发起人</el-button>
|
||||||
|
<el-button @click="handleTaskAction(2)" size="small" type="danger">拒绝申请</el-button>
|
||||||
|
<el-button @click="handleTaskAction(1)" size="small" type="primary">同意申请</el-button>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</condolence-info>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</guava>
|
||||||
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
<!--#include('../common/info.js'){}#-->
|
||||||
new Vue({
|
new Vue({
|
||||||
el: "#app",
|
el: "#app",
|
||||||
store,
|
store,
|
||||||
mixins: [initTableMixins],
|
mixins: [initTableMixins],
|
||||||
|
components: {
|
||||||
|
"condolence-info": condolenceInfo
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pageForm: {
|
pageForm: {
|
||||||
@@ -112,20 +142,60 @@ layout("/layouts/platform.html"){
|
|||||||
],
|
],
|
||||||
unionList: [],
|
unionList: [],
|
||||||
unitList: [],
|
unitList: [],
|
||||||
|
formData: {},
|
||||||
|
showApprovalForm: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onOpen(row) {
|
onView(row) {
|
||||||
window.open(
|
this.$refs.guava.edit(()=>{
|
||||||
"/flow/common/approval/form?instanceId=" +
|
this.showApprovalForm = false
|
||||||
(row.instanceId || "") +
|
this.$refs.condolenceInfoRef.onOpen(row)
|
||||||
"&businessId=" +
|
})
|
||||||
row.id +
|
|
||||||
"&defineKey=ZGWW"
|
|
||||||
)
|
|
||||||
},
|
},
|
||||||
openApproval(row) {
|
onAudit(row) {
|
||||||
window.open("/flow/common/approval/form?taskId=" + row.taskId + "&instanceId=" + row.instanceId + "&businessId=" + row.businessNo)
|
this.$refs.guava.edit(()=>{
|
||||||
|
this.showApprovalForm = true
|
||||||
|
this.formData = {
|
||||||
|
processTaskId: row.taskId,
|
||||||
|
taskName: row.curTaskName
|
||||||
|
}
|
||||||
|
this.$refs.condolenceInfoRef.onOpen(row)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleTaskAction(val) {
|
||||||
|
this.$confirm("您确定要提交吗?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning"
|
||||||
|
}).then(() => {
|
||||||
|
this.$axios.post("/flow/common/executeTask", {
|
||||||
|
data: JSON.stringify({
|
||||||
|
...this.formData,
|
||||||
|
submitType: val
|
||||||
|
})
|
||||||
|
}).then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$refs.guava.index()
|
||||||
|
this.$message.success(res.msg)
|
||||||
|
this.doSearch()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onRevoke(row) {
|
||||||
|
this.$confirm("您确定要撤回吗?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "info"
|
||||||
|
}).then(() => {
|
||||||
|
this.$axios.post("/flow/common/revokeTask", {taskId: row.taskId}).then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$message.success(res.msg)
|
||||||
|
this.doSearch()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
},
|
},
|
||||||
queryCondolenceType() {
|
queryCondolenceType() {
|
||||||
this.$axios.post('/platform/condolence/type/queryCondolenceType')
|
this.$axios.post('/platform/condolence/type/queryCondolenceType')
|
||||||
|
|||||||
@@ -1,107 +0,0 @@
|
|||||||
<div id="condolence-view">
|
|
||||||
<el-descriptions :column="2" border>
|
|
||||||
<el-descriptions-item label="申请人姓名">{{ viewData.applyUserName }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="申请人工号">{{ viewData.applyLoginName }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="申请人单位">{{ viewData.applyUnitName }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="申请人工会">{{ viewData.applyUnionName }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="慰问对象">{{ viewData.helpUserName }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="收款人">{{ viewData.payUserName }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="慰问类型">{{ viewData.typeName }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="慰问方式">{{ viewData.way }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="慰问金额">{{ viewData.money }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="慰问时间">{{ viewData.occurTime }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item v-if="['2'].includes(viewData.type)" label="孩次">{{ viewData.child }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item v-if="['3','4'].includes(viewData.type)" label="治疗医院">{{ viewData.hospital }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item v-if="['3','4'].includes(viewData.type)" label="病房号">{{ viewData.hospitalHouseNum }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item v-if="['3','4'].includes(viewData.type)" label="床号">{{ viewData.hospitalHouseBedNum }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item v-if="['4'].includes(viewData.type)" label="患病病种">{{ viewData.hospitalBy }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item v-if="['6'].includes(viewData.type)" label="直系亲属">{{ viewData.deadImmediateFamily }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="申请事由" :span="2">{{ viewData.remark }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="附件" :span="2">
|
|
||||||
<file-preview v-if="viewData.files && viewData.files.length > 0" :files="viewData.files" complete_result></file-preview>
|
|
||||||
<span v-else>暂无附件</span>
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="签字" :span="2">
|
|
||||||
<el-image :src="viewData.signature"
|
|
||||||
v-if="viewData.signature"
|
|
||||||
class="signature-image"></el-image>
|
|
||||||
<span v-else>暂无签字</span>
|
|
||||||
</el-descriptions-item>
|
|
||||||
</el-descriptions>
|
|
||||||
|
|
||||||
<template v-for="task in doneTasks">
|
|
||||||
<div class="task-panel mt10">
|
|
||||||
<div class="task-panel-header">{{ task.displayName }}</div>
|
|
||||||
<el-descriptions border class="flow-task-form" :column="3" :key="task.id" v-if="task.ext.isFirstTaskNode">
|
|
||||||
<el-descriptions-item label="申请用户">{{ task.ext.initiatorName }}({{task.ext.initiatorAccount}})</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="申请时间">{{ task.finishTime }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="办理结果">
|
|
||||||
<dict-tag :options="dict.type.PROCESS_TASK_SUBMIT_TYPE" :value="task.ext.submitType"></dict-tag>
|
|
||||||
</el-descriptions-item>
|
|
||||||
</el-descriptions>
|
|
||||||
|
|
||||||
<el-descriptions border class="flow-task-form" :column="3" :key="task.id" v-else>
|
|
||||||
<el-descriptions-item label="办理用户">{{ task.taskFormData.userName }}({{task.taskFormData.loginName}})</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="办理时间">{{ task.finishTime }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="办理结果">
|
|
||||||
<dict-tag :options="dict.type.PROCESS_TASK_SUBMIT_TYPE" :value="task.ext.submitType"></dict-tag>
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="办理意见" v-if="!task.ext.isFirstTaskNode">{{ task.taskFormData.opinion }}</el-descriptions-item>
|
|
||||||
</el-descriptions>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
new Vue({
|
|
||||||
el: "#condolence-view",
|
|
||||||
store,
|
|
||||||
dicts: ["PROCESS_TASK_SUBMIT_TYPE"],
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
businessId: GetQueryString("businessId"),
|
|
||||||
instanceId: GetQueryString("instanceId"),
|
|
||||||
viewData: {},
|
|
||||||
doneTasks: []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
info() {
|
|
||||||
this.$axios.post("/platform/condolence/view/info", { id: this.businessId }).then((res) => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
this.viewData = res.data
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getDoneTasks() {
|
|
||||||
this.$axios.post("/flow/common/doneTasks", { instanceId: this.instanceId }).then((res) => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
this.doneTasks = res.data
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.info()
|
|
||||||
this.getDoneTasks()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
.task-panel {
|
|
||||||
background: white;
|
|
||||||
border-radius: 4px;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.task-panel-header {
|
|
||||||
background: rgb(250, 250, 250);
|
|
||||||
border: 1px solid rgb(228, 231, 237);
|
|
||||||
border-bottom: none;
|
|
||||||
padding: 12px 16px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
+7
-8
@@ -1,8 +1,7 @@
|
|||||||
const editForm = {
|
const editForm = {
|
||||||
template: /*language=HTML*/ `
|
template: /*language=HTML*/ `
|
||||||
<el-dialog title="编辑" :visible.sync="visible" top="50px">
|
<el-dialog title="编辑" :visible.sync="visible" top="50px">
|
||||||
<el-form :model="formData" label-width="120px" :formRules="formRules" ref="formRef"
|
<el-form :model="formData" label-width="80px" :formRules="formRules" ref="formRef">
|
||||||
style="margin-right: 40px">
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col span="12">
|
<el-col span="12">
|
||||||
<el-form-item prop="loginName" label="工号">
|
<el-form-item prop="loginName" label="工号">
|
||||||
@@ -133,7 +132,7 @@ const editForm = {
|
|||||||
if (this.config.familyInfo === 2) {
|
if (this.config.familyInfo === 2) {
|
||||||
this.labelName = "家属信息"
|
this.labelName = "家属信息"
|
||||||
} else {
|
} else {
|
||||||
this.editFormData.bedType = data.familyNumber
|
this.formData.bedType = data.familyNumber
|
||||||
this.labelName = "家属数量"
|
this.labelName = "家属数量"
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -141,7 +140,7 @@ const editForm = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async getModifyConfig() {
|
async getModifyConfig() {
|
||||||
const {code, data, msg} = await this.$axios.post('/platform/recuperation/config/findOne')
|
const {code, data, msg} = await this.$axios.post('/platform/recuperation/config/fetchOne')
|
||||||
if (code === 0) {
|
if (code === 0) {
|
||||||
this.config = data
|
this.config = data
|
||||||
} else {
|
} else {
|
||||||
@@ -149,7 +148,7 @@ const editForm = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async getUnionSelectLine() {
|
async getUnionSelectLine() {
|
||||||
const resp = await this.$axios.post('/platform/recuperation/user/query/getUnionSelectLine', {
|
const resp = await this.$axios.post('/platform/recuperation/schoolUnionUserQuery/getUnionSelectLine', {
|
||||||
year: this.year,
|
year: this.year,
|
||||||
signUpMode: 1,
|
signUpMode: 1,
|
||||||
})
|
})
|
||||||
@@ -158,8 +157,8 @@ const editForm = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async validateLine() {
|
async validateLine() {
|
||||||
const resp = await $.post('/platform/recuperation/line/enroll/validSignUpInfo'
|
const resp = await this.$axios.post('/platform/recuperation/line/enroll/validSignUpInfo'
|
||||||
, {enroll: JSON.stringify(this.editFormData)})
|
, {enroll: JSON.stringify(this.formData)})
|
||||||
if (resp.code !== 0) {
|
if (resp.code !== 0) {
|
||||||
this.$message.warning(resp.msg)
|
this.$message.warning(resp.msg)
|
||||||
this.formData.takePartInLineId = ''
|
this.formData.takePartInLineId = ''
|
||||||
@@ -177,7 +176,7 @@ const editForm = {
|
|||||||
this.$message.warning('请选择线路')
|
this.$message.warning('请选择线路')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const {code,msg} = await $.post('/platform/recuperation/user/query/doEdit', this.formData)
|
const {code, msg} = await this.$axios.post('/platform/recuperation/schoolUnionUserQuery/doEdit', this.formData)
|
||||||
if (code === 0) {
|
if (code === 0) {
|
||||||
this.$message.success(msg)
|
this.$message.success(msg)
|
||||||
this.visible = false
|
this.visible = false
|
||||||
|
|||||||
+12
-15
@@ -60,6 +60,9 @@ layout("/layouts/platform.html"){
|
|||||||
padding-right: 25px;
|
padding-right: 25px;
|
||||||
margin: 0 15px;
|
margin: 0 15px;
|
||||||
}
|
}
|
||||||
|
.view-dialog .el-dialog__body {
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
@@ -222,8 +225,8 @@ layout("/layouts/platform.html"){
|
|||||||
</template>
|
</template>
|
||||||
</guava>
|
</guava>
|
||||||
|
|
||||||
<el-dialog title="查看报名信息" :visible.sync="viewVisible" top="50px">
|
<el-dialog title="查看报名信息" :visible.sync="viewVisible" top="50px" class="view-dialog">
|
||||||
<enroll-info ref="viewEnrollInfoRef"></enroll-info>
|
<enroll-info ref="enrollInfoRef"></enroll-info>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<set-up-part ref="setUpRef"></set-up-part>
|
<set-up-part ref="setUpRef"></set-up-part>
|
||||||
@@ -234,13 +237,15 @@ layout("/layouts/platform.html"){
|
|||||||
<!--#include('setUpPart.js'){}#-->
|
<!--#include('setUpPart.js'){}#-->
|
||||||
<!--#include('editForm.js'){}#-->
|
<!--#include('editForm.js'){}#-->
|
||||||
<!--#include('../line/info.js'){}#-->
|
<!--#include('../line/info.js'){}#-->
|
||||||
|
<!--#include('../common/enrollInfo.js'){}#-->
|
||||||
new Vue({
|
new Vue({
|
||||||
el: "#app",
|
el: "#app",
|
||||||
mixins: [initTableMixins],
|
mixins: [initTableMixins],
|
||||||
components: {
|
components: {
|
||||||
'line-info': info,
|
'line-info': info,
|
||||||
'set-up-part': setUpPart,
|
'set-up-part': setUpPart,
|
||||||
'edit-form': editForm
|
'edit-form': editForm,
|
||||||
|
'enroll-info': enrollInfo,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -295,11 +300,12 @@ layout("/layouts/platform.html"){
|
|||||||
openView(row) {
|
openView(row) {
|
||||||
this.viewVisible = true
|
this.viewVisible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.viewEnrollInfoRef.openView(row.id)
|
this.$refs.enrollInfoRef.onOpen(row.id)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
openEdit(row) {
|
openEdit(row) {
|
||||||
this.$refs.editRef.onOpen(row.id)
|
this.$message.warning('等移动端开发后再修改')
|
||||||
|
//this.$refs.editRef.onOpen(row.id)
|
||||||
},
|
},
|
||||||
onDelete(row) {
|
onDelete(row) {
|
||||||
this.$confirm("您确定要删除【<span style='color: red'>" + row.userName + "</span>】的信息吗?", '提示', {
|
this.$confirm("您确定要删除【<span style='color: red'>" + row.userName + "</span>】的信息吗?", '提示', {
|
||||||
@@ -320,16 +326,7 @@ layout("/layouts/platform.html"){
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
doExport() {
|
doExport() {
|
||||||
const {year, userName, loginName, unionId, signUpMode, regionalNature, takePartInLineId, lotId} = this.pageForm
|
this.$downLoad('/platform/recuperation/schoolUnionUserQuery/exportXlsx', this.pageForm)
|
||||||
window.open('/platform/recuperation/schoolUnionUserQuery/exportXlsx?year=' +
|
|
||||||
year
|
|
||||||
+ '&userName=' + userName
|
|
||||||
+ '&loginName=' + loginName
|
|
||||||
+ '&unionId=' + unionId
|
|
||||||
+ '&signUpMode=' + signUpMode
|
|
||||||
+ '®ionalNature=' + regionalNature
|
|
||||||
+ '&takePartInLineId=' + takePartInLineId
|
|
||||||
+ '&lotId=' + lotId)
|
|
||||||
},
|
},
|
||||||
openSetUpPart() {
|
openSetUpPart() {
|
||||||
const selection = this.$refs.tableRef.selection
|
const selection = this.$refs.tableRef.selection
|
||||||
|
|||||||
+7
-9
@@ -1,7 +1,7 @@
|
|||||||
const setUpPart = {
|
const setUpPart = {
|
||||||
template: /*language=HTML*/ `
|
template: /*language=HTML*/ `
|
||||||
<el-dialog :visible.sync="visible" title="设置参加人员" top="50px">
|
<el-dialog :visible.sync="visible" title="设置参加人员" top="50px">
|
||||||
<el-row class="text-primary p20">
|
<el-row class="text-primary mb10">
|
||||||
选择标段/参加时间(设置前请先勾选需要设置的用户)
|
选择标段/参加时间(设置前请先勾选需要设置的用户)
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ const setUpPart = {
|
|||||||
this.getModifyConfig()
|
this.getModifyConfig()
|
||||||
},
|
},
|
||||||
async getModifyConfig() {
|
async getModifyConfig() {
|
||||||
const res = await $.post('/platform/recuperation/config/findOne')
|
const res = await this.$axios.post('/platform/recuperation/config/fetchOne')
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.config = res.data
|
this.config = res.data
|
||||||
}
|
}
|
||||||
@@ -101,12 +101,13 @@ const setUpPart = {
|
|||||||
},
|
},
|
||||||
onSubmit() {
|
onSubmit() {
|
||||||
// 检查哪几条数据填写不完整
|
// 检查哪几条数据填写不完整
|
||||||
this.tableData.forEach((v, index) => {
|
for (let i = 0; i < this.tableData.length; i++) {
|
||||||
|
let v = this.tableData[i]
|
||||||
if (!v.lotId || !v.takePartInTime) {
|
if (!v.lotId || !v.takePartInTime) {
|
||||||
this.$message.error('第' + (index + 1) + '行数据填写不完整')
|
this.$message.error('第' + (i + 1) + '行数据填写不完整')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
const data = this.tableData.map((v, index) => {
|
const data = this.tableData.map((v, index) => {
|
||||||
return{
|
return{
|
||||||
lotId: v.lotId,
|
lotId: v.lotId,
|
||||||
@@ -119,10 +120,7 @@ const setUpPart = {
|
|||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(async res => {
|
}).then(async res => {
|
||||||
const {
|
const {code, msg} = await this.$axios.post("/platform/recuperation/branchUnionUserQuery/setUpParticipants", {data: JSON.stringify(data)})
|
||||||
code,
|
|
||||||
msg
|
|
||||||
} = await $.post("/platform/recuperation/branchUnionUserQuery/setUpParticipants", {data: JSON.stringify(data)})
|
|
||||||
if (code === 0) {
|
if (code === 0) {
|
||||||
this.$message.success(msg)
|
this.$message.success(msg)
|
||||||
this.$refs.tableRef.clearSelection()
|
this.$refs.tableRef.clearSelection()
|
||||||
|
|||||||
+129
@@ -0,0 +1,129 @@
|
|||||||
|
const enrollInfo = {
|
||||||
|
template: /*language=HTML*/ `
|
||||||
|
<div>
|
||||||
|
<el-tabs tab-position="top" v-model="activeName" v-loading="loading">
|
||||||
|
<el-tab-pane label="报名信息" name="1">
|
||||||
|
<div class="panel panel-default" style="border: none">
|
||||||
|
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
|
||||||
|
<h3 class="panel-title">
|
||||||
|
本人信息
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
<el-descriptions :column="2" border class="viewTable">
|
||||||
|
<el-descriptions-item label="工号">{{ viewData.loginName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="姓名">{{ viewData.userName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="性别">{{ viewData.sex }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="身份证号">{{ viewData.idCard }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="单位">{{ viewData.unitName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="工会">{{ viewData.unionName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="报名时间">{{ viewData.signingUptime }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="参加活动时间">
|
||||||
|
{{ viewData.specificTime ? viewData.specificTime : '暂未更新' }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="实际出行时间">
|
||||||
|
{{ viewData.takePartInTime ? viewData.takePartInTime : '暂未更新' }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="线路名称">{{ viewData.lineName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="旅行社名称">{{ viewData.travelAgencyName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="是否携带家属">
|
||||||
|
<span class="label label-primary">
|
||||||
|
{{ viewData.isFamily || viewData.familyNumber > 0 ? '携带' : '未携带' }}
|
||||||
|
</span>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<template v-if="modifyConfig.bedInfo">
|
||||||
|
<el-descriptions-item label="床型">{{ viewData.bedInfo?.bedType }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="床位">
|
||||||
|
{{ viewData.bedInfo?.bedNum ? viewData.bedInfo?.bedNum : '暂无' }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="意向拼床人">
|
||||||
|
{{ viewData.bedInfo?.otherSleepUser ? viewData.bedInfo?.otherSleepUser : '暂无' }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
</template>
|
||||||
|
</el-descriptions>
|
||||||
|
</div>
|
||||||
|
<div v-if="modifyConfig.familyInfo == 2" class="panel panel-default" style="border: none">
|
||||||
|
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
|
||||||
|
<h3 class="panel-title">
|
||||||
|
同伴信息
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
<div class="panel-body" style="border: 1px solid rgb(235, 238, 245)">
|
||||||
|
<el-table :data="viewData.companionList">
|
||||||
|
<el-table-column label="姓名" prop="userName"></el-table-column>
|
||||||
|
<el-table-column label="性别" prop="sex"></el-table-column>
|
||||||
|
<el-table-column label="身份证号" prop="idCard"></el-table-column>
|
||||||
|
<el-table-column label="年龄" prop="age"></el-table-column>
|
||||||
|
<el-table-column label="床型" prop="bedType">
|
||||||
|
<template v-slot="{row}">
|
||||||
|
{{ row.bedInfo?.bedType }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="床位" prop="bedNum">
|
||||||
|
<template v-slot="{row}">
|
||||||
|
{{ row.bedInfo?.bedNum }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="意向拼床人" prop="otherSleepUser">
|
||||||
|
<template v-slot="{row}">
|
||||||
|
{{ row.bedInfo?.otherSleepUser ? row.bedInfo?.otherSleepUser : '暂无' }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="关系" prop="relation"></el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
</div>
|
||||||
|
`,
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
activeName: "1",
|
||||||
|
viewData: {
|
||||||
|
companionList: [],
|
||||||
|
bedInfo: {},
|
||||||
|
},
|
||||||
|
loading: false,
|
||||||
|
modifyConfig:{}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async onOpen(id) {
|
||||||
|
await this.findOne(id)
|
||||||
|
},
|
||||||
|
async findOne(id) {
|
||||||
|
this.loading = true
|
||||||
|
const resp = await this.$axios.post("/platform/recuperation/branchUnionAudit/findOne", {id})
|
||||||
|
this.loading = false
|
||||||
|
if (resp.code === 0) {
|
||||||
|
this.viewData = resp.data.viewData
|
||||||
|
} else {
|
||||||
|
this.viewData = {}
|
||||||
|
this.$message.error(resp.msg)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async getModifyConfig() {
|
||||||
|
const res = await this.$axios.post('/platform/recuperation/config/fetchOne')
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.modifyConfig = res.data
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
async created() {
|
||||||
|
await this.getModifyConfig()
|
||||||
|
},
|
||||||
|
style: /*language=CSS*/ `
|
||||||
|
.panel-heading {
|
||||||
|
border-color: #eeeff8;
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
padding: 10px 15px;
|
||||||
|
}
|
||||||
|
.panel-title {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #777;
|
||||||
|
height: 16px;
|
||||||
|
line-height: 16px;
|
||||||
|
}
|
||||||
|
`
|
||||||
|
}
|
||||||
+10
-8
@@ -1,8 +1,7 @@
|
|||||||
const editForm = {
|
const editForm = {
|
||||||
template: /*language=HTML*/ `
|
template: /*language=HTML*/ `
|
||||||
<el-dialog title="编辑" :visible.sync="visible" top="50px">
|
<el-dialog title="编辑" :visible.sync="visible" top="50px">
|
||||||
<el-form :model="formData" label-width="120px" :formRules="formRules" ref="formRef"
|
<el-form :model="formData" label-width="80px" :formRules="formRules" ref="formRef">
|
||||||
style="margin-right: 40px">
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col span="12">
|
<el-col span="12">
|
||||||
<el-form-item prop="loginName" label="工号">
|
<el-form-item prop="loginName" label="工号">
|
||||||
@@ -127,13 +126,13 @@ const editForm = {
|
|||||||
this.visible = true
|
this.visible = true
|
||||||
await this.getUnionSelectLine()
|
await this.getUnionSelectLine()
|
||||||
await this.getModifyConfig()
|
await this.getModifyConfig()
|
||||||
const {code, msg, data} = await this.$axios.get("/platform/recuperation/schoolUnionUserQuery/findOne", {id})
|
const {code, msg, data} = await this.$axios.post("/platform/recuperation/schoolUnionUserQuery/findOne", {id})
|
||||||
if (code === 0) {
|
if (code === 0) {
|
||||||
this.formData = data
|
this.formData = data
|
||||||
if (this.config.familyInfo === 2) {
|
if (this.config.familyInfo === 2) {
|
||||||
this.labelName = "家属信息"
|
this.labelName = "家属信息"
|
||||||
} else {
|
} else {
|
||||||
this.editFormData.bedType = data.familyNumber
|
this.formData.bedType = data.familyNumber
|
||||||
this.labelName = "家属数量"
|
this.labelName = "家属数量"
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -149,7 +148,7 @@ const editForm = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async getUnionSelectLine() {
|
async getUnionSelectLine() {
|
||||||
const resp = await this.$axios.post('/platform/recuperation/user/query/getUnionSelectLine', {
|
const resp = await this.$axios.post('/platform/recuperation/schoolUnionUserQuery/getUnionSelectLine', {
|
||||||
year: this.year,
|
year: this.year,
|
||||||
signUpMode: 1,
|
signUpMode: 1,
|
||||||
})
|
})
|
||||||
@@ -159,7 +158,7 @@ const editForm = {
|
|||||||
},
|
},
|
||||||
async validateLine() {
|
async validateLine() {
|
||||||
const resp = await this.$axios.post('/platform/recuperation/line/enroll/validSignUpInfo'
|
const resp = await this.$axios.post('/platform/recuperation/line/enroll/validSignUpInfo'
|
||||||
, {enroll: JSON.stringify(this.editFormData)})
|
, {enroll: JSON.stringify(this.formData)})
|
||||||
if (resp.code !== 0) {
|
if (resp.code !== 0) {
|
||||||
this.$message.warning(resp.msg)
|
this.$message.warning(resp.msg)
|
||||||
this.formData.takePartInLineId = ''
|
this.formData.takePartInLineId = ''
|
||||||
@@ -177,7 +176,7 @@ const editForm = {
|
|||||||
this.$message.warning('请选择线路')
|
this.$message.warning('请选择线路')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const {code,msg} = await this.$axios.post('/platform/recuperation/user/query/doEdit', this.formData)
|
const {code,msg} = await this.$axios.post('/platform/recuperation/schoolUnionUserQuery/doEdit', this.formData)
|
||||||
if (code === 0) {
|
if (code === 0) {
|
||||||
this.$message.success(msg)
|
this.$message.success(msg)
|
||||||
this.visible = false
|
this.visible = false
|
||||||
@@ -189,5 +188,8 @@ const editForm = {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
style: /*language=CSS*/ `
|
||||||
|
|
||||||
|
`
|
||||||
};
|
};
|
||||||
|
|||||||
+13
-16
@@ -60,6 +60,9 @@ layout("/layouts/platform.html"){
|
|||||||
padding-right: 25px;
|
padding-right: 25px;
|
||||||
margin: 0 15px;
|
margin: 0 15px;
|
||||||
}
|
}
|
||||||
|
.view-dialog .el-dialog__body {
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
@@ -97,7 +100,7 @@ layout("/layouts/platform.html"){
|
|||||||
<el-option
|
<el-option
|
||||||
v-for="item in unionOptions"
|
v-for="item in unionOptions"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.unionname"
|
:label="item.name"
|
||||||
:value="item.id">
|
:value="item.id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@@ -220,8 +223,8 @@ layout("/layouts/platform.html"){
|
|||||||
</template>
|
</template>
|
||||||
</guava>
|
</guava>
|
||||||
|
|
||||||
<el-dialog title="查看报名信息" :visible.sync="viewVisible" top="50px">
|
<el-dialog title="查看报名信息" :visible.sync="viewVisible" top="50px" class="view-dialog">
|
||||||
<enroll-info ref="viewEnrollInfoRef"></enroll-info>
|
<enroll-info ref="enrollInfoRef"></enroll-info>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<set-up-part ref="setUpRef"></set-up-part>
|
<set-up-part ref="setUpRef"></set-up-part>
|
||||||
@@ -232,13 +235,15 @@ layout("/layouts/platform.html"){
|
|||||||
<!--#include('setUpPart.js'){}#-->
|
<!--#include('setUpPart.js'){}#-->
|
||||||
<!--#include('editForm.js'){}#-->
|
<!--#include('editForm.js'){}#-->
|
||||||
<!--#include('../line/info.js'){}#-->
|
<!--#include('../line/info.js'){}#-->
|
||||||
|
<!--#include('../common/enrollInfo.js'){}#-->
|
||||||
new Vue({
|
new Vue({
|
||||||
el: "#app",
|
el: "#app",
|
||||||
mixins: [initTableMixins],
|
mixins: [initTableMixins],
|
||||||
components: {
|
components: {
|
||||||
'line-info': info,
|
'line-info': info,
|
||||||
'set-up-part': setUpPart,
|
'set-up-part': setUpPart,
|
||||||
'edit-form': editForm
|
'edit-form': editForm,
|
||||||
|
'enroll-info': enrollInfo,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -288,7 +293,7 @@ layout("/layouts/platform.html"){
|
|||||||
openView(row) {
|
openView(row) {
|
||||||
this.viewVisible = true
|
this.viewVisible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.viewEnrollInfoRef.openView(row.id)
|
this.$refs.enrollInfoRef.onOpen(row.id)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
openEdit(row) {
|
openEdit(row) {
|
||||||
@@ -313,19 +318,10 @@ layout("/layouts/platform.html"){
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
noSignExport() {
|
noSignExport() {
|
||||||
window.open('/platform/recuperation/schoolUnionUserQuery/noSignExport')
|
this.$downLoad('/platform/recuperation/schoolUnionUserQuery/noSignExport')
|
||||||
},
|
},
|
||||||
doExport() {
|
doExport() {
|
||||||
const {year, userName, loginName, unionId, signUpMode, regionalNature, takePartInLineId, lotId} = this.pageForm
|
this.$downLoad('/platform/recuperation/schoolUnionUserQuery/exportXlsx', this.pageForm)
|
||||||
window.open('/platform/recuperation/schoolUnionUserQuery/exportXlsx?year=' +
|
|
||||||
year
|
|
||||||
+ '&userName=' + userName
|
|
||||||
+ '&loginName=' + loginName
|
|
||||||
+ '&unionId=' + unionId
|
|
||||||
+ '&signUpMode=' + signUpMode
|
|
||||||
+ '®ionalNature=' + regionalNature
|
|
||||||
+ '&takePartInLineId=' + takePartInLineId
|
|
||||||
+ '&lotId=' + lotId)
|
|
||||||
},
|
},
|
||||||
openSetUpPart() {
|
openSetUpPart() {
|
||||||
const selection = this.$refs.tableRef.selection
|
const selection = this.$refs.tableRef.selection
|
||||||
@@ -365,6 +361,7 @@ layout("/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async created() {
|
async created() {
|
||||||
|
this.$businessTool.listUnion().then((res) => (this.unionOptions = res))
|
||||||
this.doSearch()
|
this.doSearch()
|
||||||
this.getConfig()
|
this.getConfig()
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-4
@@ -1,7 +1,7 @@
|
|||||||
const setUpPart = {
|
const setUpPart = {
|
||||||
template: /*language=HTML*/ `
|
template: /*language=HTML*/ `
|
||||||
<el-dialog :visible.sync="visible" title="设置参加人员" top="50px">
|
<el-dialog :visible.sync="visible" title="设置参加人员" top="50px">
|
||||||
<el-row class="text-primary p20">
|
<el-row class="text-primary mb10">
|
||||||
选择标段/参加时间(设置前请先勾选需要设置的用户)
|
选择标段/参加时间(设置前请先勾选需要设置的用户)
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
@@ -104,12 +104,13 @@ const setUpPart = {
|
|||||||
// 确定提交
|
// 确定提交
|
||||||
onSubmit() {
|
onSubmit() {
|
||||||
// 检查哪几条数据填写不完整
|
// 检查哪几条数据填写不完整
|
||||||
this.tableData.forEach((v, index) => {
|
for (let i = 0; i < this.tableData.length; i++) {
|
||||||
|
let v = this.tableData[i]
|
||||||
if (!v.lotId || !v.takePartInTime) {
|
if (!v.lotId || !v.takePartInTime) {
|
||||||
this.$message.error('第' + (index + 1) + '行数据填写不完整')
|
this.$message.error('第' + (i + 1) + '行数据填写不完整')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
const data = this.tableData.map((v, index) => {
|
const data = this.tableData.map((v, index) => {
|
||||||
return{
|
return{
|
||||||
lotId: v.lotId,
|
lotId: v.lotId,
|
||||||
|
|||||||
Reference in New Issue
Block a user