This commit is contained in:
JyuHsin
2026-02-26 16:43:09 +08:00
parent 7c304c71ed
commit 9f818e1cde
3 changed files with 60 additions and 3 deletions
@@ -150,4 +150,9 @@ public class TrainSignUpCourse extends BaseModel implements Serializable {
@Comment("二维码")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String classQrCode;
@Column
@ColDefine(customType = "longtext")
@Comment("详细信息")
private String introduce;
}
@@ -153,6 +153,17 @@ layout("/mobile/platform.html"){
padding: 0;
}
.success_tooltip {
width: 90%;
margin: 10px auto 0;
text-align: center;
border-radius: 6px;
background: #F5F7FA;
line-height: 40px;
font-size: 13px;
color: #666666;
}
</style>
<div id="app" v-cloak>
<van-sticky>
@@ -215,10 +226,14 @@ layout("/mobile/platform.html"){
style="color: #1867b0">点我查看</span>
<span @click="trainClick(o)" v-if="o.courseTimeList && o.courseTimeList.length === 1"
style="color: #1867b0">
{{o.courseTimeList[0].courseStartTime.substring(11, 19) + ' ~ ' + o.courseTimeList[0].courseEndTime.substring(11, 19)}}
</span>
{{ moment(o.courseTimeList[0].courseStartTime).format('MM月DD日 HH:mm') + ' ~ ' + moment(o.courseTimeList[0].courseEndTime).format('HH:mm') }}
</span>
</template>
</div>
<div v-if="o.introduce">
<span class="train-title">详细信息:</span>
<span @click="onCourseIntroduce(o)" style="color: #1867b0">点击查看</span>
</div>
<template v-if="o.courseTimeName">
<div>
<span class="train-title">报名时段:</span>
@@ -355,6 +370,21 @@ layout("/mobile/platform.html"){
</div>
</van-popup>
<van-dialog v-model="codeShow" title="温馨提示" confirm-button-color="#1867b0">
<div v-if="choose.classQrCode" class="success_tooltip">恭喜您,报名成功</div>
<div v-if="choose.classQrCode">
<img style="width: 100%; height: 400px; object-fit: contain"
@click.stop="showPic(FILE_DOMAIN + '/fileStreamPreview?id=' + choose.classQrCode)"
:src="FILE_DOMAIN + '/fileStreamPreview?id=' + choose.classQrCode" />
</div>
<div v-if="!choose.classQrCode" class="van-dialog__content">
<div class="van-dialog__message van-dialog__message--has-title">恭喜您,报名成功</div>
</div>
</van-dialog>
<van-action-sheet title="详细信息" v-model="introduceVisible" cancel-text="取消">
<div v-html="infoRow.introduce" style="padding: 0 10px"></div>
</van-action-sheet>
<div>
<van-tabbar v-model="tarBarActive">
@@ -374,6 +404,9 @@ layout("/mobile/platform.html"){
mixins: [mobileMixins],
data() {
return {
introduceVisible: false,
infoRow: {},
codeShow: false,
tarBarActive: 0,
assort: '',
assortList: [],
@@ -407,6 +440,10 @@ layout("/mobile/platform.html"){
'train-dynamic-form': httpVueLoader('/components/mobile/common/TrainDynamicForm.vue')
},
methods: {
onCourseIntroduce(o) {
this.infoRow = o
this.introduceVisible = true
},
tabClick(name, title) {
if(this.courseType === '0' && this.activityStatus !== '1') {
this.tableData.courseList = this.tempArray.courseList.filter(o => o.assort === title)
@@ -713,10 +750,16 @@ layout("/mobile/platform.html"){
})
this.formData.mobileColumnsValue = JSON.stringify(mobileColumnsValue)
const resp = await $.post('/platform/mobile/trainSignUpActivity/doSignUp', this.formData)
vant.Toast(resp.msg)
if (resp.code === 0) {
this.pageData()
this.codeShow = true
this.joinPopup = false
} else {
vant.Dialog.alert({
title: '温馨提示',
message: resp.msg,
confirmButtonColor: '#1867b0'
})
}
toast.clear()
}).catch(() => {
@@ -622,6 +622,15 @@
</el-col>
</el-row>
<el-row :gutter="50" type="flex">
<el-col :span="4">
<span>详细信息</span>
</el-col>
<el-col :span="20">
<text-editor v-model="formData.courseList[moreInfoIndex].introduce"></text-editor>
</el-col>
</el-row>
</el-drawer>
<drawer-user-scope