eb66d52f by yyx

Merge branch 'order' of https://code.itechtop.cn/yangyang/dance-pc into order

2 parents 5f110a84 c9a21ddf
......@@ -47,6 +47,7 @@ export function newbilllist(query) {
params: query
})
}
export function vistorRegister(data) {
return request({
url: `/pcSimpleRegister`,
......@@ -68,3 +69,41 @@ export function upgradeTeam(data) {
data: data
})
}
export function submitMasterApply(data) {
return request({
url: `/league/courseUser`,
method: 'post',
data: data
})
}
export function masterClassList(query) {
return request({
// url: `/league/courseItem/list`,
url: `/league/courseItem/getCoursrItemByCourseId`,
method: 'get',
params: query
})
}
export function getByCard(query) {
return request({
url: `/league/courseUser/getByCard`,
method: 'get',
params: query
})
}
export function getMasterApply(query) {
return request({
url: `/league/courseUser/getCourseByUser`,
method: 'get',
params: query
})
}
export function delByCard(card) {
return request({
url: `/league/courseUser/delByCard?card=${card}`,
method: 'delete'
})
}
......
......@@ -286,7 +286,7 @@ export const rankList = [
tong: '0'
},
{
index: '2',
index: '1',
code: 'md',
name: 'Alexey Glukhov - Anastasia Glazunova',
gj: '摩尔多瓦共和国',
......@@ -296,7 +296,7 @@ export const rankList = [
tong: '0'
},
{
index: '3',
index: '1',
code: 'de',
name: 'Marius-Andrei Balan - Khrystyna Moshenska',
gj: '德国',
......
......@@ -440,12 +440,24 @@ export const constantRoutes = [
meta: { title: 'pay' }
},
{
path: 'payticket',
component: () => import('@/viewsPc/booking/payticket'),
name: 'payticket',
meta: { title: '票务' }
},
{
path: 'payOk',
component: () => import('@/viewsPc/booking/payOk'),
name: 'bookingPayOk',
meta: { title: 'payOk' }
},
{
path: 'payticketOk',
component: () => import('@/viewsPc/booking/payticketOk'),
name: 'payticketOk',
meta: { title: '票务-paypal' }
},
{
path: 'invoice',
component: () => import('@/viewsPc/booking/invoicing'),
name: 'invoice',
......
......@@ -47,8 +47,8 @@
<h3 class="name flex">{{ r.carType }}
<div class="tagbox">
<span class="tag">{{r.carColor}}</span>
<span class="tag" v-show="r.checkOut==1">可送车</span>
<span class="tag" v-show="r.checkIn==1">可接车</span>
<span class="tag" v-show="r.checkOut==1">{{ language==0?'可送车':'drop-off' }}</span>
<span class="tag" v-show="r.checkIn==1">{{ language==0?'可接车':'pick-up' }}</span>
</div>
</h3>
<div class="text-gray mt20">
......
......@@ -217,6 +217,7 @@ onMounted(() => {
function changeUseType(e) {
console.log(form.value.useType)
changecarNum()
console.log(form.value)
}
function changecarNum(e) {
......@@ -251,8 +252,9 @@ function initDays() {
}
function disabledDate(date) {
// const today = dayjs().format('YYYY-MM-DD')
if (form.value.carStart) {
return date.getTime() > dayjs(form.value.carStart).valueOf()
if (lform.value.carStart) {
return (date.getTime() < dayjs(lform.value.carStart).valueOf())||(date.getTime() > dayjs(lform.value.carEnd).valueOf())
}
return true
}
......
......@@ -3,10 +3,8 @@
<div class="box">
<el-card class="mt30" v-loading="loading">
<el-row v-if="form" class="hotel" align="middle" :gutter="20">
<!-- <el-col :span="6">-->
<!-- <img class="w100" :src="fillImgUrl(form.photos?.split(',')[0])"/>-->
<!-- </el-col>-->
<el-col :span="16">
<el-col :lg="16" :sm="24">
<h3 class="esp flex">{{ form?.name }}
</h3>
......@@ -18,25 +16,18 @@
{{ form?.addName }}
</p>
</el-col>
<el-col :lg="8" :sm="24">
<el-carousel height="120px">
<el-carousel-item v-for="item in form.photos?.split(',')" :key="item">
<el-image class="w100 h100" fit="contain" :src="fillImgUrl(item)"/>
</el-carousel-item>
</el-carousel>
</el-col>
</el-row>
<el-empty v-else :image="`/img/order_no.png`" :image-size="228" description=""/>
</el-card>
<div class="mt30">
<el-row :gutter="20">
<el-col :span="10">
<div class="imgbox hotelImg">
<el-image :src="fillImgUrl(form?.photos?.split(',')[0])" fit="cover" :preview-src-list="form?.photos?.split(',')"/>
</div>
</el-col>
<el-col :span="14">
<el-row class="h100" :gutter="20">
<el-col :span="8" v-for="(p,index) in form?.photos?.split(',').slice(1,7)" style="height: calc(50% - 10px)">
<div class="imgbox hotelImg"><el-image :src="fillImgUrl(p)" fit="cover" :preview-src-list="form?.photos?.split(',')"/></div>
</el-col>
</el-row>
</el-col>
</el-row>
</div>
<el-card class="mt30 mb60">
......@@ -57,8 +48,8 @@
<h3 class="name">{{ r.name }}<span class="text-primary">({{ r.categoryName }})</span></h3>
<el-row :gutter="10">
<el-col :span="24">
<p>{{ language==0?'配送时间':'Delivery time' }}{{ r.psStart }}~{{ r.psEnd }}</p>
<p>{{ language==0?'配送地址':'Delivery address' }}{{ r.address }}</p>
<p>{{ language == 0 ? '配送时间' : 'Delivery time' }}{{ r.psStart }}~{{ r.psEnd }}</p>
<p>{{ language == 0 ? '配送地址' : 'Delivery address' }}{{ r.address }}</p>
</el-col>
</el-row>
</el-col>
......@@ -83,11 +74,9 @@
</template>
<script setup>
import {useRouter} from "vue-router";
import {ref, reactive, onMounted} from "vue";
import {useRoute} from "vue-router";
import {getHotelById, getMenuById} from "@/apiPc/booking"
import {useRouter, useRoute} from "vue-router";
import {ref, onMounted} from "vue";
import {getMenuById} from "@/apiPc/booking"
import {useStorage} from "@vueuse/core/index";
import useUserStore from "@/store/modules/user";
import {fillImgUrl} from "@/utils/ruoyi";
......@@ -98,7 +87,7 @@ const router = useRouter()
const route = useRoute()
const form = ref({})
const query = ref({
larId: route.query.id
larId: route.params.id
})
const loading = ref(false)
const roomList = ref([])
......@@ -106,11 +95,13 @@ const map = ref(null)
onMounted(() => {
form.value = JSON.parse(decodeURIComponent(route.query.detail))
getData()
})
function getData() {
loading.value = true
query.value.hotelId = route.query.id
console.log(query.value)
getMenuById(query.value).then(res => {
loading.value = false
roomList.value = res.rows
......@@ -118,7 +109,7 @@ function getData() {
var arr = []
m.photosList = []
arr = m.photos?.split(',')
for (var a of arr){
for (var a of arr) {
m.photosList.push(fillImgUrl(a))
}
m.num = 0
......@@ -135,7 +126,7 @@ function getData() {
function goOrder(n) {
if (!user) {
useUserStore().setReLogin()
useUserStore().setVisitor()
return
}
router.push({
......
......@@ -113,6 +113,7 @@ const canOrderNum = ref(0)
const form = ref({
num: 1,
phone: user.phonenumber||'',
total:0
})
const rzRange = ref([])
const rzUserArr = ref([])
......@@ -126,11 +127,7 @@ onMounted(() => {
food.value = JSON.parse(decodeURIComponent(route.query.food))
form.value = food.value
restaurant.value = JSON.parse(decodeURIComponent(route.query.restaurant))
if(language.value == 0){
form.value.total = food.value.foodPrice
} else {
form.value.total = food.value.foodPriceEn
}
form.value.total = 0
console.log(food.value,restaurant.value)
initDays()
const today = dayjs()
......@@ -242,6 +239,7 @@ function submit() {
form.value.foodsList.push(obj)
form.value.activeId = restaurant.value.activityId
form.value.larId = restaurant.value.id
form.value.orderName=restaurant.value.name
// 提交确认
ElMessageBox.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', {
confirmButtonText: language.value == 0 ? '确定' : 'Confirm',
......
......@@ -241,9 +241,12 @@ function initMap() {
}
function goOrder(room) {
checkRoomPayByUserId(room.hotelId).then(res=>{
if(res.data == -100){
ElMessageBox.confirm(
ElMessageBox.confirm(language.value == 0 ? '你当前选择的入住时间为'+hotTime.value[0]+'至'+hotTime.value[1]+',是否确定?':'Your current check-in time is'+hotTime.value[0]+'~'+hotTime.value[1]+'Are you sure?',{type:'warning'}).then({
}).then(()=>{
checkRoomPayByUserId(room.hotelId).then(res=>{
if(res.data == -100){
ElMessageBox.confirm(
language.value == 0 ?'你有未支付的酒店订单,是否前往个人中心查看':'You already have an unpaid hotel order, do you want to go to the personal center to check it?',
language.value==0?'提示':'Warning',
{
......@@ -251,21 +254,24 @@ function goOrder(room) {
// cancelButtonText: language.value==1?'Continue to book':'继续预订',
type: 'warning',
}
).then((res) => {
console.log(res)
router.push({
name:'myReservation',
).then((res) => {
console.log(res)
router.push({
name:'myReservation',
})
})
})
// .catch((res) => {
// console.log(res)
// goNext(room)
// })
return
}
goNext(room)
// .catch((res) => {
// console.log(res)
// goNext(room)
// })
return
}
goNext(room)
})
})
}
function goNext(room) {
router.push({
......
<template>
<div>
<div class="box">
<el-card class="mb60 mt30" v-loading="loading">
<div class="text-center mt30">
<el-icon color="#32B16C" size="80">
<SuccessFilled/>
</el-icon>
<p class="text-success mb20">{{ language == 0 ? '支付成功' : 'successfully!' }}</p>
<el-button type="primary" class="btn-lineG mb60" @click="goBillDetail" round>
{{ language == 0 ? '返回订单详情' : 'Return order details' }}
</el-button>
</div>
</el-card>
</div>
</div>
</template>
<script setup>
import {ref} from "vue";
import {useRoute, useRouter} from "vue-router";
import {onMounted} from "@vue/runtime-core";
import {callbackPalPay} from "@/apiPc/booking";
import {useStorage} from "@vueuse/core/index";
const route = useRoute()
const router = useRouter()
const language= useStorage('language',0)
const orderId = ref(route.query.orderId)
const type = ref('')
const loading = ref(false)
onMounted(() => {
var code = decodeURIComponent(orderId.value)
console.log(code)
loading.value = true
callbackPalPay(code).then(res => {
loading.value = false
type.value = res.data.orderType
})
})
function goBillDetail() {
router.push({
name: 'bookingPay',
query: {
orderId: route.query.orderId,
orderType: type.value
}
})
}
</script>
<style scoped lang="scss">
</style>
......@@ -110,8 +110,8 @@ const menus = ref([
{
name: language.value==0?'票务预订':'Ticket Reservation',
routeName: 'seat_order',
picUrl1: '/img/nav_29.png',
picUrl2: '/img/nav_29_dwn.png',
picUrl1: '/img/c7.png',
picUrl2: '/img/c7.png',
isActive: false
},
{
......@@ -143,6 +143,13 @@ const menus3 = ref([
picUrl1: '/img/nav_29.png',
picUrl2: '/img/nav_29_dwn.png',
isActive: false
},
{
name: language.value==0?'票务预订':'Ticket Reservation',
routeName: 'seat_order',
picUrl1: '/img/c7.png',
picUrl2: '/img/c7.png',
isActive: false
}
])
const menusPersonal = ref([
......@@ -174,6 +181,13 @@ const menusPersonal = ref([
picUrl2: '/img/nav_29_dwn.png',
isActive: false
},
{
name: language.value==0?'票务预订':'Ticket Reservation',
routeName: 'seat_order',
picUrl1: '/img/c7.png',
picUrl2: '/img/c7.png',
isActive: false
},
{
name: language.value==0?'系统消息':'System messages',
routeName: 'mySms',
......
......@@ -50,7 +50,8 @@
<el-input v-model="myform.passportNumber"/>
</el-form-item>
<el-form-item :label="language==0?'有效证件':'Valid Passport'" required v-if="user.utype=='1'">
<file-upload v-model="myform.passportUrl" :limit="1" :is-show-tip="false" :button-text="'Upload'"/>
<image-upload v-model="myform.passportUrl" :limit="1" :is-show-tip="false"
:button-text="language==0?'上传':'Upload'"/>
</el-form-item>
<el-form-item :label="language==0?'WDSF会员号':'WDSF MIN'" prop="wdsfMin" v-if="user.utype=='1'">
{{myform.wdsfMin}}
......
......@@ -90,16 +90,16 @@
</div>
<div class="text-right">
<el-button v-if="b.orderType == 0&&b.viewStatus!=0" class="mb10" plain round type="success" @click="Rebook(b)">
<el-button v-if="b.orderType == 0&&b.viewStatus!=0" class="mb10" plain round type="success" size="small" @click="Rebook(b)">
{{ language==0?'再次预订':'Rebook' }}</el-button>
<el-button class="mb10" plain round type="primary" @click="goDetail(b)">
<el-button class="mb10" plain round type="primary" size="small" @click="goDetail(b)">
{{ language==0?'详情':'Detail' }}</el-button>
<el-button v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" @click="goDetail(b)"
class="mb10" plain round type="primary" >
class="mb10" plain round type="primary" size="small" >
{{ language==0?'支付':'Pay' }}</el-button>
<el-button v-if="b.viewStatus==0" @click="cancel(b)" class="mb10" plain round type="warning" >
<el-button v-if="b.viewStatus==0" @click="cancel(b)" class="mb10" plain round type="warning" size="small" >
{{ language==0?'取消订单':'Cancel Order' }}</el-button>
<el-button v-if="b.viewStatus==5" @click="unsubscribe(b)" class="mb10" plain round type="" >
<el-button v-if="b.viewStatus==5" @click="unsubscribe(b)" class="mb10" plain round type="" size="small" >
{{ language==0?'退订':'Unsubscribe' }}</el-button>
</div>
</el-col>
......
......@@ -97,12 +97,12 @@ function building() {
return
}
function popRemark(type){
// debugger
if(!form.value){
building()
return
}
if((form.value.isJdView == 0&&type=='1') || (form.value.isCarView == 0&&type=='2') || (form.value.isFoodView == 0&&type=='3') || (form.value.isMealView == 0&&type=='4') || (type=='5'&&form.value.isPhotoView == 0)){
//type == '0'
building()
return
}
......
<template>
<div>
<index-Ch v-if="language ==0"/>
<index-En v-else/>
<index-Ch v-if="language ==0" @pop="openMaster"/>
<index-En v-else @pop="openMaster"/>
<div v-if="showgg" class="fixed_gg">
<!--天气-->
<el-icon class="cclose" @click.stop="showgg=false"><circle-close /></el-icon>
......@@ -59,6 +59,8 @@
</div>
</el-dialog>
</div>
<dialog-master-class ref="masterClassRef"/>
</div>
</template>
......@@ -67,10 +69,12 @@
import IndexCh from '/src/viewsPc/index'
import IndexEn from '/src/viewsPc/index_en'
import WeatherIcon from '@/viewsPc/components/weatherIcon'
import DialogMasterClass from '@/viewsPc/components/masterClass'
import {useStorage} from "@vueuse/core/index";
import {ref} from "vue";
import {getWeather} from "@/apiPc/webSite";
import {getCurrentInstance} from "@vue/runtime-core";
const {proxy} = getCurrentInstance()
const showgg = ref(true)
const language = useStorage('language', 0)
......@@ -91,7 +95,14 @@ function init(){
const popWeather = () => {
weatherdialog.value = true
}
const openMaster = (params) => {
console.log(params)
var obj = {
title:'大师课申请',
cptId:params.cptId
}
proxy.$refs['masterClassRef'].open(obj)
}
</script>
<style scoped lang="scss">
......
......@@ -93,6 +93,8 @@
<download/>
</el-icon>
</a>
<!-- <el-button type="primary" @click="popMaster">青少年公益课</el-button>-->
<a class="zn-btn ml20 btn-q" @click="popMaster">青少年公益课</a>
</div>
</el-col>
<el-col :sm="24" :lg="14">
......@@ -359,7 +361,7 @@ import HomeQuick from '@/viewsPc/components/homeQuick'
import HomeCalendar from '@/viewsPc/components/homeCalendar'
import {ref, nextTick, onMounted, watch} from 'vue'
import {getCurrentInstance} from '@vue/runtime-core'
import {getHomePage, getNewsListById, getNewsList, getWeather} from '@/apiPc/webSite'
import {getHomePage, getNewsListById, getNewsList} from '@/apiPc/webSite'
import {useRouter} from 'vue-router'
import {rankList} from '@/assets/js/data'
import _ from 'lodash'
......@@ -375,14 +377,7 @@ const navigationPic = ref({
})
const router = useRouter()
const {proxy} = getCurrentInstance()
const bannerVideo = ref(null)
const isPlay = ref(false)
const canPrev = ref(false)
const canNext = ref(false)
const activeRankName = ref(0)
const weatherObj = ref({
forecast:[]
})
const emit = defineEmits(['pop'])
const time = ref(0)
const personList = ref([
{ name: 'Wolfgang Eliasch', pp: '拉丁舞裁判长 奥地利', src: '/img/1.png' },
......@@ -400,12 +395,10 @@ const news = ref([])
const notice = ref([])
const display = ref([])
const scores = ref([])
const nowscores = ref([])
const livelist = ref([])
const matchData = ref({})
const maList = ref([])
const loading = ref(false)
const weatherdialog = ref(false)
const picList = ref([])
onMounted(() => {
......@@ -491,9 +484,6 @@ const goMatch = (n) => {
path: `/match/list/${n.id}`
})
}
const popWeather = () => {
weatherdialog.value = true
}
const goGuide = () => {
router.push({
......@@ -503,6 +493,13 @@ const goGuide = () => {
}
})
}
const popMaster = () => {
var params = {
cptId:matchData.value.id
}
emit('pop',params)
}
</script>
<style scoped lang="scss">
......@@ -945,4 +942,32 @@ const goGuide = () => {
}
}
}
:deep(.btn-q) {
//background: #FFFFFF;
//font-size: 18px;
//color: #453DEA;
//border-radius: 23px;
//padding: 10px 20px;
//display: inline-flex;
//align-items: center;
padding: 20px 40px;
font-size: 20px;
align-items: center;
overflow: hidden;
background: url(/src/assets/dance/time_bg.png) no-repeat center !important;
background-size: 100% 100%;
bottom: 40%;
display: flex;
flex-wrap: nowrap;
color: #fff !important;
box-sizing: inherit;
}
.btn-q:hover{
box-shadow: 0 0 20px #453DEA;
border-radius: 100px;
background: linear-gradient(-90deg, #8623FC, #453DEA) !important;
}
</style>
......
......@@ -85,10 +85,15 @@
<el-col :sm="24" :lg="10">
<div class="bgbg">
<h1 style="color: #fff">{{matchData?.name}}</h1>
<a class="zn-btn" @click="goGuide">
GUIDELINE
<el-icon><download /></el-icon>
</a>
<div>
<a class="zn-btn" @click="goGuide">
GUIDELINE
<el-icon><download /></el-icon>
</a>
<a class="zn-btn ml20 btn-q " @click="popMaster">Junior &Youth Camp <el-icon><Edit /></el-icon>
</a>
</div>
</div>
</el-col>
<el-col :sm="24" :lg="14">
......@@ -385,6 +390,7 @@ const navigationPic = ref({
})
const router = useRouter()
const { proxy } = getCurrentInstance()
const emit = defineEmits(['pop'])
const time = ref(0)
const personList = ref([
......@@ -498,6 +504,12 @@ const goGuide = () => {
}
})
}
const popMaster = () => {
var params = {
cptId:matchData.value.id
}
emit('pop',params)
}
</script>
<style scoped lang="scss">
......@@ -516,7 +528,7 @@ const goGuide = () => {
p{margin: 0;height: 40px;line-height: 20px;display: flex;align-items: center;}
}
border-radius: 15px;
.zn-btn{background: #FFFFFF;
.zn-btn{background: #FFFFFF;text-transform: uppercase;
font-size: 18px; width: fit-content;
color: #453DEA;
border-radius: 23px;padding: 10px 20px;display: inline-flex;align-items: center;}
......@@ -797,4 +809,31 @@ const goGuide = () => {
h1{text-align: center}
}
}
:deep(.btn-q) {
//background: #FFFFFF;
//font-size: 18px;
//color: #453DEA;
//border-radius: 23px;
//padding: 10px 20px;
//display: inline-flex;
//align-items: center;
padding: 20px 40px;
font-size: 20px;
align-items: center;
overflow: hidden;
background: url(/src/assets/dance/time_bg.png) no-repeat center !important;
background-size: 100% 100%;
bottom: 40%;
display: flex;
flex-wrap: nowrap;
color: #fff !important;
box-sizing: inherit;
}
.btn-q:hover{
box-shadow: 0 0 20px #453DEA;
border-radius: 100px;
background: linear-gradient(-90deg, #8623FC, #453DEA) !important;
}
</style>
......
......@@ -317,13 +317,26 @@ function goNext() {
// ElMessage.warning(language.value==0?'至少选一个教练或领队':'Coach/Team Leader, select at least one')
// return
// }
if((personAllList.value.coaches.length>0 && form.value.coachs?.toString().length == 0)&&
(personAllList.value.teamDoctors.length>0 && form.value.doctor?.toString().length == 0)&&
(personAllList.value.translators.length>0 && form.value.translator?.toString().length == 0)&&
(personAllList.value.others.length>0 && form.value.other?.toString().length == 0)&&
(personAllList.value.officials.length>0 && form.value.official?.toString().length == 0)&&
(personAllList.value.leaders.length>0 && form.value.leader?.toString().length == 0)
){
// (personAllList.value.coaches.length>=0 && form.value.coachs?.toString().length == 0)&&
// (personAllList.value.teamDoctors.length>=0 && form.value.doctor?.toString().length == 0)&&
// (personAllList.value.translators.length>=0 && form.value.translator?.toString().length == 0)&&
// (personAllList.value.others.length>=0 && form.value.other?.toString().length == 0)&&
// (personAllList.value.officials.length>=0 && form.value.official?.toString().length == 0)&&
// (personAllList.value.leaders.length>=0 && form.value.leader?.toString().length == 0)
if((personAllList.value.coaches.length>0 ||
personAllList.value.teamDoctors.length>0||
personAllList.value.translators.length>0||
personAllList.value.others.length>0||
personAllList.value.officials.length>0 ||
personAllList.value.leaders.length>0
)&&(form.value.coachs?.toString().length == 0&&
form.value.leader?.toString().length == 0&&
form.value.other?.toString().length == 0&&
form.value.doctor?.toString().length == 0&&
form.value.translator?.toString().length == 0&&
form.value.official?.toString().length == 0)
){
ElMessageBox.confirm(language.value==0?'您已添加随行人员,但尚未选中,是否进行下一步?':'You have added a follower, but have not selected, do you want to continue?', {
confirmButtonText: language.value==0?'下一步':'Next',
cancelButtonText: language.value==0?'取消':'Cancel',
......
......@@ -617,8 +617,11 @@ function removeCurproject() {
function checkTwo(a,b) {
match.checkMate({per1Id:a.id,per2Id:b.id,cptId:matchId.value}).then(res=>{
if(!res.data){
// ElMessage.warning(language.value == 0 ? '他们不是固定组合':'They\'re not a couple')
ElMessage.warning(language.value == 0 ? `${a.realName} 已经和其他人组成舞伴,无法报名,请重新选择`:`${a.realName} has already formed a dancer with another person, cannot sign up: please select again`)
if(isNational.value){
ElMessage.warning(language.value == 0 ? '他们不是固定组合':'They\'re not a couple')
} else {
ElMessage.warning(language.value == 0 ? `${a.realName}/${b.realName} 已经和其他人组成舞伴,无法报名,请重新选择`:`${a.realName}/${b.realName} has already formed a dancer with another person, cannot sign up: please select again`)
}
}
})
}
......
......@@ -35,7 +35,7 @@
<el-input v-model="form.idcCode" @blur="giveBirthDay" :disabled="editgay&&form.idcType=='0'"/>
</el-form-item>
<el-form-item :label="language==0?'有效证件':'Valid Passport'" :required="form.idcType!='0'">
<file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" />
<image-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" />
<span class="tip">*请上传有效证件扫描件</span>
</el-form-item>
<el-form-item :label="language==0?'性别':'Gender'" prop="sex">
......
......@@ -56,7 +56,7 @@
</el-select>
</el-form-item>
<el-form-item :label="language==0?'有效证件':'Valid Passport'" required>
<file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false"
<image-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false"
:button-text="language==0?'上传':'Upload'"/>
<div class="tip">
<span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span>
......
......@@ -70,7 +70,7 @@
</el-radio-group>
</el-form-item>
<el-form-item :label="language==0?'出生日期':'Date of Birth'">
<el-form-item :label="language==0?'出生日期':'Date of Birth'" required>
<el-date-picker
v-model="form.birth"
style="width: 100%;"
......@@ -78,7 +78,7 @@
/>
</el-form-item>
<el-form-item :label="language==0?'有效证件':'Valid Passport'" required>
<file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false"
<image-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false"
:button-text="language==0?'上传':'Upload'"/>
<div class="tip">
<span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等 </span>
......@@ -88,7 +88,7 @@
</div>
</el-form-item>
<el-form-item :label="language==0?'证件号':'Passport number'">
<el-form-item :label="language==0?'证件号':'Passport number'" required>
<el-input v-model="form.passportNumber"/>
</el-form-item>
......@@ -218,10 +218,14 @@ watch(show, (value) => {
})
function submitForm() {
// if (!form.value.passportNumber) {
// ElMessage.warning('Please fill in your passport number')
// return
// }
if (!form.value.passportNumber) {
ElMessage.warning(language.value == 0 ?'请输入你的证件号':'Please fill in your passport number')
return
}
if (!form.value.birth) {
ElMessage.warning(language.value == 0 ?'请输入你的出生日期':'Please fill in your birthday')
return
}
// if (!form.value.picUrl) {
// ElMessage.warning('Please upload your photo')
// return
......@@ -246,10 +250,6 @@ function submitForm() {
emit('submitForm')
})
} else {
// if (!form.value.birth) {
// ElMessage.warning('Please fill in your birthday')
// return
// }
if (Array.isArray(form.value.passportUrl)) {
form.value.passportUrl = form.value.passportUrl[0].url
}
......
......@@ -234,7 +234,11 @@ function handleSelectionChange(val) {
function checkTwo(a,b) {
match.checkMate({per1Id:a.id,per2Id:b.id,cptId:matchId}).then(res=>{
if(!res.data){
ElMessage.warning(language.value == 0 ? `${a.realName} 已经和其他人组成舞伴,无法报名:请重新选择`:`${a.realName} has already formed a dancer with another person, cannot sign up: please select again`)
if(isNational.value){
ElMessage.warning(language.value == 0 ? '他们不是固定组合':'They\'re not a couple')
} else {
ElMessage.warning(language.value == 0 ? `${a.realName} 已经和其他人组成舞伴,无法报名:请重新选择`:`${a.realName} has already formed a dancer with another person, cannot sign up: please select again`)
}
proxy.$refs['allSportmenTable'].clearSelection()
}
})
......
......@@ -72,7 +72,7 @@
</el-radio-group>
</el-form-item>
<el-form-item :label="language==0?'有效证件':'Valid Passport'" required>
<file-upload v-model="wdsfData.passportUrl" :limit="1" :is-show-tip="false"
<image-upload v-model="wdsfData.passportUrl" :limit="1" :is-show-tip="false"
:button-text="language==0?'上传':'Upload'"/>
<div class="tip">
<span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span>
......@@ -80,11 +80,11 @@
application of visa invitation letter and purchasing insurance etc.</span>
</div>
</el-form-item>
<el-form-item :label="language==0?'证件号':'Passport number'">
<el-form-item :label="language==0?'证件号':'Passport number'" required>
<el-input v-model="wdsfData.passportNumber"/>
</el-form-item>
<el-form-item :label="language==0?'出生日期':'Date of Birth'">
<el-form-item :label="language==0?'出生日期':'Date of Birth'" required>
<el-date-picker
v-model="wdsfData.birthday"
style="width: 100%;"
......@@ -317,10 +317,14 @@ function goBack() {
router.go(-1)
}
function bigNext(){
// if (!wdsfData.value.passportNumber) {
// ElMessage.warning(language.value == 0 ?'请填写护照号':'Please fill in your passport number')
// return
// }
if (!wdsfData.value.passportNumber) {
ElMessage.warning(language.value == 0 ?'请填写护照号':'Please fill in your passport number')
return
}
if (!wdsfData.value.birthday) {
ElMessage.warning(language.value == 0 ?'请填写出生年月':'Please fill in your birthday')
return
}
if (!wdsfData.value.passportUrl) {
ElMessage.warning(language.value == 0 ? '请上传护照文件' : 'Please upload your passport file')
......
......@@ -83,7 +83,6 @@ export default defineConfig(({ mode, command }) => {
},
'/dev-api': {
// target: 'http://192.168.1.118:8081/',
// target: 'https://jijin.wtwuxicenter.com/stage-api',
target: 'https://jijin.wtwuxicenter.com/stage-api',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, '')
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!