0a8f80e1 by 杨炀

no message

1 parent 05fe6c4e
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg fill="#bec3c6" t="1720521921471" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8890" width="30" height="30" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M775.1168 100.9664H272.4352c-70.4512 0-127.5392 57.088-127.5392 127.5392v610.048c0 35.8912 38.8608 58.368 69.9904 40.4992l108.544-62.3616a46.7456 46.7456 0 0 1 54.3744 5.632L493.056 925.184a46.67904 46.67904 0 0 0 62.1056 0.0512l116.3776-103.5264a46.72512 46.72512 0 0 1 54.5792-5.4272l106.24 62.0032c31.1296 18.176 70.2464-4.3008 70.2464-40.3456V228.5056c0.0512-70.4-57.0368-127.5392-127.488-127.5392z m-133.9392 448.0512a29.8496 29.8496 0 1 1 0 59.6992h-87.5008v53.8624a29.8496 29.8496 0 1 1-59.6992 0V608.768h-87.552a29.8496 29.8496 0 1 1 0-59.6992h87.5008v-36.4544H406.4256a29.8496 29.8496 0 1 1 0-59.6992h58.9312l-77.312-122.5216a29.9008 29.9008 0 0 1 9.3184-41.216 29.9008 29.9008 0 0 1 41.216 9.3184l84.736 134.2464L609.024 296.96c8.8064-13.9264 27.2896-18.1248 41.216-9.3184 13.9264 8.8064 18.1248 27.2896 9.3184 41.216l-78.336 123.9552h59.9552a29.8496 29.8496 0 1 1 0 59.6992h-87.5008v36.4544h87.5008z" p-id="8891"></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1721122207833" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5858" width="30" height="30" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M736.00512 30.72c84.83328 0 153.6 68.76672 153.6 153.6v773.13536a25.6 25.6 0 0 1-41.55392 20.0192l-115.65056-92.19072a51.2 51.2 0 0 0-63.83104 0l-125.29152 99.87584a51.2 51.2 0 0 1-63.83104 0l-125.29152-99.87584a51.2 51.2 0 0 0-63.82592 0l-115.65056 92.19072a25.6 25.6 0 0 1-41.55904-20.0192V184.32C133.12 99.48672 201.88672 30.72 286.72 30.72h449.28512z m-36.79232 528.01536h-375.7056a38.07744 38.07744 0 1 0 0 76.16h375.7056a38.07744 38.07744 0 1 0 0-76.16z m0-228.46464h-375.7056a38.07744 38.07744 0 1 0 0 76.15488h375.7056a38.07744 38.07744 0 1 0 0-76.15488z" fill="#c6cacd" p-id="5859"></path></svg>
\ No newline at end of file
......
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg fill="#ffffff" t="1720521921471" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8890" width="30" height="30" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M775.1168 100.9664H272.4352c-70.4512 0-127.5392 57.088-127.5392 127.5392v610.048c0 35.8912 38.8608 58.368 69.9904 40.4992l108.544-62.3616a46.7456 46.7456 0 0 1 54.3744 5.632L493.056 925.184a46.67904 46.67904 0 0 0 62.1056 0.0512l116.3776-103.5264a46.72512 46.72512 0 0 1 54.5792-5.4272l106.24 62.0032c31.1296 18.176 70.2464-4.3008 70.2464-40.3456V228.5056c0.0512-70.4-57.0368-127.5392-127.488-127.5392z m-133.9392 448.0512a29.8496 29.8496 0 1 1 0 59.6992h-87.5008v53.8624a29.8496 29.8496 0 1 1-59.6992 0V608.768h-87.552a29.8496 29.8496 0 1 1 0-59.6992h87.5008v-36.4544H406.4256a29.8496 29.8496 0 1 1 0-59.6992h58.9312l-77.312-122.5216a29.9008 29.9008 0 0 1 9.3184-41.216 29.9008 29.9008 0 0 1 41.216 9.3184l84.736 134.2464L609.024 296.96c8.8064-13.9264 27.2896-18.1248 41.216-9.3184 13.9264 8.8064 18.1248 27.2896 9.3184 41.216l-78.336 123.9552h59.9552a29.8496 29.8496 0 1 1 0 59.6992h-87.5008v36.4544h87.5008z" p-id="8891"></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1721122207833" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5858" width="30" height="30" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M736.00512 30.72c84.83328 0 153.6 68.76672 153.6 153.6v773.13536a25.6 25.6 0 0 1-41.55392 20.0192l-115.65056-92.19072a51.2 51.2 0 0 0-63.83104 0l-125.29152 99.87584a51.2 51.2 0 0 1-63.83104 0l-125.29152-99.87584a51.2 51.2 0 0 0-63.82592 0l-115.65056 92.19072a25.6 25.6 0 0 1-41.55904-20.0192V184.32C133.12 99.48672 201.88672 30.72 286.72 30.72h449.28512z m-36.79232 528.01536h-375.7056a38.07744 38.07744 0 1 0 0 76.16h375.7056a38.07744 38.07744 0 1 0 0-76.16z m0-228.46464h-375.7056a38.07744 38.07744 0 1 0 0 76.15488h375.7056a38.07744 38.07744 0 1 0 0-76.15488z" fill="#ffffff" p-id="5859"></path></svg>
\ No newline at end of file
......
......@@ -126,6 +126,13 @@ export function getTeamBackNumber(qy) {
params: qy
})
}
export function getTeamBackNumberPre(qy) {
return request({
url: `/league/backNumber/teamQueryPre`,
method: 'get',
params: qy
})
}
......
......@@ -5,11 +5,11 @@
close-icon="CircleClose" destroy-on-close
width="460px"
>
<div style="min-height: 300px">
<div style="min-height: 300px" v-loading="loading">
<div v-if="!type||type==''">
<div @click="type='0'" class="rItem">个人查询</div>
<div @click="type='1'" class="rItem">团队查询</div>
<div @click="type='0'" class="rItem">{{ language==0?'个人查询':'Personal Query' }}</div>
<div @click="type='1'" class="rItem">{{ language==0?'团队查询':'Team Query' }}</div>
</div>
<div v-if="type=='0'">
......@@ -59,8 +59,15 @@
{{language == 0 ? '查询' : 'Search' }}
</el-button>
</div>
<span class="tip">*模糊查询</span>
<span class="tip">*{{ language == 0 ?'模糊查询':'Fuzzy query' }}</span>
<div class="text-danger text-center" v-if="showGroupList">{{ language == 0 ?'找到多个团体':'Found multiple teams' }}</div>
<div class="groupList" v-if="showGroupList">
<ul>
<li v-for="(item, index) in groupList" @click="showDetail(item)" :key="index">{{item}}
<el-icon class="fr"><ArrowRight /></el-icon>
</li>
</ul>
</div>
<div v-if="teamlist.length>0" class="temell mt20">
<el-collapse v-model="activeNames" accordion>
<el-collapse-item :name="index" :title="team[0][0].groupName" v-for="(team,index) in teamlist" :key="index">
......@@ -75,9 +82,6 @@
</el-collapse-item>
</el-collapse>
</div>
<div v-else>
<el-empty/>
</div>
</div>
</div>
</el-dialog>
......@@ -86,18 +90,21 @@
<script setup>
import {ref} from "vue";
import {ElMessage} from "element-plus";
import {getBackNumber,getTeamBackNumber} from "@/apiPc/common";
import {getBackNumber, getTeamBackNumber, getTeamBackNumberPre} from "@/apiPc/common";
import {useStorage} from "@vueuse/core/index";
const language = useStorage('language', 0)
const show = ref(false)
// const form = ref({})
const list = ref([])
const loading = ref(false)
const groupList = ref([])
const teamlist = ref([])
const query = ref('')
const query2 = ref('')
const type = ref('')
const activeNames = ref(0)
const showGroupList = ref(false)
const search = () => {
if (!query.value) {
ElMessage.warning(language.value == 0 ? '请输入会员号/姓名' : 'Please enter WDSF MIN / Name')
......@@ -115,29 +122,50 @@ const search = () => {
}
const searchTeam = () => {
teamlist.value = []
if (!query2.value||query2.value.length < 2) {
ElMessage.warning(language.value == 0 ? '请输入代表队名称至少两字符' : 'Enter the representing team name,At least two characters')
return
}
getTeamBackNumber({query: query2.value}).then(res => {
loading.value = true
getTeamBackNumberPre({query: query2.value}).then(res => {
loading.value = false
if (!res.data||res.data.length==0) {
teamlist.value = []
groupList.value = []
//提示 '未找到结果,请重新查询'
ElMessage.warning(language.value == 0 ? '未找到结果,请重新查询' : 'No result')
return
}
teamlist.value = res.data
groupList.value = res.data
if(groupList.value.length==1){
showDetail(groupList.value[0])
}
if(groupList.value.length>1){
showGroupList.value = true
}
})
}
const open = (param) => {
show.value = true
list.value = []
teamlist.value = []
groupList.value = []
query.value = ''
type.value = ''
}
defineExpose({
open
})
function showDetail(name) {
query2.value = name
showGroupList.value = false
loading.value = true
getTeamBackNumber({query: name}).then(res => {
loading.value = false
teamlist.value = res.data
})
}
</script>
<style scoped lang="scss">
......@@ -189,4 +217,7 @@ defineExpose({
.fontsize14{font-size: 14px;}
}
}
.groupList{max-height: 70vh;overflow: auto;border: 1px solid #e1e1e1;margin-top: 10px;
li{padding: 10px;border-bottom: 1px solid #e1e1e1;cursor: pointer;}
}
</style>
......
<template>
<el-dialog
v-model="show" :close-on-click-modal="false" :title="language==0?'日程查询':'Schedule inquiry'" append-to-body
center class="pcloginpop"
close-icon="CircleClose" destroy-on-close
width="460px"
>
<div style="min-height: 300px" v-loading="loading">
<div v-if="!type||type==''">
<div @click="type='0'" class="rItem">{{ language==0?'按项目查询':'Query by project' }}</div>
<div @click="type='1'" class="rItem">{{ language==0?'按团队查询':'Query by team' }}</div>
</div>
<div v-if="type=='0'">
<div class="flex mt30">
<el-input :placeholder="language==0?'输入项目/ 项目编号查询':'Enter project name or code to Query'" v-model="query" clearable
@enter="search" @blur="search" @empty="search"/>
<el-button @click="search" class="btn-lineG" style="color: #fff">{{
language == 0 ? '查询' : 'Search'
}}
</el-button>
</div>
<div v-if="list.length>0">
<div class="nowteamItem" v-for="(form, index) in list" :key="index">
<div class="info">
<div class="nowName text-center">
<span class="text-primary">{{ form.number }}</span>
</div>
<div>
<label>{{ language==0?'选手1':'Name1' }}</label>{{ form.maleName }}
<span v-if="form.maleWdsf"> - {{ form.maleWdsf }}</span>
</div>
<div>
<label>{{ language==0?'选手2':'Name2' }}</label>{{ form.femaleName }}
<span v-if="form.femaleWdsf"> - {{ form.femaleWdsf }}</span>
</div>
<div>
<label>{{ language==0?'代表队':'Represent' }}</label>
{{ form.groupName }}
</div>
<div v-if="form.zuInfo">
<label> {{ language==0?'组别':'Event' }}</label>{{ form.zuInfo }}
</div>
</div>
</div>
</div>
<div v-else>
<el-empty/>
</div>
</div>
<div v-if="type=='1'">
<div class="flex mt20">
<el-input :placeholder="language==0?'请输入代表队名称至少两字符':'Enter the representing team name,At least two characters'"
v-model="query2" clearable
@enter="searchTeam" @blur="searchTeam" @empty="searchTeam"/>
<el-button @click="searchTeam" class="btn-lineG" style="color: #fff">
{{language == 0 ? '查询' : 'Search' }}
</el-button>
</div>
<span class="tip">*{{ language == 0 ?'模糊查询':'Fuzzy query' }}</span>
<div class="text-danger text-center" v-if="showGroupList">{{ language == 0 ?'找到多个团体':'Found multiple teams' }}</div>
<div class="groupList" v-if="showGroupList">
<ul>
<li v-for="(item, index) in groupList" @click="showDetail(item)" :key="index">{{item}}
<el-icon class="fr"><ArrowRight /></el-icon>
</li>
</ul>
</div>
<div v-if="teamlist.length>0" class="temell mt20">
<el-collapse v-model="activeNames" accordion>
<el-collapse-item :name="index" :title="team[0][0].groupName" v-for="(team,index) in teamlist" :key="index">
<div class="nowteamItem" v-for="(p,jndex) in team" :key="jndex">
<div class="fontSize14 text-bold">{{p[0].zuInfo}}</div>
<div v-for="f in p" :key="f.id">
<span class="nowName text-primary">{{f.number}}</span>
<span class="mr10">{{ language==0?'选手1':'Name1' }}{{f.maleName}} </span>
<span>{{ language==0?'选手2':'Name2' }}{{f.femaleName}} </span>
</div>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
</div>
</el-dialog>
</template>
<script setup>
import {ref} from "vue";
import {ElMessage} from "element-plus";
import {getBackNumber, getTeamBackNumber, getTeamBackNumberPre} from "@/apiPc/common";
import {useStorage} from "@vueuse/core/index";
const language = useStorage('language', 0)
const show = ref(false)
// const form = ref({})
const list = ref([])
const loading = ref(false)
const groupList = ref([])
const teamlist = ref([])
const query = ref('')
const query2 = ref('')
const type = ref('')
const activeNames = ref(0)
const showGroupList = ref(false)
const search = () => {
if (!query.value) {
ElMessage.warning(language.value == 0 ? '请输入会员号/姓名' : 'Please enter WDSF MIN / Name')
return
}
getBackNumber({query: query.value}).then(res => {
if (!res.data||res.data.length==0) {
list.value = []
//提示 '未找到结果,请重新查询'
ElMessage.warning(language.value == 0 ? '未找到结果,请重新查询' : 'No result')
return
}
list.value = res.data
})
}
const searchTeam = () => {
teamlist.value = []
if (!query2.value||query2.value.length < 2) {
ElMessage.warning(language.value == 0 ? '请输入代表队名称至少两字符' : 'Enter the representing team name,At least two characters')
return
}
loading.value = true
getTeamBackNumberPre({query: query2.value}).then(res => {
loading.value = false
if (!res.data||res.data.length==0) {
groupList.value = []
//提示 '未找到结果,请重新查询'
ElMessage.warning(language.value == 0 ? '未找到结果,请重新查询' : 'No result')
return
}
groupList.value = res.data
if(groupList.value.length==1){
showDetail(groupList.value[0])
}
if(groupList.value.length>1){
showGroupList.value = true
}
})
}
const open = (param) => {
show.value = true
list.value = []
teamlist.value = []
groupList.value = []
query.value = ''
type.value = ''
}
defineExpose({
open
})
function showDetail(name) {
query2.value = name
showGroupList.value = false
loading.value = true
getTeamBackNumber({query: name}).then(res => {
loading.value = false
teamlist.value = res.data
})
}
</script>
<style scoped lang="scss">
.tip{font-size: 12px;margin: 4px 0 0;display: inline-block;}
.rItem{
height: 130px;
cursor: pointer;border: 1px solid #e1e1e1;border-radius: 4px;
width: 350px;text-align: center;line-height: 130px;
padding: 1px; font-size: 30px;color: #fff;
margin: 20px auto;background:linear-gradient(90deg, #8623FC, #453DEA);
&:hover{
background:linear-gradient(90deg, #453DEA, #8623FC);
box-shadow: 0 4px 10px #453DEA;border: none;
}
}
.nowteamItem {
width: 100%;border: 1px solid #c8c5ff; margin-top: 20px;
position: relative;border-radius: 4px;padding: 0 0 20px;
background: #FFFFFF;
box-sizing: border-box;
.info {
.nowName {
font-family: "DIN Alternate";
font-size: 60px;
font-weight: bold;
overflow: hidden;
display: block;
margin: 10px;
}
label {
text-align: right;
font-size: 14px;
padding-left: 7%
}
div {
font-size: 14px;
color: #333;
margin: 6px 0 0;
}
}
}
.temell {
.nowteamItem{padding: 10px;margin: 0 0 10px;
.nowName{font-size: 15px;font-weight: bold;margin-right: 10px}
.text-bold{font-weight: bold;}
.fontsize14{font-size: 14px;}
}
}
.groupList{max-height: 70vh;overflow: auto;border: 1px solid #e1e1e1;margin-top: 10px;
li{padding: 10px;border-bottom: 1px solid #e1e1e1;cursor: pointer;}
}
</style>
<template>
<div>
<index-Ch v-if="language ==0" @pop="openMaster" @pickup="openPickup" @backNumber="openBackNumber"/>
<index-Ch v-if="language ==0" @pop="openMaster" @pickup="openPickup" @backNumber="openBackNumber" @schSearch="openSchSearch"/>
<index-En v-else @pop="openMaster" @pickup="openPickup" @backNumber="openBackNumber"/>
<div v-if="showgg" class="fixed_gg">
<!--天气-->
......@@ -65,6 +65,7 @@
<dialog-master-class ref="masterClassRef"/>
<pick-up ref="pickupRef"></pick-up>
<back-number ref="backNumberRef"></back-number>
<sch-search ref="schSearchRef"></sch-search>
</div>
</template>
......@@ -76,6 +77,7 @@ import WeatherIcon from '@/viewsPc/components/weatherIcon'
import DialogMasterClass from '@/viewsPc/components/masterClass'
import PickUp from '@/viewsPc/components/pickup'
import BackNumber from '@/viewsPc/components/querybackNumber'
import SchSearch from '@/viewsPc/components/schSearch'
import {useStorage} from "@vueuse/core/index";
import {ref} from "vue";
import {getWeather} from "@/apiPc/webSite";
......@@ -126,6 +128,14 @@ const openBackNumber = (params) => {
}
proxy.$refs['backNumberRef'].open(obj)
}
const openSchSearch = (params) => {
console.log(params)
const obj = {
title:'日程查询',
cptId:params.cptId
}
proxy.$refs['schSearchRef'].open(obj)
}
</script>
<style scoped lang="scss">
......
......@@ -145,6 +145,7 @@
</a>
<!-- <a class="zn-btn ml20 btn-q forPc" v-show="matchData?.id=='1778253367748993026'" @click="popMaster">青少年公益课报名</a>-->
<a class="zn-btn ml20 btn-q" v-show="matchData?.id=='1778253367748993026'" @click="backNumberSearch">背号查询</a>
<a class="zn-btn ml20 btn-q" v-show="matchData?.id=='1778253367748993026'" @click="schSearch">日程查询</a>
</div>
</el-col>
<el-col :sm="24" :lg="14">
......@@ -445,7 +446,7 @@ const navigationPic = ref({
})
const router = useRouter()
const {proxy} = getCurrentInstance()
const emit = defineEmits(['pop','pickup','backNumber'])
const emit = defineEmits(['pop','pickup','backNumber','schSearch'])
const time = ref(0)
const etime = ref(0)
const personList = ref([
......@@ -579,6 +580,12 @@ const backNumberSearch = () => {
}
emit('backNumber',params)
}
const schSearch = () => {
var params = {
cptId:matchData.value.id
}
emit('schSearch',params)
}
const handlePickup=()=>{
const params={
cptId :matchData.value.id
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!