更改
This commit is contained in:
+2
-2
@@ -156,7 +156,7 @@ public class ActivityApplyController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!ShiroUtil.hasAnyRoles("H04,gh08,sysadmin")) {
|
if (!ShiroUtil.hasAnyRoles("gh01,H04,gh08,sysadmin")) {
|
||||||
cnd.and(new Static("JSON_CONTAINS(school.applyWay,JSON_ARRAY( 1))>0"));
|
cnd.and(new Static("JSON_CONTAINS(school.applyWay,JSON_ARRAY( 1))>0"));
|
||||||
cnd.and(new Static("(SELECT COUNT(1) FROM activity_user_scope WHERE groupId=school.activityGroupId AND userId='%s') >0".formatted(ShiroUtil.getUserId())));
|
cnd.and(new Static("(SELECT COUNT(1) FROM activity_user_scope WHERE groupId=school.activityGroupId AND userId='%s') >0".formatted(ShiroUtil.getUserId())));
|
||||||
}
|
}
|
||||||
@@ -649,7 +649,7 @@ public class ActivityApplyController {
|
|||||||
""").setParam("unionId", getUnionId()).setParam("userId", ShiroUtil.getUserId());
|
""").setParam("unionId", getUnionId()).setParam("userId", ShiroUtil.getUserId());
|
||||||
|
|
||||||
|
|
||||||
if (!ShiroUtil.hasAnyRoles("H04,sysadmin")) {
|
if (!ShiroUtil.hasAnyRoles("gh01,H04,sysadmin")) {
|
||||||
cnd.where().andLike("school.applyWay ", "1");
|
cnd.where().andLike("school.applyWay ", "1");
|
||||||
cnd.and(new Static("(SELECT COUNT(1) FROM activity_user_scope WHERE groupId=school.activityGroupId AND userId='%s') >0".formatted(ShiroUtil.getUserId())));
|
cnd.and(new Static("(SELECT COUNT(1) FROM activity_user_scope WHERE groupId=school.activityGroupId AND userId='%s') >0".formatted(ShiroUtil.getUserId())));
|
||||||
|
|
||||||
|
|||||||
@@ -33,8 +33,10 @@ public class SysActivityUnitListener implements SysCommonDataChange {
|
|||||||
case UPDATE -> {
|
case UPDATE -> {
|
||||||
Sys_unit sys_unit = dao.fetch(Sys_unit.class, bizId);
|
Sys_unit sys_unit = dao.fetch(Sys_unit.class, bizId);
|
||||||
ActivityBasicUnit basicUnit = dao.fetch(ActivityBasicUnit.class, Cnd.where("id", "=", sys_unit.getId()));
|
ActivityBasicUnit basicUnit = dao.fetch(ActivityBasicUnit.class, Cnd.where("id", "=", sys_unit.getId()));
|
||||||
BeanUtil.copyProperties(sys_unit, basicUnit, "id");
|
if(basicUnit != null) {
|
||||||
dao.update(basicUnit);
|
BeanUtil.copyProperties(sys_unit, basicUnit, "id");
|
||||||
|
dao.update(basicUnit);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
case DELETE -> {
|
case DELETE -> {
|
||||||
dao.clear(ActivityBasicUnit.class, Cnd.where("id", "=", bizId));
|
dao.clear(ActivityBasicUnit.class, Cnd.where("id", "=", bizId));
|
||||||
|
|||||||
@@ -346,130 +346,14 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
|
|||||||
private void checkMemberOrWelfareMember(SourceChangeConfig config, UserSource source, Sys_user user,
|
private void checkMemberOrWelfareMember(SourceChangeConfig config, UserSource source, Sys_user user,
|
||||||
List<String> addMemberUserIds, List<String> deleteMemberUserIds,
|
List<String> addMemberUserIds, List<String> deleteMemberUserIds,
|
||||||
List<String> addWelfareMemberUserIds, List<String> deleteWelfareMemberUserIds){
|
List<String> addWelfareMemberUserIds, List<String> deleteWelfareMemberUserIds){
|
||||||
if (config == null || config.getMemberSiftList() == null) {
|
if (StrUtil.isBlank(source.getUserState())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
config.getMemberSiftList().forEach(memberSift -> {
|
if (user != null && ObjectUtil.equals(user.getMember(), 1) && List.of("退休", "离职", "辞职").contains(source.getUserState())) {
|
||||||
String siftName = memberSift.getSiftName();
|
deleteMemberUserIds.add(user.getId());
|
||||||
Object siftValue = memberSift.getSiftValue();
|
deleteWelfareMemberUserIds.add(user.getId());
|
||||||
boolean shouldAdd = false;
|
|
||||||
boolean shouldRemove = false;
|
|
||||||
|
|
||||||
// 提前检查 userState 条件(如果存在)
|
|
||||||
boolean userStateConditionMet = true;
|
|
||||||
if ("userState".equals(siftName)) {
|
|
||||||
userStateConditionMet = checkListCondition(siftValue, source, "userState");
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (siftName) {
|
|
||||||
case "userState":
|
|
||||||
// 如果 userState 不满足条件,则直接设置 shouldRemove
|
|
||||||
shouldAdd = userStateConditionMet;
|
|
||||||
shouldRemove = !shouldAdd && user != null && user.getMember() == 1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "personType":
|
|
||||||
// 检查 personType 条件
|
|
||||||
// 必须同时满足 userState 和 personType 条件
|
|
||||||
shouldAdd = checkListCondition(siftValue, source, "personType");
|
|
||||||
shouldRemove = !shouldAdd && user != null && user.getMember() == 1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "loginNameStart":
|
|
||||||
case "loginNameEnd":
|
|
||||||
shouldAdd = checkLoginNameCondition(siftValue, source, siftName);
|
|
||||||
shouldRemove = !shouldAdd && user != null && user.getMember() == 1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "userQuery":
|
|
||||||
shouldAdd = checkUserQueryCondition(siftValue, user);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (shouldAdd) {
|
|
||||||
addUserToMemberList(user, source, addMemberUserIds);
|
|
||||||
source.setMember(1);
|
|
||||||
} else if (shouldRemove) {
|
|
||||||
deleteMemberUserIds.add(user.getId());
|
|
||||||
source.setMember(0);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (config.getWelfareMemberSiftList() == null) {
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
config.getWelfareMemberSiftList().forEach(welfareMember -> {
|
|
||||||
String siftName = welfareMember.getSiftName();
|
|
||||||
Object siftValue = welfareMember.getSiftValue();
|
|
||||||
boolean shouldAdd = false;
|
|
||||||
boolean shouldRemove = false;
|
|
||||||
|
|
||||||
// 提前检查 userState 条件(如果存在)
|
|
||||||
boolean userStateConditionMet = true;
|
|
||||||
if ("userState".equals(siftName) && siftValue instanceof List<?>) {
|
|
||||||
List<String> userStateList = (List<String>) siftValue;
|
|
||||||
userStateConditionMet = source != null && source.getUserState() != null && userStateList.contains(source.getUserState());
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (siftName) {
|
|
||||||
case "member":
|
|
||||||
if ((user != null && addMemberUserIds.contains(user.getId())) || addMemberUserIds.contains(source.getId())) {
|
|
||||||
shouldAdd = true;
|
|
||||||
} else {
|
|
||||||
shouldRemove = true;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "userState":
|
|
||||||
shouldAdd = userStateConditionMet;
|
|
||||||
shouldRemove = !shouldAdd && user != null && user.getMember() == 1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "personType":
|
|
||||||
if (siftValue instanceof List<?> && source != null && source.getPersonType() != null) {
|
|
||||||
List<String> personTypeList = (List<String>) siftValue;
|
|
||||||
// 必须同时满足 userState 和 personType 条件
|
|
||||||
shouldAdd = personTypeList.contains(source.getPersonType());
|
|
||||||
shouldRemove = !shouldAdd && user != null && user.getMember() == 1;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "loginNameStart":
|
|
||||||
if (siftValue instanceof String loginNameStart && source != null && source.getLoginname() != null) {
|
|
||||||
shouldAdd = source.getLoginname().startsWith(loginNameStart);
|
|
||||||
shouldRemove = !shouldAdd && user != null && user.getMember() == 1;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "loginNameEnd":
|
|
||||||
if (siftValue instanceof String loginNameEnd && source != null && source.getLoginname() != null) {
|
|
||||||
shouldAdd = source.getLoginname().endsWith(loginNameEnd);
|
|
||||||
shouldRemove = !shouldAdd && user != null && user.getMember() == 1;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "userQuery":
|
|
||||||
if (siftValue instanceof List<?> && user != null) {
|
|
||||||
List<String> userIds = (List<String>) siftValue;
|
|
||||||
shouldAdd = userIds.contains(user.getId()) && user.getMember() != 1;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (shouldAdd) {
|
|
||||||
if (user == null) {
|
|
||||||
addWelfareMemberUserIds.add(source.getId());
|
|
||||||
} else if (user.getMember() != 1) {
|
|
||||||
addWelfareMemberUserIds.add(user.getId());
|
|
||||||
}
|
|
||||||
source.setWelfareMember(1);
|
|
||||||
} else if (shouldRemove && user != null) {
|
|
||||||
deleteWelfareMemberUserIds.add(user.getId());
|
|
||||||
source.setWelfareMember(0);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 提取公共方法
|
// 提取公共方法
|
||||||
@@ -584,9 +468,11 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
|
|||||||
history.setId(R.UU32());
|
history.setId(R.UU32());
|
||||||
history.setChangeTime(DateUtil.date());
|
history.setChangeTime(DateUtil.date());
|
||||||
history.setChangeOrigin(MemberChangeOrigin.SYSTEM.name());
|
history.setChangeOrigin(MemberChangeOrigin.SYSTEM.name());
|
||||||
|
// 新入职教职工
|
||||||
if (user == null) {
|
if (user == null) {
|
||||||
changeTypes.add(MemberChangeType.NEW.getType());
|
changeTypes.add(MemberChangeType.NEW.getType());
|
||||||
history.setChangeTypes(RESIGN_AND_OUT_WORK.contains(source.getUserState()) ? null : changeTypes);
|
history.setChangeTypes(RESIGN_AND_OUT_WORK.contains(source.getUserState()) ? null : changeTypes);
|
||||||
|
history.setChangeInfosStr("新入职");
|
||||||
return history;
|
return history;
|
||||||
}
|
}
|
||||||
// 获取变更记录
|
// 获取变更记录
|
||||||
@@ -595,6 +481,7 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
|
|||||||
if (StrUtil.isBlank(newMap.getString("member"))) {
|
if (StrUtil.isBlank(newMap.getString("member"))) {
|
||||||
sourceMap.put("member", null);
|
sourceMap.put("member", null);
|
||||||
}
|
}
|
||||||
|
// 变更记录
|
||||||
List<NutMap> changeList = new ArrayList<>();
|
List<NutMap> changeList = new ArrayList<>();
|
||||||
for (String fieldName : allowChangeFieldNames) {
|
for (String fieldName : allowChangeFieldNames) {
|
||||||
if (List.of("retireDate", "welfareStopDate", "personalStatus").contains(fieldName)) {
|
if (List.of("retireDate", "welfareStopDate", "personalStatus").contains(fieldName)) {
|
||||||
@@ -687,9 +574,9 @@ public class SourceUserServiceImpl extends ViServiceImpl<UserSource> implements
|
|||||||
private void deleteMemberUser(List<String> deleteMemberUserIds, Boolean isDeleteMemberActivityScope){
|
private void deleteMemberUser(List<String> deleteMemberUserIds, Boolean isDeleteMemberActivityScope){
|
||||||
if (Lang.isNotEmpty(deleteMemberUserIds)) {
|
if (Lang.isNotEmpty(deleteMemberUserIds)) {
|
||||||
dao().clear(Sys_user_role.class, Cnd.where("userId", "in", deleteMemberUserIds).and("roleId", "=", Roles.MEMBER));
|
dao().clear(Sys_user_role.class, Cnd.where("userId", "in", deleteMemberUserIds).and("roleId", "=", Roles.MEMBER));
|
||||||
if (isDeleteMemberActivityScope) {
|
/* if (isDeleteMemberActivityScope) {
|
||||||
dao().clear(ActivityUserScope.class, Cnd.where("userId", "in", deleteMemberUserIds).and("groupId", "=", 1));
|
dao().clear(ActivityUserScope.class, Cnd.where("userId", "in", deleteMemberUserIds).and("groupId", "=", 1));
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,8 +33,10 @@ public class ProposalUnderTakeListener implements SysCommonDataChange {
|
|||||||
case UPDATE -> {
|
case UPDATE -> {
|
||||||
Sys_unit sys_unit = dao.fetch(Sys_unit.class, bizId);
|
Sys_unit sys_unit = dao.fetch(Sys_unit.class, bizId);
|
||||||
ProposalUndertake undertake = dao.fetch(ProposalUndertake.class, Cnd.where("unitCode", "=", sys_unit.getUnitcode()));
|
ProposalUndertake undertake = dao.fetch(ProposalUndertake.class, Cnd.where("unitCode", "=", sys_unit.getUnitcode()));
|
||||||
undertake.setUnitName(sys_unit.getName());
|
if(undertake != null) {
|
||||||
dao.updateIgnoreNull(undertake);
|
undertake.setUnitName(sys_unit.getName());
|
||||||
|
dao.updateIgnoreNull(undertake);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
case DELETE -> {
|
case DELETE -> {
|
||||||
dao.clear(ProposalUndertake.class, Cnd.where("id", "=", bizId));
|
dao.clear(ProposalUndertake.class, Cnd.where("id", "=", bizId));
|
||||||
|
|||||||
@@ -57,6 +57,12 @@ public class QsvSubject extends BaseModel {
|
|||||||
@ColDefine(type = ColType.INT, width = 1)
|
@ColDefine(type = ColType.INT, width = 1)
|
||||||
private Integer maxMulti;
|
private Integer maxMulti;
|
||||||
|
|
||||||
|
@Column
|
||||||
|
@Comment("多选,最少选几个")
|
||||||
|
@ColDefine(type = ColType.INT, width = 1)
|
||||||
|
@Default(value = "1")
|
||||||
|
private Integer minMulti;
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
@Comment("排序")
|
@Comment("排序")
|
||||||
@ColDefine(type = ColType.INT, width = 1)
|
@ColDefine(type = ColType.INT, width = 1)
|
||||||
|
|||||||
+6
-6
@@ -178,14 +178,14 @@ public class TrainSignUpActivityStatisticsController {
|
|||||||
});
|
});
|
||||||
|
|
||||||
List<ExcelExportEntity> excelCommonExportEntity = new ArrayList<>();
|
List<ExcelExportEntity> excelCommonExportEntity = new ArrayList<>();
|
||||||
excelCommonExportEntity.add(new ExcelExportEntity("姓名", "username", 20));
|
excelCommonExportEntity.add(new ExcelExportEntity("姓名", "username", 10));
|
||||||
excelCommonExportEntity.add(new ExcelExportEntity("工号", "loginname", 20));
|
excelCommonExportEntity.add(new ExcelExportEntity("工号", "loginname", 20));
|
||||||
excelCommonExportEntity.add(new ExcelExportEntity("单位", "unitname", 20));
|
excelCommonExportEntity.add(new ExcelExportEntity("单位", "unitname", 30));
|
||||||
excelCommonExportEntity.add(new ExcelExportEntity("分工会", "unionname", 20));
|
excelCommonExportEntity.add(new ExcelExportEntity("分工会", "unionname", 30));
|
||||||
excelCommonExportEntity.add(new ExcelExportEntity("性别", "sex", 20));
|
excelCommonExportEntity.add(new ExcelExportEntity("性别", "sex", 10));
|
||||||
excelCommonExportEntity.add(new ExcelExportEntity("手机号", "mobile", 20));
|
excelCommonExportEntity.add(new ExcelExportEntity("手机号", "mobile", 20));
|
||||||
excelCommonExportEntity.add(new ExcelExportEntity("报名时间", "signUpTime", 20));
|
excelCommonExportEntity.add(new ExcelExportEntity("报名时间", "signUpTime", 30));
|
||||||
//excelCommonExportEntity.add(new ExcelExportEntity("报名时段", "courseTime", 20));
|
excelCommonExportEntity.add(new ExcelExportEntity("报名时段", "courseTime", 30));
|
||||||
// excelCommonExportEntity.add(new ExcelExportEntity("生日", "birthday", 20));
|
// excelCommonExportEntity.add(new ExcelExportEntity("生日", "birthday", 20));
|
||||||
excelCommonExportEntity.add(new ExcelExportEntity("报名状态", "stateName", 20));
|
excelCommonExportEntity.add(new ExcelExportEntity("报名状态", "stateName", 20));
|
||||||
|
|
||||||
|
|||||||
@@ -145,4 +145,9 @@ public class TrainSignUpCourse extends BaseModel implements Serializable {
|
|||||||
|
|
||||||
|
|
||||||
private String courseTimeName;
|
private String courseTimeName;
|
||||||
|
|
||||||
|
@Column
|
||||||
|
@Comment("二维码")
|
||||||
|
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||||
|
private String classQrCode;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,6 +122,7 @@ layout("/mobile/platform.html"){
|
|||||||
v-model="subject.userSelectOptionIds"
|
v-model="subject.userSelectOptionIds"
|
||||||
:ref="'subject'+subject.id"
|
:ref="'subject'+subject.id"
|
||||||
:max="subject.maxMulti ? subject.maxMulti : 0"
|
:max="subject.maxMulti ? subject.maxMulti : 0"
|
||||||
|
:min="subject.minMulti ? subject.minMulti : 0"
|
||||||
v-if="['radio','checkbox'].includes(subject.type)"
|
v-if="['radio','checkbox'].includes(subject.type)"
|
||||||
>
|
>
|
||||||
<van-cell-group>
|
<van-cell-group>
|
||||||
@@ -304,10 +305,15 @@ layout("/mobile/platform.html"){
|
|||||||
for (let i = 0; i < this.subjects.length; i++) {
|
for (let i = 0; i < this.subjects.length; i++) {
|
||||||
const subject = this.subjects[i]
|
const subject = this.subjects[i]
|
||||||
if (["radio", "checkbox"].includes(subject.type)) {
|
if (["radio", "checkbox"].includes(subject.type)) {
|
||||||
|
console.log(subject)
|
||||||
if (!subject.userSelectOptionIds || subject.userSelectOptionIds.length === 0) {
|
if (!subject.userSelectOptionIds || subject.userSelectOptionIds.length === 0) {
|
||||||
this.$toast.fail("第" + (i + 1) + "题未做答")
|
this.$toast.fail("第" + (i + 1) + "题未做答")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if(subject.minMulti && subject.userSelectOptionIds.length < subject.minMulti) {
|
||||||
|
this.$toast.fail("第" + (i + 1) + "题最少需要选择" + subject.minMulti + "项")
|
||||||
|
return
|
||||||
|
}
|
||||||
} else if ("text" === subject.type) {
|
} else if ("text" === subject.type) {
|
||||||
if (!subject.userFillContent) {
|
if (!subject.userFillContent) {
|
||||||
this.$toast.fail("第" + (i + 1) + "题未作答")
|
this.$toast.fail("第" + (i + 1) + "题未作答")
|
||||||
@@ -315,6 +321,7 @@ layout("/mobile/platform.html"){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.autoSubmit()
|
this.autoSubmit()
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -226,8 +226,8 @@ layout("/mobile/platform.html"){
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<div>
|
<div>
|
||||||
<span @click.stop="showPic(FILE_DOMAIN + '/fileStreamPreview?id=' + tableData.wechat.id)"
|
<span @click.stop="showPic(FILE_DOMAIN + '/fileStreamPreview?id=' + o.classQrCode)"
|
||||||
v-if="o.isSign === true && tableData.wechat"
|
v-if="o.isSign === true && o.classQrCode"
|
||||||
style="color: #dd6363">点我查看微信群二维码</span>
|
style="color: #dd6363">点我查看微信群二维码</span>
|
||||||
</div>
|
</div>
|
||||||
<van-button type="primary" color="#1867b0" round size="mini"
|
<van-button type="primary" color="#1867b0" round size="mini"
|
||||||
|
|||||||
@@ -166,9 +166,9 @@ layout("/mobile/platform.html"){
|
|||||||
温馨提醒
|
温馨提醒
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div>1.本次慰问品共2种套餐,教职工可任选其中1种套餐快递(分2个快递发货),快递地址仅限江浙沪(江苏,浙江,上海)。</div>
|
<div>1.本次慰问品共3种套餐,教职工可任选其中1种套餐快递(1个快递发货),快递地址仅限江浙沪(江苏,浙江,上海)。</div>
|
||||||
<div>2.快递预计于9月29日前投递完成(<label style="font-weight: bold; color: darkred">套餐1内苹果礼盒于11月底前快递到家</label>),请保持联系电话畅通并及时接听。</div>
|
<div>2.快递预计于2026年1月10日前投递完成,请保持联系电话畅通并及时接听。</div>
|
||||||
<div>3.填写截止时间:9月10日10点。</div>
|
<div>3.填写截止时间:12月16日12点,没有在规定时间内选套餐的默认套餐二,并统一快递瓯江囗校区自取。</div>
|
||||||
</div>
|
</div>
|
||||||
</van-cell>
|
</van-cell>
|
||||||
</van-cell-group>
|
</van-cell-group>
|
||||||
@@ -258,7 +258,7 @@ layout("/mobile/platform.html"){
|
|||||||
备注:{{option.simpleDesc}}
|
备注:{{option.simpleDesc}}
|
||||||
</div>
|
</div>
|
||||||
<div style="position: absolute;right: 10px;bottom: -10px;left: 0;display: flex;justify-content: space-between">
|
<div style="position: absolute;right: 10px;bottom: -10px;left: 0;display: flex;justify-content: space-between">
|
||||||
<div style="width: 70px;font-size: 13px;color: #918a8a;text-align: right;"
|
<div style="width: 70px;font-size: 13px;color: #1867b0;text-align: right;"
|
||||||
@click="openViewDesc(option.description)">
|
@click="openViewDesc(option.description)">
|
||||||
套餐详情
|
套餐详情
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -358,7 +358,7 @@ layout("/layouts/platform.html"){
|
|||||||
type="primary"
|
type="primary"
|
||||||
v-if="row.applyWay.includes(2)">项目报名
|
v-if="row.applyWay.includes(2)">项目报名
|
||||||
</el-button>
|
</el-button>
|
||||||
<!--#if(@shiro.hasRole('sysadmin')||@shiro.hasRole('H04')||@shiro.hasRole('gh08')){#-->
|
<!--#if(@shiro.hasRole('sysadmin')||@shiro.hasRole('H04')||@shiro.hasRole('gh08')||@shiro.hasRole('gh01')){#-->
|
||||||
<el-button :loading="row.loading" @click="doDelete(row)"
|
<el-button :loading="row.loading" @click="doDelete(row)"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="danger">删除报名人员
|
type="danger">删除报名人员
|
||||||
|
|||||||
@@ -42,6 +42,10 @@ const subjectForm = {
|
|||||||
<!-- </el-option>-->
|
<!-- </el-option>-->
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div v-if="subject.type === 'checkbox'">
|
||||||
|
最小选择数:<el-input v-model="subject.minMulti" placeholder="最少可选数量" style="width: 200px"></el-input>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div v-if="subject.type === 'checkbox'">
|
<div v-if="subject.type === 'checkbox'">
|
||||||
最大选择数:<el-input v-model="subject.maxMulti" placeholder="最多可选数量" style="width: 200px"></el-input>
|
最大选择数:<el-input v-model="subject.maxMulti" placeholder="最多可选数量" style="width: 200px"></el-input>
|
||||||
|
|||||||
@@ -55,8 +55,8 @@ layout("/layouts/platform.html"){
|
|||||||
notice: false,
|
notice: false,
|
||||||
isIntegral: false,
|
isIntegral: false,
|
||||||
courseList: [
|
courseList: [
|
||||||
{courseName: '1', courseTimeList: [], isMobileSign: false, isReceiveGift: false, reserveMode: 1},
|
{courseName: '1', courseTimeList: [], isMobileSign: false, isReceiveGift: false, reserveMode: 1, classQrCode: ''},
|
||||||
{courseName: '2', courseTimeList: [], isMobileSign: false, isReceiveGift: false, reserveMode: 1}
|
{courseName: '2', courseTimeList: [], isMobileSign: false, isReceiveGift: false, reserveMode: 1, classQrCode: ''}
|
||||||
],
|
],
|
||||||
conditionStructure: {
|
conditionStructure: {
|
||||||
method: "AND",
|
method: "AND",
|
||||||
@@ -162,7 +162,7 @@ layout("/layouts/platform.html"){
|
|||||||
},
|
},
|
||||||
//添加培训班
|
//添加培训班
|
||||||
addCourse() {
|
addCourse() {
|
||||||
this.formData.courseList.push({courseTimeList: [], isMobileSign: false, isReceiveGift: false, reserveMode: 1, courseIsLimitApply: false})
|
this.formData.courseList.push({courseTimeList: [], isMobileSign: false, isReceiveGift: false, reserveMode: 1, courseIsLimitApply: false, classQrCode: ''})
|
||||||
},
|
},
|
||||||
//删除培训班
|
//删除培训班
|
||||||
async removeTableCourse(index) {
|
async removeTableCourse(index) {
|
||||||
|
|||||||
@@ -294,7 +294,7 @@ layout("/layouts/platform.html"){
|
|||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<el-button v-if="row.courseList && row.courseList.length == 1" type="text" style="padding: 0">
|
<el-button v-if="row.courseList && row.courseList.length == 1" type="text" style="padding: 0">
|
||||||
{{moment(row.courseList[0].courseStartTime).format('MM-DD HH:mm')}}至{{moment(row.courseList[0].courseStartTime).format('MM-DD HH:mm')}}
|
{{moment(row.courseList[0].courseStartTime).format('MM-DD HH:mm')}}至{{moment(row.courseList[0].courseEndTime).format('MM-DD HH:mm')}}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-else style="padding: 0" @click="openViewCourseTime(row)" type="text">
|
<el-button v-else style="padding: 0" @click="openViewCourseTime(row)" type="text">
|
||||||
点击查看{{trainType}}时间
|
点击查看{{trainType}}时间
|
||||||
|
|||||||
@@ -611,6 +611,17 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="50" type="flex">
|
||||||
|
<el-col :span="4">
|
||||||
|
<span>二维码</span>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="20">
|
||||||
|
<image-Upload :height="100" :width="100" :limit="1" :file-type="['png', 'jpg']" :file-size="1"
|
||||||
|
:key="moreInfoIndex"
|
||||||
|
v-model="formData.courseList[moreInfoIndex].classQrCode"></image-Upload>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
</el-drawer>
|
</el-drawer>
|
||||||
|
|
||||||
<drawer-user-scope
|
<drawer-user-scope
|
||||||
|
|||||||
@@ -157,13 +157,13 @@ layout("/layouts/platform.html"){
|
|||||||
|
|
||||||
<template #edit>
|
<template #edit>
|
||||||
<vi-title title="温馨提醒"></vi-title>
|
<vi-title title="温馨提醒"></vi-title>
|
||||||
<el-alert title="1.本次慰问品共2种套餐,教职工可任选其中1种套餐快递(分2个快递发货),快递地址仅限江浙沪(江苏,浙江,上海)。" type="warning" effect="dark"></el-alert>
|
<el-alert title="1.本次慰问品共3种套餐,教职工可任选其中1种套餐快递(1个快递发货),快递地址仅限江浙沪(江苏,浙江,上海)。" type="warning" effect="dark"></el-alert>
|
||||||
<el-alert type="warning" effect="dark">
|
<el-alert type="warning" effect="dark">
|
||||||
<template #title>
|
<template #title>
|
||||||
<span>2.快递预计于9月29日前投递完成(<label style="font-weight: bold; color: darkred">套餐1内苹果礼盒于11月底前快递到家</label>),请保持联系电话畅通并及时接听。</span>
|
<span>2.快递预计于2026年1月10日前投递完成,请保持联系电话畅通并及时接听。</span>
|
||||||
</template>
|
</template>
|
||||||
</el-alert>
|
</el-alert>
|
||||||
<el-alert title="3.填写截止时间:9月10日10点。" type="warning" effect="dark"></el-alert>
|
<el-alert title="3.填写截止时间:12月16日12点,没有在规定时间内选套餐的默认套餐二,并统一快递至瓯江囗校区自取。" type="warning" effect="dark"></el-alert>
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<el-form :model="formData" label-width="120px" ref="addForm">
|
<el-form :model="formData" label-width="120px" ref="addForm">
|
||||||
<el-form-item label="福利名称">
|
<el-form-item label="福利名称">
|
||||||
|
|||||||
Reference in New Issue
Block a user