This commit is contained in:
@jyuhsin
2025-09-20 15:12:47 +08:00
parent 705902dfb9
commit ad8b47358a
5 changed files with 46 additions and 21 deletions
@@ -87,12 +87,10 @@ public class FamilyActivityApplyController {
cnd.andEX("`year`", "=", year); cnd.andEX("`year`", "=", year);
//查询报名中 //查询报名中
if (activityType == 2) { if (activityType == 2) {
cnd.and(new Static("now() > activitySignUpStartTime and now() < activitySignUpEndTime")); cnd.and(new Static("now() < activitySignUpEndTime"));
}//查询已结束的 }//查询已结束的
else if (activityType == 3) { else if (activityType == 3) {
cnd.and(new Static("now() > activityEndTime")); cnd.and(new Static("now() >= activityEndTime"));
} else if (activityType == 4) {
cnd.and(new Static("now() < activitySignUpStartTime"));
} }
if (AuthUtil.hasRole("H04") && !AuthUtil.hasRoleOr("sysadmin, A06")) { if (AuthUtil.hasRole("H04") && !AuthUtil.hasRoleOr("sysadmin, A06")) {
@@ -72,8 +72,7 @@ layout("/layouts/platform.html"){
<el-select v-model="pageForm.activityType" @change="doSearch" style="width: 100%" <el-select v-model="pageForm.activityType" @change="doSearch" style="width: 100%"
placeholder="请选择活动状态" filterable> placeholder="请选择活动状态" filterable>
<el-option :value="1" label="全部"></el-option> <el-option :value="1" label="全部"></el-option>
<el-option :value="4" label="即将开始"></el-option> <el-option :value="2" label="即将开始 & 报名中"></el-option>
<el-option :value="2" label="报名中"></el-option>
<el-option :value="3" label="已结束"></el-option> <el-option :value="3" label="已结束"></el-option>
</el-select> </el-select>
</search-item> </search-item>
@@ -108,8 +107,13 @@ layout("/layouts/platform.html"){
</el-table-column> </el-table-column>
<el-table-column label="操作" width="300"> <el-table-column label="操作" width="300">
<template v-slot="{row}"> <template v-slot="{row}">
<el-button @click="onView(row)" size="mini" type="primary">查看介绍</el-button> <template v-if="$moment().isBefore($moment(row.activitySignUpEndTime))">
<el-button @click="onOpen(row)" size="mini" type="primary">去报名</el-button> <el-button @click="onView(row)" size="mini" type="primary">查看介绍</el-button>
<el-button @click="onOpen(row)" size="mini" type="primary">去报名</el-button>
</template>
<template v-if="$moment().isAfter($moment(row.activitySignUpEndTime))">
<el-button size="mini" type="info">已结束</el-button>
</template>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -160,7 +164,7 @@ layout("/layouts/platform.html"){
return { return {
pageForm: { pageForm: {
year: this.$moment().format("YYYY"), year: this.$moment().format("YYYY"),
activityType: 4 activityType: 2
}, },
tableColumns: [ tableColumns: [
{ label: "活动名称", prop: "activityName", width: 600}, { label: "活动名称", prop: "activityName", width: 600},
@@ -244,6 +244,7 @@ layout("/layouts/platform.html"){
this.$set(this.formData, "unionName", user.union ? user.union.name : null) this.$set(this.formData, "unionName", user.union ? user.union.name : null)
this.$set(this.formData, "sex", user.sex) this.$set(this.formData, "sex", user.sex)
this.$set(this.formData, "birthday", user.birthday ? this.$moment(user.birthday).format('YYYY-MM-DD') : '') this.$set(this.formData, "birthday", user.birthday ? this.$moment(user.birthday).format('YYYY-MM-DD') : '')
this.$set(this.formData, "mobile", user.mobile)
this.$set(this.formData, "nation", user.nation) this.$set(this.formData, "nation", user.nation)
this.$set(this.formData, "political", user.political) this.$set(this.formData, "political", user.political)
this.$set(this.formData, "education", user.education) this.$set(this.formData, "education", user.education)
@@ -24,6 +24,11 @@ layout("/layouts/platform_h5.html"){
.van-count-down { .van-count-down {
color: #fff; color: #fff;
} }
.item-header .van-tag {
font-size: 12px;
padding: 3px 6px;
border-radius: 6px;
}
</style> </style>
<div id="app"> <div id="app">
@@ -40,10 +45,25 @@ layout("/layouts/platform_h5.html"){
<table-list api="/platform/family/apply/activityPageData" <table-list api="/platform/family/apply/activityPageData"
:page_form.sync="pageForm" :page_form.sync="pageForm"
ref="tableListRef" ref="tableListRef"
title="activityName"
img="cover" img="cover"
@ready="onReady" @ready="onReady"
> >
<template #header="{index,row}">
<div class="item-header">
<div class="item-title">{{ row.activityName }}</div>
<div>
<van-tag type="primary" v-if="$moment().isBefore($moment(row.activitySignUpStartTime))">
即将开始
</van-tag>
<van-tag type="success" v-if="$moment().isAfter($moment(row.activitySignUpStartTime)) && $moment().isBefore($moment(row.activitySignUpEndTime))">
进行中
</van-tag>
<van-tag class="grey" v-if="$moment().isAfter($moment(row.activitySignUpEndTime))">
已结束
</van-tag>
</div>
</div>
</template>
<template v-slot="{index,row}"> <template v-slot="{index,row}">
<table-column label="面向对象">{{row.activityGroupName}}</table-column> <table-column label="面向对象">{{row.activityGroupName}}</table-column>
<table-column label="报名时间"> <table-column label="报名时间">
@@ -54,14 +74,16 @@ layout("/layouts/platform_h5.html"){
</table-column> </table-column>
</template> </template>
<template #actions="{index,row}"> <template #actions="{index,row}">
<div class="action-btn" @click="onView(row)"> <template v-if="$moment().isBefore($moment(row.activitySignUpEndTime))">
<i class="fa fa-eye"></i> <div class="action-btn" @click="onView(row)">
<span>查看介绍</span> <i class="fa fa-eye"></i>
</div> <span>查看介绍</span>
<div class="action-btn" @click="onApply(row)"> </div>
<i class="fa fa-edit"></i> <div class="action-btn" @click="onApply(row)">
<span>去报名</span> <i class="fa fa-edit"></i>
</div> <span>去报名</span>
</div>
</template>
</template> </template>
</table-list> </table-list>
@@ -105,12 +127,11 @@ layout("/layouts/platform_h5.html"){
totalCount: 0, totalCount: 0,
searchKeyword: '', searchKeyword: '',
year: new Date().getFullYear(), year: new Date().getFullYear(),
activityType: 4, activityType: 2,
}, },
typeOptions: [ typeOptions: [
{text: '全部', value: 1}, {text: '全部', value: 1},
{text: '即将开始', value: 4}, {text: '即将开始 & 报名中', value: 2},
{text: '报名中', value: 2},
{text: '已结束', value: 3}, {text: '已结束', value: 3},
], ],
infoVisible: false, infoVisible: false,
@@ -271,6 +271,7 @@ layout("/layouts/platform_h5.html"){
this.$set(this.formData, "sex", user.sex) this.$set(this.formData, "sex", user.sex)
this.$set(this.formData, "birthday", user.birthday ? this.$moment(user.birthday).format('YYYY-MM-DD') : '') this.$set(this.formData, "birthday", user.birthday ? this.$moment(user.birthday).format('YYYY-MM-DD') : '')
this.$set(this.formData, "nation", user.nation) this.$set(this.formData, "nation", user.nation)
this.$set(this.formData, "mobile", user.mobile)
this.$set(this.formData, "political", user.political) this.$set(this.formData, "political", user.political)
this.$set(this.formData, "education", user.education) this.$set(this.formData, "education", user.education)
this.$set(this.formData, "technicalTitle", user.technicalTitle) this.$set(this.formData, "technicalTitle", user.technicalTitle)