ea0bb275 by 杨炀

no message

1 parent c22b116f
......@@ -252,7 +252,7 @@ aside {
.xzbox{border: 2px solid #DDECFB;padding: 20px;line-height: 2;
color: #29343C;
font-size: 16px;}
.funcBtn{width: 100%;cursor: pointer;
.funcBtn{width: 100%;cursor: pointer;height: calc(100% - 48px);
background:url("@/assets/dance/funcBg.png") no-repeat left;
background-size: cover;
border-radius: 16px;box-shadow:var(--el-box-shadow-light);
......
......@@ -358,39 +358,39 @@ export const constantRoutes = [
redirect: '/booking',
children: [
{
path: '0/:cptId',
path: 'ticket/:cptId',
component: () => import('@/viewsPc/booking/ticket'),
name: 'ticket',
meta: { title: '票务预订' }
},
{
path: '1/:cptId',
path: 'hotel/:cptId',
component: () => import('@/viewsPc/booking/hotel'),
name: 'hotel',
meta: { title: '酒店预约' }
},
{
path: '2/:cptId',
path: 'car/:cptId',
component: () => import('@/viewsPc/booking/car'),
name: 'car',
meta: { title: '车辆预约' }
},
{
path: '3/:cptId',
path: 'dinner/:cptId',
component: () => import('@/viewsPc/booking/dinner'),
name: 'dinner',
meta: { title: '餐饮预订' }
},
{
path: '4/:cptId',
path: 'makeUp/:cptId',
component: () => import('@/viewsPc/booking/makeUp'),
name: 'makeUp',
meta: { title: '化妆预约' }
},
{
path: '5/:cptId',
component: () => import('@/viewsPc/booking/photo'),
name: 'photo',
path: 'photography/:cptId',
component: () => import('@/viewsPc/booking/photography'),
name: 'photography',
meta: { title: '拍照预约' }
},
]
......
......@@ -346,6 +346,49 @@ export const constantRoutes = [
]
},
{
path: 'booking',
component: Empty,
redirect: '/booking',
children: [
{
path: 'ticket/:cptId',
component: () => import('@/viewsPc/booking/ticket'),
name: 'ticket',
meta: { title: 'Ticket Booking' }
},
{
path: 'hotel/:cptId',
component: () => import('@/viewsPc/booking/hotel'),
name: 'hotel',
meta: { title: 'Hotel Reservation' }
},
{
path: 'car/:cptId',
component: () => import('@/viewsPc/booking/car'),
name: 'car',
meta: { title: 'Vehicle Reservation' }
},
{
path: 'dinner/:cptId',
component: () => import('@/viewsPc/booking/dinner'),
name: 'dinner',
meta: { title: 'Dining Reservation' }
},
{
path: 'makeUp/:cptId',
component: () => import('@/viewsPc/booking/makeUp'),
name: 'makeUp',
meta: { title: 'Makeup Appointment' }
},
{
path: 'photography/:cptId',
component: () => import('@/viewsPc/booking/photography'),
name: 'photography',
meta: { title: 'Photography Appointment' }
},
]
},
{
path: 'center',
component: () => import('@/viewsPc/center/index'),
children: [
......
<template>
<div>
<div class="box">
<el-card class="mt30">
票务预定
</el-card>
</div>
</div>
......
......@@ -22,7 +22,7 @@
</div>
<div class="noPicChooseForm">
<el-checkbox-group v-model="choosedchoosed" @change="changechoosed">
<el-button plain @click="chooseSportman">+{{ language == 0 ? '选择' : 'add' }}</el-button>
<el-button ref="addBtnRef" plain @click="chooseSportman">+{{ language == 0 ? '选择' : 'add' }}</el-button>
<el-checkbox v-for="c in choosedListBak" :label="c.id" border>
<p class="name">{{ c.realName }}
<!-- ({{ c.sexStr }})-->
......@@ -147,11 +147,7 @@
<dialogAddCoach ref="dialogAddCoachRef"/>
<dialogAllSportsmanList ref="dialogAllSportsmanListRef" @transfer="getChoosed" @submitForm="getSignInfoList"/>
<dialogMates ref="dialogMatesRef" @submitForm="getSignInfoList"/>
<dialogImport ref="dialogImportProps" @submitForm="getMySignInfo"/>
<el-dialog v-model="showResult" :close-on-click-modal="false" :show-close="false">
<el-result icon="success" :title="language==0?'报名成功':'Sign up successful'">
<template #extra>
......@@ -162,6 +158,8 @@
</el-dialog>
<dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList"/>
<!-- <el-tour v-model="openTour"></el-tour>-->
</div>
</template>
......@@ -173,7 +171,6 @@ import dialogAddCoach from './components/addCoach'
import dialogAllSportsmanList from './components/allSportsmanList'
import dialogImport from './components/import'
import dialogExtraForm from './components/extraForm'
import dialogMates from './components/dialogMates'
import {Search, Switch} from "@element-plus/icons-vue";
const {proxy} = getCurrentInstance()
......@@ -213,7 +210,6 @@ const data = reactive({
showResult: false,
showExtraForm: false,
loadingProject: false,
extraTableHead: [],
activeTeam: '',
names: {},
choosedchoosed: [],
......@@ -221,13 +217,13 @@ const data = reactive({
projectList: [],
choosed2List: [],
choosed2Listbak: [],
projectQuery: {}, tableType: 1
projectQuery: {}, tableType: 1,
openTour:true
})
const {
activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak, showExtraForm, extraPersonInfoMapList, teamList,
extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, extraTableHead,
coachForm, projectIds, choosedchoosed, activeStep, projectList, choosed2List,choosed2Listbak, loadingProject,
projectQuery, tableType, athletesQuery, zuQuery
activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak,
extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, projectIds, choosedchoosed, activeStep, projectList, choosed2List,choosed2Listbak, loadingProject,
projectQuery, tableType, athletesQuery, zuQuery,openTour
} = toRefs(data)
const matchId = ref(route.query.matchId)
let signInfoType = null
......
<template>
<div class="collapsebox">
<div class="pd20">
<table class="table" cellspacing="0" cellpadding="0" v-if="list.length > 0">
<tr v-if="language==0">
<th>组别编号</th>
<th>组别名称</th>
<th>舞种</th>
<th>舞种明细</th>
<th>参赛性别</th>
<th>参赛年龄</th>
<th>服务费(元)</th>
</tr>
<tr v-else>
<th>Group code</th>
<th>Group</th>
<th>Dance Style</th>
<th>Dance Detail</th>
<th>Sex</th>
<th>Age</th>
<th>Registration Fee</th>
</tr>
<tr v-for="(p,index) in list" :key="index">
<td>{{ p.code }}</td>
<td>{{ p.name }}</td>
<td>{{ p.danceType }}</td>
<td>{{ p.danceTypeDetailStr }}</td>
<td>{{ p.playTypeStr }}</td>
<td>{{ p.birthPeriod }}</td>
<td>{{ language==0?'¥':'€' }}{{ p.serviceFee }}</td>
</tr>
</table>
</div>
<el-empty :image="`/img/order_no.png`" :image-size="228" v-if="list.length == 0" description=""/>
</div>
</template>
<script setup>
import {useStorage} from "@vueuse/core/index"
const language= useStorage('language',0)
const props = defineProps({
list: {
type: Array,
required: true,
default:[]
}
})
</script>
<style scoped lang="scss">
.table{width: 100%;border-left: 1px solid #e1e1e1;border-top:1px solid #e1e1e1;
th{background: #eee;padding: 6px 10px;
border-right: 1px solid #e1e1e1;
border-bottom:1px solid #e1e1e1;
font-size: 15px;
}
td{padding: 6px 10px;border-right: 1px solid #e1e1e1;font-size: 15px;
border-bottom:1px solid #e1e1e1;vertical-align: middle;text-align: center;
span{margin-right: 10px}
span::after{content: ','}
span:last-child::after{content: ''}
}
}
</style>
......@@ -20,9 +20,9 @@
<script setup>
import {onMounted} from "@vue/runtime-core";
import * as match from "@/apiPc/match";
import cache from "@/plugins/cache";
import {useStorage} from "@vueuse/core/index";
const language = ref(cache.local.get('language') || 0)
const language= useStorage('language',0)
const props = defineProps({
matchId: {
type: String,
......
......@@ -36,31 +36,10 @@
</el-link>
</div>
<div class="indexTitle" v-if="form.type==1&&form.cptProjectList?.length > 0"><h3 class="leftboderTT">竞赛项目</h3></div>
<div class="collapsebox" v-if="form.type==1&&form.cptProjectList?.length > 0">
<div class="pd20">
<table class="table" cellspacing="0" cellpadding="0" v-if="form.cptProjectList?.length > 0">
<tr>
<th>组别编号</th>
<th>组别名称</th>
<th>舞种</th>
<th>舞种明细</th>
<th>参赛性别</th>
<th>参赛年龄</th>
<th>服务费(元)</th>
</tr>
<tr v-for="(p,index) in form.cptProjectList" :key="index">
<td>{{ p.code }}</td>
<td>{{ p.name }}</td>
<td>{{ p.danceType }}</td>
<td>{{ p.danceTypeDetailStr }}</td>
<td>{{ p.playTypeStr }}</td>
<td>{{ p.birthPeriod }}</td>
<td>{{ language==0?'¥':'€' }}{{ p.serviceFee }}</td>
</tr>
</table>
</div>
<el-empty :image="`/img/order_no.png`" :image-size="228" v-if="form.cptProjectList?.length == 0" description=""/>
<div v-if="form.type==1&&form.cptProjectList?.length > 0">
</div>
</div>
<div style="padding: 0 20px 20px" v-else>
<!--赛事详情-->
......@@ -102,40 +81,18 @@
</el-link>
</div>
<div class="indexTitle" v-if="form.type==1 && form.cptProjectList?.length > 0"><h3 class="leftboderTT">Event settings</h3></div>
<div class="collapsebox" v-if="form.type==1 && form.cptProjectList?.length > 0">
<div class="pd20">
<table class="table" cellspacing="0" cellpadding="0" v-if="form.cptProjectList?.length > 0">
<tr>
<th>Group code</th>
<th>Group</th>
<th>Dance Style</th>
<th>Dance Detail</th>
<th>Sex</th>
<th>Age</th>
<th>Registration Fee</th>
</tr>
<tr v-for="(p,index) in form.cptProjectList" :key="index">
<td>{{ p.code }}</td>
<td>{{ p.name }}</td>
<td>{{ p.danceType }}</td>
<td>{{ p.danceTypeDetailStr }}</td>
<td>{{ p.playTypeStr }}</td>
<td>{{ p.birthPeriod }}</td>
<td>{{ language==0?'¥':'€' }}{{ p.serviceFee }}</td>
</tr>
</table>
</div>
<el-empty :image="`/img/order_no.png`" :image-size="228" v-if="form.cptProjectList?.length == 0" description=" "/>
<div v-if="form.type==1 && form.cptProjectList?.length > 0">
<match-info-project-list :list="form.cptProjectList" />
</div>
</div>
</template>
<script setup>
import {ref} from "vue";
import cache from "@/plugins/cache";
import MatchInfoProjectList from "@/viewsPc/match/components/matchInfo-projectList";
import {useStorage} from "@vueuse/core/index";
const language = ref(cache.local.get('language') || 0)
const language= useStorage('language',0)
const props = defineProps({
form:{
type:Object,
......@@ -151,17 +108,5 @@ const props = defineProps({
color:var(--el-color-primary);
}
}
.table{width: 100%;border-left: 1px solid #e1e1e1;border-top:1px solid #e1e1e1;
th{background: #eee;padding: 6px 10px;
border-right: 1px solid #e1e1e1;
border-bottom:1px solid #e1e1e1;
font-size: 15px;
}
td{padding: 6px 10px;border-right: 1px solid #e1e1e1;font-size: 15px;
border-bottom:1px solid #e1e1e1;vertical-align: middle;text-align: center;
span{margin-right: 10px}
span::after{content: ','}
span:last-child::after{content: ''}
}
}
</style>
......
......@@ -79,9 +79,17 @@
<script setup>
import {ElMessage} from "element-plus";
import cache from "@/plugins/cache";
const language = ref(cache.local.get('language') || 0)
import {useRouter} from "vue-router";
import {useStorage} from "@vueuse/core/index";
const router = useRouter()
const language= useStorage('language',0)
const props = defineProps({
matchId: {
type: String,
required: true,
default: '0'
}
})
function building() {
ElMessage.warning('Building!')
}
......@@ -89,26 +97,32 @@ 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 4:
//餐饮
router.push({path: `/booking/dining/${props.matchId}`})
break;
case 5:
//化妆
router.push({path: `/booking/makeup/${props.matchId}`})
break;
case 6:
//拍照
router.push({path: `/booking/photography/${props.matchId}`})
break;
}
}
</script>
<style scoped>
<style scoped lang="scss">
h4{padding: 0 10px;}
</style>
......
......@@ -62,7 +62,7 @@ const props = defineProps({
total:{
type: Number,
required: false,
default: '0'
default: 0
}
})
import cache from "@/plugins/cache";
......
......@@ -48,7 +48,7 @@
</el-row>
</el-card>
<quick-row/>
<quick-row :match-id="matchId"/>
<el-row :gutter="20" v-if="matchData.type=='0'">
<el-col :lg="18">
......@@ -62,33 +62,7 @@
</div>
<matchInfo :form="matchData" v-if="menu[0].active==1"/>
<div v-if="menu[1].active==1">
<div class="collapsebox">
<div class="pd20">
<table class="table" cellspacing="0" cellpadding="0" v-if="matchData.cptProjectList?.length > 0">
<tr>
<th>组别编号</th>
<th>组别名称</th>
<th>舞种</th>
<th>舞种明细</th>
<th>参赛性别</th>
<th>参赛年龄</th>
<th>服务费(元)</th>
</tr>
<tr v-for="(p,index) in matchData.cptProjectList" :key="index">
<td>{{ p.code }}</td>
<td>{{ p.name }}</td>
<td>{{ p.danceType }}</td>
<td>{{ p.danceTypeDetailStr }}</td>
<td>{{ p.playTypeStr }}</td>
<td>{{ p.birthPeriod }}</td>
<td>{{ language==0?'¥':'€' }}{{ p.serviceFee }}</td>
</tr>
</table>
</div>
<el-empty :image="`/img/order_no.png`" :image-size="228" v-if="matchData.cptProjectList?.length == 0"
description=" "/>
</div>
<match-info-project-list :list="matchData.cptProjectList" />
</div>
<match-schedule-list :match-data="matchData" v-if="menu[2].active==1"/>
<div v-if="menu[3].active==1">
......@@ -173,6 +147,8 @@ import MatchInfo from '@/viewsPc/match/components/matchInfo'
import MatchScheduleList from "@/viewsPc/match/components/matchScheduleList";
import MatchNews from "@/viewsPc/match/components/matchNews";
import SubstationList from "@/viewsPc/match/components/substation-list";
import MatchInfoProjectList from "@/viewsPc/match/components/matchInfo-projectList";
import QuickRow from "@/viewsPc/match/components/quick-row";
import {getCurrentInstance, ref} from 'vue'
import {reactive, onMounted} from '@vue/runtime-core'
......@@ -185,7 +161,6 @@ import * as match from '@/apiPc/match'
import {toRefs} from '@vueuse/shared'
import {dayjs, ElMessage, ElMessageBox} from 'element-plus'
import useUserStore from "@/store/modules/user";
import QuickRow from "@/viewsPc/match/components/quick-row";
import {isRelogin} from "@/utils/request";
const data = reactive({
......@@ -205,8 +180,6 @@ const data = reactive({
time: ''
})
const {loading,error,time, matchData, matchId, groupId, activeName2, popupGroupList, menu, menu1, signDoneGroupList} = toRefs(data)
import cache from "@/plugins/cache"
const language = ref(cache.local.get('language') || 0)
const group = useUserStore().group
const user = useUserStore().user
onMounted(() => {
......
......@@ -51,7 +51,7 @@
</el-row>
</el-card>
<quick-row/>
<quick-row :match-id="matchId"/>
<el-row :gutter="20" v-if="matchData.type=='0'">
<el-col :lg="18">
......@@ -65,33 +65,7 @@
</div>
<matchInfo :form="matchData" v-if="menu[0].active==1"/>
<div v-if="menu[1].active==1">
<div class="collapsebox">
<div class="pd20">
<table class="table" cellspacing="0" cellpadding="0" v-if="matchData.cptProjectList?.length > 0">
<tr>
<th>Group code</th>
<th>Group</th>
<th>Dance Style</th>
<th>Dance Detail</th>
<th>Sex</th>
<th>Age</th>
<th>Registration Fee</th>
</tr>
<tr v-for="(p,index) in matchData.cptProjectList" :key="index">
<td>{{ p.code }}</td>
<td>{{ p.name }}</td>
<td>{{ p.danceType }}</td>
<td>{{ p.danceTypeDetailStr }}</td>
<td>{{ p.playTypeStr }}</td>
<td>{{ p.birthPeriod }}</td>
<td>{{ language==0?'¥':'€' }}{{ p.serviceFee }}</td>
</tr>
</table>
</div>
<el-empty :image="`/img/order_no.png`" :image-size="228" v-if="matchData.cptProjectList?.length == 0"
description=" "/>
</div>
<match-info-project-list :list="matchData.cptProjectList" />
</div>
<match-schedule-list :match-data="matchData" v-if="menu[2].active==1"/>
<div v-if="menu[3].active==1">
......@@ -125,7 +99,7 @@
v-if="(signDoneGroupList==null)||(signDoneGroupList.length==0)" description=""/>
</div>
<div v-if="menu[4].active==1">
<!-- 成绩-->
<!--成绩-->
<el-empty :image="`/img/order_no.png`" :image-size="228" description=""/>
</div>
<div v-if="menu[5].active==1" class="pd20">
......@@ -189,6 +163,8 @@ import MatchInfo from '@/viewsPc/match/components/matchInfo'
import MatchScheduleList from "@/viewsPc/match/components/matchScheduleList";
import MatchNews from "@/viewsPc/match/components/matchNews";
import SubstationList from "@/viewsPc/match/components/substation-list";
import MatchInfoProjectList from "@/viewsPc/match/components/matchInfo-projectList";
import QuickRow from "@/viewsPc/match/components/quick-row";
import {getCurrentInstance, ref} from 'vue'
import {reactive, onMounted} from '@vue/runtime-core'
......@@ -201,7 +177,6 @@ import * as match from '@/apiPc/match'
import {toRefs} from '@vueuse/shared'
import {dayjs, ElMessage, ElMessageBox} from 'element-plus'
import useUserStore from "@/store/modules/user";
import QuickRow from "@/viewsPc/match/components/quick-row";
const user = useUserStore().user
const group = useUserStore().group
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!