风险告知书样式

This commit is contained in:
Paidax
2025-04-05 15:32:30 +08:00
parent 3603a1da77
commit d1ad7f172d
@@ -27,21 +27,15 @@ layout("/mobile/platform.html"){
</style> </style>
<div id="app" v-cloak> <div id="app" v-cloak>
<van-nav-bar :title="title" <van-nav-bar :title="title" @click-left="pjaxReplace('/mobile/activity/Sports/list/activityList')" fixed left-arrow placeholder></van-nav-bar>
@click-left="pjaxReplace('/mobile/activity/Sports/list/activityList')" fixed
left-arrow
placeholder></van-nav-bar>
<div class="search-fixed"> <div class="search-fixed">
<van-dropdown-menu active-color="#1989fa"> <van-dropdown-menu active-color="#1989fa">
<!-- <van-dropdown-item v-model="pageForm.isMenWomen" @change="yearChange" <!-- <van-dropdown-item v-model="pageForm.isMenWomen" @change="yearChange"
:options="sexList"></van-dropdown-item>--> :options="sexList"></van-dropdown-item>-->
<van-dropdown-item v-model="pageForm.groupName" @change="yearChange" <van-dropdown-item v-model="pageForm.groupName" @change="yearChange" :options="groupList"></van-dropdown-item>
:options="groupList"></van-dropdown-item> <van-dropdown-item :options="eventList" @change="yearChange" v-model="pageForm.eventId"></van-dropdown-item>
<van-dropdown-item :options="eventList" @change="yearChange" <van-dropdown-item :options="auditList" @change="yearChange" v-model="pageForm.isAudit"></van-dropdown-item>
v-model="pageForm.eventId"></van-dropdown-item>
<van-dropdown-item :options="auditList" @change="yearChange"
v-model="pageForm.isAudit"></van-dropdown-item>
</van-dropdown-menu> </van-dropdown-menu>
</div> </div>
@@ -51,20 +45,16 @@ layout("/mobile/platform.html"){
mode="closeable" mode="closeable"
text="自己报名的项目如要修改请点击取消报名后再重新报名,若其他人帮助报名则联系报名人取消!" text="自己报名的项目如要修改请点击取消报名后再重新报名,若其他人帮助报名则联系报名人取消!"
></van-notice-bar> ></van-notice-bar>
<van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" <van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" v-model="loading" @load="pageData">
v-model="loading" @load="pageData">
<div v-for="o in tableData" class="van-doc-card"> <div v-for="o in tableData" class="van-doc-card">
<van-row> <van-row>
<van-col span="24" class="username"> <van-col span="24" class="username">
{{ o.allName }} {{ o.allName }}
<div v-if="o.status" <div v-if="o.status" style="display: flex; justify-content: flex-end">
style="display: flex;justify-content: flex-end">
<span v-if="o.status===1">待审核</span> <span v-if="o.status===1">待审核</span>
<span v-if="o.status===2">已成功报名</span> <span v-if="o.status===2">已成功报名</span>
<span v-if="o.status===3">审核不通过</span> <span v-if="o.status===3">审核不通过</span>
</div> </div>
</van-col> </van-col>
</van-row> </van-row>
@@ -106,9 +96,7 @@ layout("/mobile/platform.html"){
<van-row class="info" v-if="o.projectType==2"> <van-row class="info" v-if="o.projectType==2">
<van-col span="24"> <van-col span="24">
<van-cell title="可报队数:"> <van-cell title="可报队数:">{{ o.restrictTotalTeam }}队</van-cell>
{{ o.restrictTotalTeam }}队
</van-cell>
</van-col> </van-col>
</van-row> </van-row>
@@ -116,16 +104,11 @@ layout("/mobile/platform.html"){
<van-col span="24"> <van-col span="24">
<span>每队可报人数:</span> <span>每队可报人数:</span>
<span v-if="o.athletesMaxNum">{{ o.athletesMaxNum }}人</span> <span v-if="o.athletesMaxNum">{{ o.athletesMaxNum }}人</span>
<span v-else-if="o.applyType===1">{{ <span v-else-if="o.applyType===1">{{ o.athletesMaxNum * o.restrictTotalTeam }}人</span>
o.athletesMaxNum * o.restrictTotalTeam <span v-else-if="o.applyType===2&&o.eveProjectType==='1'">{{ o.athletesMaxNum }}人</span>
}}人</span> <span v-else-if="o.applyType===2&&o.eveProjectType==='2'">
<span v-else-if="o.applyType===2&&o.eveProjectType==='1'">{{ {{ (o.restrictGirlNum ? o.restrictGirlNum : 0) + (o.restrictBoyNum ? o.restrictBoyNum : 0) }}人
o.athletesMaxNum </span>
}}人</span>
<span
v-else-if="o.applyType===2&&o.eveProjectType==='2'">{{
(o.restrictGirlNum ? o.restrictGirlNum : 0) + (o.restrictBoyNum ? o.restrictBoyNum : 0)
}}人</span>
<span v-else>暂无</span> <span v-else>暂无</span>
</van-col> </van-col>
</van-row> </van-row>
@@ -142,18 +125,13 @@ layout("/mobile/platform.html"){
v-else-if="o.totalApplyNum>0&&o.applyType===3">{{ o.totalApplyNum }}人</span> v-else-if="o.totalApplyNum>0&&o.applyType===3">{{ o.totalApplyNum }}人</span>
<span v-else>0人</span>--> <span v-else>0人</span>-->
<span>{{o.totalApplyNum}}</span> <span>{{o.totalApplyNum}}</span>
</van-col> </van-col>
</van-row> </van-row>
<van-row class="info" <van-row class="info" v-if="JSON.parse(o.applyWay).length===2&&JSON.parse(o.applyWay).includes(1)">
v-if="JSON.parse(o.applyWay).length===2&&JSON.parse(o.applyWay).includes(1)">
<van-col span="24"> <van-col span="24">
<span>已报名人员:</span> <span>已报名人员:</span>
<span v-if="o.userApplyNames" style="color: #0e78c5" <span v-if="o.userApplyNames" style="color: #0e78c5" @click="openApplyUser(o)">{{ o.userApplyNames }}</span>
@click="openApplyUser(o)">{{
o.userApplyNames
}}</span>
<span v-else>未报名</span> <span v-else>未报名</span>
</van-col> </van-col>
</van-row> </van-row>
@@ -161,19 +139,23 @@ layout("/mobile/platform.html"){
<van-row class="info"> <van-row class="info">
<van-col span="24"> <van-col span="24">
<div class="register-icon"> <div class="register-icon">
<img v-if="o.userApply==0&&o.applyWay.includes(1)" <img v-if="o.userApply==0&&o.applyWay.includes(1)" @click="openActivity(o)" src="/assets/mobile/svg/activity/wbm.svg" />
@click="openActivity(o)" <img
src="/assets/mobile/svg/activity/wbm.svg" /> v-if="o.userApply>0&&o.applyWay.includes(1)&&o.applyUser===userId"
<img v-if="o.userApply>0&&o.applyWay.includes(1)&&o.applyUser===userId" @click="openActivity(o)"
@click="openActivity(o)" src="/assets/mobile/svg/activity/qxbm.svg"
src="/assets/mobile/svg/activity/qxbm.svg" /> />
<van-button style="border-radius: 10px" block size="small" <van-button
type="info" style="border-radius: 10px"
@click="openSign(o)" block
v-if="o.userApply>0 size="small"
type="info"
@click="openSign(o)"
v-if="o.userApply>0
&&o.applyWay.includes(1) &&o.applyWay.includes(1)
&&o.applyUser!==userId &&o.applyUser!==userId
&&o.isSign&&!o.applyUserSign"> &&o.isSign&&!o.applyUserSign"
>
签 字 签 字
</van-button> </van-button>
</div> </div>
@@ -183,37 +165,36 @@ layout("/mobile/platform.html"){
</van-list> </van-list>
</div> </div>
<van-action-sheet v-model="teamSignUpShow" :close-on-click-overlay="false" <van-action-sheet
:style="{ height: '100%',width:'100%' ,'overflow-y':'visible'}" v-model="teamSignUpShow"
:title="isView?'查看报名信息':'组队报名'"> :close-on-click-overlay="false"
<div class="van-card-header"> :style="{ height: '100%',width:'100%' ,'overflow-y':'visible'}"
本人信息 :title="isView?'查看报名信息':'组队报名'"
</div> >
<div class="van-card-header">本人信息</div>
<div class="van-card-body"> <div class="van-card-body">
<van-field label="姓名" readonly <van-field label="姓名" readonly v-model="userName"></van-field>
v-model="userName"></van-field> <van-field label="工号" readonly v-model="loginName"></van-field>
<van-field label="工号" readonly
v-model="loginName"></van-field>
<van-field label="性别" readonly v-model="sex"></van-field> <van-field label="性别" readonly v-model="sex"></van-field>
<van-field label="所在单位" readonly <van-field label="所在单位" readonly v-model="unitName"></van-field>
v-model="unitName"></van-field> <van-field label="所属工会" readonly v-model="unionName"></van-field>
<van-field label="所属工会" readonly
v-model="unionName"></van-field>
<van-field label="签字" readonly v-if="activityData.isSign&&isView"> <van-field label="签字" readonly v-if="activityData.isSign&&isView">
<template #input> <template #input>
<van-image <van-image
:src="APP_DOMAIN + '/file_server/fileStreamPreview?id=' + formData.applyUserSign" :src="APP_DOMAIN + '/file_server/fileStreamPreview?id=' + formData.applyUserSign"
width="100" height="50" v-if="formData.applyUserSign"></van-image> width="100"
height="50"
v-if="formData.applyUserSign"
></van-image>
<span v-else>暂无</span> <span v-else>暂无</span>
</template> </template>
</van-field> </van-field>
</div> </div>
<template <template v-for="(item,index) in registerList.filter(v=>v.loginName !== loginName)">
v-for="(item,index) in registerList.filter(v=>v.loginName !== loginName)">
<div class="van-card-header"> <div class="van-card-header">
队友信息{{ index + 1 }} 队友信息{{ index + 1 }}
<span style="color:red;" @click="removeRegUser(item)" v-if="!isView">删除</span> <span style="color: red" @click="removeRegUser(item)" v-if="!isView">删除</span>
</div> </div>
<div class="van-card-body"> <div class="van-card-body">
<van-field label="姓名" readonly v-model="item.userName"></van-field> <van-field label="姓名" readonly v-model="item.userName"></van-field>
@@ -225,142 +206,104 @@ layout("/mobile/platform.html"){
<template #input> <template #input>
<van-image <van-image
:src="APP_DOMAIN + '/file_server/fileStreamPreview?id=' + formData.applyUserSign" :src="APP_DOMAIN + '/file_server/fileStreamPreview?id=' + formData.applyUserSign"
width="100" height="50"></van-image> width="100"
height="50"
></van-image>
<span v-else>暂无</span> <span v-else>暂无</span>
</template> </template>
</van-field> </van-field>
</div> </div>
</template> </template>
<div <div v-if="registerList.filter(v=>v.loginName !== loginName).length === 0">
v-if="registerList.filter(v=>v.loginName !== loginName).length === 0"> <div style="padding: 10px 10px; text-align: center; color: #9b9999">暂无队友信息,请点击添加队友按钮</div>
<div style="padding: 10px 10px;text-align: center;color: #9b9999;">
暂无队友信息,请点击添加队友按钮
</div>
</div> </div>
<div style="margin: 20px 20px 10px 20px" v-if="!isView"> <div style="margin: 20px 20px 10px 20px" v-if="!isView">
<div class="van-card-header"> <div class="van-card-header">签字</div>
签字
</div>
<div class="van-card-body"> <div class="van-card-body">
<mobile-sign ref="signature" :my_sign.sync="formData.applyUserSign" <mobile-sign ref="signature" :my_sign.sync="formData.applyUserSign" :is_value_base64="false"></mobile-sign>
:is_value_base64="false"></mobile-sign>
</div> </div>
</div> </div>
<div style="display: flex;justify-content: center" v-if="!isView"> <div style="display: flex; justify-content: center" v-if="!isView">
<van-radio-group v-model="formData.isCy" direction="horizontal" <van-radio-group v-model="formData.isCy" direction="horizontal" v-if="activityData.isSign">
v-if="activityData.isSign">
<van-radio name="1"></van-radio> <van-radio name="1"></van-radio>
<span style="color: red" <span style="color: red" @click="fxgzsActionPopup=true">自愿参赛责任及风险告知书</span>
@click="fxgzsActionPopup=true">自愿参赛责任及风险告知书</span>
</van-radio-group> </van-radio-group>
</div> </div>
<div style="margin: 20px 20px 10px 20px" v-if="!isView"> <div style="margin: 20px 20px 10px 20px" v-if="!isView">
<van-row gutter="20"> <van-row gutter="20">
<van-col span="12"> <van-col span="12">
<van-button @click="openUserActionSheet" style="border-radius: 10px" block <van-button @click="openUserActionSheet" style="border-radius: 10px" block type="info">添加队友</van-button>
type="info">
添加队友
</van-button>
</van-col> </van-col>
<van-col span="12"> <van-col span="12">
<van-button @click="doTeamSignUp()" style="border-radius: 10px" block <van-button @click="doTeamSignUp()" style="border-radius: 10px" block type="info">提 交</van-button>
type="info">
提 交
</van-button>
</van-col> </van-col>
</van-row> </van-row>
</div> </div>
</van-action-sheet> </van-action-sheet>
<van-action-sheet v-model="userActionSheet" title="选择人员" class="userActionPopup"> <van-action-sheet v-model="userActionSheet" title="选择人员" class="userActionPopup">
<van-search v-model="searchKey" @search="onSearchUser" show-action <van-search v-model="searchKey" @search="onSearchUser" show-action placeholder="请输入姓名或者工号搜索">
placeholder="请输入姓名或者工号搜索">
<template #action> <template #action>
<div @click="onSearchUser">搜索</div> <div @click="onSearchUser">搜索</div>
</template> </template>
</van-search> </van-search>
<div class="van-action-sheet__content mt5 user-select-sheet" <div class="van-action-sheet__content mt5 user-select-sheet" v-if="searchUserList && searchUserList.length>0">
v-if="searchUserList && searchUserList.length>0">
<template v-if="searchLoading"> <template v-if="searchLoading">
<van-loading size="24px" vertical>搜索中...</van-loading> <van-loading size="24px" vertical>搜索中...</van-loading>
</template> </template>
<template v-if="!searchLoading"> <template v-if="!searchLoading">
<template v-for="item in searchUserList" <template v-for="item in searchUserList" v-if="!registerList.map(v=>v.id).includes(item.id)">
v-if="!registerList.map(v=>v.id).includes(item.id)"> <button @click="searchUserAdd(item)" class="van-action-sheet__item">
<button @click="searchUserAdd(item)" <span class="van-action-sheet__name" style="display: flex; flex-direction: column">
class="van-action-sheet__item"> <div style="display: flex; justify-content: center">{{ item.userName }}-{{ item.loginName }}-{{item.sex}}</div>
<span class="van-action-sheet__name" <div>{{ item.unitName }}</div>
style="display: flex;flex-direction: column"> </span>
<div style="display: flex;justify-content: center;">
{{ item.userName }}-{{ item.loginName }}-{{item.sex}}
</div>
<div>
{{ item.unitName }}
</div>
</span>
</button> </button>
</template> </template>
</template> </template>
</div> </div>
<van-empty v-else image="search" description="请输入姓名或者工号搜索"></van-empty> <van-empty v-else image="search" description="请输入姓名或者工号搜索"></van-empty>
</van-action-sheet> </van-action-sheet>
<van-action-sheet v-model="fxgzsActionPopup" title="自愿参赛责任及风险告知书"> <van-action-sheet v-model="fxgzsActionPopup" title="自愿参赛责任及风险告知书">
<div v-html="activityData.precautions"></div> <div v-html="activityData.precautions" style="padding: 10px 15px"></div>
</van-action-sheet> </van-action-sheet>
<van-action-sheet v-model="signActionPopup" title="签字"> <van-action-sheet v-model="signActionPopup" title="签字">
<div class="van-card-header"> <div class="van-card-header">签字</div>
签字
</div>
<div class="van-card-body"> <div class="van-card-body">
<mobile-sign ref="signature" :my_sign.sync="formData.applyUserSign" <mobile-sign ref="signature" :my_sign.sync="formData.applyUserSign" :is_value_base64="false"></mobile-sign>
:is_value_base64="false"></mobile-sign>
</div> </div>
<div style="display: flex;justify-content: center;padding-bottom: 10px"> <div style="display: flex; justify-content: center; padding-bottom: 10px">
<van-radio-group v-model="formData.isCy" direction="horizontal"> <van-radio-group v-model="formData.isCy" direction="horizontal">
<van-radio name="1"></van-radio> <van-radio name="1"></van-radio>
<span style="color: red" <span style="color: red" @click="fxgzsActionPopup=true">自愿参赛责任及风险告知书</span>
@click="fxgzsActionPopup=true">自愿参赛责任及风险告知书</span>
</van-radio-group> </van-radio-group>
</div> </div>
<van-row gutter="20"> <van-row gutter="20">
<van-col span="24"> <van-col span="24">
<van-button @click="doSign()" style="border-radius: 10px" block <van-button @click="doSign()" style="border-radius: 10px" block type="info">提 交</van-button>
type="info">
提 交
</van-button>
</van-col> </van-col>
</van-row> </van-row>
</van-action-sheet> </van-action-sheet>
<van-action-sheet
<van-action-sheet v-model="activityDialog" :close-on-click-overlay="false" v-model="activityDialog"
:style="{ height: '100%',width:'100%' ,'overflow-y':'visible'}" :close-on-click-overlay="false"
title="项目报名"> :style="{ height: '100%',width:'100%' ,'overflow-y':'visible'}"
<div class="van-card-header"> title="项目报名"
本人信息 >
</div> <div class="van-card-header">本人信息</div>
<div class="van-card-body"> <div class="van-card-body">
<van-field label="姓名" readonly <van-field label="姓名" readonly v-model="userName"></van-field>
v-model="userName"></van-field> <van-field label="工号" readonly v-model="loginName"></van-field>
<van-field label="工号" readonly
v-model="loginName"></van-field>
<van-field label="性别" readonly v-model="sex"></van-field> <van-field label="性别" readonly v-model="sex"></van-field>
<van-field label="所在单位" readonly <van-field label="所在单位" readonly v-model="unitName"></van-field>
v-model="unitName"></van-field> <van-field label="所属工会" readonly v-model="unionName"></van-field>
<van-field label="所属工会" readonly
v-model="unionName"></van-field>
<van-radio-group v-model="formData.teamId" v-if="projectType==2"> <van-radio-group v-model="formData.teamId" v-if="projectType==2">
<van-cell-group> <van-cell-group>
<template v-for="i in teams"> <template v-for="i in teams">
@@ -372,28 +315,20 @@ layout("/mobile/platform.html"){
</template> </template>
</van-cell-group> </van-cell-group>
</van-radio-group> </van-radio-group>
</div>
<div class="van-card-header">
签字
</div> </div>
<div class="van-card-header">签字</div>
<div class="van-card-body"> <div class="van-card-body">
<mobile-sign ref="signature" :my_sign.sync="formData.applyUserSign" <mobile-sign ref="signature" :my_sign.sync="formData.applyUserSign" :is_value_base64="false"></mobile-sign>
:is_value_base64="false"></mobile-sign>
</div> </div>
<div style="display: flex;justify-content: center;padding-bottom: 10px"> <div style="display: flex; justify-content: center; padding-bottom: 10px">
<van-radio-group v-model="formData.isCy" direction="horizontal"> <van-radio-group v-model="formData.isCy" direction="horizontal">
<van-radio name="1"></van-radio> <van-radio name="1"></van-radio>
<span style="color: red" <span style="color: red" @click="fxgzsActionPopup=true">自愿参赛责任及风险告知书</span>
@click="fxgzsActionPopup=true">自愿参赛责任及风险告知书</span>
</van-radio-group> </van-radio-group>
</div> </div>
<van-row gutter="20"> <van-row gutter="20">
<van-col span="24"> <van-col span="24">
<van-button @click="doActivityConfirm()" style="border-radius: 10px" block <van-button @click="doActivityConfirm()" style="border-radius: 10px" block type="info">提 交</van-button>
type="info">
提 交
</van-button>
</van-col> </van-col>
</van-row> </van-row>
</van-action-sheet> </van-action-sheet>
@@ -410,9 +345,7 @@ layout("/mobile/platform.html"){
</van-dialog>--> </van-dialog>-->
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg"
description="暂无数据"></van-empty>
</div> </div>
<script> <script>
@@ -482,42 +415,43 @@ layout("/mobile/platform.html"){
methods: { methods: {
doSign() { doSign() {
if (this.activityData.isSign && !this.formData.applyUserSign) { if (this.activityData.isSign && !this.formData.applyUserSign) {
this.$dialog.alert({ this.$dialog
title: "温馨提示", .alert({
message: "请签字后再提交!" title: "温馨提示",
}).then(() => { message: "请签字后再提交!"
})
}) .then(() => {})
return return
} }
if (this.activityData.isSign && !this.formData.isCy) { if (this.activityData.isSign && !this.formData.isCy) {
this.$dialog.alert({ this.$dialog
title: "温馨提示", .alert({
message: "请先阅读自愿参赛责任及风险告知书!" title: "温馨提示",
}).then(() => { message: "请先阅读自愿参赛责任及风险告知书!"
})
}) .then(() => {})
return return
} }
this.$dialog.confirm({ this.$dialog
title: "提示", .confirm({
message: "您确认要提交吗?" title: "提示",
}).then(() => { message: "您确认要提交吗?"
$.post("/mobile/activity/Sports/list/doSign", { })
applyUserSign: this.formData.applyUserSign, .then(() => {
activityId: this.activityData.activityId, $.post("/mobile/activity/Sports/list/doSign", {
eventId: this.activityData.eventId applyUserSign: this.formData.applyUserSign,
}).then(resp => { activityId: this.activityData.activityId,
if (resp.code === 0) { eventId: this.activityData.eventId
this.$toast.success("提交成功!") }).then((resp) => {
window.location.reload() if (resp.code === 0) {
} else { this.$toast.success("提交成功!")
this.$toast.fail(resp.msg) window.location.reload()
} } else {
this.$toast.fail(resp.msg)
}
})
}) })
})
}, },
openSign(row) { openSign(row) {
this.activityData = row this.activityData = row
@@ -530,9 +464,9 @@ layout("/mobile/platform.html"){
const resp = await this.selectRegisterList() const resp = await this.selectRegisterList()
if (resp) { if (resp) {
const selfInfo = resp.find(v => v.id === "${@shiro.getPrincipalProperty('id')}" && v.eventId === item.eventId) const selfInfo = resp.find((v) => v.id === "${@shiro.getPrincipalProperty('id')}" && v.eventId === item.eventId)
if (selfInfo) { if (selfInfo) {
this.registerList = resp.filter(v => v.eventId === item.eventId && v.applyUser === selfInfo.applyUser) this.registerList = resp.filter((v) => v.eventId === item.eventId && v.applyUser === selfInfo.applyUser)
this.formData.applyUserSign = selfInfo.applyUserSign this.formData.applyUserSign = selfInfo.applyUserSign
} }
this.teamSignUpShow = true this.teamSignUpShow = true
@@ -543,66 +477,59 @@ layout("/mobile/platform.html"){
activityId: this.formData.activityId activityId: this.formData.activityId
}) })
return resp.data return resp.data
}, },
async doTeamSignUp() { async doTeamSignUp() {
if (this.activityData.isSign && !this.formData.applyUserSign) { if (this.activityData.isSign && !this.formData.applyUserSign) {
this.$dialog.alert({ this.$dialog
title: "温馨提示", .alert({
message: "请签字后再提交!" title: "温馨提示",
}).then(() => { message: "请签字后再提交!"
})
}) .then(() => {})
return return
} }
if (this.activityData.isSign && !this.formData.isCy) { if (this.activityData.isSign && !this.formData.isCy) {
this.$dialog.alert({ this.$dialog
title: "温馨提示", .alert({
message: "请先阅读自愿参赛责任及风险告知书!" title: "温馨提示",
}).then(() => { message: "请先阅读自愿参赛责任及风险告知书!"
})
}) .then(() => {})
return return
} }
const { const { athletesMaxNum, startAgeDate, endAgeDate, isMenWomen, restrictBoyNum, restrictGirlNum } = this.events.find(
athletesMaxNum, (v) => v.eventId === this.formData.eventId
startAgeDate, )
endAgeDate,
isMenWomen,
restrictBoyNum,
restrictGirlNum
} = this.events.find(v => v.eventId === this.formData.eventId)
if (restrictBoyNum > 0) { if (restrictBoyNum > 0) {
if (this.registerList.filter(v => v.sex === "男").length !== restrictBoyNum) { if (this.registerList.filter((v) => v.sex === "男").length !== restrictBoyNum) {
this.$dialog.alert({ this.$dialog
title: "温馨提示", .alert({
message: "男运动员需要报名" + restrictBoyNum + "人才能提交!" title: "温馨提示",
}).then(() => { message: "男运动员需要报名" + restrictBoyNum + "人才能提交!"
})
}) .then(() => {})
return return
} }
} }
if (restrictGirlNum > 0) { if (restrictGirlNum > 0) {
if (this.registerList.filter(v => v.sex === "女").length !== restrictGirlNum) { if (this.registerList.filter((v) => v.sex === "女").length !== restrictGirlNum) {
this.$dialog.alert({ this.$dialog
title: "温馨提示", .alert({
message: "女运动员需要报名" + restrictGirlNum + "人才能提交!" title: "温馨提示",
}).then(() => { message: "女运动员需要报名" + restrictGirlNum + "人才能提交!"
})
}) .then(() => {})
return return
} }
} }
this.addRegisterList = await this.selectRegisterList() this.addRegisterList = await this.selectRegisterList()
let arr = [] let arr = []
if (this.addRegisterList && this.addRegisterList.length > 0) { if (this.addRegisterList && this.addRegisterList.length > 0) {
this.registerList.forEach(r => { this.registerList.forEach((r) => {
const num = this.addRegisterList.filter(a => Number(a.id) === r.id).length const num = this.addRegisterList.filter((a) => Number(a.id) === r.id).length
if (num === this.formData.restrictRegNumber) { if (num === this.formData.restrictRegNumber) {
arr.push(r.userName) arr.push(r.userName)
} }
@@ -610,20 +537,20 @@ layout("/mobile/platform.html"){
} }
if (arr && arr.length > 0) { if (arr && arr.length > 0) {
this.$dialog.alert({ this.$dialog
title: "温馨提示", .alert({
message: "【" + arr.toString() + "】已达到限报数量,您无法添加其组队!" title: "温馨提示",
}).then(() => { message: "【" + arr.toString() + "】已达到限报数量,您无法添加其组队!"
})
}) .then(() => {})
return return
} }
this.$modal.confirm("您确定要提交吗?").then(async () => { this.$modal.confirm("您确定要提交吗?").then(async () => {
if (this.formData.teamId) { if (this.formData.teamId) {
this.$set(this.formData, "teamName", this.teams.find(v => v.id === this.formData.teamId).name) this.$set(this.formData, "teamName", this.teams.find((v) => v.id === this.formData.teamId).name)
} }
const userIds = this.registerList.map(v => v.id) const userIds = this.registerList.map((v) => v.id)
await $.post("/mobile/activity/Sports/list/doTeamSignUp", { await $.post("/mobile/activity/Sports/list/doTeamSignUp", {
activityId: this.formData.activityId, activityId: this.formData.activityId,
eventId: this.formData.eventId, eventId: this.formData.eventId,
@@ -631,7 +558,6 @@ layout("/mobile/platform.html"){
teamName: this.formData.teamName, teamName: this.formData.teamName,
userIds: JSON.stringify(userIds), userIds: JSON.stringify(userIds),
applyUserSign: this.formData.applyUserSign applyUserSign: this.formData.applyUserSign
}) })
await this.onRefresh() await this.onRefresh()
this.teamSignUpShow = false this.teamSignUpShow = false
@@ -639,27 +565,26 @@ layout("/mobile/platform.html"){
}) })
}, },
searchUserAdd(item) { searchUserAdd(item) {
const { const { restrictBoyNum, restrictGirlNum } = this.events.find((v) => v.eventId === this.formData.eventId)
restrictBoyNum, const nanRegisterList = this.registerList.filter((v) => v.sex === "男").map((r) => r.sex)
restrictGirlNum const nvRegisterList = this.registerList.filter((v) => v.sex === "女").map((r) => r.sex)
} = this.events.find(v => v.eventId === this.formData.eventId)
const nanRegisterList = this.registerList.filter(v => v.sex === "男").map(r => r.sex)
const nvRegisterList = this.registerList.filter(v => v.sex === "女").map(r => r.sex)
if (restrictBoyNum > 0 && nanRegisterList.length === restrictBoyNum && item.sex === "男") { if (restrictBoyNum > 0 && nanRegisterList.length === restrictBoyNum && item.sex === "男") {
this.$dialog.alert({ this.$dialog
title: "温馨提示", .alert({
message: "男教师报名人数已满" title: "温馨提示",
}).then(() => { message: "男教师报名人数已满"
}) })
.then(() => {})
return return
} }
if (restrictGirlNum > 0 && nvRegisterList.length === restrictGirlNum && item.sex === "女") { if (restrictGirlNum > 0 && nvRegisterList.length === restrictGirlNum && item.sex === "女") {
this.$dialog.alert({ this.$dialog
title: "温馨提示", .alert({
message: "女教师报名人数已满" title: "温馨提示",
}).then(() => { message: "女教师报名人数已满"
}) })
.then(() => {})
return return
} }
@@ -692,14 +617,16 @@ layout("/mobile/platform.html"){
this.$toast.fail("因为是组队报名,自己不能删除") this.$toast.fail("因为是组队报名,自己不能删除")
return return
} }
this.$dialog.confirm({ this.$dialog
title: "提示", .confirm({
message: "您确认要删除吗?" title: "提示",
}).then(() => { message: "您确认要删除吗?"
const index = this.registerList.findIndex(v => v.id === item.id) })
this.registerList.splice(index, 1) .then(() => {
}).catch(() => { const index = this.registerList.findIndex((v) => v.id === item.id)
}) this.registerList.splice(index, 1)
})
.catch(() => {})
}, },
openUserActionSheet() { openUserActionSheet() {
this.searchKey = "" this.searchKey = ""
@@ -708,27 +635,26 @@ layout("/mobile/platform.html"){
this.userActionSheet = true this.userActionSheet = true
}, },
onBeforeClose(action, done) { onBeforeClose(action, done) {
return done(false) return done(false)
}, },
async doActivityConfirm() { async doActivityConfirm() {
if (this.activityData.isSign && !this.formData.applyUserSign) { if (this.activityData.isSign && !this.formData.applyUserSign) {
this.$dialog.alert({ this.$dialog
title: "温馨提示", .alert({
message: "请签字后再提交!" title: "温馨提示",
}).then(() => { message: "请签字后再提交!"
})
}) .then(() => {})
return return
} }
if (this.activityData.isSign && !this.formData.isCy) { if (this.activityData.isSign && !this.formData.isCy) {
this.$dialog.alert({ this.$dialog
title: "温馨提示", .alert({
message: "请先阅读自愿参赛责任及风险告知书!" title: "温馨提示",
}).then(() => { message: "请先阅读自愿参赛责任及风险告知书!"
})
}) .then(() => {})
return return
} }
if (this.formData.teamId == null && this.projectType == 2) { if (this.formData.teamId == null && this.projectType == 2) {
@@ -810,7 +736,7 @@ layout("/mobile/platform.html"){
userId: "${@shiro.getPrincipalProperty('id')}", userId: "${@shiro.getPrincipalProperty('id')}",
activityId: activityId, activityId: activityId,
eventId: eventId eventId: eventId
}).then(resp => { }).then((resp) => {
if (resp.code === 0) { if (resp.code === 0) {
this.onRefresh() this.onRefresh()
this.teamSignUpShow = false this.teamSignUpShow = false
@@ -823,14 +749,7 @@ layout("/mobile/platform.html"){
return return
} }
const { const { athletesMaxNum, startAgeDate, endAgeDate, isMenWomen, restrictBoyNum, restrictGirlNum } = this.events.find(
athletesMaxNum,
startAgeDate,
endAgeDate,
isMenWomen,
restrictBoyNum,
restrictGirlNum
} = this.events.find(
(v) => v.id === eventId (v) => v.id === eventId
) )
if (isMenWomen) { if (isMenWomen) {
@@ -911,8 +830,6 @@ layout("/mobile/platform.html"){
this.teamSignUpShow = true this.teamSignUpShow = true
return return
} }
} else { } else {
if (isMenWomen != null && isMenWomen == 1 && "${@shiro.getPrincipalProperty('sex')}" != "男") { if (isMenWomen != null && isMenWomen == 1 && "${@shiro.getPrincipalProperty('sex')}" != "男") {
this.$toast("此项目只能男性老师才能报名!") this.$toast("此项目只能男性老师才能报名!")
@@ -1048,7 +965,7 @@ layout("/mobile/platform.html"){
} }
.van-card-body { .van-card-body {
padding: 0px 10px 0px 10px padding: 0px 10px 0px 10px;
} }
.user-select-sheet { .user-select-sheet {