This commit is contained in:
2025-07-02 20:30:46 +08:00
parent 8dc7a62efe
commit ab4c69c34a
13 changed files with 572 additions and 430 deletions
@@ -134,6 +134,7 @@ public class ActivityCultureUserStatisticsController {
public Result getActivityByYearOrType(Integer year,
@Valid Integer activity_type) {
Cnd cnd = Cnd.where("activity_type", "=", activity_type);
cnd.and("projectTypeCode", "!=", 50004);
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
cnd.and("signUpMethod", "in", List.of(1, 2, 3));
if (activity_type == 40002) {
@@ -83,7 +83,7 @@ public class ActivitySportsInfoManageController {
school.activityCode,
school.foundDate,
school.applyType,
(SELECT COUNT(1) FROM activity_school_apply asa WHERE asa.activityId = school.id) applyNum
(SELECT COUNT(1) FROM activity_school_apply asa WHERE asa.activityId = school.id and status=2) applyNum
FROM
activity_school school
LEFT JOIN activity_basic_settings ba ON ba.`code` = school.activityLevel
@@ -17,6 +17,7 @@ import com.budwk.app.zhgh.activity.sports.models.ActivitySchoolTeam;
import com.budwk.app.zhgh.activity.sports.param.ActivitySportsApplyUserPageParam;
import com.budwk.app.zhgh.activity.sports.service.ActivitySportsApplyUserService;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.dao.Chain;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
@@ -384,6 +385,13 @@ public class ActivitySportsApplyUserServiceImpl extends BaseServiceImpl<Activity
.and("activityUnionId", "=", basicUnion.getId())
.and("eventId", "=", eventId));
}
if (pass) {
dao().update(ActivitySchoolApply.class,
Chain.make("status", 2),
Cnd.where("activityId", "=", activityId)
.and("activityUnionId", "=", basicUnion.getId()));
}
}
@Override
@@ -211,7 +211,8 @@ public class ActivitySportsServiceImpl extends BaseServiceImpl<ActivitySchool> i
LEFT JOIN activity_event ev ON ev.id = app.eventId
LEFT JOIN activity_school sc ON sc.id=app.activityId
WHERE
activityId = @id
app.activityId = @id
and app.status = 2
$cnd
ORDER BY
ev.allName DESC,
@@ -1,5 +1,6 @@
<template>
<el-select v-model="selectValue" filterable remote :remote-method="selectUser" @change="onChange" v-bind="$attrs">
<el-select v-model="selectValue" :clearable="clearable" filterable remote :remote-method="selectUser"
@change="onChange" v-bind="$attrs">
<el-option
v-for="item in options"
v-if="!item.disabled"
@@ -17,7 +18,7 @@ module.exports = {
event: "change"
},
props: {
value: { type: [String, Array] },
value: {type: [String, Array]},
api: {
type: String,
@@ -33,6 +34,11 @@ module.exports = {
}
},
clearable: {
type: Boolean,
default: true
},
api_input_key_name: {
type: String,
required: false,
@@ -94,7 +100,7 @@ module.exports = {
methods: {
selectUser(query) {
if (query !== "") {
$.get(this.api, { [this.api_input_key_name]: query, ...this.api_params }).then((res) => {
$.get(this.api, {[this.api_input_key_name]: query, ...this.api_params}).then((res) => {
this.options = res.data
})
}
@@ -4,7 +4,7 @@ layout("/layouts/platform.html"){
<div id="app" v-cloak>
<guava ref="guava">
<activity-culture-apply-activity :activity_type="activityType"></activity-culture-apply-activity>
<activity-culture-apply-activity :activity_type="activityType" ref="activityApply"></activity-culture-apply-activity>
</guava>
</div>
<script>
@@ -22,7 +22,9 @@ layout("/layouts/platform.html"){
"activity-culture-apply-activity": ACTIVITY_CULTURE_APPLY_ACTIVITY
},
methods: {},
async created() {}
async created() {
setTimeout(()=>{this.$refs.activityApply.init()},500)
}
})
</script>
@@ -84,20 +84,20 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
</el-form-item>
</el-col>
<!-- <el-col :span="12"-->
<!-- v-if="formData.isEnrollSystem === true">-->
<!-- <el-form-item label="活动计划时间" prop="plannedDate">-->
<!-- <el-date-picker-->
<!-- @change="plannedDateChange"-->
<!-- end-placeholder="结束日期"-->
<!-- range-separator="-"-->
<!-- start-placeholder="开始日期"-->
<!-- style="width: 100%"-->
<!-- type="daterange"-->
<!-- v-model="formData.plannedDate" value-format="yyyy-MM-dd">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12"-->
<!-- v-if="formData.isEnrollSystem === true">-->
<!-- <el-form-item label="活动计划时间" prop="plannedDate">-->
<!-- <el-date-picker-->
<!-- @change="plannedDateChange"-->
<!-- end-placeholder="结束日期"-->
<!-- range-separator="-"-->
<!-- start-placeholder="开始日期"-->
<!-- style="width: 100%"-->
<!-- type="daterange"-->
<!-- v-model="formData.plannedDate" value-format="yyyy-MM-dd">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="12">
<el-form-item label="实际活动时间" prop="time">
@@ -181,15 +181,13 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
<el-form-item label="报名人数限制" prop="userNumberLimit">
<el-radio-group v-model="formData.userNumberLimit" size="small">
<el-radio border :label="1">总人数限制</el-radio>
<el-radio border :label="2" v-if="activity_type===40001">
分工会人数限制
</el-radio>
<el-radio border :label="2" v-if="activity_type===40001">分工会人数限制</el-radio>
<el-radio border :label="null">不限制</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :lg="12" :xl="12" :xs="12"
v-if="[3].includes(formData.signUpMethod)">
v-if="[2].includes(formData.signUpMethod)">
<el-form-item label="组队人数" prop="totalUserNumberLimit">
<el-input-number :max="2000" :min="1"
:precision="0"
@@ -476,6 +474,7 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
</el-tabs>
<div style="padding: 20px;text-align: center;">
<el-button @click="operation" style="width: 300px" type="primary" :disabled="formLoading">
确 定
@@ -490,7 +489,7 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
:group_id.sync="formData.groupId"
></drawer-user-scope>
<el-dialog :close-on-click-modal="false" :visible.sync="userDialogVisible" append-to-body title="添加人员" width="40%">
<el-dialog :append-to-body="true" :close-on-click-modal="false" :visible.sync="userDialogVisible" title="添加人员" width="40%">
<el-form :model="formData" label-width="100px">
<el-form-item label="参加人员" prop="userId">
@@ -733,7 +732,11 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
})
return data
},
init() {
init(id) {
if (id){
this.activeName = "1"
this.findOne(id)
}else{
this.formData = {
time: [],
applyTime2: [],
@@ -756,6 +759,7 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
this.getUnionData().then((data) => {
this.$set(this.formData, "unionUserNumberLimit", data)
})
}
},
async queryUserByIds(ids) {
const { data } = await this.$axios.post("/platform/activity/culture/applyActivity/queryUserByIds", { ids: JSON.stringify(ids) })
@@ -787,7 +791,7 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
},
openEdit(id) {
this.activeName = "1"
this.findOne(id)
this.init(id)
}
},
async created() {
@@ -799,6 +803,6 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
})
})
this.getActivityGroup()
this.init()
// this.init()
}
}
@@ -25,9 +25,9 @@ const singleSignUp = {
:
'协会/社团活动' }}
</el-descriptions-item>
<!-- <el-descriptions-item label="活动计划时间">-->
<!-- {{ viewData.startPlannedDate + ' - ' + viewData.endPlannedDate }}-->
<!-- </el-descriptions-item>-->
<!-- <el-descriptions-item label="活动计划时间">-->
<!-- {{ viewData.startPlannedDate + ' - ' + viewData.endPlannedDate }}-->
<!-- </el-descriptions-item>-->
<el-descriptions-item label="活动时间">
{{ viewData.startTime + ' - ' + viewData.endTime }}
</el-descriptions-item>
@@ -233,7 +233,7 @@ const singleSignUp = {
//查询报名人员
listTeamUser() {
this.$axios.post("/platform/activity/culture/applyUser/listTeamUser", { activityId: this.id }).then((res) => {
this.$axios.post("/platform/activity/culture/applyUser/listTeamUser", {activityId: this.id}).then((res) => {
if (res.code === 0) {
this.isSignUp = res.data.length > 0
this.teamUsers = res.data
@@ -270,10 +270,6 @@ const singleSignUp = {
//提交报名
async onConfirm() {
console.log(this.fapi)
console.log(this.fapi.formData())
if (this.isCustomForm && this.fapi) {
let formValid = false
try {
@@ -411,7 +407,7 @@ const singleSignUp = {
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.$axios.post("/platform/activity/culture/applyUser/cancelSignUp", { activityId: this.id }).then((res) => {
this.$axios.post("/platform/activity/culture/applyUser/cancelSignUp", {activityId: this.id}).then((res) => {
if (res.code === 0) {
this.dialogVisible = false
this.$message.success(res.msg)
@@ -424,8 +420,9 @@ const singleSignUp = {
//查询队友信息
queryTeammate(val) {
if (val) {
this.$axios.post("/platform/activity/culture/applyUser/queryTeammate", { keyword: val }).then((res) => {
this.$axios.post("/platform/activity/culture/applyUser/queryTeammate", {keyword: val}).then((res) => {
if (res.code === 0) {
res.data.map(v => v.applyUserId = this.$store.state.user.id)
this.teammateOptions = res.data
}
})
@@ -457,7 +454,7 @@ const singleSignUp = {
//活动信息
activityInfo() {
this.$axios.post("/platform/activity/culture/infoManage/activityInfo", { id: this.id }).then((res) => {
this.$axios.post("/platform/activity/culture/infoManage/activityInfo", {id: this.id}).then((res) => {
if (res.code === 0) {
this.viewData = res.data
if (this.viewData.formConfig) {
@@ -4,7 +4,7 @@ layout("/layouts/platform.html"){
<div id="app" v-cloak>
<guava ref="guava">
<activity-culture-apply-activity :activity_type="activityType"></activity-culture-apply-activity>
<activity-culture-apply-activity :activity_type="activityType" ref="activityApply"></activity-culture-apply-activity>
</guava>
</div>
@@ -23,7 +23,9 @@ layout("/layouts/platform.html"){
"activity-culture-apply-activity": ACTIVITY_CULTURE_APPLY_ACTIVITY
},
methods: {},
async created() {}
async created() {
setTimeout(()=>{this.$refs.activityApply.init()},500)
}
})
</script>
@@ -4,7 +4,7 @@ layout("/layouts/platform.html"){
<div id="app" v-cloak>
<guava ref="guava">
<activity-culture-apply-activity :activity_type="activityType"></activity-culture-apply-activity>
<activity-culture-apply-activity :activity_type="activityType" ref="activityApply"></activity-culture-apply-activity>
</guava>
</div>
<script>
@@ -22,7 +22,9 @@ layout("/layouts/platform.html"){
"activity-culture-apply-activity": ACTIVITY_CULTURE_APPLY_ACTIVITY
},
methods: {},
async created() {}
async created() {
setTimeout(()=>{this.$refs.activityApply.init()},500)
}
})
</script>
@@ -304,6 +304,7 @@ layout("/layouts/platform.html"){
api="/platform/activity/apply/getUserUnion"
api_input_key_name="query"
style="width: 100%"
ref="userData2"
v-model="coachData.userId"
></user-select>
</el-form-item>
@@ -366,10 +367,10 @@ layout("/layouts/platform.html"){
groupList: [],
eventList: [],
tableColumns: [
{ prop: "allName", label: "项目名称" },
{ prop: "projectType", label: "项目类型" },
{ prop: "applyNum", label: "已报名人数" },
{ prop: "apply_num_bc", label: "暂保存人数" }
{prop: "allName", label: "项目名称"},
{prop: "projectType", label: "项目类型"},
{prop: "applyNum", label: "已报名人数"},
{prop: "apply_num_bc", label: "暂保存人数"}
],
unionOptions: [],
@@ -386,6 +387,7 @@ layout("/layouts/platform.html"){
},
methods: {
changeLeader(id) {
if (id) {
const userList = this.$refs.userData.options
const user = userList.find((v) => v.id === id)
this.$set(this.leaderData, "userId", id)
@@ -397,12 +399,14 @@ layout("/layouts/platform.html"){
this.$set(this.leaderData, "unionLeader", true)
this.$set(this.leaderData, "unionId", user.unionId)
this.$set(this.leaderData, "identity", ["3"])
this.$set(this.leaderData, "status", 2)
this.$set(this.leaderData, "status", 0)
this.$set(this.leaderData, "awardsMode", 2)
this.$set(this.leaderData, "activityId", this.activityData.id)
}
},
changeCoach(id) {
const userList = this.$refs.userData.options
if (id) {
const userList = this.$refs.userData2.options
const user = userList.find((v) => v.id === id)
this.$set(this.coachData, "userId", id)
this.$set(this.coachData, "loginname", user.loginname)
@@ -413,9 +417,10 @@ layout("/layouts/platform.html"){
this.$set(this.coachData, "unionCoach", true)
this.$set(this.coachData, "unionId", user.unionId)
this.$set(this.coachData, "identity", ["2"])
this.$set(this.coachData, "status", 2)
this.$set(this.coachData, "status", 0)
this.$set(this.coachData, "awardsMode", 2)
this.$set(this.coachData, "activityId", this.activityData.id)
}
},
async doLeaderCoach() {
this.formLoading = true
@@ -445,8 +450,17 @@ layout("/layouts/platform.html"){
this.coachData = {}
if (this.leaderData || this.coachData) {
await this.getUnionCoachLeaderHead()
}
this.dialogLeaderCoach = true
setTimeout(async () => {
if (this.leaderData.loginname) {
await this.$refs.userData.selectUser(this.leaderData.loginname)
}
if (this.coachData.loginname) {
await this.$refs.userData2.selectUser(this.coachData.loginname)
}
}, 500)
},
async activityInfoData() {
const resp = await this.$axios.post(loc() + "/activityData", this.pageForm)
@@ -486,8 +500,8 @@ layout("/layouts/platform.html"){
this.coachData = {}
this.headData = {}
this.staffData = {}
const resp = await this.$axios.post(loc() + "/getUnionCoachLeaderHead", { activityId: this.pageForm.activityId })
const { unionCoach, unionLeader, unionHead, unionStaff, userOptions } = resp.data
const resp = await this.$axios.post(loc() + "/getUnionCoachLeaderHead", {activityId: this.pageForm.activityId})
const {unionCoach, unionLeader, unionHead, unionStaff, userOptions} = resp.data
if (unionCoach) {
this.coachData = unionCoach
}
@@ -504,14 +518,14 @@ layout("/layouts/platform.html"){
this.userOptions = userOptions
},
async changeActivity() {
const resp = await this.$axios.post("/platform/activity/apply/getEvents", { activityId: this.pageForm.activityId })
const resp = await this.$axios.post("/platform/activity/apply/getEvents", {activityId: this.pageForm.activityId})
this.eventList = resp.data
},
pageData() {
this.tabLoading = true
const pageForm = clone(this.pageForm)
pageForm.isMenWomen = JSON.stringify(pageForm.isMenWomen)
this.$axios.post("/platform/activity/apply/pageData", { data: JSON.stringify(pageForm) }).then((res) => {
this.$axios.post("/platform/activity/apply/pageData", {data: JSON.stringify(pageForm)}).then((res) => {
if (res.code === 0) {
this.tableData = res.data.list
this.pageForm.totalCount = res.data.totalCount
@@ -148,12 +148,13 @@ layout("/layouts/platform_h5.html"){
margin-left: 0 !important;
}
.form-create-h5 .el-radio-group{
.form-create-h5 .el-radio-group {
display: flex;
flex-direction: column;
row-gap: 20px;
}
.form-create-h5 .el-radio-group label{
.form-create-h5 .el-radio-group label {
width: 100%;
margin-right: 0;
}
@@ -161,7 +162,8 @@ layout("/layouts/platform_h5.html"){
</style>
<div id="app" v-cloak>
<van-nav-bar @click-left="historyBack" placeholder fixed left-arrow left-text="返回" placeholder title="活动详情"></van-nav-bar>
<van-nav-bar @click-left="historyBack" placeholder fixed left-arrow left-text="返回" placeholder
title="活动详情"></van-nav-bar>
<div style="background: #ededed; padding-bottom: 56px">
<van-image :src="viewData.cover"></van-image>
@@ -198,12 +200,12 @@ layout("/layouts/platform_h5.html"){
<span style="color: var(--color-primary)">{{viewData.teamNum}}</span>
</div>
<!-- <div class="info-item" v-if="viewData.signUpMethod==1">-->
<!-- <van-icon name="location-o"></van-icon>-->
<!-- 报名人数:-->
<!-- <span style="color: var(&#45;&#45;color-primary)">2</span>-->
<!---->
<!-- </div>-->
<!-- <div class="info-item" v-if="viewData.signUpMethod==1">-->
<!-- <van-icon name="location-o"></van-icon>-->
<!-- 报名人数:-->
<!-- <span style="color: var(&#45;&#45;color-primary)">2</span>-->
<!---->
<!-- </div>-->
</div>
<div class="notice">
@@ -241,7 +243,9 @@ layout("/layouts/platform_h5.html"){
:value="item.userId"
></el-option>
</el-select>
<el-button v-if="isApplyUser && inApplyTime" class="ml5" type="primary" icon="el-icon-plus" @click="addTeamUser">添加</el-button>
<el-button v-if="isApplyUser && inApplyTime" class="ml5" type="primary" icon="el-icon-plus"
@click="addTeamUser">添加
</el-button>
<el-table :data="teamUsers" class="mt10" border>
<el-table-column label="序号" type="index" width="60px"></el-table-column>
@@ -256,7 +260,8 @@ layout("/layouts/platform_h5.html"){
<el-tag size="mini" v-if="row.applyUserId==row.userId">报名人</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="100px" v-if="(isApplyUser || teamUsers.length===0) && inApplyTime">
<el-table-column label="操作" width="100px"
v-if="(isApplyUser || teamUsers.length===0) && inApplyTime">
<template slot-scope="scope">
<el-button
type="danger"
@@ -274,17 +279,20 @@ layout("/layouts/platform_h5.html"){
<div class="form-create-h5" v-if="isCustomForm">
<div class="notice-title left-tag-title">填写报名信息</div>
<form-create :value.sync="dynamicFormData" v-model="fapi" :rule="formCreateRule" :option="formCreateOption"></form-create>
<form-create :value.sync="dynamicFormData" v-model="fapi" :rule="formCreateRule"
:option="formCreateOption"></form-create>
</div>
</div>
<div class="footer">
<div class="bottom-button" style="background: var(--color-primary)" v-if="!isSignUp && inApplyTime" @click="onConfirm">
<div class="bottom-button" style="background: var(--color-primary)" v-if="!isSignUp && inApplyTime"
@click="onConfirm">
<span>立即报名</span>
<span style="font-size: 12px; margin-top: 5px">{{viewData.applyEndTime}}截止报名</span>
</div>
<div class="bottom-button" style="background: var(--color-primary)" v-if="isSignUp && inApplyTime" @click="onConfirmAgain">
<div class="bottom-button" style="background: var(--color-primary)" v-if="isSignUp && inApplyTime"
@click="onConfirmAgain">
<span>重新提交</span>
<span style="font-size: 12px; margin-top: 5px">{{viewData.applyEndTime}}截止报名</span>
</div>
@@ -351,7 +359,7 @@ layout("/layouts/platform_h5.html"){
methods: {
init() {
if (this.id) {
this.$axios.post("/platform/activity/culture/infoManage/activityInfo", { id: this.id }).then((res) => {
this.$axios.post("/platform/activity/culture/infoManage/activityInfo", {id: this.id}).then((res) => {
if (res.code === 0) {
this.viewData = res.data
if (this.viewData.formConfig) {
@@ -365,7 +373,7 @@ layout("/layouts/platform_h5.html"){
},
//查询报名人员
listTeamUser() {
this.$axios.post("/platform/activity/culture/applyUser/listTeamUser", { activityId: this.id }).then((res) => {
this.$axios.post("/platform/activity/culture/applyUser/listTeamUser", {activityId: this.id}).then((res) => {
if (res.code === 0) {
this.isSignUp = res.data.length > 0
this.teamUsers = res.data
@@ -419,15 +427,29 @@ layout("/layouts/platform_h5.html"){
if (this.viewData.signUpMethod === 2) {
//组队人数判断
if (this.teamUsers.length === 0) {
this.$message.warning("请添加队友后再提交!")
this.$toast("请添加队友后再提交!")
return
}
if (this.teamUsers.length < this.viewData.teamNum) {
this.$message.warning("您选择的人数小于" + this.viewData.teamNum + "人,请重新选择!")
this.$dialog
.alert({
title: "提示",
message: "您选择的人数小于" + this.viewData.teamNum + "人,请重新选择!"
})
.then(() => {
})
return
}
if (this.teamUsers.length > this.viewData.teamNum) {
this.$message.warning("您选择的人数大于" + this.viewData.teamNum + "人,请重新选择!")
this.$dialog
.alert({
title: "提示",
message: "您选择的人数大于" + this.viewData.teamNum + "人,请重新选择!"
})
.then(() => {
})
return
}
}
@@ -435,11 +457,25 @@ layout("/layouts/platform_h5.html"){
//分工会
if (this.viewData.signUpMethod === 3) {
if (this.teamUsers.length === 0) {
this.$message.warning("请添加报名人员后再提交!")
this.$dialog
.alert({
title: "提示",
message: "请添加报名人员后再提交!"
})
.then(() => {
})
return
}
if (this.teamUsers.length > this.viewData.teamNum) {
this.$message.warning("您选择的人数大于" + this.viewData.teamNum + "人,请重新选择!")
this.$dialog
.alert({
title: "提示",
message: "您选择的人数大于" + this.viewData.teamNum + "人,请重新选择!"
})
.then(() => {
})
return
}
}
@@ -485,15 +521,36 @@ layout("/layouts/platform_h5.html"){
if (this.viewData.signUpMethod === 2) {
//组队人数判断
if (this.teamUsers.length === 0) {
this.$message.warning("请添加队友后再提交!")
this.$dialog
.alert({
title: "提示",
message: "请添加队友后再提交!"
})
.then(() => {
})
return
}
if (this.teamUsers.length < this.viewData.teamNum) {
this.$message.warning("您选择的人数小于" + this.viewData.teamNum + "人,请重新选择!")
this.$dialog
.alert({
title: "提示",
message: "您选择的人数小于" + this.viewData.teamNum + "人,请重新选择!"
})
.then(() => {
})
return
}
if (this.teamUsers.length > this.viewData.teamNum) {
this.$message.warning("您选择的人数大于" + this.viewData.teamNum + "人,请重新选择!")
this.$dialog
.alert({
title: "提示",
message: "您选择的人数大于" + this.viewData.teamNum + "人,请重新选择!"
})
.then(() => {
})
return
}
}
@@ -501,11 +558,25 @@ layout("/layouts/platform_h5.html"){
//分工会
if (this.viewData.signUpMethod === 3) {
if (this.teamUsers.length === 0) {
this.$message.warning("请添加报名人员后再提交!")
this.$dialog
.alert({
title: "提示",
message: "请添加报名人员后再提交!"
})
.then(() => {
})
return
}
if (this.teamUsers.length > this.viewData.teamNum) {
this.$message.warning("您选择的人数大于" + this.viewData.teamNum + "人,请重新选择!")
this.$dialog
.alert({
title: "提示",
message: "您选择的人数大于" + this.viewData.teamNum + "人,请重新选择!"
})
.then(() => {
})
return
}
}
@@ -544,11 +615,11 @@ layout("/layouts/platform_h5.html"){
message: "确定取消报名吗?"
})
.then(() => {
this.$axios.post("/platform/activity/culture/applyUser/cancelSignUp", { activityId: this.id }).then((res) => {
this.$axios.post("/platform/activity/culture/applyUser/cancelSignUp", {activityId: this.id}).then((res) => {
if (res.code === 0) {
this.fapi.resetFields()
this.$toast.success(res.msg)
this.listTeamUser()
this.fapi.resetFields()
}
})
})
@@ -557,8 +628,11 @@ layout("/layouts/platform_h5.html"){
//查询队友信息
queryTeammate(val) {
if (val) {
this.$axios.post("/platform/activity/culture/applyUser/queryTeammate", { keyword: val }).then((res) => {
this.$axios.post("/platform/activity/culture/applyUser/queryTeammate", {keyword: val}).then((res) => {
if (res.code === 0) {
res.data.map(v => {
v.applyUserId = this.$store.state.user.id
})
this.teammateOptions = res.data
}
})
@@ -568,15 +642,36 @@ layout("/layouts/platform_h5.html"){
//添加队友
addTeamUser() {
if (!this.searchTeammateUserId) {
this.$message.error("请先选择后再添加")
this.$dialog
.alert({
title: "提示",
message: "请先选择后再添加!"
})
.then(() => {
})
return
}
if (this.teamUsers.some((v) => v.userId === this.searchTeammateUserId)) {
this.$message.error("请勿重复添加")
this.$dialog
.alert({
title: "提示",
message: "请勿重复添加!"
})
.then(() => {
})
return
}
if (this.teamUsers.length >= this.viewData.teamNum) {
this.$message.error("已满员")
this.$dialog
.alert({
title: "提示",
message: "已满员!"
})
.then(() => {
})
return
}
this.teamUsers.push(this.teammateOptions.find((v) => v.userId === this.searchTeammateUserId))
@@ -1,23 +1,32 @@
<!--#
layout("/layouts/platform_h5.html"){
#-->
<style>
.van-tag--default {
background-color: #f1f1f1 !important;
}
</style>
<div id="app" v-cloak>
<van-nav-bar title="活动列表" @click-left="historyBack" left-arrow left-text="返回" placeholder fixed></van-nav-bar>
<van-nav-bar title="活动列表" @click-left="()=>this.$pjaxReplace('/platform/home')" left-arrow left-text="返回" placeholder fixed></van-nav-bar>
<van-sticky offset-top="46px">
<van-dropdown-menu>
<year-van-dropdown-item :num="5" @change="pageData" v-model="pageForm.year"></year-van-dropdown-item>
<van-dropdown-item :options="stateList" @change="pageData" v-model="pageForm.isActivity"></van-dropdown-item>
<van-dropdown-item :options="applyStatusOptions" @change="pageData" v-model="pageForm.applyStatus"></van-dropdown-item>
<van-dropdown-item :options="stateList" @change="pageData"
v-model="pageForm.isActivity"></van-dropdown-item>
<van-dropdown-item :options="applyStatusOptions" @change="pageData"
v-model="pageForm.applyStatus"></van-dropdown-item>
</van-dropdown-menu>
</van-sticky>
<div>
<van-list :finished="finished" @load="pageData" finished-text="没有更多了" v-if="tableData.length>0" v-model="loading">
<van-list :finished="finished" @load="pageData" finished-text="没有更多了" v-if="tableData.length>0"
v-model="loading">
<div class="table-list">
<div :key="row.id" class="table-card" v-for="row in tableData">
<van-tag mark size="small" style="position: absolute; left: 5px; top: 5px; z-index: 1">
<span style="color: forestgreen" v-if="$moment(row.applyStartTime).valueOf() > $moment().valueOf()">未开始报名</span>
<van-tag mark size="large" style="position: absolute; right: 0%; top: 5px; z-index: 1">
<span style="color: forestgreen"
v-if="$moment(row.applyStartTime).valueOf() > $moment().valueOf()">未开始报名</span>
<span
style="color: forestgreen"
v-else-if="$moment(row.applyEndTime).valueOf() > $moment().valueOf() &&
@@ -53,13 +62,14 @@ layout("/layouts/platform_h5.html"){
<van-cell :value="row.applyEndTime" title="报名结束时间"></van-cell>
<van-cell class="table-card-footer">
<template>
<van-button :loading="subLoading" @click="openView(row)" round size="small" type="primary">查看</van-button>
<van-button :loading="subLoading" @click="openView(row)" round size="small" type="primary">&nbsp;&nbsp;&nbsp;</van-button>
</template>
</van-cell>
</div>
</div>
</van-list>
<van-empty image="/assets/platform/plugins/vant-green/images/nodata/nodata.png" description="暂无数据" v-else></van-empty>
<van-empty image="/assets/platform/plugins/vant-green/images/nodata/nodata.png" description="暂无数据"
v-else></van-empty>
</div>
<activity_event_notification
@@ -88,13 +98,13 @@ layout("/layouts/platform_h5.html"){
},
yearList: [],
applyStatusOptions: [
{ value: 1, text: "未报名" },
{ value: 2, text: "已报名" }
{value: 1, text: "未报名"},
{value: 2, text: "已报名"}
],
stateList: [
{ value: 1, text: "全部" },
{ value: 2, text: "报名中" },
{ value: 3, text: "报名已结束" }
{value: 1, text: "全部"},
{value: 2, text: "报名中"},
{value: 3, text: "报名已结束"}
],
subLoading: false,
viewShow: false,