图片套版生成模块

This commit is contained in:
cuibaocheng 2021-05-05 13:11:10 +08:00
parent d65c2c63e7
commit a2b255b52b
28 changed files with 1744 additions and 55 deletions

View File

@ -0,0 +1,110 @@
package cn.com.tenlion.controller.api.examination.distributioncard;
import cn.com.tenlion.service.examination.distributioncard.IDistributionCardService;
import ink.wgink.annotation.CheckRequestBodyAnnotation;
import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.pojo.ListPage;
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.distributioncard.DistributionCardDTO;
import cn.com.tenlion.pojo.vos.distributioncard.DistributionCardVO;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* @ClassName: DistributionCardController
* @Description: 考场分配准考证
* @Author: CodeFactory
* @Date: 2021-05-03 16:46:42
* @Version: 3.0
**/
@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "考场分配准考证接口")
@RestController
@RequestMapping(ISystemConstant.API_PREFIX + "/distributioncard")
public class DistributionCardController extends DefaultBaseController {
@Autowired
private IDistributionCardService distributionCardService;
@ApiOperation(value = "新增考场分配准考证", notes = "新增考场分配准考证接口")
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@PostMapping("save")
@CheckRequestBodyAnnotation
public SuccessResult save(@RequestBody DistributionCardVO distributionCardVO) {
distributionCardService.save(distributionCardVO);
return new SuccessResult();
}
@ApiOperation(value = "删除考场分配准考证", notes = "删除考场分配准考证接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "ID列表用下划线分隔", paramType = "path", example = "1_2_3")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@DeleteMapping("remove/{ids}")
public SuccessResult remove(@PathVariable("ids") String ids) {
distributionCardService.remove(Arrays.asList(ids.split("\\_")));
return new SuccessResult();
}
@ApiOperation(value = "修改考场分配准考证", notes = "修改考场分配准考证接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "distributionCardId", value = "考场分配准考证ID", paramType = "path")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@PutMapping("update/{distributionCardId}")
@CheckRequestBodyAnnotation
public SuccessResult update(@PathVariable("distributionCardId") String distributionCardId, @RequestBody DistributionCardVO distributionCardVO) {
distributionCardService.update(distributionCardId, distributionCardVO);
return new SuccessResult();
}
@ApiOperation(value = "考场分配准考证详情", notes = "考场分配准考证详情接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "distributionCardId", value = "考场分配准考证ID", paramType = "path")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("get/{distributionCardId}")
public DistributionCardDTO get(@PathVariable("distributionCardId") String distributionCardId) {
return distributionCardService.get(distributionCardId);
}
@ApiOperation(value = "考场分配准考证列表", notes = "考场分配准考证列表接口")
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("list")
public List<DistributionCardDTO> list() {
Map<String, Object> params = requestParams();
return distributionCardService.list(params);
}
@ApiOperation(value = "考场分配准考证分页列表", notes = "考场分配准考证分页列表接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("listpage")
public SuccessResultList<List<DistributionCardDTO>> listPage(ListPage page) {
Map<String, Object> params = requestParams();
page.setParams(params);
return distributionCardService.listPage(page);
}
@ApiOperation(value = "考场分配准考证统计", notes = "考场分配准考证统计接口")
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("count")
SuccessResultData<Integer> count() {
Map<String, Object> params = requestParams();
return new SuccessResultData<>(distributionCardService.count(params));
}
}

View File

@ -1,8 +1,14 @@
package cn.com.tenlion.controller.api.examination.field;
import cn.com.tenlion.organizationmanagement.pojo.dtos.organization.OrganizationDTO;
import cn.com.tenlion.organizationmanagement.service.organization.IOrganizationService;
import cn.com.tenlion.pojo.dtos.examination.ExaminationDTO;
import cn.com.tenlion.pojo.dtos.field.FieldDTO;
import cn.com.tenlion.pojo.dtos.worktype.WorkTypeDTO;
import cn.com.tenlion.pojo.dtos.worktype.WorkTypeZTreeDTO;
import cn.com.tenlion.pojo.vos.worktype.WorkTypeVO;
import cn.com.tenlion.service.examination.IExaminationService;
import cn.com.tenlion.service.examination.field.IFieldService;
import cn.com.tenlion.service.worktype.IWorkTypeService;
import ink.wgink.annotation.CheckRequestBodyAnnotation;
import ink.wgink.common.base.DefaultBaseController;
@ -29,7 +35,26 @@ import java.util.Map;
**/
@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "考场信息接口")
@RestController
@RequestMapping(ISystemConstant.API_PREFIX + "/worktype")
@RequestMapping(ISystemConstant.API_PREFIX + "/field")
public class FieldController extends DefaultBaseController {
@Autowired
private IFieldService iFieldService;
@ApiOperation(value = "分页列表", notes = "分页列表接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("list-page")
public SuccessResultList<List<FieldDTO>> listPage(ListPage page) {
Map<String, Object> params = requestParams();
page.setParams(params);
return iFieldService.listPage(page);
}
}

View File

@ -0,0 +1,43 @@
package cn.com.tenlion.controller.app.api.examination.distribution;
import cn.com.tenlion.pojo.dtos.distribution.DistributionDTO;
import cn.com.tenlion.service.examination.distribution.IDistributionService;
import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.result.ErrorResult;
import ink.wgink.pojo.result.SuccessResultData;
import ink.wgink.pojo.result.SuccessResultList;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* @ClassName: DistributionAppController
* @Description: 考场分配
* @Author: CodeFactory
* @Date: 2021-05-03 16:46:42
* @Version: 3.0
**/
@Api(tags = ISystemConstant.API_TAGS_APP_PREFIX + "考场分配接口")
@RestController
@RequestMapping(ISystemConstant.APP_PREFIX + "/distribution")
public class DistributionAppController extends DefaultBaseController {
@Autowired
private IDistributionService distributionService;
@ApiOperation(value = "考场分配详情(通过考试申请ID)", notes = "考场分配详情(通过考试申请ID)接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "token", paramType = "header"),
@ApiImplicitParam(name = "planId", value = "通过考试申请ID", paramType = "path")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("get/{planId}")
public DistributionDTO get(@RequestHeader("token") String token, @PathVariable("planId") String planId) {
return distributionService.get(planId);
}
}

View File

@ -0,0 +1,47 @@
package cn.com.tenlion.controller.app.api.examination.distributioncard;
import cn.com.tenlion.service.examination.distributioncard.IDistributionCardService;
import ink.wgink.annotation.CheckRequestBodyAnnotation;
import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.pojo.ListPage;
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.distributioncard.DistributionCardDTO;
import cn.com.tenlion.pojo.vos.distributioncard.DistributionCardVO;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* @ClassName: DistributionCardAppController
* @Description: 考场分配准考证
* @Author: CodeFactory
* @Date: 2021-05-03 16:46:42
* @Version: 3.0
**/
@Api(tags = ISystemConstant.API_TAGS_APP_PREFIX + "考场分配准考证接口")
@RestController
@RequestMapping(ISystemConstant.APP_PREFIX + "/distributioncard")
public class DistributionCardAppController extends DefaultBaseController {
@Autowired
private IDistributionCardService distributionCardService;
@ApiOperation(value = "考场分配准考证详情(报名ID)", notes = "考场分配准考证详情(报名ID)接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "token", paramType = "header"),
@ApiImplicitParam(name = "distributionCardId", value = "报名ID", paramType = "path")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("get/{distributionCardId}")
public DistributionCardDTO get(@RequestHeader("token") String token, @PathVariable("distributionCardId") String distributionCardId) {
return distributionCardService.get(distributionCardId);
}
}

View File

@ -50,6 +50,26 @@ public class DistributionDTO {
private String distributionAllotTime;
@ApiModelProperty(name = "distributionFieldList", value = "")
private List<DistributionFieldDTO>distributionFieldList;
@ApiModelProperty(name = "distributionEndTime", value = "预计结束时间")
private String distributionEndTime;
@ApiModelProperty(name = "distributionAllotEndTime", value = "分配结束时间")
private String distributionAllotEndTime;
public String getDistributionEndTime() {
return distributionEndTime == null ? "" : distributionEndTime;
}
public void setDistributionEndTime(String distributionEndTime) {
this.distributionEndTime = distributionEndTime;
}
public String getDistributionAllotEndTime() {
return distributionAllotEndTime == null ? "" : distributionAllotEndTime;
}
public void setDistributionAllotEndTime(String distributionAllotEndTime) {
this.distributionAllotEndTime = distributionAllotEndTime;
}
public List<DistributionFieldDTO> getDistributionFieldList() {
return distributionFieldList;

View File

@ -30,6 +30,8 @@ public class DistributionCardDTO {
private String distributionCardUserId;
@ApiModelProperty(name = "distributionCardUserName", value = "对应的考生姓名")
private String distributionCardUserName;
@ApiModelProperty(name = "fieldName", value = "考场名称")
private String fieldName;
@ApiModelProperty(name = "creator", value = "")
private String creator;
@ApiModelProperty(name = "gmtCreate", value = "")
@ -40,6 +42,54 @@ public class DistributionCardDTO {
private String gmtModified;
@ApiModelProperty(name = "isDelete", value = "")
private Integer isDelete;
@ApiModelProperty(name = "distributionCardUserSex", value = "对应的考生性别")
private String distributionCardUserSex;
@ApiModelProperty(name = "distributionCardUserIdentity", value = "对应的考生证件")
private String distributionCardUserIdentity;
@ApiModelProperty(name = "distributionCardUserResult", value = "对应的考生成绩")
private String distributionCardUserResult;
@ApiModelProperty(name = "distributionCardUserStatus", value = "对应的考生参加考试状态,2:未参加,1:已参加.0:未开始")
private String distributionCardUserStatus;
public String getDistributionCardUserSex() {
return distributionCardUserSex == null ? "" : distributionCardUserSex;
}
public void setDistributionCardUserSex(String distributionCardUserSex) {
this.distributionCardUserSex = distributionCardUserSex;
}
public String getDistributionCardUserIdentity() {
return distributionCardUserIdentity == null ? "" : distributionCardUserIdentity;
}
public void setDistributionCardUserIdentity(String distributionCardUserIdentity) {
this.distributionCardUserIdentity = distributionCardUserIdentity;
}
public String getDistributionCardUserResult() {
return distributionCardUserResult == null ? "" : distributionCardUserResult;
}
public void setDistributionCardUserResult(String distributionCardUserResult) {
this.distributionCardUserResult = distributionCardUserResult;
}
public String getDistributionCardUserStatus() {
return distributionCardUserStatus == null ? "" : distributionCardUserStatus;
}
public void setDistributionCardUserStatus(String distributionCardUserStatus) {
this.distributionCardUserStatus = distributionCardUserStatus;
}
public String getFieldName() {
return fieldName == null ? "" : fieldName;
}
public void setFieldName(String fieldName) {
this.fieldName = fieldName;
}
public String getDistributionCardId() {
return distributionCardId == null ? "" : distributionCardId.trim();

View File

@ -0,0 +1,28 @@
package cn.com.tenlion.pojo.dtos.field;
import cn.com.tenlion.organizationmanagement.pojo.dtos.organization.OrganizationDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
*
* @ClassName: ExaminationDTO
* @Description:
* @Author: CodeFactory
* @Date: 2021-05-01 15:16:57
* @Version: 3.0
**/
@ApiModel
public class FieldDTO extends OrganizationDTO {
@ApiModelProperty(name = "fieldName", value = "考点名称")
private String fieldName;
public String getFieldName() {
return fieldName == null ? "" : fieldName;
}
public void setFieldName(String fieldName) {
this.fieldName = fieldName;
}
}

View File

@ -33,6 +33,16 @@ public class DistributionSaveVO {
private String stationId;
@ApiModelProperty(name = "distributionRemark", value = "备注信息")
private String distributionRemark;
@ApiModelProperty(name = "distributionEndTime", value = "预计结束时间")
private String distributionEndTime;
public String getDistributionEndTime() {
return distributionEndTime == null ? "" : distributionEndTime;
}
public void setDistributionEndTime(String distributionEndTime) {
this.distributionEndTime = distributionEndTime;
}
public String getPlanId() {
return planId == null ? "" : planId;

View File

@ -1,6 +1,7 @@
package cn.com.tenlion.pojo.vos.distribution;
import ink.wgink.annotation.CheckEmptyAnnotation;
import ink.wgink.annotation.CheckNullAnnotation;
import ink.wgink.annotation.CheckNumberAnnotation;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -21,6 +22,7 @@ public class DistributionVO {
@ApiModelProperty(name = "distributionTime", value = "最终分配时间")
private String distributionTime;
@ApiModelProperty(name = "distributionFields", value = "最终分配考场,多个")
@CheckNullAnnotation(name = "分配考场")
private String distributionFields;
@ApiModelProperty(name = "distributionStatus", value = "1:分配成功,0:分配退回")
private String distributionStatus;
@ -33,8 +35,30 @@ public class DistributionVO {
private String planName;
@ApiModelProperty(name = "stationId", value = "")
private String stationId;
@ApiModelProperty(name = "distributionAllotTime", value = "")
@ApiModelProperty(name = "distributionAllotTime", value = "分配开始时间")
@CheckNullAnnotation(name = "分配开始时间")
private String distributionAllotTime;
@ApiModelProperty(name = "distributionEndTime", value = "预计结束时间")
private String distributionEndTime;
@ApiModelProperty(name = "distributionAllotEndTime", value = "分配结束时间")
@CheckNullAnnotation(name = "分配结束时间")
private String distributionAllotEndTime;
public String getDistributionEndTime() {
return distributionEndTime == null ? "" : distributionEndTime;
}
public void setDistributionEndTime(String distributionEndTime) {
this.distributionEndTime = distributionEndTime;
}
public String getDistributionAllotEndTime() {
return distributionAllotEndTime == null ? "" : distributionAllotEndTime;
}
public void setDistributionAllotEndTime(String distributionAllotEndTime) {
this.distributionAllotEndTime = distributionAllotEndTime;
}
public String getPlanName() {
return planName == null ? "" : planName;

View File

@ -30,6 +30,46 @@ public class DistributionCardVO {
private String distributionCardUserId;
@ApiModelProperty(name = "distributionCardUserName", value = "对应的考生姓名")
private String distributionCardUserName;
@ApiModelProperty(name = "distributionCardUserSex", value = "对应的考生性别")
private String distributionCardUserSex;
@ApiModelProperty(name = "distributionCardUserIdentity", value = "对应的考生证件")
private String distributionCardUserIdentity;
@ApiModelProperty(name = "distributionCardUserResult", value = "对应的考生成绩")
private String distributionCardUserResult;
@ApiModelProperty(name = "distributionCardUserStatus", value = "对应的考生参加考试状态,2:未参加,1:已参加.0:未开始")
private String distributionCardUserStatus;
public String getDistributionCardUserSex() {
return distributionCardUserSex == null ? "" : distributionCardUserSex;
}
public void setDistributionCardUserSex(String distributionCardUserSex) {
this.distributionCardUserSex = distributionCardUserSex;
}
public String getDistributionCardUserIdentity() {
return distributionCardUserIdentity == null ? "" : distributionCardUserIdentity;
}
public void setDistributionCardUserIdentity(String distributionCardUserIdentity) {
this.distributionCardUserIdentity = distributionCardUserIdentity;
}
public String getDistributionCardUserResult() {
return distributionCardUserResult == null ? "" : distributionCardUserResult;
}
public void setDistributionCardUserResult(String distributionCardUserResult) {
this.distributionCardUserResult = distributionCardUserResult;
}
public String getDistributionCardUserStatus() {
return distributionCardUserStatus == null ? "" : distributionCardUserStatus;
}
public void setDistributionCardUserStatus(String distributionCardUserStatus) {
this.distributionCardUserStatus = distributionCardUserStatus;
}
public String getDistributionId() {
return distributionId == null ? "" : distributionId.trim();

View File

@ -227,7 +227,15 @@ public class DistributionServiceImpl extends DefaultBaseService implements IDist
public DistributionDTO get(String distributionId) {
Map<String, Object> params = super.getHashMap(2);
params.put("distributionId", distributionId);
return get(params);
DistributionDTO dto = get(params);
/**
* 回显考场
*/
Map<String, Object> query = new HashMap<String, Object>();
query.put("distributionId",dto.getDistributionId());
List<DistributionFieldDTO> dtoList= iDistributionFieldService.list(query);
dto.setDistributionFieldList(dtoList);
return dto;
}
@Override

View File

@ -47,6 +47,14 @@ public interface IDistributionCardService {
*/
void save(DistributionCardVO distributionCardVO);
/**
* 新增考场分配准考证
*
* @param distributionCardVO
* @return
*/
void saveById(String distributionCardId, DistributionCardVO distributionCardVO);
/**
* 新增考场分配准考证
*

View File

@ -27,6 +27,7 @@ import ink.wgink.util.map.HashMapUtil;
import ink.wgink.util.UUIDUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -119,14 +120,18 @@ public class DistributionCardServiceImpl extends DefaultBaseService implements I
* 保存准考证生成信息
*/
DistributionCardVO distributionCardVO = new DistributionCardVO();
distributionCardVO.setDistributionCardUserId(userList.get(i).getApplyId());
distributionCardVO.setDistributionCardUserId(userList.get(i).getCreate());
distributionCardVO.setDistributionCardUserName(userList.get(i).getApplyName());
distributionCardVO.setDistributionCardNumber(j + "");
distributionCardVO.setDistributionFieldId(fieldDTO.getDistributionFieldId());
distributionCardVO.setClassPlanId(classPlanId);
distributionCardVO.setDistributionId(distributionDTO.getDistributionId());
distributionCardVO.setDistributionCardPictures(base64);
save(distributionCardVO);
distributionCardVO.setDistributionCardUserSex(userList.get(i).getApplySex());
distributionCardVO.setDistributionCardUserIdentity(userList.get(i).getApplyCardNumber());
distributionCardVO.setDistributionCardUserResult("");
distributionCardVO.setDistributionCardUserStatus("0");
save(userList.get(i).getApplyId(), distributionCardVO);
}
}
}
@ -151,6 +156,14 @@ public class DistributionCardServiceImpl extends DefaultBaseService implements I
saveReturnId(distributionCardVO);
}
@Override
public void saveById(String distributionCardId, DistributionCardVO distributionCardVO) {
Map<String, Object> params = HashMapUtil.beanToMap(distributionCardVO);
params.put("distributionCardId", distributionCardId);
setSaveInfo(params);
distributionCardDao.save(params);
}
@Override
public void save(String token, DistributionCardVO distributionCardVO) {
saveReturnId(token, distributionCardVO);
@ -254,7 +267,12 @@ public class DistributionCardServiceImpl extends DefaultBaseService implements I
@Override
public List<DistributionCardDTO> list(Map<String, Object> params) {
return distributionCardDao.list(params);
List<DistributionCardDTO> distributionCardDTOs = distributionCardDao.list(params);
for(DistributionCardDTO dto : distributionCardDTOs ) {
DistributionFieldDTO fieldDTO = distributionFieldService.get(dto.getDistributionFieldId());
dto.setFieldName(fieldDTO.getFieldName());
}
return distributionCardDTOs;
}
@Override

View File

@ -1,6 +1,9 @@
package cn.com.tenlion.service.examination.field;
import cn.com.tenlion.organizationmanagement.pojo.dtos.organization.OrganizationDTO;
import cn.com.tenlion.pojo.bos.worktype.WorkTypeBO;
import cn.com.tenlion.pojo.dtos.field.FieldDTO;
import cn.com.tenlion.pojo.dtos.stationuser.StationUserDTO;
import cn.com.tenlion.pojo.dtos.worktype.WorkTypeDTO;
import cn.com.tenlion.pojo.dtos.worktype.WorkTypeZTreeDTO;
import cn.com.tenlion.pojo.pos.worktype.WorkTypePO;
@ -20,5 +23,20 @@ import java.util.Map;
**/
public interface IFieldService {
/**
* 分页列表
*
* @param page
* @return
*/
SuccessResultList<List<FieldDTO>> listPage(ListPage page);
/**
* 列表
*
* @param params
* @return
*/
List<FieldDTO> list(Map<String, Object> params);
}

View File

@ -0,0 +1,102 @@
package cn.com.tenlion.service.examination.field.impl;
import cn.com.tenlion.dao.examination.stationuser.IStationUserDao;
import cn.com.tenlion.institutionmanagement.pojo.dtos.institution.InstitutionDTO;
import cn.com.tenlion.institutionmanagement.service.institution.IInstitutionService;
import cn.com.tenlion.organizationmanagement.pojo.dtos.organization.OrganizationDTO;
import cn.com.tenlion.organizationmanagement.service.organization.IOrganizationService;
import cn.com.tenlion.pojo.dtos.field.FieldDTO;
import cn.com.tenlion.service.examination.field.IFieldService;
import cn.com.tenlion.service.examination.stationuser.IStationUserService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import ink.wgink.common.base.DefaultBaseService;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.result.SuccessResultList;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @ClassName: FieldServiceImpl
* @Description:
* @Author: CodeFactory
* @Date: 2021-05-02 15:19:56
* @Version: 3.0
**/
@Service
public class FieldServiceImpl extends DefaultBaseService implements IFieldService {
@Autowired
private IStationUserDao stationUserDao;
@Autowired
private IStationUserService iStationUserService;
@Autowired
private IOrganizationService iOrganizationService;
@Autowired
private IInstitutionService iInstitutionService;
@Override
public SuccessResultList<List<FieldDTO>> listPage(ListPage page) {
/**
* 查出当前人员绑定的考点人员配置
* 只显示已经绑定考点的信息
*/
String userId = securityComponent.getCurrentUser().getUserId();
List<String> stationIdList = iStationUserService.getStationByUserId(userId);
/**
* 防止无权限的人员进行查看
*/
PageHelper.startPage(page.getPage(), page.getRows());
if(stationIdList == null || stationIdList.size() < 1 && !"1".equals(userId)) {
List<FieldDTO> organizationDTOs = new ArrayList<FieldDTO>();
PageInfo<FieldDTO> pageInfo = new PageInfo<>(organizationDTOs);
return new SuccessResultList<>(organizationDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
}
List<OrganizationDTO> organizationDTOs = iOrganizationService.list(page.getParams());
List<FieldDTO> fieldDTOs = new ArrayList<FieldDTO>();
for(OrganizationDTO dto : organizationDTOs){
FieldDTO fieldDTO = new FieldDTO();
fieldDTO.setOrganizationId(dto.getOrganizationId());
fieldDTO.setOrganizationImage(dto.getOrganizationImage());
fieldDTO.setOrganizationName(dto.getOrganizationName());
fieldDTO.setOrganizationType(dto.getOrganizationType());
fieldDTO.setOrganizationUserNum(dto.getOrganizationUserNum());
fieldDTO.setOrganizationPrincipal(dto.getOrganizationPrincipal());
fieldDTO.setOrganizationDesc(dto.getOrganizationDesc());
if(!StringUtils.isEmpty(dto.getOrganizationType())) {
InstitutionDTO institutionDTO = iInstitutionService.get(dto.getOrganizationType());
fieldDTO.setFieldName(institutionDTO.getInstitutionName());
}
fieldDTOs.add(fieldDTO);
}
PageInfo<FieldDTO> pageInfo = new PageInfo<>(fieldDTOs);
return new SuccessResultList<>(fieldDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
}
@Override
public List<FieldDTO> list(Map<String, Object> params) {
List<OrganizationDTO> organizationDTOs = iOrganizationService.list(params);
List<FieldDTO> fieldDTOs = new ArrayList<FieldDTO>();
for(OrganizationDTO dto : organizationDTOs){
FieldDTO fieldDTO = new FieldDTO();
fieldDTO.setOrganizationId(dto.getOrganizationId());
fieldDTO.setOrganizationImage(dto.getOrganizationImage());
fieldDTO.setOrganizationName(dto.getOrganizationName());
fieldDTO.setOrganizationType(dto.getOrganizationType());
fieldDTO.setOrganizationUserNum(dto.getOrganizationUserNum());
fieldDTO.setOrganizationPrincipal(dto.getOrganizationPrincipal());
fieldDTO.setOrganizationDesc(dto.getOrganizationDesc());
if(!StringUtils.isEmpty(dto.getOrganizationType())) {
InstitutionDTO institutionDTO = iInstitutionService.get(dto.getOrganizationType());
fieldDTO.setFieldName(institutionDTO.getInstitutionName());
}
fieldDTOs.add(fieldDTO);
}
return fieldDTOs;
}
}

View File

@ -6,6 +6,8 @@
<result column="distribution_id" property="distributionId"/>
<result column="plan_id" property="planId"/>
<result column="distribution_time" property="distributionTime"/>
<result column="distribution_end_time" property="distributionEndTime"/>
<result column="distribution_allot_end_time" property="distributionAllotEndTime"/>
<result column="distribution_fields" property="distributionFields"/>
<result column="distribution_status" property="distributionStatus"/>
<result column="distribution_number" property="distributionNumber"/>
@ -24,6 +26,8 @@
<result column="distribution_id" property="distributionId"/>
<result column="plan_id" property="planId"/>
<result column="distribution_time" property="distributionTime"/>
<result column="distribution_end_time" property="distributionEndTime"/>
<result column="distribution_allot_end_time" property="distributionAllotEndTime"/>
<result column="distribution_fields" property="distributionFields"/>
<result column="distribution_status" property="distributionStatus"/>
<result column="distribution_number" property="distributionNumber"/>
@ -42,6 +46,8 @@
<result column="distribution_id" property="distributionId"/>
<result column="plan_id" property="planId"/>
<result column="distribution_time" property="distributionTime"/>
<result column="distribution_end_time" property="distributionEndTime"/>
<result column="distribution_allot_end_time" property="distributionAllotEndTime"/>
<result column="distribution_fields" property="distributionFields"/>
<result column="distribution_status" property="distributionStatus"/>
<result column="distribution_number" property="distributionNumber"/>
@ -68,6 +74,8 @@
t1.plan_name,
t1.station_id,
t1.distribution_allot_time,
t1.distribution_end_time,
t1.distribution_allot_end_time,
t1.creator,
t1.gmt_create,
t1.modifier,
@ -92,6 +100,8 @@
plan_name,
station_id
distribution_allot_time,
distribution_end_time,
distribution_allot_end_time,
creator,
gmt_create,
modifier,
@ -108,6 +118,8 @@
#{planName},
#{stationId},
#{distributionAllotTime},
#{distributionEndTime},
#{distributionAllotEndTime},
#{creator},
#{gmtCreate},
#{modifier},
@ -171,6 +183,12 @@
<if test="stationId != null and stationId != ''">
station_id = #{stationId},
</if>
<if test="distributionEndTime != null and distributionEndTime != ''">
distribution_end_time = #{distributionEndTime},
</if>
<if test="distributionAllotEndTime != null and distributionAllotEndTime != ''">
distribution_allot_end_time = #{distributionAllotEndTime},
</if>
<if test="planName != null and planName != ''">
plan_name = #{planName},
</if>
@ -193,7 +211,9 @@
t1.distribution_id,
t1.plan_name,
t1.station_id,
t1.distribution_allot_time
t1.distribution_allot_time,
t1.distribution_end_time,
t1.distribution_allot_end_time
FROM
e_distribution t1
WHERE
@ -217,6 +237,8 @@
t1.plan_name,
t1.station_id,
t1.distribution_allot_time,
t1.distribution_end_time,
t1.distribution_allot_end_time,
t1.creator,
t1.gmt_create,
t1.modifier,
@ -245,6 +267,8 @@
t1.plan_name,
t1.station_id,
t1.distribution_allot_time,
t1.distribution_end_time,
t1.distribution_allot_end_time,
t1.creator,
t1.gmt_create,
t1.modifier,
@ -273,6 +297,8 @@
t1.plan_name,
t1.station_id,
t1.distribution_allot_time,
t1.distribution_end_time,
t1.distribution_allot_end_time,
t1.creator,
t1.gmt_create,
t1.modifier,
@ -286,7 +312,7 @@
<if test="keywords != null and keywords != ''">
AND (
<!-- 这里添加其他条件 -->
t1.id LIKE CONCAT('%', #{keywords}, '%')
t1.plan_name LIKE CONCAT('%', #{keywords}, '%')
)
</if>
<if test="distributionStatus != null and distributionStatus != ''">
@ -331,6 +357,8 @@
t1.plan_name,
t1.station_id,
t1.distribution_allot_time,
t1.distribution_end_time,
t1.distribution_allot_end_time,
t1.creator,
t1.gmt_create,
t1.modifier,
@ -376,6 +404,8 @@
t1.plan_name,
t1.station_id,
t1.distribution_allot_time,
t1.distribution_end_time,
t1.distribution_allot_end_time,
t1.creator,
t1.gmt_create,
t1.modifier,

View File

@ -11,6 +11,10 @@
<result column="distribution_card_number" property="distributionCardNumber"/>
<result column="distribution_card_user_id" property="distributionCardUserId"/>
<result column="distribution_card_user_name" property="distributionCardUserName"/>
<result column="distribution_card_user_sex" property="distributionCardUserSex"/>
<result column="distribution_card_user_identity" property="distributionCardUserIdentity"/>
<result column="distribution_card_user_result" property="distributionCardUserResult"/>
<result column="distribution_card_user_status" property="distributionCardUserStatus"/>
<result column="creator" property="creator"/>
<result column="gmt_create" property="gmtCreate"/>
<result column="modifier" property="modifier"/>
@ -27,6 +31,10 @@
<result column="distribution_card_number" property="distributionCardNumber"/>
<result column="distribution_card_user_id" property="distributionCardUserId"/>
<result column="distribution_card_user_name" property="distributionCardUserName"/>
<result column="distribution_card_user_sex" property="distributionCardUserSex"/>
<result column="distribution_card_user_identity" property="distributionCardUserIdentity"/>
<result column="distribution_card_user_result" property="distributionCardUserResult"/>
<result column="distribution_card_user_status" property="distributionCardUserStatus"/>
<result column="creator" property="creator"/>
<result column="gmt_create" property="gmtCreate"/>
<result column="modifier" property="modifier"/>
@ -43,6 +51,10 @@
<result column="distribution_card_number" property="distributionCardNumber"/>
<result column="distribution_card_user_id" property="distributionCardUserId"/>
<result column="distribution_card_user_name" property="distributionCardUserName"/>
<result column="distribution_card_user_sex" property="distributionCardUserSex"/>
<result column="distribution_card_user_identity" property="distributionCardUserIdentity"/>
<result column="distribution_card_user_result" property="distributionCardUserResult"/>
<result column="distribution_card_user_status" property="distributionCardUserStatus"/>
<result column="creator" property="creator"/>
<result column="gmt_create" property="gmtCreate"/>
<result column="modifier" property="modifier"/>
@ -61,6 +73,10 @@
distribution_card_number,
distribution_card_user_id,
distribution_card_user_name,
distribution_card_user_sex,
distribution_card_user_identity,
distribution_card_user_result,
distribution_card_user_status,
creator,
gmt_create,
modifier,
@ -75,6 +91,10 @@
#{distributionCardNumber},
#{distributionCardUserId},
#{distributionCardUserName},
#{distributionCardUserSex},
#{distributionCardUserIdentity},
#{distributionCardUserResult},
#{distributionCardUserStatus},
#{creator},
#{gmtCreate},
#{modifier},
@ -152,7 +172,11 @@
t1.distribution_card_number,
t1.distribution_card_user_id,
t1.distribution_card_user_name,
t1.distribution_card_id
t1.distribution_card_id,
t1.distribution_card_user_sex,
t1.distribution_card_user_identity,
t1.distribution_card_user_result,
t1.distribution_card_user_status
FROM
e_distribution_card t1
WHERE
@ -174,6 +198,10 @@
t1.distribution_card_number,
t1.distribution_card_user_id,
t1.distribution_card_user_name,
t1.distribution_card_user_sex,
t1.distribution_card_user_identity,
t1.distribution_card_user_result,
t1.distribution_card_user_status,
t1.creator,
t1.gmt_create,
t1.modifier,
@ -200,6 +228,10 @@
t1.distribution_card_number,
t1.distribution_card_user_id,
t1.distribution_card_user_name,
t1.distribution_card_user_sex,
t1.distribution_card_user_identity,
t1.distribution_card_user_result,
t1.distribution_card_user_status,
t1.creator,
t1.gmt_create,
t1.modifier,
@ -226,6 +258,10 @@
t1.distribution_card_number,
t1.distribution_card_user_id,
t1.distribution_card_user_name,
t1.distribution_card_user_sex,
t1.distribution_card_user_identity,
t1.distribution_card_user_result,
t1.distribution_card_user_status,
t1.creator,
t1.gmt_create,
t1.modifier,
@ -236,6 +272,9 @@
e_distribution_card t1
WHERE
t1.is_delete = 0
<if test="distributionId != null and distributionId != ''">
AND t1.distribution_id = #{distributionId}
</if>
<if test="distributionCardUserId != null and distributionCardUserId != ''">
AND t1.distribution_card_user_id = #{distributionCardUserId}
</if>
@ -278,6 +317,10 @@
t1.distribution_card_number,
t1.distribution_card_user_id,
t1.distribution_card_user_name,
t1.distribution_card_user_sex,
t1.distribution_card_user_identity,
t1.distribution_card_user_result,
t1.distribution_card_user_status,
t1.creator,
t1.gmt_create,
t1.modifier,
@ -321,6 +364,10 @@
t1.distribution_card_number,
t1.distribution_card_user_id,
t1.distribution_card_user_name,
t1.distribution_card_user_sex,
t1.distribution_card_user_identity,
t1.distribution_card_user_result,
t1.distribution_card_user_status,
t1.creator,
t1.gmt_create,
t1.modifier,

View File

@ -26,6 +26,13 @@
<div class="layui-inline">
<input type="text" id="endTime" class="layui-input search-item" placeholder="结束时间" readonly>
</div>
<div class="layui-inline layui-form search-item">
<select id="distributionStatus" name="distributionStatus" lay-search>
<option value="">查看全部</option>
<option value="0">待分配</option>
<option value="1">已分配</option>
</select>
</div>
<button type="button" id="search" class="layui-btn layui-btn-sm">
<i class="fa fa-lg fa-search"></i> 搜索
</button>
@ -65,7 +72,7 @@
var laydate = layui.laydate;
var common = layui.common;
var resizeTimeout = null;
var tableUrl = 'api/distribution/listpage?distributionStatus=1';
var tableUrl = 'api/distribution/listpage';
// 初始化表格
function initTable() {
@ -147,6 +154,12 @@
return '<a href="javascript:void(0);" class="layui-btn layui-btn-xs layui-btn-radius" lay-event="distributionButton">考场分配</a>';
}
}
},
{field:'distributionCardButton',fixed: 'right', width:150, title: '准考证信息', align:'center',
templet: function(row) {
var rowData = row[this.field];
return '<a href="javascript:void(0);" class="layui-btn layui-btn-xs layui-btn-radius" lay-event="distributionCardButton">准考证信息</a>';
}
}
]
],
@ -168,7 +181,8 @@
where: {
keywords: $('#keywords').val(),
startTime: $('#startTime').val(),
endTime: $('#endTime').val()
endTime: $('#endTime').val(),
distributionStatus: $('#distributionStatus').val()
},
page: {
curr: currentPage
@ -228,6 +242,17 @@
}
});
}
if(layEvent === 'distributionCardButton') {
top.dialog.open({
url: top.restAjax.path('route/examination/distributioncard/list.html?distributionId={distributionId}', [data.distributionId]),
title: "准考证信息",
width: '80%',
height: '80%',
onClose: function() {
reloadTable();
}
});
}
});
// 事件 - 页面变化

View File

@ -36,15 +36,25 @@
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">定考试</label>
<label class="layui-form-label">计开始</label>
<div class="layui-input-block">
<input type="text" readonly id="distributionTime" name="distributionTime" class="layui-input" value="" placeholder="请输入预定考试时间" maxlength="25">
<input type="text" readonly id="distributionTime" name="distributionTime" class="layui-input" value="" placeholder="请输入预计开始" maxlength="25">
</div>
</div> <div class="layui-form-item">
<label class="layui-form-label">预计结束</label>
<div class="layui-input-block">
<input type="text" readonly id="distributionEndTime" name="distributionEndTime" class="layui-input" value="" placeholder="请输入预计结束" maxlength="25">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">最终分配<span style="color:red">*</span></label>
<label class="layui-form-label">最终开始<span style="color:red">*</span></label>
<div class="layui-input-block">
<input type="text" id="distributionAllotTime" name="distributionAllotTime" class="layui-input" value="" placeholder="请输入最终分配时间" maxlength="25" lay-verify="required">
<input type="text" id="distributionAllotTime" name="distributionAllotTime" class="layui-input" value="" placeholder="请输入最终分配开始时间" maxlength="25" lay-verify="required">
</div>
</div> <div class="layui-form-item">
<label class="layui-form-label">最终结束<span style="color:red">*</span></label>
<div class="layui-input-block">
<input type="text" id="distributionAllotEndTime" name="distributionAllotEndTime" class="layui-input" value="" placeholder="请输入最终分配结束时间" maxlength="25" lay-verify="required">
</div>
</div>
<div class="layui-form-item" pane="">
@ -119,6 +129,15 @@
trigger: 'click'
});
}
// 初始化成立日期时间戳
function initDistributionAllotTime() {
laydate.render({
elem: '#distributionAllotEndTime',
type: 'datetime',
min:3,
trigger: 'click'
});
}
function refreshDownloadTemplet(fileName, file) {
var dataRander = {};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,196 @@
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<base th:href="${#request.getContextPath() + '/'}">
<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-fluid layui-anim layui-anim-fadein">
<div class="layui-card">
<div class="layui-card-header">
<span class="layui-breadcrumb" lay-filter="breadcrumb" style="visibility: visible;">
<a class="close" href="javascript:void(0);">上级列表</a><span lay-separator="">/</span>
<a href="javascript:void(0);"><cite>新增内容</cite></a>
</span>
</div>
<div class="layui-card-body" style="padding: 15px;">
<form class="layui-form layui-form-pane" lay-filter="dataForm">
<div class="layui-form-item">
<label class="layui-form-label">对应的考场分配ID</label>
<div class="layui-input-block">
<input type="text" id="distributionId" name="distributionId" class="layui-input" value="" placeholder="请输入对应的考场分配ID" maxlength="36">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">对应的考试计划ID</label>
<div class="layui-input-block">
<input type="text" id="planId" name="planId" class="layui-input" value="" placeholder="请输入对应的考试计划ID" maxlength="36">
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">准考证图片</label>
<div class="layui-input-block">
<textarea id="distributionCardPictures" name="distributionCardPictures" class="layui-textarea" placeholder="请输入准考证图片"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">对应的计划的考场ID</label>
<div class="layui-input-block">
<input type="text" id="distributionFieldId" name="distributionFieldId" class="layui-input" value="" placeholder="请输入对应的计划的考场ID" maxlength="36">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">对应的考场考号</label>
<div class="layui-input-block">
<input type="text" id="distributionCardNumber" name="distributionCardNumber" class="layui-input" value="" placeholder="请输入对应的考场考号" maxlength="20">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">对应的考生ID</label>
<div class="layui-input-block">
<input type="text" id="distributionCardUserId" name="distributionCardUserId" class="layui-input" value="" placeholder="请输入对应的考生ID" maxlength="36">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">对应的考生姓名</label>
<div class="layui-input-block">
<input type="text" id="distributionCardUserName" name="distributionCardUserName" class="layui-input" value="" placeholder="请输入对应的考生姓名" maxlength="36">
</div>
</div>
<div class="layui-form-item layui-layout-admin">
<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/wangEditor/wangEditor.min.js"></script>
<script src="assets/js/vendor/ckplayer/ckplayer/ckplayer.js"></script>
<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 form = layui.form;
var laytpl = layui.laytpl;
var laydate = layui.laydate;
var wangEditor = window.wangEditor;
var wangEditorObj = {};
var viewerObj = {};
function closeBox() {
parent.layer.close(parent.layer.getFrameIndex(window.name));
}
function refreshDownloadTemplet(fileName, file) {
var dataRander = {};
dataRander[fileName] = file;
laytpl(document.getElementById(fileName +'FileDownload').innerHTML).render(dataRander, function(html) {
document.getElementById(fileName +'FileBox').innerHTML = html;
});
}
// 初始化文件列表
function initFileList(fileName, ids, callback) {
var dataForm = {};
dataForm[fileName] = ids;
form.val('dataForm', dataForm);
if(!ids) {
refreshDownloadTemplet(fileName, []);
if(callback) {
callback(fileName, []);
}
return;
}
top.restAjax.get(top.restAjax.path('api/file/list', []), {
ids: ids
}, null, function(code, data) {
refreshDownloadTemplet(fileName, data);
if(callback) {
callback(fileName, data);
}
}, function(code, data) {
top.dialog.msg(data.msg);
});
}
// 初始化视频
function initVideo(fileName, data) {
for(var i = 0, item; item = data[i++];) {
var player = new ckplayer({
container: '#'+ fileName + i,
variable: 'player',
flashplayer: false,
video: {
file: 'route/file/download/true/'+ item.fileId,
type: 'video/mp4'
}
});
}
}
// 初始化内容
function initData() {
}
initData();
// 提交表单
form.on('submit(submitForm)', function(formData) {
top.dialog.confirm(top.dataMessage.commit, function(index) {
top.dialog.close(index);
var loadLayerIndex;
top.restAjax.post(top.restAjax.path('api/distributioncard/save', []), 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();
});
// 校验
form.verify({
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,213 @@
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<base th:href="${#request.getContextPath() + '/'}">
<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-fluid layui-anim layui-anim-fadein">
<div class="layui-card">
<div class="layui-card-header">
<span class="layui-breadcrumb" lay-filter="breadcrumb" style="visibility: visible;">
<a class="close" href="javascript:void(0);">上级列表</a><span lay-separator="">/</span>
<a href="javascript:void(0);"><cite>编辑内容</cite></a>
</span>
</div>
<div class="layui-card-body" style="padding: 15px;">
<form class="layui-form layui-form-pane" lay-filter="dataForm">
<div class="layui-form-item">
<label class="layui-form-label">对应的考场分配ID</label>
<div class="layui-input-block">
<input type="text" id="distributionId" name="distributionId" class="layui-input" value="" placeholder="请输入对应的考场分配ID" maxlength="36">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">对应的考试计划ID</label>
<div class="layui-input-block">
<input type="text" id="planId" name="planId" class="layui-input" value="" placeholder="请输入对应的考试计划ID" maxlength="36">
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">准考证图片</label>
<div class="layui-input-block">
<textarea id="distributionCardPictures" name="distributionCardPictures" class="layui-textarea" placeholder="请输入准考证图片"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">对应的计划的考场ID</label>
<div class="layui-input-block">
<input type="text" id="distributionFieldId" name="distributionFieldId" class="layui-input" value="" placeholder="请输入对应的计划的考场ID" maxlength="36">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">对应的考场考号</label>
<div class="layui-input-block">
<input type="text" id="distributionCardNumber" name="distributionCardNumber" class="layui-input" value="" placeholder="请输入对应的考场考号" maxlength="20">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">对应的考生ID</label>
<div class="layui-input-block">
<input type="text" id="distributionCardUserId" name="distributionCardUserId" class="layui-input" value="" placeholder="请输入对应的考生ID" maxlength="36">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">对应的考生姓名</label>
<div class="layui-input-block">
<input type="text" id="distributionCardUserName" name="distributionCardUserName" class="layui-input" value="" placeholder="请输入对应的考生姓名" maxlength="36">
</div>
</div>
<div class="layui-form-item layui-layout-admin">
<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/wangEditor/wangEditor.min.js"></script>
<script src="assets/js/vendor/ckplayer/ckplayer/ckplayer.js"></script>
<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 form = layui.form;
var laytpl = layui.laytpl;
var laydate = layui.laydate;
var distributionCardId = top.restAjax.params(window.location.href).distributionCardId;
var wangEditor = window.wangEditor;
var wangEditorObj = {};
var viewerObj = {};
function closeBox() {
parent.layer.close(parent.layer.getFrameIndex(window.name));
}
function refreshDownloadTemplet(fileName, file) {
var dataRander = {};
dataRander[fileName] = file;
laytpl(document.getElementById(fileName +'FileDownload').innerHTML).render(dataRander, function(html) {
document.getElementById(fileName +'FileBox').innerHTML = html;
});
}
// 初始化文件列表
function initFileList(fileName, ids, callback) {
var dataForm = {};
dataForm[fileName] = ids;
form.val('dataForm', dataForm);
if(!ids) {
refreshDownloadTemplet(fileName, []);
if(callback) {
callback(fileName, []);
}
return;
}
top.restAjax.get(top.restAjax.path('api/file/list', []), {
ids: ids
}, null, function(code, data) {
refreshDownloadTemplet(fileName, data);
if(callback) {
callback(fileName, data);
}
}, function(code, data) {
top.dialog.msg(data.msg);
});
}
// 初始化视频
function initVideo(fileName, data) {
for(var i = 0, item; item = data[i++];) {
var player = new ckplayer({
container: '#'+ fileName + i,
variable: 'player',
flashplayer: false,
video: {
file: 'route/file/download/true/'+ item.fileId,
type: 'video/mp4'
}
});
}
}
// 初始化内容
function initData() {
var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/distributioncard/get/{distributionCardId}', [distributionCardId]), {}, null, function(code, data) {
var dataFormData = {};
for(var i in data) {
dataFormData[i] = data[i] +'';
}
form.val('dataForm', dataFormData);
form.render(null, 'dataForm');
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
loadLayerIndex = top.dialog.msg(top.dataMessage.loading, {icon: 16, time: 0, shade: 0.3});
}, function() {
top.dialog.close(loadLayerIndex);
});
}
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/distributioncard/update/{distributionCardId}', [distributionCardId]), formData.field, null, function(code, data) {
var layerIndex = top.dialog.msg(top.dataMessage.updateSuccess, {
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();
});
// 校验
form.verify({
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,314 @@
<!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-fluid layui-anim layui-anim-fadein">
<div class="layui-row">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-body">
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
<div class="layui-inline">
<input type="text" id="keywords" class="layui-input search-item" placeholder="输入关键字">
</div>
<div class="layui-inline">
<input type="text" id="startTime" class="layui-input search-item" placeholder="开始时间" readonly>
</div>
<div class="layui-inline">
<input type="text" id="endTime" class="layui-input search-item" placeholder="结束时间" readonly>
</div>
<button type="button" id="search" class="layui-btn layui-btn-sm">
<i class="fa fa-lg fa-search"></i> 搜索
</button>
</div>
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
<!-- 表头按钮组 -->
<script type="text/html" id="headerToolBar">
<div class="layui-btn-group">
<button type="button" class="layui-btn layui-btn-sm" lay-event="saveEvent">
<i class="fa fa-lg fa-plus"></i> 新增
</button>
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm" lay-event="updateEvent">
<i class="fa fa-lg fa-edit"></i> 编辑
</button>
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm" lay-event="removeEvent">
<i class="fa fa-lg fa-trash"></i> 删除
</button>
</div>
</script>
</div>
</div>
</div>
</div>
</div>
<script src="assets/layuiadmin/layui/layui.js"></script>
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
<script>
layui.config({
base: 'assets/layuiadmin/'
}).extend({
index: 'lib/index'
}).use(['index', 'table', 'laydate', 'common'], function() {
var $ = layui.$;
var $win = $(window);
var table = layui.table;
var admin = layui.admin;
var laydate = layui.laydate;
var common = layui.common;
var resizeTimeout = null;
var tableUrl = 'api/field/list-page';
var fieldMap = new Map();
// 初始化表格
function initTable() {
table.render({
elem: '#dataTable',
id: 'dataTable',
url: top.restAjax.path(tableUrl, []),
width: admin.screen() > 1 ? '100%' : '',
height: $win.height() - 90,
limit: 20,
limits: [20, 40, 60, 80, 100, 200],
toolbar: '#headerToolBar',
request: {
pageName: 'page',
limitName: 'rows'
},
cols: [
[
{type:'checkbox', fixed: 'left'},
{field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '<span>{{d.LAY_INDEX}}</span>'},
{field: 'fieldName', width: 180, title: '考试机构', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
fieldMap.set(row.organizationType, rowData);
return rowData;
}
},
{field: 'organizationImage', width: 180, title: '考场图片', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
var value='<ul id="viewer">';
var datas = rowData.split(',');
for(var i = 0, item = datas[i]; item = datas[i++];) {
value += '<li><img style="height: 80px;width: 80px;" src="route/file/download/false/'+ item +'" alt="图片1"></li>';
}
value += '</ul>';
setTimeout(function() {
new Viewer(document.getElementById("viewer"),{
loop:true
});
}, 50);
return value;
}
},
{field: 'organizationName', width: 180, title: '考场名称', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'organizationUserNum', width: 180, title: '容纳人数', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'organizationPrincipal', width: 180, title: '考场负责人', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'organizationDesc', width: 180, title: '考场描述', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
]
],
page: true,
parseData: function(data) {
return {
'code': 0,
'msg': '',
'count': data.total,
'data': data.rows
};
}
});
}
// 重载表格
function reloadTable(currentPage) {
table.reload('dataTable', {
url: top.restAjax.path(tableUrl, []),
where: {
keywords: $('#keywords').val(),
startTime: $('#startTime').val(),
endTime: $('#endTime').val()
},
page: {
curr: currentPage
},
height: $win.height() - 90,
});
}
// 初始化日期
function initDate() {
// 日期选择
laydate.render({
elem: '#startTime',
format: 'yyyy-MM-dd'
});
laydate.render({
elem: '#endTime',
format: 'yyyy-MM-dd'
});
}
// 删除
function removeData(ids) {
top.dialog.msg(top.dataMessage.delete, {
time: 0,
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
shade: 0.3,
yes: function (index) {
top.dialog.close(index);
var layIndex;
top.restAjax.delete(top.restAjax.path('api/organization/remove/{ids}', [ids]), {}, null, function (code, data) {
top.dialog.msg(top.dataMessage.deleteSuccess, {time: 1000});
reloadTable();
}, function (code, data) {
top.dialog.msg(data.msg);
}, function () {
layIndex = top.dialog.msg(top.dataMessage.deleting, {icon: 16, time: 0, shade: 0.3});
}, function () {
top.dialog.close(layIndex);
});
}
});
}
initTable();
initDate();
// 事件 - 页面变化
$win.on('resize', function() {
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(function() {
reloadTable();
}, 500);
});
// 事件 - 搜索
$(document).on('click', '#search', function() {
reloadTable(1);
});
// 事件 - 增删改
table.on('toolbar(dataTable)', function(obj) {
var layEvent = obj.event;
var checkStatus = table.checkStatus('dataTable');
var checkDatas = checkStatus.data;
if(layEvent === 'saveEvent') {
var fieldCount = 0;
var fieldId = "";
fieldMap.forEach(function(value,key){
fieldCount++;
fieldId=key;
});
if (fieldCount === 1) {
layer.open({
type: 2,
title: false,
closeBtn: 0,
area: ['100%', '100%'],
shadeClose: true,
anim: 2,
content: top.restAjax.path('route/examination/field/save.html?institutionId={institutionId}', [fieldId]),
end: function() {
reloadTable();
}
});
}else{
if(checkDatas.length === 0) {
top.dialog.msg("选择要新增的考试机构");
} else if(checkDatas.length > 1) {
top.dialog.msg("只能同时新增一个考场");
} else {
layer.open({
type: 2,
title: false,
closeBtn: 0,
area: ['100%', '100%'],
shadeClose: true,
anim: 2,
content: top.restAjax.path('route/examination/field/save.html?institutionId={institutionId}', [checkDatas[0].organizationType]),
end: function() {
reloadTable();
}
});
}
}
} else if(layEvent === 'updateEvent') {
if(checkDatas.length === 0) {
top.dialog.msg(top.dataMessage.table.selectEdit);
} else if(checkDatas.length > 1) {
top.dialog.msg(top.dataMessage.table.selectOneEdit);
} else {
layer.open({
type: 2,
title: false,
closeBtn: 0,
area: ['100%', '100%'],
shadeClose: true,
anim: 2,
content: top.restAjax.path('route/examination/field/update.html?organizationId={organizationId}', [checkDatas[0].organizationId]),
end: function() {
reloadTable();
}
});
}
} else if(layEvent === 'removeEvent') {
if(checkDatas.length === 0) {
top.dialog.msg(top.dataMessage.table.selectDelete);
} else {
var ids = '';
for(var i = 0, item; item = checkDatas[i++];) {
if(i > 1) {
ids += '_';
}
ids += item['organizationId'];
}
removeData(ids);
}
}
});
});
</script>
</body>
</html>

View File

@ -56,7 +56,7 @@
</div>
{{# } }}
{{# } }}
{{# if(d[fileName].length < 9) { }}
{{# if(d[fileName].length < 1) { }}
<div class="upload-image-box" style="width: auto; height: auto; padding: 5px;">
<a href="javascript:void(0);" lay-form-button data-explain="考场图片" data-name="organizationImage" lay-filter="organizationImageUploadFile">
<i class="fa fa-plus-square-o" style="font-size: 70px;"></i>

View File

@ -56,7 +56,7 @@
</div>
{{# } }}
{{# } }}
{{# if(d[fileName].length < 9) { }}
{{# if(d[fileName].length < 1) { }}
<div class="upload-image-box" style="width: auto; height: auto; padding: 5px;">
<a href="javascript:void(0);" lay-form-button data-explain="考场图片" data-name="organizationImage" lay-filter="organizationImageUploadFile">
<i class="fa fa-plus-square-o" style="font-size: 70px;"></i>

View File

@ -87,7 +87,7 @@
[
{type:'checkbox', fixed: 'left'},
{field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '<span>{{d.LAY_INDEX}}</span>'},
{field: 'institutionImage', width: 180, title: '考点图片', align:'center',
{field: 'institutionImage', width: 180, title: '机构图片', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
@ -107,7 +107,7 @@
return value;
}
},
{field: 'institutionName', width: 180, title: '考点名称', align:'center',
{field: 'institutionName', width: 180, title: '机构名称', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
@ -116,7 +116,7 @@
return rowData;
}
},
{field: 'institutionFoundingTime', width: 180, title: '考点成立时间', align:'center',
{field: 'institutionFoundingTime', width: 180, title: '机构成立时间', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
@ -125,7 +125,7 @@
return rowData;
}
},
{field: 'institutionPrincipal', width: 180, title: '考点负责人', align:'center',
{field: 'institutionPrincipal', width: 180, title: '机构负责人', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
@ -134,7 +134,7 @@
return rowData;
}
},
{field: 'institutionAddress', width: 350, title: '考点详情地址', align:'center',
{field: 'institutionAddress', width: 350, title: '机构详情地址', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
@ -149,10 +149,10 @@
return '<a href="javascript:void(0);" class="layui-btn layui-btn-xs layui-btn-radius" lay-event="institutionButton">考场管理</a>';
}
},
{field:'institutionUserButton',fixed: 'right', width:150, title: '人员管理', align:'center',
{field:'institutionUserButton',fixed: 'right', width:150, title: '机构人员管理', align:'center',
templet: function(row) {
var rowData = row[this.field];
return '<a href="javascript:void(0);" class="layui-btn layui-btn-xs layui-btn-radius" lay-event="institutionUserButton">人员管理</a>';
return '<a href="javascript:void(0);" class="layui-btn layui-btn-xs layui-btn-radius" lay-event="institutionUserButton">机构人员管理</a>';
}
}
]

View File

@ -36,9 +36,9 @@
</div>
<div class="layui-card-body" style="padding: 15px;">
<form class="layui-form layui-form-pane" lay-filter="dataForm">
<input type="hidden" id="institutionType" name="institutionType" value="考点信息"/>
<input type="hidden" id="institutionType" name="institutionType" value="机构信息"/>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">考点图片</label>
<label class="layui-form-label">机构图片</label>
<div class="layui-input-block">
<input type="hidden" id="institutionImage" name="institutionImage">
<div class="layui-btn-container" id="institutionImageFileBox" style="border: 1px solid #e6e6e6;"></div>
@ -57,9 +57,9 @@
</div>
{{# } }}
{{# } }}
{{# if(d[fileName].length < 9) { }}
{{# if(d[fileName].length < 1) { }}
<div class="upload-image-box" style="width: auto; height: auto; padding: 5px;">
<a href="javascript:void(0);" lay-form-button data-explain="考点图片" data-name="institutionImage" lay-filter="institutionImageUploadFile">
<a href="javascript:void(0);" lay-form-button data-explain="机构图片" data-name="institutionImage" lay-filter="institutionImageUploadFile">
<i class="fa fa-plus-square-o" style="font-size: 70px;"></i>
</a>
</div>
@ -68,9 +68,9 @@
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">考点名称<span style="color:red">*</span></label>
<label class="layui-form-label">机构名称<span style="color:red">*</span></label>
<div class="layui-input-block">
<input type="text" id="institutionName" name="institutionName" class="layui-input" value="" placeholder="请输入考点名称" maxlength="255" lay-verify="required">
<input type="text" id="institutionName" name="institutionName" class="layui-input" value="" placeholder="请输入机构名称" maxlength="255" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
@ -80,21 +80,21 @@
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">考点负责人</label>
<label class="layui-form-label">机构负责人</label>
<div class="layui-input-block">
<input type="text" id="institutionPrincipal" name="institutionPrincipal" class="layui-input" value="" placeholder="请输入考点负责人" maxlength="100">
<input type="text" id="institutionPrincipal" name="institutionPrincipal" class="layui-input" value="" placeholder="请输入机构负责人" maxlength="100">
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">考点描述</label>
<label class="layui-form-label">机构描述</label>
<div class="layui-input-block">
<textarea id="institutionDesc" name="institutionDesc" class="layui-textarea" placeholder="请输入考点描述"></textarea>
<textarea id="institutionDesc" name="institutionDesc" class="layui-textarea" placeholder="请输入机构描述"></textarea>
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">考点联系方式</label>
<label class="layui-form-label">机构联系方式</label>
<div class="layui-input-block">
<textarea id="institutionContact" name="institutionContact" class="layui-textarea" placeholder="请输入考点联系方式"></textarea>
<textarea id="institutionContact" name="institutionContact" class="layui-textarea" placeholder="请输入机构联系方式"></textarea>
</div>
</div>
<div class="layui-form-item">
@ -128,9 +128,9 @@
<div class="layui-form-item">
<label class="layui-form-label">详细地址<span style="color:red">*</span></label>
<div class="layui-input-block">
<input type="hidden" id="institutionX" name="institutionX" value="" placeholder="请输入考点经度">
<input type="hidden" id="institutionY" name="institutionY" value="" placeholder="请输入考点纬度">
<input type="text" id="institutionAddress" name="institutionAddress" class="layui-input" value="" placeholder="请输入考点地址" maxlength="50">
<input type="hidden" id="institutionX" name="institutionX" value="" placeholder="请输入机构经度">
<input type="hidden" id="institutionY" name="institutionY" value="" placeholder="请输入机构纬度">
<input type="text" id="institutionAddress" name="institutionAddress" class="layui-input" value="" placeholder="请输入机构地址" maxlength="50">
</div>
</div>
<div class="layui-row">
@ -224,7 +224,7 @@
}
}
// 初始化考点图片图片上传
// 初始化机构图片图片上传
function initInstitutionImageUploadFile() {
var files = $('#institutionImage').val();
initFileList('institutionImage', files, function(fileName) {

View File

@ -36,9 +36,9 @@
</div>
<div class="layui-card-body" style="padding: 15px;">
<form class="layui-form layui-form-pane" lay-filter="dataForm">
<input type="hidden" id="institutionType" name="institutionType" value="考点信息"/>
<input type="hidden" id="institutionType" name="institutionType" value="机构信息"/>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">考点图片</label>
<label class="layui-form-label">机构图片</label>
<div class="layui-input-block">
<input type="hidden" id="institutionImage" name="institutionImage">
<div class="layui-btn-container" id="institutionImageFileBox" style="border: 1px solid #e6e6e6;"></div>
@ -57,9 +57,9 @@
</div>
{{# } }}
{{# } }}
{{# if(d[fileName].length < 9) { }}
{{# if(d[fileName].length < 1) { }}
<div class="upload-image-box" style="width: auto; height: auto; padding: 5px;">
<a href="javascript:void(0);" lay-form-button data-explain="考点图片" data-name="institutionImage" lay-filter="institutionImageUploadFile">
<a href="javascript:void(0);" lay-form-button data-explain="机构图片" data-name="institutionImage" lay-filter="institutionImageUploadFile">
<i class="fa fa-plus-square-o" style="font-size: 70px;"></i>
</a>
</div>
@ -68,9 +68,9 @@
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">考点名称<span style="color:red">*</span></label>
<label class="layui-form-label">机构名称<span style="color:red">*</span></label>
<div class="layui-input-block">
<input type="text" id="institutionName" name="institutionName" class="layui-input" value="" placeholder="请输入考点名称" maxlength="255" lay-verify="required">
<input type="text" id="institutionName" name="institutionName" class="layui-input" value="" placeholder="请输入机构名称" maxlength="255" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
@ -80,21 +80,21 @@
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">考点负责人</label>
<label class="layui-form-label">机构负责人</label>
<div class="layui-input-block">
<input type="text" id="institutionPrincipal" name="institutionPrincipal" class="layui-input" value="" placeholder="请输入考点负责人" maxlength="100">
<input type="text" id="institutionPrincipal" name="institutionPrincipal" class="layui-input" value="" placeholder="请输入机构负责人" maxlength="100">
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">考点描述</label>
<label class="layui-form-label">机构描述</label>
<div class="layui-input-block">
<textarea id="institutionDesc" name="institutionDesc" class="layui-textarea" placeholder="请输入考点描述"></textarea>
<textarea id="institutionDesc" name="institutionDesc" class="layui-textarea" placeholder="请输入机构描述"></textarea>
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">考点联系方式</label>
<label class="layui-form-label">机构联系方式</label>
<div class="layui-input-block">
<textarea id="institutionContact" name="institutionContact" class="layui-textarea" placeholder="请输入考点联系方式"></textarea>
<textarea id="institutionContact" name="institutionContact" class="layui-textarea" placeholder="请输入机构联系方式"></textarea>
</div>
</div>
<div class="layui-form-item">
@ -128,9 +128,9 @@
<div class="layui-form-item">
<label class="layui-form-label">详细地址<span style="color:red">*</span></label>
<div class="layui-input-block">
<input type="hidden" id="institutionX" name="institutionX" value="" placeholder="请输入考点经度">
<input type="hidden" id="institutionY" name="institutionY" value="" placeholder="请输入考点纬度">
<input type="text" id="institutionAddress" name="institutionAddress" class="layui-input" value="" placeholder="请输入考点地址" maxlength="50">
<input type="hidden" id="institutionX" name="institutionX" value="" placeholder="请输入机构经度">
<input type="hidden" id="institutionY" name="institutionY" value="" placeholder="请输入机构纬度">
<input type="text" id="institutionAddress" name="institutionAddress" class="layui-input" value="" placeholder="请输入机构地址" maxlength="50">
</div>
</div>
<div class="layui-row">