99549010 by 杨炀

no message

1 parent 25cffd01
......@@ -13,7 +13,7 @@
<el-menu-item index="/">{{ language==0?'首页':'HOME' }}</el-menu-item>
<el-menu-item index="/news">{{ language==0?'新闻资讯':'NEWS' }}</el-menu-item>
<el-menu-item index="/notice">{{ language==0?'通知公告':'NOTICEBOARD' }}</el-menu-item>
<el-menu-item index="/match/list/0">{{ language==0?'大赛报名':'SIGN UP' }}</el-menu-item>
<el-menu-item index="/match/list">{{ language==0?'大赛报名':'SIGN UP' }}</el-menu-item>
<el-menu-item index="/saiC">{{ language==0?'赛程安排':'COMPETITIONS' }}</el-menu-item>
<el-menu-item index="/meta">{{ language==0?'媒体中心':'MEDIA' }}</el-menu-item>
<el-menu-item index="/guide">{{ language==0?'参赛指南':'GUIDELINE' }}</el-menu-item>
......@@ -31,7 +31,7 @@
<el-menu-item index="/">{{ language==0?'首页':'HOME' }}</el-menu-item>
<el-menu-item index="/news">{{ language==0?'新闻资讯':'NEWS' }}</el-menu-item>
<el-menu-item index="/notice">{{ language==0?'通知公告':'NOTICEBOARD' }}</el-menu-item>
<el-menu-item index="/match/list/0">{{ language==0?'大赛报名':'SIGN UP' }}</el-menu-item>
<el-menu-item index="/match/list">{{ language==0?'大赛报名':'SIGN UP' }}</el-menu-item>
<el-menu-item index="/saiC">{{ language==0?'赛程安排':'COMPETITIONS' }}</el-menu-item>
<el-menu-item index="/meta">{{ language==0?'媒体中心':'MEDIA' }}</el-menu-item>
<el-menu-item index="/guide">{{ language==0?'参赛指南':'GUIDELINE' }}</el-menu-item>
......@@ -94,7 +94,7 @@
<el-menu-item index="/">首页</el-menu-item>
<el-menu-item index="/news">新闻资讯</el-menu-item>
<el-menu-item index="/notice">通知公告</el-menu-item>
<el-menu-item index="/match/list/0">大赛报名</el-menu-item>
<el-menu-item index="/match/list">大赛报名</el-menu-item>
<el-menu-item index="/saiC">赛程安排</el-menu-item>
<el-menu-item index="/meta">媒体中心</el-menu-item>
<el-menu-item index="/guide">参赛指南</el-menu-item>
......@@ -112,7 +112,7 @@
<el-menu-item index="/">HOME</el-menu-item>
<el-menu-item index="/news">NEWS</el-menu-item>
<el-menu-item index="/notice">NOTICEBOARD</el-menu-item>
<el-menu-item index="/match/list/0">SIGN UP</el-menu-item>
<el-menu-item index="/match/list">SIGN UP</el-menu-item>
<el-menu-item index="/saiC">COMPETITIONS</el-menu-item>
<el-menu-item index="/meta">MEDIA</el-menu-item>
<el-menu-item index="/guide">GUIDELINE</el-menu-item>
......@@ -174,7 +174,7 @@ onMounted(() => {
} else if (route.fullPath.indexOf('saiC') > -1) {
activeIndex.value = '/saiC'
} else if (route.fullPath.indexOf('match') > -1) {
activeIndex.value = '/match/list/0'
activeIndex.value = '/match/list'
}
console.log(activeIndex.value)
})
......@@ -341,7 +341,7 @@ function getCode() {
}
@media (max-width: 1250px) {
.home-menu .el-menu--horizontal > .el-menu-item{font-size: 14px}
.topNav .logo{height: 50px}
.topNav .logo{height: 50px;margin-left: 20px}
}
@media (max-width: 1000px) {
.box {
......
......@@ -16,6 +16,6 @@ import { AppMain, AppHeader, AppBottom } from './components'
.el-radio-button{ margin: 0 14px 0 0;}
.el-radio-button__inner{border: none!important;}
.el-radio-button__original-radio:checked+.el-radio-button__inner{
background: #CA171D;border-radius: 0;}
background: #453DEA;border-radius: 0;box-shadow: none;}
}
</style>
......
......@@ -16,6 +16,6 @@ import { AppMain, AppTop, AppBottom } from './components'
.el-radio-button{ margin: 0 14px 0 0;}
.el-radio-button__inner{border: none!important;}
.el-radio-button__original-radio:checked+.el-radio-button__inner{
background: #CA171D;border-radius: 0;}
color: #453DEA;border-radius: 0;background: none;box-shadow: none;}
}
</style>
......
......@@ -261,12 +261,6 @@ export const constantRoutes = [
meta: { title: '会员服务' }
},
{
path: 'index/teamVip',
component: () => import('@/viewsPc/vip/teamVip'),
name: 'teamVip',
meta: { title: '会员服务' }
},
{
path: 'index/examPoints',
component: () => import('@/viewsPc/vip/examPoints'),
name: 'examPoints',
......@@ -340,15 +334,20 @@ export const constantRoutes = [
name: 'teamRegister',
meta: { title: '团体注册' }
},{
path: '2',
component: () => import('@/viewsPc/register/beauty'),
name: 'beautyRegister',
meta: { title: '化妆师注册' }
},{
path: 'userAgreement',
component: () => import('@/viewsPc/register/userAgreement'),
name: 'userAgreement',
meta: { title: '团体注册' }
meta: { title: '用户协议' }
},{
path: 'policy',
component: () => import('@/viewsPc/register/policy'),
name: 'policy',
meta: { title: '团体注册' }
meta: { title: '隐私协议' }
}
]
},
......
......@@ -285,12 +285,6 @@ export const constantRoutes = [
meta: { title: '会员服务' }
},
{
path: 'index/teamVip',
component: () => import('@/viewsPc/vip/teamVip'),
name: 'teamVip',
meta: { title: '会员服务' }
},
{
path: 'index/examPoints',
component: () => import('@/viewsPc/vip/examPoints'),
name: 'examPoints',
......
<template>
<div>
<div class="box">
<el-card class="mt30"></el-card>
<el-card class="mt30">
<!-- 酒店列表-->
</el-card>
</div>
</div>
......
<template>
<div class="box">
<div>
<el-card class="mt30">
</el-card>
</div>
</div>
</template>
<script setup>
</script>
<style scoped>
</style>
......@@ -48,7 +48,7 @@
<a class="more" @click="goFileList">MORE⇀</a>
</div>
<el-card class="mb20">
<el-row gutter="30">
<el-row :gutter="30">
<el-col :lg="12" :xs="24" v-for="n in fileList" :key="n.noteId">
<a class="file-item" target="_blank" :href="fillImgUrl_webSite(n.attacthJsonObj[0]?.url)">
<h3 class="esp">
......
......@@ -11,11 +11,11 @@
<div class="pt30">
<el-form-item :label="language==0?'选择机构类型':'Select institution type'" required>
<el-radio-group v-model="form.type">
<el-radio-button label="0">{{ language==0?'普通院校':'School' }}</el-radio-button>
<el-radio-button label="1">{{ language==0?'专业舞蹈学校':'Professional dance school' }}</el-radio-button>
<el-radio-button label="2">{{ language==0?'培训机构/俱乐部':'Company/Club' }}</el-radio-button>
<el-radio-button label="3">{{ language==0?'地方协会':'Local Association' }}</el-radio-button>
<el-radio-button label="4">{{ language==0?'国家协会':'National Association' }}</el-radio-button>
<el-radio-button value="0">{{ language==0?'普通院校':'School' }}</el-radio-button>
<el-radio-button value="1">{{ language==0?'专业舞蹈学校':'Professional dance school' }}</el-radio-button>
<el-radio-button value="2">{{ language==0?'培训机构/俱乐部':'Company/Club' }}</el-radio-button>
<el-radio-button value="3">{{ language==0?'地方协会':'Local Association' }}</el-radio-button>
<el-radio-button value="4">{{ language==0?'国家协会':'National Association' }}</el-radio-button>
</el-radio-group>
</el-form-item>
</div>
......
......@@ -22,8 +22,8 @@
</el-form-item>
<el-form-item :label="language==0?'性别':'Sex'" required >
<el-radio-group v-model="myform.sex">
<el-radio label="0">{{ language == 0 ? '女' : 'female' }}</el-radio>
<el-radio label="1">{{ language == 0 ? '男' : 'male' }}</el-radio>
<el-radio value="0">{{ language == 0 ? '女' : 'female' }}</el-radio>
<el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :label="language==0?'出生日期':'Birthday'" required>
......
......@@ -99,7 +99,12 @@ const query = ref({
})
const total = ref(0)
const group = useUserStore().group || {}
const user = useUserStore().user || {}
const props = defineProps({
user: {
type: Object,
required: true
}
})
const groupId = ref(group.id|| 0)
onMounted(() => {
getList(groupId.value)
......@@ -124,14 +129,14 @@ function importSportman() {
function getList() {
query.value.label =labelArr.value.toString()
if(user.utype=='2'){
if(props.user.utype=='2'){
getGroupPersonList(query.value, groupId.value).then(res => {
tableData.value = res.rows
total.value = res.total
})
}
if(user.utype=='1'){
getPerPersonList(query.value,user.userId).then(res => {
if(props.user.utype=='1'){
getPerPersonList(query.value,props.user.userId).then(res => {
tableData.value = res.rows
total.value = res.total
})
......
......@@ -129,7 +129,7 @@
<a class="more" @click="goList(query4,kindList[3]?.name)">MORE⇀</a>
</div>
<el-card class="mb20">
<el-row gutter="20">
<el-row :gutter="20">
<el-col v-for="n in list4" :span="12">
<div class="news-newtag">
<div class="item" @click="goDetail(n)">
......
<template>
<div>
<el-row gutter="30">
<el-row :gutter="30">
<el-col :span="12" class="newsimgcover" v-for="n in newsList" v-show="n.picUrl">
<a class="item" :href="n.jumpUrl" target="_blank">
<div class="imgbox" v-if="n.picUrl">
......
......@@ -97,7 +97,7 @@
</el-card>
<el-row class="mb20 linkrow" gutter="20">
<el-row class="mb20 linkrow" :gutter="20">
<el-col :lg="8">
<h2>违规举报</h2>
<a href="http://www.chinada.cn/jbly/index.jhtml" target="_blank">
......@@ -247,7 +247,7 @@
</div>
<el-row class="mb20 linkrow" gutter="20">
<el-row class="mb20 linkrow" :gutter="20">
<el-col :lg="8" :xs="8">
<h2>违规举报</h2>
<a href="http://www.chinada.cn/jbly/index.jhtml" target="_blank">
......
<template>
<div>
<div class="banner">
<el-carousel height="450px" :autoplay="false" arrow="hover">
<el-carousel-item style="height: 450px;">
<el-carousel height="450px" :autoplay="false" arrow="hover" @change="carouselChange">
<el-carousel-item style="height: 450px;" v-for="n in maList" :key="n.id">
<div class="bannerItem">
<div class="h100">
<img v-if="matchData.bgImgUrl" class="bannerImg" :src="fillImgUrl(matchData.bgImgUrl)">
<img v-if="n.bgImgUrl" class="bannerImg" :src="fillImgUrl(n.bgImgUrl)">
<img v-else class="bannerImg" src="@/assets/dance/banner.png">
<div class="box" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;">
<div class="box forPc" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;">
<div class="banner-count">
距离开始还有
<van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒">
<van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒">
<template #default="timeData">
<div class="block">{{ timeData.days }}
<span class="colon"></span>
......@@ -412,6 +412,7 @@ const scores = ref([])
const nowscores = ref([])
const livelist = ref([])
const matchData = ref({})
const maList = ref([])
const loading = ref(false)
const picList = ref([])
const calendarValue = ref(dayjs('2024-07-22').toDate())
......@@ -447,14 +448,18 @@ const init = () => {
newest2.value = res.rows
})
match.getMaList().then((res) => {
match.getMatchById({id: res.rows[0].id}).then(resposn => {
matchData.value = resposn.data
// var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
// time.value = dayjs(resposn.data.signEndTime).diff(today, 'millisecond')
})
maList.value = res.rows
for(let n of maList.value){
var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
n.time = dayjs(n.signEndTime).diff(today, 'millisecond')
}
matchData.value = maList.value[0]
})
}
const carouselChange = (e) => {
console.log(e)
matchData.value = maList.value[e]
}
const goDetail = (n) => {
if (n.isOut == '1') {
window.open(n.jumpUrl)
......
......@@ -37,8 +37,8 @@
</el-form-item>
<el-form-item :label="language==0?'性别':'sex'" prop="sex">
<el-radio-group v-model="form.sex">
<el-radio label="0">{{ language == 0 ? '女' : 'female' }}</el-radio>
<el-radio label="1">{{ language == 0 ? '男' : 'male' }}</el-radio>
<el-radio value="0">{{ language == 0 ? '女' : 'female' }}</el-radio>
<el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio>
</el-radio-group>
</el-form-item>
......
......@@ -5,7 +5,7 @@
destroy-on-close
>
<el-form ref="dialogRef" :model="form" :rules="language==0?rules:rules_cn" label-width="120px" inline>
<el-row :gutter="30">
<el-row :gutter="30" class="mt30">
<el-col :lg="12" class="touxiang">
<el-form-item :label="language==0?'姓氏':'surname'" prop="xing" required>
......@@ -29,8 +29,8 @@
</el-form-item>
<el-form-item :label="language==0?'性别':'sex'" prop="sex">
<el-radio-group v-model="form.sex">
<el-radio label="0">{{ language==0?'女':'female' }}</el-radio>
<el-radio label="1">{{ language==0?'男':'male' }}</el-radio>
<el-radio value="0">{{ language==0?'女':'female' }}</el-radio>
<el-radio value="1">{{ language==0?'男':'male' }}</el-radio>
</el-radio-group>
</el-form-item>
......@@ -214,10 +214,15 @@ const open = (params) => {
defineExpose({open})
watch(show, (value) => {
if (!value) {
form.value = {}
form.value = {
sex:'0'
}
if(language.value == 0){
form.value.countryId = 240
}
}
nextTick(() => {
proxy.$refs['dialogRef'].clearValidate()
// proxy.$refs['dialogRef'].clearValidate()
})
})
......
......@@ -52,8 +52,8 @@
<div class="h20"></div>
<el-form-item :label="language==0?'性别':'Sex'" required>
<el-radio-group v-model="form.sex">
<el-radio label="0">{{ language == 0 ? '女' : 'female' }}</el-radio>
<el-radio label="1">{{ language == 0 ? '男' : 'male' }}</el-radio>
<el-radio value="0">{{ language == 0 ? '女' : 'female' }}</el-radio>
<el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio>
</el-radio-group>
</el-form-item>
......
......@@ -25,7 +25,7 @@
</div>
</template>
</el-table-column>
<el-table-column :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin" width="200"/>
<el-table-column :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin" width="110"/>
<!-- <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="address" min-width="140"/>-->
<el-table-column :label="language==0?'操作':'Actions'" fixed="right" width="160" header-align="center"
align="center">
......
<template>
<el-row :gutter="14" v-if="language==0">
<el-col :lg="4">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(0)">
<img src="@/assets/dance/btn04.png"/>
<h4>票务预订</h4>
</div>
</el-col>
<el-col :lg="4">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(1)">
<img src="@/assets/dance/btn01.png"/>
<h4>酒店预约</h4>
</div>
</el-col>
<el-col :lg="4">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(2)">
<img src="@/assets/dance/btn02.png"/>
<h4>车辆预约</h4>
</div>
</el-col>
<el-col :lg="4">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(3)">
<img src="@/assets/dance/btn03.png"/>
<h4>餐饮预订</h4>
</div>
</el-col>
<el-col :lg="4">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(4)">
<img src="@/assets/dance/btn05.png"/>
<h4>化妆预约</h4>
</div>
</el-col>
<el-col :lg="4">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(5)">
<img src="@/assets/dance/btn06.png"/>
<h4>拍照预约</h4>
......@@ -38,37 +38,37 @@
</el-col>
</el-row>
<el-row :gutter="14" v-else>
<el-col :lg="4" :md="8" :xs="12">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn04.png"/>
<h4>Ticket Booking</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :xs="12">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn01.png"/>
<h4>Hotel Reservation</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :xs="12">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn02.png"/>
<h4>Vehicle Reservation</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :xs="12">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn03.png"/>
<h4>Dining Reservation</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :xs="12">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn05.png"/>
<h4>Makeup Appointment</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :xs="12">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn06.png"/>
<h4>Photography Appointment</h4>
......@@ -94,32 +94,32 @@ function building() {
ElMessage.warning('Building!')
}
function goBooking(n) {
switch (n) {
case 0:
// 票务
router.push({path: `/booking/ticket/${props.matchId}`})
break;
case 1:
//酒店
router.push({path: `/booking/hotel/${props.matchId}`})
break;
case 2:
//车辆
router.push({path: `/booking/car/${props.matchId}`})
break;
case 3:
//餐饮
router.push({path: `/booking/dining/${props.matchId}`})
break;
case 4:
//化妆
router.push({path: `/booking/makeup/${props.matchId}`})
break;
case 5:
//拍照
router.push({path: `/booking/photography/${props.matchId}`})
break;
}
// switch (n) {
// case 0:
// // 票务
// router.push({path: `/booking/ticket/${props.matchId}`})
// break;
// case 1:
// //酒店
// router.push({path: `/booking/hotel/${props.matchId}`})
// break;
// case 2:
// //车辆
// router.push({path: `/booking/car/${props.matchId}`})
// break;
// case 3:
// //餐饮
// router.push({path: `/booking/dining/${props.matchId}`})
// break;
// case 4:
// //化妆
// router.push({path: `/booking/makeup/${props.matchId}`})
// break;
// case 5:
// //拍照
// router.push({path: `/booking/photography/${props.matchId}`})
// break;
// }
}
</script>
......
......@@ -71,7 +71,7 @@ onMounted(()=>{
})
function goDetail(id) {
const routeData = router.resolve({
path: `${id}`
path: `/match/list/${id}`
})
window.open(routeData.href, '_blank')
}
......
......@@ -13,11 +13,11 @@
<div class="box mb20 " v-else>
<el-card class="mb20">
<el-row :gutter="20">
<el-col :lg="7" :md="24" :xl="6">
<el-col :lg="7" :md="matchData.type=='0'?24:12" :xl="matchData.type=='0'?6:6">
<img class="mauto w100" :src="fillImgUrl(matchData.coverUrl)">
</el-col>
<el-col :lg="9" :md="12" :xl="10">
<h3>
<el-col :lg="matchData.type=='0'?9:17" :md="matchData.type=='0'?12:12" :xl="matchData.type=='0'?10:10">
<h3 class="mtitle">
{{ matchData.name }}
</h3>
<p class="ppl"><label class="bm1">比赛时间:</label>{{ matchData.beginTime?.slice(0, 10) }} 至
......@@ -386,6 +386,7 @@ function checkIsSign() {
<style scoped lang="scss">
.app-container{min-height: 80vh;}
.mtitle{margin:5px 0 0;line-height: 1.4;}
.indexTitle {
margin: 20px 0 12px;
......
<template>
<div>
<div class="mt30"></div>
<div class="box">
<beauty-step :active-step="activeStep"/>
<el-card class="mt20 mb20" v-if="activeStep == 0">
<div class="pt30">
<el-form class="d-form" size="large" :label-width="language==0?120:200" style="max-width: 500px;margin: auto">
<el-form-item :label="language==0?'邮箱':'E-mail'" required>
<el-input type="text" v-model="form.account" @change="resetCode" @blur="verifyCode"
/>
<div class="tip" v-if="language==0">
(请填写正确的邮箱信息,邮箱信息在注册完成后无法修改。
该邮箱后续会会作为您登录的账户)
</div>
<div v-else class="tip">
Please fill in a correct mailbox information, which cannot be modified after registration.
The mailbox will receive your registration review.
</div>
</el-form-item>
<el-form-item :label="language==0?'验证码':'Code'" required>
<el-input v-model="form.code">
<template #append>
<el-button type="primary" plain style="width: 110px" @click="sendsmsMsg">
<count-down v-if="counting" v-slot="{ totalSeconds }" :time="60000" @end="counting=false">
{{ totalSeconds }} {{ language == 0 ? '秒' : 's' }}
</count-down>
<span v-else>
{{ language == 0 ? '发送验证码' : 'Send code' }}
</span>
</el-button>
</template>
</el-input>
<div class="vcodeBox" :style="isShow?'height:240px':'height:0'">
<Vcode :show="isShow" :successText="successVcode" :failText="failVcode" :slider-text="sliderText"
type="inside" @success="codeSuccess"></Vcode>
</div>
</el-form-item>
</el-form>
</div>
</el-card>
</div>
</div>
</template>
<script setup>
import {ref} from "vue"
import BeautyStep from "./components/beauty-step"
import {useStorage} from "@vueuse/core/index";
const activeStep = ref(0)
const form = ref({})
const language = useStorage('language', 0)
</script>
<style scoped lang="scss">
.tip{line-height: 1.6;margin-top: 10px;}
</style>
<template>
<el-card>
<el-steps :active="activeStep" finish-status="success" align-center>
<el-step :title="language==0?'创建账号':'Check WDSF ID'"/>
<el-step :title="language==0?'账号信息':'Participant Registration'" />
<!-- <el-step :title="language==0?'提交审核':'Submit for review'" />-->
<el-step :title="language==0?'注册完成':'stered successfully'" />
</el-steps>
</el-card>
</template>
<script setup>
import {ref} from "vue";
import cache from "@/plugins/cache";
import {useStorage} from "@vueuse/core/index";
const language = useStorage('language', 0)
const props = defineProps({
activeStep: {
type: Number,
required: true
}
})
</script>
<style scoped>
</style>
......@@ -52,8 +52,8 @@
<div class="h20"></div>
<el-form-item :label="language==0?'性别':'Sex'" required>
<el-radio-group v-model="wdsfData.sex">
<el-radio label="0">{{ language == 0 ? '女' : 'female' }}</el-radio>
<el-radio label="1">{{ language == 0 ? '男' : 'male' }}</el-radio>
<el-radio value="0">{{ language == 0 ? '女' : 'female' }}</el-radio>
<el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio>
</el-radio-group>
</el-form-item>
......
......@@ -20,10 +20,10 @@
<template #append>
<el-button type="primary" plain style="width: 110px" @click="sendsmsMsg">
<count-down v-if="counting" v-slot="{ totalSeconds }" :time="60000" @end="counting=false">
{{ totalSeconds }} {{ language==0?'秒':'s' }}
{{ totalSeconds }} {{ language == 0 ? '秒' : 's' }}
</count-down>
<span v-else>
{{ language==0?'发送验证码':'Send code' }}
{{ language == 0 ? '发送验证码' : 'Send code' }}
</span>
</el-button>
</template>
......@@ -36,73 +36,81 @@
</el-form>
</div>
<div class="text-center">
<!-- <el-button class="primary-kx" round @click="goBack">取消</el-button>-->
<el-button type="primary" class="btn-lineG w200px" round @click="next">{{language==0?'下一步':'NEXT' }}</el-button>
<!-- <el-button class="primary-kx" round @click="goBack">取消</el-button>-->
<el-button type="primary" class="btn-lineG w200px" round @click="next">{{
language == 0 ? '下一步' : 'NEXT'
}}
</el-button>
</div>
</el-card>
</template>
<script setup>
import {reactive,toRefs} from 'vue'
import {reactive, toRefs} from 'vue'
import Vcode from "vue3-puzzle-vcode"
import { ElMessage } from 'element-plus'
import {ElMessage} from 'element-plus'
import CountDown from '@chenfengyuan/vue-countdown'
import {getCaptchaSms,checkRegisterCode} from "@/apiPc/match";
import {getCaptchaSms, checkRegisterCode} from "@/apiPc/match";
import {onMounted} from "@vue/runtime-core";
import {useStorage} from "@vueuse/core/index";
const language= useStorage('language',0)
const language = useStorage('language', 0)
const data = reactive({
isShow:false,
isCodeTrue:false,
counting:false,
form:{},
isShow: false,
isCodeTrue: false,
counting: false,
form: {},
activeStep: 0,
failVcode:'验证失败,请重试',
successVcode:'验证通过!',
failVcode: '验证失败,请重试',
successVcode: '验证通过!',
sliderText: '拖动滑块完成拼图',
})
const {isShow,isCodeTrue,counting,form,activeStep,failVcode,successVcode,sliderText} = toRefs(data)
const emit = defineEmits(['submit','userName'])
onMounted(()=>{
if(language.value==1){
const {isShow, isCodeTrue, counting, form, activeStep, failVcode, successVcode, sliderText} = toRefs(data)
const emit = defineEmits(['submit', 'userName'])
onMounted(() => {
if (language.value == 1) {
failVcode.value = 'Error!'
successVcode.value = 'Success!'
sliderText.value = 'Drag the slider to complete the puzzle'
}
})
function sendsmsMsg() {
if(!form.value.account){
if(language.value==0){
if (!form.value.account) {
if (language.value == 0) {
ElMessage.error('请填写手机/邮箱')
} else {
ElMessage.error('Please fill in your phone/email address')
}
return
}
if(counting.value){
if (counting.value) {
return
} else {
isShow.value = true
}
}
function verifyCode() {
if(!form.value.account){
if (!form.value.account) {
return
}
if(form.value.account.indexOf('@')>-1){
if (form.value.account.indexOf('@') > -1) {
//邮箱
}
}
function codeSuccess(msg) {
console.log('验证通过' + msg);
isShow.value = false
isCodeTrue.value = true
counting.value = true
getCaptchaSms({account:form.value.account}).then(res=>{
getCaptchaSms({account: form.value.account}).then(res => {
})
}
function resetCode() {
isCodeTrue.value = false
}
......@@ -111,42 +119,51 @@ const goBack = () => {
router.go(-1)
}
const next = () => {
if(!form.value.account){
if(language.value==0){
ElMessage.error('请填写手机/邮箱')
if (!form.value.account) {
if (language.value == 0) {
ElMessage.error('请填写邮箱')
} else {
ElMessage.error('Please fill in your phone/email address')
}
return
}
if(!form.value.code){
if(language.value==0){
if (!form.value.code) {
if (language.value == 0) {
ElMessage.error('请填写验证码')
} else {
ElMessage.error('Please fill in Code')
}
return
}
if(!isCodeTrue.value){
if (!isCodeTrue.value) {
return
}
checkRegisterCode(form.value).then(res=>{
checkRegisterCode(form.value).then(res => {
emit('submit')
emit('userName',form.value.account)
emit('userName', form.value.account)
})
}
</script>
<style scoped lang="scss">
.el-input-group__append button.el-button, .el-input-group__append button.el-button:hover{
.el-input-group__append button.el-button, .el-input-group__append button.el-button:hover {
color: var(--el-color-primary);
background: #efefff;
border: var(--el-color-primary) solid 1px;
border-radius: 0;
}
.vcodeBox{ position: relative;margin: 20px 0 0;
width: 320px;overflow: hidden;
height: auto;}
.tip{line-height: 1.6;margin-top: 10px;}
.vcodeBox {
position: relative;
margin: 20px 0 0;
width: 320px;
overflow: hidden;
height: auto;
}
.tip {
line-height: 1.6;
margin-top: 10px;
}
</style>
......
......@@ -25,8 +25,9 @@ import Step2 from "./step2";
import Step3 from "./step3";
import {onMounted,toRefs,reactive} from "vue"
import {useStorage} from "@vueuse/core/index";
import {useRoute} from "vue-router";
const language= useStorage('language',0)
const route = useRoute()
const data = reactive({
isShow:false,
isCodeTrue:false,
......@@ -38,6 +39,11 @@ const data = reactive({
})
const {isShow,isCodeTrue,counting,form,activeStep} = toRefs(data)
onMounted(() => {
if(route.query.step){
activeStep.value = Number(route.query.step)
}
})
const toStep1 = () => {
activeStep.value = 0
}
......
......@@ -41,8 +41,8 @@
</el-form-item>
<el-form-item label="性别" prop="sex" required>
<el-radio-group v-model="form.sex" disabled>
<el-radio label="0" size="large"></el-radio>
<el-radio label="1" size="large"></el-radio>
<el-radio value="0" size="large"></el-radio>
<el-radio value="1" size="large"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="证件类型" prop="idcType" required>
......
......@@ -25,17 +25,17 @@
<el-col v-if="activity.invoiceFlag=='1'" :span="12">
<el-form-item label="是否需要发票" prop="invoiceFlag" required>
<el-radio-group v-model="form.invoiceFlag">
<el-radio label="1" size="large"></el-radio>
<el-radio label="0" size="large"></el-radio>
<el-radio value="1" size="large"></el-radio>
<el-radio value="0" size="large"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col v-if="activity.invoiceFlag=='1'" :span="12">
<el-form-item v-if="form.invoiceFlag=='1'" label="发票形式" prop="invoiceType" required>
<el-radio-group v-model="form.invoiceType">
<el-radio v-if="activity.invoiceType.indexOf('0')>-1" label="0" size="large">电子票</el-radio>
<el-radio v-if="activity.invoiceType.indexOf('1')>-1" label="1" size="large">纸质专票</el-radio>
<el-radio v-if="activity.invoiceType.indexOf('2')>-1" label="2" size="large">纸质普票</el-radio>
<el-radio v-if="activity.invoiceType.indexOf('0')>-1" value="0" size="large">电子票</el-radio>
<el-radio v-if="activity.invoiceType.indexOf('1')>-1" value="1" size="large">纸质专票</el-radio>
<el-radio v-if="activity.invoiceType.indexOf('2')>-1" value="2" size="large">纸质普票</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
......
......@@ -16,24 +16,24 @@
<li>
<label>状态:</label>
<el-radio-group v-model="query.flag" @change="searchList">
<el-radio-button label="">全部</el-radio-button>
<el-radio-button label="1">未开始</el-radio-button>
<el-radio-button label="2">进行中</el-radio-button>
<el-radio-button label="3">已结束</el-radio-button>
<el-radio-button value="">全部</el-radio-button>
<el-radio-button value="1">未开始</el-radio-button>
<el-radio-button value="2">进行中</el-radio-button>
<el-radio-button value="3">已结束</el-radio-button>
</el-radio-group>
</li>
<li>
<label>省份:</label>
<el-radio-group v-model="query.projectId" @change="searchList">
<el-radio-button label="">全部</el-radio-button>
<el-radio-button v-for="p in projectList" :key="p.provinceId" :label="p.provinceId">{{ p.provinceName }}</el-radio-button>
<el-radio-button value="">全部</el-radio-button>
<el-radio-button v-for="p in projectList" :key="p.provinceId" :value="p.provinceId">{{ p.provinceName }}</el-radio-button>
</el-radio-group>
</li>
<li>
<label>时间:</label>
<el-radio-group v-model="query.yearMonth" @change="searchList">
<el-radio-button label="">全部</el-radio-button>
<el-radio-button v-for="m in monthList" :key="m" :label="m" />
<el-radio-button value="">全部</el-radio-button>
<el-radio-button v-for="m in monthList" :key="m" :value="m" />
</el-radio-group>
</li>
</ul>
......
<template>
<div>
<div class="box">
<el-breadcrumb class="mt20" :separator-icon="ArrowRight">
<el-breadcrumb-item :to="{ path: '/' }">
<el-icon>
<HomeFilled/>
</el-icon>
首页
</el-breadcrumb-item>
<el-breadcrumb-item :to="{ name: 'vip' }">会员服务</el-breadcrumb-item>
<el-breadcrumb-item>团体会员</el-breadcrumb-item>
</el-breadcrumb>
<el-card class="mt20">
<div class="queryBox">
<el-form v-model="query">
<el-form-item label="省份/城市:">
<el-select class="mr10">
<el-option
v-for="item in cities"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-select>
<el-option
v-for="item in cities"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="团体级别:">
<el-radio-group v-model="query.level">
<el-radio-button label="-1">全部</el-radio-button>
<el-radio-button label="0">一级团体会员</el-radio-button>
<el-radio-button label="1">二级团体会员</el-radio-button>
<el-radio-button label="2">职业性团体会员</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="当前状态:">
<el-radio-group v-model="query.level">
<el-radio-button label="-1">全部</el-radio-button>
<el-radio-button label="0">正常</el-radio-button>
<el-radio-button label="1">已过期</el-radio-button>
</el-radio-group>
</el-form-item>
</el-form>
<div class="search">
<el-input
v-model="query.name"
placeholder="请输入团体会员名称查询"
:suffix-icon="Search"
/>
</div>
</div>
</el-card>
<el-card class="mb20 mt20">
<template #header>
<div class="card-header">
<span>团体会员列表</span>
<span class="fontsize14"><i class="text-danger">35</i> 条数据</span>
</div>
</template>
<div class="teamVipItem" v-for="n in 3">
<div class="imgbox"><img/></div>
<div class="info">
<h3 class="esp">北京市跆拳道协会1</h3>
<p class="esp">
<el-icon>
<LocationFilled/>
</el-icon>
北京市丰台区芳城园一区日月天地大厦B座506 拷贝
</p>
<p class="esp">
<span><el-icon><PhoneFilled/></el-icon>13912345678</span>
<span><el-icon><Checked/></el-icon>注册时间: 2021-08-05</span>
<span><el-icon><Failed/></el-icon>到期时间:2023-11-05<i class="text-info">(正常)</i></span>
</p>
</div>
</div>
<div class="pc-page-box">
<PaginationPc v-model:page="query.pageNum" v-model:limit="query.pageSize" :total="total" @pagination="getList"/>
</div>
</el-card>
</div>
</div>
</template>
<script setup>
import { Search,ArrowRight } from '@element-plus/icons-vue'
import { onMounted, ref } from 'vue'
import { useRoute, useRouter } from 'vue-router'
const route = useRoute()
const router = useRouter()
const query = ref({})
const total = ref(0)
const cities = ref([])
onMounted(() => {
})
const goDetail = (id) => {
router.push({
path: `/news/detail/${id}`
})
}
</script>
<style lang="scss" scoped>
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
}
</style>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!