优化界面细节问题
This commit is contained in:
parent
a0d2f355fc
commit
5254def059
@ -1,5 +1,10 @@
|
||||
package cn.com.tenlion.controller.api.classplan;
|
||||
|
||||
import cn.com.tenlion.pojo.dtos.apply.ApplyDTO;
|
||||
import cn.com.tenlion.pojo.dtos.classplan.ClassPlanDTO;
|
||||
import cn.com.tenlion.pojo.dtos.classplan.ClassPlanReportExamDTO;
|
||||
import cn.com.tenlion.pojo.vos.classplan.ClassPlanVO;
|
||||
import cn.com.tenlion.service.classplan.IClassPlanService;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import ink.wgink.annotation.CheckRequestBodyAnnotation;
|
||||
import ink.wgink.common.base.DefaultBaseController;
|
||||
@ -9,9 +14,6 @@ import ink.wgink.pojo.result.ErrorResult;
|
||||
import ink.wgink.pojo.result.SuccessResult;
|
||||
import ink.wgink.pojo.result.SuccessResultData;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
import cn.com.tenlion.pojo.dtos.classplan.ClassPlanDTO;
|
||||
import cn.com.tenlion.pojo.vos.classplan.ClassPlanVO;
|
||||
import cn.com.tenlion.service.classplan.IClassPlanService;
|
||||
import ink.wgink.util.date.DateUtil;
|
||||
import io.swagger.annotations.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -152,4 +154,24 @@ public class ClassPlanController extends DefaultBaseController {
|
||||
return new SuccessResult();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询考试申请详情", notes = "查询考试申请详情接口")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "classPlanId", value = "ID", paramType = "path")
|
||||
})
|
||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||
@GetMapping("get-report-exam-detail/{classPlanId}")
|
||||
public ClassPlanReportExamDTO getReportExamDetail(@PathVariable("classPlanId") String classPlanId) {
|
||||
return classPlanService.getReportExamDetail(classPlanId);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询参考人员", notes = "查询参考人员接口")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "classPlanId", value = "ID", paramType = "path")
|
||||
})
|
||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||
@GetMapping("list-exam-user/{classPlanId}")
|
||||
public List<ApplyDTO> listExamUser(@PathVariable("classPlanId") String classPlanId) {
|
||||
return classPlanService.listExamUser(classPlanId);
|
||||
}
|
||||
|
||||
}
|
@ -69,6 +69,8 @@ public class ClassPlanDTO {
|
||||
private List<Map<String,Object>> classPlanLessons;
|
||||
@ApiModelProperty(name = "signUpUserCount", value = "已报名完成人数")
|
||||
private Integer signUpUserCount;
|
||||
@ApiModelProperty(name = "waitSignUpUser", value = "待处理人员")
|
||||
private Integer waitSignUpUser;
|
||||
@ApiModelProperty(name = "examType", value = "考试申请状态0未审核1审核通过2审核驳回")
|
||||
private String examType;
|
||||
@ApiModelProperty(name = "examReason", value = "考试申请原因")
|
||||
@ -269,4 +271,12 @@ public class ClassPlanDTO {
|
||||
public void setExamReason(String examReason) {
|
||||
this.examReason = examReason;
|
||||
}
|
||||
|
||||
public Integer getWaitSignUpUser() {
|
||||
return waitSignUpUser;
|
||||
}
|
||||
|
||||
public void setWaitSignUpUser(Integer waitSignUpUser) {
|
||||
this.waitSignUpUser = waitSignUpUser;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,114 @@
|
||||
package cn.com.tenlion.pojo.dtos.classplan;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* @author xwangs
|
||||
* @create 2021-05-11 16:25
|
||||
* @description
|
||||
*/
|
||||
@ApiModel
|
||||
public class ClassPlanReportExamDTO {
|
||||
|
||||
@ApiModelProperty(name = "examApplyId", value = "考试申请主键UUID")
|
||||
private String examApplyId;
|
||||
@ApiModelProperty(name = "checkStatus", value = "审核状态。0:未审核,1:审核通过,2:审核驳回")
|
||||
private Integer checkStatus;
|
||||
@ApiModelProperty(name = "examType", value = "考试类型。1:理论,2:实操,3:理论加实操")
|
||||
private Integer examType;
|
||||
@ApiModelProperty(name = "theoryExamAddress", value = "理论考试地点")
|
||||
private String theoryExamAddress;
|
||||
@ApiModelProperty(name = "theoryExamStartTime", value = "理论考试开始时间")
|
||||
private String theoryExamStartTime;
|
||||
@ApiModelProperty(name = "theoryExamEndTime", value = "理论考试结束时间")
|
||||
private String theoryExamEndTime;
|
||||
@ApiModelProperty(name = "practiceExamAddress", value = "实操考试地点")
|
||||
private String practiceExamAddress;
|
||||
@ApiModelProperty(name = "practiceExamStartTime", value = "实操考试开始时间")
|
||||
private String practiceExamStartTime;
|
||||
@ApiModelProperty(name = "practiceExamEndTime", value = "实操考试结束时间")
|
||||
private String practiceExamEndTime;
|
||||
@ApiModelProperty(name = "reason", value = "考试申请审核原因")
|
||||
private String reason;
|
||||
|
||||
public String getExamApplyId() {
|
||||
return examApplyId == null ? "" : examApplyId;
|
||||
}
|
||||
|
||||
public void setExamApplyId(String examApplyId) {
|
||||
this.examApplyId = examApplyId;
|
||||
}
|
||||
|
||||
public Integer getExamType() {
|
||||
return examType;
|
||||
}
|
||||
|
||||
public void setExamType(Integer examType) {
|
||||
this.examType = examType;
|
||||
}
|
||||
|
||||
public String getTheoryExamAddress() {
|
||||
return theoryExamAddress == null ? "" : theoryExamAddress;
|
||||
}
|
||||
|
||||
public void setTheoryExamAddress(String theoryExamAddress) {
|
||||
this.theoryExamAddress = theoryExamAddress;
|
||||
}
|
||||
|
||||
public String getTheoryExamStartTime() {
|
||||
return theoryExamStartTime == null ? "" : theoryExamStartTime;
|
||||
}
|
||||
|
||||
public void setTheoryExamStartTime(String theoryExamStartTime) {
|
||||
this.theoryExamStartTime = theoryExamStartTime;
|
||||
}
|
||||
|
||||
public String getTheoryExamEndTime() {
|
||||
return theoryExamEndTime == null ? "" : theoryExamEndTime;
|
||||
}
|
||||
|
||||
public void setTheoryExamEndTime(String theoryExamEndTime) {
|
||||
this.theoryExamEndTime = theoryExamEndTime;
|
||||
}
|
||||
|
||||
public String getPracticeExamAddress() {
|
||||
return practiceExamAddress == null ? "" : practiceExamAddress;
|
||||
}
|
||||
|
||||
public void setPracticeExamAddress(String practiceExamAddress) {
|
||||
this.practiceExamAddress = practiceExamAddress;
|
||||
}
|
||||
|
||||
public String getPracticeExamStartTime() {
|
||||
return practiceExamStartTime == null ? "" : practiceExamStartTime;
|
||||
}
|
||||
|
||||
public void setPracticeExamStartTime(String practiceExamStartTime) {
|
||||
this.practiceExamStartTime = practiceExamStartTime;
|
||||
}
|
||||
|
||||
public Integer getCheckStatus() {
|
||||
return checkStatus;
|
||||
}
|
||||
|
||||
public void setCheckStatus(Integer checkStatus) {
|
||||
this.checkStatus = checkStatus;
|
||||
}
|
||||
|
||||
public String getPracticeExamEndTime() {
|
||||
return practiceExamEndTime == null ? "" : practiceExamEndTime;
|
||||
}
|
||||
|
||||
public void setPracticeExamEndTime(String practiceExamEndTime) {
|
||||
this.practiceExamEndTime = practiceExamEndTime;
|
||||
}
|
||||
|
||||
public String getReason() {
|
||||
return reason == null ? "" : reason;
|
||||
}
|
||||
|
||||
public void setReason(String reason) {
|
||||
this.reason = reason;
|
||||
}
|
||||
}
|
@ -1,35 +1,32 @@
|
||||
package cn.com.tenlion.service.apply.impl;
|
||||
|
||||
import cn.com.tenlion.dao.apply.IApplyDao;
|
||||
import cn.com.tenlion.institutionmanagement.pojo.dtos.institution.InstitutionDTO;
|
||||
import cn.com.tenlion.pojo.bos.apply.ApplyBO;
|
||||
import cn.com.tenlion.pojo.dtos.apply.ApplyClassPlanDTO;
|
||||
import cn.com.tenlion.pojo.dtos.apply.ApplyDTO;
|
||||
import cn.com.tenlion.pojo.dtos.classplan.ClassPlanDTO;
|
||||
import cn.com.tenlion.pojo.dtos.distributioncard.DistributionCardDTO;
|
||||
import cn.com.tenlion.pojo.pos.apply.ApplyPO;
|
||||
import cn.com.tenlion.pojo.vos.apply.ApplyAuditVO;
|
||||
import cn.com.tenlion.pojo.vos.apply.ApplyVO;
|
||||
import cn.com.tenlion.pojo.vos.applyauditlog.ApplyAuditLogVO;
|
||||
import cn.com.tenlion.pojo.vos.traininginstitutionuser.InstitutionUserVO;
|
||||
import cn.com.tenlion.service.apply.IApplyService;
|
||||
import cn.com.tenlion.service.applyauditlog.IApplyAuditLogService;
|
||||
import cn.com.tenlion.service.classplan.IClassPlanService;
|
||||
import cn.com.tenlion.service.examination.distributioncard.IDistributionCardService;
|
||||
import cn.com.tenlion.service.traininginstitutionuser.ITrainingInstitutionUserService;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import ink.wgink.common.base.DefaultBaseService;
|
||||
import ink.wgink.exceptions.ParamsException;
|
||||
import ink.wgink.exceptions.SaveException;
|
||||
import ink.wgink.exceptions.SearchException;
|
||||
import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.app.AppTokenUser;
|
||||
import ink.wgink.pojo.result.SuccessResult;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
import ink.wgink.util.UUIDUtil;
|
||||
import ink.wgink.util.date.DateUtil;
|
||||
import ink.wgink.util.map.HashMapUtil;
|
||||
import ink.wgink.util.UUIDUtil;
|
||||
import cn.com.tenlion.dao.apply.IApplyDao;
|
||||
import cn.com.tenlion.pojo.dtos.apply.ApplyDTO;
|
||||
import cn.com.tenlion.pojo.vos.apply.ApplyVO;
|
||||
import cn.com.tenlion.pojo.bos.apply.ApplyBO;
|
||||
import cn.com.tenlion.pojo.pos.apply.ApplyPO;
|
||||
import cn.com.tenlion.service.apply.IApplyService;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.apache.commons.beanutils.BeanUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -133,7 +130,7 @@ public class ApplyServiceImpl extends DefaultBaseService implements IApplyServic
|
||||
throw new ParamsException("请选择报考类型");
|
||||
}
|
||||
PageHelper.startPage(page.getPage(), page.getRows());
|
||||
SuccessResultList<List<ClassPlanDTO>> classPlanDTOList = classPlanService.listPage(page);
|
||||
SuccessResultList<List<ClassPlanDTO>> classPlanDTOList = classPlanService.listSignUpPage(page);
|
||||
for (ClassPlanDTO classPlanDTO : classPlanDTOList.getRows()) {
|
||||
ApplyClassPlanDTO applyClassPlanDTO = new ApplyClassPlanDTO();
|
||||
int applyClassPlanState = countApplyCardNumber(applyCardNumber,classPlanDTO.getClassPlanId());
|
||||
|
@ -1,12 +1,15 @@
|
||||
package cn.com.tenlion.service.classplan;
|
||||
|
||||
import cn.com.tenlion.pojo.bos.classplan.ClassPlanBO;
|
||||
import cn.com.tenlion.pojo.dtos.apply.ApplyDTO;
|
||||
import cn.com.tenlion.pojo.dtos.classplan.ClassPlanDTO;
|
||||
import cn.com.tenlion.pojo.dtos.classplan.ClassPlanReportExamDTO;
|
||||
import cn.com.tenlion.pojo.pos.classplan.ClassPlanPO;
|
||||
import cn.com.tenlion.pojo.vos.classplan.ClassPlanVO;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
import cn.com.tenlion.pojo.dtos.classplan.ClassPlanDTO;
|
||||
import cn.com.tenlion.pojo.vos.classplan.ClassPlanVO;
|
||||
import cn.com.tenlion.pojo.bos.classplan.ClassPlanBO;
|
||||
import cn.com.tenlion.pojo.pos.classplan.ClassPlanPO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -219,4 +222,25 @@ public interface IClassPlanService {
|
||||
* @param classPlanVO
|
||||
*/
|
||||
void updateExamType(String classPlanId, ClassPlanVO classPlanVO);
|
||||
|
||||
/**
|
||||
* 查询考试申请详情
|
||||
* @param classPlanId
|
||||
* @return
|
||||
*/
|
||||
ClassPlanReportExamDTO getReportExamDetail(String classPlanId);
|
||||
|
||||
/**
|
||||
* 参考人员列表
|
||||
* @param classPlanId
|
||||
* @return
|
||||
*/
|
||||
List<ApplyDTO> listExamUser(String classPlanId);
|
||||
|
||||
/**
|
||||
* 可报名列表
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
SuccessResultList<List<ClassPlanDTO>> listSignUpPage(ListPage page);
|
||||
}
|
@ -6,6 +6,8 @@ import cn.com.tenlion.institutionmanagement.service.institution.IInstitutionServ
|
||||
import cn.com.tenlion.pojo.bos.classplan.ClassPlanBO;
|
||||
import cn.com.tenlion.pojo.dtos.apply.ApplyDTO;
|
||||
import cn.com.tenlion.pojo.dtos.classplan.ClassPlanDTO;
|
||||
import cn.com.tenlion.pojo.dtos.classplan.ClassPlanReportExamDTO;
|
||||
import cn.com.tenlion.pojo.dtos.distributioncard.DistributionCardDTO;
|
||||
import cn.com.tenlion.pojo.dtos.examapply.ExamApplyDTO;
|
||||
import cn.com.tenlion.pojo.dtos.worktype.WorkTypeDTO;
|
||||
import cn.com.tenlion.pojo.pos.classplan.ClassPlanPO;
|
||||
@ -16,6 +18,7 @@ import cn.com.tenlion.service.apply.IApplyService;
|
||||
import cn.com.tenlion.service.classplan.IClassPlanService;
|
||||
import cn.com.tenlion.service.examapply.IExamApplyService;
|
||||
import cn.com.tenlion.service.examcheck.IExamCheckService;
|
||||
import cn.com.tenlion.service.examination.distributioncard.IDistributionCardService;
|
||||
import cn.com.tenlion.service.worktype.IWorkTypeService;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
@ -64,6 +67,9 @@ public class ClassPlanServiceImpl extends DefaultBaseService implements IClassPl
|
||||
// 考试申请
|
||||
@Autowired
|
||||
private IExamApplyService examApplyService;
|
||||
@Autowired
|
||||
// 准考证
|
||||
private IDistributionCardService distributionCardService;
|
||||
|
||||
@Override
|
||||
public void save(ClassPlanVO classPlanVO) {
|
||||
@ -312,6 +318,36 @@ public class ClassPlanServiceImpl extends DefaultBaseService implements IClassPl
|
||||
queryMap.put("applyAuditStates",applyAuditStates);
|
||||
List<ApplyDTO> list = applyService.list(queryMap);
|
||||
item.setSignUpUserCount(list == null ? 0 : list.size());
|
||||
//查询待处理人数
|
||||
applyAuditStates.clear();
|
||||
applyAuditStates.add("0");
|
||||
queryMap.put("applyAuditStates",applyAuditStates);
|
||||
List<ApplyDTO> waitList = applyService.list(queryMap);
|
||||
item.setWaitSignUpUser(waitList == null ? 0 : waitList.size());
|
||||
}
|
||||
PageInfo<ClassPlanDTO> pageInfo = new PageInfo<>(classPlanDTOs);
|
||||
return new SuccessResultList<>(classPlanDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public SuccessResultList<List<ClassPlanDTO>> listSignUpPage(ListPage page) {
|
||||
PageHelper.startPage(page.getPage(), page.getRows());
|
||||
List<ClassPlanDTO> classPlanDTOs = list(page.getParams());
|
||||
Map<String,Object> queryMap = getHashMap(4);
|
||||
for(ClassPlanDTO item : classPlanDTOs){
|
||||
//处理培训项目
|
||||
DataDTO dataDTO = dataService.get(item.getProjectCatalogId());
|
||||
item.setProjectCatalogName(dataDTO.getDataName());
|
||||
//处理工种类型
|
||||
WorkTypeDTO workTypeDTO = workTypeService.get(item.getWorkerCatalog());
|
||||
item.setWorkerCatalogName(workTypeDTO.getWorkTypeName());
|
||||
//查询已报名人数(这里只统计了报到完成的情况)
|
||||
queryMap.put("applyClassId",item.getClassPlanId());
|
||||
List<String> applyAuditStates = new ArrayList<>();
|
||||
applyAuditStates.add("3");
|
||||
queryMap.put("applyAuditStates",applyAuditStates);
|
||||
List<ApplyDTO> list = applyService.list(queryMap);
|
||||
item.setSignUpUserCount(list == null ? 0 : list.size());
|
||||
}
|
||||
PageInfo<ClassPlanDTO> pageInfo = new PageInfo<>(classPlanDTOs);
|
||||
return new SuccessResultList<>(classPlanDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
|
||||
@ -372,4 +408,47 @@ public class ClassPlanServiceImpl extends DefaultBaseService implements IClassPl
|
||||
}
|
||||
examApplyService.save(examApplyVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassPlanReportExamDTO getReportExamDetail(String classPlanId) {
|
||||
Map<String, Object> queryMap = getHashMap(8);
|
||||
//查询考试申请记录信息
|
||||
queryMap.put("examId",classPlanId);
|
||||
ExamApplyDTO examApplyDTO = examApplyService.get(queryMap);
|
||||
ClassPlanReportExamDTO examDTO = new ClassPlanReportExamDTO();
|
||||
examDTO.setCheckStatus(examApplyDTO.getCheckStatus());
|
||||
examDTO.setReason(examApplyDTO.getReason());
|
||||
examDTO.setExamType(examApplyDTO.getExamType());
|
||||
examDTO.setExamApplyId(examApplyDTO.getExamApplyId());
|
||||
examDTO.setTheoryExamStartTime(examApplyDTO.getTheoryExamStartTime());
|
||||
examDTO.setTheoryExamEndTime(examApplyDTO.getTheoryExamEndTime());
|
||||
if(examApplyDTO.getExamType() != 2){
|
||||
InstitutionDTO institutionDTO = iInstitutionService.get(examApplyDTO.getTheoryExamAddressId());
|
||||
examDTO.setTheoryExamAddress(institutionDTO.getInstitutionName() + "-" + institutionDTO.getInstitutionAddress());
|
||||
}
|
||||
examDTO.setPracticeExamStartTime(examApplyDTO.getPracticeExamStartTime());
|
||||
examDTO.setPracticeExamEndTime(examApplyDTO.getPracticeExamEndTime());
|
||||
if(examApplyDTO.getExamType() != 1){
|
||||
InstitutionDTO institutionDTO = iInstitutionService.get(examApplyDTO.getPracticeExamAddressId());
|
||||
examDTO.setPracticeExamAddress(institutionDTO.getInstitutionName() + "-" + institutionDTO.getInstitutionAddress());
|
||||
}
|
||||
return examDTO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ApplyDTO> listExamUser(String classPlanId) {
|
||||
Map<String, Object> queryMap = getHashMap(8);
|
||||
queryMap.put("applyClassId",classPlanId);
|
||||
List<String> applyAuditStates = new ArrayList<>();
|
||||
applyAuditStates.add("3");
|
||||
queryMap.put("applyAuditStates",applyAuditStates);
|
||||
List<ApplyDTO> list = applyService.list(queryMap);
|
||||
for(ApplyDTO uItem : list) {
|
||||
List<DistributionCardDTO> cardDTOS = distributionCardService.listByClassPlanIdAndUserId(classPlanId, uItem.getCreate());
|
||||
if(cardDTOS != null && cardDTOS.size() > 0){
|
||||
uItem.setDistributionCardCode(cardDTOS.get(0).getDistributionCardPictures());
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
@ -104,7 +104,7 @@
|
||||
cols: [
|
||||
[
|
||||
{field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '<span>{{d.LAY_INDEX}}</span>'},
|
||||
{width:100, title: '操作', fixed: 'left', align:'center',
|
||||
{width:150, title: '操作', fixed: 'left', align:'center',
|
||||
templet: function(row) {
|
||||
var dom = '';
|
||||
if(row['examType'] === ''){
|
||||
@ -113,14 +113,17 @@
|
||||
}
|
||||
if(row['examType'] === '0'){
|
||||
dom += '<a type="button" class="layui-btn layui-btn-warm layui-btn-xs">审核中</a>';
|
||||
dom += '<a type="button" class="layui-btn layui-btn-primary layui-btn-xs" lay-event="updateEvent">查看</a>';
|
||||
return dom;
|
||||
}
|
||||
if(row['examType'] === '1'){
|
||||
dom += '<a type="button" class="layui-btn layui-btn-normal layui-btn-xs">审核通过</a>';
|
||||
dom += '<a type="button" class="layui-btn layui-btn-primary layui-btn-xs" lay-event="showEvent">查看</a>';
|
||||
return dom;
|
||||
}
|
||||
if(row['examType'] === '2'){
|
||||
dom += '<a type="button" class="layui-btn layui-btn-warm layui-btn-xs">审核驳回</a>';
|
||||
dom += '<a type="button" class="layui-btn layui-btn-danger layui-btn-xs">审核驳回</a>';
|
||||
dom += '<a type="button" class="layui-btn layui-btn-primary layui-btn-xs" lay-event="updateEvent">查看</a>';
|
||||
return dom;
|
||||
}
|
||||
}
|
||||
@ -264,6 +267,32 @@
|
||||
}
|
||||
});
|
||||
}
|
||||
if(layEvent == 'showEvent'){
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '查看申请结果',
|
||||
closeBtn: 1,
|
||||
area: ['80%', '80%'],
|
||||
shadeClose: false,
|
||||
anim: 2,
|
||||
content: top.restAjax.path('route/classplan/show-report-exam.html?classPlanId={classPlanId}', [obj.data.classPlanId]),
|
||||
end: function () {
|
||||
}
|
||||
});
|
||||
}
|
||||
if(layEvent == 'updateEvent'){
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '查看申请信息',
|
||||
closeBtn: 1,
|
||||
area: ['30%', '60%'],
|
||||
shadeClose: false,
|
||||
anim: 2,
|
||||
content: top.restAjax.path('route/classplan/update-report-exam.html?classPlanId={classPlanId}', [obj.data.classPlanId]),
|
||||
end: function () {
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
</script>
|
||||
|
@ -149,10 +149,10 @@
|
||||
if(rowData == '1'){
|
||||
return '初训';
|
||||
}
|
||||
if(rowData == '1'){
|
||||
if(rowData == '2'){
|
||||
return '复训';
|
||||
}
|
||||
if(rowData == '1'){
|
||||
if(rowData == '3'){
|
||||
return '换证';
|
||||
}
|
||||
return '-';
|
||||
@ -185,6 +185,15 @@
|
||||
return '<span style="color: #b83023">' + rowData + '</span> 人';
|
||||
}
|
||||
},
|
||||
{field: 'waitSignUpUser', width: 100, title: '报名待处理', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return '<span style="color: #b87e26">' + rowData + '</span> 人';
|
||||
}
|
||||
},
|
||||
{field: 'signUpUserCount', width: 90, title: '完成报名', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
|
@ -23,7 +23,7 @@
|
||||
<select id="examType" name="examType" lay-verify="required">
|
||||
<option value="1">理论考试</option>
|
||||
<option value="2">实操考试</option>
|
||||
<option value="1">理论与实操</option>
|
||||
<option value="3">理论与实操</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
185
src/main/resources/static/route/classplan/show-report-exam.html
Normal file
185
src/main/resources/static/route/classplan/show-report-exam.html
Normal file
@ -0,0 +1,185 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="/signup/">
|
||||
<meta charset="utf-8">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||
<link rel="stylesheet" type="text/css" href="assets/js/vendor/viewer/viewer.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-anim layui-anim-fadein">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body" style="padding: 15px;">
|
||||
<form class="layui-form layui-form-pane" lay-filter="dataForm">
|
||||
<input type="hidden" id="orgId" name="orgId">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width: 160px;">考试类型</label>
|
||||
<div class="layui-input-block" style="margin-left: 160px;">
|
||||
<input type="text" class="layui-input" id="examTypeName" name="examTypeName" value="" readonly="readonly">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row theory-exam-div">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width: 160px;">理论考试时间</label>
|
||||
<div class="layui-input-block" style="margin-left: 160px;">
|
||||
<input type="text" id="theoryExam" name="theoryExam" class="layui-input" value="" readonly style="cursor: pointer;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width: 160px;">理论考试地点</label>
|
||||
<div class="layui-input-block" style="margin-left: 160px;">
|
||||
<input type="text" id="theoryExamAddr" name="theoryExamAddr" class="layui-input" value="" readonly style="cursor: pointer;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row practice-exam-div">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width: 160px;">实操考试时间</label>
|
||||
<div class="layui-input-block" style="margin-left: 160px;">
|
||||
<input type="text" id="practiceExam" name="practiceExam" class="layui-input" value="" readonly style="cursor: pointer;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width: 160px;">实操考试地点</label>
|
||||
<div class="layui-input-block" style="margin-left: 160px;">
|
||||
<input type="text" id="practiceExamAddr" name="practiceExamAddr" class="layui-input" value="" readonly style="cursor: pointer;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<blockquote id="report-reason-block" class="layui-elem-quote" style="border-left: 5px solid #51cc2e;">参考人员</blockquote>
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-md12">
|
||||
<table class="layui-table" id="dataTable" lay-filter="dataTable">
|
||||
<tbody id="examUserTemplateBox"></tbody>
|
||||
<script type="text/html" id="examUserTemplate">
|
||||
{{# if(d.length == 0){ }}
|
||||
<tr style="text-align: center">
|
||||
<td>没有查询到参考人员信息</td>
|
||||
</tr>
|
||||
{{# } }}
|
||||
{{# for(var i = 0, item; item = d[i++];) { }}
|
||||
<tr>
|
||||
<td style="text-align: center">{{item.applyName}}</td>
|
||||
<td style="text-align: center">{{item.applySex}}</td>
|
||||
<td style="text-align: center">{{item.applyCardNumber}}</td>
|
||||
<td style="text-align: center">{{item.applyPhone}}</td>
|
||||
<td style="text-align: center">{{item.applyPhone}}</td>
|
||||
</tr>
|
||||
{{# } }}
|
||||
</script>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||
<script>
|
||||
layui.config({
|
||||
base: 'assets/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index', 'form', 'laydate', 'laytpl'], function(){
|
||||
var $ = layui.$;
|
||||
var $win = $(window);
|
||||
var form = layui.form;
|
||||
var laytpl = layui.laytpl;
|
||||
var laydate = layui.laydate;
|
||||
var classPlanId = top.restAjax.params(window.location.href).classPlanId;
|
||||
|
||||
// 初始化内容
|
||||
function initData() {
|
||||
top.restAjax.get(top.restAjax.path('api/classplan/get-report-exam-detail/{classPlanId}', [classPlanId]), {}, null, function(code, data) {
|
||||
var dataFormData = {};
|
||||
for(var i in data) {
|
||||
dataFormData[i] = data[i] +'';
|
||||
}
|
||||
var examType = dataFormData['examType'];
|
||||
if(examType == '1'){
|
||||
dataFormData['examTypeName'] = '理论考试';
|
||||
$('.practice-exam-div').hide();
|
||||
}
|
||||
if(examType == '2'){
|
||||
dataFormData['examTypeName'] = '实操考试';
|
||||
$('.theory-exam-div').hide();
|
||||
}
|
||||
if(examType == '3'){
|
||||
dataFormData['examTypeName'] = '理论与实操考试';
|
||||
}
|
||||
dataFormData['theoryExam'] = dataFormData['theoryExamStartTime'] + ' 至 ' + dataFormData['theoryExamEndTime'];
|
||||
dataFormData['theoryExamAddr'] = dataFormData['theoryExamAddress'];
|
||||
dataFormData['practiceExam'] = dataFormData['practiceExamStartTime'] + ' 至 ' + dataFormData['practiceExamEndTime'];
|
||||
dataFormData['practiceExamAddr'] = dataFormData['practiceExamAddress'];
|
||||
form.val('dataForm', dataFormData);
|
||||
form.render(null, 'dataForm');
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
});
|
||||
$('.layui-card').height($win.height());
|
||||
}
|
||||
initData();
|
||||
|
||||
//初始化参考人员列表
|
||||
function initExamUser(){
|
||||
top.restAjax.get(top.restAjax.path('api/classplan/list-exam-user/{classPlanId}', [classPlanId]), {}, null, function(code, data) {
|
||||
laytpl(document.getElementById('examUserTemplate').innerHTML).render(data, function(html) {
|
||||
document.getElementById('examUserTemplateBox').innerHTML = html;
|
||||
});
|
||||
form.render();
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
});
|
||||
}
|
||||
initExamUser();
|
||||
|
||||
// 提交表单
|
||||
form.on('submit(submitForm)', function(formData) {
|
||||
top.dialog.confirm(top.dataMessage.commit, function(index) {
|
||||
top.dialog.close(index);
|
||||
var loadLayerIndex;
|
||||
top.restAjax.put(top.restAjax.path('api/classplan/update-exam/{classPlanId}', [classPlanId]), formData.field, null, function(code, data) {
|
||||
var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, {
|
||||
time: 0,
|
||||
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
||||
shade: 0.3,
|
||||
yes: function(index) {
|
||||
top.dialog.close(index);
|
||||
window.location.reload();
|
||||
},
|
||||
btn2: function() {
|
||||
closeBox();
|
||||
}
|
||||
});
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
}, function() {
|
||||
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
|
||||
}, function() {
|
||||
top.dialog.close(loadLayerIndex);
|
||||
});
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.close').on('click', function() {
|
||||
closeBox();
|
||||
});
|
||||
|
||||
function closeBox() {
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
||||
}
|
||||
|
||||
// 校验
|
||||
form.verify({
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,153 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="/signup/">
|
||||
<meta charset="utf-8">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||
<link rel="stylesheet" type="text/css" href="assets/js/vendor/viewer/viewer.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-anim layui-anim-fadein">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body" style="padding: 15px;">
|
||||
<form class="layui-form layui-form-pane" lay-filter="dataForm">
|
||||
<blockquote id="reason-block" class="layui-elem-quote" style="border-left: 5px solid #cc0200;display: none;"></blockquote>
|
||||
<input type="hidden" id="orgId" name="orgId">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width: 160px;">选择考试类型</label>
|
||||
<div class="layui-input-block" style="margin-left: 160px;">
|
||||
<select id="examType" name="examType" lay-verify="required">
|
||||
<option value="1">理论考试</option>
|
||||
<option value="2">实操考试</option>
|
||||
<option value="3">理论与实操</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width: 160px;"><span style="color: red">*</span>预计考试时间始</label>
|
||||
<div class="layui-input-block" style="margin-left: 160px;">
|
||||
<input type="text" id="estimateStart" name="estimateStart" class="layui-input" value="" placeholder="请选择预计考试开始时间" readonly style="cursor: pointer;" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width: 160px;"><span style="color: red">*</span>预计考试时间止</label>
|
||||
<div class="layui-input-block" style="margin-left: 160px;">
|
||||
<input type="text" id="estimateEnd" name="estimateEnd" class="layui-input" value="" placeholder="请选择预计考试结束时间" readonly style="cursor: pointer;" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-layout-admin" id="submit-div" style="display: none;">
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-footer" style="left: 0;">
|
||||
<button type="button" class="layui-btn" lay-submit lay-filter="submitForm">提交申请</button>
|
||||
<button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||
<script>
|
||||
layui.config({
|
||||
base: 'assets/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index', 'form', 'laydate', 'laytpl'], function(){
|
||||
var $ = layui.$;
|
||||
var $win = $(window);
|
||||
var form = layui.form;
|
||||
var laytpl = layui.laytpl;
|
||||
var laydate = layui.laydate;
|
||||
var classPlanId = top.restAjax.params(window.location.href).classPlanId;
|
||||
|
||||
// 初始化内容
|
||||
function initData() {
|
||||
top.restAjax.get(top.restAjax.path('api/classplan/get-report-exam-detail/{classPlanId}', [classPlanId]), {}, null, function(code, data) {
|
||||
var dataFormData = {};
|
||||
for(var i in data) {
|
||||
dataFormData[i] = data[i] +'';
|
||||
}
|
||||
form.val('dataForm', dataFormData);
|
||||
form.render(null, 'dataForm');
|
||||
var estimateStart = dataFormData['theoryExamStartTime'];
|
||||
var estimateEnd = dataFormData['theoryExamEndTime'];
|
||||
laydate.render({
|
||||
elem: '#estimateStart',
|
||||
format: 'yyyy-MM-dd',
|
||||
value : estimateStart.substring(0,10)
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#estimateEnd',
|
||||
format: 'yyyy-MM-dd',
|
||||
value : estimateEnd.substring(0,10)
|
||||
});
|
||||
//判断审核状态0审核中
|
||||
if(dataFormData['checkStatus'] == '0'){
|
||||
$('#reason-block').text('审核中.....');
|
||||
$('#reason-block').show();
|
||||
}
|
||||
//判断审核状态2审核不通过
|
||||
if(dataFormData['checkStatus'] == '2'){
|
||||
$('#submit-div').show();
|
||||
$('#reason-block').text('未通过原因:' + dataFormData['reason']);
|
||||
$('#reason-block').show();
|
||||
}
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
});
|
||||
|
||||
$('.layui-card').height($win.height());
|
||||
}
|
||||
initData();
|
||||
|
||||
// 提交表单
|
||||
form.on('submit(submitForm)', function(formData) {
|
||||
top.dialog.confirm(top.dataMessage.commit, function(index) {
|
||||
top.dialog.close(index);
|
||||
var loadLayerIndex;
|
||||
top.restAjax.put(top.restAjax.path('api/classplan/update-exam/{classPlanId}', [classPlanId]), formData.field, null, function(code, data) {
|
||||
var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, {
|
||||
time: 0,
|
||||
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
||||
shade: 0.3,
|
||||
yes: function(index) {
|
||||
top.dialog.close(index);
|
||||
window.location.reload();
|
||||
},
|
||||
btn2: function() {
|
||||
closeBox();
|
||||
}
|
||||
});
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
}, function() {
|
||||
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
|
||||
}, function() {
|
||||
top.dialog.close(loadLayerIndex);
|
||||
});
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.close').on('click', function() {
|
||||
closeBox();
|
||||
});
|
||||
|
||||
function closeBox() {
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
||||
}
|
||||
|
||||
// 校验
|
||||
form.verify({
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -21,7 +21,7 @@
|
||||
</span>
|
||||
</div>
|
||||
<div class="layui-card-body" style="padding: 15px;">
|
||||
<blockquote id="report-reason-block" class="layui-elem-quote" style="border-left: 5px solid #cc0200;display: none;">引用区域的文字</blockquote>
|
||||
<blockquote id="report-reason-block" class="layui-elem-quote" style="border-left: 5px solid #cc0200;display: none;"></blockquote>
|
||||
<form class="layui-form layui-form-pane" lay-filter="dataForm">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-md6">
|
||||
@ -252,6 +252,7 @@
|
||||
form.val('dataForm', dataFormData);
|
||||
form.render(null, 'dataForm');
|
||||
if(dataFormData['reportReason'] != ''){
|
||||
$('#report-reason-block').text('报备未通过原因:' + dataFormData['reportReason']);
|
||||
$('#report-reason-block').show();
|
||||
}
|
||||
initPlanStartTimeDateTime();
|
||||
|
Loading…
Reference in New Issue
Block a user