95 lines
4.6 KiB
JavaScript
95 lines
4.6 KiB
JavaScript
const activity = {
|
|
template: /*language=HTML*/`
|
|
<div class="home-activity">
|
|
<el-card shadow="never">
|
|
<div class="card-title" slot="header">最新活动</div>
|
|
<div v-if="activityOptions && activityOptions.length > 0" v-for="item in activityOptions" :key="item.id">
|
|
<div style="width: 100%">
|
|
<div style="background-color: #fff; position: relative; margin-bottom: 10px">
|
|
<div style="display: flex; justify-content: center; align-items: center">
|
|
<el-image :src="'/file_server/fileStreamPreview?id='+item.cover.filepath" alt="" fit="fill"
|
|
style="margin: 3px 14px 0 0; width: 100px; height: 70px; border-radius: 8px">
|
|
<div slot="error" class="image-slot">
|
|
<i class="el-icon-picture-outline"></i>
|
|
</div>
|
|
</el-image>
|
|
<div style="flex: 1">
|
|
<div style="line-height: 22px; color: #111">
|
|
<i class="el-icon-star-on" style="color: red; font-size: 17px"></i>{{item.activityName}}
|
|
<el-tag type="danger" v-if="moment(item.activitySignUpEndTime).valueOf()<moment().valueOf()" size="mini">报名已结束</el-tag>
|
|
</div>
|
|
<div style="font-size: 12px; line-height: 20px; color: #999">开始时间:{{moment(item.activitySignUpStartTime).format('YYYY-MM-DD HH:mm')}}</div>
|
|
<div style="font-size: 12px; line-height: 20px; color: #999">结束时间:{{moment(item.activitySignUpEndTime).format('YYYY-MM-DD HH:mm')}}</div>
|
|
</div>
|
|
<div @click="enterActivity(item)">
|
|
<el-tag style="cursor: pointer">查看<i class="el-icon-s-promotion"></i></el-tag>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<el-empty v-if="activityOptions.length === 0" description="暂无活动"></el-empty>
|
|
</el-card>
|
|
<open-qr-code :url="activityH5Url" ref="openQRCode"></open-qr-code>
|
|
</div>
|
|
`,
|
|
data() {
|
|
return {
|
|
activityOptions: [],
|
|
activityH5Url: null
|
|
}
|
|
},
|
|
components: {
|
|
"open-qr-code": httpVueLoader("/components/plugins/OpenQRCode.vue?v=" + new Date().getTime())
|
|
},
|
|
methods: {
|
|
/**
|
|
* 获取品牌活动信息
|
|
*/
|
|
async getTrainSingUpData() {
|
|
const {data} = await $.get(base + "/platform/trainSingUp/manage/activity/pageData", {
|
|
pageNumber: 1,
|
|
pageSize: 20
|
|
})
|
|
return data.list
|
|
},
|
|
/**
|
|
* 获取活动报名信息
|
|
*/
|
|
async getWyActivityData() {
|
|
const {data} = await $.get(base + "/platform/activity/calendar/getWyData")
|
|
return data
|
|
},
|
|
async getCalendarNotice() {
|
|
/* const activityData = await this.getActivityData()
|
|
const fitnessData = await this.getFitnessData()*/
|
|
/*const activityWyData = await this.getWyActivityData()
|
|
const noticeData = activityData.concat(fitnessData ? fitnessData : [])*/
|
|
const activityWyData = await this.getTrainSingUpData()
|
|
this.activityOptions = activityWyData
|
|
},
|
|
listActivity() {
|
|
$.get("/platform/home/listHomeActivity").then((resp) => {
|
|
if (resp.code === 0) {
|
|
this.activityOptions = resp.data
|
|
}
|
|
})
|
|
},
|
|
enterActivity(item) {
|
|
this.$refs.openQRCode.openCode("/platform/mobile/trainSignUpActivity/trainList", "该活动只支持手机端报名,请使用手机扫描二维码报名!")
|
|
/* sublime.jumpPagePjax(item.url)
|
|
if (item.url) {
|
|
sublime.jumpPagePjax(item.url)
|
|
} else if (item.url) {
|
|
this.$refs.openQRCode.openCode(item.url, "该活动只支持手机端报名,请使用手机扫描二维码报名!")
|
|
} else {
|
|
this.$message.warning("该活动不支持")
|
|
}*/
|
|
}
|
|
},
|
|
created() {
|
|
this.getCalendarNotice()
|
|
// this.listActivity()
|
|
}
|
|
}
|