commit
This commit is contained in:
+12
-13
@@ -21,10 +21,7 @@ import io.v.nutz.base.utils.ViTool;
|
||||
import io.v.nutz.sys.models.SysHoliday;
|
||||
import io.v.nutz.sys.models.User;
|
||||
import io.v.nutz.web.commons.utils.ShiroUtil;
|
||||
import io.v.nutz.zhgh.therapyRecuperation.model.TheRapyRecuperationBaseManagement;
|
||||
import io.v.nutz.zhgh.therapyRecuperation.model.TheRapyRecuperationEnroll;
|
||||
import io.v.nutz.zhgh.therapyRecuperation.model.TheRapyRecuperationLot;
|
||||
import io.v.nutz.zhgh.therapyRecuperation.model.TheRapyRecuperationTravelAgency;
|
||||
import io.v.nutz.zhgh.therapyRecuperation.model.*;
|
||||
import io.v.nutz.zhgh.therapyRecuperation.service.baseManage.TheRapyRecuperationBaseManagerService;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.shiro.authz.annotation.Logical;
|
||||
@@ -286,9 +283,11 @@ public class TheRapyRecuperationBaseManagerController {
|
||||
if (StrUtil.isBlank(id)) {
|
||||
return Result.error("参数错误");
|
||||
}
|
||||
|
||||
TheRapyRecuperationConfig config = dao.fetch(TheRapyRecuperationConfig.class, Cnd.NEW());
|
||||
//获取线路对应的标段
|
||||
TheRapyRecuperationBaseManagement management = dao.fetch(TheRapyRecuperationBaseManagement.class, id);
|
||||
TheRapyRecuperationLot lot = dao.fetch(TheRapyRecuperationLot.class, management.getLotId());
|
||||
//TheRapyRecuperationLot lot = dao.fetch(TheRapyRecuperationLot.class, management.getLotId());
|
||||
|
||||
//获取当年的节假日
|
||||
List<SysHoliday> holidayList = dao.query(SysHoliday.class, Cnd.where("year(day)", "=", DateUtil.thisYear()).asc("day"));
|
||||
@@ -307,8 +306,8 @@ public class TheRapyRecuperationBaseManagerController {
|
||||
|
||||
// 解析日期
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
LocalDate startDate = LocalDate.parse(DateUtil.formatDate(management.getActivityStartTime()), formatter);
|
||||
LocalDate endDate = LocalDate.parse(DateUtil.formatDate(management.getActivityEndTime()), formatter);
|
||||
LocalDate startDate = LocalDate.parse(DateUtil.formatDate(config.getFragmentPlayStartTime()), formatter);
|
||||
LocalDate endDate = LocalDate.parse(DateUtil.formatDate(config.getFragmentPlayEndTime()), formatter);
|
||||
|
||||
//现在的日期
|
||||
LocalDate now = LocalDate.parse(DateUtil.today(), formatter);
|
||||
@@ -324,10 +323,10 @@ public class TheRapyRecuperationBaseManagerController {
|
||||
while (!currentDate.isAfter(endDate)) {
|
||||
// 检查是否为节假日
|
||||
String currentDateString = currentDate.format(formatter);
|
||||
if (holidays.contains(currentDateString) && lot.getFilterHolidays()) {
|
||||
/*if (holidays.contains(currentDateString) && lot.getFilterHolidays()) {
|
||||
currentDate = currentDate.plusDays(1);
|
||||
continue;
|
||||
}
|
||||
}*/
|
||||
// 检查是否为需要排除的周几
|
||||
int dayOfWeek = currentDate.getDayOfWeek().getValue() % 7; // 1是周一,7是周日
|
||||
if (Lang.isNotEmpty(weeks) && !weeks.contains(dayOfWeek)) {
|
||||
@@ -341,12 +340,12 @@ public class TheRapyRecuperationBaseManagerController {
|
||||
|
||||
Sql schoolTimeSql = Sqls.create("select schoolTime from sys_user where id=@id").setParam("id", ShiroUtil.getPlatformUid());
|
||||
String schoolTime = (String) Daos.query(dao, schoolTimeSql.toString(), Sqls.callback.str());
|
||||
String minDate = DateUtil.formatDate(management.getActivityStartTime());
|
||||
String minDate = DateUtil.formatDate(config.getFragmentPlayStartTime());
|
||||
//如果入职日期在活动开始时间之后的
|
||||
try {
|
||||
if (StrUtil.isNotBlank(schoolTime)
|
||||
&& String.valueOf(DateUtil.thisYear() - 1).equals(DateUtil.format(DateUtil.parse(schoolTime), "yyyy"))
|
||||
&& DateUtil.compare(DateUtil.parse(schoolTime), management.getActivityStartTime(), "MM") > 0) {
|
||||
&& DateUtil.compare(DateUtil.parse(schoolTime), config.getFragmentPlayStartTime(), "MM") > 0) {
|
||||
minDate = DateUtil.format(DateUtil.offset(DateUtil.parse(schoolTime), DateField.YEAR, 1), "yyyy-MM-dd");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
@@ -355,9 +354,9 @@ public class TheRapyRecuperationBaseManagerController {
|
||||
|
||||
return Map.of("days", resultDates,
|
||||
"holidays", holidays,
|
||||
"lotValue", lot.getLotValue(),
|
||||
"lotValue", 0,
|
||||
"minDate", minDate,
|
||||
"maxDate", DateUtil.formatDate(management.getActivityEndTime()));
|
||||
"maxDate", DateUtil.formatDate(config.getFragmentPlayEndTime()));
|
||||
}
|
||||
|
||||
|
||||
|
||||
+8
-6
@@ -329,22 +329,24 @@ public class TheRapyRecuperationEnrollController {
|
||||
public Object canDelete(String id) {
|
||||
TheRapyRecuperationEnroll enroll = dao.fetch(TheRapyRecuperationEnroll.class, id);
|
||||
|
||||
//如果成团了,不能取消
|
||||
if(enroll.getHasLocked()) {
|
||||
return Result.error("当前报名已经成团不能取消");
|
||||
}
|
||||
|
||||
TheRapyRecuperationConfig config = dao.fetch(TheRapyRecuperationConfig.class, Cnd.NEW());
|
||||
Date changeEndTime = null;
|
||||
|
||||
if (StrUtil.isNotBlank(enroll.getTakePartInLineId())) {
|
||||
TheRapyRecuperationLineUnionSelect lineUnionSelect = dao.fetch(TheRapyRecuperationLineUnionSelect.class, enroll.getTakePartInLineId());
|
||||
changeEndTime = lineUnionSelect.getChangeEndTime();
|
||||
changeEndTime = config.getImplodeEndTime();
|
||||
} else if (StrUtil.isNotBlank(enroll.getTakePartInTravelAgencyId())) {
|
||||
return null;
|
||||
} else if (StrUtil.isNotBlank(enroll.getTakePartInBaseManagementId())) {
|
||||
TheRapyRecuperationBaseManagement baseManagement = dao.fetch(TheRapyRecuperationBaseManagement.class, enroll.getTakePartInBaseManagementId());
|
||||
changeEndTime = baseManagement.getChangeEndTime();
|
||||
changeEndTime = config.getFragmentEndTime();
|
||||
}
|
||||
|
||||
if (DateUtil.compare(new Date(), changeEndTime) > 0) {
|
||||
return Result.error("抱歉,当前时间已经不能取消");
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
+5
@@ -159,4 +159,9 @@ public class TheRapyRecuperationBaseManagement {
|
||||
|
||||
@One(field = "travelAgencyId")
|
||||
private TheRapyRecuperationTravelAgency travelAgency;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
@Comment("天数")
|
||||
private List<Double> allowDay;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.v.nutz.zhgh.therapyRecuperation.model;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import io.v.nutz.sys.models.Sys_file;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
@@ -113,4 +114,50 @@ public class TheRapyRecuperationConfig {
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
@Comment("承诺书")
|
||||
private List<Sys_file> files;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.INT)
|
||||
@Comment("常规团最少成团人数")
|
||||
private Integer conventionalCount;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.INT)
|
||||
@Comment("精品团最少成团人数")
|
||||
private Integer boutiqueCount;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.INT)
|
||||
@Comment("分段式最少成团人数")
|
||||
private Integer fragmentCount;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
@Comment("集中疗休养报名开始时间")
|
||||
private DateTime implodeStartTime;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
@Comment("集中疗休养报名结束时间")
|
||||
private DateTime implodeEndTime;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
@Comment("分段疗休养报名开始时间")
|
||||
private DateTime fragmentStartTime;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
@Comment("分段疗休养报名结束时间")
|
||||
private DateTime fragmentEndTime;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
@Comment("分段疗休养活动开始时间")
|
||||
private DateTime fragmentPlayStartTime;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
@Comment("分段疗休养活动结束时间")
|
||||
private DateTime fragmentPlayEndTime;
|
||||
|
||||
}
|
||||
|
||||
@@ -218,5 +218,10 @@ public class TheRapyRecuperationEnroll extends BaseModel {
|
||||
@Comment("是否被锁定了,如果被锁定了就不能取消报名了")
|
||||
private Boolean hasLocked;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.INT)
|
||||
@Comment("报酒店时选择的出行天数")
|
||||
private Double playDay;
|
||||
|
||||
private String firstLetter;
|
||||
}
|
||||
|
||||
+74
-113
@@ -1,5 +1,6 @@
|
||||
package io.v.nutz.zhgh.therapyRecuperation.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.pinyin.PinyinUtil;
|
||||
@@ -517,50 +518,40 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl<TheRapyR
|
||||
return Map.of(false, "抱歉,您不在报名范围内!");
|
||||
}
|
||||
|
||||
//判断报名时间
|
||||
Map<Boolean, String> validTime = this.validSignTime(enrollInfo);
|
||||
if (validTime != null && validTime.containsKey(false)) {
|
||||
return validTime;
|
||||
}
|
||||
|
||||
//每年旅行频率
|
||||
Integer travelFrequency = config.getTravelFrequency();
|
||||
//省外几年去一次
|
||||
Integer outsideNumber = config.getOutsideNumber();
|
||||
//可以修改几次
|
||||
Integer modifyNumber = config.getModifyNumber();
|
||||
//省外最多报名人数
|
||||
Integer allLineSignUpNumber = config.getAllLineSignUpNumber();
|
||||
//省内起始年份
|
||||
Integer provinceStartYear = config.getProvinceStartYear();
|
||||
//活动范围
|
||||
Integer activityGroupId = config.getActivityGroupId();
|
||||
|
||||
//如果报酒店
|
||||
if (StrUtil.isNotBlank(enrollInfo.getTakePartInBaseManagementId()) && StrUtil.isBlank(enrollInfo.getId()) && enrollInfo.isNormal()) {
|
||||
Map<Boolean, String> oneYear = this.validCountOneYear(loginName, travelFrequency);
|
||||
if (oneYear != null) {
|
||||
return oneYear;
|
||||
}
|
||||
//先判断有没有报过
|
||||
Map<Boolean, String> thisYearCount = this.validCountThisYear(loginName, travelFrequency);
|
||||
if (thisYearCount != null && thisYearCount.containsKey(false)) {
|
||||
return thisYearCount;
|
||||
}
|
||||
|
||||
Date signUpStartTime = null;
|
||||
Date signUpEndTime = null;
|
||||
Date changeEndTime = null;
|
||||
//如果报酒店,酒店可以一年报2次
|
||||
if (StrUtil.isNotBlank(enrollInfo.getTakePartInBaseManagementId()) && StrUtil.isBlank(enrollInfo.getId())) {
|
||||
Map<Boolean, String> validResult = this.validBaseManagementCount(loginName, enrollInfo);
|
||||
if(validResult != null && validResult.containsKey(false)) {
|
||||
return validResult;
|
||||
}
|
||||
}
|
||||
|
||||
if (StrUtil.isNotBlank(enrollInfo.getTakePartInLineId())) {
|
||||
//线路信息
|
||||
TheRapyRecuperationLineUnionSelect lineUnionSelect = dao().fetch(TheRapyRecuperationLineUnionSelect.class, enrollInfo.getTakePartInLineId());
|
||||
TheRapyRecuperationLine lineInfo = dao().fetch(TheRapyRecuperationLine.class, lineUnionSelect.getLineId());
|
||||
|
||||
signUpStartTime = lineUnionSelect.getSignUpStartTime();
|
||||
signUpEndTime = lineUnionSelect.getSignUpEndTime();
|
||||
changeEndTime = lineUnionSelect.getChangeEndTime();
|
||||
|
||||
if (DateUtil.compare(new Date(), signUpStartTime) < 0) {
|
||||
return Map.of(false, "报名未开始,请耐心等待");
|
||||
}
|
||||
if (DateUtil.compare(new Date(), changeEndTime) > 0 && enrollInfo.isNormal()) {
|
||||
return Map.of(false, "报名时间已过,抱歉不能报名");
|
||||
}
|
||||
|
||||
TheRapyRecuperationType trrt = regionTypeLineMap.get(lineInfo.getRegionalNature());
|
||||
if (StrUtil.isBlank(enrollInfo.getId()) && StrUtil.isNotBlank(enrollInfo.getTakePartInLineId())) {
|
||||
|
||||
//获取标段中的最大费用
|
||||
List<TheRapyRecuperationLot> lotList = dao().query(TheRapyRecuperationLot.class, Cnd.NEW());
|
||||
//最大费用
|
||||
@@ -569,11 +560,6 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl<TheRapyR
|
||||
//获取当前报名线路对应的标段的费用
|
||||
Integer currentLineCost = dao().fetch(TheRapyRecuperationLot.class, lineInfo.getLotId()).getActivityCost();
|
||||
|
||||
Map<Boolean, String> oneYear = this.validCountOneYear(loginName, travelFrequency);
|
||||
if (oneYear != null && oneYear.containsKey(false)) {
|
||||
return oneYear;
|
||||
}
|
||||
|
||||
//获取起始年份到当前时间,是否报名
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
@@ -653,60 +639,70 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl<TheRapyR
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//变更操作
|
||||
if (StrUtil.isNotBlank(enrollInfo.getId())) {
|
||||
int changeCount = dao().count(TheRapyRecuperationEnrollChangeRecord.class, Cnd.where("enrollId", "=", enrollInfo.getId()));
|
||||
if (changeCount >= modifyNumber) {
|
||||
return Map.of(false, "只能变更" + changeCount + "次!");
|
||||
}
|
||||
if (DateUtil.compare(new Date(), changeEndTime) > 0) {
|
||||
return Map.of(false, "超过变更截至时间,无法变更!");
|
||||
} else {
|
||||
return Map.of(true, "验证成功");
|
||||
}
|
||||
}
|
||||
return Map.of(true, "验证成功");
|
||||
}
|
||||
|
||||
public Map<Boolean, String> validSignCount(TheRapyRecuperationEnroll enrollInfo, TheRapyRecuperationConfig config, int estimatedFamilyNumbers, String type) {
|
||||
int hasSignNumber = 0;//已经报名的人数
|
||||
int currentSignNumber = 1;//当前报名人数,1表示自己,下面的if是加家属人数
|
||||
Cnd cnd = Cnd.where("takePartInLineId", "=", enrollInfo.getTakePartInLineId())
|
||||
.and("stateId", "in", Lang.array(TheRapyRecuperationState.UNIT, TheRapyRecuperationState.LINEUNIT, TheRapyRecuperationState.SCHOOL, TheRapyRecuperationState.PASS))
|
||||
.and("isNormal", "=", true);
|
||||
//如果是修改,排除自己的报名记录
|
||||
if("edit".equals(type)) {
|
||||
cnd.and("loginName", "!=", ShiroUtil.getPlatformLoginname());
|
||||
public Map<Boolean, String> validSignTime(TheRapyRecuperationEnroll currentEnroll) {
|
||||
TheRapyRecuperationConfig config = dao().fetch(TheRapyRecuperationConfig.class, Cnd.NEW());
|
||||
DateTime signUpStartTime = null;
|
||||
DateTime signUpEndTime = null;
|
||||
if(StrUtil.isNotBlank(currentEnroll.getTakePartInLineId())) {
|
||||
signUpStartTime = config.getImplodeStartTime();
|
||||
signUpEndTime = config.getImplodeEndTime();
|
||||
} else if(StrUtil.isNotBlank(currentEnroll.getTakePartInBaseManagementId())) {
|
||||
signUpStartTime = config.getFragmentStartTime();
|
||||
signUpEndTime = config.getFragmentEndTime();
|
||||
}
|
||||
List<TheRapyRecuperationEnroll> enrolls = dao().query(TheRapyRecuperationEnroll.class, cnd);
|
||||
if (DateUtil.compare(new Date(), signUpStartTime) < 0) {
|
||||
return Map.of(false, "报名未开始,请耐心等待");
|
||||
}
|
||||
if (DateUtil.compare(new Date(), signUpEndTime) > 0) {
|
||||
return Map.of(false, "报名时间已过,抱歉不能报名");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
//1表示在配置页面的家属配置的是数量,2是家属的List
|
||||
/*if (config.getFamilyInfo() == 1) {
|
||||
currentSignNumber += enrollInfo.getFamilyNumber() != null ? enrollInfo.getFamilyNumber() : 0;
|
||||
int sum = enrolls.stream().mapToInt(TheRapyRecuperationEnroll::getFamilyNumber).sum();
|
||||
hasSignNumber = enrolls.size() + sum;
|
||||
} else {
|
||||
currentSignNumber += enrollInfo.getCompanionList() != null ? enrollInfo.getCompanionList().size() : 0;
|
||||
List<String> list = enrolls.stream().map(TheRapyRecuperationEnroll::getId).collect(Collectors.toList());
|
||||
List<TheRapyRecuperationEnrollCompanion> companions = dao().query(TheRapyRecuperationEnrollCompanion.class, Cnd.where("trreId", "=", list));
|
||||
hasSignNumber = enrolls.size() + companions.size();
|
||||
}*/
|
||||
//省外报名限制,不包含家属
|
||||
// hasSignNumber += currentSignNumber + enrolls.size();
|
||||
if (( currentSignNumber + enrolls.size()) > estimatedFamilyNumbers) {
|
||||
return Map.of(false, "报名人数已满");
|
||||
} else {
|
||||
return null;
|
||||
public Map<Boolean, String> validBaseManagementCount(String loginName, TheRapyRecuperationEnroll currentEnroll) {
|
||||
//酒店可以一年报2次,查询是否有报第一次
|
||||
List<TheRapyRecuperationEnroll> enrollList = dao().query(
|
||||
TheRapyRecuperationEnroll.class,
|
||||
Cnd.where("loginName", "=", loginName)
|
||||
.and("isNormal", "=", true)
|
||||
.and("takePartInBaseManagementId", "is not", null)
|
||||
.and("YEAR(signingUptime)", "=", DateUtil.thisYear())
|
||||
);
|
||||
if(enrollList.size() >= 2) {
|
||||
return Map.of(false, "您已经报名了%s次分段疗休养".formatted(enrollList.size()));
|
||||
}
|
||||
//如果报过第一次就要判断
|
||||
if(Lang.isNotEmpty(enrollList)) {
|
||||
TheRapyRecuperationEnroll lastEnroll = enrollList.get(0);
|
||||
//判断这次报名的旅行社和上次的旅行社是否是一个
|
||||
TheRapyRecuperationBaseManagement currentManagement = dao().fetch(TheRapyRecuperationBaseManagement.class, currentEnroll.getTakePartInBaseManagementId());
|
||||
TheRapyRecuperationTravelAgency currentTravelAgency = dao().fetch(TheRapyRecuperationTravelAgency.class, currentManagement.getTravelAgencyId());
|
||||
|
||||
TheRapyRecuperationBaseManagement lastManagement = dao().fetch(TheRapyRecuperationBaseManagement.class, lastEnroll.getTakePartInBaseManagementId());
|
||||
TheRapyRecuperationTravelAgency lastTravelAgency = dao().fetch(TheRapyRecuperationTravelAgency.class, lastManagement.getTravelAgencyId());
|
||||
if(!Objects.equals(currentTravelAgency.getId(), lastTravelAgency.getId())) {
|
||||
return Map.of(false, "当前报名酒店的旅行社与上次出行不一致");
|
||||
}
|
||||
//如果是一个,再判断天数
|
||||
if(currentEnroll.getPlayDay() != null) {
|
||||
if((currentEnroll.getPlayDay() + lastEnroll.getPlayDay()) != 5) {
|
||||
return Map.of(false, "您选择的出行天数有误");
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
//判断一年报几次
|
||||
public Map<Boolean, String> validCountOneYear(String loginName, int travelFrequency) {
|
||||
public Map<Boolean, String> validCountThisYear(String loginName, int travelFrequency) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("loginName", "=", loginName);
|
||||
cnd.and("isNormal", "=", true);
|
||||
cnd.and("YEAR(signingUptime)", "=", io.v.nutz.base.utils.DateUtil.getYear());
|
||||
cnd.and("takePartInBaseManagementId", "is", null);
|
||||
cnd.and("YEAR(signingUptime)", "=", DateUtil.thisYear());
|
||||
int joinCount = dao().count(TheRapyRecuperationEnroll.class, cnd);
|
||||
|
||||
if (joinCount >= travelFrequency) {
|
||||
@@ -718,23 +714,18 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl<TheRapyR
|
||||
int inCount = dao().count("the_rapy_recuperation_enroll", Cnd.where("loginName", "=", io.v.nutz.web.commons.utils.ShiroUtil.getPrincipalProperty("loginname"))
|
||||
.and("takePartInLineId", "in", unionInSelects.stream().map(TheRapyRecuperationLineUnionSelect::getId).collect(Collectors.toList()))
|
||||
.and("isNormal", "=", true)
|
||||
.and("YEAR(signingUptime)", "=", io.v.nutz.base.utils.DateUtil.getYear()));
|
||||
.and("YEAR(signingUptime)", "=", DateUtil.thisYear()));
|
||||
//是否报省外
|
||||
int outCount = dao().count("the_rapy_recuperation_enroll", Cnd.where("loginName", "=", io.v.nutz.web.commons.utils.ShiroUtil.getPrincipalProperty("loginname"))
|
||||
.and("takePartInLineId", "in", unionOutSelects.stream().map(TheRapyRecuperationLineUnionSelect::getId).collect(Collectors.toList()))
|
||||
.and("isNormal", "=", true)
|
||||
.and("YEAR(signingUptime)", "=", io.v.nutz.base.utils.DateUtil.getYear()));
|
||||
.and("YEAR(signingUptime)", "=", DateUtil.thisYear()));
|
||||
//是否报旅行社
|
||||
int travelCount = dao().count("the_rapy_recuperation_enroll", Cnd.where("loginName", "=", io.v.nutz.web.commons.utils.ShiroUtil.getPrincipalProperty("loginname"))
|
||||
.and(Cnd.exps("takePartInLineId", "is", null).or("takePartInLineId", "=", ""))
|
||||
.and("isNormal", "=", true)
|
||||
.and("takePartInTravelAgencyId", "is not", null)
|
||||
.and("YEAR(signingUptime)", "=", io.v.nutz.base.utils.DateUtil.getYear()));
|
||||
//是否报酒店
|
||||
int hotelCount = dao().count("the_rapy_recuperation_enroll", Cnd.where("loginName", "=", io.v.nutz.web.commons.utils.ShiroUtil.getPrincipalProperty("loginname"))
|
||||
.and("takePartInLineId", "is", null).and("isNormal", "=", true)
|
||||
.and("takePartInBaseManagementId", "is not", null)
|
||||
.and("YEAR(signingUptime)", "=", io.v.nutz.base.utils.DateUtil.getYear()));
|
||||
.and("YEAR(signingUptime)", "=", DateUtil.thisYear()));
|
||||
String str = "";
|
||||
if (inCount > 0) {
|
||||
str = "省内线路";
|
||||
@@ -742,40 +733,10 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl<TheRapyR
|
||||
str = "省外线路";
|
||||
} else if (travelCount > 0) {
|
||||
str = "旅行社";
|
||||
} else if (hotelCount > 0) {
|
||||
str = "酒店";
|
||||
}
|
||||
return Map.of(false, "一年只能报" + travelFrequency + "次,您已报" + str + ",请先在我的疗休养中删除,方可报名!");
|
||||
}
|
||||
return Map.of(true, "成功");
|
||||
}
|
||||
|
||||
public int getCountByOutLine(TheRapyRecuperationType trrt, String loginName, int outsideNumber) {
|
||||
//省外 outsideNumber 年内是否去过
|
||||
if (trrt.getValue() == TheRapyRecuperationType.provinceOutLine.getValue()) {
|
||||
Sql lineJoinSql = Sqls.create("""
|
||||
SELECT
|
||||
count(*)
|
||||
FROM
|
||||
the_rapy_recuperation_enroll ren
|
||||
LEFT JOIN the_rapy_recuperation_line rl on ren.takePartInLineId = rl.id
|
||||
$condition
|
||||
""");
|
||||
|
||||
Cnd lineCnd = Cnd.NEW();
|
||||
lineCnd.and("loginName", "=", loginName);
|
||||
lineCnd.and("isNormal", "=", true);
|
||||
lineCnd.and("takePartInLineId", "IS NOT", null);
|
||||
lineCnd.and("YEAR ( signingUptime )", ">=", io.v.nutz.base.utils.DateUtil.getYear() - outsideNumber);
|
||||
lineCnd.and("YEAR ( signingUptime )", "<=", io.v.nutz.base.utils.DateUtil.getYear() - 1);
|
||||
lineCnd.and("regionalNature", "=", TheRapyRecuperationType.provinceOutLine.getValue());
|
||||
|
||||
lineJoinSql.setCondition(lineCnd);
|
||||
|
||||
//lineCnd.and(new SqlExpressionGroup().andBetween("YEAR(signingUptime)", io.v.nutz.base.utils.DateUtil.getYear() - 1, io.v.nutz.base.utils.DateUtil.getYear() - outsideNumber));
|
||||
return baseService.count(lineJoinSql);
|
||||
}
|
||||
return 0;
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
url: url,
|
||||
container: "#container",
|
||||
maxCacheLength: 0,
|
||||
push: false,
|
||||
push: true,
|
||||
replace: true,
|
||||
fragment: "#container",
|
||||
timeout: 8000,
|
||||
|
||||
@@ -263,9 +263,9 @@ layout("/mobile/platform.html"){
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<div class="title">
|
||||
<van-tag size="large" color="#1867b0" style="color: white;position: relative; top: -2px">
|
||||
{{baseData.lotName}}
|
||||
</van-tag>
|
||||
<!--<van-tag size="large" color="#1867b0" style="color: white;position: relative; top: -2px">
|
||||
{{baseData.regionalNature}}
|
||||
</van-tag>-->
|
||||
{{baseData.baseName}}
|
||||
</div>
|
||||
<div style="margin-top: 10px">
|
||||
@@ -279,13 +279,13 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<div>
|
||||
<span>报名时间:</span>
|
||||
{{moment(baseData.signUpStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
||||
moment(baseData.signUpEndTime).format('YYYY-MM-DD HH:mm')}}
|
||||
{{moment(configData.fragmentStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
||||
moment(configData.fragmentEndTime).format('YYYY-MM-DD HH:mm')}}
|
||||
</div>
|
||||
<div>
|
||||
<span>活动时间:</span>
|
||||
{{moment(baseData.activityStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
||||
moment(baseData.activityEndTime).format('YYYY-MM-DD HH:mm')}}
|
||||
{{moment(configData.fragmentPlayStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
||||
moment(configData.fragmentPlayEndTime).format('YYYY-MM-DD HH:mm')}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -307,17 +307,13 @@ layout("/mobile/platform.html"){
|
||||
</van-button>
|
||||
</div>
|
||||
<div class="footer" v-else>
|
||||
<template v-if="baseData.isNormal==0&&baseData.isNormalFalse>0">
|
||||
<template v-if="baseData.isNormal == 0 && baseData.isNormalFalse > 0">
|
||||
<van-button @click="join" class="join">我要报名</van-button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<van-button v-if="moment().unix() <= moment(baseData.signUpEndTime).unix()" @click="join" class="join">我要报名
|
||||
</van-button>
|
||||
<!--<van-button
|
||||
v-if="moment().unix() <= moment(baseData.signUpEndTime).unix() && ${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')}"
|
||||
@click="helpJoin" class="join">替他人报名
|
||||
</van-button>-->
|
||||
<van-button v-if="moment().unix() > moment(baseData.signUpEndTime).unix()" class="join">报名结束</van-button>
|
||||
<van-button v-if="moment().unix() >= moment(configData.fragmentStartTime).unix() && moment().unix() <= moment(configData.fragmentEndTime).unix()"
|
||||
@click="join" class="join">我要报名</van-button>
|
||||
<van-button v-if="moment().unix() > moment(configData.fragmentEndTime).unix()" class="join">报名结束</van-button>
|
||||
</template>
|
||||
</div>
|
||||
|
||||
@@ -334,13 +330,7 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<div class="van-card-body">
|
||||
|
||||
<van-field v-if="isHelpJoin" label="姓名" readonly v-model="formData.userName"></van-field>
|
||||
|
||||
<van-field v-else="!isHelpJoin" label="姓名"
|
||||
:rules="[{ required: true }]"
|
||||
placeholder="请输入工号或姓名进行查询" required
|
||||
@click="show = true"
|
||||
v-model="formData.userName"></van-field>
|
||||
<van-field label="姓名" readonly v-model="formData.userName"></van-field>
|
||||
|
||||
<van-field label="工号" readonly v-model="formData.loginName"></van-field>
|
||||
<van-field label="身份证号" name="idCard" :rules="[{ required: true }]"
|
||||
@@ -349,7 +339,10 @@ layout("/mobile/platform.html"){
|
||||
placeholder="请填写手机号" v-model="formData.mobile"></van-field>
|
||||
<van-field label="所属工会" readonly v-model="formData.unionName"></van-field>
|
||||
<van-field label="报名酒店" readonly v-model="formData.baseName"></van-field>
|
||||
<van-field label="活动时间" readonly @click="if(fromUrlByMy != 'find')timeVisible = true"
|
||||
<van-field label="出行天数" readonly @click="if(fromUrlByMy != 'find')playDayVisible = true"
|
||||
:rules="[{ required: true }]" placeholder="请选择出行天数" required
|
||||
is-link v-model="formData.playDay" name="playDay"></van-field>
|
||||
<van-field label="活动时间" readonly @click="specificTimeClick"
|
||||
:rules="[{ required: true }]" placeholder="请选择活动时间" required
|
||||
is-link v-model="formData.specificTime" name="specificTime"></van-field>
|
||||
</div>
|
||||
@@ -464,6 +457,15 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-popup>
|
||||
|
||||
<van-popup position="bottom" round v-model="playDayVisible">
|
||||
<van-picker
|
||||
title="出行天数" show-toolbar
|
||||
:columns="playDayColumns"
|
||||
@confirm="playDayConfirm"
|
||||
@cancel="playDayVisible = false">
|
||||
</van-picker>
|
||||
</van-popup>
|
||||
|
||||
<!--房间类型弹出框-->
|
||||
<van-popup position="bottom" round v-model="roomVisible">
|
||||
<van-picker
|
||||
@@ -495,16 +497,6 @@ layout("/mobile/platform.html"){
|
||||
</van-picker>
|
||||
</van-popup>
|
||||
|
||||
<!--时间弹出框-->
|
||||
<!--<van-popup position="bottom" round v-model="timeVisible">
|
||||
<van-picker
|
||||
title="具体时间" show-toolbar
|
||||
:columns="timeArray"
|
||||
@confirm="(value, index) => {formData.specificTime = value; timeVisible = false}"
|
||||
@cancel="timeVisible = false">
|
||||
</van-picker>
|
||||
</van-popup>-->
|
||||
|
||||
<van-calendar type="range" v-model="timeVisible"
|
||||
ref="cal" @confirm="calConfirm"
|
||||
:min-date="minDate" :max-date="maxDate"
|
||||
@@ -512,24 +504,6 @@ layout("/mobile/platform.html"){
|
||||
@select="daySelect"
|
||||
:max-range="lotValue" :style="{ height: '660px' }"></van-calendar>
|
||||
|
||||
<van-popup position="bottom" round v-model="show" :style="{ height: '60%' }" closeable>
|
||||
<van-search v-model="result" show-action style="padding: 10px;margin-top: 45px" placeholder="请输入工号或姓名搜索"
|
||||
@input="delaySearch">
|
||||
</van-search>
|
||||
<van-cell-group>
|
||||
<div>
|
||||
<van-checkbox-group style="text-align: center">
|
||||
<van-cell-group>
|
||||
<van-cell v-for="(item, index) in userList" :key="item.index" clickable
|
||||
:title="item.name"
|
||||
@click="toResult(item.loginname)">
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</van-checkbox-group>
|
||||
</div>
|
||||
</van-cell-group>
|
||||
</van-popup>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
function getQueryString(name) {
|
||||
@@ -555,7 +529,6 @@ layout("/mobile/platform.html"){
|
||||
tarBarActive: 0,
|
||||
roomColumns: ['大床房', '标准间'],
|
||||
bedColumns: ['1', '2'],
|
||||
//companionColumns: ['亲属', '朋友'],
|
||||
companionColumns: ['配偶', '子女'],
|
||||
bedVisible: false,
|
||||
roomVisible: false,
|
||||
@@ -584,13 +557,9 @@ layout("/mobile/platform.html"){
|
||||
enrollId: '',
|
||||
timeArray: [],
|
||||
defaultIndex: 0,
|
||||
|
||||
isHelpJoin: false,
|
||||
|
||||
userList: [],
|
||||
show: false,
|
||||
result: '',
|
||||
helpUser: 1,
|
||||
weekList: {
|
||||
0: '周日',
|
||||
1: '周一',
|
||||
@@ -601,14 +570,32 @@ layout("/mobile/platform.html"){
|
||||
6: '周六',
|
||||
},
|
||||
chooseDate: [],
|
||||
configData: {},
|
||||
|
||||
playDayVisible: false,
|
||||
playDayColumns: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
playDayConfirm(val) {
|
||||
this.formData.playDay = val.value
|
||||
this.lotValue = val.value === 2.5 ? 3 : val.value
|
||||
this.playDayVisible = false
|
||||
},
|
||||
specificTimeClick() {
|
||||
if(!this.formData.playDay) {
|
||||
this.$toast('请先选择出行天数')
|
||||
return
|
||||
}
|
||||
if(this.fromUrlByMy !== 'find') this.timeVisible = true
|
||||
},
|
||||
pageBack() {
|
||||
if(this.fromUrlByMy !== 'find') {
|
||||
pjaxReplace('/platform/mobile/theRapyRecuperation/mobileLineListPage')
|
||||
} else {
|
||||
window.removeEventListener('scroll', this.scrollToTop)
|
||||
document.removeEventListener('click', this.handleClick)
|
||||
if(['find', 'editDo'].includes(this.fromUrlByMy)) {
|
||||
pjaxReplace('/platform/mobile/theRapyRecuperation/myRecuperation')
|
||||
} else {
|
||||
pjaxReplace('/platform/mobile/theRapyRecuperation/mobileLineListPage')
|
||||
}
|
||||
},
|
||||
calConfirm(date) {
|
||||
@@ -693,15 +680,12 @@ layout("/mobile/platform.html"){
|
||||
return value != null
|
||||
},
|
||||
async joinSubmit() {
|
||||
let toast = null
|
||||
if (!this.enrollId) {
|
||||
toast = vant.Toast.loading({
|
||||
duration: 0,
|
||||
forbidClick: true,
|
||||
overlay: true,
|
||||
message: '努力提交中',
|
||||
})
|
||||
}
|
||||
let toast = vant.Toast.loading({
|
||||
duration: 0,
|
||||
forbidClick: true,
|
||||
overlay: true,
|
||||
message: '努力提交中',
|
||||
})
|
||||
const cloneData = clone(this.formData)
|
||||
cloneData.companionList.forEach((item, index) => {
|
||||
if (item.userName === '') {
|
||||
@@ -711,37 +695,16 @@ layout("/mobile/platform.html"){
|
||||
const resp = await $.post('/platform/theRapyRecuperation/line/enroll/doSignUpForBaseManagement', {
|
||||
enroll: JSON.stringify(cloneData),
|
||||
})
|
||||
if (this.enrollId) {
|
||||
if (resp.code === 0) {
|
||||
vant.Dialog.alert({
|
||||
title: '温馨提示',
|
||||
message: '修改成功,请务必联系并告知旅行社',
|
||||
}).then(() => {
|
||||
if (this.helpUser === 1) {
|
||||
location.href = '/platform/mobile/theRapyRecuperation/myRecuperation?index=' + this.index
|
||||
}
|
||||
})
|
||||
} else {
|
||||
vant.Toast(resp.msg)
|
||||
}
|
||||
toast.close()
|
||||
if (resp.code === 0) {
|
||||
vant.Dialog.alert({
|
||||
title: '温馨提示',
|
||||
message: this.enrollId ? '修改成功,请务必联系并告知旅行社' : resp.msg,
|
||||
}).then(() => {
|
||||
pjaxReplace('/platform/mobile/theRapyRecuperation/myRecuperation?index=' + this.index)
|
||||
})
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
if (resp.code === 0) {
|
||||
toast.message = '提交成功'
|
||||
toast.type = 'success'
|
||||
} else {
|
||||
toast.message = resp.msg
|
||||
toast.type = 'fail'
|
||||
}
|
||||
setTimeout(() => {
|
||||
toast.clear()
|
||||
}, 500)
|
||||
if (resp.code === 0 && this.helpUser === 1) {
|
||||
location.href = '/platform/mobile/theRapyRecuperation/myRecuperation?index=' + this.index
|
||||
} else {
|
||||
this.helpJoin();
|
||||
}
|
||||
}, 1000)
|
||||
vant.Toast(resp.msg)
|
||||
}
|
||||
},
|
||||
addCompanion() {
|
||||
@@ -750,26 +713,7 @@ layout("/mobile/platform.html"){
|
||||
delCompanion() {
|
||||
this.formData.companionList.splice(this.active, 1)
|
||||
},
|
||||
async helpJoin() {
|
||||
this.formData = {
|
||||
userName: "",
|
||||
loginName: "",
|
||||
unionName: "",
|
||||
idCard: "",
|
||||
mobile: "",
|
||||
baseName: this.baseData.baseName,
|
||||
takePartInBaseManagementId: this.baseData.id,
|
||||
companionList: [],
|
||||
bedInfo: {},
|
||||
}
|
||||
this.helpUser = 0;
|
||||
if(this.index == 3) {
|
||||
await this.getTimeArray()
|
||||
}
|
||||
this.joinPopup = true
|
||||
},
|
||||
async join() {
|
||||
this.helpUser = 1
|
||||
if (this.fromUrlByMy !== 'find') {
|
||||
const re = await $.post('/platform/theRapyRecuperation/line/enroll/validSignUpInfo', {
|
||||
enroll: JSON.stringify({
|
||||
@@ -834,12 +778,15 @@ layout("/mobile/platform.html"){
|
||||
this.formData.baseName = this.baseData.baseName
|
||||
this.skeLoading = false
|
||||
|
||||
//如果是四晚五天,就获取周一到周五
|
||||
/*if (this.baseData.lotName === '四晚五天') {
|
||||
this.timeArray = this.getTimeByLot1()
|
||||
} else if (this.baseData.lotName === '两晚三天') {
|
||||
this.timeArray = this.getTimeByLot2()
|
||||
}*/
|
||||
if(this.baseData.allowDay) {
|
||||
this.playDayColumns = []
|
||||
const list = JSON.parse(this.baseData.allowDay)
|
||||
list.forEach(item => {
|
||||
this.playDayColumns.push({
|
||||
text: item + '天', value: item
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
async getTimeArray() {
|
||||
@@ -848,51 +795,10 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
this.timeArray = res.data.days
|
||||
this.holidays = res.data.holidays
|
||||
this.lotValue = Number(res.data.lotValue)
|
||||
//this.lotValue = Number(res.data.lotValue)
|
||||
this.minDate = new Date(res.data.minDate)
|
||||
this.maxDate = new Date(res.data.maxDate)
|
||||
},
|
||||
getTimeByLot1() {
|
||||
let timeArray = []
|
||||
let now_date = moment()//当前时间
|
||||
let start_date = moment(this.baseData.activityStartTime) // 时间区间开始日期
|
||||
let end_date = moment(this.baseData.activityEndTime) // 时间区间结束日期
|
||||
while (start_date <= end_date) {
|
||||
if (start_date.day() === 1) {
|
||||
const week_start = start_date.format('MM月DD日')
|
||||
const week_end = start_date.clone().add(4, 'day')
|
||||
if (week_end <= end_date && now_date < start_date) {
|
||||
timeArray.push(week_start + '-' + week_end.format('MM月DD日'))
|
||||
}
|
||||
start_date.add(7, 'day')
|
||||
} else {
|
||||
start_date.add(1, 'day')
|
||||
}
|
||||
}
|
||||
return timeArray
|
||||
},
|
||||
getTimeByLot2() {
|
||||
let timeArray = []
|
||||
let now_date = moment()//当前时间
|
||||
let start_date = moment(this.baseData.activityStartTime) // 时间区间开始日期
|
||||
let end_date = moment(this.baseData.activityEndTime) // 时间区间结束日期
|
||||
while (start_date <= end_date) {
|
||||
if (start_date.day() === 5) {
|
||||
const week_start = start_date.format('MM月DD日')
|
||||
const week_end = start_date.clone().add(2, 'day')
|
||||
if (week_end <= end_date && now_date < start_date) {
|
||||
timeArray.push(week_start + '-' + week_end.format('MM月DD日'))
|
||||
}
|
||||
start_date.add(7, 'day')
|
||||
} else {
|
||||
start_date.add(1, 'day')
|
||||
}
|
||||
}
|
||||
timeArray = timeArray.filter(v => {
|
||||
return v !== '09月29日-10月01日' && v !== '10月06日-10月08日' && v !== '09月15日-09月17日'
|
||||
})
|
||||
return timeArray
|
||||
},
|
||||
// 点击图片回到顶部方法,加计时器是为了过渡顺滑
|
||||
backTop() {
|
||||
const that = this
|
||||
@@ -953,6 +859,10 @@ layout("/mobile/platform.html"){
|
||||
this.userList = data
|
||||
}
|
||||
},
|
||||
async getConfigData() {
|
||||
const resp = await $.get('/platform/theRapyRecuperation/TheRapyConfig/findOne')
|
||||
this.configData = resp.data
|
||||
},
|
||||
async toResult(loginname) {
|
||||
const res = await $.post('/platform/theRapyRecuperation/line/enroll/validSignUpInfo', {
|
||||
enroll: JSON.stringify({
|
||||
@@ -1022,6 +932,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
await this.getConfigData()
|
||||
this.id = getQueryString('id') ? getQueryString('id') : ''
|
||||
this.enrollId = getQueryString('enrollId') ? getQueryString('enrollId') : ''
|
||||
this.index = getQueryString('index') ? getQueryString('index') : ''
|
||||
@@ -1044,7 +955,7 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
}catch (e) {
|
||||
this.isPdf = true
|
||||
document.addEventListener('click', (event) => this.handleClick(event))
|
||||
//document.addEventListener('click', (event) => this.handleClick(event))
|
||||
}
|
||||
|
||||
this.$nextTick(() => {
|
||||
@@ -1055,8 +966,7 @@ layout("/mobile/platform.html"){
|
||||
window.addEventListener('scroll', this.scrollToTop)
|
||||
},
|
||||
destroyed() {
|
||||
window.removeEventListener('scroll', this.scrollToTop)
|
||||
document.removeEventListener('click', (event) => this.handleClick(event))
|
||||
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -591,10 +591,12 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
methods: {
|
||||
pageBack() {
|
||||
if(this.fromUrlByMy !== 'find') {
|
||||
pjaxReplace('/platform/mobile/theRapyRecuperation/mobileLineListPage')
|
||||
} else {
|
||||
window.removeEventListener('scroll', this.scrollToTop)
|
||||
document.removeEventListener('click', this.handleClick)
|
||||
if(['find', 'editDo'].includes(this.fromUrlByMy)) {
|
||||
pjaxReplace('/platform/mobile/theRapyRecuperation/myRecuperation')
|
||||
} else {
|
||||
pjaxReplace('/platform/mobile/theRapyRecuperation/mobileLineListPage')
|
||||
}
|
||||
},
|
||||
openRead() {
|
||||
@@ -794,8 +796,11 @@ layout("/mobile/platform.html"){
|
||||
this.configData = resp.data
|
||||
},
|
||||
handleClick(event, classArray = [], imagesArray = []) {
|
||||
if(event == null) {
|
||||
return
|
||||
}
|
||||
if (event.target.tagName === 'IMG' && event.target.className !== 'top_icon') {
|
||||
if(imagesArray.length > 0) {
|
||||
if(classArray.length > 0) {
|
||||
const index = classArray.indexOf(event.target.className)
|
||||
if(index !== -1) {
|
||||
vant.ImagePreview({
|
||||
@@ -813,6 +818,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
readPDFPicture(pdf) {
|
||||
const that = this
|
||||
if(pdf != null) {
|
||||
pdf.on("complete", function () {
|
||||
const imgDoc = document.querySelectorAll('img')
|
||||
@@ -852,21 +858,18 @@ layout("/mobile/platform.html"){
|
||||
pdfh5 = new Pdfh5('#demo', {
|
||||
pdfurl: href,
|
||||
})
|
||||
this.readPDFPicture(pdfh5)
|
||||
})
|
||||
}catch (e) {
|
||||
this.isPdf = true
|
||||
document.addEventListener('click', (event) => this.handleClick(event))
|
||||
//document.addEventListener('click', (event) => this.handleClick(event, [], []))
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.readPDFPicture(pdfh5)
|
||||
})
|
||||
},
|
||||
mounted() {
|
||||
window.addEventListener('scroll', this.scrollToTop)
|
||||
},
|
||||
destroyed() {
|
||||
window.removeEventListener('scroll', this.scrollToTop)
|
||||
document.removeEventListener('click', (event) => this.handleClick(event))
|
||||
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -265,7 +265,7 @@ layout("/mobile/platform.html"){
|
||||
<span>{{o.baseName}}</span>
|
||||
<div>
|
||||
<van-tag color="#1867b0">{{o.regionalNature}}</van-tag>
|
||||
<van-tag color="#1867b0">{{o.lotName}}</van-tag>
|
||||
<!--<van-tag color="#1867b0">{{o.lotName}}</van-tag>-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="desc_info">
|
||||
|
||||
@@ -297,11 +297,11 @@ layout("/mobile/platform.html"){
|
||||
<div class="list-card" v-for="o in tableData">
|
||||
<div @click="findOne(o)" class="content">
|
||||
<van-image
|
||||
height="100"
|
||||
height="92"
|
||||
radius="8"
|
||||
:src="CREATE_PREVIEW_URL(o.fileId)"
|
||||
width="150"
|
||||
></van-image>
|
||||
width="130">
|
||||
</van-image>
|
||||
|
||||
<div
|
||||
v-if="pageForm.theRapyRecuperationType != '2' && pageForm.theRapyRecuperationType != '3'"
|
||||
@@ -378,7 +378,7 @@ layout("/mobile/platform.html"){
|
||||
<span>{{o.baseName}}</span>
|
||||
<div>
|
||||
<van-tag color="#1867b0">{{o.regionalNature}}</van-tag>
|
||||
<van-tag color="#1867b0">{{o.lotName}}</van-tag>
|
||||
<van-tag color="#1867b0">{{o.playDay}}天</van-tag>
|
||||
</div>
|
||||
</div>
|
||||
<div class="desc_info">
|
||||
@@ -406,13 +406,12 @@ layout("/mobile/platform.html"){
|
||||
评 价
|
||||
</van-button>
|
||||
<van-button
|
||||
v-if="pageForm.theRapyRecuperationType != '2' && moment().unix() < moment(o.changeEndTime).unix()
|
||||
&& ![2715,2725,2735].includes(o.stateId)"
|
||||
v-if="editButtonShow(o)"
|
||||
@click="edit(o)"
|
||||
type="info"
|
||||
size="small"
|
||||
color="#1867b0"
|
||||
:disabled="o.isTakePartIn == true || getDisabled(o)"
|
||||
:disabled="o.isTakePartIn == true || getDisabled(o) || o.hasLocked == true"
|
||||
>
|
||||
修 改
|
||||
</van-button>
|
||||
@@ -595,6 +594,16 @@ layout("/mobile/platform.html"){
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
editButtonShow(o) {
|
||||
const type = Number(this.pageForm.theRapyRecuperationType)
|
||||
if(type === 2) {
|
||||
return false
|
||||
}
|
||||
let stateValid = ![2715,2725,2735].includes(o.stateId)
|
||||
let lineValid = [0, 1].includes(type) && moment().unix() < moment(this.configData.implodeEndTime).unix()
|
||||
let baseValid = [3].includes(type) && moment().unix() < moment(this.configData.fragmentEndTime).unix()
|
||||
return stateValid && (lineValid || baseValid);
|
||||
},
|
||||
async openEvaluate(o) {
|
||||
if (o.isTakePartIn === false) {
|
||||
this.$modal.msg("参加后才能评价");
|
||||
|
||||
+27
-24
@@ -153,12 +153,12 @@ layout("/layouts/platform.html"){
|
||||
<el-row :gutter="20">
|
||||
<el-col :md="12" :sm="24" :xs="24">
|
||||
<el-form-item label="目的地名称" prop="baseName">
|
||||
<el-input maxlength="50" v-model="formData.baseName"></el-input>
|
||||
<el-input maxlength="50" v-model="formData.baseName" placeholder="请输入目的地名称"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" :xs="24">
|
||||
<el-form-item label="旅行社名称" prop="travelAgencyId">
|
||||
<el-select clearable filterable style="width: 100%" v-model="formData.travelAgencyId">
|
||||
<el-select clearable filterable style="width: 100%" v-model="formData.travelAgencyId" placeholder="请选择旅行社名称">
|
||||
<el-option :key="item.id"
|
||||
:label="item.travelAgencyName+'('+ item.year +'年)'"
|
||||
:value="item.id"
|
||||
@@ -169,18 +169,14 @@ layout("/layouts/platform.html"){
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :md="12" :sm="24" :xs="24">
|
||||
<!--<el-col :md="12" :sm="24" :xs="24">
|
||||
<el-form-item label="组织形式" prop="createMode">
|
||||
<el-radio-group size="small" v-model="formData.createMode">
|
||||
<el-radio :label="1" border>校工会组织</el-radio>
|
||||
<el-radio :label="2" border>分工会组织</el-radio>
|
||||
</el-radio-group>
|
||||
<!--<div class="text-primary">-->
|
||||
<!-- <i class="el-icon-warning"></i>-->
|
||||
<!-- 温馨提醒:校工会可以为基层工会创建线路,分工会自行选择并设置活动相关时间。-->
|
||||
<!--</div>-->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>-->
|
||||
<el-col :md="12" :sm="24" :xs="24">
|
||||
<el-form-item label="活动范围" prop="regionalNature">
|
||||
<el-radio-group size="small" v-model="formData.regionalNature">
|
||||
@@ -189,23 +185,27 @@ layout("/layouts/platform.html"){
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :md="12" :sm="24" :xs="24">
|
||||
<el-form-item label="标段时间" prop="lotId">
|
||||
<!--<el-input clearable maxlength="50" v-model="formData.lotId"></el-input>-->
|
||||
<el-select clearable filterable style="width: 100%" v-model="formData.lotId"
|
||||
<el-form-item label="天数" prop="allowDay">
|
||||
<!--<el-select clearable filterable style="width: 100%" v-model="formData.lotId"
|
||||
@change="doBdModify">
|
||||
<el-option :key="item"
|
||||
:label="item.lotName"
|
||||
:value="item.id"
|
||||
v-for="item in modifyBdList"
|
||||
></el-option>
|
||||
</el-select>-->
|
||||
<el-select clearable multiple filterable style="width: 100%" v-model="formData.allowDay" placeholder="请选择天数">
|
||||
<el-option value="3">3天</el-option>
|
||||
<el-option value="2">2天</el-option>
|
||||
<el-option value="2.5">2.5天</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" :xs="24">
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<!--<el-col :md="12" :sm="24" :xs="24">
|
||||
<el-form-item label="预计费用(元/人次)" prop="estimatedCost">
|
||||
<el-select clearable filterable style="width: 100%" v-model="formData.estimatedCost">
|
||||
<el-option :key="item.id"
|
||||
@@ -215,7 +215,7 @@ layout("/layouts/platform.html"){
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>-->
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
@@ -223,7 +223,7 @@ layout("/layouts/platform.html"){
|
||||
<el-form-item label="周几入住" prop="weekIn">
|
||||
<el-radio-group size="small" v-model="formData.weekIn" @input="weekChange">
|
||||
<el-radio :label="1" border>不限</el-radio>
|
||||
<el-radio :label="2" border>读取标段配置</el-radio>
|
||||
<el-radio :label="2" border>自定义</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -231,6 +231,7 @@ layout("/layouts/platform.html"){
|
||||
<el-form-item label="入住时间" prop="weekCheckIn">
|
||||
<el-select clearable filterable multiple
|
||||
:disabled="formData.weekIn === 1"
|
||||
placeholder="请选择入住时间"
|
||||
style="width: 100%" v-model="formData.weekCheckIn">
|
||||
<el-option label="周一" :value="1"></el-option>
|
||||
<el-option label="周二" :value="2"></el-option>
|
||||
@@ -247,17 +248,17 @@ layout("/layouts/platform.html"){
|
||||
<el-row :gutter="20">
|
||||
<el-col :md="12" :sm="24" :xs="24">
|
||||
<el-form-item label="目的地联系人" prop="baseContactPerson">
|
||||
<el-input clearable maxlength="20" v-model="formData.baseContactPerson"></el-input>
|
||||
<el-input clearable maxlength="20" v-model="formData.baseContactPerson" placeholder="请输入目的地联系人"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" :xs="24">
|
||||
<el-form-item label="联系人电话" prop="baseContactNumber">
|
||||
<el-input clearable maxlength="20" v-model="formData.baseContactNumber"></el-input>
|
||||
<el-input clearable maxlength="20" v-model="formData.baseContactNumber" placeholder="请输入联系人电话"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<template>
|
||||
<!--<template>
|
||||
<el-row :gutter="20">
|
||||
<el-col :md="12" :sm="24" :xs="24">
|
||||
<el-form-item label="报名开始时间" prop="signUpStartTime">
|
||||
@@ -333,7 +334,7 @@ layout("/layouts/platform.html"){
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</template>
|
||||
</template>-->
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :md="24" :sm="24" :xs="24">
|
||||
@@ -508,13 +509,14 @@ layout("/layouts/platform.html"){
|
||||
signUpEndTime: '',
|
||||
changeEndTime: '',
|
||||
files: [],
|
||||
createMode: '',
|
||||
createMode: 1,
|
||||
estimatedCost: '',
|
||||
activityStartTime: '',
|
||||
activityEndTime: '',
|
||||
baseContactPerson: '',
|
||||
baseContactNumber: '',
|
||||
weekIn: 1,
|
||||
allowDay: [],
|
||||
},
|
||||
tableColumns: [
|
||||
{label: '年度', prop: 'year', sortable: true},
|
||||
@@ -556,6 +558,7 @@ layout("/layouts/platform.html"){
|
||||
trigger: ['change', 'blur']
|
||||
}],
|
||||
estimatedCost: [{required: true, message: '请输入预计费用', trigger: ['change', 'blur']}],
|
||||
allowDay: [{required: true, message: '请选择天数', trigger: ['change', 'blur']}],
|
||||
},
|
||||
//目的地导入
|
||||
importVisible: false,
|
||||
@@ -565,7 +568,7 @@ layout("/layouts/platform.html"){
|
||||
},
|
||||
methods: {
|
||||
weekChange(val) {
|
||||
if (val === 1) {
|
||||
/*if (val === 1) {
|
||||
this.formData.weekCheckIn = []
|
||||
this.$forceUpdate()
|
||||
} else {
|
||||
@@ -576,7 +579,7 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
const lot = this.modifyBdList.find(o => o.id === this.formData.lotId)
|
||||
this.formData.weekCheckIn = lot ? lot.weekCheckIn : []
|
||||
}
|
||||
}*/
|
||||
},
|
||||
async doSearch() {
|
||||
this.formData.year = this.pageForm.year;
|
||||
|
||||
+100
-53
@@ -50,10 +50,10 @@ layout("/layouts/platform.html"){
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="省外最多成团人数" prop="outsideQuota">
|
||||
<!--<el-form-item label="省外最多成团人数" prop="outsideQuota">
|
||||
<el-input v-model.number="formData.outsideQuota"
|
||||
placeholder="请输入每条省外线路最多成团人数"></el-input>
|
||||
</el-form-item>
|
||||
</el-form-item>-->
|
||||
|
||||
|
||||
<el-form-item label="省外名额分配比例" prop="outsideQuotaProportion">
|
||||
@@ -62,7 +62,6 @@ layout("/layouts/platform.html"){
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item label="省外几年去一次" prop="outsideNumber">
|
||||
<el-input max="100"
|
||||
placeholder="请输入省外几年去一次"
|
||||
@@ -75,23 +74,74 @@ layout("/layouts/platform.html"){
|
||||
v-model.number="formData.travelFrequency"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="最少教工人数" prop="groupNumber">
|
||||
<el-form-item label="常规团最少成团人数" prop="conventionalCount">
|
||||
<el-input max="100" placeholder="请输入常规团最少成团人数(不包含家属)"
|
||||
v-model.number="formData.conventionalCount"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="精品团最少成团人数" prop="boutiqueCount">
|
||||
<el-input max="100" placeholder="请输入精品团最少成团人数(不包含家属)"
|
||||
v-model.number="formData.boutiqueCount"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="分段式最少成团人数" prop="fragmentCount">
|
||||
<el-input max="100" placeholder="请输入分段式最少成团人数(不包含家属)"
|
||||
v-model.number="formData.fragmentCount"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="集中疗休养报名时间" prop="implodeTimes">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="formData.implodeTimes"
|
||||
type="datetimerange"
|
||||
range-separator="至"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
start-placeholder="集中疗休养报名开始日期"
|
||||
end-placeholder="集中疗休养报名结束日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="分段疗休养报名时间" prop="fragmentTimes">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="formData.fragmentTimes"
|
||||
type="datetimerange"
|
||||
range-separator="至"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
start-placeholder="分段疗休养报名开始日期"
|
||||
end-placeholder="分段疗休养报名结束日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="分段疗休养活动时间" prop="fragmentPlayTimes">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="formData.fragmentPlayTimes"
|
||||
type="datetimerange"
|
||||
range-separator="至"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
start-placeholder="分段疗休养活动开始日期"
|
||||
end-placeholder="分段疗休养活动结束日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<!--<el-form-item label="最少教工人数" prop="groupNumber">
|
||||
<el-input max="100"
|
||||
placeholder="请输入最少教工人数"
|
||||
v-model.number="formData.groupNumber"></el-input>
|
||||
</el-form-item>
|
||||
</el-form-item>-->
|
||||
|
||||
<el-form-item label="不可取消修改天数" prop="modifyDays">
|
||||
<!--<el-form-item label="不可取消修改天数" prop="modifyDays">
|
||||
<el-input max="100"
|
||||
placeholder="请输入不可取消修改天数"
|
||||
v-model.number="formData.modifyDays"></el-input>
|
||||
</el-form-item>
|
||||
</el-form-item>-->
|
||||
|
||||
<el-form-item label="可以修改几次" prop="modifyNumber">
|
||||
<!--<el-form-item label="可以修改几次" prop="modifyNumber">
|
||||
<el-input max="100"
|
||||
placeholder="请输入可以修改几次"
|
||||
v-model.number="formData.modifyNumber"></el-input>
|
||||
</el-form-item>
|
||||
</el-form-item>-->
|
||||
|
||||
<el-form-item label="省内线路是否需要审核" prop="isSnLine">
|
||||
<el-radio-group v-model="formData.isSnLine">
|
||||
@@ -107,11 +157,11 @@ layout("/layouts/platform.html"){
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="全批次最多报名人数" prop="allLineSignUpNumber">
|
||||
<!--<el-form-item label="全批次最多报名人数" prop="allLineSignUpNumber">
|
||||
<el-input max="100"
|
||||
placeholder="请输入全批次最多报名人数"
|
||||
v-model.number="formData.allLineSignUpNumber"></el-input>
|
||||
</el-form-item>
|
||||
</el-form-item>-->
|
||||
|
||||
<el-form-item label="省内起始年份" prop="provinceStartYear">
|
||||
<el-input max="100"
|
||||
@@ -203,7 +253,7 @@ layout("/layouts/platform.html"){
|
||||
<!--# } #-->
|
||||
</el-table>
|
||||
|
||||
<vi-title title="服务须知"></vi-title>
|
||||
<vi-title title="服务须知" class="mt20"></vi-title>
|
||||
<el-form-item label="疗休养服务须知" prop="notice">
|
||||
<text-editor v-model="formData.notice"></text-editor>
|
||||
</el-form-item>
|
||||
@@ -289,51 +339,24 @@ layout("/layouts/platform.html"){
|
||||
configName: [{required: true, message: '请填写配置名称', trigger: ['blur', 'change']}],
|
||||
isSnLine: [{required: true, message: '请选择省内线路是否需要审核', trigger: ['blur', 'change']}],
|
||||
isSwLine: [{required: true, message: '请选择省外线路是否需要审核', trigger: ['blur', 'change']}],
|
||||
outsideQuota: [{
|
||||
required: true,
|
||||
message: '请输入每条省外线路最多成团人数',
|
||||
trigger: ['blur', 'change']
|
||||
}],
|
||||
outsideNumber: [{
|
||||
required: true,
|
||||
message: '请填写省外几年去一次',
|
||||
trigger: ['blur', 'change']
|
||||
}],
|
||||
travelFrequency: [{
|
||||
required: true,
|
||||
message: '请填写每年旅行频率',
|
||||
trigger: ['blur', 'change']
|
||||
}],
|
||||
groupNumber: [{
|
||||
required: true,
|
||||
message: '请填写最少教工人数',
|
||||
trigger: ['blur', 'change']
|
||||
}],
|
||||
modifyDays: [{
|
||||
required: true,
|
||||
message: '请填写不可取消修改天数',
|
||||
trigger: ['blur', 'change']
|
||||
}],
|
||||
modifyNumber: [{
|
||||
required: true,
|
||||
message: '请填写可以修改几次',
|
||||
trigger: ['blur', 'change']
|
||||
}],
|
||||
outsideQuotaProportion: [{
|
||||
required: true,
|
||||
message: '请填写比例',
|
||||
trigger: ['blur', 'change']
|
||||
}],
|
||||
allLineSignUpNumber: [{
|
||||
required: true,
|
||||
message: '请输入全批次最多报名人数',
|
||||
trigger: ['blur', 'change']
|
||||
}],
|
||||
outsideQuota: [{required: true, message: '请输入每条省外线路最多成团人数', trigger: ['blur', 'change']}],
|
||||
outsideNumber: [{required: true, message: '请填写省外几年去一次', trigger: ['blur', 'change']}],
|
||||
travelFrequency: [{required: true, message: '请填写每年旅行频率', trigger: ['blur', 'change']}],
|
||||
groupNumber: [{required: true, message: '请填写最少教工人数', trigger: ['blur', 'change']}],
|
||||
modifyDays: [{required: true, message: '请填写不可取消修改天数', trigger: ['blur', 'change']}],
|
||||
modifyNumber: [{required: true, message: '请填写可以修改几次', trigger: ['blur', 'change']}],
|
||||
outsideQuotaProportion: [{required: true, message: '请填写比例', trigger: ['blur', 'change']}],
|
||||
allLineSignUpNumber: [{required: true, message: '请输入全批次最多报名人数', trigger: ['blur', 'change']}],
|
||||
notice: [{required: true, message: '请输入详细内容', trigger: ['change', 'blur']}],
|
||||
provinceStartYear: [{required: true, message: '请输入省内起始年份', trigger: ['change', 'blur']}],
|
||||
bedInfo: [{required: true, message: '请选择床位信息', trigger: ['change', 'blur']}],
|
||||
familyInfo: [{required: true, message: '请选择家属信息', trigger: ['change', 'blur']}],
|
||||
|
||||
conventionalCount: [{required: true, message: '请输入常规团最少成团人数', trigger: ['change', 'blur']}],
|
||||
boutiqueCount: [{required: true, message: '请输入精品团最少成团人数', trigger: ['change', 'blur']}],
|
||||
fragmentCount: [{required: true, message: '请输入分段式最少成团人数', trigger: ['change', 'blur']}],
|
||||
implodeTimes: [{required: true, message: '请选择集中疗休养报名时间', trigger: ['change', 'blur']}],
|
||||
fragmentTimes: [{required: true, message: '请选择分段疗休养报名时间', trigger: ['change', 'blur']}],
|
||||
fragmentPlayTimes: [{required: true, message: '请选择分段疗休养活动时间', trigger: ['change', 'blur']}],
|
||||
},
|
||||
marks: [],
|
||||
lotDeleteList: [],
|
||||
@@ -390,6 +413,21 @@ layout("/layouts/platform.html"){
|
||||
})
|
||||
const cloneData = clone(this.formData)
|
||||
|
||||
if(this.formData.implodeTimes && this.formData.implodeTimes.length > 0) {
|
||||
cloneData.implodeStartTime = this.formData.implodeTimes[0]
|
||||
cloneData.implodeEndTime = this.formData.implodeTimes[1]
|
||||
}
|
||||
|
||||
if(this.formData.fragmentTimes && this.formData.fragmentTimes.length > 0) {
|
||||
cloneData.fragmentStartTime = this.formData.fragmentTimes[0]
|
||||
cloneData.fragmentEndTime = this.formData.fragmentTimes[1]
|
||||
}
|
||||
|
||||
if(this.formData.fragmentPlayTimes && this.formData.fragmentPlayTimes.length > 0) {
|
||||
cloneData.fragmentPlayStartTime = this.formData.fragmentPlayTimes[0]
|
||||
cloneData.fragmentPlayEndTime = this.formData.fragmentPlayTimes[1]
|
||||
}
|
||||
|
||||
if (this.formData.files && this.formData.files.length > 0) {
|
||||
cloneData.files = JSON.stringify(this.formData.files)
|
||||
}
|
||||
@@ -417,6 +455,15 @@ layout("/layouts/platform.html"){
|
||||
if (data.outsideQuotaProportion) {
|
||||
data.outsideQuotaProportion = data.outsideQuotaProportion * 1000 / 10
|
||||
}
|
||||
if(data.implodeStartTime && data.implodeEndTime) {
|
||||
data.implodeTimes = [data.implodeStartTime, data.implodeEndTime]
|
||||
}
|
||||
if(data.fragmentStartTime && data.fragmentEndTime) {
|
||||
data.fragmentTimes = [data.fragmentStartTime, data.fragmentEndTime]
|
||||
}
|
||||
if(data.fragmentPlayStartTime && data.fragmentPlayEndTime) {
|
||||
data.fragmentPlayTimes = [data.fragmentPlayStartTime, data.fragmentPlayEndTime]
|
||||
}
|
||||
if (!data.lots) {
|
||||
data.lots = []
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user