Compare commits
14
Commits
master
..
fd117b4fc3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fd117b4fc3 | ||
|
|
060e8d5bc7 | ||
|
|
894c720bb8 | ||
|
|
39ee74f0a9 | ||
|
|
7faa2730b5 | ||
|
|
fa019786d6 | ||
|
|
ffe782e538 | ||
|
|
3c65c9d561 | ||
|
|
89a77c41af | ||
|
|
0f460e6b1a | ||
|
|
d1050db6b3 | ||
|
|
e3f32fe72b | ||
|
|
b885f449c7 | ||
|
|
3f441828a1 |
@@ -20,6 +20,7 @@ RoleConstant {
|
||||
SCHOOL_UNION_CHAIRMAN("校工会主席"),
|
||||
SCHOOL_UNION_VICE_CHAIRMAN("校工会副主席"),
|
||||
SCHOOL_UNION_WELFARE_ADMIN("校工会福利管理员"),
|
||||
SCHOOL_UNION_WELFARE_COMMITTEE("校福利委员会"),
|
||||
SCHOOL_UNION_MEMBER_ADMIN("校工会会员管理员"),
|
||||
SCHOOL_UNION_TC_ADMIN("校工会教代会管理员"),
|
||||
SCHOOL_UNION_WC_ADMIN("校工会工代会管理员"),
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.budwk.app.flow.handler;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.exception.BaseException;
|
||||
import com.budwk.app.flow.engine.AssignmentHandler;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.flow.engine.model.TaskModel;
|
||||
import com.budwk.app.sys.models.Sys_role;
|
||||
import com.budwk.app.sys.models.Sys_user_role;
|
||||
import com.budwk.app.sys.services.SysRoleService;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class FlowSchoolUnionWelfareCommitteeHandler implements AssignmentHandler {
|
||||
@Override
|
||||
public List<String> assign(TaskModel model, Execution execution) {
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
SysRoleService sysRoleService = ServiceContext.find(SysRoleService.class);
|
||||
Sys_role role = sysRoleService.getByCode(RoleConstant.SCHOOL_UNION_WELFARE_COMMITTEE);
|
||||
if (role == null || role.isDisabled()) {
|
||||
throw new BaseException("校福利委员会角色未配置或已禁用,请联系校工会!");
|
||||
}
|
||||
List<Sys_user_role> relations = dao.query(Sys_user_role.class,
|
||||
Cnd.where(Sys_user_role::getRoleId, "=", role.getId())
|
||||
.and(Sys_user_role::getEnable, "=", true));
|
||||
List<String> userIds = relations.stream().map(Sys_user_role::getUserId)
|
||||
.filter(StrUtil::isNotBlank).distinct().toList();
|
||||
if (userIds.isEmpty()) {
|
||||
throw new BaseException("校福利委员没有设置,请联系校工会!");
|
||||
}
|
||||
return userIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMessage() {
|
||||
return "获取校福利委员";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOrder() {
|
||||
return 14;
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,7 @@ import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.Static;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
@@ -47,10 +48,10 @@ public class SysDataUserPullController {
|
||||
cnd.andEX(Sys_user_source::getPullTime, "=", pageForm.getPullTime());
|
||||
cnd.and(Cnd.likeEX(Sys_user_source::getUsername, pageForm.getUserName()));
|
||||
cnd.and(Cnd.likeEX(Sys_user_source::getLoginname, pageForm.getLoginName()));
|
||||
cnd.andEX(Sys_user_source::getUnitName, "=", pageForm.getUnitName());
|
||||
cnd.andEX(Sys_user_source::getUserState, "=", pageForm.getUserState());
|
||||
addSourceFilter(cnd, "us.unitName", pageForm.getUnitName());
|
||||
addSourceFilter(cnd, "us.userState", pageForm.getUserState());
|
||||
cnd.andEX(Sys_user_source::getPreparedBy, "=", pageForm.getPreparedBy());
|
||||
cnd.andEX(Sys_user_source::getPersonType, "=", pageForm.getPersonType());
|
||||
addSourceFilter(cnd, "us.personType", pageForm.getPersonType());
|
||||
|
||||
if (StrUtil.isAllNotBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) {
|
||||
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
||||
@@ -61,6 +62,15 @@ public class SysDataUserPullController {
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
private void addSourceFilter(Cnd cnd, String column, String value) {
|
||||
if ("__EMPTY__".equals(value)) {
|
||||
cnd.and(new Static("(%s IS NULL OR LOWER(%s) REGEXP '^[[:space:]]*(null)?[[:space:]]*$')"
|
||||
.formatted(column, column)));
|
||||
} else {
|
||||
cnd.andEX(column, "=", value);
|
||||
}
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("sys.data.user.pull")
|
||||
@ApiOperation("拉取用户数据")
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.budwk.app.sys.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.sys.services.SysDataUserPullService;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
@IocBean
|
||||
@At("/platform/sys/data/user/query")
|
||||
@Ok("json:full")
|
||||
public class SysDataUserQueryController {
|
||||
|
||||
@Inject
|
||||
private SysDataUserPullService sysUserPullService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/sys/data/user/query.html")
|
||||
@SaCheckPermission("sys.data.user.query")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("sys.data.user.query")
|
||||
public Result queryData(@Param("zgh") String zgh, @Param("pageNumber") int pageNumber,
|
||||
@Param("pageSize") int pageSize) {
|
||||
return Result.success(sysUserPullService.queryUsers(zgh, pageNumber, pageSize));
|
||||
}
|
||||
}
|
||||
@@ -98,6 +98,7 @@ public class Sys_user extends BaseModel implements Serializable {
|
||||
@Column
|
||||
@Comment("证件类型")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 30)
|
||||
@DataCenterColumn(name = "证件类型", key = "SFZJLXDM", dict = "USER_ID_CARD_TYPE")
|
||||
private String idCardType;
|
||||
|
||||
@Column
|
||||
@@ -133,6 +134,7 @@ public class Sys_user extends BaseModel implements Serializable {
|
||||
@Column
|
||||
@Comment("岗位类别")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@DataCenterColumn(name = "聘岗类型", key = "ZYJSGWLBDMMC")
|
||||
private String jobCategory;
|
||||
|
||||
@Column
|
||||
@@ -222,7 +224,7 @@ public class Sys_user extends BaseModel implements Serializable {
|
||||
private Integer pendingConfirmStatus;
|
||||
|
||||
@Column
|
||||
@Comment("编制类别码")
|
||||
@Comment("编制类别")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 30)
|
||||
@DataCenterColumn(name = "编制类别", key = "BZLBDMMC")
|
||||
private String preparedBy;
|
||||
@@ -295,6 +297,7 @@ public class Sys_user extends BaseModel implements Serializable {
|
||||
@Comment("是否双肩挑")
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
@Default(value = "0")
|
||||
@DataCenterColumn(name = "是否双肩挑", key = "SFSJT")
|
||||
private Boolean manyUnit;
|
||||
|
||||
@Column
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.budwk.app.sys.models;
|
||||
|
||||
import com.budwk.app.sys.annotation.DataCenterColumn;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
@@ -31,6 +32,42 @@ public class Sys_user_source extends Sys_user {
|
||||
@ColDefine(type = ColType.VARCHAR, width = 255)
|
||||
private String unitName;
|
||||
|
||||
@Column
|
||||
@Comment("最高学历代码")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
@DataCenterColumn(name = "最高学历代码", key = "ZGXLDM")
|
||||
private String educationCode;
|
||||
|
||||
@Column
|
||||
@Comment("最高学位代码")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@DataCenterColumn(name = "最高学位代码", key = "XWDM")
|
||||
private String academicDegreeCode;
|
||||
|
||||
@Column
|
||||
@Comment("编制类别代码")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 30)
|
||||
@DataCenterColumn(name = "编制类别代码", key = "BZLBDM")
|
||||
private String preparedByCode;
|
||||
|
||||
@Column
|
||||
@Comment("聘岗类型代码")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@DataCenterColumn(name = "聘岗类型代码", key = "ZYJSGWLBDM")
|
||||
private String jobCategoryCode;
|
||||
|
||||
@Column
|
||||
@Comment("专业技术职务代码")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@DataCenterColumn(name = "专业技术职务代码", key = "ZYJSZWDM")
|
||||
private String professionalTitleCode;
|
||||
|
||||
@Column
|
||||
@Comment("当前状态代码")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 30)
|
||||
@DataCenterColumn(name = "当前状态代码", key = "DQZTDM")
|
||||
private String userStateCode;
|
||||
|
||||
@Column
|
||||
@Comment("拉取时间")
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
|
||||
@@ -15,6 +15,8 @@ public interface SysDataUserPullService extends BaseService<Sys_user_source> {
|
||||
*/
|
||||
Date pull();
|
||||
|
||||
NutMap queryUsers(String zgh, int pageNumber, int pageSize);
|
||||
|
||||
/**
|
||||
* 拉取人员博士后的信息
|
||||
*/
|
||||
|
||||
@@ -7,4 +7,15 @@ import com.budwk.app.sys.param.SysDataUserUpdateParam;
|
||||
*/
|
||||
public interface SysDataUserUpdateService {
|
||||
String update(SysDataUserUpdateParam updateParam);
|
||||
|
||||
static boolean qualifiesAsUnionMember(String personType, String userState) {
|
||||
if (!"在岗".equals(userState) || personType == null) {
|
||||
return false;
|
||||
}
|
||||
return switch (personType) {
|
||||
case "在编", "兰溪编制", "聘用合同制(享受人事代理待遇)",
|
||||
"聘用合同制", "聘用制专家", "人事代理" -> true;
|
||||
default -> false;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,6 +164,9 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
||||
// 创建用户对象
|
||||
Sys_user u = new Sys_user();
|
||||
BeanUtils.copyProperties(source, u);
|
||||
if (SysDataUserUpdateService.qualifiesAsUnionMember(u.getPersonType(), u.getUserState())) {
|
||||
u.setMember(true);
|
||||
}
|
||||
|
||||
if (user == null) {
|
||||
// 新增用户,初始化数据
|
||||
|
||||
@@ -123,6 +123,9 @@ public class SysDataUserIncrUpdateServiceImpl implements SysDataUserUpdateServic
|
||||
//加入到系统用户表
|
||||
List<Sys_user> sysUsers = BeanUtil.copyToList(userSources, Sys_user.class);
|
||||
for (Sys_user sysUser : sysUsers) {
|
||||
if (SysDataUserUpdateService.qualifiesAsUnionMember(sysUser.getPersonType(), sysUser.getUserState())) {
|
||||
sysUser.setMember(true);
|
||||
}
|
||||
//重新设置
|
||||
sysUser.setId(R.UU32());
|
||||
String salt = R.UU32();
|
||||
|
||||
@@ -98,7 +98,7 @@ public class SysDataUserPullServiceImpl extends BaseServiceImpl<Sys_user_source>
|
||||
synchronized (SysDataUserPullServiceImpl.class) {
|
||||
if (fieldMappings == null) {
|
||||
List<FieldMapping> mappings = new ArrayList<>();
|
||||
Field[] fields = Sys_user.class.getDeclaredFields();
|
||||
Field[] fields = cn.hutool.core.util.ReflectUtil.getFields(Sys_user_source.class);
|
||||
for (Field field : fields) {
|
||||
DataCenterColumn annotation = field.getAnnotation(DataCenterColumn.class);
|
||||
if (annotation != null) {
|
||||
@@ -200,6 +200,8 @@ public class SysDataUserPullServiceImpl extends BaseServiceImpl<Sys_user_source>
|
||||
mapping.field.set(sysUser, raw.getStr(mapping.key));
|
||||
}
|
||||
}
|
||||
} else if (mapping.field.getType() == Boolean.class) {
|
||||
mapping.field.set(sysUser, raw.getBool(mapping.key));
|
||||
} else if (mapping.field.getType() == Date.class) {
|
||||
String dateText = StrUtil.trim(raw.getStr(mapping.key));
|
||||
if (StrUtil.isNotBlank(dateText)) {
|
||||
@@ -332,12 +334,39 @@ public class SysDataUserPullServiceImpl extends BaseServiceImpl<Sys_user_source>
|
||||
return url;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NutMap queryUsers(String zgh, int pageNumber, int pageSize) {
|
||||
if (pageNumber < 1 || pageSize < 1 || pageSize > 200) {
|
||||
throw new BaseException("分页参数不合法");
|
||||
}
|
||||
if (!dataCenterProperties.isTokenEnabled()) {
|
||||
JSONObject response = DataCenterUtil.queryPage(getDmpUrl(DMP_TEACHER_KEY), zgh, pageNumber, pageSize);
|
||||
JSONObject pageInfo = response.getJSONObject("pageInfo");
|
||||
JSONArray data = response.getJSONArray("dataSet");
|
||||
if (pageInfo == null || pageInfo.getLong("total") == null || data == null) {
|
||||
throw new BaseException("数据中心接口未返回有效的分页数据");
|
||||
}
|
||||
return NutMap.NEW().addv("list", data).addv("totalCount", pageInfo.getLong("total"));
|
||||
}
|
||||
String accessToken = getDmpAccessToken();
|
||||
List<JSONObject> records = new ArrayList<>();
|
||||
records.addAll(pullDmpUsers(getDmpUrl(DMP_TEACHER_KEY), accessToken, "在岗教职工", StrUtil.trim(zgh)));
|
||||
records.addAll(pullDmpUsers(getDmpUrl(DMP_DISPATCH_KEY), accessToken, "在岗劳务派遣", StrUtil.trim(zgh)));
|
||||
int from = (int) Math.min((long) (pageNumber - 1) * pageSize, records.size());
|
||||
return NutMap.NEW().addv("list", records.subList(from, Math.min(from + pageSize, records.size())))
|
||||
.addv("totalCount", records.size());
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页拉取单个人员接口数据。
|
||||
* 入参 url 为人员接口地址,accessToken 为信息中心令牌,sourceName 用于日志区分接口来源。
|
||||
* 返回值为该接口所有分页合并后的原始人员 JSON 列表。
|
||||
*/
|
||||
private List<JSONObject> pullDmpUsers(String url, String accessToken, String sourceName) {
|
||||
return pullDmpUsers(url, accessToken, sourceName, null);
|
||||
}
|
||||
|
||||
private List<JSONObject> pullDmpUsers(String url, String accessToken, String sourceName, String zgh) {
|
||||
List<JSONObject> rawDataList = new ArrayList<>();
|
||||
int page = 1;
|
||||
int maxPage = 1;
|
||||
@@ -347,11 +376,14 @@ public class SysDataUserPullServiceImpl extends BaseServiceImpl<Sys_user_source>
|
||||
// 信息中心接口单页最多返回1000条,按page循环拉完当前接口全部数据。
|
||||
HttpRequest httpRequest = HttpUtil.createPost(url);
|
||||
httpRequest.header(Header.CONTENT_TYPE, "application/json");
|
||||
httpRequest.body(JSONUtil.toJsonStr(Map.of(
|
||||
"access_token", accessToken,
|
||||
"per_page", String.valueOf(DMP_PAGE_SIZE),
|
||||
"page", String.valueOf(page)
|
||||
)));
|
||||
Map<String, Object> body = new HashMap<>();
|
||||
body.put("access_token", accessToken);
|
||||
body.put("per_page", String.valueOf(DMP_PAGE_SIZE));
|
||||
body.put("page", String.valueOf(page));
|
||||
if (StrUtil.isNotBlank(zgh)) {
|
||||
body.put("zgh", zgh);
|
||||
}
|
||||
httpRequest.body(JSONUtil.toJsonStr(body));
|
||||
|
||||
log.info("请求{}人员数据,第{}页: {}", sourceName, page, httpRequest);
|
||||
String resBody = httpRequest.execute().body();
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.budwk.app.sys.models.Sys_unit;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -40,7 +41,11 @@ public class DataCenterUtil {
|
||||
}
|
||||
|
||||
public static List<JSONObject> pullData(String url) {
|
||||
JSONObject firstResponse = requestData(url, Map.of("", ""));
|
||||
return pullData(url, Map.of("", ""));
|
||||
}
|
||||
|
||||
public static List<JSONObject> pullData(String url, Map<String, ?> params) {
|
||||
JSONObject firstResponse = requestData(url, params);
|
||||
JSONObject pageInfo = firstResponse.getJSONObject("pageInfo");
|
||||
Integer pages = pageInfo == null ? null : pageInfo.getInt("pages");
|
||||
if (pages == null || pages < 0) {
|
||||
@@ -48,7 +53,9 @@ public class DataCenterUtil {
|
||||
}
|
||||
List<JSONObject> records = new ArrayList<>();
|
||||
for (int page = 1; page <= pages; page++) {
|
||||
JSONObject response = requestData(url, Map.of("pageNum", page));
|
||||
Map<String, Object> body = new HashMap<>(params);
|
||||
body.put("pageNum", page);
|
||||
JSONObject response = requestData(url, body);
|
||||
JSONArray data = response.getJSONArray("dataSet");
|
||||
if (data == null) {
|
||||
throw new BaseException("数据中心接口第{}页缺少 dataSet", page);
|
||||
@@ -58,6 +65,16 @@ public class DataCenterUtil {
|
||||
return records;
|
||||
}
|
||||
|
||||
public static JSONObject queryPage(String url, String zgh, int pageNumber, int pageSize) {
|
||||
Map<String, Object> body = new HashMap<>();
|
||||
body.put("pageNum", pageNumber);
|
||||
body.put("pageSize", pageSize);
|
||||
if (StrUtil.isNotBlank(zgh)) {
|
||||
body.put("zgh", zgh.trim());
|
||||
}
|
||||
return requestData(url, body);
|
||||
}
|
||||
|
||||
private static JSONObject requestData(String url, Map<String, ?> body) {
|
||||
try (HttpResponse response = HttpUtil.createPost(url)
|
||||
.body(JSONUtil.toJsonStr(body)).execute()) {
|
||||
|
||||
+1
@@ -127,6 +127,7 @@ public class CondolenceApplyController {
|
||||
username as userName,
|
||||
loginname as loginName,
|
||||
sex,
|
||||
mobile,
|
||||
technicalTitle,
|
||||
IFNULL(unitname, '暂无') as unitName,
|
||||
unitid as unitId,
|
||||
|
||||
+9
-9
@@ -27,34 +27,34 @@ import org.nutz.mvc.annotation.Param;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName CondolenceBranchUnionApprovalController
|
||||
* @ClassName CondolenceFirstApprovalController
|
||||
* @Author JyuHsin
|
||||
* @Date 2025/7/28 11:33
|
||||
* @Version 1.0
|
||||
* @Description TODO
|
||||
*/
|
||||
@IocBean
|
||||
@At("/platform/condolence/branchUnionApproval")
|
||||
@Api("职工慰问分工会审核")
|
||||
@At("/platform/condolence/firstApproval")
|
||||
@Api("职工慰问一级审核")
|
||||
@Ok("json:full")
|
||||
public class CondolenceBranchUnionApprovalController {
|
||||
public class CondolenceFirstApprovalController {
|
||||
|
||||
@Inject
|
||||
private CondolenceService condolenceService;
|
||||
|
||||
@At("/")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/branchUnionApproval/index.html")
|
||||
@SaCheckPermission("condolence.branchUnionApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/firstApproval/index.html")
|
||||
@SaCheckPermission("condolence.firstApproval")
|
||||
public void index() {}
|
||||
|
||||
@At("/h5")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/condolence/branchUnionApproval/index.html")
|
||||
@SaCheckPermission("h5.condolence.branchUnionApproval")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/condolence/firstApproval/index.html")
|
||||
@SaCheckPermission("h5.condolence.firstApproval")
|
||||
public void h5Index() {}
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission(value = {"condolence.branchUnionApproval", "h5.condolence.branchUnionApproval"}, mode = SaMode.OR)
|
||||
@SaCheckPermission(value = {"condolence.firstApproval", "h5.condolence.firstApproval"}, mode = SaMode.OR)
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year,
|
||||
@Param(value = "type") String type,
|
||||
+9
-9
@@ -29,30 +29,30 @@ import java.util.List;
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2025/12/23 14:13
|
||||
* @description 校工会预审
|
||||
* @description 二级审核
|
||||
*/
|
||||
@IocBean
|
||||
@At("/platform/condolence/schoolPrincipalApproval")
|
||||
@Api("职工慰问校工会预审")
|
||||
@At("/platform/condolence/secondApproval")
|
||||
@Api("职工慰问二级审核")
|
||||
@Ok("json:full")
|
||||
public class CondolenceSchoolPrincipalApprovalController {
|
||||
public class CondolenceSecondApprovalController {
|
||||
|
||||
@Inject
|
||||
private CondolenceService condolenceService;
|
||||
|
||||
@At("/")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/schoolPrincipalApproval/index.html")
|
||||
@SaCheckPermission("condolence.schoolPrincipalApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/secondApproval/index.html")
|
||||
@SaCheckPermission("condolence.secondApproval")
|
||||
public void index() {}
|
||||
|
||||
@At("/h5")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/condolence/schoolPrincipalApproval/index.html")
|
||||
@SaCheckPermission("h5.condolence.schoolPrincipalApproval")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/condolence/secondApproval/index.html")
|
||||
@SaCheckPermission("h5.condolence.secondApproval")
|
||||
public void h5Index() {}
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission(value = {"condolence.schoolPrincipalApproval", "h5.condolence.schoolPrincipalApproval"}, mode = SaMode.OR)
|
||||
@SaCheckPermission(value = {"condolence.secondApproval", "h5.condolence.secondApproval"}, mode = SaMode.OR)
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year,
|
||||
@Param(value = "type") String type,
|
||||
+9
-9
@@ -27,34 +27,34 @@ import org.nutz.mvc.annotation.Param;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName CondolenceSchoolUnionApprovalController
|
||||
* @ClassName CondolenceThirdApprovalController
|
||||
* @Author JyuHsin
|
||||
* @Date 2025/7/29 16:23
|
||||
* @Version 1.0
|
||||
* @Description TODO
|
||||
*/
|
||||
@IocBean
|
||||
@At("/platform/condolence/schoolUnionApproval")
|
||||
@Api("职工慰问校工会审核")
|
||||
@At("/platform/condolence/thirdApproval")
|
||||
@Api("职工慰问三级审核")
|
||||
@Ok("json:full")
|
||||
public class CondolenceSchoolUnionApprovalController {
|
||||
public class CondolenceThirdApprovalController {
|
||||
|
||||
@Inject
|
||||
private CondolenceService condolenceService;
|
||||
|
||||
@At("/")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/schoolUnionApproval/index.html")
|
||||
@SaCheckPermission("condolence.schoolUnionApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/thirdApproval/index.html")
|
||||
@SaCheckPermission("condolence.thirdApproval")
|
||||
public void index() {}
|
||||
|
||||
@At("/h5")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/condolence/schoolUnionApproval/index.html")
|
||||
@SaCheckPermission("h5.condolence.schoolUnionApproval")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/condolence/thirdApproval/index.html")
|
||||
@SaCheckPermission("h5.condolence.thirdApproval")
|
||||
public void h5Index() {}
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission(value = {"condolence.schoolUnionApproval", "h5.condolence.schoolUnionApproval"}, mode = SaMode.OR)
|
||||
@SaCheckPermission(value = {"condolence.thirdApproval", "h5.condolence.thirdApproval"}, mode = SaMode.OR)
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year,
|
||||
@Param(value = "type") String type,
|
||||
+4
@@ -184,6 +184,10 @@ public class DifficultHelpApplyController {
|
||||
birthday,
|
||||
mobile,
|
||||
sex,
|
||||
idCard,
|
||||
position,
|
||||
professionalTitle AS officialCapacity,
|
||||
(SELECT u.homeAddress FROM sys_user u WHERE u.id = vw_user.id) AS homeAddress,
|
||||
unitName,
|
||||
unionName,
|
||||
unionId,
|
||||
|
||||
+12
-12
@@ -25,15 +25,15 @@ import java.util.List;
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:DifficultHelpBranchUnionApprovalController
|
||||
* @name:DifficultHelpFirstApprovalController
|
||||
* @Date 2025/7/31 11:47
|
||||
* @注释
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json")
|
||||
@ApiOperation("困难补助分工会审核")
|
||||
@At("/platform/difficultHelp/branchUnionApproval")
|
||||
public class DifficultHelpBranchUnionApprovalController {
|
||||
@ApiOperation("困难补助一级审核")
|
||||
@At("/platform/difficultHelp/firstApproval")
|
||||
public class DifficultHelpFirstApprovalController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@@ -41,27 +41,27 @@ public class DifficultHelpBranchUnionApprovalController {
|
||||
private DifficultHelpCommonService difficultHelpCommonService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("difficultHelp.branchUnionApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/branchunionapproval/index.html")
|
||||
@SaCheckPermission("difficultHelp.firstApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/firstApproval/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("difficultHelp.branchUnionApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/branchunionapproval/form.html")
|
||||
@SaCheckPermission("difficultHelp.firstApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/firstApproval/form.html")
|
||||
public void form() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("h5.difficultHelp.branchUnionApproval")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/difficulthelp/branchunionapproval/index.html")
|
||||
@SaCheckPermission("h5.difficultHelp.firstApproval")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/difficulthelp/firstApproval/index.html")
|
||||
public void h5() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("困难补助分工会审核列表")
|
||||
@SaCheckPermission("difficultHelp.branchUnionApproval")
|
||||
@ApiOperation("困难补助一级审核列表")
|
||||
@SaCheckPermission("difficultHelp.firstApproval")
|
||||
public Result pageData(DifficultHelpPageParam pageParam) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
+9
-2
@@ -1,6 +1,7 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.difficulthelp.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
@@ -68,6 +69,7 @@ public class DifficultHelpMineController {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
info.id,
|
||||
info.createdBy,
|
||||
info.proxyUserName,
|
||||
info.proxyLoginName,
|
||||
info.userName,
|
||||
@@ -103,7 +105,8 @@ public class DifficultHelpMineController {
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
pageParam.buildSearch(cnd, "info.");
|
||||
cnd.and("info.createdBy", "=", SecurityUtil.getUserId());
|
||||
cnd.and(Cnd.exps("info.createdBy", "=", SecurityUtil.getUserId())
|
||||
.or("info.userId", "=", SecurityUtil.getUserId()));
|
||||
if (StrUtil.isAllBlank(pageParam.getPageOrderName(), pageParam.getPageOrderBy())) {
|
||||
cnd.desc("info.applyTime");
|
||||
} else {
|
||||
@@ -121,6 +124,10 @@ public class DifficultHelpMineController {
|
||||
@SaCheckPermission("difficultHelp.mine")
|
||||
@SLog(tag = "困难补助申请", msg = "删除困难补助申请,id: ${args[0]}")
|
||||
public Result onDelete(@Valid String id){
|
||||
DifficultHelpInfo helpInfo = dao.fetch(DifficultHelpInfo.class, id);
|
||||
if (helpInfo == null || !SecurityUtil.getUserId().equals(helpInfo.getCreatedBy())) {
|
||||
return Result.error("只能删除自己创建的申请记录");
|
||||
}
|
||||
dao.clear(DifficultHelpInfo.class, Cnd.where("id", "=", id));
|
||||
// 删除流程相关操作
|
||||
flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id);
|
||||
@@ -130,7 +137,7 @@ public class DifficultHelpMineController {
|
||||
|
||||
@At
|
||||
@ApiModelProperty("获取困难补助申请")
|
||||
@SaCheckPermission("difficultHelp.mine")
|
||||
@SaCheckPermission(value = {"difficultHelp.mine", "difficultHelp.reading"}, mode = SaMode.OR)
|
||||
public Result findOne(String id) {
|
||||
DifficultHelpInfo helpInfo = dao.fetch(DifficultHelpInfo.class, id);
|
||||
return Result.success().addData(helpInfo);
|
||||
|
||||
+12
-12
@@ -26,15 +26,15 @@ import java.util.List;
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:DifficultHelpBranchUnionApprovalController
|
||||
* @name:DifficultHelpSecondApprovalController
|
||||
* @Date 2025/7/31 11:47
|
||||
* @注释
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json")
|
||||
@ApiOperation("困难补助二级党组织审核")
|
||||
@At("/platform/difficultHelp/unionLeaderApproval")
|
||||
public class DifficultHelpBranchUnionLeaderApprovalController {
|
||||
@ApiOperation("困难补助二级审核")
|
||||
@At("/platform/difficultHelp/secondApproval")
|
||||
public class DifficultHelpSecondApprovalController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@@ -42,27 +42,27 @@ public class DifficultHelpBranchUnionLeaderApprovalController {
|
||||
private DifficultHelpCommonService difficultHelpCommonService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("difficultHelp.unionLeaderApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/unionLeaderApproval/index.html")
|
||||
@SaCheckPermission("difficultHelp.secondApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/secondApproval/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("difficultHelp.unionLeaderApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/unionLeaderApproval/form.html")
|
||||
@SaCheckPermission("difficultHelp.secondApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/secondApproval/form.html")
|
||||
public void form() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("h5.difficultHelp.unionLeaderApproval")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/difficulthelp/unionLeaderApproval/index.html")
|
||||
@SaCheckPermission("h5.difficultHelp.secondApproval")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/difficulthelp/secondApproval/index.html")
|
||||
public void h5() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("困难补助分工会审核列表")
|
||||
@SaCheckPermission("difficultHelp.unionLeaderApproval")
|
||||
@ApiOperation("困难补助二级审核列表")
|
||||
@SaCheckPermission("difficultHelp.secondApproval")
|
||||
public Result pageData(DifficultHelpPageParam pageParam) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
+13
-13
@@ -30,15 +30,15 @@ import java.util.List;
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:DifficultHelpSchoolUnionApprovalController
|
||||
* @name:DifficultHelpThirdApprovalController
|
||||
* @Date 2025/7/31 11:47
|
||||
* @注释
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json")
|
||||
@ApiOperation("困难补助校工会审核")
|
||||
@At("/platform/difficultHelp/schoolUnionApproval")
|
||||
public class DifficultHelpSchoolUnionApprovalController {
|
||||
@ApiOperation("困难补助三级审核")
|
||||
@At("/platform/difficultHelp/thirdApproval")
|
||||
public class DifficultHelpThirdApprovalController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@@ -46,26 +46,26 @@ public class DifficultHelpSchoolUnionApprovalController {
|
||||
private DifficultHelpCommonService difficultHelpCommonService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("difficultHelp.schoolUnionApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/schoolunionapproval/index.html")
|
||||
@SaCheckPermission("difficultHelp.thirdApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/thirdApproval/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("difficultHelp.schoolUnionApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/schoolunionapproval/form.html")
|
||||
@SaCheckPermission("difficultHelp.thirdApproval")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/thirdApproval/form.html")
|
||||
public void form() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("h5.difficultHelp.schoolUnionApproval")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/difficulthelp/schoolunionapproval/index.html")
|
||||
@SaCheckPermission("h5.difficultHelp.thirdApproval")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/difficulthelp/thirdApproval/index.html")
|
||||
public void h5() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("困难补助校工会审核列表")
|
||||
@SaCheckPermission("difficultHelp.schoolUnionApproval")
|
||||
@ApiOperation("困难补助三级审核列表")
|
||||
@SaCheckPermission("difficultHelp.thirdApproval")
|
||||
public Result pageData(DifficultHelpPageParam pageParam) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
@@ -131,7 +131,7 @@ public class DifficultHelpSchoolUnionApprovalController {
|
||||
|
||||
@At
|
||||
@ApiOperation("保存补助金额、级别")
|
||||
@SaCheckPermission("difficultHelp.schoolUnionApproval")
|
||||
@SaCheckPermission("difficultHelp.thirdApproval")
|
||||
@SLog(tag = "困难补助申请", msg = "保存申请,填写人: ${args[0].proxyUserName}")
|
||||
public Result save(@Param("data") DifficultHelpInfo difficultHelpInfo) {
|
||||
dao.updateIgnoreNull(difficultHelpInfo);
|
||||
@@ -25,6 +25,16 @@ public class MemberHistory extends Sys_user {
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("编制类别")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String preparedBy;
|
||||
|
||||
@Column
|
||||
@Comment("岗位类别")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String jobCategory;
|
||||
|
||||
@Column
|
||||
@Comment("年度")
|
||||
@ColDefine(type = ColType.INT, width = 4)
|
||||
|
||||
+62
-42
@@ -5,7 +5,6 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil;
|
||||
import cn.afterturn.easypoi.excel.entity.ExportParams;
|
||||
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
|
||||
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
|
||||
import cn.afterturn.easypoi.excel.export.ExcelExportService;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
@@ -24,6 +23,13 @@ import com.budwk.app.zhgh.welfare.param.WelfareSelectionSituationPageForm;
|
||||
import com.budwk.app.zhgh.welfare.service.WelfareSelectionSituationService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellStyle;
|
||||
import org.apache.poi.ss.usermodel.ClientAnchor;
|
||||
import org.apache.poi.ss.usermodel.Drawing;
|
||||
import org.apache.poi.ss.usermodel.Font;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
@@ -232,55 +238,69 @@ public class WelfareSelectionSituationServiceImpl extends BaseServiceImpl<Welfar
|
||||
List<WelfareProjectSubjectOption> optionList = dao().query(WelfareProjectSubjectOption.class, Cnd.where(WelfareProjectSubjectOption::getWelfareId, "=", pageForm.getProjectId()).asc("optionSort"));
|
||||
|
||||
for (NutMap map : list) {
|
||||
if (map.get("selectOptionIds") != null){
|
||||
String[] selectOptionIds = map.getString("selectOptionIds").split(",");
|
||||
for (WelfareProjectSubjectOption option : optionList) {
|
||||
if(Arrays.asList(selectOptionIds).contains(option.getId())){
|
||||
map.put(option.getOptionName(), "√");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (map.get("userSign") != null){
|
||||
if (map.get("userSign") != null) {
|
||||
try {
|
||||
Sys_file file = dao().fetch(Sys_file.class, Cnd.where(Sys_file::getDownloadPath, "=", map.getString("userSign")));
|
||||
byte[] userSignBytes = SysFileMinIoUtil.getFileBytes(file.getBucket(), file.getStoragePath());
|
||||
map.put("userSign", userSignBytes);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
log.error("下载图片失败", e);
|
||||
BufferedImage image = ImageIO.read(new ByteArrayInputStream(userSignBytes));
|
||||
if (image != null) {
|
||||
ByteArrayOutputStream png = new ByteArrayOutputStream();
|
||||
ImageIO.write(image, "png", png);
|
||||
map.put("userSign", png.toByteArray());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("下载签字图片失败", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<Map<String, Object>> safeList = list.stream().map(nutMap -> {
|
||||
Map<String, Object> map = new HashMap<>(nutMap);
|
||||
return map;
|
||||
}).toList();
|
||||
|
||||
// 分组
|
||||
Map<String, List<Map<String, Object>>> listMap = safeList.stream()
|
||||
.collect(Collectors.groupingBy(n -> (String) n.get("welfareUnionName")));
|
||||
|
||||
// 构建 Excel 列
|
||||
List<ExcelExportEntity> entities = new ArrayList<>();
|
||||
entities.add(new ExcelExportEntity("工号", "loginName", 20));
|
||||
entities.add(new ExcelExportEntity("姓名", "userName", 20));
|
||||
optionList.forEach(option -> {
|
||||
entities.add(new ExcelExportEntity(option.getOptionName(), option.getOptionName(), 20));
|
||||
});
|
||||
ExcelExportEntity userSignEntity = new ExcelExportEntity("签字", "userSign", 20);
|
||||
userSignEntity.setType(2);
|
||||
userSignEntity.setExportImageType(2);
|
||||
entities.add(userSignEntity);
|
||||
|
||||
// 导出
|
||||
Map<String, List<NutMap>> rowsByUnion = list.stream()
|
||||
.collect(Collectors.groupingBy(n -> n.getString("welfareUnionName")));
|
||||
Workbook workbook = new HSSFWorkbook();
|
||||
listMap.forEach((k, v) -> {
|
||||
ExcelExportService service = new ExcelExportService();
|
||||
ExportParams exportParams = new ExportParams();
|
||||
exportParams.setSheetName(k);
|
||||
exportParams.setType(ExcelType.HSSF);
|
||||
service.createSheetForMap(workbook, exportParams, entities, v);
|
||||
if (rowsByUnion.isEmpty()) {
|
||||
rowsByUnion.put("领取表", Collections.emptyList());
|
||||
}
|
||||
|
||||
CellStyle headerStyle = workbook.createCellStyle();
|
||||
Font headerFont = workbook.createFont();
|
||||
headerFont.setBold(true);
|
||||
headerStyle.setFont(headerFont);
|
||||
|
||||
List<String> headers = new ArrayList<>(List.of("工号", "姓名"));
|
||||
optionList.forEach(option -> headers.add(option.getOptionName()));
|
||||
headers.add("签字");
|
||||
int signColumn = headers.size() - 1;
|
||||
|
||||
rowsByUnion.forEach((unionName, records) -> {
|
||||
Sheet sheet = workbook.createSheet(unionName);
|
||||
Row header = sheet.createRow(0);
|
||||
for (int column = 0; column < headers.size(); column++) {
|
||||
sheet.setColumnWidth(column, 20 * 256);
|
||||
Cell cell = header.createCell(column);
|
||||
cell.setCellValue(headers.get(column));
|
||||
cell.setCellStyle(headerStyle);
|
||||
}
|
||||
|
||||
Drawing<?> drawing = sheet.createDrawingPatriarch();
|
||||
for (NutMap record : records) {
|
||||
Row row = sheet.createRow(sheet.getLastRowNum() + 1);
|
||||
row.createCell(0).setCellValue(Objects.toString(record.get("loginName"), ""));
|
||||
row.createCell(1).setCellValue(Objects.toString(record.get("userName"), ""));
|
||||
Set<String> selectedIds = new HashSet<>(Arrays.asList(
|
||||
Objects.toString(record.get("selectOptionIds"), "").split(",")));
|
||||
for (int i = 0; i < optionList.size(); i++) {
|
||||
row.createCell(i + 2).setCellValue(selectedIds.contains(optionList.get(i).getId()) ? "√" : "");
|
||||
}
|
||||
if (record.get("userSign") instanceof byte[] signature) {
|
||||
row.setHeightInPoints(40);
|
||||
ClientAnchor anchor = workbook.getCreationHelper().createClientAnchor();
|
||||
anchor.setCol1(signColumn);
|
||||
anchor.setCol2(signColumn + 1);
|
||||
anchor.setRow1(row.getRowNum());
|
||||
anchor.setRow2(row.getRowNum() + 1);
|
||||
drawing.createPicture(anchor, workbook.addPicture(signature, Workbook.PICTURE_TYPE_PNG));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
CommonDownloadUtil.download("领取表.xls", workbook, response);
|
||||
|
||||
@@ -7938,7 +7938,7 @@ CREATE TABLE `member_history` (
|
||||
`modelWorkerFiles` json NULL COMMENT '劳模资料',
|
||||
`customMenuIds` json NULL COMMENT '常用菜单',
|
||||
`retireDate` date NULL DEFAULT NULL COMMENT '退休日期',
|
||||
`preparedBy` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '人事编制',
|
||||
`preparedBy` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '编制类别',
|
||||
`customApprovalOpinions` json NULL COMMENT '常用审批意见',
|
||||
`wxOpenId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '微信openId',
|
||||
`totalIntegral` int NULL DEFAULT 0 COMMENT '总积分',
|
||||
@@ -7962,7 +7962,7 @@ CREATE TABLE `member_history` (
|
||||
`isThirtyTeach` tinyint(1) NULL DEFAULT NULL COMMENT '是否教学30年以上教工',
|
||||
`preparationMemberFee` decimal(10, 2) NULL DEFAULT NULL COMMENT '编制会费',
|
||||
`contractMemberFee` decimal(10, 2) NULL DEFAULT NULL COMMENT '合同制会费',
|
||||
`jobCategory` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '岗位类别',
|
||||
`jobCategory` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '岗位类别',
|
||||
`professionalTitle` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '职称',
|
||||
`professionalLevel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '职级',
|
||||
`employeeSource` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '职工来源',
|
||||
@@ -12460,7 +12460,7 @@ CREATE TABLE `sys_user` (
|
||||
`arrivalAtSchoolDate` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '来校时间',
|
||||
`postDoctoralJoinDate` date NULL DEFAULT NULL COMMENT '博士后进站时间',
|
||||
`personType1` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '人员类别',
|
||||
`preparedBy` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '聘用方式',
|
||||
`preparedBy` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '编制类别',
|
||||
`marriage` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '婚姻状况',
|
||||
`memberTime` datetime NULL DEFAULT NULL COMMENT '会员加入时间',
|
||||
`openId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'openId',
|
||||
@@ -12634,7 +12634,7 @@ CREATE TABLE `sys_user_history` (
|
||||
`dutySituation` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '在岗情况',
|
||||
`personType` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '教职工类别码',
|
||||
`pendingConfirmStatus` tinyint NULL DEFAULT 0 COMMENT '待确认状态:0不用确认、1待确认、2已确认',
|
||||
`preparedBy` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '编制类别码',
|
||||
`preparedBy` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '编制类别',
|
||||
`teachingTime` date NULL DEFAULT NULL COMMENT '从教年月',
|
||||
`expectedLeaveSchoolDate` date NULL DEFAULT NULL COMMENT '预计离校时间/最后离校时间',
|
||||
`retireDate` date NULL DEFAULT NULL COMMENT '退休时间',
|
||||
@@ -12743,7 +12743,9 @@ CREATE TABLE `sys_user_source` (
|
||||
`idCard` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '证件号码',
|
||||
`mobile` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '手机号码',
|
||||
`education` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '学历',
|
||||
`educationCode` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '最高学历代码',
|
||||
`academicDegree` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '学位',
|
||||
`academicDegreeCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '最高学位代码',
|
||||
`technicalTitle` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '技术职称',
|
||||
`technicalTitleLevel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '技术职称级别',
|
||||
`position` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '职务',
|
||||
@@ -12754,6 +12756,7 @@ CREATE TABLE `sys_user_source` (
|
||||
`employmentType` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '聘用方式',
|
||||
`identityType` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '身份类型',
|
||||
`userState` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '在职状态',
|
||||
`userStateCode` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '当前状态代码',
|
||||
`retireDate` date NULL DEFAULT NULL COMMENT '退休时间',
|
||||
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '头像',
|
||||
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '电子邮箱',
|
||||
@@ -12784,7 +12787,8 @@ CREATE TABLE `sys_user_source` (
|
||||
`arrivalAtSchoolDate` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '来校时间',
|
||||
`postDoctoralJoinDate` date NULL DEFAULT NULL COMMENT '博士后进站时间',
|
||||
`personType` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '人员类别',
|
||||
`preparedBy` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '聘用方式',
|
||||
`preparedBy` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '编制类别',
|
||||
`preparedByCode` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '编制类别代码',
|
||||
`marriage` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '婚姻状况',
|
||||
`memberTime` datetime NULL DEFAULT NULL COMMENT '会员加入时间',
|
||||
`openId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'openId',
|
||||
@@ -12793,7 +12797,9 @@ CREATE TABLE `sys_user_source` (
|
||||
`preparationMemberFee` decimal(10, 2) NULL DEFAULT NULL COMMENT '编制会费',
|
||||
`contractMemberFee` decimal(10, 2) NULL DEFAULT NULL COMMENT '合同制会费',
|
||||
`jobCategory` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '岗位类别',
|
||||
`jobCategoryCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '聘岗类型代码',
|
||||
`professionalTitle` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '职称',
|
||||
`professionalTitleCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '专业技术职务代码',
|
||||
`professionalLevel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '职级',
|
||||
`employeeSource` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '职工来源',
|
||||
`administrativeLevel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '行政级别(用于管理岗位)',
|
||||
|
||||
@@ -0,0 +1,783 @@
|
||||
-- 人员接口原始代码到名称的映射;系统页面字典另由 sys_dict 保存名称值。
|
||||
-- 同分类、同代码已有记录更新名称,缺失记录补充,不删除其他记录。
|
||||
SET NAMES utf8mb4;
|
||||
START TRANSACTION;
|
||||
|
||||
UPDATE sys_data_dict existing
|
||||
JOIN (
|
||||
SELECT 'USER_SEX' AS parentCode, '1' AS code, '男' AS name
|
||||
UNION ALL SELECT 'USER_SEX', '2', '女'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '01', '中国共产党员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '02', '中国共产党预备党员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '03', '中国共产主义青年团团员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '04', '中国国民党革命委员会会员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '05', '中国民主同盟盟员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '06', '中国民主建国会会员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '07', '中国民主促进会会员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '08', '中国农工民主党党员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '09', '中国致公党党员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '10', '九三学社社员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '11', '台湾民主自治同盟盟员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '12', '无党派民主人士'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '13', '群众'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '14', '入党积极分子'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '99', '其他'
|
||||
UNION ALL SELECT 'USER_NATION', '01', '汉族'
|
||||
UNION ALL SELECT 'USER_NATION', '02', '蒙古族'
|
||||
UNION ALL SELECT 'USER_NATION', '03', '回族'
|
||||
UNION ALL SELECT 'USER_NATION', '04', '藏族'
|
||||
UNION ALL SELECT 'USER_NATION', '05', '维吾尔族'
|
||||
UNION ALL SELECT 'USER_NATION', '06', '苗族'
|
||||
UNION ALL SELECT 'USER_NATION', '07', '彝族'
|
||||
UNION ALL SELECT 'USER_NATION', '08', '壮族'
|
||||
UNION ALL SELECT 'USER_NATION', '09', '布依族'
|
||||
UNION ALL SELECT 'USER_NATION', '10', '朝鲜族'
|
||||
UNION ALL SELECT 'USER_NATION', '11', '满族'
|
||||
UNION ALL SELECT 'USER_NATION', '12', '侗族'
|
||||
UNION ALL SELECT 'USER_NATION', '13', '瑶族'
|
||||
UNION ALL SELECT 'USER_NATION', '14', '白族'
|
||||
UNION ALL SELECT 'USER_NATION', '15', '土家族'
|
||||
UNION ALL SELECT 'USER_NATION', '16', '哈尼族'
|
||||
UNION ALL SELECT 'USER_NATION', '17', '哈萨克族'
|
||||
UNION ALL SELECT 'USER_NATION', '18', '傣族'
|
||||
UNION ALL SELECT 'USER_NATION', '19', '黎族'
|
||||
UNION ALL SELECT 'USER_NATION', '20', '傈僳族'
|
||||
UNION ALL SELECT 'USER_NATION', '21', '佤族'
|
||||
UNION ALL SELECT 'USER_NATION', '22', '畲族'
|
||||
UNION ALL SELECT 'USER_NATION', '23', '高山族'
|
||||
UNION ALL SELECT 'USER_NATION', '24', '拉祜族'
|
||||
UNION ALL SELECT 'USER_NATION', '25', '水族'
|
||||
UNION ALL SELECT 'USER_NATION', '26', '东乡族'
|
||||
UNION ALL SELECT 'USER_NATION', '27', '纳西族'
|
||||
UNION ALL SELECT 'USER_NATION', '28', '景颇族'
|
||||
UNION ALL SELECT 'USER_NATION', '29', '柯尔克孜族'
|
||||
UNION ALL SELECT 'USER_NATION', '30', '土族'
|
||||
UNION ALL SELECT 'USER_NATION', '31', '达斡尔族'
|
||||
UNION ALL SELECT 'USER_NATION', '32', '仫佬族'
|
||||
UNION ALL SELECT 'USER_NATION', '33', '羌族'
|
||||
UNION ALL SELECT 'USER_NATION', '34', '布朗族'
|
||||
UNION ALL SELECT 'USER_NATION', '35', '撒拉族'
|
||||
UNION ALL SELECT 'USER_NATION', '36', '毛南族'
|
||||
UNION ALL SELECT 'USER_NATION', '37', '仡佬族'
|
||||
UNION ALL SELECT 'USER_NATION', '38', '锡伯族'
|
||||
UNION ALL SELECT 'USER_NATION', '39', '阿昌族'
|
||||
UNION ALL SELECT 'USER_NATION', '40', '普米族'
|
||||
UNION ALL SELECT 'USER_NATION', '41', '塔吉克族'
|
||||
UNION ALL SELECT 'USER_NATION', '42', '怒族'
|
||||
UNION ALL SELECT 'USER_NATION', '43', '乌孜别克族'
|
||||
UNION ALL SELECT 'USER_NATION', '44', '俄罗斯族'
|
||||
UNION ALL SELECT 'USER_NATION', '45', '鄂温克族'
|
||||
UNION ALL SELECT 'USER_NATION', '46', '崩龙族'
|
||||
UNION ALL SELECT 'USER_NATION', '47', '保安族'
|
||||
UNION ALL SELECT 'USER_NATION', '48', '裕固族'
|
||||
UNION ALL SELECT 'USER_NATION', '49', '京族'
|
||||
UNION ALL SELECT 'USER_NATION', '50', '塔塔尔族'
|
||||
UNION ALL SELECT 'USER_NATION', '51', '独龙族'
|
||||
UNION ALL SELECT 'USER_NATION', '52', '鄂伦春族'
|
||||
UNION ALL SELECT 'USER_NATION', '53', '赫哲族'
|
||||
UNION ALL SELECT 'USER_NATION', '54', '门巴族'
|
||||
UNION ALL SELECT 'USER_NATION', '55', '珞巴族'
|
||||
UNION ALL SELECT 'USER_NATION', '56', '基诺族'
|
||||
UNION ALL SELECT 'USER_NATION', '59', '穿青人'
|
||||
UNION ALL SELECT 'USER_NATION', '60', '革(亻革)家人'
|
||||
UNION ALL SELECT 'USER_NATION', '90', '藏族(区内)'
|
||||
UNION ALL SELECT 'USER_NATION', '97', '其他'
|
||||
UNION ALL SELECT 'USER_NATION', '98', '外国血统中国籍人士'
|
||||
UNION ALL SELECT 'USER_STATE', '01', '离退休'
|
||||
UNION ALL SELECT 'USER_STATE', '03', '死亡'
|
||||
UNION ALL SELECT 'USER_STATE', '04', '退休返聘'
|
||||
UNION ALL SELECT 'USER_STATE', '05', '调出'
|
||||
UNION ALL SELECT 'USER_STATE', '06', '辞职'
|
||||
UNION ALL SELECT 'USER_STATE', '07', '离职'
|
||||
UNION ALL SELECT 'USER_STATE', '08', '开除'
|
||||
UNION ALL SELECT 'USER_STATE', '11', '在职'
|
||||
UNION ALL SELECT 'USER_STATE', '14', '长病假'
|
||||
UNION ALL SELECT 'USER_STATE', '15', '因公出国'
|
||||
UNION ALL SELECT 'USER_STATE', '17', '待岗'
|
||||
UNION ALL SELECT 'USER_STATE', '19', '内退'
|
||||
UNION ALL SELECT 'USER_STATE', '20', '自主创业'
|
||||
UNION ALL SELECT 'USER_STATE', '21', '挂职'
|
||||
UNION ALL SELECT 'USER_STATE', '22', '在岗'
|
||||
UNION ALL SELECT 'USER_STATE', '98', '病假等'
|
||||
UNION ALL SELECT 'USER_STATE', '99', '其他'
|
||||
UNION ALL SELECT 'USER_STATE', '999', '报到办理中'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '10', '管理岗位'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '20', '专业技术岗位'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '21', '教师岗位'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '22', '专职辅导员岗位'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '23', '其他专业技术岗位'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '30', '工勤技能岗位'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '125', '编辑'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '126', '编审'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '127', '大学讲师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '128', '档案'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '129', '副教授'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '130', '高级工程师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '131', '高级会计师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '132', '高级讲师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '133', '高校讲师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '134', '工程'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '135', '馆员'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '136', '管理'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '137', '会计'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '138', '会计审计'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '139', '讲师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '140', '教管'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '142', '教育管理'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '143', '科研'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '145', '实验'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '146', '实验师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '147', '思政'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '148', '图资'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '149', '卫计'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '150', '卫技'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '151', '幼教'
|
||||
UNION ALL SELECT 'USER_ID_CARD_TYPE', '0', '居民身份证'
|
||||
UNION ALL SELECT 'USER_ID_CARD_TYPE', '1', '护照'
|
||||
UNION ALL SELECT 'USER_ID_CARD_TYPE', '2', '港澳台居民身份证'
|
||||
UNION ALL SELECT 'USER_ID_CARD_TYPE', '4', '旅行证据'
|
||||
UNION ALL SELECT 'USER_ID_CARD_TYPE', '5', '其他'
|
||||
UNION ALL SELECT 'USER_MANY_UNIT', '0', '否'
|
||||
UNION ALL SELECT 'USER_MANY_UNIT', '1', '是'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '000', '无学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '0', '博士后'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '004', '教育学博士后'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '005', '文学博士后'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '006', '历史学博士后'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '008', '工学博士后'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '100', '名誉博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '200', '博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '201', '哲学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '202', '经济学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '203', '法学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '204', '教育学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '205', '文学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '206', '历史学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '207', '理学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '208', '工学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '209', '农学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '210', '医学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '212', '管理学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '213', '艺术学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '242', '教育博士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '245', '临床医学博士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '248', '兽医博士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '250', '口腔医学博士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '300', '硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '301', '哲学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '302', '经济学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '303', '法学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '304', '教育学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '305', '文学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '306', '历史学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '307', '理学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '308', '工学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '309', '农学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '310', '医学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '312', '管理学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '313', '艺术学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '341', '法律硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '342', '教育硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '343', '工程硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '344', '建筑学硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '345', '临床学硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '346', '工商管理硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '347', '农业推广硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '348', '兽医硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '349', '公共管理硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '350', '口腔医学硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '351', '公共卫生硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '352', '军事硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '353', '金融硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '354', '体育硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '355', '艺术硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '356', '风景园林硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '357', '汉语国际教育硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '358', '翻译硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '359', '审计硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '360', '社会工作硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '362', '体育硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '364', '应用心理硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '365', '翻译硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '370', '风景园林硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '375', '会计硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '377', '图书情报硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '379', '艺术硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '400', '学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '401', '哲学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '402', '经济学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '403', '法学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '404', '教育学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '405', '文学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '406', '历史学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '407', '理学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '408', '工学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '409', '农学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '410', '医学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '412', '管理学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '413', '艺术学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '444', '建筑学学士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '900', '境外学位'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '10', '研究生教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '11', '博士研究生毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '12', '博士研究生结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '14', '硕士研究生毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '15', '硕士研究生结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '17', '研究生班毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '18', '研究生班结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '20', '大学本科教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '21', '大学本科毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '22', '大学本科结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '25', '双学历毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '28', '大学普通班毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '30', '大学专科教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '31', '大学专科毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '32', '大学专科结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '40', '中等职业教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '41', '中等专科毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '42', '中等专科结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '43', '中等专科肄业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '44', '职业高中毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '45', '职业高中结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '47', '技工学校毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '48', '技工学校结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '60', '普通高级中学教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '61', '普通高中毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '62', '普通高中结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '63', '普通高中肄业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '70', '初级中学教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '71', '初中毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '73', '初中肄业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '80', '小学教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '81', '小学毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '90', '其他'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '128', '相当大学毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '138', '相当专科毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '142', '中技毕业'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '010', '高等学校教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '011', '教授'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '012', '副教授'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '013', '讲师(高校)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '014', '助教(高校)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '022', '高级讲师(中专)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '023', '讲师(中专)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '024', '助理讲师(中专)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '032', '高级讲师(技校)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '033', '讲师(技校)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '034', '助理讲师(技校)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '043', '一级实习指导教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '044', '二级实习指导教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '045', '三级实习指导教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '052', '高级教师(中学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '053', '一级教师(中学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '054', '二级教师(中学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '061', '正高级教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '062', '高级教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '063', '一级教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '064', '二级教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '071', '教授级高级实验师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '072', '高级实验师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '073', '实验师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '074', '助理实验师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '075', '实验员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '081', '教授级高级工程师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '082', '高级工程师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '083', '工程师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '084', '助理工程师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '085', '技术员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '093', '农艺师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '110', '农业技术人员(畜牧)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '120', '经济专业人员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '123', '经济师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '124', '助理经济师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '130', '会计专业人员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '132', '高级会计师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '133', '会计师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '134', '助理会计师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '135', '会计员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '140', '统计专业人员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '143', '统计师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '151', '编审'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '152', '副编审'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '153', '编辑'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '202', '主任编辑'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '203', '编辑'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '220', '播音员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '230', '卫生技术人员(医师)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '231', '主任医师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '232', '副主任医师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '233', '主治医师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '234', '医师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '242', '副主任药师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '243', '主管药师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '244', '药师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '250', '卫生技术人员(护理)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '252', '副主任护师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '253', '主管护师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '254', '护师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '263', '卫生主管技师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '413', '高级教师(小学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '414', '一级教师(小学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '430', '船舶技术人员(轮机)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '611', '研究员(自然科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '612', '副研究员(自然科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '613', '助理研究员(自然科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '621', '研究员(社会科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '622', '副研究员(社会科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '623', '助理研究员(社会科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '624', '研究实习员(社会科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '641', '研究馆员(图书)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '642', '副研究馆员(图书)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '643', '馆员(图书)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '644', '助理馆员(图书)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '653', '馆员(文博)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '661', '研究馆员(档案)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '662', '副研究馆员(档案)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '663', '馆员(档案)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '911', '教授(思想政治教育)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '912', '副教授(思想政治教育)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '913', '讲师(思想政治教育)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '914', '助教(思想政治教育)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '983', '政工师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '984', '助理政工师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '985', '政工员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '992', '副教授(改革)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9061', '研究员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9062', '副研究员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9063', '助理研究员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9064', '研究实习员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9211', '研究馆员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9212', '副研究馆员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9213', '馆员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9214', '助理馆员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9215', '管理员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9581', '幼教一级'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9582', '幼教二级'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9583', '幼教高级'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9621', '研究员(教管)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9622', '副研究员(教管)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9623', '助理研究员(教管)'
|
||||
) source ON existing.parentCode = source.parentCode AND existing.code = source.code
|
||||
SET existing.name = source.name, existing.updatedAt = UNIX_TIMESTAMP(NOW()) * 1000
|
||||
WHERE NOT (existing.name <=> source.name);
|
||||
|
||||
INSERT INTO sys_data_dict (
|
||||
parentCode, name, code, createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
source.parentCode, source.name, source.code,
|
||||
'', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM (
|
||||
SELECT 'USER_SEX' AS parentCode, '1' AS code, '男' AS name
|
||||
UNION ALL SELECT 'USER_SEX', '2', '女'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '01', '中国共产党员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '02', '中国共产党预备党员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '03', '中国共产主义青年团团员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '04', '中国国民党革命委员会会员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '05', '中国民主同盟盟员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '06', '中国民主建国会会员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '07', '中国民主促进会会员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '08', '中国农工民主党党员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '09', '中国致公党党员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '10', '九三学社社员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '11', '台湾民主自治同盟盟员'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '12', '无党派民主人士'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '13', '群众'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '14', '入党积极分子'
|
||||
UNION ALL SELECT 'USER_POLITICAL', '99', '其他'
|
||||
UNION ALL SELECT 'USER_NATION', '01', '汉族'
|
||||
UNION ALL SELECT 'USER_NATION', '02', '蒙古族'
|
||||
UNION ALL SELECT 'USER_NATION', '03', '回族'
|
||||
UNION ALL SELECT 'USER_NATION', '04', '藏族'
|
||||
UNION ALL SELECT 'USER_NATION', '05', '维吾尔族'
|
||||
UNION ALL SELECT 'USER_NATION', '06', '苗族'
|
||||
UNION ALL SELECT 'USER_NATION', '07', '彝族'
|
||||
UNION ALL SELECT 'USER_NATION', '08', '壮族'
|
||||
UNION ALL SELECT 'USER_NATION', '09', '布依族'
|
||||
UNION ALL SELECT 'USER_NATION', '10', '朝鲜族'
|
||||
UNION ALL SELECT 'USER_NATION', '11', '满族'
|
||||
UNION ALL SELECT 'USER_NATION', '12', '侗族'
|
||||
UNION ALL SELECT 'USER_NATION', '13', '瑶族'
|
||||
UNION ALL SELECT 'USER_NATION', '14', '白族'
|
||||
UNION ALL SELECT 'USER_NATION', '15', '土家族'
|
||||
UNION ALL SELECT 'USER_NATION', '16', '哈尼族'
|
||||
UNION ALL SELECT 'USER_NATION', '17', '哈萨克族'
|
||||
UNION ALL SELECT 'USER_NATION', '18', '傣族'
|
||||
UNION ALL SELECT 'USER_NATION', '19', '黎族'
|
||||
UNION ALL SELECT 'USER_NATION', '20', '傈僳族'
|
||||
UNION ALL SELECT 'USER_NATION', '21', '佤族'
|
||||
UNION ALL SELECT 'USER_NATION', '22', '畲族'
|
||||
UNION ALL SELECT 'USER_NATION', '23', '高山族'
|
||||
UNION ALL SELECT 'USER_NATION', '24', '拉祜族'
|
||||
UNION ALL SELECT 'USER_NATION', '25', '水族'
|
||||
UNION ALL SELECT 'USER_NATION', '26', '东乡族'
|
||||
UNION ALL SELECT 'USER_NATION', '27', '纳西族'
|
||||
UNION ALL SELECT 'USER_NATION', '28', '景颇族'
|
||||
UNION ALL SELECT 'USER_NATION', '29', '柯尔克孜族'
|
||||
UNION ALL SELECT 'USER_NATION', '30', '土族'
|
||||
UNION ALL SELECT 'USER_NATION', '31', '达斡尔族'
|
||||
UNION ALL SELECT 'USER_NATION', '32', '仫佬族'
|
||||
UNION ALL SELECT 'USER_NATION', '33', '羌族'
|
||||
UNION ALL SELECT 'USER_NATION', '34', '布朗族'
|
||||
UNION ALL SELECT 'USER_NATION', '35', '撒拉族'
|
||||
UNION ALL SELECT 'USER_NATION', '36', '毛南族'
|
||||
UNION ALL SELECT 'USER_NATION', '37', '仡佬族'
|
||||
UNION ALL SELECT 'USER_NATION', '38', '锡伯族'
|
||||
UNION ALL SELECT 'USER_NATION', '39', '阿昌族'
|
||||
UNION ALL SELECT 'USER_NATION', '40', '普米族'
|
||||
UNION ALL SELECT 'USER_NATION', '41', '塔吉克族'
|
||||
UNION ALL SELECT 'USER_NATION', '42', '怒族'
|
||||
UNION ALL SELECT 'USER_NATION', '43', '乌孜别克族'
|
||||
UNION ALL SELECT 'USER_NATION', '44', '俄罗斯族'
|
||||
UNION ALL SELECT 'USER_NATION', '45', '鄂温克族'
|
||||
UNION ALL SELECT 'USER_NATION', '46', '崩龙族'
|
||||
UNION ALL SELECT 'USER_NATION', '47', '保安族'
|
||||
UNION ALL SELECT 'USER_NATION', '48', '裕固族'
|
||||
UNION ALL SELECT 'USER_NATION', '49', '京族'
|
||||
UNION ALL SELECT 'USER_NATION', '50', '塔塔尔族'
|
||||
UNION ALL SELECT 'USER_NATION', '51', '独龙族'
|
||||
UNION ALL SELECT 'USER_NATION', '52', '鄂伦春族'
|
||||
UNION ALL SELECT 'USER_NATION', '53', '赫哲族'
|
||||
UNION ALL SELECT 'USER_NATION', '54', '门巴族'
|
||||
UNION ALL SELECT 'USER_NATION', '55', '珞巴族'
|
||||
UNION ALL SELECT 'USER_NATION', '56', '基诺族'
|
||||
UNION ALL SELECT 'USER_NATION', '59', '穿青人'
|
||||
UNION ALL SELECT 'USER_NATION', '60', '革(亻革)家人'
|
||||
UNION ALL SELECT 'USER_NATION', '90', '藏族(区内)'
|
||||
UNION ALL SELECT 'USER_NATION', '97', '其他'
|
||||
UNION ALL SELECT 'USER_NATION', '98', '外国血统中国籍人士'
|
||||
UNION ALL SELECT 'USER_STATE', '01', '离退休'
|
||||
UNION ALL SELECT 'USER_STATE', '03', '死亡'
|
||||
UNION ALL SELECT 'USER_STATE', '04', '退休返聘'
|
||||
UNION ALL SELECT 'USER_STATE', '05', '调出'
|
||||
UNION ALL SELECT 'USER_STATE', '06', '辞职'
|
||||
UNION ALL SELECT 'USER_STATE', '07', '离职'
|
||||
UNION ALL SELECT 'USER_STATE', '08', '开除'
|
||||
UNION ALL SELECT 'USER_STATE', '11', '在职'
|
||||
UNION ALL SELECT 'USER_STATE', '14', '长病假'
|
||||
UNION ALL SELECT 'USER_STATE', '15', '因公出国'
|
||||
UNION ALL SELECT 'USER_STATE', '17', '待岗'
|
||||
UNION ALL SELECT 'USER_STATE', '19', '内退'
|
||||
UNION ALL SELECT 'USER_STATE', '20', '自主创业'
|
||||
UNION ALL SELECT 'USER_STATE', '21', '挂职'
|
||||
UNION ALL SELECT 'USER_STATE', '22', '在岗'
|
||||
UNION ALL SELECT 'USER_STATE', '98', '病假等'
|
||||
UNION ALL SELECT 'USER_STATE', '99', '其他'
|
||||
UNION ALL SELECT 'USER_STATE', '999', '报到办理中'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '10', '管理岗位'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '20', '专业技术岗位'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '21', '教师岗位'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '22', '专职辅导员岗位'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '23', '其他专业技术岗位'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '30', '工勤技能岗位'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '125', '编辑'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '126', '编审'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '127', '大学讲师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '128', '档案'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '129', '副教授'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '130', '高级工程师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '131', '高级会计师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '132', '高级讲师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '133', '高校讲师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '134', '工程'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '135', '馆员'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '136', '管理'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '137', '会计'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '138', '会计审计'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '139', '讲师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '140', '教管'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '142', '教育管理'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '143', '科研'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '145', '实验'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '146', '实验师'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '147', '思政'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '148', '图资'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '149', '卫计'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '150', '卫技'
|
||||
UNION ALL SELECT 'USER_JOB_CATEGORY', '151', '幼教'
|
||||
UNION ALL SELECT 'USER_ID_CARD_TYPE', '0', '居民身份证'
|
||||
UNION ALL SELECT 'USER_ID_CARD_TYPE', '1', '护照'
|
||||
UNION ALL SELECT 'USER_ID_CARD_TYPE', '2', '港澳台居民身份证'
|
||||
UNION ALL SELECT 'USER_ID_CARD_TYPE', '4', '旅行证据'
|
||||
UNION ALL SELECT 'USER_ID_CARD_TYPE', '5', '其他'
|
||||
UNION ALL SELECT 'USER_MANY_UNIT', '0', '否'
|
||||
UNION ALL SELECT 'USER_MANY_UNIT', '1', '是'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '000', '无学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '0', '博士后'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '004', '教育学博士后'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '005', '文学博士后'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '006', '历史学博士后'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '008', '工学博士后'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '100', '名誉博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '200', '博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '201', '哲学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '202', '经济学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '203', '法学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '204', '教育学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '205', '文学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '206', '历史学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '207', '理学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '208', '工学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '209', '农学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '210', '医学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '212', '管理学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '213', '艺术学博士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '242', '教育博士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '245', '临床医学博士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '248', '兽医博士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '250', '口腔医学博士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '300', '硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '301', '哲学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '302', '经济学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '303', '法学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '304', '教育学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '305', '文学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '306', '历史学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '307', '理学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '308', '工学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '309', '农学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '310', '医学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '312', '管理学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '313', '艺术学硕士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '341', '法律硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '342', '教育硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '343', '工程硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '344', '建筑学硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '345', '临床学硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '346', '工商管理硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '347', '农业推广硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '348', '兽医硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '349', '公共管理硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '350', '口腔医学硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '351', '公共卫生硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '352', '军事硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '353', '金融硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '354', '体育硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '355', '艺术硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '356', '风景园林硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '357', '汉语国际教育硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '358', '翻译硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '359', '审计硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '360', '社会工作硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '362', '体育硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '364', '应用心理硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '365', '翻译硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '370', '风景园林硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '375', '会计硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '377', '图书情报硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '379', '艺术硕士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '400', '学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '401', '哲学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '402', '经济学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '403', '法学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '404', '教育学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '405', '文学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '406', '历史学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '407', '理学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '408', '工学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '409', '农学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '410', '医学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '412', '管理学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '413', '艺术学学士学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '444', '建筑学学士专业学位'
|
||||
UNION ALL SELECT 'USER_ACADEMIC_DEGREE', '900', '境外学位'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '10', '研究生教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '11', '博士研究生毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '12', '博士研究生结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '14', '硕士研究生毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '15', '硕士研究生结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '17', '研究生班毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '18', '研究生班结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '20', '大学本科教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '21', '大学本科毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '22', '大学本科结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '25', '双学历毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '28', '大学普通班毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '30', '大学专科教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '31', '大学专科毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '32', '大学专科结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '40', '中等职业教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '41', '中等专科毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '42', '中等专科结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '43', '中等专科肄业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '44', '职业高中毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '45', '职业高中结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '47', '技工学校毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '48', '技工学校结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '60', '普通高级中学教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '61', '普通高中毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '62', '普通高中结业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '63', '普通高中肄业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '70', '初级中学教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '71', '初中毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '73', '初中肄业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '80', '小学教育'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '81', '小学毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '90', '其他'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '128', '相当大学毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '138', '相当专科毕业'
|
||||
UNION ALL SELECT 'USER_EDUCATION', '142', '中技毕业'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '010', '高等学校教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '011', '教授'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '012', '副教授'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '013', '讲师(高校)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '014', '助教(高校)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '022', '高级讲师(中专)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '023', '讲师(中专)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '024', '助理讲师(中专)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '032', '高级讲师(技校)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '033', '讲师(技校)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '034', '助理讲师(技校)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '043', '一级实习指导教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '044', '二级实习指导教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '045', '三级实习指导教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '052', '高级教师(中学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '053', '一级教师(中学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '054', '二级教师(中学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '061', '正高级教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '062', '高级教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '063', '一级教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '064', '二级教师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '071', '教授级高级实验师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '072', '高级实验师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '073', '实验师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '074', '助理实验师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '075', '实验员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '081', '教授级高级工程师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '082', '高级工程师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '083', '工程师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '084', '助理工程师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '085', '技术员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '093', '农艺师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '110', '农业技术人员(畜牧)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '120', '经济专业人员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '123', '经济师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '124', '助理经济师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '130', '会计专业人员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '132', '高级会计师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '133', '会计师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '134', '助理会计师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '135', '会计员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '140', '统计专业人员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '143', '统计师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '151', '编审'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '152', '副编审'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '153', '编辑'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '202', '主任编辑'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '203', '编辑'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '220', '播音员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '230', '卫生技术人员(医师)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '231', '主任医师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '232', '副主任医师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '233', '主治医师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '234', '医师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '242', '副主任药师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '243', '主管药师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '244', '药师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '250', '卫生技术人员(护理)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '252', '副主任护师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '253', '主管护师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '254', '护师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '263', '卫生主管技师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '413', '高级教师(小学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '414', '一级教师(小学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '430', '船舶技术人员(轮机)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '611', '研究员(自然科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '612', '副研究员(自然科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '613', '助理研究员(自然科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '621', '研究员(社会科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '622', '副研究员(社会科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '623', '助理研究员(社会科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '624', '研究实习员(社会科学)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '641', '研究馆员(图书)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '642', '副研究馆员(图书)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '643', '馆员(图书)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '644', '助理馆员(图书)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '653', '馆员(文博)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '661', '研究馆员(档案)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '662', '副研究馆员(档案)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '663', '馆员(档案)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '911', '教授(思想政治教育)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '912', '副教授(思想政治教育)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '913', '讲师(思想政治教育)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '914', '助教(思想政治教育)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '983', '政工师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '984', '助理政工师'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '985', '政工员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '992', '副教授(改革)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9061', '研究员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9062', '副研究员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9063', '助理研究员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9064', '研究实习员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9211', '研究馆员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9212', '副研究馆员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9213', '馆员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9214', '助理馆员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9215', '管理员'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9581', '幼教一级'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9582', '幼教二级'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9583', '幼教高级'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9621', '研究员(教管)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9622', '副研究员(教管)'
|
||||
UNION ALL SELECT 'TECHNICAL_TITLE_LEVEL', '9623', '助理研究员(教管)'
|
||||
) source
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM sys_data_dict existing
|
||||
WHERE existing.parentCode = source.parentCode AND existing.code = source.code
|
||||
);
|
||||
|
||||
-- 人员类型:独立补充 v3 的 17 项映射,不混入上面的其他字典数据。
|
||||
UPDATE sys_data_dict existing
|
||||
JOIN (
|
||||
SELECT '1' AS code, '在编类' AS name
|
||||
UNION ALL SELECT '1001', '聘用合同制(享受人事代理待遇)'
|
||||
UNION ALL SELECT '101', '在编'
|
||||
UNION ALL SELECT '102', '兰溪编制'
|
||||
UNION ALL SELECT '2', '非在编类'
|
||||
UNION ALL SELECT '202', '派遣人员'
|
||||
UNION ALL SELECT '204', '博士后'
|
||||
UNION ALL SELECT '206', '挂职人员'
|
||||
UNION ALL SELECT '208', '外籍教师'
|
||||
UNION ALL SELECT '209', '兼职教师'
|
||||
UNION ALL SELECT '210', '非学校聘用人员'
|
||||
UNION ALL SELECT '214', '单位返聘'
|
||||
UNION ALL SELECT '215', '附属单位'
|
||||
UNION ALL SELECT '902', '聘用合同制'
|
||||
UNION ALL SELECT '904', '聘用制专家'
|
||||
UNION ALL SELECT '905', '人事代理'
|
||||
UNION ALL SELECT '909', '其他'
|
||||
) source ON existing.parentCode = 'USER_PERSON_TYPE' AND existing.code = source.code
|
||||
SET existing.name = source.name, existing.updatedAt = UNIX_TIMESTAMP(NOW()) * 1000
|
||||
WHERE NOT (existing.name <=> source.name);
|
||||
|
||||
INSERT INTO sys_data_dict (
|
||||
parentCode, name, code, createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
'USER_PERSON_TYPE', source.name, source.code,
|
||||
'', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM (
|
||||
SELECT '1' AS code, '在编类' AS name
|
||||
UNION ALL SELECT '1001', '聘用合同制(享受人事代理待遇)'
|
||||
UNION ALL SELECT '101', '在编'
|
||||
UNION ALL SELECT '102', '兰溪编制'
|
||||
UNION ALL SELECT '2', '非在编类'
|
||||
UNION ALL SELECT '202', '派遣人员'
|
||||
UNION ALL SELECT '204', '博士后'
|
||||
UNION ALL SELECT '206', '挂职人员'
|
||||
UNION ALL SELECT '208', '外籍教师'
|
||||
UNION ALL SELECT '209', '兼职教师'
|
||||
UNION ALL SELECT '210', '非学校聘用人员'
|
||||
UNION ALL SELECT '214', '单位返聘'
|
||||
UNION ALL SELECT '215', '附属单位'
|
||||
UNION ALL SELECT '902', '聘用合同制'
|
||||
UNION ALL SELECT '904', '聘用制专家'
|
||||
UNION ALL SELECT '905', '人事代理'
|
||||
UNION ALL SELECT '909', '其他'
|
||||
) source
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM sys_data_dict existing
|
||||
WHERE existing.parentCode = 'USER_PERSON_TYPE' AND existing.code = source.code
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1,28 @@
|
||||
-- 在人员数据拉取菜单同级新增实时查询入口,沿用现有菜单的角色授权。
|
||||
INSERT INTO sys_menu (
|
||||
id, parentId, path, name, type, href, target, icon, showit, disabled,
|
||||
permission, location, hasChildren, platform, moduleId,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT 'bc6cf4034e9449bfa6e81c7d26509129', source.parentId,
|
||||
CONCAT(LEFT(source.path, CHAR_LENGTH(source.path) - 4),
|
||||
LPAD(COALESCE((SELECT MAX(CAST(RIGHT(sibling.path, 4) AS UNSIGNED))
|
||||
FROM sys_menu sibling WHERE sibling.parentId = source.parentId), 0) + 1, 4, '0')),
|
||||
'数据中心人员查询', 'menu', '/platform/sys/data/user/query', source.target,
|
||||
source.icon, 1, 0, 'sys.data.user.query', source.location + 1, 0,
|
||||
source.platform, source.moduleId, '', UNIX_TIMESTAMP(NOW()) * 1000,
|
||||
'', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_menu source
|
||||
WHERE source.permission = 'sys.data.user.pull'
|
||||
AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE permission = 'sys.data.user.query')
|
||||
LIMIT 1;
|
||||
|
||||
INSERT INTO sys_role_menu (roleId, menuId)
|
||||
SELECT DISTINCT relation.roleId, target.id
|
||||
FROM sys_role_menu relation
|
||||
JOIN sys_menu source ON source.id = relation.menuId AND source.permission = 'sys.data.user.pull'
|
||||
JOIN sys_menu target ON target.permission = 'sys.data.user.query'
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM sys_role_menu existing
|
||||
WHERE existing.roleId = relation.roleId AND existing.menuId = target.id
|
||||
);
|
||||
@@ -0,0 +1,781 @@
|
||||
SET NAMES utf8mb4;
|
||||
START TRANSACTION;
|
||||
|
||||
UPDATE sys_dict child
|
||||
JOIN sys_dict parent ON parent.id = child.parentId
|
||||
SET child.code = child.name
|
||||
WHERE parent.code IN ('USER_SEX', 'USER_POLITICAL', 'USER_NATION', 'USER_STATE', 'USER_JOB_CATEGORY', 'USER_ID_CARD_TYPE', 'USER_MANY_UNIT')
|
||||
AND child.name IS NOT NULL
|
||||
AND child.name <> ''
|
||||
AND NOT (child.code <=> child.name);
|
||||
|
||||
-- 1. 政治面貌
|
||||
-- 补充 USER_POLITICAL 的直接子项:code、name 均为全称,remark 为简称。
|
||||
-- 仅使用指定父节点,已有同编码子项不覆盖;不删除任何记录。
|
||||
|
||||
INSERT INTO sys_dict (
|
||||
id, parentId, path, name, remark, code, disabled, location, hasChildren,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''), parent.id,
|
||||
CONCAT(parent.path, LPAD(IFNULL((
|
||||
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
|
||||
FROM sys_dict child
|
||||
WHERE child.path LIKE CONCAT(parent.path, '____')
|
||||
), 0) + source.sortOrder, 4, '0')),
|
||||
source.name, source.shortName, source.name, 0,
|
||||
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0)
|
||||
+ source.sortOrder,
|
||||
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_dict parent
|
||||
CROSS JOIN (
|
||||
SELECT 1 AS sortOrder, '01' AS code, '中国共产党员' AS name, '中共党员' AS shortName
|
||||
UNION ALL SELECT 2, '02', '中国共产党预备党员', '中共预备党员'
|
||||
UNION ALL SELECT 3, '03', '中国共产主义青年团团员', '共青团员'
|
||||
UNION ALL SELECT 4, '04', '中国国民党革命委员会会员', '民革党员'
|
||||
UNION ALL SELECT 5, '05', '中国民主同盟盟员', '民盟盟员'
|
||||
UNION ALL SELECT 6, '06', '中国民主建国会会员', '民建会员'
|
||||
UNION ALL SELECT 7, '07', '中国民主促进会会员', '民进会员'
|
||||
UNION ALL SELECT 8, '08', '中国农工民主党党员', '农工党党员'
|
||||
UNION ALL SELECT 9, '09', '中国致公党党员', '致公党党员'
|
||||
UNION ALL SELECT 10, '10', '九三学社社员', '九三学社社员'
|
||||
UNION ALL SELECT 11, '11', '台湾民主自治同盟盟员', '台盟盟员'
|
||||
UNION ALL SELECT 12, '12', '无党派民主人士', '无党派人士'
|
||||
UNION ALL SELECT 13, '13', '群众', '群众'
|
||||
UNION ALL SELECT 14, '14', '入党积极分子', '积极分子'
|
||||
UNION ALL SELECT 15, '99', '其他', '其他'
|
||||
) source
|
||||
WHERE parent.id = '4cc380a7a45a43a89410413676c9103e'
|
||||
AND parent.code = 'USER_POLITICAL'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM sys_dict existing
|
||||
WHERE existing.parentId = parent.id AND existing.code = source.name
|
||||
);
|
||||
|
||||
UPDATE sys_dict parent
|
||||
SET parent.hasChildren = 1
|
||||
WHERE parent.id = '4cc380a7a45a43a89410413676c9103e'
|
||||
AND parent.code = 'USER_POLITICAL'
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM (SELECT DISTINCT parentId FROM sys_dict) child
|
||||
WHERE child.parentId = parent.id
|
||||
);
|
||||
|
||||
-- 2. 民族
|
||||
-- 补充 USER_NATION 的 61 个直接子项,保留接口代码前导零及提供的名称原文。
|
||||
-- 仅新增缺失编码,不删除或覆盖已有记录。
|
||||
INSERT INTO sys_dict (
|
||||
id, parentId, path, name, remark, code, disabled, location, hasChildren,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''), parent.id,
|
||||
CONCAT(parent.path, LPAD(IFNULL((
|
||||
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
|
||||
FROM sys_dict child
|
||||
WHERE child.path LIKE CONCAT(parent.path, '____')
|
||||
), 0) + source.sortOrder, 4, '0')),
|
||||
source.name, '', source.name, 0,
|
||||
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0)
|
||||
+ source.sortOrder,
|
||||
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_dict parent
|
||||
CROSS JOIN (
|
||||
SELECT 1 AS sortOrder, '01' AS code, '汉族' AS name
|
||||
UNION ALL SELECT 2, '02', '蒙古族'
|
||||
UNION ALL SELECT 3, '03', '回族'
|
||||
UNION ALL SELECT 4, '04', '藏族'
|
||||
UNION ALL SELECT 5, '05', '维吾尔族'
|
||||
UNION ALL SELECT 6, '06', '苗族'
|
||||
UNION ALL SELECT 7, '07', '彝族'
|
||||
UNION ALL SELECT 8, '08', '壮族'
|
||||
UNION ALL SELECT 9, '09', '布依族'
|
||||
UNION ALL SELECT 10, '10', '朝鲜族'
|
||||
UNION ALL SELECT 11, '11', '满族'
|
||||
UNION ALL SELECT 12, '12', '侗族'
|
||||
UNION ALL SELECT 13, '13', '瑶族'
|
||||
UNION ALL SELECT 14, '14', '白族'
|
||||
UNION ALL SELECT 15, '15', '土家族'
|
||||
UNION ALL SELECT 16, '16', '哈尼族'
|
||||
UNION ALL SELECT 17, '17', '哈萨克族'
|
||||
UNION ALL SELECT 18, '18', '傣族'
|
||||
UNION ALL SELECT 19, '19', '黎族'
|
||||
UNION ALL SELECT 20, '20', '傈僳族'
|
||||
UNION ALL SELECT 21, '21', '佤族'
|
||||
UNION ALL SELECT 22, '22', '畲族'
|
||||
UNION ALL SELECT 23, '23', '高山族'
|
||||
UNION ALL SELECT 24, '24', '拉祜族'
|
||||
UNION ALL SELECT 25, '25', '水族'
|
||||
UNION ALL SELECT 26, '26', '东乡族'
|
||||
UNION ALL SELECT 27, '27', '纳西族'
|
||||
UNION ALL SELECT 28, '28', '景颇族'
|
||||
UNION ALL SELECT 29, '29', '柯尔克孜族'
|
||||
UNION ALL SELECT 30, '30', '土族'
|
||||
UNION ALL SELECT 31, '31', '达斡尔族'
|
||||
UNION ALL SELECT 32, '32', '仫佬族'
|
||||
UNION ALL SELECT 33, '33', '羌族'
|
||||
UNION ALL SELECT 34, '34', '布朗族'
|
||||
UNION ALL SELECT 35, '35', '撒拉族'
|
||||
UNION ALL SELECT 36, '36', '毛南族'
|
||||
UNION ALL SELECT 37, '37', '仡佬族'
|
||||
UNION ALL SELECT 38, '38', '锡伯族'
|
||||
UNION ALL SELECT 39, '39', '阿昌族'
|
||||
UNION ALL SELECT 40, '40', '普米族'
|
||||
UNION ALL SELECT 41, '41', '塔吉克族'
|
||||
UNION ALL SELECT 42, '42', '怒族'
|
||||
UNION ALL SELECT 43, '43', '乌孜别克族'
|
||||
UNION ALL SELECT 44, '44', '俄罗斯族'
|
||||
UNION ALL SELECT 45, '45', '鄂温克族'
|
||||
UNION ALL SELECT 46, '46', '崩龙族'
|
||||
UNION ALL SELECT 47, '47', '保安族'
|
||||
UNION ALL SELECT 48, '48', '裕固族'
|
||||
UNION ALL SELECT 49, '49', '京族'
|
||||
UNION ALL SELECT 50, '50', '塔塔尔族'
|
||||
UNION ALL SELECT 51, '51', '独龙族'
|
||||
UNION ALL SELECT 52, '52', '鄂伦春族'
|
||||
UNION ALL SELECT 53, '53', '赫哲族'
|
||||
UNION ALL SELECT 54, '54', '门巴族'
|
||||
UNION ALL SELECT 55, '55', '珞巴族'
|
||||
UNION ALL SELECT 56, '56', '基诺族'
|
||||
UNION ALL SELECT 57, '59', '穿青人'
|
||||
UNION ALL SELECT 58, '60', '革(亻革)家人'
|
||||
UNION ALL SELECT 59, '90', '藏族(区内)'
|
||||
UNION ALL SELECT 60, '97', '其他'
|
||||
UNION ALL SELECT 61, '98', '外国血统中国籍人士'
|
||||
) source
|
||||
WHERE parent.id = '456c088b99bb4423a115c0bb5b420a99'
|
||||
AND parent.code = 'USER_NATION'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM sys_dict existing
|
||||
WHERE existing.parentId = parent.id AND existing.code = source.name
|
||||
);
|
||||
|
||||
-- 3. 当前状态
|
||||
-- 补充 USER_STATE 的 18 个直接子项,保留接口代码前导零及提供的名称原文。
|
||||
-- 仅新增缺失编码,不删除或覆盖已有记录。
|
||||
INSERT INTO sys_dict (
|
||||
id, parentId, path, name, remark, code, disabled, location, hasChildren,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''), parent.id,
|
||||
CONCAT(parent.path, LPAD(IFNULL((
|
||||
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
|
||||
FROM sys_dict child
|
||||
WHERE child.path LIKE CONCAT(parent.path, '____')
|
||||
), 0) + source.sortOrder, 4, '0')),
|
||||
source.name, '', source.name, 0,
|
||||
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0)
|
||||
+ source.sortOrder,
|
||||
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_dict parent
|
||||
CROSS JOIN (
|
||||
SELECT 1 AS sortOrder, '01' AS code, '离退休' AS name
|
||||
UNION ALL SELECT 2, '03', '死亡'
|
||||
UNION ALL SELECT 3, '04', '退休返聘'
|
||||
UNION ALL SELECT 4, '05', '调出'
|
||||
UNION ALL SELECT 5, '06', '辞职'
|
||||
UNION ALL SELECT 6, '07', '离职'
|
||||
UNION ALL SELECT 7, '08', '开除'
|
||||
UNION ALL SELECT 8, '11', '在职'
|
||||
UNION ALL SELECT 9, '14', '长病假'
|
||||
UNION ALL SELECT 10, '15', '因公出国'
|
||||
UNION ALL SELECT 11, '17', '待岗'
|
||||
UNION ALL SELECT 12, '19', '内退'
|
||||
UNION ALL SELECT 13, '20', '自主创业'
|
||||
UNION ALL SELECT 14, '21', '挂职'
|
||||
UNION ALL SELECT 15, '22', '在岗'
|
||||
UNION ALL SELECT 16, '98', '病假等'
|
||||
UNION ALL SELECT 17, '99', '其他'
|
||||
UNION ALL SELECT 18, '999', '报到办理中'
|
||||
) source
|
||||
WHERE parent.id = '3709e40a132348be947dcaa553bf8f8a'
|
||||
AND parent.code = 'USER_STATE'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM sys_dict existing
|
||||
WHERE existing.parentId = parent.id AND existing.code = source.name
|
||||
);
|
||||
|
||||
-- 4. 岗位类型
|
||||
-- 岗位类型(USER_JOB_CATEGORY)下的 31 个直接子项,父级须已存在。
|
||||
-- 仅新增缺失编码,不删除或覆盖已有记录。
|
||||
INSERT INTO sys_dict (
|
||||
id, parentId, path, name, remark, code, disabled, location, hasChildren,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''), parent.id,
|
||||
CONCAT(parent.path, LPAD(IFNULL((
|
||||
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
|
||||
FROM sys_dict child
|
||||
WHERE child.path LIKE CONCAT(parent.path, '____')
|
||||
), 0) + source.sortOrder, 4, '0')),
|
||||
source.name, '', source.name, 0,
|
||||
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0)
|
||||
+ source.sortOrder,
|
||||
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_dict parent
|
||||
CROSS JOIN (
|
||||
SELECT 1 AS sortOrder, '10' AS code, '管理岗位' AS name
|
||||
UNION ALL SELECT 2, '20', '专业技术岗位'
|
||||
UNION ALL SELECT 3, '21', '教师岗位'
|
||||
UNION ALL SELECT 4, '22', '专职辅导员岗位'
|
||||
UNION ALL SELECT 5, '23', '其他专业技术岗位'
|
||||
UNION ALL SELECT 6, '30', '工勤技能岗位'
|
||||
UNION ALL SELECT 7, '125', '编辑'
|
||||
UNION ALL SELECT 8, '126', '编审'
|
||||
UNION ALL SELECT 9, '127', '大学讲师'
|
||||
UNION ALL SELECT 10, '128', '档案'
|
||||
UNION ALL SELECT 11, '129', '副教授'
|
||||
UNION ALL SELECT 12, '130', '高级工程师'
|
||||
UNION ALL SELECT 13, '131', '高级会计师'
|
||||
UNION ALL SELECT 14, '132', '高级讲师'
|
||||
UNION ALL SELECT 15, '133', '高校讲师'
|
||||
UNION ALL SELECT 16, '134', '工程'
|
||||
UNION ALL SELECT 17, '135', '馆员'
|
||||
UNION ALL SELECT 18, '136', '管理'
|
||||
UNION ALL SELECT 19, '137', '会计'
|
||||
UNION ALL SELECT 20, '138', '会计审计'
|
||||
UNION ALL SELECT 21, '139', '讲师'
|
||||
UNION ALL SELECT 22, '140', '教管'
|
||||
UNION ALL SELECT 23, '142', '教育管理'
|
||||
UNION ALL SELECT 24, '143', '科研'
|
||||
UNION ALL SELECT 25, '145', '实验'
|
||||
UNION ALL SELECT 26, '146', '实验师'
|
||||
UNION ALL SELECT 27, '147', '思政'
|
||||
UNION ALL SELECT 28, '148', '图资'
|
||||
UNION ALL SELECT 29, '149', '卫计'
|
||||
UNION ALL SELECT 30, '150', '卫技'
|
||||
UNION ALL SELECT 31, '151', '幼教'
|
||||
) source
|
||||
WHERE parent.code = 'USER_JOB_CATEGORY'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM sys_dict existing
|
||||
WHERE existing.parentId = parent.id AND existing.code = source.name
|
||||
);
|
||||
|
||||
UPDATE sys_dict parent
|
||||
SET parent.hasChildren = 1
|
||||
WHERE parent.code = 'USER_JOB_CATEGORY'
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM (SELECT DISTINCT parentId FROM sys_dict) child
|
||||
WHERE child.parentId = parent.id
|
||||
);
|
||||
|
||||
-- 5. 证件类型
|
||||
-- 在用户表字段字典下补充证件类型及子项,仅新增缺失编码,不覆盖已有配置。
|
||||
INSERT INTO sys_dict (
|
||||
id, parentId, path, name, remark, code, disabled, location, hasChildren,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''), parent.id,
|
||||
CONCAT(parent.path, LPAD(IFNULL((
|
||||
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
|
||||
FROM sys_dict child WHERE child.path LIKE CONCAT(parent.path, '____')
|
||||
), 0) + 1, 4, '0')),
|
||||
'证件类型', '', 'USER_ID_CARD_TYPE', 0,
|
||||
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0) + 1,
|
||||
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_dict parent
|
||||
WHERE parent.code = 'USER_TABLE_COLUMN_DICTS'
|
||||
AND NOT EXISTS (SELECT 1 FROM sys_dict existing WHERE existing.code = 'USER_ID_CARD_TYPE');
|
||||
|
||||
INSERT INTO sys_dict (
|
||||
id, parentId, path, name, remark, code, disabled, location, hasChildren,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''), parent.id,
|
||||
CONCAT(parent.path, LPAD(IFNULL((
|
||||
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
|
||||
FROM sys_dict child WHERE child.path LIKE CONCAT(parent.path, '____')
|
||||
), 0) + source.sortOrder, 4, '0')),
|
||||
source.name, '', source.name, 0,
|
||||
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0)
|
||||
+ source.sortOrder,
|
||||
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_dict parent
|
||||
CROSS JOIN (
|
||||
SELECT 1 AS sortOrder, '0' AS code, '居民身份证' AS name
|
||||
UNION ALL SELECT 2, '1', '护照'
|
||||
UNION ALL SELECT 3, '2', '港澳台居民身份证'
|
||||
UNION ALL SELECT 4, '4', '旅行证据'
|
||||
UNION ALL SELECT 5, '5', '其他'
|
||||
) source
|
||||
WHERE parent.code = 'USER_ID_CARD_TYPE'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM sys_dict existing
|
||||
WHERE existing.parentId = parent.id AND existing.code = source.name
|
||||
);
|
||||
|
||||
UPDATE sys_dict parent
|
||||
SET parent.hasChildren = 1
|
||||
WHERE parent.code IN ('USER_TABLE_COLUMN_DICTS', 'USER_ID_CARD_TYPE')
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM (SELECT DISTINCT parentId FROM sys_dict) child
|
||||
WHERE child.parentId = parent.id
|
||||
);
|
||||
|
||||
-- 6. 是否双肩挑
|
||||
-- 在用户表字段字典下补充是否双肩挑及子项,仅新增缺失编码,不覆盖已有配置。
|
||||
INSERT INTO sys_dict (
|
||||
id, parentId, path, name, remark, code, disabled, location, hasChildren,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''), parent.id,
|
||||
CONCAT(parent.path, LPAD(IFNULL((
|
||||
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
|
||||
FROM sys_dict child WHERE child.path LIKE CONCAT(parent.path, '____')
|
||||
), 0) + 1, 4, '0')),
|
||||
'是否双肩挑', '', 'USER_MANY_UNIT', 0,
|
||||
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0) + 1,
|
||||
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_dict parent
|
||||
WHERE parent.code = 'USER_TABLE_COLUMN_DICTS'
|
||||
AND NOT EXISTS (SELECT 1 FROM sys_dict existing WHERE existing.code = 'USER_MANY_UNIT');
|
||||
|
||||
INSERT INTO sys_dict (
|
||||
id, parentId, path, name, remark, code, disabled, location, hasChildren,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''), parent.id,
|
||||
CONCAT(parent.path, LPAD(IFNULL((
|
||||
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
|
||||
FROM sys_dict child WHERE child.path LIKE CONCAT(parent.path, '____')
|
||||
), 0) + source.sortOrder, 4, '0')),
|
||||
source.name, '', source.name, 0,
|
||||
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0)
|
||||
+ source.sortOrder,
|
||||
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_dict parent
|
||||
CROSS JOIN (
|
||||
SELECT 1 AS sortOrder, '0' AS code, '否' AS name
|
||||
UNION ALL SELECT 2, '1', '是'
|
||||
) source
|
||||
WHERE parent.code = 'USER_MANY_UNIT'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM sys_dict existing
|
||||
WHERE existing.parentId = parent.id AND existing.code = source.name
|
||||
);
|
||||
|
||||
UPDATE sys_dict parent
|
||||
SET parent.hasChildren = 1
|
||||
WHERE parent.code IN ('USER_TABLE_COLUMN_DICTS', 'USER_MANY_UNIT')
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM (SELECT DISTINCT parentId FROM sys_dict) child
|
||||
WHERE child.parentId = parent.id
|
||||
);
|
||||
|
||||
-- 7. 学位
|
||||
UPDATE sys_dict child
|
||||
JOIN sys_dict parent ON parent.id = child.parentId
|
||||
SET child.code = child.name
|
||||
WHERE parent.code IN ('USER_ACADEMIC_DEGREE')
|
||||
AND child.name IS NOT NULL
|
||||
AND child.name <> ''
|
||||
AND NOT (child.code <=> child.name);
|
||||
|
||||
-- 补充学位(USER_ACADEMIC_DEGREE)直接子项,父级须已存在。
|
||||
-- code、name 均保存名称原文,仅新增缺失名称,不删除或覆盖已有记录。
|
||||
INSERT INTO sys_dict (
|
||||
id, parentId, path, name, remark, code, disabled, location, hasChildren,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''), parent.id,
|
||||
CONCAT(parent.path, LPAD(IFNULL((
|
||||
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
|
||||
FROM sys_dict child WHERE child.path LIKE CONCAT(parent.path, '____')
|
||||
), 0) + source.sortOrder, 4, '0')),
|
||||
source.name, '', source.name, 0,
|
||||
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0)
|
||||
+ source.sortOrder,
|
||||
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_dict parent
|
||||
CROSS JOIN (
|
||||
SELECT 1 AS sortOrder, '000' AS code, '无学位' AS name
|
||||
UNION ALL SELECT 2, '0', '博士后'
|
||||
UNION ALL SELECT 3, '004', '教育学博士后'
|
||||
UNION ALL SELECT 4, '005', '文学博士后'
|
||||
UNION ALL SELECT 5, '006', '历史学博士后'
|
||||
UNION ALL SELECT 6, '008', '工学博士后'
|
||||
UNION ALL SELECT 7, '100', '名誉博士学位'
|
||||
UNION ALL SELECT 8, '200', '博士学位'
|
||||
UNION ALL SELECT 9, '201', '哲学博士学位'
|
||||
UNION ALL SELECT 10, '202', '经济学博士学位'
|
||||
UNION ALL SELECT 11, '203', '法学博士学位'
|
||||
UNION ALL SELECT 12, '204', '教育学博士学位'
|
||||
UNION ALL SELECT 13, '205', '文学博士学位'
|
||||
UNION ALL SELECT 14, '206', '历史学博士学位'
|
||||
UNION ALL SELECT 15, '207', '理学博士学位'
|
||||
UNION ALL SELECT 16, '208', '工学博士学位'
|
||||
UNION ALL SELECT 17, '209', '农学博士学位'
|
||||
UNION ALL SELECT 18, '210', '医学博士学位'
|
||||
UNION ALL SELECT 19, '212', '管理学博士学位'
|
||||
UNION ALL SELECT 20, '213', '艺术学博士学位'
|
||||
UNION ALL SELECT 21, '242', '教育博士专业学位'
|
||||
UNION ALL SELECT 22, '245', '临床医学博士专业学位'
|
||||
UNION ALL SELECT 23, '248', '兽医博士专业学位'
|
||||
UNION ALL SELECT 24, '250', '口腔医学博士专业学位'
|
||||
UNION ALL SELECT 25, '300', '硕士学位'
|
||||
UNION ALL SELECT 26, '301', '哲学硕士学位'
|
||||
UNION ALL SELECT 27, '302', '经济学硕士学位'
|
||||
UNION ALL SELECT 28, '303', '法学硕士学位'
|
||||
UNION ALL SELECT 29, '304', '教育学硕士学位'
|
||||
UNION ALL SELECT 30, '305', '文学硕士学位'
|
||||
UNION ALL SELECT 31, '306', '历史学硕士学位'
|
||||
UNION ALL SELECT 32, '307', '理学硕士学位'
|
||||
UNION ALL SELECT 33, '308', '工学硕士学位'
|
||||
UNION ALL SELECT 34, '309', '农学硕士学位'
|
||||
UNION ALL SELECT 35, '310', '医学硕士学位'
|
||||
UNION ALL SELECT 36, '312', '管理学硕士学位'
|
||||
UNION ALL SELECT 37, '313', '艺术学硕士学位'
|
||||
UNION ALL SELECT 38, '341', '法律硕士专业学位'
|
||||
UNION ALL SELECT 39, '342', '教育硕士专业学位'
|
||||
UNION ALL SELECT 40, '343', '工程硕士专业学位'
|
||||
UNION ALL SELECT 41, '344', '建筑学硕士专业学位'
|
||||
UNION ALL SELECT 42, '345', '临床学硕士专业学位'
|
||||
UNION ALL SELECT 43, '346', '工商管理硕士专业学位'
|
||||
UNION ALL SELECT 44, '347', '农业推广硕士专业学位'
|
||||
UNION ALL SELECT 45, '348', '兽医硕士专业学位'
|
||||
UNION ALL SELECT 46, '349', '公共管理硕士专业学位'
|
||||
UNION ALL SELECT 47, '350', '口腔医学硕士专业学位'
|
||||
UNION ALL SELECT 48, '351', '公共卫生硕士专业学位'
|
||||
UNION ALL SELECT 49, '352', '军事硕士专业学位'
|
||||
UNION ALL SELECT 50, '353', '金融硕士专业学位'
|
||||
UNION ALL SELECT 51, '354', '体育硕士专业学位'
|
||||
UNION ALL SELECT 52, '355', '艺术硕士专业学位'
|
||||
UNION ALL SELECT 53, '356', '风景园林硕士专业学位'
|
||||
UNION ALL SELECT 54, '357', '汉语国际教育硕士专业学位'
|
||||
UNION ALL SELECT 55, '358', '翻译硕士专业学位'
|
||||
UNION ALL SELECT 56, '359', '审计硕士专业学位'
|
||||
UNION ALL SELECT 57, '360', '社会工作硕士专业学位'
|
||||
UNION ALL SELECT 58, '362', '体育硕士专业学位'
|
||||
UNION ALL SELECT 59, '364', '应用心理硕士专业学位'
|
||||
UNION ALL SELECT 60, '365', '翻译硕士专业学位'
|
||||
UNION ALL SELECT 61, '370', '风景园林硕士专业学位'
|
||||
UNION ALL SELECT 62, '375', '会计硕士专业学位'
|
||||
UNION ALL SELECT 63, '377', '图书情报硕士专业学位'
|
||||
UNION ALL SELECT 64, '379', '艺术硕士专业学位'
|
||||
UNION ALL SELECT 65, '400', '学士学位'
|
||||
UNION ALL SELECT 66, '401', '哲学学士学位'
|
||||
UNION ALL SELECT 67, '402', '经济学学士学位'
|
||||
UNION ALL SELECT 68, '403', '法学学士学位'
|
||||
UNION ALL SELECT 69, '404', '教育学学士学位'
|
||||
UNION ALL SELECT 70, '405', '文学学士学位'
|
||||
UNION ALL SELECT 71, '406', '历史学学士学位'
|
||||
UNION ALL SELECT 72, '407', '理学学士学位'
|
||||
UNION ALL SELECT 73, '408', '工学学士学位'
|
||||
UNION ALL SELECT 74, '409', '农学学士学位'
|
||||
UNION ALL SELECT 75, '410', '医学学士学位'
|
||||
UNION ALL SELECT 76, '412', '管理学学士学位'
|
||||
UNION ALL SELECT 77, '413', '艺术学学士学位'
|
||||
UNION ALL SELECT 78, '444', '建筑学学士专业学位'
|
||||
UNION ALL SELECT 79, '900', '境外学位'
|
||||
) source
|
||||
WHERE parent.code = 'USER_ACADEMIC_DEGREE'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM sys_dict existing
|
||||
WHERE existing.parentId = parent.id AND existing.code = source.name
|
||||
);
|
||||
|
||||
UPDATE sys_dict parent
|
||||
SET parent.hasChildren = 1
|
||||
WHERE parent.code = 'USER_ACADEMIC_DEGREE'
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM (SELECT DISTINCT parentId FROM sys_dict) child
|
||||
WHERE child.parentId = parent.id
|
||||
);
|
||||
|
||||
-- 8. 学历
|
||||
UPDATE sys_dict child
|
||||
JOIN sys_dict parent ON parent.id = child.parentId
|
||||
SET child.code = child.name
|
||||
WHERE parent.code IN ('USER_EDUCATION')
|
||||
AND child.name IS NOT NULL
|
||||
AND child.name <> ''
|
||||
AND NOT (child.code <=> child.name);
|
||||
|
||||
-- 补充学历(USER_EDUCATION)直接子项,父级须已存在。
|
||||
-- code、name 均保存名称原文,仅新增缺失名称,不删除或覆盖已有记录。
|
||||
INSERT INTO sys_dict (
|
||||
id, parentId, path, name, remark, code, disabled, location, hasChildren,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''), parent.id,
|
||||
CONCAT(parent.path, LPAD(IFNULL((
|
||||
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
|
||||
FROM sys_dict child WHERE child.path LIKE CONCAT(parent.path, '____')
|
||||
), 0) + source.sortOrder, 4, '0')),
|
||||
source.name, '', source.name, 0,
|
||||
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0)
|
||||
+ source.sortOrder,
|
||||
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_dict parent
|
||||
CROSS JOIN (
|
||||
SELECT 1 AS sortOrder, '10' AS code, '研究生教育' AS name
|
||||
UNION ALL SELECT 2, '11', '博士研究生毕业'
|
||||
UNION ALL SELECT 3, '12', '博士研究生结业'
|
||||
UNION ALL SELECT 4, '14', '硕士研究生毕业'
|
||||
UNION ALL SELECT 5, '15', '硕士研究生结业'
|
||||
UNION ALL SELECT 6, '17', '研究生班毕业'
|
||||
UNION ALL SELECT 7, '18', '研究生班结业'
|
||||
UNION ALL SELECT 8, '20', '大学本科教育'
|
||||
UNION ALL SELECT 9, '21', '大学本科毕业'
|
||||
UNION ALL SELECT 10, '22', '大学本科结业'
|
||||
UNION ALL SELECT 11, '25', '双学历毕业'
|
||||
UNION ALL SELECT 12, '28', '大学普通班毕业'
|
||||
UNION ALL SELECT 13, '30', '大学专科教育'
|
||||
UNION ALL SELECT 14, '31', '大学专科毕业'
|
||||
UNION ALL SELECT 15, '32', '大学专科结业'
|
||||
UNION ALL SELECT 16, '40', '中等职业教育'
|
||||
UNION ALL SELECT 17, '41', '中等专科毕业'
|
||||
UNION ALL SELECT 18, '42', '中等专科结业'
|
||||
UNION ALL SELECT 19, '43', '中等专科肄业'
|
||||
UNION ALL SELECT 20, '44', '职业高中毕业'
|
||||
UNION ALL SELECT 21, '45', '职业高中结业'
|
||||
UNION ALL SELECT 22, '47', '技工学校毕业'
|
||||
UNION ALL SELECT 23, '48', '技工学校结业'
|
||||
UNION ALL SELECT 24, '60', '普通高级中学教育'
|
||||
UNION ALL SELECT 25, '61', '普通高中毕业'
|
||||
UNION ALL SELECT 26, '62', '普通高中结业'
|
||||
UNION ALL SELECT 27, '63', '普通高中肄业'
|
||||
UNION ALL SELECT 28, '70', '初级中学教育'
|
||||
UNION ALL SELECT 29, '71', '初中毕业'
|
||||
UNION ALL SELECT 30, '73', '初中肄业'
|
||||
UNION ALL SELECT 31, '80', '小学教育'
|
||||
UNION ALL SELECT 32, '81', '小学毕业'
|
||||
UNION ALL SELECT 33, '90', '其他'
|
||||
UNION ALL SELECT 34, '128', '相当大学毕业'
|
||||
UNION ALL SELECT 35, '138', '相当专科毕业'
|
||||
UNION ALL SELECT 36, '142', '中技毕业'
|
||||
) source
|
||||
WHERE parent.code = 'USER_EDUCATION'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM sys_dict existing
|
||||
WHERE existing.parentId = parent.id AND existing.code = source.name
|
||||
);
|
||||
|
||||
UPDATE sys_dict parent
|
||||
SET parent.hasChildren = 1
|
||||
WHERE parent.code = 'USER_EDUCATION'
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM (SELECT DISTINCT parentId FROM sys_dict) child
|
||||
WHERE child.parentId = parent.id
|
||||
);
|
||||
|
||||
-- 9. 职称
|
||||
-- 复用会员职称表单字典 TECHNICAL_TITLE_LEVEL,code、name 均保存名称。
|
||||
-- 同名职称在页面字典中仅保留一个,原始代码另存 sys_data_dict。
|
||||
INSERT INTO sys_dict (
|
||||
id, parentId, path, name, remark, code, disabled, location, hasChildren,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''), parent.id,
|
||||
CONCAT(parent.path, LPAD(IFNULL((
|
||||
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
|
||||
FROM sys_dict child WHERE child.path LIKE CONCAT(parent.path, '____')
|
||||
), 0) + 1, 4, '0')),
|
||||
'职称', '', 'TECHNICAL_TITLE_LEVEL', 0,
|
||||
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0) + 1,
|
||||
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_dict parent
|
||||
WHERE parent.code = 'USER_TABLE_COLUMN_DICTS'
|
||||
AND NOT EXISTS (SELECT 1 FROM sys_dict existing WHERE existing.code = 'TECHNICAL_TITLE_LEVEL');
|
||||
|
||||
UPDATE sys_dict child
|
||||
JOIN sys_dict parent ON parent.id = child.parentId
|
||||
SET child.code = child.name
|
||||
WHERE parent.code = 'TECHNICAL_TITLE_LEVEL'
|
||||
AND child.name IS NOT NULL AND child.name <> ''
|
||||
AND NOT (child.code <=> child.name);
|
||||
|
||||
INSERT INTO sys_dict (
|
||||
id, parentId, path, name, remark, code, disabled, location, hasChildren,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''), parent.id,
|
||||
CONCAT(parent.path, LPAD(IFNULL((
|
||||
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
|
||||
FROM sys_dict child WHERE child.path LIKE CONCAT(parent.path, '____')
|
||||
), 0) + source.sortOrder, 4, '0')),
|
||||
source.name, '', source.name, 0,
|
||||
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0)
|
||||
+ source.sortOrder,
|
||||
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_dict parent
|
||||
CROSS JOIN (
|
||||
SELECT 1 AS sortOrder, '高等学校教师' AS name
|
||||
UNION ALL SELECT 2, '教授'
|
||||
UNION ALL SELECT 3, '副教授'
|
||||
UNION ALL SELECT 4, '讲师(高校)'
|
||||
UNION ALL SELECT 5, '助教(高校)'
|
||||
UNION ALL SELECT 6, '高级讲师(中专)'
|
||||
UNION ALL SELECT 7, '讲师(中专)'
|
||||
UNION ALL SELECT 8, '助理讲师(中专)'
|
||||
UNION ALL SELECT 9, '高级讲师(技校)'
|
||||
UNION ALL SELECT 10, '讲师(技校)'
|
||||
UNION ALL SELECT 11, '助理讲师(技校)'
|
||||
UNION ALL SELECT 12, '一级实习指导教师'
|
||||
UNION ALL SELECT 13, '二级实习指导教师'
|
||||
UNION ALL SELECT 14, '三级实习指导教师'
|
||||
UNION ALL SELECT 15, '高级教师(中学)'
|
||||
UNION ALL SELECT 16, '一级教师(中学)'
|
||||
UNION ALL SELECT 17, '二级教师(中学)'
|
||||
UNION ALL SELECT 18, '正高级教师'
|
||||
UNION ALL SELECT 19, '高级教师'
|
||||
UNION ALL SELECT 20, '一级教师'
|
||||
UNION ALL SELECT 21, '二级教师'
|
||||
UNION ALL SELECT 22, '教授级高级实验师'
|
||||
UNION ALL SELECT 23, '高级实验师'
|
||||
UNION ALL SELECT 24, '实验师'
|
||||
UNION ALL SELECT 25, '助理实验师'
|
||||
UNION ALL SELECT 26, '实验员'
|
||||
UNION ALL SELECT 27, '教授级高级工程师'
|
||||
UNION ALL SELECT 28, '高级工程师'
|
||||
UNION ALL SELECT 29, '工程师'
|
||||
UNION ALL SELECT 30, '助理工程师'
|
||||
UNION ALL SELECT 31, '技术员'
|
||||
UNION ALL SELECT 32, '农艺师'
|
||||
UNION ALL SELECT 33, '农业技术人员(畜牧)'
|
||||
UNION ALL SELECT 34, '经济专业人员'
|
||||
UNION ALL SELECT 35, '经济师'
|
||||
UNION ALL SELECT 36, '助理经济师'
|
||||
UNION ALL SELECT 37, '会计专业人员'
|
||||
UNION ALL SELECT 38, '高级会计师'
|
||||
UNION ALL SELECT 39, '会计师'
|
||||
UNION ALL SELECT 40, '助理会计师'
|
||||
UNION ALL SELECT 41, '会计员'
|
||||
UNION ALL SELECT 42, '统计专业人员'
|
||||
UNION ALL SELECT 43, '统计师'
|
||||
UNION ALL SELECT 44, '编审'
|
||||
UNION ALL SELECT 45, '副编审'
|
||||
UNION ALL SELECT 46, '编辑'
|
||||
UNION ALL SELECT 47, '主任编辑'
|
||||
UNION ALL SELECT 48, '播音员'
|
||||
UNION ALL SELECT 49, '卫生技术人员(医师)'
|
||||
UNION ALL SELECT 50, '主任医师'
|
||||
UNION ALL SELECT 51, '副主任医师'
|
||||
UNION ALL SELECT 52, '主治医师'
|
||||
UNION ALL SELECT 53, '医师'
|
||||
UNION ALL SELECT 54, '副主任药师'
|
||||
UNION ALL SELECT 55, '主管药师'
|
||||
UNION ALL SELECT 56, '药师'
|
||||
UNION ALL SELECT 57, '卫生技术人员(护理)'
|
||||
UNION ALL SELECT 58, '副主任护师'
|
||||
UNION ALL SELECT 59, '主管护师'
|
||||
UNION ALL SELECT 60, '护师'
|
||||
UNION ALL SELECT 61, '卫生主管技师'
|
||||
UNION ALL SELECT 62, '高级教师(小学)'
|
||||
UNION ALL SELECT 63, '一级教师(小学)'
|
||||
UNION ALL SELECT 64, '船舶技术人员(轮机)'
|
||||
UNION ALL SELECT 65, '研究员(自然科学)'
|
||||
UNION ALL SELECT 66, '副研究员(自然科学)'
|
||||
UNION ALL SELECT 67, '助理研究员(自然科学)'
|
||||
UNION ALL SELECT 68, '研究员(社会科学)'
|
||||
UNION ALL SELECT 69, '副研究员(社会科学)'
|
||||
UNION ALL SELECT 70, '助理研究员(社会科学)'
|
||||
UNION ALL SELECT 71, '研究实习员(社会科学)'
|
||||
UNION ALL SELECT 72, '研究馆员(图书)'
|
||||
UNION ALL SELECT 73, '副研究馆员(图书)'
|
||||
UNION ALL SELECT 74, '馆员(图书)'
|
||||
UNION ALL SELECT 75, '助理馆员(图书)'
|
||||
UNION ALL SELECT 76, '馆员(文博)'
|
||||
UNION ALL SELECT 77, '研究馆员(档案)'
|
||||
UNION ALL SELECT 78, '副研究馆员(档案)'
|
||||
UNION ALL SELECT 79, '馆员(档案)'
|
||||
UNION ALL SELECT 80, '教授(思想政治教育)'
|
||||
UNION ALL SELECT 81, '副教授(思想政治教育)'
|
||||
UNION ALL SELECT 82, '讲师(思想政治教育)'
|
||||
UNION ALL SELECT 83, '助教(思想政治教育)'
|
||||
UNION ALL SELECT 84, '政工师'
|
||||
UNION ALL SELECT 85, '助理政工师'
|
||||
UNION ALL SELECT 86, '政工员'
|
||||
UNION ALL SELECT 87, '副教授(改革)'
|
||||
UNION ALL SELECT 88, '研究员'
|
||||
UNION ALL SELECT 89, '副研究员'
|
||||
UNION ALL SELECT 90, '助理研究员'
|
||||
UNION ALL SELECT 91, '研究实习员'
|
||||
UNION ALL SELECT 92, '研究馆员'
|
||||
UNION ALL SELECT 93, '副研究馆员'
|
||||
UNION ALL SELECT 94, '馆员'
|
||||
UNION ALL SELECT 95, '助理馆员'
|
||||
UNION ALL SELECT 96, '管理员'
|
||||
UNION ALL SELECT 97, '幼教一级'
|
||||
UNION ALL SELECT 98, '幼教二级'
|
||||
UNION ALL SELECT 99, '幼教高级'
|
||||
UNION ALL SELECT 100, '研究员(教管)'
|
||||
UNION ALL SELECT 101, '副研究员(教管)'
|
||||
UNION ALL SELECT 102, '助理研究员(教管)'
|
||||
) source
|
||||
WHERE parent.code = 'TECHNICAL_TITLE_LEVEL'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM sys_dict existing
|
||||
WHERE existing.parentId = parent.id AND existing.code = source.name
|
||||
);
|
||||
|
||||
UPDATE sys_dict parent
|
||||
SET parent.hasChildren = 1
|
||||
WHERE parent.code IN ('USER_TABLE_COLUMN_DICTS', 'TECHNICAL_TITLE_LEVEL')
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM (SELECT DISTINCT parentId FROM sys_dict) child
|
||||
WHERE child.parentId = parent.id
|
||||
);
|
||||
|
||||
-- 10. 人员类型:沿用 v3 的 17 个名称,code、name 均保存名称。
|
||||
INSERT INTO sys_dict (
|
||||
id, parentId, path, name, remark, code, disabled, location, hasChildren,
|
||||
createdBy, createdAt, updatedBy, updatedAt, delFlag
|
||||
)
|
||||
SELECT
|
||||
REPLACE(UUID(), '-', ''), parent.id,
|
||||
CONCAT(parent.path, LPAD(IFNULL((
|
||||
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
|
||||
FROM sys_dict child WHERE child.path LIKE CONCAT(parent.path, '____')
|
||||
), 0) + source.sortOrder, 4, '0')),
|
||||
source.name, '', source.name, 0,
|
||||
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0)
|
||||
+ source.sortOrder,
|
||||
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
|
||||
FROM sys_dict parent
|
||||
CROSS JOIN (
|
||||
SELECT 1 AS sortOrder, '在编类' AS name
|
||||
UNION ALL SELECT 2, '聘用合同制(享受人事代理待遇)'
|
||||
UNION ALL SELECT 3, '在编'
|
||||
UNION ALL SELECT 4, '兰溪编制'
|
||||
UNION ALL SELECT 5, '非在编类'
|
||||
UNION ALL SELECT 6, '派遣人员'
|
||||
UNION ALL SELECT 7, '博士后'
|
||||
UNION ALL SELECT 8, '挂职人员'
|
||||
UNION ALL SELECT 9, '外籍教师'
|
||||
UNION ALL SELECT 10, '兼职教师'
|
||||
UNION ALL SELECT 11, '非学校聘用人员'
|
||||
UNION ALL SELECT 12, '单位返聘'
|
||||
UNION ALL SELECT 13, '附属单位'
|
||||
UNION ALL SELECT 14, '聘用合同制'
|
||||
UNION ALL SELECT 15, '聘用制专家'
|
||||
UNION ALL SELECT 16, '人事代理'
|
||||
UNION ALL SELECT 17, '其他'
|
||||
) source
|
||||
WHERE parent.code = 'USER_PERSON_TYPE'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM sys_dict existing
|
||||
WHERE existing.parentId = parent.id AND existing.code = source.name
|
||||
);
|
||||
|
||||
UPDATE sys_dict parent
|
||||
SET parent.hasChildren = 1
|
||||
WHERE parent.code = 'USER_PERSON_TYPE'
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM (SELECT DISTINCT parentId FROM sys_dict) child
|
||||
WHERE child.parentId = parent.id
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1,11 @@
|
||||
COMMIT;
|
||||
|
||||
-- 在源表补充接口原始代码,原有字段继续保存名称。
|
||||
ALTER TABLE sys_user_source
|
||||
ADD COLUMN educationCode varchar(20) NULL DEFAULT NULL COMMENT '最高学历代码' AFTER education,
|
||||
ADD COLUMN academicDegreeCode varchar(50) NULL DEFAULT NULL COMMENT '最高学位代码' AFTER academicDegree,
|
||||
ADD COLUMN preparedByCode varchar(30) NULL DEFAULT NULL COMMENT '编制类别代码' AFTER preparedBy,
|
||||
ADD COLUMN jobCategoryCode varchar(50) NULL DEFAULT NULL COMMENT '聘岗类型代码' AFTER jobCategory,
|
||||
ADD COLUMN userStateCode varchar(30) NULL DEFAULT NULL COMMENT '当前状态代码' AFTER userState;
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE `sys_user_source`
|
||||
ADD COLUMN `professionalTitleCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '专业技术职务代码' AFTER `professionalTitle`;
|
||||
@@ -0,0 +1,55 @@
|
||||
;(function (a) {
|
||||
;(jQuery.browser = jQuery.browser || {}).mobile =
|
||||
/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(
|
||||
a
|
||||
) ||
|
||||
/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(
|
||||
a.substr(0, 4)
|
||||
)
|
||||
})(navigator.userAgent || navigator.vendor || window.opera)
|
||||
|
||||
$.ajaxSetup({
|
||||
contentType: "application/x-www-form-urlencoded;charset=utf-8",
|
||||
success: function (response, textStatus, jqXHR) {
|
||||
if (response && typeof response === "object" && response.code !== undefined && response.code !== 0) {
|
||||
Vue.prototype.$message.error(response.msg)
|
||||
} else {
|
||||
return response
|
||||
}
|
||||
},
|
||||
error: function (v1) {
|
||||
Vue.prototype.$message.error(v1.status + " " + v1.statusText)
|
||||
},
|
||||
complete: function (XMLHttpRequest, textStatus) {
|
||||
var sessionstatus = XMLHttpRequest.getResponseHeader("loginStatus") //通过XMLHttpRequest取得响应头,sessionstatus,
|
||||
if (sessionstatus == "accessDenied") {
|
||||
Vue.prototype.$message({
|
||||
message: "\u767b\u5f55\u5931\u6548\uff0c\u8bf7\u5237\u65b0\u9875\u9762\u91cd\u65b0\u767b\u5f55",
|
||||
type: "error"
|
||||
})
|
||||
}
|
||||
if (sessionstatus == "unauthorized") {
|
||||
Vue.prototype.$message({
|
||||
message: "\u6ca1\u6709\u6743\u9650",
|
||||
type: "error"
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
function pjaxReplace(url, data = {}) {
|
||||
const { pathname, search } = location
|
||||
if (url === pathname + search) {
|
||||
return
|
||||
}
|
||||
$.pjax({
|
||||
url: url,
|
||||
container: "#sub-app-container-main-content-body",
|
||||
maxCacheLength: 0,
|
||||
push: false,
|
||||
replace: true,
|
||||
fragment: "#sub-app-container-main-content-body",
|
||||
timeout: 8000,
|
||||
data
|
||||
})
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
Vue.component('vi-title', {
|
||||
props: ['title'],
|
||||
template: `
|
||||
<div style="display: flex;flex-direction:row;color: var(--color-primary);font-weight: bolder;margin-bottom: 20px">
|
||||
<div style="width: 5px;height: 24px;background-color: var(--color-primary);border-radius: 2px"></div>
|
||||
<div style="margin-left: 20px;line-height: 24px;font-size: 15px;letter-spacing: 1px">
|
||||
<div class="therapy-title" style="display: flex;flex-direction:row;color: var(--color-primary);font-weight: bolder;margin-bottom: 20px">
|
||||
<div class="therapy-title-marker" style="width: 5px;height: 24px;background-color: var(--color-primary);border-radius: 2px"></div>
|
||||
<div class="therapy-title-text" style="margin-left: 20px;line-height: 24px;font-size: 15px;letter-spacing: 1px">
|
||||
{{ title }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -79,7 +79,7 @@ Vue.component('table-tool', {
|
||||
this.getColumns()
|
||||
},
|
||||
template: `
|
||||
<el-row type="flex" justify="space-between" align="middle" style="margin-bottom: 15px">
|
||||
<el-row class="therapy-table-tool" type="flex" justify="space-between" align="middle" style="margin-bottom: 15px">
|
||||
|
||||
<div style="display: flex;justify-content: center;align-items: center">
|
||||
<vi-title :title="label" style="margin-bottom: 0"></vi-title><slot name="label_end"></slot>
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
.therapy-desktop {
|
||||
font-family: "Helvetica Neue", "Microsoft YaHei", Arial, sans-serif;
|
||||
font-size: 14px;
|
||||
color: #303133;
|
||||
}
|
||||
|
||||
.therapy-desktop #app {
|
||||
height: auto;
|
||||
min-height: 100%;
|
||||
overflow: visible;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .el-card__header {
|
||||
padding: 16px 20px;
|
||||
color: #303133;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .el-form-item__label {
|
||||
color: #606266;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .search {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
gap: 16px 24px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .search .search-item {
|
||||
width: auto;
|
||||
min-width: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .search .search-item-label {
|
||||
flex: 0 0 90px;
|
||||
width: 90px;
|
||||
min-width: 0;
|
||||
margin-right: 12px;
|
||||
color: #606266;
|
||||
text-align: right;
|
||||
line-height: 20px;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .search .search-item-option {
|
||||
flex: 1;
|
||||
width: 0;
|
||||
min-width: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .search-item-option > .el-input,
|
||||
.therapy-desktop #app .search-item-option > .el-select,
|
||||
.therapy-desktop #app .search-item-option > .el-date-editor {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .search-item-option > .el-radio-group {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 4px 0;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .search .search-query {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
padding-left: 102px;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .query-row {
|
||||
height: auto;
|
||||
min-height: 56px;
|
||||
padding: 12px 0;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .query-row > .query-row-title:empty {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .query-row .el-col {
|
||||
min-width: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .query-row-content {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .query-row-content > .el-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
row-gap: 12px;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .query-row-content > .el-row > .el-col {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
padding-right: 24px;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .query-row-content > .el-row > .el-col > span:first-child {
|
||||
flex: 0 0 90px;
|
||||
color: #606266;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .query-row-content > .el-row > .el-col > .el-input,
|
||||
.therapy-desktop #app .query-row-content > .el-row > .el-col > .el-select {
|
||||
flex: 1;
|
||||
width: 0 !important;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.therapy-desktop .therapy-table-tool {
|
||||
flex-wrap: wrap;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.therapy-desktop .therapy-table-tool > div {
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.therapy-desktop .therapy-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
margin-bottom: 16px;
|
||||
color: #303133 !important;
|
||||
font-size: 16px;
|
||||
font-weight: 600 !important;
|
||||
line-height: 24px;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.therapy-desktop .therapy-title .therapy-title-marker {
|
||||
flex: 0 0 3px;
|
||||
height: 16px !important;
|
||||
}
|
||||
|
||||
.therapy-desktop .therapy-title .therapy-title-text {
|
||||
margin-left: 10px !important;
|
||||
font-size: 16px !important;
|
||||
letter-spacing: normal !important;
|
||||
}
|
||||
|
||||
.therapy-desktop #app .chart-title,
|
||||
.therapy-desktop #app .col-title {
|
||||
color: #303133;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1199px) {
|
||||
.therapy-desktop #app .search {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.therapy-desktop #app .search {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
}
|
||||
|
||||
.therapy-desktop #app .query-row-content > .el-row > .el-col {
|
||||
width: 100%;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.therapy-desktop .therapy-table-tool > div {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
<slot></slot>
|
||||
<div class="search-query" v-if="isSearchButton">
|
||||
<el-button type="primary" icon="el-icon-search" @click="$emit('search', null)">搜索</el-button>
|
||||
<slot name="actions"></slot>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="panel panel-default mt20" style="border: none">
|
||||
<div class="panel panel-default" style="border: none">
|
||||
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
|
||||
<h3 class="panel-title">
|
||||
基地信息
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
<div>
|
||||
<el-tabs tab-position="top" v-model="activeName" v-loading="loading">
|
||||
<el-tab-pane label="报名信息" name="1">
|
||||
<div class="panel panel-default mt20" style="border: none">
|
||||
<div class="panel panel-default" style="border: none">
|
||||
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
|
||||
<h3 class="panel-title">
|
||||
本人信息
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<template #header>
|
||||
<el-row type="flex">
|
||||
<el-col :span="12">
|
||||
<el-button icon="el-icon-back" style="font-size: 16px" type="text" @click="v='index'">返回</el-button>
|
||||
<el-button icon="el-icon-back" style="font-size: 16px; padding: 0" type="text" @click="v='index'">返回</el-button>
|
||||
</el-col>
|
||||
<el-col :span="12" class="text-right">
|
||||
<slot name="edit_func"></slot>
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
<el-card v-show="v==='view'" key="view" shadow="never" class="animated-card">
|
||||
<template #header>
|
||||
<el-button icon="el-icon-back" style="font-size: 16px" type="text" @click="v='index'">返回</el-button>
|
||||
<el-button icon="el-icon-back" style="font-size: 16px; padding: 0" type="text" @click="v='index'">返回</el-button>
|
||||
</template>
|
||||
<div :class="{'card_scroll':edit_scroll}">
|
||||
<slot name="view"></slot>
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
<el-card v-show="v==='public'" key="public" shadow="never" class="animated-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-button icon="el-icon-back" style="font-size: 16px" type="text" @click="back()">返回
|
||||
<el-button icon="el-icon-back" style="font-size: 16px; padding: 0" type="text" @click="back()">返回
|
||||
</el-button>
|
||||
</div>
|
||||
<div>
|
||||
@@ -92,7 +92,7 @@ module.exports = {
|
||||
<style>
|
||||
|
||||
.guava-main-content {
|
||||
padding: 10px 12px;
|
||||
padding: 0;
|
||||
background-color: #f6f6f6;
|
||||
min-height: 100%;
|
||||
}
|
||||
@@ -114,8 +114,12 @@ module.exports = {
|
||||
}
|
||||
}
|
||||
|
||||
.el-card__header {
|
||||
padding: 5px 20px !important;
|
||||
.guava-main-content > .animated-card > .el-card__header {
|
||||
padding: 12px 24px !important;
|
||||
}
|
||||
|
||||
.guava-main-content > .animated-card > .el-card__body {
|
||||
padding: 20px 24px;
|
||||
}
|
||||
|
||||
.el-tabs--border-card {
|
||||
@@ -143,4 +147,4 @@ module.exports = {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
</style>
|
||||
|
||||
+125
-23
@@ -1,16 +1,16 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="panel panel-default mt20" style="border: none">
|
||||
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
|
||||
<h3 class="panel-title">
|
||||
<div class="therapy-line-info">
|
||||
<div class="line-info-section">
|
||||
<div class="line-info-section-header">
|
||||
<h3 class="line-info-section-title">
|
||||
线路信息
|
||||
</h3>
|
||||
</div>
|
||||
<el-descriptions :column="2" border class="viewTable">
|
||||
<el-descriptions-item label="年度">{{ viewData.year }}</el-descriptions-item>
|
||||
<el-descriptions-item label="编号">{{ viewData.serialNumber }}</el-descriptions-item>
|
||||
<el-descriptions-item label="线路名称">{{ viewData.lineName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="区域性质">{{ viewData.regionalNature }}</el-descriptions-item>
|
||||
<dl class="line-info-fields">
|
||||
<div class="line-info-field"><dt>年度</dt><dd>{{ viewData.year }}</dd></div>
|
||||
<div class="line-info-field"><dt>编号</dt><dd>{{ viewData.serialNumber }}</dd></div>
|
||||
<div class="line-info-field"><dt>线路名称</dt><dd>{{ viewData.lineName }}</dd></div>
|
||||
<div class="line-info-field"><dt>区域性质</dt><dd>{{ viewData.regionalNature }}</dd></div>
|
||||
<!-- <el-descriptions-item label="最少参与教工">{{ viewData.minimumGroupSize }}</el-descriptions-item>-->
|
||||
<!-- (校工会创建AND自由模式) OR (分工会创建) -->
|
||||
<!-- <template v-if="(viewData.createMode === 2 && viewData.signUpMode === 2 ) || viewData.createMode === 1">-->
|
||||
@@ -25,12 +25,12 @@
|
||||
<!-- <el-descriptions-item label="预计费用(元)">{{ viewData.estimatedCost }}</el-descriptions-item>-->
|
||||
<!-- <el-descriptions-item label="预计人数(含家属)">{{ viewData.estimatedFamilyNumbers }}</el-descriptions-item>-->
|
||||
<!-- <el-descriptions-item label=""></el-descriptions-item>-->
|
||||
</el-descriptions>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<div class="panel panel-default mt20" style="border:none" v-if="showTravelTimePeriod">
|
||||
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
|
||||
<h3 class="panel-title">
|
||||
<div class="line-info-section" v-if="showTravelTimePeriod">
|
||||
<div class="line-info-section-header">
|
||||
<h3 class="line-info-section-title">
|
||||
出行时间段
|
||||
</h3>
|
||||
</div>
|
||||
@@ -73,14 +73,15 @@
|
||||
</el-descriptions>
|
||||
</div>
|
||||
-->
|
||||
<div class="panel panel-default mt20" style="border-color: #ebeef5">
|
||||
<div class="panel-heading" style="background: #fafafa;border-color: #ebeef5">
|
||||
<h3 class="panel-title">
|
||||
<div class="line-info-section">
|
||||
<div class="line-info-section-header">
|
||||
<h3 class="line-info-section-title">
|
||||
线路内容
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div v-html="viewData.content"></div>
|
||||
<div class="line-info-content">
|
||||
<div v-html="viewData.content" v-if="viewData.content"></div>
|
||||
<div class="line-info-empty" v-else>暂无线路内容</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -134,12 +135,113 @@ module.exports = {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.viewTable .el-descriptions__table {
|
||||
table-layout: fixed !important;
|
||||
<style>
|
||||
.therapy-line-info {
|
||||
color: #303133;
|
||||
font-size: 14px;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.viewTable .el-descriptions-item__cell {
|
||||
text-align: center !important;
|
||||
.therapy-line-info .line-info-section {
|
||||
margin-bottom: 24px;
|
||||
overflow: hidden;
|
||||
border: 1px solid #ebeef5;
|
||||
border-radius: 4px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-section:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-section-header {
|
||||
padding: 14px 20px;
|
||||
border-bottom: 1px solid #ebeef5;
|
||||
background: #fafafa;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-section-title {
|
||||
margin: 0;
|
||||
padding-left: 10px;
|
||||
border-left: 3px solid var(--color-primary, #409eff);
|
||||
color: #303133;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-fields {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-field {
|
||||
display: grid;
|
||||
grid-template-columns: 120px minmax(0, 1fr);
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-field:nth-child(n + 3) {
|
||||
border-top: 1px solid #ebeef5;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-field:nth-child(2n) {
|
||||
border-left: 1px solid #ebeef5;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-field dt,
|
||||
.therapy-line-info .line-info-field dd {
|
||||
margin: 0;
|
||||
padding: 14px 16px;
|
||||
line-height: 24px;
|
||||
text-align: left;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-field dt {
|
||||
border-right: 1px solid #ebeef5;
|
||||
background: #fafafa;
|
||||
color: #606266;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-content {
|
||||
padding: 20px 24px;
|
||||
color: #303133;
|
||||
line-height: 1.9;
|
||||
overflow-wrap: anywhere;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-content p {
|
||||
margin: 0 0 12px;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-content img,
|
||||
.therapy-line-info .line-info-content video {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-empty {
|
||||
padding: 12px 0;
|
||||
color: #909399;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.therapy-line-info .line-info-fields {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-field + .line-info-field {
|
||||
border-top: 1px solid #ebeef5;
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
.therapy-line-info .line-info-content {
|
||||
padding: 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
<div>
|
||||
<el-tabs tab-position="top" v-model="activeName" v-loading="loading">
|
||||
<el-tab-pane label="报名信息" name="1">
|
||||
<div class="panel panel-default mt20" style="border: none">
|
||||
<div class="panel panel-default" style="border: none">
|
||||
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
|
||||
<h3 class="panel-title">
|
||||
本人信息
|
||||
|
||||
@@ -504,7 +504,9 @@ layout("/layouts/v4/baseLayout.html"){
|
||||
// 页面加载时获取到正确的菜单
|
||||
const pathname = window.location.pathname
|
||||
if (!pathname.startsWith("/platform/v4/subApp")) {
|
||||
const path = this.getMenuOwnerFullPath()
|
||||
// 普惠疗休养子菜单含 mode 等参数,刷新时统一从模块根菜单恢复侧栏。
|
||||
const path = pathname === "/platform/inclusiveTherapyV3" || pathname.startsWith("/platform/inclusiveTherapyV3/")
|
||||
? "/platform/inclusiveTherapyV3" : this.getMenuOwnerFullPath()
|
||||
this.$axios.post("/platform/sys/user/rootMenuByPath", {pathname: path}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.setAppInfo(res.data)
|
||||
|
||||
@@ -38,13 +38,13 @@ layout("/layouts/platform.html"){
|
||||
<el-input placeholder="请输入工号" clearable v-model="pageForm.loginName" style="width: 100%"></el-input>
|
||||
</search-item>
|
||||
<search-item label="所属单位">
|
||||
<el-select placeholder="请选择所属单位" v-model="pageForm.unitName" clearable filterable>
|
||||
<el-option v-for="item in unitNameOptions" :key="item" :label="item" :value="item"></el-option>
|
||||
<el-select placeholder="全部" v-model="pageForm.unitName" clearable filterable>
|
||||
<el-option v-for="item in unitNameOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="在职状态">
|
||||
<el-select v-model="pageForm.userState" clearable filterable>
|
||||
<el-option v-for="item in userStateOptions" :label="item" :value="item"></el-option>
|
||||
<el-select placeholder="全部" v-model="pageForm.userState" clearable filterable>
|
||||
<el-option v-for="item in userStateOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<!-- 暂停用人方式筛选,保留查询控件供后续恢复。
|
||||
@@ -55,10 +55,11 @@ layout("/layouts/platform.html"){
|
||||
</search-item>
|
||||
-->
|
||||
<search-item label="人员类型">
|
||||
<el-select v-model="pageForm.personType" clearable filterable>
|
||||
<el-option v-for="item in personTypeOptions" :label="item" :value="item"></el-option>
|
||||
<el-select placeholder="全部" v-model="pageForm.personType" clearable filterable>
|
||||
<el-option v-for="item in personTypeOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<el-button slot="actions" icon="el-icon-refresh-left" @click="resetSearch">重置</el-button>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
@@ -125,6 +126,16 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
resetSearch() {
|
||||
this.$set(this.pageForm, "userName", "")
|
||||
this.$set(this.pageForm, "loginName", "")
|
||||
this.$set(this.pageForm, "unitName", "")
|
||||
this.$set(this.pageForm, "userState", "")
|
||||
this.$set(this.pageForm, "personType", "")
|
||||
this.$set(this.pageForm, "preparedBy", "")
|
||||
this.$set(this.pageForm, "pullTime", (this.pullTimeOptions[0] || {}).pullTime || "")
|
||||
this.doSearch()
|
||||
},
|
||||
pull() {
|
||||
// 拉取未结束时不再打开确认框或发送重复请求。
|
||||
if (this.pullLoading) return
|
||||
@@ -149,6 +160,7 @@ layout("/layouts/platform.html"){
|
||||
.then((resp) => {
|
||||
if (resp.code === 0) {
|
||||
this.$message.success(resp.msg)
|
||||
this.getSearchOptions()
|
||||
this.getPullTimeOptions()
|
||||
this.doSearch()
|
||||
}
|
||||
@@ -162,12 +174,24 @@ layout("/layouts/platform.html"){
|
||||
.catch(() => {})
|
||||
},
|
||||
|
||||
buildSearchOptions(values) {
|
||||
const optionValues = new Set(values.map(value =>
|
||||
value == null || /^(?:null)?$/i.test(value.trim()) ? "__EMPTY__" : value
|
||||
))
|
||||
const hasEmpty = optionValues.delete("__EMPTY__")
|
||||
const options = Array.from(optionValues, value => ({ label: value, value }))
|
||||
if (hasEmpty) {
|
||||
options.push({ label: "空数据", value: "__EMPTY__" })
|
||||
}
|
||||
return options
|
||||
},
|
||||
|
||||
getSearchOptions() {
|
||||
this.$axios.post("/platform/sys/data/user/pull/searchOptions").then((resp) => {
|
||||
if (resp.code === 0) {
|
||||
this.unitNameOptions = resp.data.unitNames
|
||||
this.userStateOptions = resp.data.userStates
|
||||
this.personTypeOptions = resp.data.personTypes
|
||||
this.unitNameOptions = this.buildSearchOptions(resp.data.unitNames)
|
||||
this.userStateOptions = this.buildSearchOptions(resp.data.userStates)
|
||||
this.personTypeOptions = this.buildSearchOptions(resp.data.personTypes)
|
||||
this.preparedByOptions = resp.data.preparedBys
|
||||
}
|
||||
})
|
||||
@@ -206,6 +230,7 @@ layout("/layouts/platform.html"){
|
||||
if (resp.code === 0) {
|
||||
this.$message.success(resp.msg)
|
||||
this.pullTimeDialogVisible = false
|
||||
this.getSearchOptions()
|
||||
this.doSearch()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<el-card shadow="never">
|
||||
<search @search="doSearch">
|
||||
<search-item label="工号">
|
||||
<el-input placeholder="请输入工号" clearable v-model="pageForm.zgh" @keyup.enter.native="doSearch"></el-input>
|
||||
</search-item>
|
||||
<el-button slot="actions" icon="el-icon-refresh-left" :disabled="tableLoading" @click="resetSearch">重置</el-button>
|
||||
</search>
|
||||
</el-card>
|
||||
<el-card shadow="never">
|
||||
<table-tool :label="'数据中心人员数据(' + tableData.length + '条)'"></table-tool>
|
||||
<el-table :data="tableData" v-loading="tableLoading" empty-text="暂无数据" border>
|
||||
<el-table-column type="index" label="序号" width="70" fixed="left" :index="indexMethod"></el-table-column>
|
||||
<el-table-column v-for="column in columns" :key="column.key" :label="column.label" min-width="160" show-overflow-tooltip>
|
||||
<template slot-scope="{row}">{{formatValue(row[column.key] != null ? row[column.key] : row[column.alias])}}</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
<script nonce="${cspNonce!}">
|
||||
new Vue({
|
||||
el: "#app",
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
pageDataUrl: "/platform/sys/data/user/query/queryData",
|
||||
pageForm: { zgh: "" },
|
||||
columns: [
|
||||
{ key: "ZGH", label: "工号", alias: "ID" },
|
||||
{ key: "XM", label: "姓名", alias: "" },
|
||||
{ key: "XBMC", label: "性别", alias: "XB" },
|
||||
{ key: "SJHM", label: "手机号码", alias: "YDDH" },
|
||||
{ key: "CSRQ", label: "出生日期", alias: "" },
|
||||
{ key: "DQZTMC", label: "在职状态", alias: "DQZT" },
|
||||
{ key: "LXRQ", label: "来校时间", alias: "LXNY" },
|
||||
{ key: "YRFSDM", label: "人员类型", alias: "RYLX" },
|
||||
{ key: "SZDW", label: "单位名称", alias: "" },
|
||||
{ key: "SZDWDM", label: "单位编码", alias: "SZDWH" },
|
||||
{ key: "ZZMMM", label: "政治面貌", alias: "" },
|
||||
{ key: "MZDM", label: "民族", alias: "MZM" },
|
||||
{ key: "ZGXLMC", label: "学历", alias: "" },
|
||||
{ key: "ZGXWMC", label: "学位", alias: "" },
|
||||
{ key: "ZYJSGWLBDMMC", label: "聘岗类型", alias: "" },
|
||||
{ key: "ZYJSZWDMMC", label: "职称", alias: "" },
|
||||
{ key: "BZLBDMMC", label: "编制类别", alias: "" },
|
||||
{ key: "SFSJT", label: "是否双肩挑", alias: "" },
|
||||
{ key: "SFZJLXDM", label: "证件类型", alias: "" },
|
||||
{ key: "SFZJH", label: "证件号码", alias: "" },
|
||||
{ key: "ZGXLDM", label: "最高学历代码", alias: "" },
|
||||
{ key: "XWDM", label: "最高学位代码", alias: "" },
|
||||
{ key: "BZLBDM", label: "编制类别代码", alias: "" },
|
||||
{ key: "ZYJSGWLBDM", label: "聘岗类型代码", alias: "" },
|
||||
{ key: "ZYJSZWDM", label: "专业技术职务代码", alias: "" },
|
||||
{ key: "DQZTDM", label: "当前状态代码", alias: "" }
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
resetSearch() {
|
||||
this.pageForm.zgh = ""
|
||||
this.doSearch()
|
||||
},
|
||||
formatValue(value) {
|
||||
if (value == null) return ""
|
||||
return typeof value === "object" ? JSON.stringify(value) : value
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -42,6 +42,7 @@ layout("/layouts/platform.html"){
|
||||
<search-item label="人员类型">
|
||||
<dict-select v-model="pageForm.personType" code="USER_PERSON_TYPE" style="width: 100%"></dict-select>
|
||||
</search-item>
|
||||
<el-button slot="actions" icon="el-icon-refresh-left" @click="resetSearch">重置</el-button>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
@@ -173,6 +174,14 @@ layout("/layouts/platform.html"){
|
||||
"member-all-change-info": MEMBER_ALL_CHANGE_INFO
|
||||
},
|
||||
methods: {
|
||||
resetSearch() {
|
||||
this.$set(this.pageForm, "userName", "")
|
||||
this.$set(this.pageForm, "loginName", "")
|
||||
this.$set(this.pageForm, "unitId", "")
|
||||
this.$set(this.pageForm, "userState", "")
|
||||
this.$set(this.pageForm, "personType", "")
|
||||
this.doSearch()
|
||||
},
|
||||
// 更新单位数据
|
||||
updateUnits() {
|
||||
if (this.unitUpdateLoading || this.updateLoading) return
|
||||
|
||||
@@ -55,7 +55,7 @@ layout("/layouts/platform.html"){
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>-->
|
||||
<el-descriptions-item label="证明人">
|
||||
<!-- <el-descriptions-item label="证明人">
|
||||
<el-form-item prop="certifierUserId" label="证明人">
|
||||
<el-select
|
||||
style="width: 100%"
|
||||
@@ -75,7 +75,7 @@ layout("/layouts/platform.html"){
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions-item> -->
|
||||
<el-descriptions-item label="慰问类型">
|
||||
<el-form-item prop="type" label="慰问类型">
|
||||
<el-select v-model="formData.type" @change="typeChange" style="width: 100%"
|
||||
@@ -112,14 +112,14 @@ layout("/layouts/platform.html"){
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="收款账户">
|
||||
<el-descriptions-item label="收款账户" v-if="!['A', 'D'].includes(formData.typeCode)">
|
||||
<el-form-item prop="bankCardNumber" label="收款账户">
|
||||
<el-input maxlength="20" v-model="formData.bankCardNumber" placeholder="请填写收款账户"
|
||||
<el-input maxlength="30" v-model="formData.bankCardNumber" placeholder="请填写银行卡号或对公账户号"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="户名">
|
||||
<el-descriptions-item label="户名" v-if="!['A', 'D'].includes(formData.typeCode)">
|
||||
<el-form-item prop="bankUserName" label="户名">
|
||||
<el-input maxlength="20" v-model="formData.bankUserName"
|
||||
placeholder="请填写户名"
|
||||
@@ -127,7 +127,7 @@ layout("/layouts/platform.html"){
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="开户行" >
|
||||
<el-descriptions-item label="开户行" v-if="!['A', 'D'].includes(formData.typeCode)">
|
||||
<el-form-item prop="bankOfDeposit" label="开户行">
|
||||
<el-input maxlength="20" v-model="formData.bankOfDeposit"
|
||||
placeholder="请填写开户行"
|
||||
@@ -173,10 +173,12 @@ layout("/layouts/platform.html"){
|
||||
</template>
|
||||
|
||||
|
||||
</el-descriptions>
|
||||
<el-descriptions :column="3" border>
|
||||
<el-descriptions-item label="申请事由" :span="3">
|
||||
<el-form-item prop="remark" label="申请事由">
|
||||
<el-input maxlength="500" v-model="formData.remark" placeholder="请填写申请事由"
|
||||
type="textarea" :autosize="{ minRows: 4, maxRows: 8}"></el-input>
|
||||
type="textarea" :rows="3" resize="none"></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
@@ -219,6 +221,15 @@ layout("/layouts/platform.html"){
|
||||
new Vue({
|
||||
el: "#app",
|
||||
store,
|
||||
components: {
|
||||
ElDatePicker: {
|
||||
extends: ELEMENT.DatePicker,
|
||||
mounted() {
|
||||
// 手动输入触发 change 前初始化日期面板,避免 picker 尚未创建。
|
||||
if (!this.picker) this.mountPicker()
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
bizId: GetQueryString("bizId"),
|
||||
@@ -229,7 +240,10 @@ layout("/layouts/platform.html"){
|
||||
payUserId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
type: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
way: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
money: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
money: [
|
||||
{ required: true, message: "请填写慰问金额", trigger: ["change", "blur"] },
|
||||
{ validator: (rule, value, callback) => callback(this.validateMoney(value) ? undefined : new Error("慰问金额须大于0且不超过10000元,最多两位小数")), trigger: ["change", "blur"] }
|
||||
],
|
||||
occurTime: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
child: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
hospital: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
@@ -238,14 +252,20 @@ layout("/layouts/platform.html"){
|
||||
hospitalBy: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
deadImmediateFamily: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
remark: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
files: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
files: [{ required: true, type: "array", min: 1, max: 5, message: "请上传1至5个附件", trigger: ["change", "blur"] }],
|
||||
signature: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
handlerUserId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
certifierUserId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
bankCardNumber: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
// certifierUserId: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
bankCardNumber: [
|
||||
{ required: true, message: "请填写银行卡号或对公账户号", trigger: ["change", "blur"] },
|
||||
{ pattern: /^[0-9]{6,30}$/, message: "收款账户须为6至30位数字(银行卡号或对公账户号)", trigger: ["change", "blur"] }
|
||||
],
|
||||
bankUserName: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
bankOfDeposit: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
thisYearHospitalizationNum: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
thisYearHospitalizationNum: [
|
||||
{ required: true, message: "必填", trigger: ["change", "blur"] },
|
||||
{ type: "integer", min: 0, max: 10000, message: "住院次数须为0至10000的整数", trigger: ["change", "blur"] }
|
||||
],
|
||||
leaveHospitalTime: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
hospitalizationTime: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
},
|
||||
@@ -259,6 +279,9 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
validateMoney(value) {
|
||||
return /^(0|[1-9][0-9]*)(\.[0-9]{1,2})?$/.test(String(value)) && Number(value) > 0 && Number(value) <= 10000
|
||||
},
|
||||
createRemoteMethod(options) {
|
||||
return (keyword) => {
|
||||
this.selectQueryUser(keyword, options)
|
||||
|
||||
@@ -43,7 +43,7 @@ const condolenceInfo = {
|
||||
|
||||
<template v-for="task in doneTasks">
|
||||
<div class="mt10">
|
||||
<div class="process-title">{{ task.displayName }}</div>
|
||||
<div class="process-title">{{ ({'分工会审核':'一级审核','校工会预审':'二级审核','校工会审核':'三级审核'}[task.displayName] || task.displayName) }}</div>
|
||||
<el-descriptions border class="flow-task-form" :column="3" :key="task.id"
|
||||
v-if="task.ext.isFirstTaskNode">
|
||||
<el-descriptions-item label="申请用户">{{ task.ext.initiatorName
|
||||
@@ -65,6 +65,9 @@ const condolenceInfo = {
|
||||
<dict-tag :options="dict.type.PROCESS_TASK_SUBMIT_TYPE"
|
||||
:value="task.ext.submitType"></dict-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审批签字" :span="3" v-if="task.taskFormData && task.taskFormData.sign">
|
||||
<el-image :src="task.taskFormData.sign" style="height: 80px" fit="contain"></el-image>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="办理意见" v-if="!task.ext.isFirstTaskNode">{{
|
||||
task.taskFormData.opinion }}
|
||||
</el-descriptions-item>
|
||||
|
||||
@@ -37,12 +37,12 @@ const basicForm = {
|
||||
<el-radio-button :label="false">不上传</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>-->
|
||||
<!-- <el-form-item label="是否上传附件" prop="isUploadFile">-->
|
||||
<!-- <el-radio-group v-model="formData.isUploadFile">-->
|
||||
<!-- <el-radio-button :label="true">是</el-radio-button>-->
|
||||
<!-- <el-radio-button :label="false">否</el-radio-button>-->
|
||||
<!-- </el-radio-group>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="是否上传附件" prop="isUploadFile">
|
||||
<el-radio-group v-model="formData.isUploadFile">
|
||||
<el-radio-button :label="true">是</el-radio-button>
|
||||
<el-radio-button :label="false">否</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="上传附件说明" prop="uploadFileDesc" v-if="formData.isUploadFile">
|
||||
<el-input v-model="formData.uploadFileDesc" maxlength="50" clearable placeholder="请填写上传附件说明"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
@change="modeChange"
|
||||
:disabled="formData.id" style="width: 100%">
|
||||
<el-option label="本人申请" value="1"></el-option>
|
||||
<el-option v-if="$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN, BRANCH_UNION_CHAIRMAN, BRANCH_UNION_OPERATOR')"
|
||||
<el-option v-if="$auth.hasRoleOr('BRANCH_UNION_CHAIRMAN')"
|
||||
label="替他人申请" value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -263,6 +263,9 @@
|
||||
methods: {
|
||||
// 查询受助人
|
||||
queryRecipients(key) {
|
||||
if (String(this.formData.mode) !== "2" || !this.$auth.hasRoleOr('BRANCH_UNION_CHAIRMAN')) {
|
||||
return
|
||||
}
|
||||
this.$axios.get("/platform/difficultHelp/apply/queryRecipients", {
|
||||
key
|
||||
}).then(res => {
|
||||
@@ -417,10 +420,10 @@
|
||||
this.$set(this.formData, 'proxyLoginName', user.loginname)
|
||||
this.$set(this.formData, 'mode', "1")
|
||||
this.$set(this.formData, 'sex', user.sex)
|
||||
this.$set(this.formData, 'unitId', user.unit.id)
|
||||
this.$set(this.formData, 'unitName', user.unit.name)
|
||||
this.$set(this.formData, 'unionId', user.union.id)
|
||||
this.$set(this.formData, 'unionName', user.union.name)
|
||||
this.$set(this.formData, 'unitId', (user.unit || {}).id || user.unitId || null)
|
||||
this.$set(this.formData, 'unitName', (user.unit || {}).name || '')
|
||||
this.$set(this.formData, 'unionId', (user.union || {}).id || (user.unit || {}).unionId || null)
|
||||
this.$set(this.formData, 'unionName', (user.union || {}).name || '')
|
||||
this.$set(this.formData, 'monthlyIncome', null)
|
||||
this.$set(this.formData, 'birthday', user.birthday)
|
||||
this.$set(this.formData, 'mobile', user.mobile)
|
||||
|
||||
+102
-73
@@ -1,8 +1,9 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<div id="app">
|
||||
<el-card shadow="never" v-if="isShow">
|
||||
<div id="app" v-cloak>
|
||||
<el-card shadow="never" v-if="pageLoading" v-loading="pageLoading" element-loading-text="正在加载申请信息" style="min-height: 300px"></el-card>
|
||||
<el-card shadow="never" v-else-if="isShow">
|
||||
<snaker-start slot="header" label="困难帮扶申请" define_key="KNBF"></snaker-start>
|
||||
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="0" label-suffix=":" class="flow-task-form">
|
||||
<el-descriptions :column="3" border>
|
||||
@@ -15,7 +16,7 @@ layout("/layouts/platform.html"){
|
||||
<el-form-item prop="mode">
|
||||
<el-select v-model="formData.mode" placeholder="申请模式" @change="modeChange" style="width: 100%">
|
||||
<el-option label="本人申请" value="1"></el-option>
|
||||
<el-option v-if="$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN, BRANCH_UNION_CHAIRMAN, BRANCH_UNION_OPERATOR')"
|
||||
<el-option v-if="canApplyForOthers"
|
||||
label="替他人申请" value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -26,7 +27,7 @@ layout("/layouts/platform.html"){
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="受补助人">
|
||||
<el-form-item prop="userName">
|
||||
<el-form-item prop="userId">
|
||||
<template v-if="formData.mode == 2">
|
||||
<el-select :remote-method="queryRecipients"
|
||||
@change="userChange" clearable filterable
|
||||
@@ -51,7 +52,7 @@ layout("/layouts/platform.html"){
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="身份证号" :span="2">
|
||||
<el-form-item prop="idCard">
|
||||
<el-input maxlength="20" clearable placeholder="请填写身份证号"
|
||||
<el-input clearable placeholder="请填写身份证号"
|
||||
v-model="formData.idCard" maxlength="18"></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
@@ -84,7 +85,7 @@ layout("/layouts/platform.html"){
|
||||
<el-descriptions-item label="手机号码">
|
||||
<el-form-item prop="mobile">
|
||||
<el-input maxlength="11" clearable placeholder="请填写手机号码"
|
||||
v-model="formData.mobile" maxlength="11"></el-input>
|
||||
v-model="formData.mobile"></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="家庭年总收入(万元)">
|
||||
@@ -103,6 +104,7 @@ layout("/layouts/platform.html"){
|
||||
<el-input-number
|
||||
v-model="formData.homeNumber"
|
||||
:min="1"
|
||||
:precision="0"
|
||||
:step="1"
|
||||
style="width: 100%"
|
||||
placeholder="请填写家庭人数">
|
||||
@@ -113,7 +115,7 @@ layout("/layouts/platform.html"){
|
||||
<el-form-item prop="homeAddress">
|
||||
<el-input clearable
|
||||
style="width: 100%"
|
||||
v-model="formData.homeAddress"
|
||||
v-model="formData.homeAddress" maxlength="200"
|
||||
placeholder="请填写家庭住址">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
@@ -132,7 +134,7 @@ layout("/layouts/platform.html"){
|
||||
<!-- </el-descriptions-item>-->
|
||||
<el-descriptions-item label="银行卡号" >
|
||||
<el-form-item prop="bankCardNum">
|
||||
<el-input maxlength="20" clearable placeholder="请填写银行卡号"
|
||||
<el-input maxlength="19" clearable placeholder="请填写银行卡号"
|
||||
v-model="formData.bankCardNum"></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
@@ -151,7 +153,7 @@ layout("/layouts/platform.html"){
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="生活致困原因" :span="3">
|
||||
<el-descriptions-item label="生活致困原因" :span="3">
|
||||
<el-form-item prop="reason">
|
||||
<el-input maxlength="500" :autosize="{ minRows: 5, maxRows: 10}"
|
||||
placeholder="请简述生活致困原因"
|
||||
@@ -193,8 +195,8 @@ layout("/layouts/platform.html"){
|
||||
<template slot-scope="{row,$index}">
|
||||
<el-form-item label-width="0"
|
||||
:prop="'familyList.'+$index+'.relation'"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="row.relation" placeholder="请填写与本人关系" clearable></el-input>
|
||||
:rules="textRules('与本人关系', 50)">
|
||||
<el-input v-model="row.relation" maxlength="50" placeholder="请填写与本人关系" clearable></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -202,8 +204,8 @@ layout("/layouts/platform.html"){
|
||||
<template slot-scope="{row,$index}">
|
||||
<el-form-item label-width="0"
|
||||
:prop="'familyList.'+$index+'.name'"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="row.name" placeholder="请填写姓名" clearable></el-input>
|
||||
:rules="textRules('姓名', 100)">
|
||||
<el-input v-model="row.name" maxlength="100" placeholder="请填写姓名" clearable></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -211,9 +213,9 @@ layout("/layouts/platform.html"){
|
||||
<template slot-scope="{row,$index}">
|
||||
<el-form-item label-width="0"
|
||||
:prop="'familyList.'+$index+'.age'"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
:rules="[{required:true,type:'integer',min:1,max:100,message:'年龄须为1至100的整数',trigger:['change','blur']}]">
|
||||
<el-input-number v-model="row.age" placeholder="年龄" :min="1"
|
||||
:max="100" :step="1" style="width: 100%" clearable></el-input-number>
|
||||
:max="100" :precision="0" :step="1" style="width: 100%" clearable></el-input-number>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -221,8 +223,8 @@ layout("/layouts/platform.html"){
|
||||
<template slot-scope="{row,$index}">
|
||||
<el-form-item label-width="0"
|
||||
:prop="'familyList.'+$index+'.homeUnit'"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="row.homeUnit" placeholder="请填写工作单位" clearable></el-input>
|
||||
:rules="textRules('工作单位', 200)">
|
||||
<el-input v-model="row.homeUnit" maxlength="200" placeholder="请填写工作单位" clearable></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -230,9 +232,9 @@ layout("/layouts/platform.html"){
|
||||
<template slot-scope="{row,$index}">
|
||||
<el-form-item label-width="0"
|
||||
:prop="'familyList.'+$index+'.yearIncome'"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
:rules="[{validator:validateIncome,required:true,trigger:['change','blur']}]">
|
||||
<el-input-number v-model="row.yearIncome" placeholder="年收入"
|
||||
:min="0" :step="1" style="width: 100%" clearable></el-input-number>
|
||||
:min="0" :precision="2" :step="1" style="width: 100%" clearable></el-input-number>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -240,8 +242,8 @@ layout("/layouts/platform.html"){
|
||||
<template slot-scope="{row,$index}">
|
||||
<el-form-item label-width="0"
|
||||
:prop="'familyList.'+$index+'.remarks'"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="row.remarks" placeholder="请填写备注" clearable></el-input>
|
||||
:rules="textRules('备注', 500)">
|
||||
<el-input v-model="row.remarks" maxlength="500" placeholder="请填写备注" clearable></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -292,7 +294,7 @@ layout("/layouts/platform.html"){
|
||||
</el-card>
|
||||
<div v-else>
|
||||
<el-card class="box-card" style="height: 92vh" shadow="never">
|
||||
<el-result icon="warning" title="温馨提醒" subTitle="">
|
||||
<el-result icon="warning" title="温馨提醒" sub-title="">
|
||||
<template slot="extra">
|
||||
<span v-if="blockMessage">{{blockMessage}}</span>
|
||||
<span v-else>抱歉,当前时间不能申请,可申请时间为{{time}}。</span>
|
||||
@@ -312,6 +314,7 @@ layout("/layouts/platform.html"){
|
||||
bizId: GetQueryString("bizId"),
|
||||
taskId: GetQueryString("taskId"),
|
||||
isShow: false,
|
||||
pageLoading: true,
|
||||
time: '',
|
||||
blockMessage: '',
|
||||
formData: {
|
||||
@@ -320,30 +323,55 @@ layout("/layouts/platform.html"){
|
||||
applyCount: '1',
|
||||
},
|
||||
formRules: {
|
||||
proxyUserName: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
proxyLoginName: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
sex: [{required: true, message: '请填写性别', trigger: ['blur', 'change']}],
|
||||
userName: [{required: true, message: '请填写受补助人', trigger: ['blur', 'change']}],
|
||||
unitName: [{required: true, message: '请填写所属单位', trigger: ['blur', 'change']}],
|
||||
proxyUserName: this.textRules('填写人姓名', 100),
|
||||
proxyLoginName: this.textRules('填写人工号', 100),
|
||||
mode: [{required: true, type: 'enum', enum: ['1', '2'], message: '请选择申请模式', trigger: ['blur', 'change']}],
|
||||
sex: [{required: true, type: 'enum', enum: ['男', '女'], message: '请选择性别', trigger: ['blur', 'change']}],
|
||||
userId: [{required: true, message: '请选择受补助人', trigger: ['blur', 'change']}],
|
||||
unitName: this.textRules('所属单位', 500),
|
||||
unionName: [{required: true, message: '请填写所属工会', trigger: ['blur', 'change']}],
|
||||
homeAddress: [{required: true, message: '请填写家庭住址', trigger: ['blur', 'change']}],
|
||||
mobile: [{required: true, message: '请填写手机号码', trigger: ['blur', 'change']}],
|
||||
idCard: [{required: true, message: '请填写身份证号', trigger: ['blur', 'change']}],
|
||||
bankCardNum: [{required: true, message: '请填写收款账户卡号', trigger: ['blur', 'change']}],
|
||||
homeAddress: this.textRules('家庭住址', 200),
|
||||
mobile: [
|
||||
{required: true, message: '请填写手机号码', trigger: ['blur', 'change']},
|
||||
{pattern: /^1[3-9]\d{9}$/, message: '请输入正确的11位手机号码', trigger: ['blur', 'change']}
|
||||
],
|
||||
idCard: [{validator: (rule, value, callback) => {
|
||||
const result = this.isValidIdCard(value || '')
|
||||
callback(result.status === 0 ? new Error(result.msg) : undefined)
|
||||
}, required: true, trigger: ['blur', 'change']}],
|
||||
bankCardNum: [{validator: (rule, value, callback) => {
|
||||
const result = this.validateCard(value || '')
|
||||
callback(result.status === 0 ? new Error(result.msg) : undefined)
|
||||
}, required: true, trigger: ['blur', 'change']}],
|
||||
bankUserName: [{required: true, message: '请填写户名', trigger: ['blur', 'change']}],
|
||||
bankOfDeposit: [{required: true, message: '请填写开户行', trigger: ['blur', 'change']}],
|
||||
position: [{required: true, message: '请填写职务', trigger: ['blur', 'change']}],
|
||||
officialCapacity: [{required: true, message: '请填写职称', trigger: ['blur', 'change']}],
|
||||
subsidyStandards: [{required: true, message: '请选择困难类型', trigger: ['blur', 'change']}],
|
||||
reason: [{required: true, message: '请填写申请原因', trigger: ['blur', 'change']}],
|
||||
sign: [{required: true, message: '请签字', trigger: ['blur', 'change']}]
|
||||
bankOfDeposit: this.textRules('开户行', 30),
|
||||
position: this.textRules('职务', 20),
|
||||
officialCapacity: this.textRules('职称', 20),
|
||||
homeIncome: [{validator: this.validateIncome, required: true, trigger: ['blur', 'change']}],
|
||||
homeNumber: [{required: true, type: 'integer', min: 1, message: '家庭人数须为大于零的整数', trigger: ['blur', 'change']}],
|
||||
subsidy: this.textRules('补助类型', 500),
|
||||
subsidyStandards: this.textRules('困难类型', 500),
|
||||
reason: this.textRules('生活致困原因', 500),
|
||||
sign: [{required: true, whitespace: true, message: '请完成签字', trigger: ['blur', 'change']}],
|
||||
},
|
||||
|
||||
// 替他人申请相关
|
||||
subsidizedList: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
canApplyForOthers() {
|
||||
return this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN, BRANCH_UNION_CHAIRMAN, BRANCH_UNION_OPERATOR')
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
textRules(label, max) {
|
||||
return [{required: true, whitespace: true, max, message: '请填写' + label + ',且不超过' + max + '个字符', trigger: ['blur', 'change']}]
|
||||
},
|
||||
validateIncome(rule, value, callback) {
|
||||
const valid = typeof value === 'number' && Number.isFinite(value) && value >= 0 && /^\d+(\.\d{1,2})?$/.test(String(value))
|
||||
callback(valid ? undefined : new Error('收入须为不小于零的数字,最多保留两位小数'))
|
||||
},
|
||||
// 保存
|
||||
onSave() {
|
||||
this.$confirm("您确定保存吗?", "提示", {
|
||||
@@ -362,24 +390,13 @@ layout("/layouts/platform.html"){
|
||||
|
||||
// 提交
|
||||
async onSubmit() {
|
||||
this.$refs.formRef.validate().then((valid) => {
|
||||
this.$refs.formRef.validate().catch(() => false).then((valid) => {
|
||||
if (valid) {
|
||||
this.$confirm("您确定要提交吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
const result = this.isValidIdCard(this.formData.idCard)
|
||||
if (result.status === 0) {
|
||||
this.$message.warning(result.msg)
|
||||
return
|
||||
}
|
||||
const bankRes = this.validateCard(this.formData.bankCardNum)
|
||||
if (bankRes.status === 0) {
|
||||
this.$message.warning(bankRes.msg)
|
||||
return;
|
||||
}
|
||||
|
||||
this.$axios.post('/platform/difficultHelp/apply/submit', {
|
||||
data: JSON.stringify(this.formData)
|
||||
}).then(res => {
|
||||
@@ -394,7 +411,7 @@ layout("/layouts/platform.html"){
|
||||
},
|
||||
|
||||
async onFinishTask() {
|
||||
this.$refs.formRef.validate().then((valid) => {
|
||||
this.$refs.formRef.validate().catch(() => false).then((valid) => {
|
||||
if (valid) {
|
||||
this.$confirm("您确定要提交吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
@@ -402,17 +419,6 @@ layout("/layouts/platform.html"){
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
|
||||
const result = this.isValidIdCard(this.formData.idCard)
|
||||
if (result.status === 0) {
|
||||
this.$message.warning(result.msg)
|
||||
return
|
||||
}
|
||||
const bankRes = this.validateCard(this.formData.bankCardNum)
|
||||
if (bankRes.status === 0) {
|
||||
this.$message.warning(bankRes.msg)
|
||||
return;
|
||||
}
|
||||
|
||||
this.$axios.post('/platform/difficultHelp/apply/submitAgain', {
|
||||
data: JSON.stringify(this.formData),
|
||||
taskId: GetQueryString("taskId")
|
||||
@@ -429,6 +435,9 @@ layout("/layouts/platform.html"){
|
||||
|
||||
// 查询受助人
|
||||
queryRecipients(key) {
|
||||
if (String(this.formData.mode) !== "2" || !this.canApplyForOthers) {
|
||||
return
|
||||
}
|
||||
this.$axios.post("/platform/difficultHelp/apply/queryRecipients", {
|
||||
key
|
||||
}).then(res => {
|
||||
@@ -438,10 +447,12 @@ layout("/layouts/platform.html"){
|
||||
})
|
||||
},
|
||||
findOne(id) {
|
||||
this.$axios.post('/platform/difficultHelp/mine/findOne', { id }).then(res => {
|
||||
return this.$axios.post('/platform/difficultHelp/mine/findOne', { id }).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.formData = res.data
|
||||
this.queryRecipients(res.data.loginName)
|
||||
} else {
|
||||
throw new Error(res.msg || '申请信息加载失败,请刷新页面重试')
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -459,6 +470,9 @@ layout("/layouts/platform.html"){
|
||||
this.$set(this.formData, 'birthday', user.birthday)
|
||||
this.$set(this.formData, 'mobile', user.mobile)
|
||||
this.$set(this.formData, 'idCard', user.idCard)
|
||||
this.$set(this.formData, 'position', user.position || '')
|
||||
this.$set(this.formData, 'officialCapacity', user.officialCapacity || '')
|
||||
this.$set(this.formData, 'homeAddress', user.homeAddress || '')
|
||||
|
||||
} else {
|
||||
this.$set(this.formData, 'userId', null)
|
||||
@@ -471,6 +485,10 @@ layout("/layouts/platform.html"){
|
||||
this.$set(this.formData, 'unionName', null)
|
||||
this.$set(this.formData, 'birthday', null)
|
||||
this.$set(this.formData, 'mobile', null)
|
||||
this.$set(this.formData, 'idCard', null)
|
||||
this.$set(this.formData, 'position', '')
|
||||
this.$set(this.formData, 'officialCapacity', '')
|
||||
this.$set(this.formData, 'homeAddress', '')
|
||||
}
|
||||
},
|
||||
// 申请模式
|
||||
@@ -486,15 +504,17 @@ layout("/layouts/platform.html"){
|
||||
this.$set(this.formData, 'proxyLoginName', user.loginname)
|
||||
this.$set(this.formData, 'mode', "1")
|
||||
this.$set(this.formData, 'sex', user.sex)
|
||||
this.$set(this.formData, 'unitId', user.unit.id)
|
||||
this.$set(this.formData, 'unitName', user.unit.name)
|
||||
this.$set(this.formData, 'unionId', user.union.id)
|
||||
this.$set(this.formData, 'unionName', user.union.name)
|
||||
this.$set(this.formData, 'unitId', (user.unit || {}).id || user.unitId || null)
|
||||
this.$set(this.formData, 'unitName', (user.unit || {}).name || '')
|
||||
this.$set(this.formData, 'unionId', (user.union || {}).id || (user.unit || {}).unionId || null)
|
||||
this.$set(this.formData, 'unionName', (user.union || {}).name || '')
|
||||
this.$set(this.formData, 'yearIncome', null)
|
||||
this.$set(this.formData, 'birthday', user.birthday)
|
||||
this.$set(this.formData, 'idCard', user.idCard)
|
||||
this.$set(this.formData, 'mobile', user.mobile)
|
||||
this.$set(this.formData, 'homeAddress', user.homeAddress)
|
||||
this.$set(this.formData, 'position', user.position || '')
|
||||
this.$set(this.formData, 'officialCapacity', user.professionalTitle || '')
|
||||
this.$set(this.formData, 'subsidyStandards', null)
|
||||
this.$set(this.formData, 'reason', null)
|
||||
this.$set(this.formData, 'remarks', null)
|
||||
@@ -602,10 +622,10 @@ layout("/layouts/platform.html"){
|
||||
return { status: 200, msg: "卡号有效。" };
|
||||
},
|
||||
async getIsCanPlay() {
|
||||
this.$axios.post('/platform/difficultHelp/apply/getIsCanPlay').then(res => {
|
||||
return this.$axios.post('/platform/difficultHelp/apply/getIsCanPlay').then(res => {
|
||||
if (res.code === 0) {
|
||||
// 新增申请进入页面时,优先校验当前登录人本年度是否已经申请过,已申请则直接拦截新增。
|
||||
if (!this.bizId && res.data.hasCurrentYearApply) {
|
||||
if (!this.bizId && res.data.hasCurrentYearApply && !this.canApplyForOthers) {
|
||||
this.isShow = false
|
||||
this.$set(this, 'blockMessage', '抱歉,您本年度已申请困难帮扶,不能重复申请。')
|
||||
} else {
|
||||
@@ -616,16 +636,25 @@ layout("/layouts/platform.html"){
|
||||
if (res.data.applyCount !== null && res.data.applyCount !== undefined && res.data.applyCount !== 0) {
|
||||
this.$set(this.formData, 'applyCount', res.data.applyCount)
|
||||
}
|
||||
} else {
|
||||
throw new Error(res.msg || '申请资格加载失败,请刷新页面重试')
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
await this.getIsCanPlay();
|
||||
if (this.bizId) {
|
||||
this.findOne(this.bizId)
|
||||
} else {
|
||||
this.modeChange("1")
|
||||
try {
|
||||
await this.getIsCanPlay();
|
||||
if (this.bizId) {
|
||||
await this.findOne(this.bizId)
|
||||
} else {
|
||||
this.modeChange("1")
|
||||
}
|
||||
} catch (error) {
|
||||
this.isShow = false
|
||||
this.blockMessage = error.message || '申请信息加载失败,请刷新页面重试'
|
||||
} finally {
|
||||
this.pageLoading = false
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -24,6 +24,12 @@ const INFO = {
|
||||
|
||||
<el-descriptions-item label="申请次数" >{{ 1 }}</el-descriptions-item>
|
||||
<el-descriptions-item label="家庭住址" :span="2">{{ viewData.homeAddress }}</el-descriptions-item>
|
||||
<el-descriptions-item label="补助类型">
|
||||
<dict-tag :options="dict.type.DIFFICULT_SUBSIDY_TYPE" :value="viewData.subsidy"></dict-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="困难类型">
|
||||
<dict-tag :options="dict.type.DIFFICULT_TYPE" :value="viewData.subsidyStandards"></dict-tag>
|
||||
</el-descriptions-item>
|
||||
|
||||
|
||||
<el-descriptions-item label="家庭主要成员(在一起生活的直系亲属)经济收入情况" :span="3">
|
||||
@@ -64,7 +70,7 @@ const INFO = {
|
||||
|
||||
<template v-for="task in doneTasks">
|
||||
<div class="task-panel mt10">
|
||||
<div class="process-title">{{ task.displayName }}</div>
|
||||
<div class="process-title">{{ ({'分工会审核':'一级审核','二级党组织审核':'二级审核','校工会审核':'三级审核'}[task.displayName] || task.displayName) }}</div>
|
||||
<el-descriptions border class="flow-task-form" :column="3" :key="task.id"
|
||||
v-if="task.ext.isFirstTaskNode">
|
||||
<el-descriptions-item label="申请用户">{{ task.ext.initiatorName
|
||||
@@ -106,7 +112,7 @@ const INFO = {
|
||||
</div>
|
||||
`,
|
||||
store,
|
||||
dicts: ["PROCESS_TASK_SUBMIT_TYPE"],
|
||||
dicts: ["PROCESS_TASK_SUBMIT_TYPE", "DIFFICULT_SUBSIDY_TYPE", "DIFFICULT_TYPE"],
|
||||
data() {
|
||||
return {
|
||||
viewData: {},
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
<div id="difficult_help_branch_union_approval_form">
|
||||
<div id="difficult_help_first_approval_form">
|
||||
<el-form :model="formData" ref="formRef" label-width="0" label-suffix=":" class="flow-task-form">
|
||||
<el-form-item label="审批意见" prop="tf_opinion" :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
<script nonce="${cspNonce!}">
|
||||
new Vue({
|
||||
el: "#difficult_help_branch_union_approval_form",
|
||||
el: "#difficult_help_first_approval_form",
|
||||
data() {
|
||||
return {
|
||||
businessId: GetQueryString("businessId"),
|
||||
@@ -64,16 +64,16 @@ layout("/layouts/platform.html"){
|
||||
size="small"></enum-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="300px">
|
||||
<el-table-column label="操作" fixed="right" width="300px" class-name="difficult-help-mine-actions">
|
||||
<template slot-scope="{row}">
|
||||
<el-button @click="openView(row)" size="mini" type="primary">查看</el-button>
|
||||
<el-button v-if="row.taskKey === 'startTask' || !row.instanceId" @click="onEdit(row)" size="mini" type="primary">
|
||||
<el-button v-if="row.createdBy === $store.state.user.id && (row.taskKey === 'startTask' || !row.instanceId)" @click="onEdit(row)" size="mini" type="primary">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button v-if="row.canRevoke" @click="onRevoke(row)" size="mini" type="danger">撤回
|
||||
<el-button v-if="row.createdBy === $store.state.user.id && row.canRevoke" @click="onRevoke(row)" size="mini" type="danger">撤回
|
||||
</el-button>
|
||||
<el-button @click="doExportApply(row)" size="mini" type="primary">打印</el-button>
|
||||
<el-button v-if="row.taskKey === 'startTask' || !row.instanceId" @click="onDelete(row.id)" size="mini" type="danger">删除</el-button>
|
||||
<el-button v-if="row.createdBy === $store.state.user.id && row.instanceState == 20" @click="doExportApply(row)" size="mini" type="primary">导出</el-button>
|
||||
<el-button v-if="row.createdBy === $store.state.user.id && (row.taskKey === 'startTask' || !row.instanceId)" @click="onDelete(row.id)" size="mini" type="danger">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -87,6 +87,18 @@ layout("/layouts/platform.html"){
|
||||
|
||||
</div>
|
||||
|
||||
<style nonce="${cspNonce!}">
|
||||
#app .difficult-help-mine-actions .cell {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
}
|
||||
#app .difficult-help-mine-actions .cell > .el-button {
|
||||
margin-left: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script nonce="${cspNonce!}">
|
||||
<!--#include("../common/info.js"){}#-->
|
||||
|
||||
@@ -165,11 +177,11 @@ layout("/layouts/platform.html"){
|
||||
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
|
||||
this.units = await this.$businessTool.listUnit(this.pageForm.unionId)
|
||||
} else {
|
||||
this.units = await this.$businessTool.listUnit(this.$store.state.user.union.id)
|
||||
this.units = await this.$businessTool.listUnit((this.$store.state.user.union || {}).id || this.pageForm.unionId)
|
||||
}
|
||||
},
|
||||
doExportApply(row) {
|
||||
this.$downLoad('/platform/difficultHelp/reading/doExportApply?id=' + row.id + '&print=true')
|
||||
this.$downLoad('/platform/difficultHelp/reading/doExportApply?id=' + row.id + '&print=false')
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
@@ -177,7 +189,7 @@ layout("/layouts/platform.html"){
|
||||
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
|
||||
this.unions = await this.$businessTool.listUnion()
|
||||
} else {
|
||||
this.unions = await this.$businessTool.listUnion(this.$store.state.user.union.id)
|
||||
this.unions = await this.$businessTool.listUnion((this.$store.state.user.union || {}).id)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
<div id="difficult_help_branch_union_approval_form">
|
||||
<div id="difficult_help_second_approval_form">
|
||||
<el-form :model="formData" ref="formRef" label-width="0" label-suffix=":" class="flow-task-form">
|
||||
<el-form-item label="审批意见" prop="tf_opinion" :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
<script nonce="${cspNonce!}">
|
||||
new Vue({
|
||||
el: "#difficult_help_branch_union_approval_form",
|
||||
el: "#difficult_help_second_approval_form",
|
||||
data() {
|
||||
return {
|
||||
businessId: GetQueryString("businessId"),
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
<div id="difficult_help_school_union_approval_form">
|
||||
<div id="difficult_help_third_approval_form">
|
||||
<el-form :model="formData" ref="formRef" label-width="0" label-suffix=":" class="flow-task-form">
|
||||
<el-form-item label="审核金额" prop="tf_money" :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input-number placeholder="请输入金额" v-model="formData.tf_money"></el-input-number>
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
<script nonce="${cspNonce!}">
|
||||
new Vue({
|
||||
el: "#difficult_help_school_union_approval_form",
|
||||
el: "#difficult_help_third_approval_form",
|
||||
data() {
|
||||
return {
|
||||
businessId: GetQueryString("businessId"),
|
||||
+2
-2
@@ -256,7 +256,7 @@ layout("/layouts/platform.html"){
|
||||
|
||||
approveSingleItem(item) {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$axios.post("/platform/difficultHelp/schoolUnionApproval/save", {
|
||||
this.$axios.post("/platform/difficultHelp/thirdApproval/save", {
|
||||
data: JSON.stringify({
|
||||
...this.formData,
|
||||
id: item.id
|
||||
@@ -301,7 +301,7 @@ layout("/layouts/platform.html"){
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
this.$axios.post("/platform/difficultHelp/schoolUnionApproval/save", {
|
||||
this.$axios.post("/platform/difficultHelp/thirdApproval/save", {
|
||||
data: JSON.stringify({
|
||||
...this.formData,
|
||||
})
|
||||
+91
-32
@@ -14,6 +14,42 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
.el-radio {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#app .search .line-year-range-input {
|
||||
width: 230px;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.line-year-range-panel .year-range-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.line-year-range-panel .year-range-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.line-year-range-panel .year-range-grid .el-button {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.line-year-range-panel .year-range-grid .in-range {
|
||||
color: var(--color-primary, #409eff);
|
||||
background: #ecf5ff;
|
||||
}
|
||||
|
||||
.line-year-range-panel .year-range-footer {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 12px;
|
||||
color: #909399;
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
@@ -22,37 +58,32 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
<div class="search">
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">年度范围:</div>
|
||||
<div class="search-item-option" style="display:flex;align-items:center;gap:10px">
|
||||
<el-date-picker
|
||||
v-model="pageForm.startYear"
|
||||
type="year"
|
||||
class="picker-year"
|
||||
format="yyyy"
|
||||
style="flex:1;width:0;min-width:0"
|
||||
value-format="yyyy"
|
||||
@change="handleChangeYear"
|
||||
>
|
||||
</el-date-picker>
|
||||
<span style="flex-shrink:0">至</span>
|
||||
<el-date-picker
|
||||
v-model="pageForm.endYear"
|
||||
type="year"
|
||||
class="picker-year"
|
||||
format="yyyy"
|
||||
style="flex:1;width:0;min-width:0"
|
||||
value-format="yyyy"
|
||||
@change="handleChangeYear"
|
||||
>
|
||||
</el-date-picker>
|
||||
|
||||
<!--<el-date-picker
|
||||
style="width: 100%"
|
||||
@change="doSearch"
|
||||
placeholder="选择年度"
|
||||
type="year"
|
||||
v-model="pageForm.year"
|
||||
value-format="yyyy">
|
||||
</el-date-picker>-->
|
||||
<div class="search-item-option">
|
||||
<el-popover v-model="yearRangeVisible" placement="bottom-start" trigger="click"
|
||||
width="320" popper-class="line-year-range-panel" @show="openYearRange">
|
||||
<div class="year-range-header">
|
||||
<el-button type="text" icon="el-icon-d-arrow-left" aria-label="前十年"
|
||||
@click="yearRangeDecade -= 10"></el-button>
|
||||
<span>{{yearRangeDecade}} - {{yearRangeDecade + 11}}</span>
|
||||
<el-button type="text" icon="el-icon-d-arrow-right" aria-label="后十年"
|
||||
@click="yearRangeDecade += 10"></el-button>
|
||||
</div>
|
||||
<div class="year-range-grid">
|
||||
<el-button v-for="offset in 12" :key="yearRangeDecade + offset - 1" size="small"
|
||||
:type="yearRangeStart === yearRangeDecade + offset - 1 ? 'primary' : 'default'"
|
||||
:class="{'in-range': !yearRangeStart && pageForm.startYear && pageForm.endYear && yearRangeDecade + offset - 1 >= Number(pageForm.startYear) && yearRangeDecade + offset - 1 <= Number(pageForm.endYear)}"
|
||||
@click="selectRangeYear(yearRangeDecade + offset - 1)">
|
||||
{{yearRangeDecade + offset - 1}}
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="year-range-footer">
|
||||
<span>{{yearRangeStart ? '已选 ' + yearRangeStart + ',请选择结束年份' : '请选择开始年份'}}</span>
|
||||
<el-button type="text" @click="clearYearRange">清空</el-button>
|
||||
</div>
|
||||
<el-input slot="reference" class="line-year-range-input" readonly
|
||||
prefix-icon="el-icon-date" placeholder="开始年份 至 结束年份"
|
||||
:value="pageForm.startYear || pageForm.endYear ? (pageForm.startYear || '开始年份') + ' 至 ' + (pageForm.endYear || '结束年份') : ''"></el-input>
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
@@ -658,6 +689,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
}
|
||||
|
||||
return {
|
||||
yearRangeVisible: false,
|
||||
yearRangeStart: null,
|
||||
yearRangeDecade: Math.floor(new Date().getFullYear() / 10) * 10,
|
||||
tableColumns: [
|
||||
{label: '年度', prop: 'year', sortable: true},
|
||||
{label: '线路名称', prop: 'lineName', sortable: true, width: '200'},
|
||||
@@ -851,7 +885,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
window.top.location.href = '/platform/inclusiveTherapyV3/lineXghSelect?mode=2'
|
||||
const targetMenu = window.parent.document.querySelector('#sidebar-menu a[data-pjax][href="/platform/inclusiveTherapyV3/lineXghSelect?mode=2"]')
|
||||
if (targetMenu) {
|
||||
targetMenu.click()
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$refs.guava.index()
|
||||
this.pageData()
|
||||
@@ -1062,6 +1099,28 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
this.lineImportLoading = false
|
||||
}
|
||||
},
|
||||
openYearRange() {
|
||||
this.yearRangeStart = null
|
||||
const year = Number(this.pageForm.startYear) || new Date().getFullYear()
|
||||
this.yearRangeDecade = Math.floor(year / 10) * 10
|
||||
},
|
||||
selectRangeYear(year) {
|
||||
if (this.yearRangeStart === null) {
|
||||
this.yearRangeStart = year
|
||||
return
|
||||
}
|
||||
this.pageForm.startYear = String(Math.min(this.yearRangeStart, year))
|
||||
this.pageForm.endYear = String(Math.max(this.yearRangeStart, year))
|
||||
this.yearRangeStart = null
|
||||
this.yearRangeVisible = false
|
||||
this.handleChangeYear()
|
||||
},
|
||||
clearYearRange() {
|
||||
this.pageForm.startYear = ''
|
||||
this.pageForm.endYear = ''
|
||||
this.yearRangeStart = null
|
||||
this.yearRangeVisible = false
|
||||
},
|
||||
handleChangeYear() {
|
||||
if (this.pageForm.startYear && this.pageForm.endYear) {
|
||||
if (this.pageForm.startYear > this.pageForm.endYear) {
|
||||
|
||||
+8
-2
@@ -24,6 +24,7 @@
|
||||
<link rel="stylesheet" href="${base!}/assets/platform/plugins/element-ui/lib/theme-chalk/index_custom.css">
|
||||
<link rel="stylesheet" href="${base!}/assets/platform/plugins/element-ui/lib/theme-chalk/override.css">
|
||||
<link rel="stylesheet" href="${base!}/assets/platform/css/common.css">
|
||||
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/css/desktop.css">
|
||||
<script src="${base!}/assets/platform/plugins/element-ui/lib/index.js"></script>
|
||||
<script>
|
||||
ELEMENT.Dialog.props.closeOnClickModal.default = false;
|
||||
@@ -32,6 +33,11 @@ ELEMENT.Table.props.border.default = true;
|
||||
ELEMENT.TableColumn.props.headerAlign.default = 'center';
|
||||
ELEMENT.TableColumn.props.align.default = 'center';
|
||||
Vue.use(ELEMENT, {zIndex: 20000});
|
||||
if (window.parent !== window) {
|
||||
Vue.prototype.$confirm = function(...args) {
|
||||
return window.parent.ELEMENT.MessageBox.confirm(...args);
|
||||
};
|
||||
}
|
||||
</script>
|
||||
<script src="${base!}/assets/platform/plugins/wangEditor4/wangEditor.js"></script>
|
||||
<script src="${base!}/assets/platform/plugins/sortablejs/sortable.min.js"></script>
|
||||
@@ -63,6 +69,6 @@ Vue.directive('auth', {inserted(el, binding) {
|
||||
if (!requested.some(role => roles.includes(role))) el.parentNode.removeChild(el);
|
||||
}});
|
||||
</script>
|
||||
<style>body{margin:0;padding:12px;box-sizing:border-box;background:#f6f6f6} [v-cloak]{display:none}</style>
|
||||
</head><body>${layoutContent}</body></html>
|
||||
<style>body{margin:0;padding:0;box-sizing:border-box;background:#f6f6f6} [v-cloak]{display:none}</style>
|
||||
</head><body class="therapy-desktop">${layoutContent}</body></html>
|
||||
<!--# } #-->
|
||||
|
||||
+124
-30
@@ -26,6 +26,95 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
.el-table-container {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
#app .branch-query-filters .query-condition-row {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
#app .branch-query-filters .query-condition-label {
|
||||
flex: 0 0 90px;
|
||||
color: #606266;
|
||||
text-align: right;
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
#app .branch-query-filters .query-condition-options {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
#app .branch-query-filters .query-condition-options .el-tag {
|
||||
margin: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#app .branch-query-filters .query-row-content > .el-row:empty {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#app .branch-query-filters .query-row-content > .el-row > .query-hint {
|
||||
display: block;
|
||||
padding: 10px 14px;
|
||||
margin: 0;
|
||||
border-radius: 4px;
|
||||
background: #fdf6ec;
|
||||
color: #b36b13;
|
||||
line-height: 24px;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
#app .branch-query-filters .query-row-content > .el-row > .query-hint > span {
|
||||
display: inline;
|
||||
color: inherit;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#app .branch-query-filters .query-hint-row {
|
||||
margin-left: 0;
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
#app .branch-query-filters .query-extra-fields {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px 0;
|
||||
}
|
||||
|
||||
#app .branch-query-filters .query-extra-fields > .el-col {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
padding-right: 24px;
|
||||
}
|
||||
|
||||
#app .branch-query-filters .query-extra-fields > .el-col > span {
|
||||
flex: 0 0 90px;
|
||||
color: #606266;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#app .branch-query-filters .query-extra-fields > .el-col > .el-select {
|
||||
flex: 1;
|
||||
width: 0 !important;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
#app .branch-query-filters .query-hint-row {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
#app .branch-query-filters .query-extra-fields > .el-col {
|
||||
width: 100%;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -33,7 +122,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
|
||||
<el-card shadow="never">
|
||||
<el-card shadow="never" class="branch-query-filters">
|
||||
<el-row align="middle" class="query-row" type="flex">
|
||||
<el-col class="query-row-title"></el-col>
|
||||
<el-col class="query-row-content">
|
||||
@@ -103,13 +192,13 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
</el-row>
|
||||
<el-row align="middle" class="query-row" type="flex">
|
||||
<el-col class="query-row-title"></el-col>
|
||||
<el-col class="query-row-content">
|
||||
<span>查询条件:</span>
|
||||
<el-col class="query-row-content query-condition-row">
|
||||
<span class="query-condition-label">查询条件:</span>
|
||||
<div class="query-condition-options">
|
||||
<el-tag :effect="pageForm.state===item.value?'dark':'plain'"
|
||||
:key="item.value"
|
||||
:type="item.label"
|
||||
@click="checkState(item.value)"
|
||||
style="margin-right: 10px;cursor: pointer;margin-bottom: 5px;"
|
||||
v-for="item in options">
|
||||
{{ item.label }}
|
||||
</el-tag>
|
||||
@@ -120,19 +209,20 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
unitDisabled = false"
|
||||
type="danger" v-if="options.length&&pageForm.state">清空
|
||||
</el-link>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!--#if(@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('H04')){#-->
|
||||
<el-row align="middle" class="query-row" type="flex"
|
||||
v-if="pageForm.state==='1'&&pageForm.lb==='ry'">
|
||||
<el-col class="query-row-title"></el-col>
|
||||
<el-col class="query-row-content">
|
||||
<span>报名路线:</span>
|
||||
<el-col class="query-row-content query-condition-row">
|
||||
<span class="query-condition-label">报名路线:</span>
|
||||
<div class="query-condition-options">
|
||||
<el-tag :effect="pageForm.state2===item.value?'dark':'plain'"
|
||||
:key="item.value"
|
||||
:type="item.label"
|
||||
@click="checkState2(item.value)"
|
||||
style="margin-right: 10px;cursor: pointer;margin-bottom: 5px;font-size: 15px"
|
||||
v-for="item in options2">
|
||||
{{ item.label }}
|
||||
</el-tag>
|
||||
@@ -140,6 +230,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
@click="pageForm.state2='';doSearch();getBmUserUnion();pageForm.takePartInLineId='';getXlByUnion()"
|
||||
style="color: red" v-if="options2.length&&pageForm.state">清空
|
||||
</el-link>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!--#}#-->
|
||||
@@ -161,10 +252,6 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
</el-select>
|
||||
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="pageForm.state=='1'"
|
||||
style="color: red;margin-top: 10px">
|
||||
<sapn>【本工会报名线路】和【本工会人员选择其他工会的线路】</sapn>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="pageForm.state=='2'">
|
||||
<span>选择旅行社:</span>
|
||||
<el-select v-model="pageForm.agencyId" filterable clearable
|
||||
@@ -195,8 +282,13 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
</el-row>
|
||||
|
||||
|
||||
<el-row v-if="!pageForm.state">
|
||||
<el-col :span="24" style="color: red;margin-top: 10px">
|
||||
<el-row v-if="pageForm.state=='1'" class="query-hint-row">
|
||||
<el-col :span="24" class="query-hint">
|
||||
<span>【本工会报名线路】和【本工会人员选择其他工会的线路】</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-if="!pageForm.state" class="query-hint-row">
|
||||
<el-col :span="24" class="query-hint">
|
||||
<span>温馨提醒:当前操作查询是【本工会当年参加疗休养的人员(包含校工会线路)】和【其他工会选择本工会线路的疗休养人员】</span>
|
||||
<!--<span>温馨提醒:当前操作查询是【本工会当年参加疗休养的人员(包含校工会线路)】</span>-->
|
||||
|
||||
@@ -208,7 +300,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
<el-row align="middle" class="query-row" type="flex"
|
||||
v-if="pageForm.state=='1'||pageForm.state=='3'">
|
||||
<el-col class="query-row-title"></el-col>
|
||||
<el-col class="query-row-content">
|
||||
<el-col class="query-row-content query-extra-fields">
|
||||
<el-col :span="8">
|
||||
<span>出行时间:</span>
|
||||
<el-select v-model="pageForm.selectId" filterable clearable
|
||||
@@ -280,7 +372,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
<!-- <el-button icon="el-icon-s-promotion" @click="openImport" size="small"
|
||||
type="primary">参加人员导入
|
||||
</el-button>-->
|
||||
<!--# if(@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasAnyRoles('H04,superadmin')){ #-->
|
||||
<!--# if(@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasAnyRoles('H04,sysadmin')){ #-->
|
||||
<template>
|
||||
<el-button icon="el-icon-s-promotion"
|
||||
@click="$downloadFile('/platform/inclusiveTherapyV3/query/exportDeclareForm')"
|
||||
@@ -360,11 +452,12 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
>
|
||||
<template slot-scope="{row}" v-if="column.prop=='lineName'">
|
||||
<template slot-scope="{row}">
|
||||
<template v-if="column.prop=='lineName'">
|
||||
<el-link type="primary" @click="openLine(row)">{{row.lineName}}
|
||||
</el-link>
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop=='isFamily'">
|
||||
<template v-else-if="column.prop=='isFamily'">
|
||||
<el-link v-if="!row.familyNumber" type="primary" @click="openView(row)">
|
||||
{{row.isFamily?'携带':'未携带'}}({{row.isFamily}})
|
||||
</el-link>
|
||||
@@ -372,7 +465,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
{{row.familyNumber?'携带':'未携带'}}({{row.familyNumber}})
|
||||
</el-link>
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop=='lineNum'">
|
||||
<template v-else-if="column.prop=='lineNum'">
|
||||
|
||||
<span v-if="!row.familyNumber" >
|
||||
{{row.lineNum}}({{row.signUpUserFamilyNum}})
|
||||
@@ -383,25 +476,25 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
|
||||
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop=='signUpMode'">
|
||||
<template v-else-if="column.prop=='signUpMode'">
|
||||
{{signUpModeName(row.signUpMode)}}
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop=='agencyNum'">
|
||||
<template v-else-if="column.prop=='agencyNum'">
|
||||
<el-link type="primary" @click="openApplyUser(row)">{{row.agencyNum}}
|
||||
</el-link>
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop=='times'">
|
||||
<template v-else-if="column.prop=='times'">
|
||||
<div v-if="row.playStartTime">{{row.playStartTime}}</div>
|
||||
<div v-else>{{row.playStartTime1}}</div>
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop=='isTakePartIn'">
|
||||
<template v-else-if="column.prop=='isTakePartIn'">
|
||||
{{row.isTakePartIn?'已参加':'未参加'}}
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop=='stateId'">
|
||||
<template v-else-if="column.prop=='stateId'">
|
||||
<span v-if="row.stateId">
|
||||
<vi-table-state :state="row"></vi-table-state>
|
||||
</span>-->
|
||||
<sapn v-else style="color: #67C23A">暂无</sapn>
|
||||
</span>
|
||||
<span v-else style="color: #67C23A">暂无</span>
|
||||
</template>
|
||||
|
||||
<!--<template scope="{row}" v-else-if="column.prop=='travelAgencyName'">
|
||||
@@ -409,16 +502,17 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
{{row.travelAgencyName}}
|
||||
</el-link>
|
||||
</template>-->
|
||||
<template slot-scope="{row}" v-else-if="column.prop=='lineOrMaName'">
|
||||
<template v-else-if="column.prop=='lineOrMaName'">
|
||||
{{row.lineName?row.lineName:row.baseName?row.baseName:row.travelAgencyName}}
|
||||
</template>
|
||||
<template slot-scope="{row:{officialWebsite}}"
|
||||
<template
|
||||
v-else-if="column.prop==='officialWebsite'">
|
||||
<a :href="officialWebsite" class="text-primary" target="_blank">
|
||||
{{officialWebsite}}
|
||||
<a :href="row.officialWebsite" class="text-primary" target="_blank">
|
||||
{{row.officialWebsite}}
|
||||
</a>
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else>{{row[column.prop]}}</template>
|
||||
<template v-else>{{row[column.prop]}}</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="家属信息" type="expand" width="100px"
|
||||
v-if="pageForm.lb==='ry'">
|
||||
|
||||
+7
-5
@@ -266,12 +266,13 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
>
|
||||
<template slot-scope="{row}" v-if="column.prop=='lineName'">
|
||||
<template slot-scope="{row}">
|
||||
<template v-if="column.prop=='lineName'">
|
||||
{{row.baseName?row.baseName:row.lineName}}
|
||||
<!-- <el-link type="primary" @click="openLine(row)">{{row.lineName}}
|
||||
</el-link>-->
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop=='isFamily'">
|
||||
<template v-else-if="column.prop=='isFamily'">
|
||||
<el-link v-if="!row.familyNumber" type="primary" @click="openView(row)">
|
||||
{{row.isFamily?'携带':'未携带'}}({{row.isFamily}})
|
||||
</el-link>
|
||||
@@ -279,15 +280,16 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
{{row.familyNumber?'携带':'未携带'}}({{row.familyNumber}})
|
||||
</el-link>
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop=='isTakePartIn'">
|
||||
<template v-else-if="column.prop=='isTakePartIn'">
|
||||
{{row.isTakePartIn?'已参加':'未参加'}}
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop=='lotName'">
|
||||
<template v-else-if="column.prop=='lotName'">
|
||||
<span v-if="row.lotName"> {{row.lotName}}</span>
|
||||
<span v-else>暂无</span>
|
||||
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else>{{row[column.prop]}}</template>
|
||||
<template v-else>{{row[column.prop]}}</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="250px">
|
||||
<template slot-scope="{row}">
|
||||
|
||||
+4
-6
@@ -78,13 +78,11 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">线路类型:</div>
|
||||
<div class="search-item-option">
|
||||
<el-radio-group class="mr0-radio"
|
||||
<el-select placeholder="请选择线路类型" style="width: 100%"
|
||||
v-model="pageForm.regionalNature">
|
||||
<el-radio-button :label="item.value"
|
||||
border v-for="(item, therapyIndex) in regionalNatureList" :key="item.id || item.code || therapyIndex">
|
||||
{{item.label}}
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
<el-option :value="item.value" :label="item.label"
|
||||
v-for="(item, therapyIndex) in regionalNatureList" :key="item.id || item.code || therapyIndex"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
+10
-11
@@ -41,15 +41,12 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">线路类型:</div>
|
||||
<div class="search-item-option">
|
||||
<el-radio-group class="mr0-radio"
|
||||
<el-select placeholder="请选择线路类型" style="width: 100%"
|
||||
@change="doSearch"
|
||||
v-model="pageForm.regionalNature">
|
||||
<el-radio-button :label="item.value"
|
||||
border
|
||||
v-for="(item, therapyIndex) in regionalNatureList" :key="item.id || item.code || therapyIndex">
|
||||
{{item.label}}
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
<el-option :value="item.value" :label="item.label"
|
||||
v-for="(item, therapyIndex) in regionalNatureList" :key="item.id || item.code || therapyIndex"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -134,7 +131,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
header-align="center"
|
||||
show-overflow-tooltip
|
||||
v-for="column in tableColumns">
|
||||
<template slot-scope="{row}" v-if="column.prop === 'playTimes' || column.prop === 'signUpTimes'">
|
||||
<template slot-scope="{row}">
|
||||
<template v-if="column.prop === 'playTimes' || column.prop === 'signUpTimes'">
|
||||
<template v-if="row[column.prop]">
|
||||
<template slot="content">
|
||||
<div :class="[index === row[column.prop].split(',').length - 1 ? '' : 'mb10']"
|
||||
@@ -149,15 +147,16 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
</template>
|
||||
<span v-else>暂未设置</span>
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop === 'signUpMode'">
|
||||
<template v-else-if="column.prop === 'signUpMode'">
|
||||
{{signUpModeName(row.signUpMode)}}
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop === 'isOpen'">
|
||||
<template v-else-if="column.prop === 'isOpen'">
|
||||
{{row.isOpen ? '是' : '否'}}
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else>
|
||||
<template v-else>
|
||||
{{row[column.prop]}}
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="操作" width="120px">
|
||||
<template slot-scope="{row}">
|
||||
|
||||
+4
-6
@@ -58,14 +58,12 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">线路类型:</div>
|
||||
<div class="search-item-option">
|
||||
<el-radio-group class="mr0-radio"
|
||||
<el-select placeholder="请选择线路类型" style="width: 100%"
|
||||
@change="doSearch"
|
||||
v-model="pageForm.regionalNature">
|
||||
<el-radio-button :label="item.value"
|
||||
border v-for="(item, therapyIndex) in regionalNatureList" :key="item.id || item.code || therapyIndex">
|
||||
{{item.label}}
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
<el-option :value="item.value" :label="item.label"
|
||||
v-for="(item, therapyIndex) in regionalNatureList" :key="item.id || item.code || therapyIndex"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
+10
-6
@@ -215,19 +215,21 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
:fixed="column.fixed"
|
||||
:sortable="column.sortable"
|
||||
>
|
||||
<template slot-scope="{row}" v-if="column.prop=='lineName'">
|
||||
<template slot-scope="{row}">
|
||||
<template v-if="column.prop=='lineName'">
|
||||
<el-link type="primary" @click="openLine(row)">{{row.lineName}}
|
||||
</el-link>
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop=='signUpMode'">
|
||||
<template v-else-if="column.prop=='signUpMode'">
|
||||
<span>{{row.signUpMode == '1' ? '校工会组织' : '分工会组织'}}</span>
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else-if="column.prop=='groupCount'">
|
||||
<template v-else-if="column.prop=='groupCount'">
|
||||
<el-link type="primary" @click="openUserData(row)">
|
||||
{{Number(row.lineNum || 0) + Number(row.adultFamilyNum || 0)}}
|
||||
</el-link>
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else>{{row[column.prop]}}</template>
|
||||
<template v-else>{{row[column.prop]}}</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="380px" fixed="right">
|
||||
<template slot-scope="{row}">
|
||||
@@ -305,7 +307,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
:key="column.id || column.code || therapyIndex">
|
||||
<template slot-scope="{row}" v-if="column.prop=='isFamily'">
|
||||
<template slot-scope="{row}">
|
||||
<template v-if="column.prop=='isFamily'">
|
||||
<el-link v-if="!row.familyNumber" type="primary">
|
||||
{{row.isFamily?'携带':'未携带'}}({{row.isFamily}})
|
||||
</el-link>
|
||||
@@ -313,7 +316,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
{{row.familyNumber?'携带':'未携带'}}({{row.familyNumber}})
|
||||
</el-link>
|
||||
</template>
|
||||
<template slot-scope="{row}" v-else>{{row[column.prop]}}</template>
|
||||
<template v-else>{{row[column.prop]}}</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-row class="el-pagination-container" style="margin-bottom: 0px">
|
||||
|
||||
+198
-34
@@ -4,14 +4,161 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
|
||||
<style>
|
||||
|
||||
.item-button {
|
||||
#app .therapy-config .el-card__header {
|
||||
padding: 16px 20px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
#app .therapy-config .el-tabs__header {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
#app .therapy-config .el-card__body {
|
||||
padding: 20px 24px 0;
|
||||
}
|
||||
|
||||
#app .therapy-config .el-tabs__item {
|
||||
height: 46px;
|
||||
line-height: 46px;
|
||||
}
|
||||
|
||||
#app .config-base {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#app .config-section {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
gap: 0 28px;
|
||||
margin-bottom: 20px;
|
||||
padding: 20px 24px 4px;
|
||||
border: 1px solid #ebeef5;
|
||||
border-radius: 6px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
#app .config-section-title {
|
||||
grid-column: 1 / -1;
|
||||
margin: 0 0 20px;
|
||||
padding: 0 0 0 10px;
|
||||
border-left: 3px solid var(--color-primary, #409eff);
|
||||
color: #303133;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
line-height: 20px;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#app .config-base .el-form-item {
|
||||
min-width: 0;
|
||||
margin-bottom: 22px;
|
||||
}
|
||||
|
||||
#app .config-base .el-form-item__label {
|
||||
float: none;
|
||||
display: block;
|
||||
width: auto !important;
|
||||
padding: 0 0 8px;
|
||||
line-height: 22px;
|
||||
text-align: left;
|
||||
color: #606266;
|
||||
}
|
||||
|
||||
#app .config-base .el-form-item__content {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
|
||||
#app .config-base .el-input,
|
||||
#app .config-base .el-select {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#app .config-base .el-radio-group {
|
||||
display: inline-flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
#app .therapy-config .el-table th {
|
||||
background: #f5f7fa;
|
||||
}
|
||||
|
||||
#app .config-wide {
|
||||
grid-column: 1 / -1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
#app .config-scope,
|
||||
#app .config-time-range {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#app .config-scope .el-select {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
#app .config-time-range .el-date-editor {
|
||||
width: 0;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
#app .config-time-separator {
|
||||
color: #909399;
|
||||
}
|
||||
|
||||
#app .config-table-toolbar {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 12px;
|
||||
color: #606266;
|
||||
}
|
||||
|
||||
#app .config-actions {
|
||||
position: sticky;
|
||||
bottom: 0;
|
||||
z-index: 20;
|
||||
margin: 20px 0 0;
|
||||
padding: 16px 0;
|
||||
box-shadow: 0 -6px 16px rgba(0, 0, 0, 0.03);
|
||||
background: #fff;
|
||||
border-top: 1px solid #ebeef5;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.item-button .el-button {
|
||||
#app .config-actions .el-form-item__content {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
|
||||
#app .config-actions .el-button {
|
||||
padding: 12px 25px;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
#app .therapy-config .el-card__body {
|
||||
padding: 12px 12px 0;
|
||||
}
|
||||
|
||||
#app .config-section {
|
||||
padding: 16px 14px 0;
|
||||
}
|
||||
|
||||
#app .config-time-range {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
#app .config-time-range .el-date-editor {
|
||||
flex: 1 1 100%;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/*.el-dialog__title {
|
||||
font-size: 18px; !* 修改标题字体大小 *!
|
||||
color: red; !* 修改标题字体颜色 *!
|
||||
@@ -22,37 +169,35 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava>
|
||||
<el-card shadow="never">
|
||||
<el-card shadow="never" class="therapy-config">
|
||||
<div slot="header" class="clearfix">
|
||||
<h3 style="color: var(--color-primary);font-family: Microsoft YaHei;">疗休养配置</h3>
|
||||
<span>普惠疗休养基础设置</span>
|
||||
</div>
|
||||
|
||||
<el-form ref="addForm" :model="formData" :rules="formRules" label-width="170px">
|
||||
<el-tabs v-model="activeTab" type="card">
|
||||
<el-tab-pane label="基本配置" name="baseConfig">
|
||||
<el-form ref="addForm" :model="formData" :rules="formRules" label-width="200px">
|
||||
<el-tabs v-model="activeTab">
|
||||
<el-tab-pane label="基本配置" name="baseConfig" class="config-base">
|
||||
<div class="config-section">
|
||||
<div class="config-section-title">基本信息</div>
|
||||
<el-form-item label="配置名称" prop="configName">
|
||||
<el-input v-model="formData.configName" placeholder="请输入配置名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="activityGroupId" label="参加人员范围">
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 99%">
|
||||
<div class="config-scope">
|
||||
<el-select v-model="formData.activityGroupId" placeholder="请选择参加人员范围" filterable
|
||||
clearable
|
||||
style="width: 99%">
|
||||
clearable>
|
||||
<el-option v-for="item in activityGroupList"
|
||||
:value="item.groupId"
|
||||
:key="item.groupId"
|
||||
:label="item.groupName"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div>
|
||||
<el-button @click="$refs.drawerUserScope.userScopeDialog = true" type="primary">设置</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 报名时间范围绑定配置实体的两个独立字段,保存时随 formData 一并提交到后台。 -->
|
||||
<el-form-item label="报名时间">
|
||||
<el-form-item label="报名时间" class="config-wide">
|
||||
<div class="config-time-range">
|
||||
<el-date-picker
|
||||
v-model="formData.signUpStartTime"
|
||||
type="datetime"
|
||||
@@ -60,7 +205,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
format="yyyy-MM-dd HH:mm"
|
||||
placeholder="请选择报名开始时间">
|
||||
</el-date-picker>
|
||||
<span style="display: inline-block; margin: 0 10px;">至</span>
|
||||
<span class="config-time-separator">至</span>
|
||||
<el-date-picker
|
||||
v-model="formData.signUpEndTime"
|
||||
type="datetime"
|
||||
@@ -68,10 +213,12 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
format="yyyy-MM-dd HH:mm"
|
||||
placeholder="请选择报名结束时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 选择线路时间用于控制分工会/校工会在线路选择页可选择、修改、取消选择的时间范围。 -->
|
||||
<el-form-item label="选择线路时间">
|
||||
<el-form-item label="选择线路时间" class="config-wide">
|
||||
<div class="config-time-range">
|
||||
<el-date-picker
|
||||
v-model="formData.lineSelectStartTime"
|
||||
type="datetime"
|
||||
@@ -79,7 +226,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
format="yyyy-MM-dd HH:mm"
|
||||
placeholder="请选择选择线路开始时间">
|
||||
</el-date-picker>
|
||||
<span style="display: inline-block; margin: 0 10px;">至</span>
|
||||
<span class="config-time-separator">至</span>
|
||||
<el-date-picker
|
||||
v-model="formData.lineSelectEndTime"
|
||||
type="datetime"
|
||||
@@ -87,8 +234,13 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
format="yyyy-MM-dd HH:mm"
|
||||
placeholder="请选择选择线路结束时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-section-title">报名与出行规则</div>
|
||||
<el-form-item label="省外最少成团人数(包括家属)" prop="outsideQuota">
|
||||
<el-input v-model.number="formData.outsideQuota"
|
||||
placeholder="请输入省外最少成团人数(包括家属)"></el-input>
|
||||
@@ -132,6 +284,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
v-model.number="formData.modifyNumber"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-section-title">审核规则</div>
|
||||
<el-form-item label="省内线路是否需要审核" prop="isSnLine">
|
||||
<el-radio-group v-model="formData.isSnLine">
|
||||
<el-radio-button :label="true">需要</el-radio-button>
|
||||
@@ -153,6 +309,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="config-section">
|
||||
<div class="config-section-title">名额与报名信息</div>
|
||||
<el-form-item label="全批次最多报名人数" prop="allLineSignUpNumber">
|
||||
<el-input max="100"
|
||||
placeholder="请输入全批次最多报名人数"
|
||||
@@ -179,35 +339,38 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="标段管理" name="lotManage">
|
||||
<el-form-item label="标段">
|
||||
<el-button type="primary" @click="formData.lots.push({})"
|
||||
style="float: right;">增加一条
|
||||
<el-form-item label-width="0">
|
||||
<div class="config-table-toolbar">
|
||||
<span>标段列表</span>
|
||||
<el-button type="primary" size="small" icon="el-icon-plus" @click="formData.lots.push({})">增加一条
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table :data="formData.lots" stripe style="width: 100%">
|
||||
<el-table-column prop="index" label="序号" width="180">
|
||||
<el-table-column prop="index" label="序号" width="80">
|
||||
<template slot-scope="scope">
|
||||
{{scope.$index+1}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="lotName" label="标段名称">
|
||||
<el-table-column prop="lotName" label="标段名称" min-width="200">
|
||||
<template slot-scope="{row}">
|
||||
<el-input v-model="row.lotName" placeholder="请输入标段名称"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="lotValue" label="标段值">
|
||||
<el-table-column prop="lotValue" label="标段值" min-width="160">
|
||||
<template slot-scope="{row}">
|
||||
<el-input v-model="row.lotValue" placeholder="请输入标段值"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="activityCost" label="标段费用">
|
||||
<el-table-column prop="activityCost" label="标段费用" min-width="160">
|
||||
<template slot-scope="{row}">
|
||||
<el-input v-model="row.activityCost" placeholder="请输入标段费用"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!--# if(@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('sysadmin')){ #-->
|
||||
<el-table-column prop="index" label="操作">
|
||||
<el-table-column prop="index" label="操作" width="100" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="danger" icon="el-icon-delete"
|
||||
@click="deleteLotsRow(scope)"></el-button>
|
||||
@@ -220,14 +383,14 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="分工会线路数量管理" name="unionLineNumberManage">
|
||||
<el-form-item label="分工会线路数量">
|
||||
<el-form-item label-width="0">
|
||||
<el-table :data="formData.unionLineNumberConfigs" stripe style="width: 100%">
|
||||
<el-table-column prop="index" label="序号" width="120">
|
||||
<template slot-scope="scope">
|
||||
{{scope.$index+1}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="unionId" label="分工会">
|
||||
<el-table-column prop="unionId" label="分工会" min-width="240">
|
||||
<template slot-scope="{row}">
|
||||
<el-select v-model="row.unionId" placeholder="请选择分工会" filterable clearable
|
||||
style="width: 100%">
|
||||
@@ -239,13 +402,13 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="minProvinceOutNumber" label="最少省外数量">
|
||||
<el-table-column prop="minProvinceOutNumber" label="最少省外数量" min-width="180">
|
||||
<template slot-scope="{row}">
|
||||
<el-input v-model.number="row.minProvinceOutNumber"
|
||||
placeholder="请输入最少省外数量"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="minProvinceInNumber" label="最少省内数量">
|
||||
<el-table-column prop="minProvinceInNumber" label="最少省内数量" min-width="180">
|
||||
<template slot-scope="{row}">
|
||||
<el-input v-model.number="row.minProvinceInNumber"
|
||||
placeholder="请输入最少省内数量"></el-input>
|
||||
@@ -265,15 +428,16 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="服务须知" name="serviceNotice">
|
||||
<el-form-item label="疗休养服务须知" prop="notice">
|
||||
<div class="config-section-title">疗休养服务须知</div>
|
||||
<el-form-item prop="notice" label-width="0">
|
||||
<text-editor v-model="formData.notice"></text-editor>
|
||||
</el-form-item>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
<el-form-item class="item-button">
|
||||
<el-button type="danger" @click="resetForm">重 置</el-button>
|
||||
<el-button type="primary" @click="operation" :loading="subLoading">提 交
|
||||
<el-form-item class="config-actions">
|
||||
<el-button @click="resetForm">重置</el-button>
|
||||
<el-button type="primary" @click="operation" :loading="subLoading">保存配置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -17,6 +17,9 @@ layout("/layouts/platform.html"){
|
||||
value-format="yyyy"
|
||||
></el-date-picker>
|
||||
</search-item>
|
||||
<template #actions>
|
||||
<el-button @click="resetSearch">重置</el-button>
|
||||
</template>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
@@ -115,6 +118,10 @@ layout("/layouts/platform.html"){
|
||||
"select-view": selectView
|
||||
},
|
||||
methods: {
|
||||
resetSearch() {
|
||||
this.pageForm.year = moment().format("YYYY")
|
||||
this.doSearch()
|
||||
},
|
||||
async openView(row) {
|
||||
this.$refs.selectViewRef.onOpen(row.id)
|
||||
}
|
||||
|
||||
@@ -117,6 +117,9 @@ const filterUser = {
|
||||
<el-option label="否" :value="false"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<template #actions>
|
||||
<el-button @click="resetSearch">重置</el-button>
|
||||
</template>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
@@ -200,6 +203,11 @@ const filterUser = {
|
||||
this.pageData()
|
||||
},
|
||||
|
||||
resetSearch() {
|
||||
this.resetPageForm()
|
||||
this.doSearch()
|
||||
},
|
||||
|
||||
resetPageForm() {
|
||||
this.$set(this.pageForm, "userName", null)
|
||||
this.$set(this.pageForm, "loginName", null)
|
||||
|
||||
@@ -21,6 +21,9 @@ layout("/layouts/platform.html"){
|
||||
<search-item label="项目名称">
|
||||
<el-input clearable placeholder="请输入项目名称" v-model="pageForm.name"></el-input>
|
||||
</search-item>
|
||||
<template #actions>
|
||||
<el-button @click="resetSearch">重置</el-button>
|
||||
</template>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
@@ -294,6 +297,11 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
resetSearch() {
|
||||
this.pageForm.year = moment().format("YYYY")
|
||||
this.$set(this.pageForm, "name", null)
|
||||
this.doSearch()
|
||||
},
|
||||
dropdownCommand(command) {
|
||||
const { type, data } = command
|
||||
if (type === "edit") {
|
||||
|
||||
@@ -22,6 +22,7 @@ layout("/layouts/platform.html"){
|
||||
</div>
|
||||
<div class="search-query">
|
||||
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
||||
<el-button @click="resetSearch">重置</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -120,6 +121,10 @@ layout("/layouts/platform.html"){
|
||||
"option-select": optionSelect
|
||||
},
|
||||
methods: {
|
||||
resetSearch() {
|
||||
this.$set(this.pageForm, "year", null)
|
||||
this.doSearch()
|
||||
},
|
||||
go_back() {
|
||||
this.doSearch()
|
||||
this.$refs.guava.index()
|
||||
|
||||
@@ -34,7 +34,7 @@ const optionSelect = {
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<div class="info-label">节日信息</div>
|
||||
<div class="info-value">{{ projectInfo.festival }} · {{ projectInfo.year }}年</div>
|
||||
<div class="info-value"><!--{{ projectInfo.festival }} · -->{{ projectInfo.year }}年</div>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<div class="info-label">选择时间</div>
|
||||
@@ -48,10 +48,12 @@ const optionSelect = {
|
||||
projectInfo.provideTimeEnd) }}
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
<div class="info-item">
|
||||
<div class="info-label">发放地点</div>
|
||||
<div class="info-value">{{ projectInfo.provideAddress }}</div>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
@@ -143,8 +145,15 @@ const optionSelect = {
|
||||
<div class="confirm-mobile-section">
|
||||
<div class="confirm-section-title">联系信息</div>
|
||||
<el-form :model="contactForm" ref="contactForm" :rules="contactRules" label-width="80px">
|
||||
<el-form-item label="领取方式" v-if="projectInfo.provideMode === 3">
|
||||
<el-radio-group v-model="deliveryMethod">
|
||||
<el-radio-button label="pickup">学校自提</el-radio-button>
|
||||
<el-radio-button label="mail">邮寄</el-radio-button>
|
||||
</el-radio-group>
|
||||
<div style="margin-top: 8px; padding: 8px 12px; border-radius: 6px; line-height: 1.5; background: #fff3e8; color: #9c451c">超出江浙沪不包邮,超出部分自理,具体金额联系供应商。</div>
|
||||
</el-form-item>
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="20" v-if="projectInfo.provideMode == 3">
|
||||
<el-col :span="20" v-if="projectInfo.provideMode === 3 && deliveryMethod === 'mail'">
|
||||
<el-form-item prop="receiveAddress"
|
||||
label="收货地址"
|
||||
:rules="[{ required: true, message: '请选择收货地址', trigger: 'change' }]">
|
||||
@@ -158,10 +167,10 @@ const optionSelect = {
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4" v-if="projectInfo.provideMode == 3">
|
||||
<el-col :span="4" v-if="projectInfo.provideMode === 3 && deliveryMethod === 'mail'">
|
||||
<el-button @click="openAddress" type="primary" size="small">添加地址</el-button>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="projectInfo.provideMode == 3">
|
||||
<el-col :span="24" v-if="projectInfo.provideMode === 3 && deliveryMethod === 'mail'">
|
||||
<el-form-item prop="userName" label="收货人">
|
||||
<el-input
|
||||
v-model="contactForm.userName"
|
||||
@@ -170,7 +179,7 @@ const optionSelect = {
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-col :span="24" v-if="projectInfo.provideMode !== 3 || deliveryMethod === 'mail'">
|
||||
<el-form-item prop="mobile" label="联系电话">
|
||||
<el-input
|
||||
v-model="contactForm.mobile"
|
||||
@@ -258,6 +267,7 @@ const optionSelect = {
|
||||
userSelection: [], // 用户选择的选项
|
||||
selectedRadioId: "", // 单选模式下选中的选项ID
|
||||
showConfirmDialog: false, // 确认弹窗
|
||||
deliveryMethod: "",
|
||||
isSubmitting: false, // 是否正在提交
|
||||
hasSubmittedBefore: false, // 是否之前提交过
|
||||
deadlineTime: null, // 选择截止时间
|
||||
@@ -410,6 +420,7 @@ const optionSelect = {
|
||||
this.projectId = projectId
|
||||
this.userId = userId
|
||||
|
||||
this.deliveryMethod = ""
|
||||
this.selectedRadioId = null
|
||||
this.contactForm = {
|
||||
mobile: "",
|
||||
@@ -485,7 +496,9 @@ const optionSelect = {
|
||||
// 地址回显
|
||||
if (this.projectInfo.provideMode === 3) {
|
||||
if (this.userSelection.length > 0 && this.userSelection[0].receiveAddress) {
|
||||
this.contactForm.receiveAddress = this.userSelection[0].receiveAddress
|
||||
const receiveAddress = this.userSelection[0].receiveAddress
|
||||
this.deliveryMethod = receiveAddress === "学校自提" ? "pickup" : "mail"
|
||||
this.contactForm.receiveAddress = this.deliveryMethod === "mail" ? receiveAddress : ""
|
||||
// this.contactForm.userName = this.userSelection[0].userName;
|
||||
// this.contactForm.mobile = this.userSelection[0].mobile;
|
||||
this.$set(this.contactForm, "userName", this.userSelection[0].userName)
|
||||
@@ -526,6 +539,10 @@ const optionSelect = {
|
||||
|
||||
// 执行提交
|
||||
doSubmit() {
|
||||
if (this.projectInfo.provideMode === 3 && !this.deliveryMethod) {
|
||||
this.$message.warning("请选择领取方式")
|
||||
return
|
||||
}
|
||||
// 验证手机号
|
||||
this.$refs.contactForm.validate((valid) => {
|
||||
if (!valid) {
|
||||
@@ -547,7 +564,7 @@ const optionSelect = {
|
||||
mobile: this.contactForm.mobile,
|
||||
userName: this.contactForm.userName,
|
||||
userSign: this.contactForm.userSign,
|
||||
receiveAddress: this.contactForm.receiveAddress
|
||||
receiveAddress: this.deliveryMethod === "pickup" ? "学校自提" : this.contactForm.receiveAddress
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -560,7 +577,7 @@ const optionSelect = {
|
||||
mobile: this.contactForm.mobile,
|
||||
userName: this.contactForm.userName,
|
||||
userSign: this.contactForm.userSign,
|
||||
receiveAddress: this.contactForm.receiveAddress
|
||||
receiveAddress: this.deliveryMethod === "pickup" ? "学校自提" : this.contactForm.receiveAddress
|
||||
}))
|
||||
}
|
||||
|
||||
|
||||
@@ -69,6 +69,9 @@ layout("/layouts/platform.html"){
|
||||
<dict-select v-model="pageForm.userAttribute" placeholder="请选择人员属性" @change="doSearch"
|
||||
code="USER_ATTRIBUTE"></dict-select>
|
||||
</search-item>
|
||||
<template #actions>
|
||||
<el-button @click="resetSearch">重置</el-button>
|
||||
</template>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
@@ -173,6 +176,18 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
resetSearch() {
|
||||
this.pageForm.year = new Date().getFullYear().toString()
|
||||
this.$set(this.pageForm, "welfareOptionId", null)
|
||||
this.$set(this.pageForm, "userName", null)
|
||||
this.$set(this.pageForm, "loginName", null)
|
||||
this.$set(this.pageForm, "unionId", null)
|
||||
this.$set(this.pageForm, "aidFundMemberUserType", null)
|
||||
this.$set(this.pageForm, "userAttribute", null)
|
||||
this.$set(this.pageForm, "isSelect", null)
|
||||
this.$set(this.pageForm, "unitIds", [])
|
||||
this.getWelfareList()
|
||||
},
|
||||
// 获取福利列表
|
||||
getWelfareList() {
|
||||
this.$axios.post("/platform/welfare/common/list", { year: this.pageForm.year }).then((res) => {
|
||||
|
||||
@@ -28,6 +28,9 @@ layout("/layouts/platform.html"){
|
||||
<el-option :key="item.id" :label="item.name" :value="item.id" v-for="item in unionOptions"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<template #actions>
|
||||
<el-button @click="resetSearch">重置</el-button>
|
||||
</template>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
@@ -110,6 +113,13 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
resetSearch() {
|
||||
this.pageForm.year = new Date().getFullYear().toString()
|
||||
const isBranchChairman = !this.$auth.hasRoleOr(["SYSADMIN", "SCHOOL_UNION_ADMIN", "SCHOOL_UNION_WELFARE_ADMIN"]) &&
|
||||
this.$auth.hasRoleOr(["BRANCH_UNION_CHAIRMAN"])
|
||||
this.$set(this.pageForm, "unionId", isBranchChairman ? this.$store.state.user.union.id : null)
|
||||
this.getWelfareProjectList()
|
||||
},
|
||||
remindUnSelectedPlaceholder() {
|
||||
this.$message.info("提醒未选择人员功能待开发")
|
||||
},
|
||||
|
||||
@@ -112,7 +112,15 @@ let CHOOSE_WELFARE = {
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
|
||||
<template v-if="projectInfo.provideMode===3">
|
||||
<div v-if="projectInfo.provideMode === 3 && !is_view" style="padding: 8px 16px">
|
||||
<div>领取方式</div>
|
||||
<el-radio-group v-model="deliveryMethod">
|
||||
<el-radio-button label="pickup">学校自提</el-radio-button>
|
||||
<el-radio-button label="mail">邮寄</el-radio-button>
|
||||
</el-radio-group>
|
||||
<div style="margin-top: 8px; padding: 8px; background: #fff3e8; color: #9c451c">超出江浙沪不包邮,超出部分自理,具体金额联系供应商。</div>
|
||||
</div>
|
||||
<template v-if="projectInfo.provideMode === 3 && (is_view || deliveryMethod === 'mail')">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24" v-if="!is_view">
|
||||
<el-form-item label="收货地址" prop="receiveAddress">
|
||||
@@ -202,6 +210,7 @@ let CHOOSE_WELFARE = {
|
||||
data() {
|
||||
return {
|
||||
projectInfo: {},
|
||||
deliveryMethod: "",
|
||||
addressOptions: [],
|
||||
welfareProvideMode: [],
|
||||
welfareSignMode: [],
|
||||
@@ -295,6 +304,10 @@ let CHOOSE_WELFARE = {
|
||||
}
|
||||
},
|
||||
doChoose() {
|
||||
if (this.projectInfo.provideMode === 3 && !this.deliveryMethod) {
|
||||
this.$message.warning("请选择领取方式")
|
||||
return
|
||||
}
|
||||
this.$refs["addForm"].validate(async (valid) => {
|
||||
if (valid) {
|
||||
const {
|
||||
@@ -309,7 +322,7 @@ let CHOOSE_WELFARE = {
|
||||
return
|
||||
}
|
||||
}
|
||||
if (this.formData.receiveAddress == null || this.formData.receiveAddress === "") {
|
||||
if (this.projectInfo.provideMode === 3 && this.deliveryMethod === "mail" && !this.formData.receiveAddress) {
|
||||
this.$message.warning("请填写收货地址")
|
||||
return
|
||||
}
|
||||
@@ -322,7 +335,7 @@ let CHOOSE_WELFARE = {
|
||||
welfareId: this.projectInfo.id,
|
||||
subjectId: v.subjectId,
|
||||
selectOptionId: v.id,
|
||||
receiveAddress: this.formData.receiveAddress,
|
||||
receiveAddress: this.deliveryMethod === "pickup" ? "学校自提" : this.formData.receiveAddress,
|
||||
userSign: this.formData.userSign,
|
||||
selectNum: v.selectNum
|
||||
}
|
||||
@@ -397,12 +410,19 @@ let CHOOSE_WELFARE = {
|
||||
},
|
||||
async openChoose(row) {
|
||||
await this.getProjectInfo(row.id)
|
||||
this.deliveryMethod = ""
|
||||
this.$set(this.formData, "receiveAddress", null)
|
||||
this.$set(this.formData, "addressId", null)
|
||||
this.$set(this.formData, "userName", this.$store.state.user.username)
|
||||
this.$set(this.formData, "tel", this.$store.state.user.mobile)
|
||||
|
||||
//如果已选择
|
||||
if (row.isChoose > 0) {
|
||||
this.$set(this.formData, "receiveAddress", this.userSelection[0].receiveAddress)
|
||||
const receiveAddress = this.userSelection[0].receiveAddress
|
||||
if (this.projectInfo.provideMode === 3 && receiveAddress) {
|
||||
this.deliveryMethod = receiveAddress === "学校自提" ? "pickup" : "mail"
|
||||
}
|
||||
this.$set(this.formData, "receiveAddress", this.deliveryMethod === "pickup" && !this.is_view ? null : receiveAddress)
|
||||
this.$set(this.formData, "addressId", null)
|
||||
this.$set(this.formData, "userSign", this.userSelection[0].userSign)
|
||||
} else {
|
||||
|
||||
@@ -22,6 +22,7 @@ layout("/layouts/platform.html"){
|
||||
</div>
|
||||
<div class="search-query">
|
||||
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
||||
<el-button @click="resetSearch">重置</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -120,6 +121,10 @@ layout("/layouts/platform.html"){
|
||||
"choose-welfare": CHOOSE_WELFARE
|
||||
},
|
||||
methods: {
|
||||
resetSearch() {
|
||||
this.$set(this.pageForm, "year", null)
|
||||
this.doSearch()
|
||||
},
|
||||
go_back() {
|
||||
this.doSearch()
|
||||
this.$refs.guava.index()
|
||||
|
||||
@@ -138,6 +138,9 @@ layout("/layouts/platform.html"){
|
||||
<!-- <el-option :key="item.id" :label="item.optionName" :value="item.id" v-for="item in pageFormProject"></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </search-item>-->
|
||||
<template #actions>
|
||||
<el-button @click="resetSearch">重置</el-button>
|
||||
</template>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
@@ -311,6 +314,22 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
resetSearch() {
|
||||
this.pageForm.year = new Date().getFullYear().toString()
|
||||
this.$set(this.pageForm, "userName", null)
|
||||
this.$set(this.pageForm, "loginName", null)
|
||||
this.$set(this.pageForm, "sex", null)
|
||||
this.$set(this.pageForm, "birthday", null)
|
||||
this.$set(this.pageForm, "unionId", null)
|
||||
this.$set(this.pageForm, "aidFundMemberUserType", null)
|
||||
this.$set(this.pageForm, "birthMonths", [])
|
||||
this.$set(this.pageForm, "unitIds", [])
|
||||
this.$set(this.pageForm, "personTypes", [])
|
||||
this.$set(this.pageForm, "userStates", [])
|
||||
this.$set(this.pageForm, "userAttributes", [])
|
||||
this.unitIdsChange([])
|
||||
this.getWelfareList()
|
||||
},
|
||||
// 导出名单
|
||||
openExport() {
|
||||
this.$downLoad("/platform/welfare/list/mange/exportXlsx", {
|
||||
@@ -432,6 +451,9 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
try {
|
||||
const responses = await Promise.all(unitIds.map((unitId) => this.$axios.post("/platform/sys/unit/child", { pid: unitId })))
|
||||
if (unitIds !== this.pageForm.unitIds) {
|
||||
return
|
||||
}
|
||||
const failedResponse = responses.find((res) => res.code !== 0)
|
||||
if (failedResponse) {
|
||||
this.$message.error(failedResponse.msg || "三级单位查询失败")
|
||||
|
||||
@@ -255,7 +255,7 @@ layout("/layouts/platform_h5.html"){
|
||||
<van-empty description="暂无数据" v-else></van-empty>
|
||||
</van-action-sheet>-->
|
||||
|
||||
<van-field
|
||||
<!-- <van-field
|
||||
v-model="formData.certifierUserName"
|
||||
name="certifierUserName"
|
||||
label="证明人"
|
||||
@@ -288,7 +288,7 @@ layout("/layouts/platform_h5.html"){
|
||||
</template>
|
||||
</div>
|
||||
<van-empty description="暂无数据" v-else></van-empty>
|
||||
</van-action-sheet>
|
||||
</van-action-sheet> -->
|
||||
|
||||
<van-field
|
||||
v-model="formData.typeName"
|
||||
@@ -322,7 +322,7 @@ layout("/layouts/platform_h5.html"){
|
||||
name="money"
|
||||
label="慰问金额"
|
||||
required
|
||||
:rules="[{ required: true }]"
|
||||
:rules="[{ required: true, message: '请填写慰问金额' }, { validator: validateMoney, message: '慰问金额须大于0且不超过10000元,最多两位小数' }]"
|
||||
placeholder="选择慰问类型自动匹配金额"
|
||||
clickable
|
||||
type="number"
|
||||
@@ -353,17 +353,19 @@ layout("/layouts/platform_h5.html"){
|
||||
</van-popup>
|
||||
|
||||
<van-field
|
||||
v-if="!['A', 'D'].includes(formData.typeCode)"
|
||||
v-model="formData.bankCardNumber"
|
||||
label="收款账户"
|
||||
maxlength="20"
|
||||
maxlength="30"
|
||||
clearable
|
||||
name="bankCardNumber"
|
||||
placeholder="请填写收款账户"
|
||||
:rules="[{ required: true }]"
|
||||
placeholder="请填写银行卡号或对公账户号"
|
||||
:rules="[{ required: true, message: '请填写银行卡号或对公账户号' }, { pattern: /^[0-9]{6,30}$/, message: '收款账户须为6至30位数字(银行卡号或对公账户号)' }]"
|
||||
required
|
||||
></van-field>
|
||||
|
||||
<van-field
|
||||
v-if="!['A', 'D'].includes(formData.typeCode)"
|
||||
v-model="formData.bankUserName"
|
||||
label="户名"
|
||||
placeholder="请填写户名"
|
||||
@@ -373,12 +375,10 @@ layout("/layouts/platform_h5.html"){
|
||||
name="bankUserName"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-if="!['A', 'D'].includes(formData.typeCode)"
|
||||
v-model="formData.bankOfDeposit"
|
||||
label="开户行"
|
||||
maxlength="30"
|
||||
type="textarea"
|
||||
rows="4"
|
||||
autosize
|
||||
maxlength="20"
|
||||
placeholder="请填写开户行"
|
||||
:rules="[{ required: true }]"
|
||||
required
|
||||
@@ -433,8 +433,8 @@ layout("/layouts/platform_h5.html"){
|
||||
></van-datetime-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field type="digit" label="当年第几次住院"
|
||||
:rules="[{ required: true }]"
|
||||
<van-field type="digit" label="当年第几次住院" name="thisYearHospitalizationNum"
|
||||
:rules="[{ required: true }, { validator: value => /^[0-9]+$/.test(String(value)) && Number(value) <= 10000, message: '住院次数须为0至10000的整数' }]"
|
||||
required
|
||||
placeholder="请输入当年第几次住院"
|
||||
v-model="formData.thisYearHospitalizationNum"></van-field>
|
||||
@@ -443,6 +443,7 @@ layout("/layouts/platform_h5.html"){
|
||||
<van-field
|
||||
v-model="formData.remark"
|
||||
name="remark"
|
||||
maxlength="500"
|
||||
label="申请事由"
|
||||
type="textarea"
|
||||
rows="4"
|
||||
@@ -460,15 +461,18 @@ layout("/layouts/platform_h5.html"){
|
||||
{{ '附件说明:' + chooseType.uploadFileDesc }}
|
||||
</div>
|
||||
<van-cell-group :border="false">
|
||||
<van-field class="direction-column-field" name="avatar" label="">
|
||||
<van-field class="direction-column-field" name="files" label="附件" required
|
||||
:rules="[{ validator: () => Array.isArray(formData.files) && formData.files.length > 0 && formData.files.length <= 5, message: '请上传1至5个附件' }]">
|
||||
<template #input>
|
||||
<h5-file-upload
|
||||
slot="input"
|
||||
:value.sync="formData.files"
|
||||
:upload_number="5"
|
||||
upload_text="上传附件"
|
||||
upload_result_category="array"
|
||||
complete_result
|
||||
></h5-file-upload>
|
||||
<div class="condolence-card__desc">最多上传 5 个文件</div>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
@@ -477,7 +481,8 @@ layout("/layouts/platform_h5.html"){
|
||||
<section class="form-section">
|
||||
<h2 class="condolence-card__title">签字确认</h2>
|
||||
<van-cell-group :border="false">
|
||||
<van-field class="direction-column-field" name="signature" label="">
|
||||
<van-field class="direction-column-field" name="signature" label="" :value="formData.signature"
|
||||
:rules="[{ required: true, message: '请填写签字' }]">
|
||||
<template #input>
|
||||
<h5-signature v-model="formData.signature" slot="input"></h5-signature>
|
||||
</template>
|
||||
@@ -532,6 +537,9 @@ layout("/layouts/platform_h5.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
validateMoney(value) {
|
||||
return /^(0|[1-9][0-9]*)(\.[0-9]{1,2})?$/.test(String(value)) && Number(value) > 0 && Number(value) <= 10000
|
||||
},
|
||||
// 选择出院时间
|
||||
showLeaveHospitalTimePickerClick() {
|
||||
if (this.formData.leaveHospitalTime) {
|
||||
|
||||
@@ -158,19 +158,44 @@
|
||||
}
|
||||
|
||||
.condolence-info-long-cell {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.condolence-info-card .condolence-attachments .empty-container {
|
||||
height: auto;
|
||||
justify-content: flex-start;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.condolence-info-card .condolence-attachments .empty-text {
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
.condolence-info-opinion > :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.condolence-info-opinion > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.condolence-signature-image,
|
||||
.condolence-approval-signature-image {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.condolence-info-long-cell .van-cell__title {
|
||||
width: auto;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
height: 80px;
|
||||
}
|
||||
|
||||
.condolence-info-long-cell .van-cell__value {
|
||||
margin-top: 7px;
|
||||
.condolence-signature-image .van-image__img,
|
||||
.condolence-approval-signature-image {
|
||||
object-fit: contain;
|
||||
object-position: left center;
|
||||
}
|
||||
|
||||
.condolence-signature-image {
|
||||
display: block;
|
||||
.condolence-info-opinion img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@@ -25,13 +25,13 @@ const condolenceInfo = {
|
||||
<van-cell title="申请人单位">{{ viewData.applyUnitName || '--' }}</van-cell>
|
||||
<van-cell title="申请人工会">{{ viewData.applyUnionName || '--' }}</van-cell>
|
||||
<van-cell title="慰问对象">{{ viewData.helpUserName || '--' }}</van-cell>
|
||||
<van-cell title="证明人">{{ viewData.certifierUserName || '--' }}</van-cell>
|
||||
<!-- <van-cell title="证明人">{{ viewData.certifierUserName || '--' }}</van-cell> -->
|
||||
<van-cell title="慰问类型">{{ viewData.typeName || '--' }}</van-cell>
|
||||
<van-cell title="慰问金额">{{ viewData.money || '--' }}</van-cell>
|
||||
<van-cell title="慰问时间">{{ viewData.occurTime || '--' }}</van-cell>
|
||||
<van-cell title="收款账户">{{ viewData.bankCardNumber || '--' }}</van-cell>
|
||||
<van-cell title="户名">{{ viewData.bankUserName || '--' }}</van-cell>
|
||||
<van-cell class="condolence-info-long-cell" title="开户行">
|
||||
<van-cell title="开户行">
|
||||
{{ viewData.bankOfDeposit || '暂无' }}
|
||||
</van-cell>
|
||||
<template v-if="['2'].includes(viewData.typeCode)">
|
||||
@@ -39,17 +39,18 @@ const condolenceInfo = {
|
||||
<van-cell title="出院时间">{{ viewData.leaveHospitalTime || '--' }}</van-cell>
|
||||
<van-cell title="当年第几次住院(次)">{{ viewData.thisYearHospitalizationNum || '--' }}</van-cell>
|
||||
</template>
|
||||
<van-cell class="condolence-info-long-cell" title="申请事由">
|
||||
<van-cell title="申请事由">
|
||||
{{ viewData.remark || '暂无' }}
|
||||
</van-cell>
|
||||
<van-cell class="condolence-info-long-cell" title="附件">
|
||||
<file-preview :files="viewData.files" complete_result></file-preview>
|
||||
<file-preview class="condolence-attachments" :files="viewData.files" complete_result></file-preview>
|
||||
</van-cell>
|
||||
<van-cell class="condolence-info-long-cell" title="签字">
|
||||
<van-image
|
||||
v-if="viewData.signature"
|
||||
:src="viewData.signature"
|
||||
class="condolence-signature-image"
|
||||
fit="contain"
|
||||
></van-image>
|
||||
<span v-else>暂无签字</span>
|
||||
</van-cell>
|
||||
@@ -61,7 +62,7 @@ const condolenceInfo = {
|
||||
:key="task.id || index"
|
||||
class="condolence-info-card"
|
||||
>
|
||||
<h2 class="condolence-info-card__title">{{ task.displayName || '办理记录' }}</h2>
|
||||
<h2 class="condolence-info-card__title">{{ ({'分工会审核':'一级审核','校工会预审':'二级审核','校工会审核':'三级审核'}[task.displayName] || task.displayName) || '办理记录' }}</h2>
|
||||
<van-cell-group :border="false" v-if="task.ext && task.ext.isFirstTaskNode">
|
||||
<van-cell title="申请用户">
|
||||
{{ task.ext.initiatorName || '--' }}({{ task.ext.initiatorAccount || '--' }})
|
||||
@@ -85,8 +86,11 @@ const condolenceInfo = {
|
||||
:value="task.ext && task.ext.submitType"
|
||||
></dict-tag>
|
||||
</van-cell>
|
||||
<van-cell class="condolence-info-long-cell" title="办理意见">
|
||||
<div v-html="task.taskFormData && task.taskFormData.tf_opinion || '暂无'"></div>
|
||||
<van-cell v-if="task.taskFormData && task.taskFormData.sign" title="审批签字">
|
||||
<img :src="task.taskFormData.sign" class="condolence-approval-signature-image">
|
||||
</van-cell>
|
||||
<van-cell title="办理意见">
|
||||
<div class="condolence-info-opinion" v-html="task.taskFormData && task.taskFormData.tf_opinion || '暂无'"></div>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</section>
|
||||
|
||||
+2
-2
@@ -55,7 +55,7 @@ layout("/layouts/platform_h5.html"){
|
||||
|
||||
<div id="app">
|
||||
<div class="condolence-list-page">
|
||||
<van-nav-bar title="分工会审核" left-text="返回" left-arrow @click-left="historyBack" fixed placeholder></van-nav-bar>
|
||||
<van-nav-bar title="一级审核" left-text="返回" left-arrow @click-left="historyBack" fixed placeholder></van-nav-bar>
|
||||
|
||||
<van-sticky offset-top="46px">
|
||||
<div class="condolence-list-sticky">
|
||||
@@ -84,7 +84,7 @@ layout("/layouts/platform_h5.html"){
|
||||
<van-skeleton title :row="5" animated></van-skeleton>
|
||||
</div>
|
||||
</div>
|
||||
<table-list api="/platform/condolence/branchUnionApproval/pageData" :page_form.sync="pageForm" ref="tableListRef"
|
||||
<table-list api="/platform/condolence/firstApproval/pageData" :page_form.sync="pageForm" ref="tableListRef"
|
||||
v-show="!skeletonLoading" :show_loading_overlay="false" @ready="onReady"
|
||||
@loading-change="handleListLoadingChange">
|
||||
<template #header="{index,row}">
|
||||
+2
-2
@@ -55,7 +55,7 @@ layout("/layouts/platform_h5.html"){
|
||||
|
||||
<div id="app">
|
||||
<div class="condolence-list-page">
|
||||
<van-nav-bar title="校工会预审" left-text="返回" left-arrow @click-left="historyBack" fixed placeholder></van-nav-bar>
|
||||
<van-nav-bar title="二级审核" left-text="返回" left-arrow @click-left="historyBack" fixed placeholder></van-nav-bar>
|
||||
|
||||
<van-sticky offset-top="46px">
|
||||
<div class="condolence-list-sticky">
|
||||
@@ -84,7 +84,7 @@ layout("/layouts/platform_h5.html"){
|
||||
<van-skeleton title :row="5" animated></van-skeleton>
|
||||
</div>
|
||||
</div>
|
||||
<table-list api="/platform/condolence/schoolPrincipalApproval/pageData" :page_form.sync="pageForm" ref="tableListRef"
|
||||
<table-list api="/platform/condolence/secondApproval/pageData" :page_form.sync="pageForm" ref="tableListRef"
|
||||
v-show="!skeletonLoading" :show_loading_overlay="false" @ready="onReady"
|
||||
@loading-change="handleListLoadingChange">
|
||||
<template #header="{index,row}">
|
||||
+2
-2
@@ -55,7 +55,7 @@ layout("/layouts/platform_h5.html"){
|
||||
|
||||
<div id="app">
|
||||
<div class="condolence-list-page">
|
||||
<van-nav-bar title="校工会审核" left-text="返回" left-arrow @click-left="historyBack" fixed placeholder></van-nav-bar>
|
||||
<van-nav-bar title="三级审核" left-text="返回" left-arrow @click-left="historyBack" fixed placeholder></van-nav-bar>
|
||||
|
||||
<van-sticky offset-top="46px">
|
||||
<div class="condolence-list-sticky">
|
||||
@@ -84,7 +84,7 @@ layout("/layouts/platform_h5.html"){
|
||||
<van-skeleton title :row="5" animated></van-skeleton>
|
||||
</div>
|
||||
</div>
|
||||
<table-list api="/platform/condolence/schoolUnionApproval/pageData" :page_form.sync="pageForm" ref="tableListRef"
|
||||
<table-list api="/platform/condolence/thirdApproval/pageData" :page_form.sync="pageForm" ref="tableListRef"
|
||||
v-show="!skeletonLoading" :show_loading_overlay="false" @ready="onReady"
|
||||
@loading-change="handleListLoadingChange">
|
||||
<template #header="{index,row}">
|
||||
+28
-4
@@ -94,6 +94,22 @@ layout("/layouts/platform_h5.html"){
|
||||
color: #f06464;
|
||||
}
|
||||
|
||||
.difficult-help-apply-form .difficult-help-apply-mode {
|
||||
flex-wrap: nowrap;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.difficult-help-apply-form .difficult-help-apply-mode .van-radio {
|
||||
flex-shrink: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.difficult-help-apply-form .difficult-help-apply-mode .van-radio__label {
|
||||
margin-left: 4px;
|
||||
font-size: 12px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.difficult-help-apply-actions {
|
||||
position: fixed;
|
||||
z-index: 100;
|
||||
@@ -308,10 +324,10 @@ layout("/layouts/platform_h5.html"){
|
||||
required name="proxyLoginName"></van-field>
|
||||
<van-field label="申请模式" name="mode" required :rules="[{ required: true }]">
|
||||
<template #input>
|
||||
<van-radio-group v-model="formData.mode" @change="modeChange" direction="horizontal">
|
||||
<van-radio-group class="difficult-help-apply-mode" :value="formData.mode" @input="formData.mode !== $event && modeChange($event)" direction="horizontal" icon-size="14px">
|
||||
<van-radio name="1" shape="square">本人申请</van-radio>
|
||||
<van-radio
|
||||
v-if="$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN, BRANCH_UNION_CHAIRMAN, BRANCH_UNION_OPERATOR')"
|
||||
v-if="canApplyForOthers"
|
||||
name="2" shape="square">替他人申请
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
@@ -707,11 +723,16 @@ layout("/layouts/platform_h5.html"){
|
||||
return false;
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
canApplyForOthers() {
|
||||
return this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN, BRANCH_UNION_CHAIRMAN, BRANCH_UNION_OPERATOR')
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
historyBack,
|
||||
// 替他人申请时由只读字段主动打开受助人选择,已有业务数据时保持原禁止更换规则。
|
||||
openRecipientPopup() {
|
||||
if (this.formData.mode !== "2" || this.formData.id) return
|
||||
if (this.formData.mode !== "2" || this.formData.id || !this.canApplyForOthers) return
|
||||
this.$set(this, "recipientSearchKey", "")
|
||||
this.$set(this, "recipientHasSearched", false)
|
||||
this.$set(this, "subsidizedList", [])
|
||||
@@ -975,7 +996,7 @@ layout("/layouts/platform_h5.html"){
|
||||
* recipientSearchKey 传搜索关键词;接口返回用户数组,列表仅展示姓名和单位。
|
||||
*/
|
||||
queryRecipients() {
|
||||
if (this.formData.mode !== "2") {
|
||||
if (this.formData.mode !== "2" || !this.canApplyForOthers) {
|
||||
return
|
||||
}
|
||||
const key = (this.recipientSearchKey || "").trim()
|
||||
@@ -1024,6 +1045,7 @@ layout("/layouts/platform_h5.html"){
|
||||
this.$set(this.formData, "userName", null)
|
||||
this.$set(this.formData, "loginName", null)
|
||||
this.$set(this.formData, "sex", null)
|
||||
this.$set(this.formData, "birthday", null)
|
||||
this.$set(this.formData, "unitId", null)
|
||||
this.$set(this.formData, "unitName", null)
|
||||
this.$set(this.formData, "unionId", null)
|
||||
@@ -1088,6 +1110,8 @@ layout("/layouts/platform_h5.html"){
|
||||
this.$set(this.formData, 'idCard', user.idCard)
|
||||
this.$set(this.formData, 'mobile', user.mobile)
|
||||
this.$set(this.formData, 'homeAddress', user.homeAddress)
|
||||
this.$set(this.formData, 'position', user.position || '')
|
||||
this.$set(this.formData, 'officialCapacity', user.professionalTitle || '')
|
||||
this.$set(this.formData, 'subsidyStandards', null)
|
||||
this.$set(this.formData, 'reason', null)
|
||||
this.$set(this.formData, 'remarks', null)
|
||||
|
||||
+4
-12
@@ -167,11 +167,11 @@
|
||||
}
|
||||
|
||||
.difficult-help-info-card .van-cell__title {
|
||||
width: 112px;
|
||||
width: 102px;
|
||||
color: #596779;
|
||||
font-size: 12px;
|
||||
line-height: 24px;
|
||||
flex: 0 0 112px;
|
||||
flex: 0 0 102px;
|
||||
}
|
||||
|
||||
.difficult-help-info-card .van-cell__value {
|
||||
@@ -184,16 +184,8 @@
|
||||
}
|
||||
|
||||
.difficult-help-info-long-cell {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.difficult-help-info-long-cell .van-cell__title {
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.difficult-help-info-long-cell .van-cell__value {
|
||||
margin-top: 7px;
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.difficult-help-info-pre-line {
|
||||
|
||||
@@ -165,11 +165,11 @@ const INFO = {
|
||||
:class="{'difficult-help-info-card': fullScreen}"
|
||||
>
|
||||
<h2 v-if="fullScreen" class="difficult-help-info-card__title">
|
||||
{{ task.displayName || '办理记录' }}
|
||||
{{ ({'分工会审核':'一级审核','二级党组织审核':'二级审核','校工会审核':'三级审核'}[task.displayName] || task.displayName) || '办理记录' }}
|
||||
</h2>
|
||||
<van-cell-group
|
||||
v-if="task.ext && task.ext.isFirstTaskNode"
|
||||
:title="fullScreen ? '' : task.displayName"
|
||||
:title="fullScreen ? '' : ({'分工会审核':'一级审核','二级党组织审核':'二级审核','校工会审核':'三级审核'}[task.displayName] || task.displayName)"
|
||||
:border="!fullScreen"
|
||||
>
|
||||
<van-cell title="申请用户">
|
||||
@@ -183,7 +183,7 @@ const INFO = {
|
||||
></dict-tag>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
<van-cell-group v-else :title="fullScreen ? '' : task.displayName" :border="!fullScreen">
|
||||
<van-cell-group v-else :title="fullScreen ? '' : ({'分工会审核':'一级审核','二级党组织审核':'二级审核','校工会审核':'三级审核'}[task.displayName] || task.displayName)" :border="!fullScreen">
|
||||
<van-cell title="办理用户">
|
||||
{{ task.taskFormData && task.taskFormData.userName || '--' }}{{ task.taskFormData && task.taskFormData.loginName ? '(' + task.taskFormData.loginName + ')' : '' }}
|
||||
</van-cell>
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ layout("/layouts/platform_h5.html"){
|
||||
</style>
|
||||
<div id="app">
|
||||
<div class="difficult-help-approval-page">
|
||||
<van-nav-bar title="帮扶分工会审核" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
|
||||
<van-nav-bar title="一级审核" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
|
||||
<van-sticky offset-top="46px">
|
||||
<div class="difficult-help-approval-sticky">
|
||||
<van-search
|
||||
@@ -61,7 +61,7 @@ layout("/layouts/platform_h5.html"){
|
||||
<van-skeleton title :row="5" animated></van-skeleton>
|
||||
</div>
|
||||
</div>
|
||||
<table-list api="/platform/difficultHelp/branchUnionApproval/pageData" :page_form.sync="pageForm" ref="tableListRef" title="userName"
|
||||
<table-list api="/platform/difficultHelp/firstApproval/pageData" :page_form.sync="pageForm" ref="tableListRef" title="userName"
|
||||
v-show="!skeletonLoading" :show_loading_overlay="false" @ready="onReady"
|
||||
@loading-change="handleListLoadingChange">
|
||||
<template #header="{index,row}">
|
||||
@@ -318,7 +318,7 @@ layout("/layouts/platform_h5.html"){
|
||||
</style>
|
||||
<div id="app">
|
||||
<div class="difficult-help-list-page">
|
||||
<van-nav-bar title="帮扶申请记录" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
|
||||
<van-nav-bar title="我的申请" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
|
||||
<van-sticky offset-top="46px">
|
||||
<div class="difficult-help-list-sticky">
|
||||
<van-search
|
||||
@@ -388,16 +388,16 @@ layout("/layouts/platform_h5.html"){
|
||||
<van-icon name="eye-o"></van-icon>
|
||||
<span>查看</span>
|
||||
</div>
|
||||
<div class="action-btn" v-if="row.taskKey === 'startTask' || !row.instanceId"
|
||||
<div class="action-btn" v-if="row.createdBy === $store.state.user.id && (row.taskKey === 'startTask' || !row.instanceId)"
|
||||
@click="onEdit(row)">
|
||||
<van-icon name="edit"></van-icon>
|
||||
<span>编辑</span>
|
||||
</div>
|
||||
<div class="action-btn delete" v-if="row.canRevoke" @click="onRevoke(row)">
|
||||
<div class="action-btn delete" v-if="row.createdBy === $store.state.user.id && row.canRevoke" @click="onRevoke(row)">
|
||||
<van-icon name="revoke"></van-icon>
|
||||
<span>撤回</span>
|
||||
</div>
|
||||
<div class="action-btn delete" v-if="row.taskKey === 'startTask' || !row.instanceId"
|
||||
<div class="action-btn delete" v-if="row.createdBy === $store.state.user.id && (row.taskKey === 'startTask' || !row.instanceId)"
|
||||
@click="onDelete(row.id)">
|
||||
<van-icon name="delete-o"></van-icon>
|
||||
<span>删除</span>
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ layout("/layouts/platform_h5.html"){
|
||||
</style>
|
||||
<div id="app">
|
||||
<div class="difficult-help-approval-page">
|
||||
<van-nav-bar title="帮扶二级党组织审核" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
|
||||
<van-nav-bar title="二级审核" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
|
||||
<van-sticky offset-top="46px">
|
||||
<div class="difficult-help-approval-sticky">
|
||||
<van-search
|
||||
@@ -61,7 +61,7 @@ layout("/layouts/platform_h5.html"){
|
||||
<van-skeleton title :row="5" animated></van-skeleton>
|
||||
</div>
|
||||
</div>
|
||||
<table-list api="/platform/difficultHelp/unionLeaderApproval/pageData" :page_form.sync="pageForm" ref="tableListRef" title="userName"
|
||||
<table-list api="/platform/difficultHelp/secondApproval/pageData" :page_form.sync="pageForm" ref="tableListRef" title="userName"
|
||||
v-show="!skeletonLoading" :show_loading_overlay="false" @ready="onReady"
|
||||
@loading-change="handleListLoadingChange">
|
||||
<template #header="{index,row}">
|
||||
+3
-3
@@ -9,7 +9,7 @@ layout("/layouts/platform_h5.html"){
|
||||
</style>
|
||||
<div id="app">
|
||||
<div class="difficult-help-approval-page">
|
||||
<van-nav-bar title="帮扶校工会审核" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
|
||||
<van-nav-bar title="三级审核" left-text="返回" left-arrow @click-left="historyBack" placeholder fixed></van-nav-bar>
|
||||
<van-sticky offset-top="46px">
|
||||
<div class="difficult-help-approval-sticky">
|
||||
<van-search
|
||||
@@ -61,7 +61,7 @@ layout("/layouts/platform_h5.html"){
|
||||
<van-skeleton title :row="5" animated></van-skeleton>
|
||||
</div>
|
||||
</div>
|
||||
<table-list api="/platform/difficultHelp/schoolUnionApproval/pageData" :page_form.sync="pageForm" ref="tableListRef" title="userName"
|
||||
<table-list api="/platform/difficultHelp/thirdApproval/pageData" :page_form.sync="pageForm" ref="tableListRef" title="userName"
|
||||
v-show="!skeletonLoading" :show_loading_overlay="false" @ready="onReady"
|
||||
@loading-change="handleListLoadingChange">
|
||||
<template #header="{index,row}">
|
||||
@@ -328,7 +328,7 @@ layout("/layouts/platform_h5.html"){
|
||||
// 先保存级别和金额,再提交 processTaskId、审批意见及流程提交类型。
|
||||
submitTaskAction() {
|
||||
this.$set(this, "formLoading", true)
|
||||
this.$axios.post("/platform/difficultHelp/schoolUnionApproval/save", {
|
||||
this.$axios.post("/platform/difficultHelp/thirdApproval/save", {
|
||||
data: JSON.stringify({...this.formData})
|
||||
})
|
||||
.then((saveRes) => {
|
||||
@@ -174,7 +174,7 @@ layout("/layouts/platform_h5.html"){
|
||||
display: flex;
|
||||
min-width: 0;
|
||||
margin-top: 10px;
|
||||
padding-top: 2px;
|
||||
padding-top: 10px;
|
||||
align-items: center;
|
||||
border-top: 1px solid #edf1f6;
|
||||
}
|
||||
@@ -194,18 +194,22 @@ layout("/layouts/platform_h5.html"){
|
||||
}
|
||||
|
||||
.welfare-list-card__choices .welfare-inline-selection {
|
||||
width: 82px;
|
||||
min-width: 82px;
|
||||
min-height: 112px;
|
||||
padding: 8px 0;
|
||||
flex: 0 0 clamp(82px, 31%, 112px);
|
||||
min-width: 0;
|
||||
padding: 0;
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
border-bottom: 0;
|
||||
overflow: hidden;
|
||||
border: 0;
|
||||
border-radius: 8px;
|
||||
background: #edf4fc;
|
||||
}
|
||||
|
||||
.welfare-list-card__choices .welfare-inline-selection__image {
|
||||
width: 82px;
|
||||
height: 64px;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
aspect-ratio: 4 / 3;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
@@ -223,19 +227,22 @@ layout("/layouts/platform_h5.html"){
|
||||
}
|
||||
|
||||
.welfare-list-card__choices .welfare-inline-selection__image--name span {
|
||||
display: -webkit-box;
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.welfare-list-card__choices .welfare-inline-selection__content {
|
||||
margin-top: 6px;
|
||||
width: 100%;
|
||||
padding: 3px 6px;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.welfare-list-card__choices .welfare-inline-selection__name {
|
||||
font-weight: 400;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
.welfare-list-card__choices .welfare-inline-selection__meta {
|
||||
@@ -486,7 +493,7 @@ layout("/layouts/platform_h5.html"){
|
||||
.welfare-inline-selection__name {
|
||||
overflow: hidden;
|
||||
color: #263548;
|
||||
font-size: 14px;
|
||||
font-size: 12px;
|
||||
line-height: 21px;
|
||||
font-weight: 600;
|
||||
text-overflow: ellipsis;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -227,8 +227,16 @@ layout("/layouts/platform_h5.html"){
|
||||
></van-card>
|
||||
</van-cell>
|
||||
|
||||
<div v-if="projectInfo.provideMode === 3" style="padding: 8px 16px">
|
||||
<div>领取方式</div>
|
||||
<van-radio-group v-model="deliveryMethod" direction="horizontal">
|
||||
<van-radio name="pickup">学校自提</van-radio>
|
||||
<van-radio name="mail">邮寄</van-radio>
|
||||
</van-radio-group>
|
||||
<div style="margin-top: 8px; padding: 8px; background: #fff3e8; color: #9c451c">超出江浙沪不包邮,超出部分自理,具体金额联系供应商。</div>
|
||||
</div>
|
||||
<!--邮寄到家 填写收货地址-->
|
||||
<van-cell @click="selectAddressPopup = true" class="confirmWelfareCell" is-link v-if="projectInfo.provideMode===3">
|
||||
<van-cell @click="selectAddressPopup = true" class="confirmWelfareCell" is-link v-if="projectInfo.provideMode === 3 && deliveryMethod === 'mail'">
|
||||
<van-icon class="van-cell__left-icon" color="red" name="info" slot="icon"></van-icon>
|
||||
<div slot="title" style="font-weight: bold; font-size: 15px">收货地址</div>
|
||||
<template #label>
|
||||
@@ -287,6 +295,7 @@ layout("/layouts/platform_h5.html"){
|
||||
descPopup: false,
|
||||
confirmPopup: false,
|
||||
selectAddressPopup: false,
|
||||
deliveryMethod: "",
|
||||
selectAddress: null,
|
||||
addressList: [],
|
||||
userSign: ""
|
||||
@@ -427,7 +436,11 @@ layout("/layouts/platform_h5.html"){
|
||||
|
||||
//回显用户的地址
|
||||
if (this.projectInfo.provideMode === 3 && this.isSelect && this.userSelection) {
|
||||
this.selectAddress = this.userSelection[0].receiveAddress
|
||||
const receiveAddress = this.userSelection[0].receiveAddress
|
||||
if (receiveAddress) {
|
||||
this.deliveryMethod = receiveAddress === "学校自提" ? "pickup" : "mail"
|
||||
}
|
||||
this.selectAddress = this.deliveryMethod === "mail" ? receiveAddress : null
|
||||
}
|
||||
|
||||
//回显用户签名
|
||||
@@ -466,8 +479,12 @@ layout("/layouts/platform_h5.html"){
|
||||
},
|
||||
//提交选择
|
||||
async submitSelect() {
|
||||
if (this.projectInfo.provideMode === 3 && !this.deliveryMethod) {
|
||||
this.$toast("请选择领取方式")
|
||||
return
|
||||
}
|
||||
if (this.projectInfo.provideMode === 3) {
|
||||
if (this.selectAddress == null || this.selectAddress === "") {
|
||||
if (this.deliveryMethod === "mail" && !this.selectAddress) {
|
||||
this.$toast("请填写您的收货地址")
|
||||
return
|
||||
}
|
||||
@@ -491,7 +508,7 @@ layout("/layouts/platform_h5.html"){
|
||||
welfareId: this.projectInfo.id,
|
||||
subjectId: v.subjectId,
|
||||
selectOptionId: v.id,
|
||||
receiveAddress: this.selectAddress,
|
||||
receiveAddress: this.deliveryMethod === "pickup" ? "学校自提" : this.selectAddress,
|
||||
selectNum: v.selectNum,
|
||||
userSign: this.userSign
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user