commit
This commit is contained in:
+2
-1
@@ -191,7 +191,8 @@ public class TheRapyRecuperationBaseManagerController {
|
|||||||
@RequiresAuthentication
|
@RequiresAuthentication
|
||||||
public Object selectBaseManageById(String id) {
|
public Object selectBaseManageById(String id) {
|
||||||
Assert.notBlank(id);
|
Assert.notBlank(id);
|
||||||
return dao.fetchLinks(dao.fetch(TheRapyRecuperationBaseManagement.class, id), "travelAgency");
|
TheRapyRecuperationBaseManagement management = dao.fetch(TheRapyRecuperationBaseManagement.class, id);
|
||||||
|
return dao.fetchLinks(management, "travelAgency");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+6
-1
@@ -163,5 +163,10 @@ public class TheRapyRecuperationBaseManagement {
|
|||||||
@Column
|
@Column
|
||||||
@ColDefine(type = ColType.MYSQL_JSON)
|
@ColDefine(type = ColType.MYSQL_JSON)
|
||||||
@Comment("天数")
|
@Comment("天数")
|
||||||
private List<Double> allowDay;
|
private List<String> allowDay;
|
||||||
|
|
||||||
|
@Column
|
||||||
|
@ColDefine(type = ColType.VARCHAR)
|
||||||
|
@Comment("旅行社地点")
|
||||||
|
private String travelAgencyPlace;
|
||||||
}
|
}
|
||||||
|
|||||||
+21
-15
@@ -531,20 +531,21 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl<TheRapyR
|
|||||||
//省内起始年份
|
//省内起始年份
|
||||||
Integer provinceStartYear = config.getProvinceStartYear();
|
Integer provinceStartYear = config.getProvinceStartYear();
|
||||||
|
|
||||||
//先判断有没有报过
|
|
||||||
Map<Boolean, String> thisYearCount = this.validCountThisYear(loginName, travelFrequency);
|
|
||||||
if (thisYearCount != null && thisYearCount.containsKey(false)) {
|
|
||||||
return thisYearCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
//如果报酒店,酒店可以一年报2次
|
//如果报酒店,酒店可以一年报2次
|
||||||
if (StrUtil.isNotBlank(enrollInfo.getTakePartInBaseManagementId()) && StrUtil.isBlank(enrollInfo.getId())) {
|
if (StrUtil.isNotBlank(enrollInfo.getTakePartInBaseManagementId())) {
|
||||||
|
travelFrequency = 2;
|
||||||
Map<Boolean, String> validResult = this.validBaseManagementCount(loginName, enrollInfo);
|
Map<Boolean, String> validResult = this.validBaseManagementCount(loginName, enrollInfo);
|
||||||
if(validResult != null && validResult.containsKey(false)) {
|
if(validResult != null && validResult.containsKey(false)) {
|
||||||
return validResult;
|
return validResult;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//先判断有没有报过
|
||||||
|
Map<Boolean, String> thisYearCount = this.validCountThisYear(loginName, travelFrequency);
|
||||||
|
if (thisYearCount != null && thisYearCount.containsKey(false) && StrUtil.isBlank(enrollInfo.getId())) {
|
||||||
|
return thisYearCount;
|
||||||
|
}
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(enrollInfo.getTakePartInLineId())) {
|
if (StrUtil.isNotBlank(enrollInfo.getTakePartInLineId())) {
|
||||||
//线路信息
|
//线路信息
|
||||||
TheRapyRecuperationLineUnionSelect lineUnionSelect = dao().fetch(TheRapyRecuperationLineUnionSelect.class, enrollInfo.getTakePartInLineId());
|
TheRapyRecuperationLineUnionSelect lineUnionSelect = dao().fetch(TheRapyRecuperationLineUnionSelect.class, enrollInfo.getTakePartInLineId());
|
||||||
@@ -670,8 +671,9 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl<TheRapyR
|
|||||||
.and("isNormal", "=", true)
|
.and("isNormal", "=", true)
|
||||||
.and("takePartInBaseManagementId", "is not", null)
|
.and("takePartInBaseManagementId", "is not", null)
|
||||||
.and("YEAR(signingUptime)", "=", DateUtil.thisYear())
|
.and("YEAR(signingUptime)", "=", DateUtil.thisYear())
|
||||||
|
.asc("signingUptime")
|
||||||
);
|
);
|
||||||
if(enrollList.size() >= 2) {
|
if(StrUtil.isBlank(currentEnroll.getId()) && enrollList.size() >= 2) {
|
||||||
return Map.of(false, "您已经报名了%s次分段疗休养".formatted(enrollList.size()));
|
return Map.of(false, "您已经报名了%s次分段疗休养".formatted(enrollList.size()));
|
||||||
}
|
}
|
||||||
//如果报过第一次就要判断
|
//如果报过第一次就要判断
|
||||||
@@ -702,8 +704,7 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl<TheRapyR
|
|||||||
Cnd cnd = Cnd.NEW();
|
Cnd cnd = Cnd.NEW();
|
||||||
cnd.and("loginName", "=", loginName);
|
cnd.and("loginName", "=", loginName);
|
||||||
cnd.and("isNormal", "=", true);
|
cnd.and("isNormal", "=", true);
|
||||||
cnd.and("takePartInBaseManagementId", "is", null);
|
cnd.and("YEAR(signingUptime)", "=", io.v.nutz.base.utils.DateUtil.getYear());
|
||||||
cnd.and("YEAR(signingUptime)", "=", DateUtil.thisYear());
|
|
||||||
int joinCount = dao().count(TheRapyRecuperationEnroll.class, cnd);
|
int joinCount = dao().count(TheRapyRecuperationEnroll.class, cnd);
|
||||||
|
|
||||||
if (joinCount >= travelFrequency) {
|
if (joinCount >= travelFrequency) {
|
||||||
@@ -715,18 +716,23 @@ 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"))
|
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("takePartInLineId", "in", unionInSelects.stream().map(TheRapyRecuperationLineUnionSelect::getId).collect(Collectors.toList()))
|
||||||
.and("isNormal", "=", true)
|
.and("isNormal", "=", true)
|
||||||
.and("YEAR(signingUptime)", "=", DateUtil.thisYear()));
|
.and("YEAR(signingUptime)", "=", io.v.nutz.base.utils.DateUtil.getYear()));
|
||||||
//是否报省外
|
//是否报省外
|
||||||
int outCount = dao().count("the_rapy_recuperation_enroll", Cnd.where("loginName", "=", io.v.nutz.web.commons.utils.ShiroUtil.getPrincipalProperty("loginname"))
|
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("takePartInLineId", "in", unionOutSelects.stream().map(TheRapyRecuperationLineUnionSelect::getId).collect(Collectors.toList()))
|
||||||
.and("isNormal", "=", true)
|
.and("isNormal", "=", true)
|
||||||
.and("YEAR(signingUptime)", "=", DateUtil.thisYear()));
|
.and("YEAR(signingUptime)", "=", io.v.nutz.base.utils.DateUtil.getYear()));
|
||||||
//是否报旅行社
|
//是否报旅行社
|
||||||
int travelCount = dao().count("the_rapy_recuperation_enroll", Cnd.where("loginName", "=", io.v.nutz.web.commons.utils.ShiroUtil.getPrincipalProperty("loginname"))
|
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(Cnd.exps("takePartInLineId", "is", null).or("takePartInLineId", "=", ""))
|
||||||
.and("isNormal", "=", true)
|
.and("isNormal", "=", true)
|
||||||
.and("takePartInTravelAgencyId", "is not", null)
|
.and("takePartInTravelAgencyId", "is not", null)
|
||||||
.and("YEAR(signingUptime)", "=", DateUtil.thisYear()));
|
.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()));
|
||||||
String str = "";
|
String str = "";
|
||||||
if (inCount > 0) {
|
if (inCount > 0) {
|
||||||
str = "省内线路";
|
str = "省内线路";
|
||||||
@@ -734,6 +740,8 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl<TheRapyR
|
|||||||
str = "省外线路";
|
str = "省外线路";
|
||||||
} else if (travelCount > 0) {
|
} else if (travelCount > 0) {
|
||||||
str = "旅行社";
|
str = "旅行社";
|
||||||
|
} else if (hotelCount > 0) {
|
||||||
|
str = "酒店";
|
||||||
}
|
}
|
||||||
return Map.of(false, "一年只能报" + travelFrequency + "次,您已报" + str + ",请先在我的疗休养中删除,方可报名!");
|
return Map.of(false, "一年只能报" + travelFrequency + "次,您已报" + str + ",请先在我的疗休养中删除,方可报名!");
|
||||||
}
|
}
|
||||||
@@ -874,8 +882,6 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl<TheRapyR
|
|||||||
@Aop(TransAop.READ_COMMITTED)
|
@Aop(TransAop.READ_COMMITTED)
|
||||||
public void deleteMyEnrollInfoById(String id) {
|
public void deleteMyEnrollInfoById(String id) {
|
||||||
TheRapyRecuperationEnroll enrollInfo = fetch(id);
|
TheRapyRecuperationEnroll enrollInfo = fetch(id);
|
||||||
TheRapyRecuperationLineUnionSelect lineUnionSelect = dao().fetch(TheRapyRecuperationLineUnionSelect.class, enrollInfo.getTakePartInLineId());
|
|
||||||
TheRapyRecuperationLine lineInfo = dao().fetch(TheRapyRecuperationLine.class, lineUnionSelect.getLineId());
|
|
||||||
dao().clearLinks(enrollInfo, "companionList|bedInfo");
|
dao().clearLinks(enrollInfo, "companionList|bedInfo");
|
||||||
delete(id);
|
delete(id);
|
||||||
dao().clear(TheRapyRecuperationEnrollChangeRecord.class, Cnd.where("enrollId", "=", id));
|
dao().clear(TheRapyRecuperationEnrollChangeRecord.class, Cnd.where("enrollId", "=", id));
|
||||||
|
|||||||
@@ -14,21 +14,8 @@
|
|||||||
<!-- (校工会创建AND自由模式) OR (分工会创建) -->
|
<!-- (校工会创建AND自由模式) OR (分工会创建) -->
|
||||||
<!-- <template v-if="(viewData.createMode === 2 && viewData.signUpMode === 2 ) || viewData.createMode === 1">-->
|
<!-- <template v-if="(viewData.createMode === 2 && viewData.signUpMode === 2 ) || viewData.createMode === 1">-->
|
||||||
<!--<el-descriptions-item label="出行天数">{{ viewData.regionalNature=5?"五天四夜":"三天两夜" }}</el-descriptions-item>-->
|
<!--<el-descriptions-item label="出行天数">{{ viewData.regionalNature=5?"五天四夜":"三天两夜" }}</el-descriptions-item>-->
|
||||||
<el-descriptions-item label="标段时间">
|
|
||||||
<div v-for="item in modifyBdList">
|
|
||||||
<span v-if="viewData.lotId===item.id">{{ item.lotName }}</span>
|
|
||||||
</div>
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="预计费用(元)">{{ viewData.estimatedCost }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="酒店联系人">{{ viewData.baseContactPerson }}</el-descriptions-item>
|
<el-descriptions-item label="酒店联系人">{{ viewData.baseContactPerson }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="联系人电话">{{ viewData.baseContactNumber }}</el-descriptions-item>
|
<el-descriptions-item label="联系人电话">{{ viewData.baseContactNumber }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="报名开始时间">{{ viewData.signUpStartTime }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="报名结束时间">{{ viewData.signUpEndTime }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item :span="2" label="变更截至时间">{{ viewData.changeEndTime }}</el-descriptions-item>
|
|
||||||
|
|
||||||
<el-descriptions-item label="活动开始时间">{{ viewData.activityStartTime }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="活动结束时间">{{ viewData.activityEndTime }}</el-descriptions-item>
|
|
||||||
|
|
||||||
|
|
||||||
<!--</template>-->
|
<!--</template>-->
|
||||||
|
|
||||||
|
|||||||
@@ -95,7 +95,7 @@
|
|||||||
url: url,
|
url: url,
|
||||||
container: "#container",
|
container: "#container",
|
||||||
maxCacheLength: 0,
|
maxCacheLength: 0,
|
||||||
push: true,
|
push: false,
|
||||||
replace: true,
|
replace: true,
|
||||||
fragment: "#container",
|
fragment: "#container",
|
||||||
timeout: 8000,
|
timeout: 8000,
|
||||||
|
|||||||
@@ -45,10 +45,6 @@ layout("/mobile/platform.html"){
|
|||||||
height: 30px;
|
height: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.backTop {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
background-color: white;
|
background-color: white;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
@@ -247,7 +243,11 @@ layout("/mobile/platform.html"){
|
|||||||
|
|
||||||
.pdf_div {
|
.pdf_div {
|
||||||
padding-bottom: 12px;
|
padding-bottom: 12px;
|
||||||
height: 800px;
|
height: calc(100vh - 46px - 60px - 151px - 50px);
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
.backTop {
|
||||||
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
@@ -579,7 +579,8 @@ layout("/mobile/platform.html"){
|
|||||||
methods: {
|
methods: {
|
||||||
playDayConfirm(val) {
|
playDayConfirm(val) {
|
||||||
this.formData.playDay = val.value
|
this.formData.playDay = val.value
|
||||||
this.lotValue = val.value === 2.5 ? 3 : val.value
|
this.lotValue = val.value == 2.5 ? 3 : val.value
|
||||||
|
this.formData.specificTime = ''
|
||||||
this.playDayVisible = false
|
this.playDayVisible = false
|
||||||
},
|
},
|
||||||
specificTimeClick() {
|
specificTimeClick() {
|
||||||
@@ -592,7 +593,7 @@ layout("/mobile/platform.html"){
|
|||||||
pageBack() {
|
pageBack() {
|
||||||
window.removeEventListener('scroll', this.scrollToTop)
|
window.removeEventListener('scroll', this.scrollToTop)
|
||||||
document.removeEventListener('click', this.handleClick)
|
document.removeEventListener('click', this.handleClick)
|
||||||
if(['find', 'editDo'].includes(this.fromUrlByMy)) {
|
if(['find', 'edit'].includes(this.fromUrlByMy)) {
|
||||||
pjaxReplace('/platform/mobile/theRapyRecuperation/myRecuperation')
|
pjaxReplace('/platform/mobile/theRapyRecuperation/myRecuperation')
|
||||||
} else {
|
} else {
|
||||||
pjaxReplace('/platform/mobile/theRapyRecuperation/mobileLineListPage')
|
pjaxReplace('/platform/mobile/theRapyRecuperation/mobileLineListPage')
|
||||||
@@ -695,17 +696,16 @@ layout("/mobile/platform.html"){
|
|||||||
const resp = await $.post('/platform/theRapyRecuperation/line/enroll/doSignUpForBaseManagement', {
|
const resp = await $.post('/platform/theRapyRecuperation/line/enroll/doSignUpForBaseManagement', {
|
||||||
enroll: JSON.stringify(cloneData),
|
enroll: JSON.stringify(cloneData),
|
||||||
})
|
})
|
||||||
toast.close()
|
setTimeout(() => {
|
||||||
if (resp.code === 0) {
|
toast.clear()
|
||||||
vant.Dialog.alert({
|
vant.Dialog.alert({
|
||||||
title: '温馨提示',
|
title: '温馨提示',
|
||||||
message: this.enrollId ? '修改成功,请务必联系并告知旅行社' : resp.msg,
|
message: resp.msg,
|
||||||
}).then(() => {
|
|
||||||
pjaxReplace('/platform/mobile/theRapyRecuperation/myRecuperation?index=' + this.index)
|
|
||||||
})
|
})
|
||||||
} else {
|
if (resp.code === 0) {
|
||||||
vant.Toast(resp.msg)
|
pjaxReplace('/platform/mobile/theRapyRecuperation/myRecuperation?index=' + this.index)
|
||||||
}
|
}
|
||||||
|
}, 1000)
|
||||||
},
|
},
|
||||||
addCompanion() {
|
addCompanion() {
|
||||||
this.formData.companionList.push({userName: '', loginName: '', sex: '', relation: '', bedInfo: {}})
|
this.formData.companionList.push({userName: '', loginName: '', sex: '', relation: '', bedInfo: {}})
|
||||||
@@ -963,7 +963,7 @@ layout("/mobile/platform.html"){
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
window.addEventListener('scroll', this.scrollToTop)
|
//window.addEventListener('scroll', this.scrollToTop)
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
|
|
||||||
|
|||||||
@@ -15,10 +15,6 @@ layout("/mobile/platform.html"){
|
|||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.backTop {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
@@ -30,7 +26,11 @@ layout("/mobile/platform.html"){
|
|||||||
|
|
||||||
.pdf_div {
|
.pdf_div {
|
||||||
padding-bottom: 70px;
|
padding-bottom: 70px;
|
||||||
height: 800px;
|
height: calc(100vh - 46px - 60px - 151px - 170px);
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
.backTop {
|
||||||
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
@@ -249,12 +249,16 @@ layout("/mobile/platform.html"){
|
|||||||
{{lineData.lineName}}
|
{{lineData.lineName}}
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 10px">
|
<div style="margin-top: 10px">
|
||||||
<div v-if="lineData.regionalNature == '省内'">
|
<div>
|
||||||
<div>
|
<div>
|
||||||
<span class="line_label">成团人数包括家属:</span>
|
<span class="line_label">最少成团人数:</span>
|
||||||
<label v-if="lineData.estimatedFamilyNumbers">{{lineData.estimatedFamilyNumbers}}人</label>
|
<label v-if="lineData.minimumGroupSize">{{lineData.minimumGroupSize}}人</label>
|
||||||
<label v-else>不限制</label>
|
<label v-else>不限制</label>
|
||||||
</div>
|
</div>
|
||||||
|
<!--<div>
|
||||||
|
<span>当前报名:</span>
|
||||||
|
{{lineData.signUpUserNum}}
|
||||||
|
</div>-->
|
||||||
<div v-if="configData.familyInfo == 2">
|
<div v-if="configData.familyInfo == 2">
|
||||||
<span>当前报名:</span>
|
<span>当前报名:</span>
|
||||||
{{lineData.signUpUserNum + lineData.signUpUserFamilyNum + '(家属' + lineData.signUpUserFamilyNum + '人)'}}
|
{{lineData.signUpUserNum + lineData.signUpUserFamilyNum + '(家属' + lineData.signUpUserFamilyNum + '人)'}}
|
||||||
@@ -265,25 +269,10 @@ layout("/mobile/platform.html"){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-else>
|
|
||||||
<div>
|
|
||||||
<span class="line_label">最多成团人数:</span>
|
|
||||||
<label>{{configData.outsideQuota}}人</label>
|
|
||||||
</div>
|
|
||||||
<div v-if="configData.familyInfo == 2">
|
|
||||||
<span>当前报名:</span>
|
|
||||||
{{lineData.signUpUserNum + '(家属' + lineData.signUpUserFamilyNum + '人)'}}
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
<span>当前报名:</span>
|
|
||||||
{{lineData.signUpUserNum + '(家属' + lineData.familyNumber + '人)'}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<span>报名时间:</span>
|
<span>报名时间:</span>
|
||||||
{{moment(lineData.signUpStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
{{moment(configData.implodeStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
||||||
moment(lineData.signUpEndTime).format('YYYY-MM-DD HH:mm')}}
|
moment(configData.implodeEndTime).format('YYYY-MM-DD HH:mm')}}
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>出行时间:</span>
|
<span>出行时间:</span>
|
||||||
@@ -301,8 +290,6 @@ layout("/mobile/platform.html"){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<van-divider :style="{ color: 'orange', fontSize: '12px' }">上下滑动翻页,单击查看,再单击返回</van-divider>
|
<van-divider :style="{ color: 'orange', fontSize: '12px' }">上下滑动翻页,单击查看,再单击返回</van-divider>
|
||||||
<!--<div v-if="lineData.content" v-html="lineData.content" class="content"></div>
|
|
||||||
<div v-else v-html="configData.notice" class="content"></div>-->
|
|
||||||
<div v-if="isPdf" v-html="lineData.content" class="content"></div>
|
<div v-if="isPdf" v-html="lineData.content" class="content"></div>
|
||||||
<div v-else id="demo" class="pdf_div"></div>
|
<div v-else id="demo" class="pdf_div"></div>
|
||||||
|
|
||||||
@@ -320,17 +307,17 @@ layout("/mobile/platform.html"){
|
|||||||
|
|
||||||
<!--底部报名按钮-->
|
<!--底部报名按钮-->
|
||||||
<div class="footer" v-if="fromUrlByMy != 'edit'">
|
<div class="footer" v-if="fromUrlByMy != 'edit'">
|
||||||
<template v-if="lineData.isNormal==0&&lineData.isNormalFalse>0">
|
<template v-if="lineData.isNormal == 0 && lineData.isNormalFalse > 0">
|
||||||
<van-button @click="join" class="join">我要报名</van-button>
|
<van-button @click="join" class="join">我要报名</van-button>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<van-button v-if="moment().unix() <= moment(lineData.changeEndTime).unix()" @click="join"
|
<van-button v-if="moment().unix() >= moment(configData.implodeStartTime).unix() && moment().unix() <= moment(configData.implodeEndTime).unix()"
|
||||||
|
@click="join"
|
||||||
class="join">我要报名
|
class="join">我要报名
|
||||||
</van-button>
|
</van-button>
|
||||||
<van-button v-if="moment().unix() > moment(lineData.changeEndTime).unix()" class="join">报名结束
|
<van-button v-if="moment().unix() > moment(configData.implodeEndTime).unix()" class="join">报名结束
|
||||||
</van-button>
|
</van-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -360,7 +347,7 @@ layout("/mobile/platform.html"){
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--床位信息-->
|
<!--床位信息-->
|
||||||
<div v-if="configData.bedInfo === true" class="van-doc-card" style="margin-bottom: 16px">
|
<!--<div v-if="configData.bedInfo === true" class="van-doc-card" style="margin-bottom: 16px">
|
||||||
<div></div>
|
<div></div>
|
||||||
<div class="van-card-header">
|
<div class="van-card-header">
|
||||||
床位信息
|
床位信息
|
||||||
@@ -389,10 +376,10 @@ layout("/mobile/platform.html"){
|
|||||||
v-model="formData.bedInfo.otherSleepUser"
|
v-model="formData.bedInfo.otherSleepUser"
|
||||||
:rules="[{ required: true }]"></van-field>
|
:rules="[{ required: true }]"></van-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>-->
|
||||||
|
|
||||||
<!--随行人信息-->
|
<!--随行人信息-->
|
||||||
<div class="van-doc-card" style="margin-bottom: 16px">
|
<!--<div class="van-doc-card" style="margin-bottom: 16px">
|
||||||
<div></div>
|
<div></div>
|
||||||
<div class="van-card-header"
|
<div class="van-card-header"
|
||||||
style="display: flex; justify-content: space-between; align-items: center">
|
style="display: flex; justify-content: space-between; align-items: center">
|
||||||
@@ -411,7 +398,7 @@ layout("/mobile/platform.html"){
|
|||||||
<van-field label="姓名" name="userName" placeholder="请填写姓名"
|
<van-field label="姓名" name="userName" placeholder="请填写姓名"
|
||||||
v-model="item.userName"
|
v-model="item.userName"
|
||||||
:rules="[{ required: true }]"></van-field>
|
:rules="[{ required: true }]"></van-field>
|
||||||
<!--<van-field label="一卡通号" name="loginName" placeholder="若没有工号,请忽略此项" v-model="item.loginName"></van-field>-->
|
<!–<van-field label="一卡通号" name="loginName" placeholder="若没有工号,请忽略此项" v-model="item.loginName"></van-field>–>
|
||||||
<van-field label="年龄" name="age" placeholder="请填写年龄" v-model="item.age"
|
<van-field label="年龄" name="age" placeholder="请填写年龄" v-model="item.age"
|
||||||
type="digit" :rules="[{ required: true }]"></van-field>
|
type="digit" :rules="[{ required: true }]"></van-field>
|
||||||
<van-field :rules="[{ required: true, message: '请选择性别' }]" label="性别"
|
<van-field :rules="[{ required: true, message: '请选择性别' }]" label="性别"
|
||||||
@@ -472,7 +459,7 @@ layout("/mobile/platform.html"){
|
|||||||
<van-field label="家属数量" name="familyNumber" placeholder="请填写家属数量" v-model="formData.familyNumber"
|
<van-field label="家属数量" name="familyNumber" placeholder="请填写家属数量" v-model="formData.familyNumber"
|
||||||
type="digit" :rules="[{ required: true }]"></van-field>
|
type="digit" :rules="[{ required: true }]"></van-field>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>-->
|
||||||
|
|
||||||
<div class="sign_div" v-if="formData.companionList.length > 0">
|
<div class="sign_div" v-if="formData.companionList.length > 0">
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
@@ -591,9 +578,8 @@ layout("/mobile/platform.html"){
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
pageBack() {
|
pageBack() {
|
||||||
window.removeEventListener('scroll', this.scrollToTop)
|
|
||||||
document.removeEventListener('click', this.handleClick)
|
document.removeEventListener('click', this.handleClick)
|
||||||
if(['find', 'editDo'].includes(this.fromUrlByMy)) {
|
if(['find', 'edit'].includes(this.fromUrlByMy)) {
|
||||||
pjaxReplace('/platform/mobile/theRapyRecuperation/myRecuperation')
|
pjaxReplace('/platform/mobile/theRapyRecuperation/myRecuperation')
|
||||||
} else {
|
} else {
|
||||||
pjaxReplace('/platform/mobile/theRapyRecuperation/mobileLineListPage')
|
pjaxReplace('/platform/mobile/theRapyRecuperation/mobileLineListPage')
|
||||||
@@ -677,16 +663,11 @@ layout("/mobile/platform.html"){
|
|||||||
enroll: JSON.stringify(cloneData),
|
enroll: JSON.stringify(cloneData),
|
||||||
})
|
})
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (resp.code === 0) {
|
toast.clear()
|
||||||
toast.message = '提交成功'
|
vant.Dialog.alert({
|
||||||
toast.type = 'success'
|
title: '温馨提示',
|
||||||
} else {
|
message: resp.msg,
|
||||||
toast.message = resp.msg
|
})
|
||||||
toast.type = 'fail'
|
|
||||||
}
|
|
||||||
setTimeout(() => {
|
|
||||||
toast.clear()
|
|
||||||
}, 500)
|
|
||||||
if (resp.code === 0) {
|
if (resp.code === 0) {
|
||||||
pjaxReplace('/platform/mobile/theRapyRecuperation/myRecuperation?index=' + this.index)
|
pjaxReplace('/platform/mobile/theRapyRecuperation/myRecuperation?index=' + this.index)
|
||||||
}
|
}
|
||||||
@@ -866,10 +847,10 @@ layout("/mobile/platform.html"){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
window.addEventListener('scroll', this.scrollToTop)
|
//window.addEventListener('scroll', this.scrollToTop)
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
|
//window.removeEventListener('scroll', this.scrollToTop)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -108,7 +108,8 @@ layout("/mobile/platform.html"){
|
|||||||
}
|
}
|
||||||
|
|
||||||
.van-list {
|
.van-list {
|
||||||
padding-bottom: 10px;
|
height: calc(100vh - 43px - 116px - 20px);
|
||||||
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.van-row {
|
.van-row {
|
||||||
@@ -172,14 +173,14 @@ layout("/mobile/platform.html"){
|
|||||||
@click="pageForm.lineUnionType = 3; getData()">
|
@click="pageForm.lineUnionType = 3; getData()">
|
||||||
校工会组织
|
校工会组织
|
||||||
</van-button>
|
</van-button>
|
||||||
<van-button :class="pageForm.lineUnionType == 1 ? 'active' : 'no_active'"
|
<!--<van-button :class="pageForm.lineUnionType == 1 ? 'active' : 'no_active'"
|
||||||
@click="pageForm.lineUnionType = 1; getData()">
|
@click="pageForm.lineUnionType = 1; getData()">
|
||||||
本分工会
|
本分工会
|
||||||
</van-button>
|
</van-button>
|
||||||
<van-button :class="pageForm.lineUnionType == 2 ? 'active' : 'no_active'"
|
<van-button :class="pageForm.lineUnionType == 2 ? 'active' : 'no_active'"
|
||||||
@click="otherUnionClick">
|
@click="otherUnionClick">
|
||||||
其他分工会
|
其他分工会
|
||||||
</van-button>
|
</van-button>-->
|
||||||
<van-button :class="pageForm.lineUnionType == 4 ? 'active' : 'no_active'"
|
<van-button :class="pageForm.lineUnionType == 4 ? 'active' : 'no_active'"
|
||||||
@click="pageForm.lineUnionType = 4; getData()">
|
@click="pageForm.lineUnionType = 4; getData()">
|
||||||
个人组织
|
个人组织
|
||||||
|
|||||||
@@ -332,14 +332,18 @@ layout("/mobile/platform.html"){
|
|||||||
<div class="mobile">
|
<div class="mobile">
|
||||||
<span>联系方式:</span>{{o.contactMobileNumber}}
|
<span>联系方式:</span>{{o.contactMobileNumber}}
|
||||||
</div>
|
</div>
|
||||||
<div class="mobile" v-if="![2715,2725,2735].includes(o.stateId)">
|
<!--<div class="mobile" v-if="![2715,2725,2735].includes(o.stateId)">
|
||||||
<span v-if="configData.familyInfo === 1">随行家属:</span
|
<span v-if="configData.familyInfo === 1">随行家属:</span>
|
||||||
>{{o.companionUserNames ? o.companionUserNames : '无'}}
|
{{o.companionUserNames ? o.companionUserNames : '无'}}
|
||||||
<span v-else>随行家属:</span>{{o.familyNumber}}人
|
<span v-else>随行家属:</span>
|
||||||
|
{{o.familyNumber}}人
|
||||||
</div>
|
</div>
|
||||||
<div class="mobile" v-else>
|
<div class="mobile" v-else>
|
||||||
<span>审核状态:</span
|
<span>审核状态:</span>
|
||||||
><span :style="'color: ' + o.stateColor">{{o.stateName}}</span>
|
<span :style="'color: ' + o.stateColor">{{o.stateName}}</span>
|
||||||
|
</div>-->
|
||||||
|
<div class="mobile">
|
||||||
|
<span>旅 行 社:</span>{{o.travelAgencyName}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -360,8 +364,8 @@ layout("/mobile/platform.html"){
|
|||||||
<span>邮箱:</span>{{o.email}}
|
<span>邮箱:</span>{{o.email}}
|
||||||
</div>-->
|
</div>-->
|
||||||
<div class="union" style="margin-top: 0">
|
<div class="union" style="margin-top: 0">
|
||||||
<span>官网:</span
|
<span>官网:</span
|
||||||
><span
|
><span
|
||||||
style="color: #0e5996"
|
style="color: #0e5996"
|
||||||
@click.stop="window.open(o.officialWebsite.indexOf('http') !== -1 ? o.officialWebsite : 'https://' + o.officialWebsite)"
|
@click.stop="window.open(o.officialWebsite.indexOf('http') !== -1 ? o.officialWebsite : 'https://' + o.officialWebsite)"
|
||||||
>{{o.officialWebsite}}</span
|
>{{o.officialWebsite}}</span
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ layout("/mobile/platform.html"){
|
|||||||
|
|
||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
<van-sticky>
|
<van-sticky>
|
||||||
<van-nav-bar @click-left="history.back()" fixed left-arrow placeholder
|
<van-nav-bar @click-left="pjaxReplace('/platform/mobile/theRapyRecuperation/mobileLineListPage')" fixed left-arrow placeholder
|
||||||
title="报名人员"></van-nav-bar>
|
title="报名人员"></van-nav-bar>
|
||||||
</van-sticky>
|
</van-sticky>
|
||||||
|
|
||||||
|
|||||||
+28
-29
@@ -158,7 +158,8 @@ layout("/layouts/platform.html"){
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :md="12" :sm="24" :xs="24">
|
<el-col :md="12" :sm="24" :xs="24">
|
||||||
<el-form-item label="旅行社名称" prop="travelAgencyId">
|
<el-form-item label="旅行社名称" prop="travelAgencyId">
|
||||||
<el-select clearable filterable style="width: 100%" v-model="formData.travelAgencyId" placeholder="请选择旅行社名称">
|
<el-select clearable filterable style="width: 100%" @change="$set(formData,'travelAgencyPlace','')"
|
||||||
|
v-model="formData.travelAgencyId" placeholder="请选择旅行社名称">
|
||||||
<el-option :key="item.id"
|
<el-option :key="item.id"
|
||||||
:label="item.travelAgencyName+'('+ item.year +'年)'"
|
:label="item.travelAgencyName+'('+ item.year +'年)'"
|
||||||
:value="item.id"
|
:value="item.id"
|
||||||
@@ -169,20 +170,16 @@ layout("/layouts/platform.html"){
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<!--<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>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>-->
|
|
||||||
<el-col :md="12" :sm="24" :xs="24">
|
<el-col :md="12" :sm="24" :xs="24">
|
||||||
<el-form-item label="活动范围" prop="regionalNature">
|
<el-form-item label="旅行社地点" prop="travelAgencyPlace">
|
||||||
<el-radio-group size="small" v-model="formData.regionalNature">
|
<el-select clearable filterable style="width: 100%" v-model="formData.travelAgencyPlace"
|
||||||
<el-radio label="省内" border>省内</el-radio>
|
placeholder="请选择旅行社地点">
|
||||||
<el-radio label="省外" border>省外</el-radio>
|
<el-option :key="index"
|
||||||
</el-radio-group>
|
:label="item"
|
||||||
|
:value="item"
|
||||||
|
v-for="(item,index) in (travelAgencyList?.find(v => v.id === formData.travelAgencyId) ?? {}).travelAgencyPlaces"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :md="12" :sm="24" :xs="24">
|
<el-col :md="12" :sm="24" :xs="24">
|
||||||
@@ -196,9 +193,9 @@ layout("/layouts/platform.html"){
|
|||||||
></el-option>
|
></el-option>
|
||||||
</el-select>-->
|
</el-select>-->
|
||||||
<el-select clearable multiple filterable style="width: 100%" v-model="formData.allowDay" placeholder="请选择天数">
|
<el-select clearable multiple filterable style="width: 100%" v-model="formData.allowDay" placeholder="请选择天数">
|
||||||
<el-option value="3">3天</el-option>
|
<el-option label="3天" value="3"></el-option>
|
||||||
<el-option value="2">2天</el-option>
|
<el-option label="2天" value="2"></el-option>
|
||||||
<el-option value="2.5">2.5天</el-option>
|
<el-option label="2.5天" value="2.5"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@@ -219,7 +216,15 @@ layout("/layouts/platform.html"){
|
|||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :md="12" :sm="24" :xs="24">
|
<el-col :md="6" :sm="24" :xs="24">
|
||||||
|
<el-form-item label="活动范围" prop="regionalNature">
|
||||||
|
<el-radio-group size="small" v-model="formData.regionalNature">
|
||||||
|
<el-radio label="省内" border>省内</el-radio>
|
||||||
|
<el-radio label="省外" border>省外</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :md="6" :sm="24" :xs="24">
|
||||||
<el-form-item label="周几入住" prop="weekIn">
|
<el-form-item label="周几入住" prop="weekIn">
|
||||||
<el-radio-group size="small" v-model="formData.weekIn" @input="weekChange">
|
<el-radio-group size="small" v-model="formData.weekIn" @input="weekChange">
|
||||||
<el-radio :label="1" border>不限</el-radio>
|
<el-radio :label="1" border>不限</el-radio>
|
||||||
@@ -525,7 +530,7 @@ layout("/layouts/platform.html"){
|
|||||||
//{label: '标段时间', prop: 'lotId', sortable: true},
|
//{label: '标段时间', prop: 'lotId', sortable: true},
|
||||||
{label: '联系人', prop: 'baseContactPerson', sortable: true},
|
{label: '联系人', prop: 'baseContactPerson', sortable: true},
|
||||||
{label: '联系人电话', prop: 'baseContactNumber', sortable: true},
|
{label: '联系人电话', prop: 'baseContactNumber', sortable: true},
|
||||||
{label: '活动时间', prop: 'activityTime', sortable: true},
|
//{label: '活动时间', prop: 'activityTime', sortable: true},
|
||||||
//{label: '创建工会', prop: 'createUnionName', sortable: true},
|
//{label: '创建工会', prop: 'createUnionName', sortable: true},
|
||||||
{label: '活动范围', prop: 'regionalNature', sortable: true},
|
{label: '活动范围', prop: 'regionalNature', sortable: true},
|
||||||
//{label: '组织形式', prop: 'signUpMode', sortable: true},
|
//{label: '组织形式', prop: 'signUpMode', sortable: true},
|
||||||
@@ -547,18 +552,11 @@ layout("/layouts/platform.html"){
|
|||||||
files: [{required: true, message: '请上传图片', trigger: ['change', 'blur']}],
|
files: [{required: true, message: '请上传图片', trigger: ['change', 'blur']}],
|
||||||
createMode: [{required: true, message: '请选择组织方式', trigger: ['change', 'blur']}],
|
createMode: [{required: true, message: '请选择组织方式', trigger: ['change', 'blur']}],
|
||||||
weekIn: [{required: true, message: '请选择组织方式', trigger: ['change', 'blur']}],
|
weekIn: [{required: true, message: '请选择组织方式', trigger: ['change', 'blur']}],
|
||||||
activityStartTime: [{
|
activityStartTime: [{required: true, validator: validateActivityStartTime, trigger: ['change', 'blur']}],
|
||||||
required: true,
|
activityEndTime: [{required: true, validator: validateActivityEndTime, trigger: ['change', 'blur']}],
|
||||||
validator: validateActivityStartTime,
|
|
||||||
trigger: ['change', 'blur']
|
|
||||||
}],
|
|
||||||
activityEndTime: [{
|
|
||||||
required: true,
|
|
||||||
validator: validateActivityEndTime,
|
|
||||||
trigger: ['change', 'blur']
|
|
||||||
}],
|
|
||||||
estimatedCost: [{required: true, message: '请输入预计费用', trigger: ['change', 'blur']}],
|
estimatedCost: [{required: true, message: '请输入预计费用', trigger: ['change', 'blur']}],
|
||||||
allowDay: [{required: true, message: '请选择天数', trigger: ['change', 'blur']}],
|
allowDay: [{required: true, message: '请选择天数', trigger: ['change', 'blur']}],
|
||||||
|
travelAgencyPlace: [{required: true, message: '请选择旅行社地点', trigger: ['change', 'blur']}],
|
||||||
},
|
},
|
||||||
//目的地导入
|
//目的地导入
|
||||||
importVisible: false,
|
importVisible: false,
|
||||||
@@ -650,6 +648,7 @@ layout("/layouts/platform.html"){
|
|||||||
background: 'rgba(0, 0, 0, 0.7)'
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
});
|
});
|
||||||
this.formData.weekCheckIn = JSON.stringify(this.formData.weekCheckIn)
|
this.formData.weekCheckIn = JSON.stringify(this.formData.weekCheckIn)
|
||||||
|
this.formData.allowDay = JSON.stringify(this.formData.allowDay)
|
||||||
const resp = await $.post(loc() + '/doSubmit', this.formData)
|
const resp = await $.post(loc() + '/doSubmit', this.formData)
|
||||||
loading.close()
|
loading.close()
|
||||||
if (resp.code === 0) {
|
if (resp.code === 0) {
|
||||||
|
|||||||
@@ -475,11 +475,11 @@ layout("/layouts/platform.html"){
|
|||||||
size="mini" type="primary">新增出行时间
|
size="mini" type="primary">新增出行时间
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-alert closable show-icon style="margin:10px 0"
|
<!--<el-alert closable show-icon style="margin:10px 0"
|
||||||
title="温馨提醒:变更时间应该大于报名截至时间,小于出行时间。"
|
title="温馨提醒:变更时间应该大于报名截至时间,小于出行时间。"
|
||||||
type="warning"></el-alert>
|
type="warning"></el-alert>-->
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row justify="end" type="flex">
|
<el-row justify="end" type="flex" class="mt20">
|
||||||
<el-button @click="setLineTimeDialog=false">取消</el-button>
|
<el-button @click="setLineTimeDialog=false">取消</el-button>
|
||||||
<el-button @click="doSelect" type="primary">提交</el-button>
|
<el-button @click="doSelect" type="primary">提交</el-button>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -981,8 +981,8 @@ layout("/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
if(resp.data && resp.data.length > 0){
|
if(resp.data && resp.data.length > 0){
|
||||||
resp.data.forEach(item => {
|
resp.data.forEach(item => {
|
||||||
item.chooseUserList = JSON.parse(item.chooseUserList)
|
item.chooseUserList = JSON.parse(item.chooseUserList || '[]')
|
||||||
item.signScope = JSON.parse(item.signScope)
|
item.signScope = JSON.parse(item.signScope || '[]')
|
||||||
})
|
})
|
||||||
this.$set(this.formData, 'times', resp.data)
|
this.$set(this.formData, 'times', resp.data)
|
||||||
}else{
|
}else{
|
||||||
|
|||||||
Reference in New Issue
Block a user