no message
Showing
48 changed files
with
2110 additions
and
939 deletions
public/file/UserImport-ch.xlsx
0 → 100644
No preview for this file type
public/file/Userimport-en.xlsx
0 → 100644
No preview for this file type
| ... | @@ -91,6 +91,20 @@ export function getMyGroupList() { | ... | @@ -91,6 +91,20 @@ export function getMyGroupList() { |
| 91 | method: 'get' | 91 | method: 'get' |
| 92 | }) | 92 | }) |
| 93 | } | 93 | } |
| 94 | export function checkWdsf(query) { | ||
| 95 | return request({ | ||
| 96 | url: `/league/wdsf/check`, | ||
| 97 | method: 'get', | ||
| 98 | params:query | ||
| 99 | }) | ||
| 100 | } | ||
| 101 | export function registerSingle(data) { | ||
| 102 | return request({ | ||
| 103 | url: `/pcRegisterSingleAboard`, | ||
| 104 | method: 'post', | ||
| 105 | data:data | ||
| 106 | }) | ||
| 107 | } | ||
| 94 | 108 | ||
| 95 | // 根据Id获取我的团队 | 109 | // 根据Id获取我的团队 |
| 96 | export function getGroupInfo() { | 110 | export function getGroupInfo() { |
| ... | @@ -192,6 +206,12 @@ export function saveMyTeam(data) { | ... | @@ -192,6 +206,12 @@ export function saveMyTeam(data) { |
| 192 | data: data | 206 | data: data |
| 193 | }) | 207 | }) |
| 194 | } | 208 | } |
| 209 | export function withDrawByOrderId(orderId) { | ||
| 210 | return request({ | ||
| 211 | url: `/league/signOrder/withDraw/${orderId}`, | ||
| 212 | method: 'post' | ||
| 213 | }) | ||
| 214 | } | ||
| 195 | 215 | ||
| 196 | export function getMyOrderList(params) { | 216 | export function getMyOrderList(params) { |
| 197 | return request({ | 217 | return request({ |
| ... | @@ -208,10 +228,17 @@ export function getMySignListFromOrderList(orderId) { | ... | @@ -208,10 +228,17 @@ export function getMySignListFromOrderList(orderId) { |
| 208 | }) | 228 | }) |
| 209 | } | 229 | } |
| 210 | 230 | ||
| 211 | export function getMyOrderDetail(orderId) { | 231 | // export function getMyOrderDetail(orderId) { |
| 232 | // return request({ | ||
| 233 | // url: `/league/signOrder/getMyOrderDetail/${orderId}`, | ||
| 234 | // method: 'get' | ||
| 235 | // }) | ||
| 236 | // } | ||
| 237 | export function getMyOrderDetail(query) { | ||
| 212 | return request({ | 238 | return request({ |
| 213 | url: `/league/signOrder/getMyOrderDetail/${orderId}`, | 239 | url: `/league/signOrder/getOrderPayInfo`, |
| 214 | method: 'get' | 240 | method: 'get', |
| 241 | params: query | ||
| 215 | }) | 242 | }) |
| 216 | } | 243 | } |
| 217 | 244 | ||
| ... | @@ -460,6 +487,13 @@ export function getMySignInfoList(data) { | ... | @@ -460,6 +487,13 @@ export function getMySignInfoList(data) { |
| 460 | params: data | 487 | params: data |
| 461 | }) | 488 | }) |
| 462 | } | 489 | } |
| 490 | export function exportCn(data) { | ||
| 491 | return request({ | ||
| 492 | url: `/league/sign/exportCn`, | ||
| 493 | method: 'get', | ||
| 494 | params: data | ||
| 495 | }) | ||
| 496 | } | ||
| 463 | export function saveMyGroupExtraInfo(data) { | 497 | export function saveMyGroupExtraInfo(data) { |
| 464 | return request({ | 498 | return request({ |
| 465 | url: `/league/competitionGroupInfo/saveMyGroupExtraInfo`, | 499 | url: `/league/competitionGroupInfo/saveMyGroupExtraInfo`, | ... | ... |
src/assets/img/e.png
0 → 100644
11.9 KB
src/assets/img/ing.png
0 → 100644
1.32 KB
| ... | @@ -288,6 +288,8 @@ function getCode() { | ... | @@ -288,6 +288,8 @@ function getCode() { |
| 288 | 288 | ||
| 289 | :deep(.el-input){height: 100%} | 289 | :deep(.el-input){height: 100%} |
| 290 | :deep(.el-form-item){height: 40px;} | 290 | :deep(.el-form-item){height: 40px;} |
| 291 | .home-menu .el-menu--horizontal > .el-menu-item{margin: 0 5px; font-size: 18px;} | ||
| 292 | .home-menu .el-sub-menu .el-sub-menu__title{font-size: 18px;} | ||
| 291 | .weiMenu.el-menu{ | 293 | .weiMenu.el-menu{ |
| 292 | border: none; | 294 | border: none; |
| 293 | :deep(.el-menu-item.is-active){color: var(--el-color-primary);} | 295 | :deep(.el-menu-item.is-active){color: var(--el-color-primary);} | ... | ... |
| ... | @@ -401,6 +401,12 @@ export const constantRoutes = [ | ... | @@ -401,6 +401,12 @@ export const constantRoutes = [ |
| 401 | redirect: '/match/list', | 401 | redirect: '/match/list', |
| 402 | children: [ | 402 | children: [ |
| 403 | { | 403 | { |
| 404 | path: 'commitDone/:orderId', | ||
| 405 | component: () => import('@/viewsPc/match/commitDone'), | ||
| 406 | name: 'commitDone', | ||
| 407 | meta: { title: '提交审核'} | ||
| 408 | }, | ||
| 409 | { | ||
| 404 | path: 'pay', | 410 | path: 'pay', |
| 405 | component: () => import('@/viewsPc/match/pay'), | 411 | component: () => import('@/viewsPc/match/pay'), |
| 406 | name: 'signPay', | 412 | name: 'signPay', | ... | ... |
| ... | @@ -278,6 +278,12 @@ export const constantRoutes = [ | ... | @@ -278,6 +278,12 @@ export const constantRoutes = [ |
| 278 | redirect: '/match/list', | 278 | redirect: '/match/list', |
| 279 | children: [ | 279 | children: [ |
| 280 | { | 280 | { |
| 281 | path: 'commitDone/:orderId', | ||
| 282 | component: () => import('@/viewsPc/match/commitDone'), | ||
| 283 | name: 'commitDone', | ||
| 284 | meta: { title: '提交审核'} | ||
| 285 | }, | ||
| 286 | { | ||
| 281 | path: 'pay', | 287 | path: 'pay', |
| 282 | component: () => import('@/viewsPc/match/pay'), | 288 | component: () => import('@/viewsPc/match/pay'), |
| 283 | name: 'signPay', | 289 | name: 'signPay', | ... | ... |
| ... | @@ -141,26 +141,27 @@ service.interceptors.response.use( | ... | @@ -141,26 +141,27 @@ service.interceptors.response.use( |
| 141 | if (code === 401) { | 141 | if (code === 401) { |
| 142 | if (!isRelogin.show) { | 142 | if (!isRelogin.show) { |
| 143 | isRelogin.show = true | 143 | isRelogin.show = true |
| 144 | ElMessageBox.confirm( | 144 | ElMessage({ message: '登录状态已过期', type: 'error' }) |
| 145 | '登录状态已过期,您可以继续留在该页面,或者重新登录', | 145 | // ElMessageBox.confirm( |
| 146 | '系统提示', | 146 | // '登录状态已过期,您可以继续留在该页面,或者重新登录', |
| 147 | { | 147 | // '系统提示', |
| 148 | confirmButtonText: '好的', | 148 | // { |
| 149 | cancelButtonText: '取消', | 149 | // confirmButtonText: '好的', |
| 150 | type: 'warning' | 150 | // cancelButtonText: '取消', |
| 151 | } | 151 | // type: 'warning' |
| 152 | ) | 152 | // } |
| 153 | .then(() => { | 153 | // ) |
| 154 | isRelogin.show = false | 154 | // .then(() => { |
| 155 | useUserStore() | 155 | // isRelogin.show = false |
| 156 | .logOut() | 156 | // useUserStore() |
| 157 | .then(() => { | 157 | // .logOut() |
| 158 | location.reload() | 158 | // .then(() => { |
| 159 | }) | 159 | // location.reload() |
| 160 | }) | 160 | // }) |
| 161 | .catch(() => { | 161 | // }) |
| 162 | isRelogin.show = false | 162 | // .catch(() => { |
| 163 | }) | 163 | // isRelogin.show = false |
| 164 | // }) | ||
| 164 | } | 165 | } |
| 165 | return Promise.reject('无效的会话,或者会话已过期,请重新登录。') | 166 | return Promise.reject('无效的会话,或者会话已过期,请重新登录。') |
| 166 | } else if (code === 500) { | 167 | } else if (code === 500) { | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div> | 2 | <div class="mb20"> |
| 3 | <el-card :body-style="{'padding':'0'}"> | 3 | <el-card :body-style="{'padding':'0'}"> |
| 4 | <div class="indexTitle"><h3 class="leftboderTT">{{ language==0?'机构基础信息':'Institutional Basic Information' }}</h3></div> | 4 | <div class="indexTitle"> |
| 5 | <h3 class="leftboderTT" v-if="user.utype=='2'">{{ language==0?'机构基础信息':'Institutional Basic Information' }}</h3> | ||
| 6 | <h3 class="leftboderTT" v-if="user.utype=='1'">{{ language==0?'个人基础信息':'Personal Basic Information' }}</h3> | ||
| 7 | </div> | ||
| 5 | <!-- uType字段 1 是个人 2是团体--> | 8 | <!-- uType字段 1 是个人 2是团体--> |
| 6 | <!-- {{user}}--> | 9 | <!-- {{user}}--> |
| 7 | <team-info :form="myform" :language="language" v-if="user.utype=='2'"/> | 10 | <team-info :form="myform" :language="language" v-if="user.utype=='2'"/> |
| 11 | <div class="pd20"> | ||
| 12 | <div class="d-form-border" style="margin-top: 0"> | ||
| 13 | <el-form class="d-form" label-width="120"> | ||
| 14 | <el-form-item :label="language==0?'用户名':'Account'"> | ||
| 15 | {{user.userName}} | ||
| 16 | </el-form-item> | ||
| 17 | <el-form-item label="姓名" required> | ||
| 18 | <el-input v-model="myform.realName" /> | ||
| 19 | </el-form-item> | ||
| 20 | <el-form-item label="性别" prop="sex" required> | ||
| 21 | <el-radio-group v-model="myform.sex"> | ||
| 22 | <el-radio label="0" size="large">男</el-radio> | ||
| 23 | <el-radio label="1" size="large">女</el-radio> | ||
| 24 | </el-radio-group> | ||
| 25 | </el-form-item> | ||
| 26 | <el-form-item label="证件类型"> | ||
| 27 | <el-select v-model="myform.idcType" placeholder="请选择证件类型" style="width: 100%"> | ||
| 28 | <el-option | ||
| 29 | v-for="item in certificates" | ||
| 30 | :key="item.value" | ||
| 31 | :label="item.label" | ||
| 32 | :value="item.value" | ||
| 33 | /> | ||
| 34 | </el-select> | ||
| 35 | </el-form-item> | ||
| 36 | <el-form-item label="证件号码"> | ||
| 37 | <el-input v-model="myform.idcCode" @blur="checkCode"/> | ||
| 38 | </el-form-item> | ||
| 39 | <el-form-item label="类型" prop="type"> | ||
| 40 | <el-select v-model="myform.type" placeholder="请选择" style="width: 100%;"> | ||
| 41 | <el-option label="业余" value="0" /> | ||
| 42 | <el-option label="专业" value="1" /> | ||
| 43 | <el-option label="大专院校" value="2" /> | ||
| 44 | <el-option label="其他" value="3" /> | ||
| 45 | </el-select> | ||
| 46 | </el-form-item> | ||
| 47 | <el-form-item :label="language==0?'联系人邮箱':'Contact Email'" required prop="email"> | ||
| 48 | <el-input v-model="myform.email" type="email" :placeholder="language==0?'请输入内容':''"/> | ||
| 49 | </el-form-item> | ||
| 50 | </el-form> | ||
| 51 | <div class="text-center"> | ||
| 52 | <el-button type="primary" class="btn-lineG" round @click="save">{{ language==0?'确定修改':'Save' }}</el-button> | ||
| 53 | </div> | ||
| 8 | 54 | ||
| 55 | </div> | ||
| 56 | </div> | ||
| 9 | </el-card> | 57 | </el-card> |
| 10 | 58 | ||
| 11 | </div> | 59 | </div> |
| ... | @@ -35,10 +83,10 @@ const activeName = ref('first') | ... | @@ -35,10 +83,10 @@ const activeName = ref('first') |
| 35 | const myform = ref({ | 83 | const myform = ref({ |
| 36 | idcType: 0, | 84 | idcType: 0, |
| 37 | countryId: 240, | 85 | countryId: 240, |
| 38 | nation: '汉族' | 86 | nation: '汉族', |
| 87 | realName:'' | ||
| 39 | }) | 88 | }) |
| 40 | const labelArr = ref([]) | 89 | const labelArr = ref([]) |
| 41 | const groupList = ref([]) | ||
| 42 | 90 | ||
| 43 | const certificates = ref([ | 91 | const certificates = ref([ |
| 44 | { | 92 | { |
| ... | @@ -60,8 +108,21 @@ onMounted(() => { | ... | @@ -60,8 +108,21 @@ onMounted(() => { |
| 60 | }) | 108 | }) |
| 61 | 109 | ||
| 62 | function getData() { | 110 | function getData() { |
| 63 | match.getGroupInfo().then(res => { | 111 | if(props.user.utype=='2'){ |
| 64 | myform.value = res.data | 112 | match.getGroupInfo().then(res => { |
| 113 | myform.value = res.data | ||
| 114 | }) | ||
| 115 | } | ||
| 116 | if(props.user.utype=='1'){ | ||
| 117 | match.getMyPersonInfo().then(res => { | ||
| 118 | myform.value = res.data | ||
| 119 | }) | ||
| 120 | } | ||
| 121 | |||
| 122 | } | ||
| 123 | function save(){ | ||
| 124 | match.saveMyBaseInfo().then(res=>{ | ||
| 125 | |||
| 65 | }) | 126 | }) |
| 66 | } | 127 | } |
| 67 | function checkCode() { | 128 | function checkCode() { | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <el-card class="mb20"> | 2 | <el-card class="mb20"> |
| 3 | <div class="pad20"> | ||
| 4 | <el-form :model="query" :inline="true"> | ||
| 5 | <el-form-item label="赛事名称"> | ||
| 6 | <el-input v-model="query.name" style="width: 214px;" @change="getList"/> | ||
| 7 | </el-form-item> | ||
| 8 | <el-form-item label="赛事时间"> | ||
| 9 | <el-date-picker | ||
| 10 | v-model="cptPeriodArr" | ||
| 11 | format="YYYY-MM-DD" type="daterange" | ||
| 12 | value-format="YYYY-MM-DD" range-separator="至" | ||
| 13 | start-placeholder="开始时间" | ||
| 14 | end-placeholder="结束时间" | ||
| 15 | @change="getList" | ||
| 16 | /> | ||
| 17 | </el-form-item> | ||
| 18 | <el-form-item> | ||
| 19 | <el-button type="primary" @click="getList">查询</el-button> | ||
| 20 | <el-button type="info" @click="reset(query)">重置</el-button> | ||
| 21 | </el-form-item> | ||
| 22 | </el-form> | ||
| 23 | |||
| 24 | <div class="pd20"> | 3 | <div class="pd20"> |
| 25 | <div class="matchItem" v-for="n in tableData" :key="n.id" @click="goDetail(n.id)"> | 4 | <div class="matchItem" v-for="n in billList" :key="n.id"> |
| 5 | <div class="status-po"> | ||
| 6 | <span class="bg-pink" v-if="n.auditStatus=='0'">未提交</span> | ||
| 7 | <span class="bg-primary" v-if="n.auditStatus=='1'">待审核</span> | ||
| 8 | <span class="bg-blue" v-if="n.auditStatus=='2'">审核通过</span> | ||
| 9 | <span class="bg-danger" v-if="n.auditStatus=='3'">审核驳回</span> | ||
| 10 | </div> | ||
| 26 | <el-row :gutter="15"> | 11 | <el-row :gutter="15"> |
| 27 | <el-col :lg="6" :md="8" :xl="10"> | 12 | <el-col :lg="6" :md="8" :xl="10"> |
| 28 | <img class="mauto" :src="fillImgUrl(n.coverUrl)"> | 13 | <img class="mauto w100" :src="fillImgUrl(n.coverUrl)"> |
| 29 | </el-col> | 14 | </el-col> |
| 30 | <el-col :lg="18" :md="16" :xl="14"> | 15 | <el-col :lg="18" :md="16" :xl="14"> |
| 31 | <div class="info"> | 16 | <el-row> |
| 32 | <h3>{{ n.name }}</h3> | 17 | <el-col :span="24"> |
| 33 | <p class="ppl"><label>比赛时间:</label>{{ n.beginTime?.slice(0, 10) }} 至 {{ n.endTime?.slice(0, 10) }} | 18 | <h3>{{ n.name }}</h3> |
| 34 | </p> | 19 | </el-col> |
| 35 | <p class="ppl"><label>地    点:</label>{{ n.address }}</p> | 20 | <el-col :lg="8"> |
| 36 | <p class="ppl"><label>报名截止:</label>{{ n.signEndTime?.slice(0, 10) }}</p> | 21 | <p class="ppl"><label>赛事类型:</label>{{ n.level }}</p> |
| 37 | 22 | <p class="ppl"><label v-if="n.groupName">参赛队:</label>{{n.groupName}}</p> | |
| 38 | <p class="ppl"><label>联系人员:</label>{{ n.contactPerson }}</p> | 23 | </el-col> |
| 39 | <p class="ppl"><label>联系电话:</label>{{ n.contactTelno }}</p> | 24 | <el-col :lg="8"> |
| 40 | <p class="ppl"><label>邮    箱:</label>{{ n.contactEmail }}</p> | 25 | <p class="ppl"><label>比赛时间:</label>{{ n.signBeginTime }}~{{n.signEndTime}} |
| 41 | 26 | </p> | |
| 42 | </div> | 27 | <p class="ppl"><label>参赛运动员:</label>{{ n.signSize }} 人</p> |
| 28 | </el-col> | ||
| 29 | <el-col :lg="8"> | ||
| 30 | <p class="ppl"><label>报名时间:</label>{{ n.signBeginTime }}~{{n.signEndTime}}</p> | ||
| 31 | <div class="btnbox"> | ||
| 32 | <el-button plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus!='0'">详情</el-button> | ||
| 33 | <el-button plain round type="primary" @click="continueSign(n)" v-if="n.auditStatus=='0'">继续报名</el-button> | ||
| 34 | <el-button plain round type="primary" @click="withDraw(n)" v-if="n.auditStatus=='1'">取消报名</el-button> | ||
| 35 | <el-button plain round type="primary" @click="continueSign(n)" v-if="n.auditStatus=='3'">重新报名</el-button> | ||
| 36 | <el-button plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus=='2'&&n.payStatus=='0'">缴费</el-button> | ||
| 37 | </div> | ||
| 38 | </el-col> | ||
| 39 | </el-row> | ||
| 43 | </el-col> | 40 | </el-col> |
| 44 | </el-row> | 41 | </el-row> |
| 45 | </div> | 42 | </div> |
| 46 | </div> | ||
| 47 | 43 | ||
| 48 | <el-table :data="tableData" style="width: 100%"> | 44 | <el-empty image="@/assets/img/order_no.png" :image-size="228" v-if="billList?.length == 0"/> |
| 49 | <el-table-column type="index" label="序号" width="80" align="center"/> | 45 | |
| 50 | <el-table-column label="赛事名称" min-width="260"> | 46 | </div> |
| 51 | <template #default="scope"> | 47 | <paginationPc |
| 52 | {{ scope.row.name }} | ||
| 53 | </template> | ||
| 54 | </el-table-column> | ||
| 55 | <el-table-column label="参赛队" min-width="260"> | ||
| 56 | <template #default="scope"> | ||
| 57 | <span v-if="scope.row.groupName">{{ scope.row.groupName }}</span> | ||
| 58 | <span v-else>-</span> | ||
| 59 | </template> | ||
| 60 | </el-table-column> | ||
| 61 | <el-table-column label="赛事开始时间" min-width="120"> | ||
| 62 | <template #default="scope">{{ scope.row.beginTime.substring(0, 10) }}</template> | ||
| 63 | </el-table-column> | ||
| 64 | <el-table-column label="赛事结束时间" min-width="120"> | ||
| 65 | <template #default="scope">{{ scope.row.endTime.substring(0, 10) }}</template> | ||
| 66 | </el-table-column> | ||
| 67 | <el-table-column label="审批状态" min-width="100" align="center"> | ||
| 68 | <template #default="scope"> | ||
| 69 | <el-tag v-if="scope.row.auditStatus=='1'" type="info">已提交</el-tag> | ||
| 70 | <el-tag v-if="scope.row.auditStatus=='2'" type="success">审核通过</el-tag> | ||
| 71 | <el-tag v-if="scope.row.auditStatus=='3'" type="danger">未通过</el-tag> | ||
| 72 | <el-tag v-if="scope.row.auditStatus=='4'" type="warning">已取消</el-tag> | ||
| 73 | </template> | ||
| 74 | </el-table-column> | ||
| 75 | <el-table-column label="操作" align="center" fixed="right" class-name="small-padding" width="180"> | ||
| 76 | <template #default="scope"> | ||
| 77 | <el-button v-if="scope.row.auditStatus!='0'" type="text" @click="downloadVoucher(scope.row)"> | ||
| 78 | 下载报名凭证 | ||
| 79 | </el-button> | ||
| 80 | <el-button type="text" @click="signRow(scope.row)">详情</el-button> | ||
| 81 | </template> | ||
| 82 | </el-table-column> | ||
| 83 | </el-table> | ||
| 84 | |||
| 85 | <pagination | ||
| 86 | v-show="total > 0" | 48 | v-show="total > 0" |
| 87 | v-model:page="query.pageNum" | 49 | v-model:page="query.pageNum" |
| 88 | v-model:limit="query.pageSize" | 50 | v-model:limit="query.pageSize" |
| 89 | :total="total" | 51 | :total="total" |
| 90 | @pagination="getList" | 52 | @pagination="getList" |
| 91 | /> | 53 | /> |
| 92 | </div> | ||
| 93 | 54 | ||
| 94 | <!-- 报项详情--> | 55 | <!-- 报项详情--> |
| 95 | <dialogModifySign :props="dialogModifySignProps"/> | 56 | <dialogModifySign :props="dialogModifySignProps"/> |
| ... | @@ -109,15 +70,12 @@ import dialogModifyBill from './component/modifyBill' | ... | @@ -109,15 +70,12 @@ import dialogModifyBill from './component/modifyBill' |
| 109 | import * as match from '@/apiPc/match' | 70 | import * as match from '@/apiPc/match' |
| 110 | import {ElMessage, ElMessageBox} from 'element-plus' | 71 | import {ElMessage, ElMessageBox} from 'element-plus' |
| 111 | import _ from 'lodash' | 72 | import _ from 'lodash' |
| 73 | import useUserStore from "@/store/modules/user"; | ||
| 112 | 74 | ||
| 113 | const router = useRouter() | 75 | const router = useRouter() |
| 114 | const {proxy} = getCurrentInstance() | 76 | const {proxy} = getCurrentInstance() |
| 115 | const total = ref(0) | 77 | const total = ref(0) |
| 116 | const total2 = ref(0) | 78 | const total2 = ref(0) |
| 117 | const payMationDone = () => { | ||
| 118 | showOrganizerInfo.value = false | ||
| 119 | payPop.value = false | ||
| 120 | } | ||
| 121 | const dialogPropsBase = { | 79 | const dialogPropsBase = { |
| 122 | open: false, | 80 | open: false, |
| 123 | isView: false, | 81 | isView: false, |
| ... | @@ -155,10 +113,10 @@ const showResult = ref(false) | ... | @@ -155,10 +113,10 @@ const showResult = ref(false) |
| 155 | const myBalance = ref('') | 113 | const myBalance = ref('') |
| 156 | const nowBill = ref({}) | 114 | const nowBill = ref({}) |
| 157 | const org = ref({}) | 115 | const org = ref({}) |
| 158 | 116 | const user = useUserStore().user | |
| 117 | const group = useUserStore().group | ||
| 159 | onMounted(() => { | 118 | onMounted(() => { |
| 160 | getList() | 119 | getList() |
| 161 | getBillList() | ||
| 162 | }) | 120 | }) |
| 163 | const reset = (form) => { | 121 | const reset = (form) => { |
| 164 | query.value = { | 122 | query.value = { |
| ... | @@ -172,32 +130,53 @@ const reset = (form) => { | ... | @@ -172,32 +130,53 @@ const reset = (form) => { |
| 172 | cptPeriodArr.value = [] | 130 | cptPeriodArr.value = [] |
| 173 | payTimeArr.value = [] | 131 | payTimeArr.value = [] |
| 174 | commitTimeArr.value = [] | 132 | commitTimeArr.value = [] |
| 175 | getBillList() | ||
| 176 | getList() | 133 | getList() |
| 177 | } | 134 | } |
| 178 | 135 | function withDraw(n){ | |
| 179 | 136 | match.withDrawByOrderId(n.orderId).then(res=>{ | |
| 180 | function wePayDone() { | 137 | getList() |
| 181 | payPop.value = false | 138 | }) |
| 182 | getBillList() | ||
| 183 | getList() | ||
| 184 | } | 139 | } |
| 185 | 140 | function continueSign(n){ | |
| 186 | function getList() { | 141 | if (user.utype == '1') { |
| 187 | if (cptPeriodArr.value) { | 142 | // 个人报名 |
| 188 | query.value.cptPeriod = cptPeriodArr.value.toString() | 143 | router.push({ |
| 144 | name: 'chooseProject', | ||
| 145 | params:{ | ||
| 146 | id: n.id | ||
| 147 | }, | ||
| 148 | query: { | ||
| 149 | matchId: n.id | ||
| 150 | } | ||
| 151 | }) | ||
| 152 | } | ||
| 153 | if (user.utype == '2'){ | ||
| 154 | // 团队报名 | ||
| 155 | router.push({ | ||
| 156 | name: 'chooseSportsman', | ||
| 157 | params:{ | ||
| 158 | id: n.id | ||
| 159 | }, | ||
| 160 | query: { | ||
| 161 | matchId: n.id, | ||
| 162 | groupId: group.id | ||
| 163 | } | ||
| 164 | }) | ||
| 189 | } | 165 | } |
| 190 | // match.getMySignCptList(query.value).then(res => { | ||
| 191 | // tableData.value = res.rows | ||
| 192 | // total.value = res.total | ||
| 193 | // }) | ||
| 194 | } | ||
| 195 | 166 | ||
| 196 | function getBillList() { | 167 | } |
| 197 | query2.value.payTimeRange = payTimeArr.value.toString() | 168 | function goDetail(n){ |
| 198 | query2.value.createTimeRange = commitTimeArr.value.toString() | 169 | // 查看详情 |
| 170 | router.push({ | ||
| 171 | name:`signPay`, | ||
| 172 | query: { | ||
| 173 | orderId: n.encodeOrderId | ||
| 174 | } | ||
| 175 | }) | ||
| 176 | } | ||
| 177 | function getList() { | ||
| 199 | console.log(query2.value) | 178 | console.log(query2.value) |
| 200 | match.getMyOrderList(query2.value).then(res => { | 179 | match.getMySignCptList(query2.value).then(res => { |
| 201 | billList.value = res.rows | 180 | billList.value = res.rows |
| 202 | total2.value = res.total | 181 | total2.value = res.total |
| 203 | }) | 182 | }) |
| ... | @@ -261,7 +240,6 @@ function cancelBill(bill) { | ... | @@ -261,7 +240,6 @@ function cancelBill(bill) { |
| 261 | match.cancelMyUnPayedOrder(bill.id).then(Response => { | 240 | match.cancelMyUnPayedOrder(bill.id).then(Response => { |
| 262 | console.log(Response.data) | 241 | console.log(Response.data) |
| 263 | // 刷新数据 | 242 | // 刷新数据 |
| 264 | getBillList() | ||
| 265 | getList() | 243 | getList() |
| 266 | }) | 244 | }) |
| 267 | }) | 245 | }) |
| ... | @@ -278,11 +256,16 @@ function downloadVoucher(row) { | ... | @@ -278,11 +256,16 @@ function downloadVoucher(row) { |
| 278 | .matchItem { | 256 | .matchItem { |
| 279 | cursor: pointer; | 257 | cursor: pointer; |
| 280 | margin: 0 0 20px; | 258 | margin: 0 0 20px; |
| 281 | padding: 0 0 20px; | 259 | padding: 0 0 20px;background: #FBFCFD; |
| 282 | background: #FFFFFF; | 260 | border-radius: 2px; |
| 283 | border-bottom: 1px solid #e5e5e5; | ||
| 284 | position: relative; | 261 | position: relative; |
| 285 | 262 | .status-po{position: absolute;right: 0;top: 0;font-size: 12px; | |
| 263 | color: #FFFFFF; | ||
| 264 | span{border-radius: 0px 10px 0px 10px;padding: 4px 10px;} | ||
| 265 | .bg-danger{background: #E60012;} | ||
| 266 | .bg-pink{background: #F740A6;} | ||
| 267 | .bg-primary{background: var(--el-color-primary)} | ||
| 268 | } | ||
| 286 | &:last-child { | 269 | &:last-child { |
| 287 | border-bottom: none; | 270 | border-bottom: none; |
| 288 | } | 271 | } |
| ... | @@ -368,4 +351,8 @@ function downloadVoucher(row) { | ... | @@ -368,4 +351,8 @@ function downloadVoucher(row) { |
| 368 | .el-form--inline .el-form-item { | 351 | .el-form--inline .el-form-item { |
| 369 | width: auto; | 352 | width: auto; |
| 370 | } | 353 | } |
| 354 | .ppl{font-size: 14px; | ||
| 355 | label{color: #929AA0;} | ||
| 356 | } | ||
| 357 | .btnbox{text-align: right;} | ||
| 371 | </style> | 358 | </style> | ... | ... |
src/viewsPc/center/myMatch2.vue
0 → 100644
| 1 | <template> | ||
| 2 | <el-card class="mb20"> | ||
| 3 | <div class="pad20"> | ||
| 4 | <!-- <el-form :model="query" :inline="true">--> | ||
| 5 | <!-- <el-form-item label="赛事名称">--> | ||
| 6 | <!-- <el-input v-model="query.name" style="width: 214px;" @change="getBillList"/>--> | ||
| 7 | <!-- </el-form-item>--> | ||
| 8 | <!-- <el-form-item label="赛事时间">--> | ||
| 9 | <!-- <el-date-picker--> | ||
| 10 | <!-- v-model="cptPeriodArr"--> | ||
| 11 | <!-- format="YYYY-MM-DD" type="daterange"--> | ||
| 12 | <!-- value-format="YYYY-MM-DD" range-separator="至"--> | ||
| 13 | <!-- start-placeholder="开始时间"--> | ||
| 14 | <!-- end-placeholder="结束时间"--> | ||
| 15 | <!-- @change="getBillList"--> | ||
| 16 | <!-- />--> | ||
| 17 | <!-- </el-form-item>--> | ||
| 18 | <!-- <el-form-item>--> | ||
| 19 | <!-- <el-button type="primary" @click="getBillList">查询</el-button>--> | ||
| 20 | <!-- <el-button type="info" @click="reset(query)">重置</el-button>--> | ||
| 21 | <!-- </el-form-item>--> | ||
| 22 | <!-- </el-form>--> | ||
| 23 | |||
| 24 | <div class="pd20"> | ||
| 25 | <div class="matchItem" v-for="n in billList" :key="n.id" @click="goDetail(n.id)"> | ||
| 26 | <div class="status-po"> | ||
| 27 | <span class="bg-pink" v-if="n.auditStatus=='0'">未提交</span> | ||
| 28 | <span class="bg-primary" v-if="n.auditStatus=='1'">待审核</span> | ||
| 29 | <span class="bg-blue" v-if="n.auditStatus=='2'">审核通过</span> | ||
| 30 | <span class="bg-danger" v-if="n.auditStatus=='3'">审核驳回</span> | ||
| 31 | </div> | ||
| 32 | <el-row :gutter="15"> | ||
| 33 | <el-col :lg="6" :md="8" :xl="10"> | ||
| 34 | <img class="mauto w100" :src="fillImgUrl(n.cptCoverPic)"> | ||
| 35 | </el-col> | ||
| 36 | <el-col :lg="18" :md="16" :xl="14"> | ||
| 37 | <el-row> | ||
| 38 | <el-col :span="24"> | ||
| 39 | <h3>{{ n.cptName }}</h3> | ||
| 40 | </el-col> | ||
| 41 | <el-col :lg="8"> | ||
| 42 | <p class="ppl"><label>赛事类型:</label>{{ n.cptLevel }}</p> | ||
| 43 | <p class="ppl"><label v-if="n.groupName">参赛队:</label>{{n.groupName}}</p> | ||
| 44 | </el-col> | ||
| 45 | <el-col :lg="8"> | ||
| 46 | <p class="ppl"><label>比赛时间:</label>{{ n.cptTimeRange }} | ||
| 47 | </p> | ||
| 48 | <p class="ppl"><label>参赛运动员:</label>{{ n.cptAthletesSize }} 人</p> | ||
| 49 | </el-col> | ||
| 50 | <el-col :lg="8"> | ||
| 51 | <p class="ppl"><label>报名时间:</label>{{ n.cptSignTimeRange}}</p> | ||
| 52 | <div class="btnbox"> | ||
| 53 | <el-button plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus!='0'">详情</el-button> | ||
| 54 | <el-button plain round type="primary" @click="continueSign(n)" v-if="n.auditStatus=='0'">继续报名</el-button> | ||
| 55 | <el-button plain round type="primary" @click="withDraw(n)" v-if="n.auditStatus=='1'">取消报名</el-button> | ||
| 56 | <el-button plain round type="primary" v-if="n.auditStatus=='3'">重新报名</el-button> | ||
| 57 | <el-button plain round type="primary" v-if="n.auditStatus=='2'&&n.payStatus=='0'">缴费</el-button> | ||
| 58 | </div> | ||
| 59 | </el-col> | ||
| 60 | </el-row> | ||
| 61 | </el-col> | ||
| 62 | </el-row> | ||
| 63 | </div> | ||
| 64 | |||
| 65 | <el-empty image="@/assets/img/order_no.png" :image-size="228" v-if="billList?.length == 0"/> | ||
| 66 | |||
| 67 | </div> | ||
| 68 | <paginationPc | ||
| 69 | v-show="total > 0" | ||
| 70 | v-model:page="query.pageNum" | ||
| 71 | v-model:limit="query.pageSize" | ||
| 72 | :total="total" | ||
| 73 | @pagination="getBillList" | ||
| 74 | /> | ||
| 75 | </div> | ||
| 76 | |||
| 77 | <!-- 报项详情--> | ||
| 78 | <dialogModifySign :props="dialogModifySignProps"/> | ||
| 79 | <!-- 订单详情--> | ||
| 80 | <dialogModifyBill :props="dialogModifyBillProps"/> | ||
| 81 | |||
| 82 | </el-card> | ||
| 83 | |||
| 84 | </template> | ||
| 85 | |||
| 86 | <script setup> | ||
| 87 | import {ref} from 'vue' | ||
| 88 | import {useRouter} from 'vue-router' | ||
| 89 | import {getCurrentInstance, onMounted} from '@vue/runtime-core' | ||
| 90 | import dialogModifySign from './component/modifySign' | ||
| 91 | import dialogModifyBill from './component/modifyBill' | ||
| 92 | import * as match from '@/apiPc/match' | ||
| 93 | import {ElMessage, ElMessageBox} from 'element-plus' | ||
| 94 | import _ from 'lodash' | ||
| 95 | import useUserStore from "@/store/modules/user"; | ||
| 96 | |||
| 97 | const router = useRouter() | ||
| 98 | const {proxy} = getCurrentInstance() | ||
| 99 | const total = ref(0) | ||
| 100 | const total2 = ref(0) | ||
| 101 | const dialogPropsBase = { | ||
| 102 | open: false, | ||
| 103 | isView: false, | ||
| 104 | title: '', | ||
| 105 | data: null | ||
| 106 | } | ||
| 107 | const dialogModifySignProps = ref({ | ||
| 108 | ...dialogPropsBase | ||
| 109 | }) | ||
| 110 | const dialogModifyBillProps = ref({ | ||
| 111 | ...dialogPropsBase | ||
| 112 | }) | ||
| 113 | const activeName = ref('first') | ||
| 114 | const myform = ref({}) | ||
| 115 | |||
| 116 | const groupList = ref([]) | ||
| 117 | const cptPeriodArr = ref([]) | ||
| 118 | const payTimeArr = ref([]) | ||
| 119 | const commitTimeArr = ref([]) | ||
| 120 | const countryList = ref([]) | ||
| 121 | const tableData = ref([{name: '111'}]) | ||
| 122 | const billList = ref([]) | ||
| 123 | const query = ref({ | ||
| 124 | pageNum: 1, | ||
| 125 | pageSize: 10 | ||
| 126 | }) | ||
| 127 | const query2 = ref({ | ||
| 128 | pageNum: 1, | ||
| 129 | pageSize: 10 | ||
| 130 | }) | ||
| 131 | const payType = ref('') | ||
| 132 | const payPop = ref(false) | ||
| 133 | const showOrganizerInfo = ref(false) | ||
| 134 | const showResult = ref(false) | ||
| 135 | const myBalance = ref('') | ||
| 136 | const nowBill = ref({}) | ||
| 137 | const org = ref({}) | ||
| 138 | const user = useUserStore().user | ||
| 139 | const group = useUserStore().group | ||
| 140 | onMounted(() => { | ||
| 141 | getBillList() | ||
| 142 | }) | ||
| 143 | const reset = (form) => { | ||
| 144 | query.value = { | ||
| 145 | pageNum: 1, | ||
| 146 | pageSize: 10 | ||
| 147 | } | ||
| 148 | query2.value = { | ||
| 149 | pageNum: 1, | ||
| 150 | pageSize: 10 | ||
| 151 | } | ||
| 152 | cptPeriodArr.value = [] | ||
| 153 | payTimeArr.value = [] | ||
| 154 | commitTimeArr.value = [] | ||
| 155 | getBillList() | ||
| 156 | } | ||
| 157 | function withDraw(n){ | ||
| 158 | match.withDrawByOrderId(n.id).then(res=>{ | ||
| 159 | getBillList() | ||
| 160 | }) | ||
| 161 | } | ||
| 162 | function continueSign(n){ | ||
| 163 | if (user.uType == '1') { | ||
| 164 | // 个人报名 | ||
| 165 | router.push({ | ||
| 166 | name: 'chooseProject', | ||
| 167 | query: { | ||
| 168 | matchId: n.cptId | ||
| 169 | } | ||
| 170 | }) | ||
| 171 | } | ||
| 172 | if (user.uType == '2'){ | ||
| 173 | // 团队报名 | ||
| 174 | router.push({ | ||
| 175 | name: 'chooseSportsman', | ||
| 176 | query: { | ||
| 177 | matchId: n.cptId, | ||
| 178 | groupId: group.id | ||
| 179 | } | ||
| 180 | }) | ||
| 181 | } | ||
| 182 | |||
| 183 | } | ||
| 184 | function goDetail(n){ | ||
| 185 | |||
| 186 | } | ||
| 187 | function getBillList() { | ||
| 188 | query2.value.payTimeRange = payTimeArr.value.toString() | ||
| 189 | query2.value.createTimeRange = commitTimeArr.value.toString() | ||
| 190 | console.log(query2.value) | ||
| 191 | match.getMyOrderList(query2.value).then(res => { | ||
| 192 | billList.value = res.rows | ||
| 193 | total2.value = res.total | ||
| 194 | }) | ||
| 195 | } | ||
| 196 | |||
| 197 | function signRow(row) { | ||
| 198 | _.assign(dialogModifySignProps.value, dialogPropsBase, { | ||
| 199 | open: true, | ||
| 200 | isView: true, | ||
| 201 | title: '报项详情', | ||
| 202 | data: {...row} | ||
| 203 | }) | ||
| 204 | } | ||
| 205 | |||
| 206 | // function getMemberInfoByCptId(cptId) { | ||
| 207 | // match.getMemberInfoByCptId(cptId).then((res) => { | ||
| 208 | // myBalance.value = res.data.balance | ||
| 209 | // }) | ||
| 210 | // } | ||
| 211 | |||
| 212 | function goPay(bill) { | ||
| 213 | console.log(bill) | ||
| 214 | payPop.value = true | ||
| 215 | nowBill.value = bill | ||
| 216 | // getMemberInfoByCptId(bill.cptId) | ||
| 217 | } | ||
| 218 | |||
| 219 | function payBill() { | ||
| 220 | if (!payType.value) { | ||
| 221 | ElMessage.error('请选择支付方式') | ||
| 222 | return | ||
| 223 | } | ||
| 224 | match.payMatch({orderId: nowBill.value.id, payType: payType.value}).then(res => { | ||
| 225 | if (payType.value == 2) { | ||
| 226 | org.value = res.data.org | ||
| 227 | showOrganizerInfo.value = true | ||
| 228 | } else if (payType.value == 1) { | ||
| 229 | // 微信 | ||
| 230 | proxy.$refs['wePayRef'].open(res.data) | ||
| 231 | } else { | ||
| 232 | showResult.value = true | ||
| 233 | } | ||
| 234 | }) | ||
| 235 | } | ||
| 236 | |||
| 237 | function billDetail(bill) { | ||
| 238 | _.assign(dialogModifyBillProps.value, dialogPropsBase, { | ||
| 239 | open: true, | ||
| 240 | isView: true, | ||
| 241 | title: '订单详情', | ||
| 242 | data: {...bill} | ||
| 243 | }) | ||
| 244 | } | ||
| 245 | |||
| 246 | function cancelBill(bill) { | ||
| 247 | ElMessageBox.confirm('确定取消订单吗?', '提示', { | ||
| 248 | confirmButtonText: '确定', | ||
| 249 | cancelButtonText: '取消', | ||
| 250 | type: 'warning' | ||
| 251 | }).then(() => { | ||
| 252 | match.cancelMyUnPayedOrder(bill.id).then(Response => { | ||
| 253 | console.log(Response.data) | ||
| 254 | // 刷新数据 | ||
| 255 | getBillList() | ||
| 256 | }) | ||
| 257 | }) | ||
| 258 | } | ||
| 259 | |||
| 260 | function downloadVoucher(row) { | ||
| 261 | proxy.download( | ||
| 262 | `/ztx-match/pdf/getPayedOrderPdf/${row.id}/${row.groupId || 0}`, {}, '报项凭证.pdf' | ||
| 263 | ) | ||
| 264 | } | ||
| 265 | </script> | ||
| 266 | |||
| 267 | <style scoped lang="scss"> | ||
| 268 | .matchItem { | ||
| 269 | cursor: pointer; | ||
| 270 | margin: 0 0 20px; | ||
| 271 | padding: 0 0 20px;background: #FBFCFD; | ||
| 272 | border-radius: 2px; | ||
| 273 | position: relative; | ||
| 274 | .status-po{position: absolute;right: 0;top: 0;font-size: 12px; | ||
| 275 | color: #FFFFFF; | ||
| 276 | span{border-radius: 0px 10px 0px 10px;padding: 4px 10px;} | ||
| 277 | .bg-danger{background: #E60012;} | ||
| 278 | .bg-pink{background: #F740A6;} | ||
| 279 | .bg-primary{background: var(--el-color-primary)} | ||
| 280 | } | ||
| 281 | &:last-child { | ||
| 282 | border-bottom: none; | ||
| 283 | } | ||
| 284 | |||
| 285 | .el-avatar { | ||
| 286 | position: absolute; | ||
| 287 | left: 20px; | ||
| 288 | top: 30px; | ||
| 289 | |||
| 290 | img { | ||
| 291 | background: #fff; | ||
| 292 | } | ||
| 293 | } | ||
| 294 | |||
| 295 | .info { | ||
| 296 | p { | ||
| 297 | font-size: 14px; | ||
| 298 | } | ||
| 299 | } | ||
| 300 | |||
| 301 | .typeTag { | ||
| 302 | position: absolute; | ||
| 303 | right: 0; | ||
| 304 | top: 0; | ||
| 305 | } | ||
| 306 | |||
| 307 | h3 { | ||
| 308 | font-weight: 500; | ||
| 309 | margin: 0 0 10px; | ||
| 310 | font-size: 18px; | ||
| 311 | color: #000000; | ||
| 312 | text-overflow: ellipsis; | ||
| 313 | } | ||
| 314 | |||
| 315 | &:hover h3 { | ||
| 316 | color: var(--el-color-primary); | ||
| 317 | } | ||
| 318 | } | ||
| 319 | |||
| 320 | .centerPrice { | ||
| 321 | text-align: center; | ||
| 322 | font-size: 26px; | ||
| 323 | margin: 20px; | ||
| 324 | |||
| 325 | span { | ||
| 326 | font-size: 40px; | ||
| 327 | font-weight: bold; | ||
| 328 | } | ||
| 329 | } | ||
| 330 | |||
| 331 | |||
| 332 | :deep(.el-tabs__nav-wrap) { | ||
| 333 | padding: 0 15px; | ||
| 334 | } | ||
| 335 | |||
| 336 | :deep(.el-radio.el-radio--large .el-radio__label) { | ||
| 337 | display: flex; | ||
| 338 | align-items: center; | ||
| 339 | |||
| 340 | img { | ||
| 341 | margin-right: 6px; | ||
| 342 | } | ||
| 343 | } | ||
| 344 | |||
| 345 | .panel-footer .el-button--success { | ||
| 346 | background: #254385; | ||
| 347 | border: none; | ||
| 348 | padding: 0 40px; | ||
| 349 | font-size: 16px; | ||
| 350 | } | ||
| 351 | |||
| 352 | .orange { | ||
| 353 | font-size: 16px; | ||
| 354 | font-style: normal; | ||
| 355 | font-weight: bold | ||
| 356 | } | ||
| 357 | |||
| 358 | .orgbox { | ||
| 359 | font-size: 16px; | ||
| 360 | line-height: 30px; | ||
| 361 | } | ||
| 362 | |||
| 363 | .el-form--inline .el-form-item { | ||
| 364 | width: auto; | ||
| 365 | } | ||
| 366 | .ppl{font-size: 14px; | ||
| 367 | label{color: #929AA0;} | ||
| 368 | } | ||
| 369 | .btnbox{text-align: right;} | ||
| 370 | </style> |
| ... | @@ -3,9 +3,6 @@ | ... | @@ -3,9 +3,6 @@ |
| 3 | <div class="funcBtns"> | 3 | <div class="funcBtns"> |
| 4 | <el-button type="primary" @click="addMember">{{ language==0?'添加选手':'Add Player'}}</el-button> | 4 | <el-button type="primary" @click="addMember">{{ language==0?'添加选手':'Add Player'}}</el-button> |
| 5 | <el-button type="primary" plain @click="importSportman">{{ language==0?'导入选手':'Import Player' }}</el-button> | 5 | <el-button type="primary" plain @click="importSportman">{{ language==0?'导入选手':'Import Player' }}</el-button> |
| 6 | <el-button type="primary" plain> | ||
| 7 | <a href="/file/sportsmanTemplate.xlsx" target="_blank">Download template</a> | ||
| 8 | </el-button> | ||
| 9 | </div> | 6 | </div> |
| 10 | <div class="from-Card"> | 7 | <div class="from-Card"> |
| 11 | <el-form :inline="true" :model="query" class="mt20" label-width="60" size="small"> | 8 | <el-form :inline="true" :model="query" class="mt20" label-width="60" size="small"> |
| ... | @@ -28,7 +25,7 @@ | ... | @@ -28,7 +25,7 @@ |
| 28 | <el-input v-model="query.idcode" style="width: 120px;" clearable/> | 25 | <el-input v-model="query.idcode" style="width: 120px;" clearable/> |
| 29 | </el-form-item> | 26 | </el-form-item> |
| 30 | <el-form-item :label="language==0?'会员角色':'Role'"> | 27 | <el-form-item :label="language==0?'会员角色':'Role'"> |
| 31 | <el-select v-model="query.label" multiple> | 28 | <el-select v-model="labelArr" multiple> |
| 32 | <el-option v-for="l in labels" :key="l.value" :value="l.value" :label="language==0?(l.label):(l.enlabel)"/> | 29 | <el-option v-for="l in labels" :key="l.value" :value="l.value" :label="language==0?(l.label):(l.enlabel)"/> |
| 33 | </el-select> | 30 | </el-select> |
| 34 | </el-form-item> | 31 | </el-form-item> |
| ... | @@ -51,7 +48,7 @@ | ... | @@ -51,7 +48,7 @@ |
| 51 | 48 | ||
| 52 | <!-- 添加人员--> | 49 | <!-- 添加人员--> |
| 53 | <addCoach ref="dialogAddCoach" @submitForm="getList"/> | 50 | <addCoach ref="dialogAddCoach" @submitForm="getList"/> |
| 54 | <Import ref="dialogImportProps"/> | 51 | <Import ref="dialogImportProps" @uploadSuccess="getList"/> |
| 55 | </template> | 52 | </template> |
| 56 | 53 | ||
| 57 | <script setup> | 54 | <script setup> |
| ... | @@ -72,6 +69,7 @@ import cache from "@/plugins/cache"; | ... | @@ -72,6 +69,7 @@ import cache from "@/plugins/cache"; |
| 72 | import useUserStore from "@/store/modules/user"; | 69 | import useUserStore from "@/store/modules/user"; |
| 73 | const language = ref(cache.local.get('language') || 0) | 70 | const language = ref(cache.local.get('language') || 0) |
| 74 | const tableData = ref([]) | 71 | const tableData = ref([]) |
| 72 | const labelArr = ref([]) | ||
| 75 | const labels = ref([ | 73 | const labels = ref([ |
| 76 | {value: '0', label: '运动员', enlabel: 'Sportsman'}, | 74 | {value: '0', label: '运动员', enlabel: 'Sportsman'}, |
| 77 | {value: '1', label: '教练', enlabel: 'Coach'}, | 75 | {value: '1', label: '教练', enlabel: 'Coach'}, |
| ... | @@ -109,6 +107,7 @@ function importSportman() { | ... | @@ -109,6 +107,7 @@ function importSportman() { |
| 109 | } | 107 | } |
| 110 | 108 | ||
| 111 | function getList() { | 109 | function getList() { |
| 110 | query.value.label =labelArr.value.toString() | ||
| 112 | getGroupPersonList(query.value, groupId.value).then(res => { | 111 | getGroupPersonList(query.value, groupId.value).then(res => { |
| 113 | tableData.value = res.rows | 112 | tableData.value = res.rows |
| 114 | total.value = res.total | 113 | total.value = res.total | ... | ... |
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | <div> | 2 | <div> |
| 3 | <el-card :body-style="{'padding':'0'}"> | 3 | <el-card :body-style="{'padding':'0'}"> |
| 4 | <div class="indexTitle"><h3 class="leftboderTT">{{ language==0?'我的预订':'My reservation' }}</h3></div> | 4 | <div class="indexTitle"><h3 class="leftboderTT">{{ language==0?'我的预订':'My reservation' }}</h3></div> |
| 5 | <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="list?.length == 0"/> | 5 | <el-empty image="@/assets/img/order_no.png" :image-size="228" v-if="list?.length == 0"/> |
| 6 | 6 | ||
| 7 | <div class="pd20"></div> | 7 | <div class="pd20"></div> |
| 8 | </el-card> | 8 | </el-card> | ... | ... |
| ... | @@ -10,7 +10,7 @@ | ... | @@ -10,7 +10,7 @@ |
| 10 | <span>{{ n.time }}</span> | 10 | <span>{{ n.time }}</span> |
| 11 | </li> | 11 | </li> |
| 12 | </ul> | 12 | </ul> |
| 13 | <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="list?.length == 0"/> | 13 | <el-empty image="@/assets/img/order_no.png" :image-size="228" v-if="list?.length == 0"/> |
| 14 | 14 | ||
| 15 | </el-card> | 15 | </el-card> |
| 16 | </div> | 16 | </div> | ... | ... |
| ... | @@ -80,7 +80,6 @@ | ... | @@ -80,7 +80,6 @@ |
| 80 | <!--赛事日历--> | 80 | <!--赛事日历--> |
| 81 | <el-card :body-style="{'padding':'20px 20px'}"> | 81 | <el-card :body-style="{'padding':'20px 20px'}"> |
| 82 | <el-calendar v-model="calendarValue" :range="calendarRange"> | 82 | <el-calendar v-model="calendarValue" :range="calendarRange"> |
| 83 | <!-- <el-calendar>--> | ||
| 84 | <template #date-cell="data"> | 83 | <template #date-cell="data"> |
| 85 | <div v-if="data.data.day.slice(8,10)==22" class="primaryDate date">22</div> | 84 | <div v-if="data.data.day.slice(8,10)==22" class="primaryDate date">22</div> |
| 86 | <div v-else class="date"> | 85 | <div v-else class="date"> |
| ... | @@ -417,8 +416,8 @@ const scores = ref([]) | ... | @@ -417,8 +416,8 @@ const scores = ref([]) |
| 417 | const nowscores = ref([]) | 416 | const nowscores = ref([]) |
| 418 | const livelist = ref([]) | 417 | const livelist = ref([]) |
| 419 | const picList = ref([]) | 418 | const picList = ref([]) |
| 420 | const calendarValue = ref('2024-07-22') | 419 | const calendarValue = ref(dayjs('2024-07-22').toDate()) |
| 421 | const calendarRange = ref(['2024-07-21','2024-07-27']) | 420 | const calendarRange = ref([dayjs('2024-07-21').toDate(),dayjs('2024-07-27').toDate()]) |
| 422 | const showgg = ref(true) | 421 | const showgg = ref(true) |
| 423 | onMounted(() => { | 422 | onMounted(() => { |
| 424 | init() | 423 | init() | ... | ... |
| ... | @@ -82,7 +82,7 @@ | ... | @@ -82,7 +82,7 @@ |
| 82 | <div class="rItem r1" @click="goRegister(1)"> | 82 | <div class="rItem r1" @click="goRegister(1)"> |
| 83 | <h3>{{language==0?'机构用户':'Organization'}}</h3> | 83 | <h3>{{language==0?'机构用户':'Organization'}}</h3> |
| 84 | </div> | 84 | </div> |
| 85 | <div class="rItem r2" @click="goRegister(0)"> | 85 | <div class="rItem r2" @click="goRegister(0)" :style="language==0?'filter:grayscale(1)':''"> |
| 86 | <h3>{{language==0?'个人用户':'Individual'}}</h3> | 86 | <h3>{{language==0?'个人用户':'Individual'}}</h3> |
| 87 | </div> | 87 | </div> |
| 88 | </div> | 88 | </div> |
| ... | @@ -293,6 +293,10 @@ function showRegister() { | ... | @@ -293,6 +293,10 @@ function showRegister() { |
| 293 | } | 293 | } |
| 294 | function goRegister(n) { | 294 | function goRegister(n) { |
| 295 | if(n==0){ | 295 | if(n==0){ |
| 296 | if(language.value==0){ | ||
| 297 | // ElMessage.warning('暂不开放国内注册!') | ||
| 298 | return | ||
| 299 | } | ||
| 296 | show.value = false | 300 | show.value = false |
| 297 | router.push({ | 301 | router.push({ |
| 298 | path: `/register/0` | 302 | path: `/register/0` | ... | ... |
| ... | @@ -3,7 +3,8 @@ | ... | @@ -3,7 +3,8 @@ |
| 3 | 3 | ||
| 4 | <div class="box ph-30"> | 4 | <div class="box ph-30"> |
| 5 | <el-card> | 5 | <el-card> |
| 6 | <team-sign-step :activeStep="activeStep" :language="language"/> | 6 | <single-sign-step v-if="user.utype=='1'" activeStep="1" :language="language"/> |
| 7 | <team-sign-step v-if="user.utype=='2'" activeStep="2" :language="language"/> | ||
| 7 | </el-card> | 8 | </el-card> |
| 8 | 9 | ||
| 9 | <el-row class="mt20" :gutter="20"> | 10 | <el-row class="mt20" :gutter="20"> |
| ... | @@ -166,17 +167,19 @@ | ... | @@ -166,17 +167,19 @@ |
| 166 | </template> | 167 | </template> |
| 167 | 168 | ||
| 168 | <script setup> | 169 | <script setup> |
| 169 | import {ref, reactive} from 'vue' | 170 | import TeamSignStep from './components/teamSignStep' |
| 171 | import SingleSignStep from './components/singleSignStep' | ||
| 172 | import {ref, reactive,toRefs} from 'vue' | ||
| 170 | import {getCurrentInstance, onMounted} from '@vue/runtime-core' | 173 | import {getCurrentInstance, onMounted} from '@vue/runtime-core' |
| 171 | import * as match from '@/apiPc/match' | 174 | import * as match from '@/apiPc/match' |
| 172 | import dialogAddCoach from './components/addCoach' | 175 | import dialogAddCoach from './components/addCoach' |
| 173 | import TeamSignStep from './components/teamSignStep' | 176 | import cache from "@/plugins/cache" |
| 174 | import cache from "@/plugins/cache" | ||
| 175 | const {proxy} = getCurrentInstance() | 177 | const {proxy} = getCurrentInstance() |
| 176 | const router = useRouter() | 178 | const router = useRouter() |
| 177 | const route = useRoute() | 179 | const route = useRoute() |
| 178 | import {ElMessage} from 'element-plus' | 180 | import {ElMessage} from 'element-plus' |
| 179 | import {useRoute, useRouter} from 'vue-router' | 181 | import {useRoute, useRouter} from 'vue-router' |
| 182 | import useUserStore from "@/store/modules/user"; | ||
| 180 | const language = ref(cache.local.get('language') || 0) | 183 | const language = ref(cache.local.get('language') || 0) |
| 181 | 184 | ||
| 182 | const data = reactive({ | 185 | const data = reactive({ |
| ... | @@ -209,17 +212,21 @@ const { | ... | @@ -209,17 +212,21 @@ const { |
| 209 | hasChooseObj,activeStep | 212 | hasChooseObj,activeStep |
| 210 | } = toRefs(data) | 213 | } = toRefs(data) |
| 211 | let matchId = '' | 214 | let matchId = '' |
| 215 | const user = useUserStore().user | ||
| 216 | const uType = ref('') | ||
| 212 | onMounted(() => { | 217 | onMounted(() => { |
| 213 | matchId = route.query.matchId | 218 | matchId = route.query.matchId |
| 214 | groupId.value = route.query.groupId | 219 | groupId.value = route.query.groupId || 0 |
| 215 | signType.value = route.query.signType || '' | 220 | signType.value = route.query.signType || '' |
| 221 | |||
| 216 | getList() | 222 | getList() |
| 217 | }) | 223 | }) |
| 218 | 224 | ||
| 219 | function getList() { | 225 | function getList() { |
| 220 | if (signType.value == '0') { | 226 | if (user.utype == '1') { |
| 221 | geren() | 227 | geren() |
| 222 | } else { | 228 | } |
| 229 | if (user.utype == '2'){ | ||
| 223 | tuandui() | 230 | tuandui() |
| 224 | } | 231 | } |
| 225 | } | 232 | } |
| ... | @@ -297,7 +304,7 @@ function chooseDone() { | ... | @@ -297,7 +304,7 @@ function chooseDone() { |
| 297 | function goNext() { | 304 | function goNext() { |
| 298 | console.log(form.value) | 305 | console.log(form.value) |
| 299 | if ((form.value.coachs.length < 1) && (form.value.leader.length < 1)) { | 306 | if ((form.value.coachs.length < 1) && (form.value.leader.length < 1)) { |
| 300 | ElMessage.error('至少选一个教练或领队') | 307 | ElMessage.error(language.value==0?'至少选一个教练或领队':'Coach/Team Leader, select at least one') |
| 301 | return | 308 | return |
| 302 | } | 309 | } |
| 303 | var obj = { | 310 | var obj = { |
| ... | @@ -315,7 +322,7 @@ function goNext() { | ... | @@ -315,7 +322,7 @@ function goNext() { |
| 315 | if (groupId.value && groupId.value != 0) { | 322 | if (groupId.value && groupId.value != 0) { |
| 316 | obj.unitId = groupId.value | 323 | obj.unitId = groupId.value |
| 317 | } | 324 | } |
| 318 | if (signType.value == '0') { | 325 | if (user.utype == '1') { |
| 319 | // 个人报名 | 326 | // 个人报名 |
| 320 | match.singleSignSavePerson(obj).then(res => { | 327 | match.singleSignSavePerson(obj).then(res => { |
| 321 | console.log(res) | 328 | console.log(res) |
| ... | @@ -326,7 +333,8 @@ function goNext() { | ... | @@ -326,7 +333,8 @@ function goNext() { |
| 326 | } | 333 | } |
| 327 | }) | 334 | }) |
| 328 | }) | 335 | }) |
| 329 | } else { | 336 | } |
| 337 | if (user.utype == '2'){ | ||
| 330 | // 团队报名 | 338 | // 团队报名 |
| 331 | match.groupSignSavePerson(obj).then(res => { | 339 | match.groupSignSavePerson(obj).then(res => { |
| 332 | router.push({ | 340 | router.push({ |
| ... | @@ -349,7 +357,7 @@ function goPrev() { | ... | @@ -349,7 +357,7 @@ function goPrev() { |
| 349 | 357 | ||
| 350 | function editPerson(id) { | 358 | function editPerson(id) { |
| 351 | proxy.$refs['dialogAddCoachRef'].open({ | 359 | proxy.$refs['dialogAddCoachRef'].open({ |
| 352 | title: '编辑人员', | 360 | title: language.value==0?'编辑人员':'Edit', |
| 353 | id: id, | 361 | id: id, |
| 354 | groupId: groupId.value | 362 | groupId: groupId.value |
| 355 | }) | 363 | }) |
| ... | @@ -357,7 +365,7 @@ function editPerson(id) { | ... | @@ -357,7 +365,7 @@ function editPerson(id) { |
| 357 | 365 | ||
| 358 | function addCoach() { | 366 | function addCoach() { |
| 359 | proxy.$refs['dialogAddCoachRef'].open({ | 367 | proxy.$refs['dialogAddCoachRef'].open({ |
| 360 | title: '新建人员', | 368 | title: language.value==0?'新建人员':'Add', |
| 361 | id: 0, | 369 | id: 0, |
| 362 | groupId: groupId.value | 370 | groupId: groupId.value |
| 363 | }) | 371 | }) | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="app-container"> | 2 | <div> |
| 3 | |||
| 4 | <div class="box ph-30"> | 3 | <div class="box ph-30"> |
| 5 | <div class="panel"> | 4 | <el-card class="mb20"> |
| 6 | <div class="panel-header"> | 5 | <single-sign-step :activeStep="2" :language="language"/> |
| 7 | <h3 class="panel-title">选择参赛项目</h3> | 6 | </el-card> |
| 8 | </div> | 7 | |
| 9 | <div class="panel-body"> | 8 | <el-card :body-style="{'padding': '0'}"> |
| 10 | 9 | <match-info-row :match-id="matchId"/> | |
| 11 | <div class="text-right mb20"> | 10 | <div class="pd20"> |
| 12 | <el-button type="success" @click="chooseProject">选择项目</el-button> | 11 | <el-row :gutter="20"> |
| 13 | </div> | 12 | <el-col :lg="4"> |
| 14 | <el-table border :data="tableData" style="width: 100%"> | 13 | <div class="panel border"> |
| 15 | <el-table-column type="index" label="序号" width="50" /> | 14 | <div class="panel-header "> |
| 16 | <el-table-column label="运动员" min-width="120"> | 15 | <h3 class="panel-title" v-if="language==0">完善我的信息</h3> |
| 17 | <template #default="scope"> | 16 | <h3 class="panel-title" v-else>My Information</h3> |
| 18 | <div class="td-flex"> | ||
| 19 | <img width="50" :src="scope.row.cptPersonInfo.picUrl"> | ||
| 20 | <div class="info"> | ||
| 21 | {{ scope.row.cptPersonInfo.realName }}({{ scope.row.cptPersonInfo.sexStr }}) | ||
| 22 | </div> | ||
| 23 | </div> | 17 | </div> |
| 24 | </template> | 18 | <div class="panel-body"> |
| 25 | </el-table-column> | 19 | <div class="chooseForm"> |
| 26 | <el-table-column label="证件号" min-width="150"> | 20 | <div @click="editPerson" style="width: 60px"> |
| 27 | <template #default="scope"> | 21 | <el-avatar fit="cover" v-if="form.picUrl" :size="60" :src="fillImgUrl(form.picUrl)"/> |
| 28 | {{ scope.row.cptPersonInfo.idcTypeStr }} | 22 | <div class="addBttn" v-else>+</div> |
| 29 | <p class="m0">{{ scope.row.cptPersonInfo.idcCode }}</p> | ||
| 30 | </template> | ||
| 31 | </el-table-column> | ||
| 32 | <el-table-column label="项目/组别/级别" min-width="150"> | ||
| 33 | <template #default="scope"> | ||
| 34 | |||
| 35 | {{ scope.row.cptProjectName }} {{ scope.row.cptGroupName }}{{ scope.row.cptLevelName }} | ||
| 36 | </template> | ||
| 37 | </el-table-column> | ||
| 38 | <el-table-column v-for="(p,index) in extraPersonInfoMapList" :key="index" :label="p.key"> | ||
| 39 | <template #default="scope"> | ||
| 40 | <el-link v-if="p.type=='2'" type="success" :herf="scope.row.extraPersonInfoMapList[index].value"> | ||
| 41 | 文件 | ||
| 42 | </el-link> | ||
| 43 | <img v-else-if="p.type=='3'" style="width: 50px;" :src="scope.row.extraPersonInfoMapList[index].value"> | ||
| 44 | <span v-else>{{ scope.row.extraPersonInfoMapList[index].value }}</span> | ||
| 45 | </template> | ||
| 46 | </el-table-column> | ||
| 47 | <el-table-column label="国籍" prop="cptPersonInfo.countryName" /> | ||
| 48 | <el-table-column label="民族" prop="cptPersonInfo.nation" /> | ||
| 49 | <el-table-column label="联系电话" min-width="110" prop="cptPersonInfo.phone" /> | ||
| 50 | <el-table-column label="出生日期" min-width="100" prop="cptPersonInfo.birth" /> | ||
| 51 | |||
| 52 | <el-table-column v-if="coachOrLeaderFlag==1" label="教练"> | ||
| 53 | <template #default="scope"> | ||
| 54 | <div class="hand" @click="chooseCoach">{{ scope.row.coachNames }}</div> | ||
| 55 | </template> | ||
| 56 | </el-table-column> | ||
| 57 | <el-table-column v-if="coachOrLeaderFlag==1" label="领队"> | ||
| 58 | <template #default="scope"> | ||
| 59 | <div class="hand" @click="chooseCoach">{{ scope.row.leaderNames }}</div> | ||
| 60 | </template> | ||
| 61 | </el-table-column> | ||
| 62 | |||
| 63 | <el-table-column label="操作" align="center" fixed="right" width="100"> | ||
| 64 | <template #default="scope"> | ||
| 65 | <!-- <el-button type="text">编辑</el-button>--> | ||
| 66 | <el-button type="text" @click="removeThis(scope.row)">删除</el-button> | ||
| 67 | </template> | ||
| 68 | </el-table-column> | ||
| 69 | </el-table> | ||
| 70 | 23 | ||
| 24 | <div class="text-center mt10"> | ||
| 25 | <span v-if="form.shortName">{{form.shortName}}</span> | ||
| 26 | <el-icon> | ||
| 27 | <Edit/> | ||
| 28 | </el-icon> | ||
| 29 | </div> | ||
| 71 | 30 | ||
| 31 | </div> | ||
| 32 | |||
| 33 | </div> | ||
| 34 | </div> | ||
| 35 | </div> | ||
| 36 | </el-col> | ||
| 37 | |||
| 38 | <el-col :lg="20"> | ||
| 39 | <div class="panel border"> | ||
| 40 | <div class="panel-header "> | ||
| 41 | <h3 class="panel-title" v-if="language==0">可参与报名的项目</h3> | ||
| 42 | <h3 class="panel-title" v-else>Eligible Events for Registration</h3> | ||
| 43 | <div class="fr"> | ||
| 44 | <el-input size="small" v-model="projectQuery.name" :prefix-icon="Search" @change="getProjectList" | ||
| 45 | clearable/> | ||
| 46 | </div> | ||
| 47 | </div> | ||
| 48 | <div v-loading="loadingProject" style="min-height: 200px;max-height: 60vh"> | ||
| 49 | <el-checkbox-group v-model="projectIds"> | ||
| 50 | <el-checkbox class="flexBetweenBox" v-for="c in projectList" :label="c.id" :key="c.id"> | ||
| 51 | <div class="flexBetween w100"> | ||
| 52 | <div class="l"> | ||
| 53 | {{ c.code }}:{{ c.name }} | ||
| 54 | <div>{{ c.danceTypeDetailStr }}</div> | ||
| 55 | </div> | ||
| 56 | <div class="text-primary">¥{{ c.serviceFee }}</div> | ||
| 57 | </div> | ||
| 58 | </el-checkbox> | ||
| 59 | </el-checkbox-group> | ||
| 60 | <el-empty v-if="projectList.length==0" image="@/assets/img/order_no.png" :image-size="228" | ||
| 61 | :description="language==0?'无可选项目':''"/> | ||
| 62 | </div> | ||
| 63 | </div> | ||
| 64 | </el-col> | ||
| 65 | </el-row> | ||
| 72 | </div> | 66 | </div> |
| 73 | <div class="panel-footer text-center"> | 67 | <el-row class="mt20"> |
| 74 | <el-button type="success" plain round @click="goPrev()">上一步</el-button> | 68 | <el-col :span="24"> |
| 75 | <el-button type="success" round @click="submitForm()">下一步</el-button> | 69 | <div class="text-center"> |
| 70 | <el-button type="primary" class="btn-lineG w200px" round @click="signUp"> | ||
| 71 | {{ language == 0 ? '确定' : 'Confirm' }} | ||
| 72 | </el-button> | ||
| 73 | </div> | ||
| 74 | </el-col> | ||
| 75 | </el-row> | ||
| 76 | |||
| 77 | <div class="m20"> | ||
| 78 | <!-- <el-button type="success" @click="importSportman">批量导入人员</el-button>--> | ||
| 79 | <!-- <el-button type="success" @click="addCoach">新增运动员</el-button>--> | ||
| 80 | <div class="ttbb"> | ||
| 81 | <div :class="tableType==1 ? 'active' : ''" @click="switchTabletype"> | ||
| 82 | {{ language == 0 ? '按组别查看报项' : 'View Entries by Group' }} | ||
| 83 | </div> | ||
| 84 | <div :class="tableType==0 ? 'active' : ''" @click="switchTabletype"> | ||
| 85 | {{ language == 0 ? '按人员查看报项' : 'View Entries by Participant' }} | ||
| 86 | </div> | ||
| 87 | </div> | ||
| 88 | <sign-info-table v-if="tableType==0" :match-id="matchId" | ||
| 89 | :extraform="extraform" :language="language" :list="signInfoList" | ||
| 90 | @editExtra="goPersonInfo"/> | ||
| 91 | <zu-table v-else :list="zuTableList" :language="language" @delete="removeThis"/> | ||
| 92 | <div class="text-center mt20"> | ||
| 93 | <el-button type="primary" class="" plain round @click="submitForm(0)">{{ language==0?'保存暂不提交审核':'Save, Do Not Submit for Review Yet' }}</el-button> | ||
| 94 | <el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)">{{ language==0?'提交审核':'Submit for review' }}</el-button> | ||
| 95 | </div> | ||
| 76 | </div> | 96 | </div> |
| 77 | </div> | 97 | </el-card> |
| 78 | </div> | 98 | </div> |
| 79 | 99 | ||
| 80 | <dialogProjectList ref="dialogProjectListRef" @submitForm="getMySignInfo" /> | 100 | <dialogAddCoach ref="dialogAddCoachRef" @submitForm="getProjectList"/> |
| 101 | |||
| 81 | 102 | ||
| 82 | <el-dialog v-model="showResult" :close-on-click-modal="false" :show-close="false"> | 103 | <!-- <dialogChangeCoach ref="popChangeCoach" @submitForm="getMySignInfo"/>--> |
| 83 | <el-result | ||
| 84 | icon="success" | ||
| 85 | title="报名成功" | ||
| 86 | > | ||
| 87 | <template #extra> | ||
| 88 | <el-button type="primary" @click="downloadVoucher">下载凭证</el-button> | ||
| 89 | <el-button type="primary" @click="goMySign">查看报项</el-button> | ||
| 90 | </template> | ||
| 91 | </el-result> | ||
| 92 | 104 | ||
| 93 | </el-dialog> | 105 | <dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList"/> |
| 94 | </div> | 106 | </div> |
| 95 | </template> | 107 | </template> |
| 96 | 108 | ||
| 97 | <script setup> | 109 | <script setup> |
| 98 | import { ref, reactive } from 'vue' | 110 | import {ref, reactive, toRefs} from 'vue' |
| 99 | import { getCurrentInstance, onMounted } from '@vue/runtime-core' | ||
| 100 | import * as match from '@/apiPc/match' | 111 | import * as match from '@/apiPc/match' |
| 101 | import dialogProjectList from './components/sportsmanList' | 112 | import {getCurrentInstance, onMounted} from '@vue/runtime-core' |
| 102 | import { useRoute, useRouter } from 'vue-router' | 113 | import dialogAddCoach from './components/addCoach' |
| 103 | 114 | import dialogSportsmanList from './components/sportsmanList' | |
| 104 | const { proxy } = getCurrentInstance() | 115 | import dialogAllSportsmanList from './components/allSportsmanList' |
| 116 | import dialogChangeCoach from './components/changeCoach' | ||
| 117 | import dialogExtraForm from './components/extraForm' | ||
| 118 | import dialogMates from './components/dialogMates' | ||
| 119 | import {Search, Switch} from "@element-plus/icons-vue"; | ||
| 120 | |||
| 121 | const {proxy} = getCurrentInstance() | ||
| 105 | const router = useRouter() | 122 | const router = useRouter() |
| 106 | const route = useRoute() | 123 | const route = useRoute() |
| 107 | import { ElMessage, ElMessageBox } from 'element-plus' | 124 | import _ from 'lodash' |
| 125 | import {ElMessage, ElMessageBox} from 'element-plus' | ||
| 126 | import cache from "@/plugins/cache" | ||
| 127 | import TeamSignStep from "@/viewsPc/match/components/teamSignStep" | ||
| 128 | import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row" | ||
| 129 | import SignInfoTable from "@/viewsPc/match/components/signInfo-table" | ||
| 130 | import ZuTable from '@/viewsPc/match/components/zu-table' | ||
| 131 | import SingleSignStep from "@/viewsPc/match/components/singleSignStep"; | ||
| 132 | import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row"; | ||
| 133 | import useUserStore from "@/store/modules/user"; | ||
| 134 | const language = ref(cache.local.get('language') || 0) | ||
| 108 | 135 | ||
| 109 | let signInfoType | ||
| 110 | const data = reactive({ | 136 | const data = reactive({ |
| 137 | coachForm: {}, activeStep: 2, | ||
| 111 | tableData: [], | 138 | tableData: [], |
| 139 | signInfoList: [], | ||
| 140 | zuTableList: [], | ||
| 141 | choosedList: [], | ||
| 112 | extraPersonInfoMapList: [], | 142 | extraPersonInfoMapList: [], |
| 113 | matchId: '', | 143 | teamList: [], |
| 114 | showResult: false | 144 | extraform: [], |
| 145 | groupId: 0, | ||
| 146 | signType: '', | ||
| 147 | coachOrLeaderFlag: null, | ||
| 148 | noPhotoCanSign: null, | ||
| 149 | showResult: false, | ||
| 150 | showExtraForm: false, | ||
| 151 | loadingProject: false, | ||
| 152 | extraTableHead: [], | ||
| 153 | activeTeam: '', | ||
| 154 | names: {}, | ||
| 155 | choosedchoosed: [], | ||
| 156 | projectIds: [], | ||
| 157 | projectList: [], | ||
| 158 | choosed2List: [], projectQuery: {}, tableType: 1, | ||
| 115 | }) | 159 | }) |
| 116 | const { tableData, extraPersonInfoMapList, matchId, showResult } = toRefs(data) | 160 | const { |
| 117 | 161 | activeTeam, names, tableData, signInfoList, zuTableList, choosedList, showExtraForm, extraPersonInfoMapList, teamList, | |
| 118 | let chargeFlag | 162 | extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, extraTableHead, |
| 119 | const coachOrLeaderFlag = ref('') | 163 | coachForm, projectIds, choosedchoosed, activeStep, projectList, choosed2List, loadingProject, projectQuery, tableType |
| 120 | let noPhotoCanSign | 164 | } = toRefs(data) |
| 165 | const matchId = ref(route.query.matchId) | ||
| 166 | let signInfoType = null | ||
| 167 | const form = ref({}) | ||
| 168 | const userId = ref('') | ||
| 169 | const myId = ref('') | ||
| 121 | onMounted(() => { | 170 | onMounted(() => { |
| 122 | matchId.value = route.query.matchId | 171 | if(useUserStore().user){ |
| 172 | userId.value = useUserStore().user.userId | ||
| 173 | } | ||
| 174 | signType.value = route.query.signType | ||
| 175 | getSignInfoList() | ||
| 176 | getMatch(matchId.value) | ||
| 177 | getMyInfo() | ||
| 178 | |||
| 123 | getMySignInfo() | 179 | getMySignInfo() |
| 124 | getMatch() | ||
| 125 | getMyself() | ||
| 126 | }) | 180 | }) |
| 181 | function getMyInfo(){ | ||
| 182 | match.getMyPersonInfo().then(res => { | ||
| 183 | form.value = res.data | ||
| 184 | myId.value = res.data.id | ||
| 185 | getProjectList() | ||
| 186 | }) | ||
| 187 | } | ||
| 188 | let chargeFlag | ||
| 127 | 189 | ||
| 128 | function getMatch() { | 190 | function getMatch(id) { |
| 129 | match.getMatchById({ | 191 | match.getMatchById({ |
| 130 | id: matchId.value | 192 | id: id |
| 131 | }).then(res => { | 193 | }).then(res => { |
| 132 | chargeFlag = res.data.chargeFlag | 194 | chargeFlag = res.data.chargeFlag |
| 195 | noPhotoCanSign.value = res.data.noPhotoCanSign | ||
| 133 | coachOrLeaderFlag.value = res.data.coachOrLeaderFlag | 196 | coachOrLeaderFlag.value = res.data.coachOrLeaderFlag |
| 134 | noPhotoCanSign = res.data.noPhotoCanSign | 197 | extraform.value = JSON.parse(res.data.participantsInfo) |
| 135 | }) | 198 | }) |
| 136 | } | 199 | } |
| 137 | 200 | ||
| 138 | function getMySignInfo() { | 201 | function getMySignInfo() { |
| 139 | match.getMySignInfo({ cptId: matchId.value, groupId: '' }).then(res => { | 202 | // 获取已报 |
| 140 | console.log(res.data) | 203 | match.getMySignInfo({ |
| 141 | signInfoType = res.data.type | 204 | cptId: matchId.value, |
| 142 | if (!res.data.signInfo) { | 205 | groupId: 0 |
| 143 | tableData.value = [] | 206 | }).then(res => { |
| 144 | return | ||
| 145 | } | ||
| 146 | tableData.value = res.data.signInfo | 207 | tableData.value = res.data.signInfo |
| 147 | extraPersonInfoMapList.value = res.data.signInfo[0]?.extraPersonInfoMapList | 208 | signInfoType = res.data.type |
| 148 | }) | 209 | }) |
| 149 | } | 210 | } |
| 150 | 211 | ||
| 151 | let personId | 212 | function getSignInfoList() { |
| 152 | const getMyself = () => { | 213 | match.getMySignInfoList({ |
| 153 | match.getMyPersonInfo().then(res => { | 214 | cptId: matchId.value, |
| 154 | personId = res.data.id | 215 | groupId: 0 |
| 216 | }).then(res => { | ||
| 217 | signInfoList.value = res.data.singleData || [] | ||
| 218 | zuTableList.value = res.data.zuData || [] | ||
| 155 | }) | 219 | }) |
| 156 | } | 220 | } |
| 157 | 221 | ||
| 158 | function submitForm() { | 222 | |
| 223 | |||
| 224 | function submitForm(n) { | ||
| 159 | if (signInfoType == '1') { | 225 | if (signInfoType == '1') { |
| 160 | ElMessageBox.confirm('已报项,前往我的报项', '提示', { | 226 | ElMessageBox.confirm('已报项,前往我的报项', '提示', { |
| 161 | confirmButtonText: '确定', | 227 | confirmButtonText: '确定', |
| 162 | cancelButtonText: '取消', | 228 | cancelButtonText: '取消', |
| 163 | type: 'warning' | 229 | type: 'warning' |
| 164 | }).then(() => { | 230 | }).then(() => { |
| 165 | router.push({ name: 'myMatch' }) | 231 | router.push({name: 'myMatch'}) |
| 166 | }) | 232 | }) |
| 167 | return | 233 | return |
| 168 | } | 234 | } |
| 169 | if (signInfoType == '2') { | 235 | if(n==0){ |
| 170 | match.recoverMySign({ cptId: matchId.value }).then(res => { | 236 | ElMessageBox.confirm(`您当前的操作为暂存,并不是提交审核,必须在报名截止时间XXXX-XX-XX之前完成提交。\n` + |
| 171 | if (res.msg.indexOf('Exception:') > -1) { | 237 | '\n' + |
| 172 | const msg = res.msg.slice(10) | 238 | '您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。','提示',{ |
| 173 | ElMessageBox.confirm(msg, '提示', { | 239 | confirmButtonText: '去个人中心', |
| 174 | confirmButtonText: '确定', | 240 | cancelButtonText: '知道了', |
| 175 | cancelButtonText: '取消', | 241 | type: 'warning' |
| 176 | type: 'warning' | 242 | }).then((res)=>{ |
| 177 | }).then(() => { | 243 | console.log(res) |
| 178 | console.log('用户点击确定') | 244 | router.push({name: 'myMatch'}) |
| 179 | }) | ||
| 180 | return | ||
| 181 | } else { | ||
| 182 | afterRecover() | ||
| 183 | } | ||
| 184 | }) | 245 | }) |
| 185 | } else { | 246 | } else { |
| 186 | afterRecover() | 247 | if (extraform.value && extraform.value.length > 0) { |
| 187 | } | 248 | let needBuchong = false |
| 188 | } | 249 | for (const e of extraform.value) { |
| 250 | if (e.status == '0') { | ||
| 251 | needBuchong = true | ||
| 252 | } | ||
| 253 | } | ||
| 254 | for (const s of signInfoList.value) { | ||
| 255 | if (s.extraPersonInfo == null && needBuchong) { | ||
| 256 | ElMessage.error('请完善运动员补充信息') | ||
| 257 | tableType.value = 0 | ||
| 258 | return | ||
| 259 | } | ||
| 260 | } | ||
| 189 | 261 | ||
| 190 | function afterRecover() { | 262 | commit() |
| 191 | if (tableData.value.length == 0) { | ||
| 192 | ElMessage.error('请至少选择一个项目') | ||
| 193 | return | ||
| 194 | } | ||
| 195 | // 判断是否收费 | ||
| 196 | if (chargeFlag == '0') { | ||
| 197 | var obj = { | ||
| 198 | cptId: matchId.value, | ||
| 199 | groupId: '' | ||
| 200 | } | 263 | } |
| 201 | match.commitSign(obj).then(res => { | 264 | |
| 202 | console.log(res.data) | 265 | } |
| 203 | showResult.value = true | 266 | } |
| 204 | }) | 267 | function commit() { |
| 205 | } else { | 268 | match.commitSign({ |
| 206 | // 生成账单 | 269 | groupId: 0, |
| 270 | cptId: matchId.value | ||
| 271 | }).then(res=>{ | ||
| 207 | router.push({ | 272 | router.push({ |
| 208 | name: 'expenseDetails', | 273 | name:`commitDone`, |
| 209 | query: { | 274 | params: { |
| 210 | personId: personId | 275 | orderId: res.data |
| 211 | } | 276 | } |
| 212 | }) | 277 | }) |
| 213 | } | ||
| 214 | } | ||
| 215 | |||
| 216 | function goMySign() { | ||
| 217 | router.push({ | ||
| 218 | name: 'myMatch' | ||
| 219 | }) | 278 | }) |
| 220 | } | 279 | } |
| 221 | 280 | ||
| 222 | function goPrev() { | 281 | function getProjectList() { |
| 223 | router.go(-1) | 282 | projectIds.value = [] |
| 283 | loadingProject.value = true | ||
| 284 | //根据已选人员id 获取项目列表 | ||
| 285 | var obj = { | ||
| 286 | cptId: matchId.value, | ||
| 287 | perIds: myId.value | ||
| 288 | } | ||
| 289 | match.getProjectPageByPerIds(obj).then(res => { | ||
| 290 | projectList.value = res.rows | ||
| 291 | loadingProject.value = false | ||
| 292 | }).catch(err => { | ||
| 293 | loadingProject.value = false | ||
| 294 | ElMessage.error(err.msg) | ||
| 295 | }) | ||
| 224 | } | 296 | } |
| 225 | 297 | ||
| 226 | function chooseProject() { | 298 | function addCoach() { |
| 227 | if (signInfoType == '2') { | 299 | if (signInfoType == '2') { |
| 228 | match.recoverMySign({ cptId: matchId.value }).then(res => { | 300 | match.recoverMySign({ |
| 301 | cptId: matchId.value, | ||
| 302 | groupId: groupId.value | ||
| 303 | }).then(res => { | ||
| 229 | if (res.msg.indexOf('Exception:') > -1) { | 304 | if (res.msg.indexOf('Exception:') > -1) { |
| 230 | const msg = res.msg.slice(10) | 305 | const msg = res.msg.slice(10) |
| 231 | ElMessageBox.confirm(msg).then(() => { | 306 | ElMessageBox.confirm(msg, '提示', { |
| 307 | confirmButtonText: '确定', | ||
| 308 | cancelButtonText: '取消', | ||
| 309 | type: 'warning' | ||
| 310 | }).then(() => { | ||
| 232 | console.log('用户点击确定') | 311 | console.log('用户点击确定') |
| 233 | }) | 312 | }) |
| 234 | return | 313 | return |
| ... | @@ -236,47 +315,134 @@ function chooseProject() { | ... | @@ -236,47 +315,134 @@ function chooseProject() { |
| 236 | getMySignInfo() | 315 | getMySignInfo() |
| 237 | }) | 316 | }) |
| 238 | } | 317 | } |
| 239 | match.getMyPersonInfo().then(res => { | 318 | const params = { |
| 240 | console.log(res.data) | 319 | title: '新增运动员', |
| 241 | const params = { | 320 | id: 0, |
| 242 | title: '选择项目', | 321 | groupId: groupId.value |
| 243 | matchId: matchId.value, | 322 | } |
| 244 | groupId: 0, | 323 | proxy.$refs['dialogAddCoachRef'].open(params) |
| 245 | personal: res.data, | 324 | } |
| 246 | signType: 0, | 325 | |
| 247 | noPhotoCanSign: noPhotoCanSign, | 326 | |
| 248 | coachOrLeaderFlag: coachOrLeaderFlag.value | 327 | function signUp() { |
| 249 | } | 328 | if (projectIds.value.length == 0) { |
| 250 | proxy.$refs['dialogProjectListRef'].open(params) | 329 | return |
| 330 | } | ||
| 331 | const obj = { | ||
| 332 | athleteIds:myId.value, | ||
| 333 | projectIds: projectIds.value.toString(), | ||
| 334 | groupId: groupId.value | ||
| 335 | } | ||
| 336 | match.sportsmanDone(obj).then(res => { | ||
| 337 | getSignInfoList() | ||
| 338 | getProjectList() | ||
| 251 | }) | 339 | }) |
| 252 | } | 340 | } |
| 253 | 341 | ||
| 254 | function removeThis(p) { | 342 | function removeThis(id) { |
| 255 | ElMessageBox.confirm('确定移除这条报项吗?', '提示', { | 343 | ElMessageBox.confirm('确定移除这条报项吗?', '提示', { |
| 256 | confirmButtonText: '确定', | 344 | confirmButtonText: '确定', |
| 257 | cancelButtonText: '取消', | 345 | cancelButtonText: '取消', |
| 258 | type: 'warning' | 346 | type: 'warning' |
| 259 | }).then(() => { | 347 | }).then(() => { |
| 260 | match.deleteSign(p.id).then(res => { | 348 | match.deleteSign(id).then(res => { |
| 261 | // 重新获取已报名信息 | 349 | // 重新获取已报名信息 |
| 262 | ElMessage.success('已移除该报项') | 350 | ElMessage.success('已移除该报项') |
| 263 | getMySignInfo() | 351 | getSignInfoList() |
| 264 | }) | 352 | }) |
| 265 | }) | 353 | }) |
| 266 | } | 354 | } |
| 267 | 355 | ||
| 268 | function chooseCoach() { | 356 | function changeCoach(cptId, groupId) { |
| 269 | // goPrev() | 357 | // 更换教练 |
| 358 | const params = { | ||
| 359 | title: '修改教练', | ||
| 360 | groupId: groupId, | ||
| 361 | cptId: cptId | ||
| 362 | } | ||
| 363 | proxy.$refs['popChangeCoach'].open(params) | ||
| 364 | } | ||
| 365 | |||
| 366 | |||
| 367 | function goMySign() { | ||
| 368 | router.push({ | ||
| 369 | name: 'myMatch' | ||
| 370 | }) | ||
| 371 | } | ||
| 372 | |||
| 373 | const goPersonInfo = (row) => { | ||
| 374 | if (signInfoType == '1') { | ||
| 375 | ElMessageBox.alert('已报项,前往我的报项', '提示', { | ||
| 376 | confirmButtonText: 'OK', | ||
| 377 | callback: (Action) => { | ||
| 378 | router.push({name: 'myMatch'}) | ||
| 379 | } | ||
| 380 | }) | ||
| 381 | return | ||
| 382 | } | ||
| 383 | // 完善补充信息 | ||
| 384 | console.log(row) | ||
| 385 | // debugger | ||
| 386 | const params = { | ||
| 387 | title: '完善补充信息', | ||
| 388 | participantsInfoArr: extraform.value, | ||
| 389 | personId: row.personInfo.id, | ||
| 390 | extraId: row.extraPersonInfo?.id || 0 | ||
| 391 | } | ||
| 392 | proxy.$refs['popExtraForm'].open(_.cloneDeep(params)) | ||
| 270 | } | 393 | } |
| 271 | 394 | ||
| 272 | function downloadVoucher() { | 395 | function downloadVoucher() { |
| 396 | // 下载凭证 | ||
| 273 | proxy.download( | 397 | proxy.download( |
| 274 | `/pdf/getPayedOrderPdf/${matchId.value}/0`, {}, '报项凭证.pdf' | 398 | `/pdf/getPayedOrderPdf/${matchId.value}/${groupId.value || 0}`, {}, '报项凭证.pdf' |
| 275 | ) | 399 | ) |
| 276 | } | 400 | } |
| 401 | |||
| 402 | function editPerson() { | ||
| 403 | proxy.$refs['dialogAddCoachRef'].open({ | ||
| 404 | title: '编辑人员', | ||
| 405 | uType: '1' | ||
| 406 | }) | ||
| 407 | } | ||
| 408 | |||
| 409 | function switchTabletype() { | ||
| 410 | if (tableType.value == 0) { | ||
| 411 | tableType.value = 1 | ||
| 412 | } else { | ||
| 413 | tableType.value = 0 | ||
| 414 | } | ||
| 415 | } | ||
| 277 | </script> | 416 | </script> |
| 278 | 417 | ||
| 279 | <style scoped lang="scss"> | 418 | <style scoped lang="scss"> |
| 419 | :deep(.el-checkbox__label) { | ||
| 420 | flex: 1 1 auto; | ||
| 421 | } | ||
| 422 | |||
| 423 | .flexBetweenBox { | ||
| 424 | width: 100%; | ||
| 425 | height: auto; | ||
| 426 | border-bottom: 1px solid #eee; | ||
| 427 | padding: 0 10px; | ||
| 428 | } | ||
| 429 | |||
| 430 | .flexBetweenBox:nth-child(odd) { | ||
| 431 | background: #FAFBFD; | ||
| 432 | } | ||
| 433 | |||
| 434 | .flexBetween { | ||
| 435 | padding: 10px; | ||
| 436 | border-left: 1px solid #eee; | ||
| 437 | |||
| 438 | .l { | ||
| 439 | div { | ||
| 440 | margin: 4px 0 0; | ||
| 441 | color: #999; | ||
| 442 | } | ||
| 443 | } | ||
| 444 | } | ||
| 445 | |||
| 280 | .app-container { | 446 | .app-container { |
| 281 | padding: 0; | 447 | padding: 0; |
| 282 | background: #F5F7F9; | 448 | background: #F5F7F9; |
| ... | @@ -295,6 +461,29 @@ function downloadVoucher() { | ... | @@ -295,6 +461,29 @@ function downloadVoucher() { |
| 295 | color: #2ED981; | 461 | color: #2ED981; |
| 296 | } | 462 | } |
| 297 | 463 | ||
| 464 | .hasChoose { | ||
| 465 | margin: 0 0 20px; | ||
| 466 | display: flex; | ||
| 467 | justify-content: space-between; | ||
| 468 | |||
| 469 | button { | ||
| 470 | position: relative; | ||
| 471 | margin: 10px; | ||
| 472 | } | ||
| 473 | |||
| 474 | .choseItem { | ||
| 475 | margin: 10px; | ||
| 476 | position: relative; | ||
| 477 | |||
| 478 | .poClose { | ||
| 479 | position: absolute; | ||
| 480 | right: -6px; | ||
| 481 | top: -12px; | ||
| 482 | z-index: 1; | ||
| 483 | } | ||
| 484 | } | ||
| 485 | } | ||
| 486 | |||
| 298 | .chooseForm { | 487 | .chooseForm { |
| 299 | :deep(.el-form-item__content) { | 488 | :deep(.el-form-item__content) { |
| 300 | background: rgba(245, 247, 249, 0.38); | 489 | background: rgba(245, 247, 249, 0.38); |
| ... | @@ -303,6 +492,7 @@ function downloadVoucher() { | ... | @@ -303,6 +492,7 @@ function downloadVoucher() { |
| 303 | 492 | ||
| 304 | .el-checkbox { | 493 | .el-checkbox { |
| 305 | height: auto; | 494 | height: auto; |
| 495 | margin-right: 20px; | ||
| 306 | } | 496 | } |
| 307 | 497 | ||
| 308 | :deep(.el-checkbox__input) { | 498 | :deep(.el-checkbox__input) { |
| ... | @@ -316,14 +506,66 @@ function downloadVoucher() { | ... | @@ -316,14 +506,66 @@ function downloadVoucher() { |
| 316 | } | 506 | } |
| 317 | } | 507 | } |
| 318 | 508 | ||
| 319 | .td-flex { | 509 | :deep(.el-avatar) > img { |
| 320 | display: flex; | 510 | width: 100%; |
| 321 | align-items: center; | 511 | } |
| 512 | |||
| 513 | .panel { | ||
| 514 | height: 100%; | ||
| 515 | } | ||
| 322 | 516 | ||
| 323 | .info { | 517 | .border-info { |
| 324 | padding-left: 10px; | 518 | .item { |
| 519 | margin: 5px 0; | ||
| 520 | color: #4C5359; | ||
| 325 | font-size: 14px; | 521 | font-size: 14px; |
| 522 | |||
| 523 | label { | ||
| 524 | font-size: 14px; | ||
| 525 | margin-right: 14px | ||
| 526 | } | ||
| 326 | } | 527 | } |
| 327 | } | 528 | } |
| 328 | 529 | ||
| 530 | .ttbb { | ||
| 531 | font-size: 14px; | ||
| 532 | color: #4C5359; | ||
| 533 | display: flex; | ||
| 534 | justify-content: center; | ||
| 535 | |||
| 536 | div { | ||
| 537 | padding: 20px; | ||
| 538 | position: relative; | ||
| 539 | cursor: pointer; | ||
| 540 | } | ||
| 541 | |||
| 542 | div:first-child::after { | ||
| 543 | content: ''; | ||
| 544 | position: absolute; | ||
| 545 | right: 0; | ||
| 546 | background: #ccc; | ||
| 547 | width: 1px; | ||
| 548 | height: 14px; | ||
| 549 | top: 0; | ||
| 550 | bottom: 0; | ||
| 551 | margin: auto; | ||
| 552 | } | ||
| 553 | |||
| 554 | .active { | ||
| 555 | color: var(--el-color-primary); | ||
| 556 | |||
| 557 | &::before { | ||
| 558 | width: 33px; | ||
| 559 | content: ''; | ||
| 560 | position: absolute; | ||
| 561 | height: 2px; | ||
| 562 | bottom: 14px; | ||
| 563 | left: 0; | ||
| 564 | right: 0; | ||
| 565 | margin: auto; | ||
| 566 | background: #453DEA; | ||
| 567 | border-radius: 1px; | ||
| 568 | } | ||
| 569 | } | ||
| 570 | } | ||
| 329 | </style> | 571 | </style> | ... | ... |
| ... | @@ -72,9 +72,9 @@ | ... | @@ -72,9 +72,9 @@ |
| 72 | clearable/> | 72 | clearable/> |
| 73 | </div> | 73 | </div> |
| 74 | </div> | 74 | </div> |
| 75 | <div class="panel-body" v-loading="loadingProject"> | 75 | <div v-loading="loadingProject"> |
| 76 | <el-checkbox-group v-model="projectIds"> | 76 | <el-checkbox-group v-model="projectIds"> |
| 77 | <el-checkbox class="w100" v-for="c in projectList" :label="c.id" :key="c.id"> | 77 | <el-checkbox class="flexBetweenBox" v-for="c in projectList" :label="c.id" :key="c.id"> |
| 78 | <div class="flexBetween w100"> | 78 | <div class="flexBetween w100"> |
| 79 | <div class="l"> | 79 | <div class="l"> |
| 80 | {{ c.code }}:{{ c.name }} | 80 | {{ c.code }}:{{ c.name }} |
| ... | @@ -84,7 +84,7 @@ | ... | @@ -84,7 +84,7 @@ |
| 84 | </div> | 84 | </div> |
| 85 | </el-checkbox> | 85 | </el-checkbox> |
| 86 | </el-checkbox-group> | 86 | </el-checkbox-group> |
| 87 | <el-empty v-if="projectList.length==0" image="@/assets/img/order_no.png" image-size="228" | 87 | <el-empty v-if="projectList.length==0" image="@/assets/img/order_no.png" :image-size="228" |
| 88 | :description="language==0?'无可选项目':''"/> | 88 | :description="language==0?'无可选项目':''"/> |
| 89 | </div> | 89 | </div> |
| 90 | </div> | 90 | </div> |
| ... | @@ -102,119 +102,30 @@ | ... | @@ -102,119 +102,30 @@ |
| 102 | </el-card> | 102 | </el-card> |
| 103 | 103 | ||
| 104 | <el-card class="mt20" :body-style="{'padding': '0'}"> | 104 | <el-card class="mt20" :body-style="{'padding': '0'}"> |
| 105 | <coach-info-row :names="names" :language="language"/> | 105 | <coach-info-row :match-id="matchId" :group-id="groupId" :language="language"/> |
| 106 | <div class="m20"> | 106 | <div class="m20"> |
| 107 | |||
| 108 | <!-- <el-button type="success" @click="importSportman">批量导入人员</el-button>--> | 107 | <!-- <el-button type="success" @click="importSportman">批量导入人员</el-button>--> |
| 109 | <!-- <el-button type="success" @click="addCoach">新增运动员</el-button>--> | 108 | <!-- <el-button type="success" @click="addCoach">新增运动员</el-button>--> |
| 110 | <div class="ttbb"> | 109 | <div class="ttbb"> |
| 111 | <div :class="tableType==1 ? 'active' : ''" @click="switchTabletype">{{ language == 0 ? '按组别查看报项' : 'View Entries by Group' }}</div> | 110 | <div :class="tableType==1 ? 'active' : ''" @click="switchTabletype"> |
| 112 | <div :class="tableType==0 ? 'active' : ''" @click="switchTabletype">{{ language == 0 ? '按人员查看报项' : 'View Entries by Participant' }}</div> | 111 | {{ language == 0 ? '按组别查看报项' : 'View Entries by Group' }} |
| 112 | </div> | ||
| 113 | <div :class="tableType==0 ? 'active' : ''" @click="switchTabletype"> | ||
| 114 | {{ language == 0 ? '按人员查看报项' : 'View Entries by Participant' }} | ||
| 115 | </div> | ||
| 113 | </div> | 116 | </div> |
| 114 | <!-- <div class="fr mb20" @click="switchTabletype">--> | 117 | <!-- <div class="fr mb20" @click="switchTabletype">--> |
| 115 | <!-- <el-button plain type="primary" :icon="Switch" v-if="tableType==1">--> | 118 | <!-- <el-button plain type="primary" :icon="Switch" v-if="tableType==1">--> |
| 116 | <!-- {{ language == 0 ? '按人员查看报项' : 'View Entries by Participant' }}--> | 119 | <!-- {{ language == 0 ? '按人员查看报项' : 'View Entries by Participant' }}--> |
| 117 | <!-- </el-button>--> | 120 | <!-- </el-button>--> |
| 118 | <!-- <el-button plain type="primary" :icon="Switch" v-else>--> | 121 | <!-- <el-button plain type="primary" :icon="Switch" v-else>--> |
| 119 | <!-- {{ language == 0 ? '按组别查看报项' : 'View Entries by Group' }}--> | 122 | <!-- {{ language == 0 ? '按组别查看报项' : 'View Entries by Group' }}--> |
| 120 | <!-- </el-button>--> | 123 | <!-- </el-button>--> |
| 121 | <!-- </div>--> | 124 | <!-- </div>--> |
| 122 | <el-table :data="signInfoTable" border style="width: 100%" v-if="tableType==0"> | 125 | <sign-info-table v-if="tableType==0" :match-id="matchId" |
| 123 | <el-table-column :label="language==0?'所属国家':'Nationality'" prop="personInfo.countryName" min-width="100"/> | 126 | :extraform="extraform" :language="language" :list="signInfoList" |
| 124 | <el-table-column :label="language==0?'姓氏':'Last Name'" prop="personInfo.xing" min-width="100"/> | 127 | @editExtra="goPersonInfo"/> |
| 125 | <el-table-column :label="language==0?'名':'First Name'" prop="personInfo.ming" min-width="100"/> | 128 | <zu-table v-else :list="zuTableList" :language="language" @delete="removeThis"/> |
| 126 | <el-table-column :label="language==0?'短名':'Short Name'" prop="personInfo.shortName" min-width="110"/> | ||
| 127 | <el-table-column :label="language==0?'性别':'Gender'" prop="personInfo.sexStr"/> | ||
| 128 | <el-table-column :label="language==0?'年龄':'Age'" prop="personInfo.age"/> | ||
| 129 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="personInfo.birth" width="110"/> | ||
| 130 | <el-table-column :label="language==0?'手机号码':'Phone Number'" prop="personInfo.phone" width="120"/> | ||
| 131 | <el-table-column :label="language==0?'邮箱':'E-mail'" prop="personInfo.email" width="150"/> | ||
| 132 | <el-table-column :label="language==0?'证件类型':'ID Type'" prop="personInfo.idcTypeStr"/> | ||
| 133 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="personInfo.idcCode" width="200"/> | ||
| 134 | <el-table-column :label="language==0?'会员角色':'Role'" width="150"> | ||
| 135 | <template #default="scope"> | ||
| 136 | <div class="esp"> | ||
| 137 | <span v-for="item in scope.row.personInfo.label?.split(',')" :key="item.id" class="text-primary"> | ||
| 138 | <span v-if="item==='0'" class="ml5">{{ language==0?'运动员':'athletes' }}</span> | ||
| 139 | <span v-if="item==='1'" class="ml5">{{ language==0?'教练':'coach' }}</span> | ||
| 140 | <span v-if="item==='2'" class="ml5">{{ language==0?'领队':'team leader' }}</span> | ||
| 141 | <span v-if="item==='3'" class="ml5">{{ language==0?'队医':'team doctor' }}</span> | ||
| 142 | <span v-if="item==='4'" class="ml5">{{ language==0?'翻译':'translator' }}</span> | ||
| 143 | <span v-if="item==='5'" class="ml5">{{ language==0?'官员':'official' }}</span> | ||
| 144 | <span v-if="item==='6'" class="ml5">{{ language==0?'其他':'other' }}</span> | ||
| 145 | </span> | ||
| 146 | </div> | ||
| 147 | </template> | ||
| 148 | </el-table-column> | ||
| 149 | <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="personInfo.address" min-width="140"/> | ||
| 150 | |||
| 151 | <el-table-column :label="language==0?'报项':'Entries'" width="300"> | ||
| 152 | <template #default="props"> | ||
| 153 | <ol> | ||
| 154 | <li v-for="s in props.row.signInfo"> | ||
| 155 | {{ s.cptProjectName }} | ||
| 156 | {{ s.cptGroupName }}{{ s.cptLevelName }} | ||
| 157 | <span v-show="s.cptSonLevelName">[{{ s.cptSonLevelName }}]</span> | ||
| 158 | <span v-show="s.zu">-{{ s.zu }}</span> | ||
| 159 | <!-- <el-button type="text" @click="editThis(s)">{{ language == 0 ? '修改' : 'Edit' }}</el-button>--> | ||
| 160 | <!-- <el-button type="text" @click="editMates(s)">更换队友</el-button>--> | ||
| 161 | <!-- <el-button type="text" @click="removeThis(s.id)">{{ language == 0 ? '删除' : 'Delete' }}</el-button>--> | ||
| 162 | </li> | ||
| 163 | </ol> | ||
| 164 | </template> | ||
| 165 | </el-table-column> | ||
| 166 | <el-table-column :label="language==0?'保险费':'Premium'" prop="insuranceFee"/> | ||
| 167 | <!-- 补充信息--> | ||
| 168 | <!-- <el-table-column v-for="(e,index) in extraTableHead" :key="index" :label="e">--> | ||
| 169 | <!-- <template #default="scope">--> | ||
| 170 | <!-- <el-link v-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='2'" :herf="scope.row.signInfo[0].extraPersonInfoMapList[index].value.url">--> | ||
| 171 | <!-- {{ scope.row.signInfo[0].extraPersonInfoMapList[index].value.name }}--> | ||
| 172 | <!-- </el-link>--> | ||
| 173 | <!-- <img v-else-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='3'" style="width: 50px;" :src="scope.row.signInfo[0].extraPersonInfoMapList[index].value.url||scope.row.signInfo[0].extraPersonInfoMapList[index].value">--> | ||
| 174 | <!-- <span v-else>{{ scope.row.signInfo[0].extraPersonInfoMapList[index]?.value }}</span>--> | ||
| 175 | <!-- </template>--> | ||
| 176 | <!-- </el-table-column>--> | ||
| 177 | <el-table-column :label="language==0?'操作':'Actions'" fixed="right" width="150" align="center"> | ||
| 178 | <template #default="scope"> | ||
| 179 | <el-button v-if="extraform&&extraform.length>0" type="text" @click="goPersonInfo(scope.row)"> | ||
| 180 | <span v-if="scope.row.extraPersonInfo">{{ language == 0 ? '修改' : 'Edit' }}</span> | ||
| 181 | <span v-else class="red">完善补充信息</span> | ||
| 182 | </el-button> | ||
| 183 | </template> | ||
| 184 | </el-table-column> | ||
| 185 | </el-table> | ||
| 186 | |||
| 187 | <el-table v-if="tableType==1" :data="zuTable" border style="width: 100%"> | ||
| 188 | <el-table-column :label="language==0?'组别代码':'Group code'" width="120px" prop="zuName"/> | ||
| 189 | <el-table-column :label="language==0?'组别':'Group'" prop="project.name"/> | ||
| 190 | <el-table-column :label="language==0?'舞种':'Dance Style'" width="120px" prop="project.danceType"/> | ||
| 191 | <el-table-column :label="language==0?'参赛说明':'Participation Instructions'" prop="project.remarks"/> | ||
| 192 | <el-table-column :label="language==0?'参赛运动员':'Participating athletes'" width="120px"> | ||
| 193 | <template #default="scope"> | ||
| 194 | <div> | ||
| 195 | <span v-for="s in scope.row.athletes">{{ s.name }},</span> | ||
| 196 | </div> | ||
| 197 | </template> | ||
| 198 | </el-table-column> | ||
| 199 | <el-table-column :label="language==0?'报名费':'Registration Fee'" width="120px" prop=""> | ||
| 200 | <template #default="scope"> | ||
| 201 | <div class="text-primary"> | ||
| 202 | ¥{{scope.row.project.serviceFee}} | ||
| 203 | </div> | ||
| 204 | </template> | ||
| 205 | </el-table-column> | ||
| 206 | <el-table-column :label="language==0?'操作':'Actions'" fixed="right" width="150" align="center"> | ||
| 207 | <template #default="scope"> | ||
| 208 | <!-- <el-button v-if="extraform&&extraform.length>0" type="text" @click="goPersonInfo(scope.row)">--> | ||
| 209 | <!-- <span v-if="scope.row.extraPersonInfo">{{ language == 0 ? '修改' : 'Edit' }}</span>--> | ||
| 210 | <!-- <span v-else class="red">--> | ||
| 211 | <!-- {{language == 0 ? '完善补充信息' : 'Complete Supplementary Information'}}</span>--> | ||
| 212 | <!-- </el-button>--> | ||
| 213 | <el-button type="text" @click="removeThis(scope.row.id)">{{ language == 0 ? '删除' : 'Delete' }}</el-button> | ||
| 214 | |||
| 215 | </template> | ||
| 216 | </el-table-column> | ||
| 217 | </el-table> | ||
| 218 | <div class="text-center mt20"> | 129 | <div class="text-center mt20"> |
| 219 | <el-button type="primary" class="w200px" plain round @click="goPrev()"> | 130 | <el-button type="primary" class="w200px" plain round @click="goPrev()"> |
| 220 | {{ language == 0 ? "上一步" : 'Go back' }} | 131 | {{ language == 0 ? "上一步" : 'Go back' }} |
| ... | @@ -270,22 +181,22 @@ const route = useRoute() | ... | @@ -270,22 +181,22 @@ const route = useRoute() |
| 270 | import _ from 'lodash' | 181 | import _ from 'lodash' |
| 271 | import {ElMessage, ElMessageBox} from 'element-plus' | 182 | import {ElMessage, ElMessageBox} from 'element-plus' |
| 272 | import cache from "@/plugins/cache" | 183 | import cache from "@/plugins/cache" |
| 273 | import TeamSignStep from "@/viewsPc/match/components/teamSignStep"; | 184 | import TeamSignStep from "@/viewsPc/match/components/teamSignStep" |
| 274 | import {getProjectPageByPerIds} from "@/apiPc/match"; | 185 | import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row" |
| 275 | import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row"; | 186 | import SignInfoTable from "@/viewsPc/match/components/signInfo-table" |
| 276 | 187 | import ZuTable from '@/viewsPc/match/components/zu-table' | |
| 277 | const language = ref(cache.local.get('language') || 0) | 188 | const language = ref(cache.local.get('language') || 0) |
| 278 | 189 | ||
| 279 | const data = reactive({ | 190 | const data = reactive({ |
| 280 | coachForm: {}, activeStep: 2, | 191 | coachForm: {}, activeStep: 2, |
| 281 | tableData: [], | 192 | tableData: [], |
| 282 | signInfoTable: [], | 193 | signInfoList: [], |
| 283 | zuTable: [], | 194 | zuTableList: [], |
| 284 | choosedList: [], | 195 | choosedList: [], |
| 285 | extraPersonInfoMapList: [], | 196 | extraPersonInfoMapList: [], |
| 286 | teamList: [], | 197 | teamList: [], |
| 287 | extraform: [], | 198 | extraform: [], |
| 288 | groupId: '0', | 199 | groupId: route.query.groupId || 0, |
| 289 | signType: '', | 200 | signType: '', |
| 290 | coachOrLeaderFlag: null, | 201 | coachOrLeaderFlag: null, |
| 291 | noPhotoCanSign: null, | 202 | noPhotoCanSign: null, |
| ... | @@ -301,40 +212,19 @@ const data = reactive({ | ... | @@ -301,40 +212,19 @@ const data = reactive({ |
| 301 | choosed2List: [], projectQuery: {}, tableType: 1 | 212 | choosed2List: [], projectQuery: {}, tableType: 1 |
| 302 | }) | 213 | }) |
| 303 | const { | 214 | const { |
| 304 | activeTeam, names, tableData, signInfoTable, zuTable, choosedList, showExtraForm, extraPersonInfoMapList, teamList, | 215 | activeTeam, names, tableData, signInfoList, zuTableList, choosedList, showExtraForm, extraPersonInfoMapList, teamList, |
| 305 | extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, extraTableHead, | 216 | extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, extraTableHead, |
| 306 | coachForm, projectIds, choosedchoosed, activeStep, projectList, choosed2List, loadingProject, projectQuery, tableType | 217 | coachForm, projectIds, choosedchoosed, activeStep, projectList, choosed2List, loadingProject, projectQuery, tableType |
| 307 | } = toRefs(data) | 218 | } = toRefs(data) |
| 308 | let matchId = '' | 219 | const matchId = ref(route.query.matchId) |
| 309 | let signInfoType = null | 220 | let signInfoType = null |
| 310 | onMounted(() => { | 221 | onMounted(() => { |
| 311 | groupId.value = route.query.groupId | 222 | signType.value = route.query.signType || 1 |
| 312 | signType.value = route.query.signType | ||
| 313 | matchId = route.query.matchId | ||
| 314 | getSignInfoList() | 223 | getSignInfoList() |
| 315 | 224 | getMatch(matchId.value) | |
| 316 | if (signType.value == '0') { | ||
| 317 | geren() | ||
| 318 | } else { | ||
| 319 | tuandui() | ||
| 320 | } | ||
| 321 | getMatch(matchId) | ||
| 322 | getTableHead() | ||
| 323 | getMySignInfo() | 225 | getMySignInfo() |
| 324 | }) | 226 | }) |
| 325 | 227 | ||
| 326 | function geren() { | ||
| 327 | match.getChooseDoneSingleCoachs(matchId).then(res => { | ||
| 328 | names.value = res.data | ||
| 329 | }) | ||
| 330 | } | ||
| 331 | |||
| 332 | function tuandui() { | ||
| 333 | match.getChooseDoneGroupCoachs(matchId, groupId.value).then(res => { | ||
| 334 | names.value = res.data | ||
| 335 | }) | ||
| 336 | } | ||
| 337 | |||
| 338 | let chargeFlag | 228 | let chargeFlag |
| 339 | 229 | ||
| 340 | function getMatch(id) { | 230 | function getMatch(id) { |
| ... | @@ -351,7 +241,7 @@ function getMatch(id) { | ... | @@ -351,7 +241,7 @@ function getMatch(id) { |
| 351 | function getMySignInfo() { | 241 | function getMySignInfo() { |
| 352 | // 获取已报 | 242 | // 获取已报 |
| 353 | match.getMySignInfo({ | 243 | match.getMySignInfo({ |
| 354 | cptId: matchId, | 244 | cptId: matchId.value, |
| 355 | groupId: groupId.value | 245 | groupId: groupId.value |
| 356 | }).then(res => { | 246 | }).then(res => { |
| 357 | tableData.value = res.data.signInfo | 247 | tableData.value = res.data.signInfo |
| ... | @@ -361,12 +251,11 @@ function getMySignInfo() { | ... | @@ -361,12 +251,11 @@ function getMySignInfo() { |
| 361 | 251 | ||
| 362 | function getSignInfoList() { | 252 | function getSignInfoList() { |
| 363 | match.getMySignInfoList({ | 253 | match.getMySignInfoList({ |
| 364 | cptId: matchId, | 254 | cptId: matchId.value, |
| 365 | groupId: groupId.value, | 255 | groupId: groupId.value |
| 366 | teamId: activeTeam.value || '' | ||
| 367 | }).then(res => { | 256 | }).then(res => { |
| 368 | signInfoTable.value = res.data.singleData | 257 | signInfoList.value = res.data.singleData || [] |
| 369 | zuTable.value = res.data.zuData | 258 | zuTableList.value = res.data.zuData || [] |
| 370 | // if(signInfoTable.value.length>0){ | 259 | // if(signInfoTable.value.length>0){ |
| 371 | // let choosedIds = [] | 260 | // let choosedIds = [] |
| 372 | // for(let p of choosedList.value){ | 261 | // for(let p of choosedList.value){ |
| ... | @@ -382,12 +271,7 @@ function getSignInfoList() { | ... | @@ -382,12 +271,7 @@ function getSignInfoList() { |
| 382 | }) | 271 | }) |
| 383 | } | 272 | } |
| 384 | 273 | ||
| 385 | function getTableHead() { | 274 | |
| 386 | match.getCptExtraInfo(matchId).then(res => { | ||
| 387 | // console.log(res.data) | ||
| 388 | extraTableHead.value = res.data | ||
| 389 | }) | ||
| 390 | } | ||
| 391 | 275 | ||
| 392 | function submitForm() { | 276 | function submitForm() { |
| 393 | if (signInfoType == '1') { | 277 | if (signInfoType == '1') { |
| ... | @@ -407,7 +291,7 @@ function submitForm() { | ... | @@ -407,7 +291,7 @@ function submitForm() { |
| 407 | needBuchong = true | 291 | needBuchong = true |
| 408 | } | 292 | } |
| 409 | } | 293 | } |
| 410 | for (const s of signInfoTable.value) { | 294 | for (const s of signInfoList.value) { |
| 411 | if (s.extraPersonInfo == null && needBuchong) { | 295 | if (s.extraPersonInfo == null && needBuchong) { |
| 412 | ElMessage.error('请完善运动员补充信息') | 296 | ElMessage.error('请完善运动员补充信息') |
| 413 | tableType.value = 0 | 297 | tableType.value = 0 |
| ... | @@ -416,7 +300,7 @@ function submitForm() { | ... | @@ -416,7 +300,7 @@ function submitForm() { |
| 416 | } | 300 | } |
| 417 | } | 301 | } |
| 418 | if (signInfoType == '2') { | 302 | if (signInfoType == '2') { |
| 419 | match.recoverMySign({cptId: matchId, groupId: groupId.value}).then(res => { | 303 | match.recoverMySign({cptId: matchId.value, groupId: groupId.value}).then(res => { |
| 420 | if (res.msg.indexOf('Exception:') > -1) { | 304 | if (res.msg.indexOf('Exception:') > -1) { |
| 421 | const msg = res.msg.slice(10) | 305 | const msg = res.msg.slice(10) |
| 422 | ElMessageBox.confirm(msg, '提示', { | 306 | ElMessageBox.confirm(msg, '提示', { |
| ... | @@ -437,14 +321,14 @@ function submitForm() { | ... | @@ -437,14 +321,14 @@ function submitForm() { |
| 437 | router.push({ | 321 | router.push({ |
| 438 | name: 'signPreview', | 322 | name: 'signPreview', |
| 439 | query: { | 323 | query: { |
| 440 | matchId: matchId, | 324 | matchId: matchId.value, |
| 441 | groupId: groupId.value | 325 | groupId: groupId.value |
| 442 | } | 326 | } |
| 443 | }) | 327 | }) |
| 444 | } | 328 | } |
| 445 | 329 | ||
| 446 | function afterRecover() { | 330 | function afterRecover() { |
| 447 | if (signInfoTable.value.length == 0) { | 331 | if (signInfoList.value.length == 0) { |
| 448 | if (language.value == 0) { | 332 | if (language.value == 0) { |
| 449 | ElMessage.error('请至少选择一个项目') | 333 | ElMessage.error('请至少选择一个项目') |
| 450 | } else { | 334 | } else { |
| ... | @@ -455,7 +339,7 @@ function afterRecover() { | ... | @@ -455,7 +339,7 @@ function afterRecover() { |
| 455 | // 判断是否收费 | 339 | // 判断是否收费 |
| 456 | if (chargeFlag == '0') { | 340 | if (chargeFlag == '0') { |
| 457 | var obj = { | 341 | var obj = { |
| 458 | cptId: matchId, | 342 | cptId: matchId.value, |
| 459 | groupId: groupId.value | 343 | groupId: groupId.value |
| 460 | } | 344 | } |
| 461 | match.commitSign(obj).then(res => { | 345 | match.commitSign(obj).then(res => { |
| ... | @@ -467,7 +351,7 @@ function afterRecover() { | ... | @@ -467,7 +351,7 @@ function afterRecover() { |
| 467 | router.push({ | 351 | router.push({ |
| 468 | name: 'expenseDetails', | 352 | name: 'expenseDetails', |
| 469 | query: { | 353 | query: { |
| 470 | matchId: matchId, | 354 | matchId: matchId.value, |
| 471 | groupId: groupId.value | 355 | groupId: groupId.value |
| 472 | } | 356 | } |
| 473 | }) | 357 | }) |
| ... | @@ -481,7 +365,7 @@ function goPrev() { | ... | @@ -481,7 +365,7 @@ function goPrev() { |
| 481 | function chooseSportman() { | 365 | function chooseSportman() { |
| 482 | if (signInfoType == '2') { | 366 | if (signInfoType == '2') { |
| 483 | match.recoverMySign({ | 367 | match.recoverMySign({ |
| 484 | cptId: matchId, | 368 | cptId: matchId.value, |
| 485 | groupId: groupId.value | 369 | groupId: groupId.value |
| 486 | }).then(res => { | 370 | }).then(res => { |
| 487 | if (res.msg.indexOf('Exception:') > -1) { | 371 | if (res.msg.indexOf('Exception:') > -1) { |
| ... | @@ -501,7 +385,7 @@ function chooseSportman() { | ... | @@ -501,7 +385,7 @@ function chooseSportman() { |
| 501 | 385 | ||
| 502 | const params = { | 386 | const params = { |
| 503 | title: language.value == 0 ? '选择运动员' : 'Participating athletes', | 387 | title: language.value == 0 ? '选择运动员' : 'Participating athletes', |
| 504 | matchId: matchId, | 388 | matchId: matchId.value, |
| 505 | groupId: groupId.value, | 389 | groupId: groupId.value, |
| 506 | rankId: activeTeam.value, | 390 | rankId: activeTeam.value, |
| 507 | signType: signType.value, | 391 | signType: signType.value, |
| ... | @@ -534,7 +418,7 @@ function getProjectList() { | ... | @@ -534,7 +418,7 @@ function getProjectList() { |
| 534 | loadingProject.value = true | 418 | loadingProject.value = true |
| 535 | //根据已选人员id 获取项目列表 | 419 | //根据已选人员id 获取项目列表 |
| 536 | var obj = { | 420 | var obj = { |
| 537 | cptId: matchId, | 421 | cptId: matchId.value, |
| 538 | perIds: choosedchoosed.value.toString() | 422 | perIds: choosedchoosed.value.toString() |
| 539 | } | 423 | } |
| 540 | match.getProjectPageByPerIds(obj).then(res => { | 424 | match.getProjectPageByPerIds(obj).then(res => { |
| ... | @@ -555,7 +439,7 @@ function getChoosed(list) { | ... | @@ -555,7 +439,7 @@ function getChoosed(list) { |
| 555 | function addCoach() { | 439 | function addCoach() { |
| 556 | if (signInfoType == '2') { | 440 | if (signInfoType == '2') { |
| 557 | match.recoverMySign({ | 441 | match.recoverMySign({ |
| 558 | cptId: matchId, | 442 | cptId: matchId.value, |
| 559 | groupId: groupId.value | 443 | groupId: groupId.value |
| 560 | }).then(res => { | 444 | }).then(res => { |
| 561 | if (res.msg.indexOf('Exception:') > -1) { | 445 | if (res.msg.indexOf('Exception:') > -1) { |
| ... | @@ -580,20 +464,6 @@ function addCoach() { | ... | @@ -580,20 +464,6 @@ function addCoach() { |
| 580 | proxy.$refs['dialogAddCoachRef'].open(params) | 464 | proxy.$refs['dialogAddCoachRef'].open(params) |
| 581 | } | 465 | } |
| 582 | 466 | ||
| 583 | function signForThisMan(p) { | ||
| 584 | const params = { | ||
| 585 | title: '选择报项', | ||
| 586 | matchId: matchId, | ||
| 587 | groupId: groupId.value, | ||
| 588 | rankId: activeTeam.value, | ||
| 589 | signType: signType.value, | ||
| 590 | noPhotoCanSign: noPhotoCanSign.value, | ||
| 591 | coachOrLeaderFlag: coachOrLeaderFlag.value, | ||
| 592 | personal: p, | ||
| 593 | choosedList: choosedList.value | ||
| 594 | } | ||
| 595 | proxy.$refs['dialogSportsmanListRef'].open(params) | ||
| 596 | } | ||
| 597 | 467 | ||
| 598 | function delthischoosed(p) { | 468 | function delthischoosed(p) { |
| 599 | choosedList.value = _.without(choosedList.value, p) | 469 | choosedList.value = _.without(choosedList.value, p) |
| ... | @@ -617,7 +487,7 @@ function editThis(row) { | ... | @@ -617,7 +487,7 @@ function editThis(row) { |
| 617 | const params = { | 487 | const params = { |
| 618 | title: '修改报项', | 488 | title: '修改报项', |
| 619 | personal: row.cptPersonInfo, | 489 | personal: row.cptPersonInfo, |
| 620 | matchId: matchId, | 490 | matchId: matchId.value, |
| 621 | groupId: groupId.value, | 491 | groupId: groupId.value, |
| 622 | rankId: activeTeam.value, | 492 | rankId: activeTeam.value, |
| 623 | signType: signType.value, | 493 | signType: signType.value, |
| ... | @@ -644,8 +514,8 @@ function signUp() { | ... | @@ -644,8 +514,8 @@ function signUp() { |
| 644 | groupId: groupId.value | 514 | groupId: groupId.value |
| 645 | } | 515 | } |
| 646 | match.sportsmanDone(obj).then(res => { | 516 | match.sportsmanDone(obj).then(res => { |
| 647 | |||
| 648 | getSignInfoList() | 517 | getSignInfoList() |
| 518 | getProjectList() | ||
| 649 | }) | 519 | }) |
| 650 | } | 520 | } |
| 651 | 521 | ||
| ... | @@ -712,7 +582,7 @@ const goPersonInfo = (row) => { | ... | @@ -712,7 +582,7 @@ const goPersonInfo = (row) => { |
| 712 | function downloadVoucher() { | 582 | function downloadVoucher() { |
| 713 | // 下载凭证 | 583 | // 下载凭证 |
| 714 | proxy.download( | 584 | proxy.download( |
| 715 | `/pdf/getPayedOrderPdf/${matchId}/${groupId.value || 0}`, {}, '报项凭证.pdf' | 585 | `/pdf/getPayedOrderPdf/${matchId.value}/${groupId.value || 0}`, {}, '报项凭证.pdf' |
| 716 | ) | 586 | ) |
| 717 | } | 587 | } |
| 718 | 588 | ||
| ... | @@ -738,7 +608,21 @@ function switchTabletype() { | ... | @@ -738,7 +608,21 @@ function switchTabletype() { |
| 738 | flex: 1 1 auto; | 608 | flex: 1 1 auto; |
| 739 | } | 609 | } |
| 740 | 610 | ||
| 611 | .flexBetweenBox { | ||
| 612 | width: 100%; | ||
| 613 | height: auto; | ||
| 614 | border-bottom: 1px solid #eee; | ||
| 615 | padding: 0 10px; | ||
| 616 | } | ||
| 617 | |||
| 618 | .flexBetweenBox:nth-child(odd) { | ||
| 619 | background: #FAFBFD; | ||
| 620 | } | ||
| 621 | |||
| 741 | .flexBetween { | 622 | .flexBetween { |
| 623 | padding: 10px; | ||
| 624 | border-left: 1px solid #eee; | ||
| 625 | |||
| 742 | .l { | 626 | .l { |
| 743 | div { | 627 | div { |
| 744 | margin: 4px 0 0; | 628 | margin: 4px 0 0; |
| ... | @@ -795,7 +679,8 @@ function switchTabletype() { | ... | @@ -795,7 +679,8 @@ function switchTabletype() { |
| 795 | } | 679 | } |
| 796 | 680 | ||
| 797 | .el-checkbox { | 681 | .el-checkbox { |
| 798 | height: auto;margin-right: 20px; | 682 | height: auto; |
| 683 | margin-right: 20px; | ||
| 799 | } | 684 | } |
| 800 | 685 | ||
| 801 | :deep(.el-checkbox__input) { | 686 | :deep(.el-checkbox__input) { |
| ... | @@ -829,18 +714,46 @@ function switchTabletype() { | ... | @@ -829,18 +714,46 @@ function switchTabletype() { |
| 829 | } | 714 | } |
| 830 | } | 715 | } |
| 831 | } | 716 | } |
| 832 | .ttbb{font-size: 14px; | 717 | |
| 718 | .ttbb { | ||
| 719 | font-size: 14px; | ||
| 833 | color: #4C5359; | 720 | color: #4C5359; |
| 834 | display: flex;justify-content: center; | 721 | display: flex; |
| 835 | div{padding: 20px;position: relative;cursor: pointer;} | 722 | justify-content: center; |
| 836 | div:first-child::after {content: '';position: absolute;right: 0; | 723 | |
| 837 | background: #ccc;width: 1px;height: 14px;top:0;bottom: 0;margin: auto;} | 724 | div { |
| 838 | 725 | padding: 20px; | |
| 839 | .active{color: var(--el-color-primary); | 726 | position: relative; |
| 840 | &::before{width: 33px;content: '';position: absolute; | 727 | cursor: pointer; |
| 841 | height: 2px;bottom: 14px;left: 0;right: 0;margin: auto; | 728 | } |
| 729 | |||
| 730 | div:first-child::after { | ||
| 731 | content: ''; | ||
| 732 | position: absolute; | ||
| 733 | right: 0; | ||
| 734 | background: #ccc; | ||
| 735 | width: 1px; | ||
| 736 | height: 14px; | ||
| 737 | top: 0; | ||
| 738 | bottom: 0; | ||
| 739 | margin: auto; | ||
| 740 | } | ||
| 741 | |||
| 742 | .active { | ||
| 743 | color: var(--el-color-primary); | ||
| 744 | |||
| 745 | &::before { | ||
| 746 | width: 33px; | ||
| 747 | content: ''; | ||
| 748 | position: absolute; | ||
| 749 | height: 2px; | ||
| 750 | bottom: 14px; | ||
| 751 | left: 0; | ||
| 752 | right: 0; | ||
| 753 | margin: auto; | ||
| 842 | background: #453DEA; | 754 | background: #453DEA; |
| 843 | border-radius: 1px;} | 755 | border-radius: 1px; |
| 756 | } | ||
| 844 | } | 757 | } |
| 845 | } | 758 | } |
| 846 | </style> | 759 | </style> | ... | ... |
| ... | @@ -46,8 +46,8 @@ | ... | @@ -46,8 +46,8 @@ |
| 46 | <el-table-column v-if="coachOrLeaderFlag=='1'" label="领队" prop="leaderNames" /> | 46 | <el-table-column v-if="coachOrLeaderFlag=='1'" label="领队" prop="leaderNames" /> |
| 47 | <el-table-column label="操作" fixed="right" width="100" align="center"> | 47 | <el-table-column label="操作" fixed="right" width="100" align="center"> |
| 48 | <template #default="scope"> | 48 | <template #default="scope"> |
| 49 | <el-button type="text" @click="editThis(scope.row)">编辑</el-button> | 49 | <el-button type="primary" link @click="editThis(scope.row)">编辑</el-button> |
| 50 | <el-button type="text" @click="removeThis(scope.row.id)">删除</el-button> | 50 | <el-button type="primary" link @click="removeThis(scope.row.id)">删除</el-button> |
| 51 | </template> | 51 | </template> |
| 52 | </el-table-column> | 52 | </el-table-column> |
| 53 | </el-table> | 53 | </el-table> | ... | ... |
src/viewsPc/match/commitDone.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div> | ||
| 3 | <div class="box ph-30"> | ||
| 4 | <el-card> | ||
| 5 | <single-sign-step v-if="user.utype=='1'" activeStep="3" :language="language"/> | ||
| 6 | <team-sign-step v-if="user.utype=='2'" activeStep="4" :language="language"/> | ||
| 7 | </el-card> | ||
| 8 | <el-card class="mt20"> | ||
| 9 | <div class="flexCenter pd20"> | ||
| 10 | <img src="@/assets/img/e.png"/> | ||
| 11 | <div> | ||
| 12 | <div>账号:{{ user.userName }}</div> | ||
| 13 | <h3>报名信息提交成功</h3> | ||
| 14 | </div> | ||
| 15 | </div> | ||
| 16 | <div class="text-center flexCenter"> | ||
| 17 | <div class="border-info mt20"> | ||
| 18 | 审核结果,后续将以邮件形式正式通知您。 | ||
| 19 | <br/> | ||
| 20 | 邮件发送账号:<span class="text-primary">{{ user.email }}</span> | ||
| 21 | ,请关注相关邮件通知。 | ||
| 22 | <br/> | ||
| 23 | 如果您的报名信息审核通过,邮件正文会附上相关费用的支付链接,请通过链接完成支付,完成报名。 | ||
| 24 | </div> | ||
| 25 | </div> | ||
| 26 | |||
| 27 | <div class="text-center mt30 mb20"> | ||
| 28 | <el-button class="primary-kx w200px" round @click="goHome">{{ language == 0 ? '返回首页' : 'Homepage' }}</el-button> | ||
| 29 | <el-button type="primary" class="btn-lineG w200px" round @click="goSign">{{ language == 0 ? '返回赛事报名模块' : 'Sign Up' }}</el-button> | ||
| 30 | </div> | ||
| 31 | </el-card> | ||
| 32 | </div> | ||
| 33 | </div> | ||
| 34 | </template> | ||
| 35 | |||
| 36 | <script setup> | ||
| 37 | import TeamSignStep from './components/teamSignStep' | ||
| 38 | import SingleSignStep from './components/singleSignStep' | ||
| 39 | const router = useRouter() | ||
| 40 | import useUserStore from "@/store/modules/user" | ||
| 41 | import {ref} from "vue" | ||
| 42 | import cache from "@/plugins/cache" | ||
| 43 | import {useRouter} from "vue-router"; | ||
| 44 | |||
| 45 | const language = ref(cache.local.get('language') || 0) | ||
| 46 | const user = useUserStore().user | ||
| 47 | |||
| 48 | const goHome = () => { | ||
| 49 | router.push({ | ||
| 50 | name: `home` | ||
| 51 | }) | ||
| 52 | } | ||
| 53 | const goSign = () => { | ||
| 54 | router.push({ | ||
| 55 | name: `matchDetail`, | ||
| 56 | params:{id:0} | ||
| 57 | }) | ||
| 58 | } | ||
| 59 | </script> | ||
| 60 | |||
| 61 | <style scoped lang="scss"> | ||
| 62 | .border-info{padding: 30px;line-height: 2;} | ||
| 63 | </style> |
| ... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ |
| 7 | <el-form ref="dialogRef" :model="form" :rules="rules" label-width="120px" inline> | 7 | <el-form ref="dialogRef" :model="form" :rules="rules" label-width="120px" inline> |
| 8 | <el-row :gutter="30"> | 8 | <el-row :gutter="30"> |
| 9 | <el-col :lg="12" class="touxiang"> | 9 | <el-col :lg="12" class="touxiang"> |
| 10 | <el-form-item prop="picUrl" label="个人照片" required> | 10 | <el-form-item prop="picUrl" :label="language==0?'个人照片':'photo'" required> |
| 11 | <ImageUpload2 | 11 | <ImageUpload2 |
| 12 | v-model="form.picUrl" :crop-height="280" :crop-width="200" class="threeFour" :limit="1" | 12 | v-model="form.picUrl" :crop-height="280" :crop-width="200" class="threeFour" :limit="1" |
| 13 | :is-show-tip="false" | 13 | :is-show-tip="false" |
| ... | @@ -65,7 +65,7 @@ | ... | @@ -65,7 +65,7 @@ |
| 65 | <el-radio label="1">{{ language==0?'男':'male' }}</el-radio> | 65 | <el-radio label="1">{{ language==0?'男':'male' }}</el-radio> |
| 66 | </el-radio-group> | 66 | </el-radio-group> |
| 67 | </el-form-item> | 67 | </el-form-item> |
| 68 | <el-form-item :label="language==0?'邮箱':'Email'" prop="idcCode" required> | 68 | <el-form-item :label="language==0?'邮箱':'Email'" prop="email" required> |
| 69 | <el-input v-model="form.email"/> | 69 | <el-input v-model="form.email"/> |
| 70 | </el-form-item> | 70 | </el-form-item> |
| 71 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" required> | 71 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" required> |
| ... | @@ -134,9 +134,10 @@ const data = reactive({ | ... | @@ -134,9 +134,10 @@ const data = reactive({ |
| 134 | ], | 134 | ], |
| 135 | title: '添加选手信息', | 135 | title: '添加选手信息', |
| 136 | groupId: '0', | 136 | groupId: '0', |
| 137 | showRequire: false | 137 | showRequire: false, |
| 138 | uType:'' | ||
| 138 | }) | 139 | }) |
| 139 | const {showRequire, form, rules, show, countryList, regionsList, title, groupId, labels} = toRefs(data) | 140 | const {showRequire, form, rules, show, countryList, regionsList, title, groupId, labels,uType} = toRefs(data) |
| 140 | onMounted(() => { | 141 | onMounted(() => { |
| 141 | getCountryList() | 142 | getCountryList() |
| 142 | getRegionsList() | 143 | getRegionsList() |
| ... | @@ -147,17 +148,31 @@ const open = (params) => { | ... | @@ -147,17 +148,31 @@ const open = (params) => { |
| 147 | show.value = true | 148 | show.value = true |
| 148 | title.value = params.title | 149 | title.value = params.title |
| 149 | groupId.value = params.groupId || '0' | 150 | groupId.value = params.groupId || '0' |
| 150 | if (params.id != 0) { // 编辑 | 151 | uType.value = params.uType |
| 151 | editgay = true | 152 | if(uType.value == '1'){ |
| 152 | match.getPersonInfoById(params.id).then(res => { | 153 | //个人 |
| 154 | match.getMyPersonInfo().then(res => { | ||
| 153 | form.value = res.data | 155 | form.value = res.data |
| 154 | form.value.id = params.id | 156 | form.value.id = res.data.id |
| 155 | if (form.value.label) { | 157 | if (form.value.label) { |
| 156 | // {0:0,1:1,2:3} | 158 | // {0:0,1:1,2:3} |
| 157 | form.value.labelArr = form.value.label.split(',') | 159 | form.value.labelArr = form.value.label.split(',') |
| 158 | labelvalue(form.value.labelArr) | 160 | labelvalue(form.value.labelArr) |
| 159 | } | 161 | } |
| 160 | }) | 162 | }) |
| 163 | } else { | ||
| 164 | if (params.id != 0) { // 编辑 | ||
| 165 | editgay = true | ||
| 166 | match.getPersonInfoById(params.id).then(res => { | ||
| 167 | form.value = res.data | ||
| 168 | form.value.id = params.id | ||
| 169 | if (form.value.label) { | ||
| 170 | // {0:0,1:1,2:3} | ||
| 171 | form.value.labelArr = form.value.label.split(',') | ||
| 172 | labelvalue(form.value.labelArr) | ||
| 173 | } | ||
| 174 | }) | ||
| 175 | } | ||
| 161 | } | 176 | } |
| 162 | } | 177 | } |
| 163 | defineExpose({open}) | 178 | defineExpose({open}) |
| ... | @@ -286,11 +301,20 @@ function submitForm() { | ... | @@ -286,11 +301,20 @@ function submitForm() { |
| 286 | emit('submitForm') | 301 | emit('submitForm') |
| 287 | }) | 302 | }) |
| 288 | } else { | 303 | } else { |
| 289 | match.savePersonForMyPerson(form.value).then(res => { | 304 | // if(uType.value == '1'){ |
| 290 | ElMessage.success('保存成功') | 305 | // match.saveMyBaseInfo(form.value).then(res => { |
| 291 | show.value = false | 306 | // ElMessage.success('保存成功') |
| 292 | emit('submitForm') | 307 | // show.value = false |
| 293 | }) | 308 | // emit('submitForm') |
| 309 | // }) | ||
| 310 | // } else { | ||
| 311 | match.savePersonForMyPerson(form.value).then(res => { | ||
| 312 | ElMessage.success('保存成功') | ||
| 313 | show.value = false | ||
| 314 | emit('submitForm') | ||
| 315 | }) | ||
| 316 | // } | ||
| 317 | |||
| 294 | } | 318 | } |
| 295 | } | 319 | } |
| 296 | } | 320 | } | ... | ... |
| ... | @@ -71,7 +71,7 @@ | ... | @@ -71,7 +71,7 @@ |
| 71 | <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="address" min-width="140"/> | 71 | <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="address" min-width="140"/> |
| 72 | <el-table-column :label="language==0?'操作':'Actions'" width="120" fixed="right" align="center"> | 72 | <el-table-column :label="language==0?'操作':'Actions'" width="120" fixed="right" align="center"> |
| 73 | <template #default="scope"> | 73 | <template #default="scope"> |
| 74 | <el-button type="text" @click="editPerson(scope.row)"> | 74 | <el-button link type="primary" @click="editPerson(scope.row)"> |
| 75 | {{language==0?'编辑':'Edit'}} | 75 | {{language==0?'编辑':'Edit'}} |
| 76 | </el-button> | 76 | </el-button> |
| 77 | </template> | 77 | </template> |
| ... | @@ -103,7 +103,9 @@ const language = ref(cache.local.get('language') || 0) | ... | @@ -103,7 +103,9 @@ const language = ref(cache.local.get('language') || 0) |
| 103 | const {proxy} = getCurrentInstance() | 103 | const {proxy} = getCurrentInstance() |
| 104 | const emit = defineEmits(['submitForm', 'transfer']) | 104 | const emit = defineEmits(['submitForm', 'transfer']) |
| 105 | const data = reactive({ | 105 | const data = reactive({ |
| 106 | query: {}, | 106 | query: { |
| 107 | label:'0' | ||
| 108 | }, | ||
| 107 | tableData: [], | 109 | tableData: [], |
| 108 | birthArr: [], | 110 | birthArr: [], |
| 109 | show: false, | 111 | show: false, |
| ... | @@ -184,7 +186,7 @@ function addMember() { | ... | @@ -184,7 +186,7 @@ function addMember() { |
| 184 | const params = { | 186 | const params = { |
| 185 | title: '添加人员', | 187 | title: '添加人员', |
| 186 | id: 0, | 188 | id: 0, |
| 187 | groupId: groupId.value | 189 | groupId: groupId |
| 188 | } | 190 | } |
| 189 | proxy.$refs['dialogAddCoach'].open(params) | 191 | proxy.$refs['dialogAddCoach'].open(params) |
| 190 | } | 192 | } |
| ... | @@ -192,7 +194,7 @@ function addMember() { | ... | @@ -192,7 +194,7 @@ function addMember() { |
| 192 | function importSportman() { | 194 | function importSportman() { |
| 193 | const params = { | 195 | const params = { |
| 194 | title: '批量导入选手', | 196 | title: '批量导入选手', |
| 195 | groupId: groupId.value | 197 | groupId: groupId |
| 196 | } | 198 | } |
| 197 | proxy.$refs['dialogImportProps'].open(params) | 199 | proxy.$refs['dialogImportProps'].open(params) |
| 198 | } | 200 | } | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="border-info" style="margin: 20px"> | 2 | <div class="border-info" style="margin: 20px" v-loading="loading"> |
| 3 | <el-row> | 3 | <el-row> |
| 4 | <el-col :lg="8"> | 4 | <el-col :lg="8"> |
| 5 | <div class="item"><label>{{ language == 0 ? '教练' : 'Coach' }}</label> | 5 | <div class="item"><label>{{ language == 0 ? '教练' : 'Coach' }}</label> |
| 6 | <span v-for="c in names.coachList">{{ c.shortName }}</span> | 6 | <span v-for="c in names.coachList">{{ c.shortName }}</span> |
| 7 | <span v-if="!names.coachList">--</span> | ||
| 7 | </div> | 8 | </div> |
| 8 | <div class="item"><label>{{ language == 0 ? '翻译' : 'Translator' }}</label> | 9 | <div class="item"><label>{{ language == 0 ? '翻译' : 'Translator' }}</label> |
| 9 | <span v-for="c in names.translatorList">{{ c.shortName }}</span> | 10 | <span v-for="c in names.translatorList">{{ c.shortName }}</span> |
| 11 | <span v-if="!names.translatorList">--</span> | ||
| 10 | </div> | 12 | </div> |
| 11 | </el-col> | 13 | </el-col> |
| 12 | <el-col :lg="8"> | 14 | <el-col :lg="8"> |
| 13 | <div class="item"> | 15 | <div class="item"> |
| 14 | <label>{{ language == 0 ? '领队' : 'Team leader' }}</label> | 16 | <label>{{ language == 0 ? '领队' : 'Team leader' }}</label> |
| 15 | <span v-for="c in names.leaderList">{{ c.shortName }}</span> | 17 | <span v-for="c in names.leaderList">{{ c.shortName }}</span> |
| 18 | <span v-if="!names.leaderList">--</span> | ||
| 16 | </div> | 19 | </div> |
| 17 | <div class="item"> | 20 | <div class="item"> |
| 18 | <label>{{ language == 0 ? '官员' : 'Official' }}</label> | 21 | <label>{{ language == 0 ? '官员' : 'Official' }}</label> |
| ... | @@ -26,12 +29,14 @@ | ... | @@ -26,12 +29,14 @@ |
| 26 | <span class="mr5" v-for="c in names.teamDoctorList"> | 29 | <span class="mr5" v-for="c in names.teamDoctorList"> |
| 27 | {{ c.shortName }} | 30 | {{ c.shortName }} |
| 28 | </span> | 31 | </span> |
| 32 | <span v-if="!names.teamDoctorList">--</span> | ||
| 29 | </div> | 33 | </div> |
| 30 | <div class="item"> | 34 | <div class="item"> |
| 31 | <label>{{ language == 0 ? '其他' : 'Other' }}</label> | 35 | <label>{{ language == 0 ? '其他' : 'Other' }}</label> |
| 32 | <span class="mr5" v-for="c in names.otherList"> | 36 | <span class="mr5" v-for="c in names.otherList"> |
| 33 | {{ c.shortName }} | 37 | {{ c.shortName }} |
| 34 | </span> | 38 | </span> |
| 39 | <span v-if="!names.otherList">--</span> | ||
| 35 | </div> | 40 | </div> |
| 36 | </el-col> | 41 | </el-col> |
| 37 | </el-row> | 42 | </el-row> |
| ... | @@ -39,17 +44,44 @@ | ... | @@ -39,17 +44,44 @@ |
| 39 | </template> | 44 | </template> |
| 40 | 45 | ||
| 41 | <script setup> | 46 | <script setup> |
| 47 | import * as match from "@/apiPc/match"; | ||
| 48 | import {onMounted} from "@vue/runtime-core"; | ||
| 49 | import useUserStore from "@/store/modules/user"; | ||
| 50 | |||
| 42 | const props = defineProps({ | 51 | const props = defineProps({ |
| 43 | names: { | 52 | matchId: { |
| 44 | type: Object, | 53 | type: String, |
| 45 | required: true | 54 | required: true |
| 46 | }, | ||
| 47 | language: { | ||
| 48 | type: Number, | ||
| 49 | required: true, | ||
| 50 | default: 0 | ||
| 51 | } | 55 | } |
| 52 | }) | 56 | }) |
| 57 | const names = ref({}) | ||
| 58 | const loading = ref(true) | ||
| 59 | import cache from "@/plugins/cache" | ||
| 60 | const user = useUserStore().user | ||
| 61 | const group = useUserStore().group || {} | ||
| 62 | const language = ref(cache.local.get('language') || 0) | ||
| 63 | onMounted(() => { | ||
| 64 | if (user.utype == '2') { | ||
| 65 | tuandui() | ||
| 66 | } | ||
| 67 | if(user.utype == '1'){ | ||
| 68 | geren() | ||
| 69 | } | ||
| 70 | }) | ||
| 71 | |||
| 72 | function geren() { | ||
| 73 | match.getChooseDoneSingleCoachs(props.matchId).then(res => { | ||
| 74 | names.value = res.data | ||
| 75 | loading.value = false | ||
| 76 | }) | ||
| 77 | } | ||
| 78 | |||
| 79 | function tuandui() { | ||
| 80 | match.getChooseDoneGroupCoachs(props.matchId, group.id).then(res => { | ||
| 81 | names.value = res.data | ||
| 82 | loading.value = false | ||
| 83 | }) | ||
| 84 | } | ||
| 53 | </script> | 85 | </script> |
| 54 | 86 | ||
| 55 | <style scoped lang="scss"> | 87 | <style scoped lang="scss"> | ... | ... |
| ... | @@ -4,17 +4,20 @@ | ... | @@ -4,17 +4,20 @@ |
| 4 | destroy-on-close | 4 | destroy-on-close |
| 5 | > | 5 | > |
| 6 | <el-descriptions border> | 6 | <el-descriptions border> |
| 7 | <el-descriptions-item v-if="form.picUrl" label="照片"> | 7 | <el-descriptions-item v-if="form.picUrl" :label="language==0?'个人照片':'photo'"> |
| 8 | <img style="width: 100px" :src="form.picUrl"> | 8 | <img style="width: 60px" :src="fillImgUrl(form.picUrl)"> |
| 9 | </el-descriptions-item> | 9 | </el-descriptions-item> |
| 10 | <el-descriptions-item label="姓名">{{ form.realName }}</el-descriptions-item> | 10 | <el-descriptions-item :label="language==0?'姓氏':'surname'">{{ form.xing }}</el-descriptions-item> |
| 11 | <el-descriptions-item label="性别">{{ form.sexStr }}</el-descriptions-item> | 11 | <el-descriptions-item :label="language==0?'名':'name'">{{ form.ming }}</el-descriptions-item> |
| 12 | <el-descriptions-item label="证件类型">{{ form.idcTypeStr }}</el-descriptions-item> | 12 | <el-descriptions-item :label="language==0?'短名':'short name'">{{ form.shortName }}</el-descriptions-item> |
| 13 | <el-descriptions-item label="证件号码">{{ form.idcCode }}</el-descriptions-item> | 13 | <el-descriptions-item :label="language==0?'性别':'sex'">{{ form.sexStr }}</el-descriptions-item> |
| 14 | <el-descriptions-item label="出生日期">{{ form.birth }}</el-descriptions-item> | 14 | <el-descriptions-item :label="language==0?'所属国家':'Nationality'">{{ form.countryName }}</el-descriptions-item> |
| 15 | <el-descriptions-item label="联系方式">{{ form.phone }}</el-descriptions-item> | 15 | <el-descriptions-item :label="language==0?'证件类型':'ID type'">{{ form.idcTypeStr }}</el-descriptions-item> |
| 16 | <el-descriptions-item label="国籍">{{ form.countryName }}</el-descriptions-item> | 16 | <el-descriptions-item :label="language==0?'证件号码':'ID NO'">{{ form.idcCode }}</el-descriptions-item> |
| 17 | <el-descriptions-item label="民族">{{ form.nation }}</el-descriptions-item> | 17 | <el-descriptions-item :label="language==0?'出生日期':'birth'">{{ form.birth }}</el-descriptions-item> |
| 18 | <el-descriptions-item :label="language==0?'手机号码':'Phone'">{{ form.phone }}</el-descriptions-item> | ||
| 19 | <el-descriptions-item :label="language==0?'邮箱':'Email'">{{ form.email }}</el-descriptions-item> | ||
| 20 | <el-descriptions-item :label="language==0?'详细地址':'Address'">{{ form.address }}</el-descriptions-item> | ||
| 18 | </el-descriptions> | 21 | </el-descriptions> |
| 19 | 22 | ||
| 20 | <el-row v-if="participantsInfoArr&&participantsInfoArr.length>0" class="mt20"> | 23 | <el-row v-if="participantsInfoArr&&participantsInfoArr.length>0" class="mt20"> |
| ... | @@ -62,6 +65,9 @@ const { proxy } = getCurrentInstance() | ... | @@ -62,6 +65,9 @@ const { proxy } = getCurrentInstance() |
| 62 | const emit = defineEmits(['submitForm']) | 65 | const emit = defineEmits(['submitForm']) |
| 63 | const uploadUrl = ref('/upload/upLoadToFileServer') | 66 | const uploadUrl = ref('/upload/upLoadToFileServer') |
| 64 | const route = useRoute() | 67 | const route = useRoute() |
| 68 | import cache from "@/plugins/cache" | ||
| 69 | const language = ref(cache.local.get('language') || 0) | ||
| 70 | |||
| 65 | const data = reactive({ | 71 | const data = reactive({ |
| 66 | form: {}, | 72 | form: {}, |
| 67 | show: false, | 73 | show: false, | ... | ... |
| ... | @@ -26,17 +26,28 @@ | ... | @@ -26,17 +26,28 @@ |
| 26 | </template> | 26 | </template> |
| 27 | 27 | ||
| 28 | <script setup> | 28 | <script setup> |
| 29 | import useUserStore from "@/store/modules/user"; | ||
| 30 | import cache from "@/plugins/cache"; | ||
| 31 | import {getGroup} from "@/api/match/CompetitionProject"; | ||
| 32 | import * as match from "@/apiPc/match"; | ||
| 33 | |||
| 34 | const language = ref(cache.local.get('language') || 0) | ||
| 29 | const props = defineProps({ | 35 | const props = defineProps({ |
| 30 | groupInfo: { | 36 | groupId: { |
| 31 | type: Object, | 37 | type: Object, |
| 32 | required: true | 38 | required: true |
| 33 | }, | ||
| 34 | language: { | ||
| 35 | type: Number, | ||
| 36 | required: true, | ||
| 37 | default: 0 | ||
| 38 | } | 39 | } |
| 39 | }) | 40 | }) |
| 41 | const user = useUserStore().user | ||
| 42 | const groupInfo = useUserStore().group | ||
| 43 | if(props.groupId!=0){ | ||
| 44 | getGroupInfo() | ||
| 45 | } | ||
| 46 | function getGroupInfo() { | ||
| 47 | match.getGroupInfo().then(res => { | ||
| 48 | groupInfo.value = res.data | ||
| 49 | }) | ||
| 50 | } | ||
| 40 | </script> | 51 | </script> |
| 41 | 52 | ||
| 42 | <style scoped lang="scss"> | 53 | <style scoped lang="scss"> | ... | ... |
| ... | @@ -2,11 +2,12 @@ | ... | @@ -2,11 +2,12 @@ |
| 2 | <el-dialog v-model="show" :title="title" width="500px" close-icon="CircleClose" | 2 | <el-dialog v-model="show" :title="title" width="500px" close-icon="CircleClose" |
| 3 | append-to-body :close-on-click-modal="false" class="pcloginpop" center> | 3 | append-to-body :close-on-click-modal="false" class="pcloginpop" center> |
| 4 | <el-form ref="dialogRef" label-width="100px"> | 4 | <el-form ref="dialogRef" label-width="100px"> |
| 5 | <el-form-item label="下载模板"> | 5 | <el-form-item :label="language==0?'下载模板':'Download template'"> |
| 6 | <el-link href="/file/sportsmanTemplate.xlsx" type="primary" target="_blank">人员模板</el-link> | 6 | <el-link href="/file/UserImport-ch.xlsx" v-if="language==0" type="primary" target="_blank">人员模板</el-link> |
| 7 | <el-link href="/file/UserImport-en.xlsx" v-else type="primary" target="_blank">Personnel template</el-link> | ||
| 7 | </el-form-item> | 8 | </el-form-item> |
| 8 | 9 | ||
| 9 | <el-form-item label="上传模板" prop="discount"> | 10 | <el-form-item :label="language==0?'上传模板':'Upload template'" prop="discount"> |
| 10 | <fileImport ref="upload" name="excel" :action="action" @uploadSuccess="uploadSuccess" /> | 11 | <fileImport ref="upload" name="excel" :action="action" @uploadSuccess="uploadSuccess" /> |
| 11 | </el-form-item> | 12 | </el-form-item> |
| 12 | </el-form> | 13 | </el-form> |
| ... | @@ -25,13 +26,17 @@ import { ElMessage, ElMessageBox } from 'element-plus' | ... | @@ -25,13 +26,17 @@ import { ElMessage, ElMessageBox } from 'element-plus' |
| 25 | const { proxy } = getCurrentInstance() | 26 | const { proxy } = getCurrentInstance() |
| 26 | import useUserStore from '@/store/modules/user' | 27 | import useUserStore from '@/store/modules/user' |
| 27 | const emit = defineEmits(['submitForm']) | 28 | const emit = defineEmits(['submitForm']) |
| 28 | 29 | import cache from "@/plugins/cache" | |
| 30 | const language = ref(cache.local.get('language') || 0) | ||
| 29 | const action = ref('') | 31 | const action = ref('') |
| 30 | const accept = ref('.xlsx') | 32 | const accept = ref('.xlsx') |
| 31 | const title = ref('') | 33 | const title = ref('') |
| 32 | const show = ref(false) | 34 | const show = ref(false) |
| 33 | const userStore = useUserStore() | 35 | const userStore = useUserStore() |
| 34 | const groupId = useUserStore().group.id || 0 | 36 | let groupId = 0 |
| 37 | if(useUserStore().group){ | ||
| 38 | groupId = useUserStore().group.id | ||
| 39 | } | ||
| 35 | function uploadSuccess(res) { | 40 | function uploadSuccess(res) { |
| 36 | console.log(res) | 41 | console.log(res) |
| 37 | cancel() | 42 | cancel() | ... | ... |
| ... | @@ -78,7 +78,7 @@ | ... | @@ -78,7 +78,7 @@ |
| 78 | </el-row> | 78 | </el-row> |
| 79 | <el-row> | 79 | <el-row> |
| 80 | <el-col :span="2" :offset="22"> | 80 | <el-col :span="2" :offset="22"> |
| 81 | <el-button type="text" class="fr" @click="editRank(r)">编辑</el-button> | 81 | <el-button type="primary" link class="fr" @click="editRank(r)">编辑</el-button> |
| 82 | </el-col> | 82 | </el-col> |
| 83 | </el-row> | 83 | </el-row> |
| 84 | </div> | 84 | </div> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="border-info" style="margin: 20px"> | 2 | <div class="border-info" style="margin: 20px" v-loading="loading"> |
| 3 | <el-row v-if="language==0"> | 3 | <el-row v-if="language==0"> |
| 4 | <el-col :lg="8"><div class="item"><label>赛事名称</label>{{matchInfo.name}}</div></el-col> | 4 | <el-col :lg="8"><div class="item"><label>赛事名称</label>{{matchInfo.name}}</div></el-col> |
| 5 | <el-col :lg="8"><div class="item"><label>赛事类型</label>{{matchInfo.name}}</div></el-col> | 5 | <el-col :lg="8"><div class="item"><label>赛事类型</label>{{matchInfo.name}}</div></el-col> |
| ... | @@ -18,17 +18,30 @@ | ... | @@ -18,17 +18,30 @@ |
| 18 | </template> | 18 | </template> |
| 19 | 19 | ||
| 20 | <script setup> | 20 | <script setup> |
| 21 | import {onMounted} from "@vue/runtime-core"; | ||
| 22 | import * as match from "@/apiPc/match"; | ||
| 23 | import cache from "@/plugins/cache"; | ||
| 24 | |||
| 25 | const language = ref(cache.local.get('language') || 0) | ||
| 21 | const props = defineProps({ | 26 | const props = defineProps({ |
| 22 | matchInfo: { | 27 | matchId: { |
| 23 | type: Object, | 28 | type: String, |
| 24 | required: true | 29 | required: true |
| 25 | }, | ||
| 26 | language: { | ||
| 27 | type: Number, | ||
| 28 | required: true, | ||
| 29 | default: 0 | ||
| 30 | } | 30 | } |
| 31 | }) | 31 | }) |
| 32 | const matchInfo = ref({}) | ||
| 33 | const loading = ref(false) | ||
| 34 | onMounted(()=>{ | ||
| 35 | loading.value = true | ||
| 36 | if(props.matchId) | ||
| 37 | getMatch() | ||
| 38 | }) | ||
| 39 | const getMatch = () => { | ||
| 40 | match.getMatchById({ id: props.matchId }).then(res => { | ||
| 41 | matchInfo.value = res.data | ||
| 42 | loading.value = false | ||
| 43 | }) | ||
| 44 | } | ||
| 32 | </script> | 45 | </script> |
| 33 | 46 | ||
| 34 | <style scoped lang="scss"> | 47 | <style scoped lang="scss"> | ... | ... |
| ... | @@ -98,7 +98,7 @@ | ... | @@ -98,7 +98,7 @@ |
| 98 | </div> | 98 | </div> |
| 99 | </el-collapse-item> | 99 | </el-collapse-item> |
| 100 | </el-collapse> | 100 | </el-collapse> |
| 101 | <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="form.cptProjectList?.length == 0" description=" "/> | 101 | <el-empty image="@/assets/img/order_no.png" :image-size="228" v-if="form.cptProjectList?.length == 0" description=" "/> |
| 102 | </div> | 102 | </div> |
| 103 | </div> | 103 | </div> |
| 104 | <div style="padding: 0 20px 20px" v-else> | 104 | <div style="padding: 0 20px 20px" v-else> |
| ... | @@ -200,7 +200,7 @@ | ... | @@ -200,7 +200,7 @@ |
| 200 | </div> | 200 | </div> |
| 201 | </el-collapse-item> | 201 | </el-collapse-item> |
| 202 | </el-collapse> | 202 | </el-collapse> |
| 203 | <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="form.cptProjectList?.length == 0" description=" "/> | 203 | <el-empty image="@/assets/img/order_no.png" :image-size="228" v-if="form.cptProjectList?.length == 0" description=" "/> |
| 204 | </div> | 204 | </div> |
| 205 | </div> | 205 | </div> |
| 206 | </template> | 206 | </template> | ... | ... |
| ... | @@ -24,7 +24,7 @@ | ... | @@ -24,7 +24,7 @@ |
| 24 | </el-timeline-item> | 24 | </el-timeline-item> |
| 25 | </el-timeline> | 25 | </el-timeline> |
| 26 | 26 | ||
| 27 | <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="matchData.cptScheduleList?.length==0" description="" /> | 27 | <el-empty image="@/assets/img/order_no.png" :image-size="228" v-if="matchData.cptScheduleList?.length==0" description="" /> |
| 28 | 28 | ||
| 29 | </div> | 29 | </div> |
| 30 | </template> | 30 | </template> | ... | ... |
| ... | @@ -16,7 +16,7 @@ | ... | @@ -16,7 +16,7 @@ |
| 16 | </el-radio> | 16 | </el-radio> |
| 17 | </div> | 17 | </div> |
| 18 | </el-radio-group> | 18 | </el-radio-group> |
| 19 | <el-empty v-if="projectList.length==0" image="@/assets/img/order_no.png" image-size="228" description="无可选项目" /> | 19 | <el-empty v-if="projectList.length==0" image="@/assets/img/order_no.png" :image-size="228" description="无可选项目" /> |
| 20 | 20 | ||
| 21 | </el-form-item> | 21 | </el-form-item> |
| 22 | </el-col> | 22 | </el-col> | ... | ... |
| 1 | <template> | ||
| 2 | <el-table :data="list" border style="width: 100%" v-loading="loading"> | ||
| 3 | <el-table-column :label="language==0?'所属国家':'Nationality'" prop="personInfo.countryName" min-width="100"/> | ||
| 4 | <el-table-column :label="language==0?'姓氏':'Last Name'" prop="personInfo.xing" min-width="100"/> | ||
| 5 | <el-table-column :label="language==0?'名':'First Name'" prop="personInfo.ming" min-width="100"/> | ||
| 6 | <el-table-column :label="language==0?'短名':'Short Name'" prop="personInfo.shortName" min-width="110"/> | ||
| 7 | <el-table-column :label="language==0?'性别':'Gender'" prop="personInfo.sexStr"/> | ||
| 8 | <el-table-column :label="language==0?'年龄':'Age'" prop="personInfo.age"/> | ||
| 9 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="personInfo.birth" width="110"/> | ||
| 10 | <el-table-column :label="language==0?'手机号码':'Phone Number'" prop="personInfo.phone" width="120"/> | ||
| 11 | <el-table-column :label="language==0?'邮箱':'E-mail'" prop="personInfo.email" width="150"/> | ||
| 12 | <el-table-column :label="language==0?'证件类型':'ID Type'" prop="personInfo.idcTypeStr"/> | ||
| 13 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="personInfo.idcCode" width="200"/> | ||
| 14 | <el-table-column :label="language==0?'会员角色':'Role'" width="150"> | ||
| 15 | <template #default="scope"> | ||
| 16 | <div class="esp"> | ||
| 17 | <span v-for="item in scope.row.personInfo.label?.split(',')" :key="item.id" class="text-primary"> | ||
| 18 | <span v-if="item==='0'" class="ml5">{{ language == 0 ? '运动员' : 'athletes' }}</span> | ||
| 19 | <span v-if="item==='1'" class="ml5">{{ language == 0 ? '教练' : 'coach' }}</span> | ||
| 20 | <span v-if="item==='2'" class="ml5">{{ language == 0 ? '领队' : 'team leader' }}</span> | ||
| 21 | <span v-if="item==='3'" class="ml5">{{ language == 0 ? '队医' : 'team doctor' }}</span> | ||
| 22 | <span v-if="item==='4'" class="ml5">{{ language == 0 ? '翻译' : 'translator' }}</span> | ||
| 23 | <span v-if="item==='5'" class="ml5">{{ language == 0 ? '官员' : 'official' }}</span> | ||
| 24 | <span v-if="item==='6'" class="ml5">{{ language == 0 ? '其他' : 'other' }}</span> | ||
| 25 | </span> | ||
| 26 | </div> | ||
| 27 | </template> | ||
| 28 | </el-table-column> | ||
| 29 | <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="personInfo.address" min-width="140"/> | ||
| 30 | |||
| 31 | <el-table-column :label="language==0?'报项':'Entries'" min-width="300" :fixed="hasAction?false:'right'"> | ||
| 32 | <template #default="props"> | ||
| 33 | <ol> | ||
| 34 | <li v-for="s in props.row.signInfo"> | ||
| 35 | {{ s.cptProjectName }} | ||
| 36 | {{ s.cptGroupName }}{{ s.cptLevelName }} | ||
| 37 | <span v-show="s.cptSonLevelName">[{{ s.cptSonLevelName }}]</span> | ||
| 38 | <span v-show="s.zu">-{{ s.zu }}</span> | ||
| 39 | <!-- <el-button type="text" @click="editThis(s)">{{ language == 0 ? '修改' : 'Edit' }}</el-button>--> | ||
| 40 | <!-- <el-button type="text" @click="editMates(s)">更换队友</el-button>--> | ||
| 41 | <!-- <el-button type="text" @click="removeThis(s.id)">{{ language == 0 ? '删除' : 'Delete' }}</el-button>--> | ||
| 42 | </li> | ||
| 43 | </ol> | ||
| 44 | </template> | ||
| 45 | </el-table-column> | ||
| 46 | <el-table-column :fixed="hasAction?false:'right'" :label="language==0?'保险费':'Premium'" prop="insuranceFee"> | ||
| 47 | <template #default="scope"> | ||
| 48 | <span class="text-primary">¥{{ scope.row.insuranceFee }}</span> | ||
| 49 | </template> | ||
| 50 | </el-table-column> | ||
| 51 | <!-- 补充信息--> | ||
| 52 | <el-table-column v-for="(e,index) in extraTableHead" :key="index" :label="e" min-width="110" align="center"> | ||
| 53 | <template #default="scope"> | ||
| 54 | <el-link v-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='2'" | ||
| 55 | :herf="scope.row.signInfo[0].extraPersonInfoMapList[index].value.url"> | ||
| 56 | {{ scope.row.signInfo[0].extraPersonInfoMapList[index].value.name }} | ||
| 57 | </el-link> | ||
| 58 | <img v-else-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='3'" style="width: 50px;" | ||
| 59 | :src="scope.row.signInfo[0].extraPersonInfoMapList[index].value.url||scope.row.signInfo[0].extraPersonInfoMapList[index].value"> | ||
| 60 | <span v-else>{{ scope.row.signInfo[0].extraPersonInfoMapList[index]?.value }}</span> | ||
| 61 | </template> | ||
| 62 | </el-table-column> | ||
| 63 | <el-table-column v-if="hasAction" :label="language==0?'操作':'Actions'" fixed="right" width="150" align="center"> | ||
| 64 | <template #default="scope"> | ||
| 65 | <el-button v-if="extraform&&extraform.length>0" type="primary" link @click="goPersonInfo(scope.row)"> | ||
| 66 | <span v-if="scope.row.extraPersonInfo">{{ language == 0 ? '修改' : 'Edit' }}</span> | ||
| 67 | <span v-else class="red">{{ language == 0?'完善补充信息':'Additional Information' }}</span> | ||
| 68 | </el-button> | ||
| 69 | </template> | ||
| 70 | </el-table-column> | ||
| 71 | </el-table> | ||
| 72 | |||
| 73 | </template> | ||
| 74 | |||
| 75 | <script setup> | ||
| 76 | import * as match from "@/apiPc/match"; | ||
| 77 | import {onMounted} from "@vue/runtime-core"; | ||
| 78 | import {watch} from "vue"; | ||
| 79 | |||
| 80 | const emit = defineEmits(['editExtra']) | ||
| 81 | const props = defineProps({ | ||
| 82 | matchId: { | ||
| 83 | type: String, | ||
| 84 | required: true | ||
| 85 | }, | ||
| 86 | list: { | ||
| 87 | type: Array, | ||
| 88 | required: true | ||
| 89 | }, | ||
| 90 | extraform: { | ||
| 91 | type: Object, | ||
| 92 | required: false | ||
| 93 | }, | ||
| 94 | hasAction: { | ||
| 95 | type: Boolean, | ||
| 96 | required: false, | ||
| 97 | default: true | ||
| 98 | } | ||
| 99 | }) | ||
| 100 | import cache from "@/plugins/cache"; | ||
| 101 | const language = ref(cache.local.get('language') || 0) | ||
| 102 | const extraTableHead = ref([]) | ||
| 103 | const loading = ref(true) | ||
| 104 | getTableHead() | ||
| 105 | const goPersonInfo = (row) => { | ||
| 106 | emit('editExtra', row) | ||
| 107 | } | ||
| 108 | function getTableHead() { | ||
| 109 | match.getCptExtraInfo(props.matchId).then(res => { | ||
| 110 | extraTableHead.value = res.data | ||
| 111 | loading.value = false | ||
| 112 | }) | ||
| 113 | } | ||
| 114 | </script> | ||
| 115 | |||
| 116 | <style scoped> | ||
| 117 | |||
| 118 | </style> |
| 1 | <template> | ||
| 2 | <el-steps :active="activeStep" align-center> | ||
| 3 | <el-step :title="language==0?'教练/领队/其他':'Coach/Team Leader/Other'" /> | ||
| 4 | <el-step :title="language==0?'选手报名':'Participant Registration'" /> | ||
| 5 | <el-step :title="language==0?'提交审核':'Submit for review'" /> | ||
| 6 | </el-steps> | ||
| 7 | </template> | ||
| 8 | |||
| 9 | <script setup> | ||
| 10 | import cache from "@/plugins/cache"; | ||
| 11 | const language = ref(cache.local.get('language') || 0) | ||
| 12 | const props = defineProps({ | ||
| 13 | activeStep: { | ||
| 14 | type: Number, | ||
| 15 | required: true | ||
| 16 | } | ||
| 17 | }) | ||
| 18 | </script> | ||
| 19 | |||
| 20 | <style scoped> | ||
| 21 | |||
| 22 | </style> |
| ... | @@ -45,7 +45,7 @@ | ... | @@ -45,7 +45,7 @@ |
| 45 | </div> | 45 | </div> |
| 46 | </div> | 46 | </div> |
| 47 | 47 | ||
| 48 | <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="list?.length == 0" description=" "/> | 48 | <el-empty image="@/assets/img/order_no.png" :image-size="228" v-if="list?.length == 0" description=" "/> |
| 49 | </template> | 49 | </template> |
| 50 | 50 | ||
| 51 | <script setup> | 51 | <script setup> | ... | ... |
| ... | @@ -8,15 +8,12 @@ | ... | @@ -8,15 +8,12 @@ |
| 8 | </template> | 8 | </template> |
| 9 | 9 | ||
| 10 | <script setup> | 10 | <script setup> |
| 11 | import cache from "@/plugins/cache"; | ||
| 12 | const language = ref(cache.local.get('language') || 0) | ||
| 11 | const props = defineProps({ | 13 | const props = defineProps({ |
| 12 | activeStep: { | 14 | activeStep: { |
| 13 | type: Number, | 15 | type: Number, |
| 14 | required: true | 16 | required: true |
| 15 | }, | ||
| 16 | language: { | ||
| 17 | type: Number, | ||
| 18 | required: true, | ||
| 19 | default: 0 | ||
| 20 | } | 17 | } |
| 21 | }) | 18 | }) |
| 22 | </script> | 19 | </script> | ... | ... |
src/viewsPc/match/components/zu-table.vue
0 → 100644
| 1 | <template> | ||
| 2 | <el-table :data="list" border style="width: 100%"> | ||
| 3 | <el-table-column :label="language==0?'组别代码':'Group code'" width="120px" prop="zuName"/> | ||
| 4 | <el-table-column :label="language==0?'组别':'Group'" prop="project.name"/> | ||
| 5 | <el-table-column :label="language==0?'舞种':'Dance Style'" width="120px" prop="project.danceType"/> | ||
| 6 | <el-table-column :label="language==0?'参赛说明':'Participation Instructions'" prop="project.remarks"/> | ||
| 7 | <el-table-column :label="language==0?'参赛运动员':'Participating athletes'" width="120px"> | ||
| 8 | <template #default="scope"> | ||
| 9 | <div> | ||
| 10 | <span v-for="s in scope.row.athletes">{{ s.name }},</span> | ||
| 11 | </div> | ||
| 12 | </template> | ||
| 13 | </el-table-column> | ||
| 14 | <el-table-column :label="language==0?'报名费':'Registration Fee'" width="120px" prop=""> | ||
| 15 | <template #default="scope"> | ||
| 16 | <div class="text-primary"> | ||
| 17 | ¥{{ scope.row.project.serviceFee }} | ||
| 18 | </div> | ||
| 19 | </template> | ||
| 20 | </el-table-column> | ||
| 21 | <el-table-column v-if="hasAction" :label="language==0?'操作':'Actions'" fixed="right" width="150" align="center"> | ||
| 22 | <template #default="scope"> | ||
| 23 | <el-button type="primary" link @click="remove(scope.row.signId)"> | ||
| 24 | {{language == 0 ? '删除' : 'Delete' }} | ||
| 25 | </el-button> | ||
| 26 | |||
| 27 | </template> | ||
| 28 | </el-table-column> | ||
| 29 | </el-table> | ||
| 30 | |||
| 31 | </template> | ||
| 32 | |||
| 33 | <script setup> | ||
| 34 | const emit = defineEmits(['delete']) | ||
| 35 | const props = defineProps({ | ||
| 36 | list: { | ||
| 37 | type: Array, | ||
| 38 | required: true | ||
| 39 | }, | ||
| 40 | hasAction:{ | ||
| 41 | type: Boolean, | ||
| 42 | required: false, | ||
| 43 | default: true | ||
| 44 | } | ||
| 45 | }) | ||
| 46 | import cache from "@/plugins/cache"; | ||
| 47 | const language = ref(cache.local.get('language') || 0) | ||
| 48 | const remove = (id) => { | ||
| 49 | emit('delete', id) | ||
| 50 | } | ||
| 51 | </script> | ||
| 52 | |||
| 53 | <style scoped> | ||
| 54 | |||
| 55 | </style> |
| ... | @@ -111,7 +111,7 @@ | ... | @@ -111,7 +111,7 @@ |
| 111 | </table> | 111 | </table> |
| 112 | </div> | 112 | </div> |
| 113 | 113 | ||
| 114 | <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="matchData.cptProjectList?.length == 0" description=" "/> | 114 | <el-empty image="@/assets/img/order_no.png" :image-size="228" v-if="matchData.cptProjectList?.length == 0" description=" "/> |
| 115 | </div> | 115 | </div> |
| 116 | </div> | 116 | </div> |
| 117 | <match-schedule-list :match-data="matchData" v-if="menu[2].active==1"/> | 117 | <match-schedule-list :match-data="matchData" v-if="menu[2].active==1"/> |
| ... | @@ -141,11 +141,11 @@ | ... | @@ -141,11 +141,11 @@ |
| 141 | </div> | 141 | </div> |
| 142 | </el-col> | 142 | </el-col> |
| 143 | </el-row> | 143 | </el-row> |
| 144 | <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="(signDoneGroupList==null)||(signDoneGroupList.length==0)" description="" /> | 144 | <el-empty image="@/assets/img/order_no.png" :image-size="228" v-if="(signDoneGroupList==null)||(signDoneGroupList.length==0)" description="" /> |
| 145 | </div> | 145 | </div> |
| 146 | <div v-if="menu[4].active==1"> | 146 | <div v-if="menu[4].active==1"> |
| 147 | <!-- 成绩--> | 147 | <!-- 成绩--> |
| 148 | <el-empty image="@/assets/img/order_no.png" image-size="228" description="暂无成绩" /> | 148 | <el-empty image="@/assets/img/order_no.png" :image-size="228" description="暂无成绩" /> |
| 149 | </div> | 149 | </div> |
| 150 | <div v-if="menu[5].active==1" class="pd20"> | 150 | <div v-if="menu[5].active==1" class="pd20"> |
| 151 | <div class="xzbox" v-html="matchData.signKnow"> | 151 | <div class="xzbox" v-html="matchData.signKnow"> |
| ... | @@ -195,7 +195,7 @@ const router = useRouter() | ... | @@ -195,7 +195,7 @@ const router = useRouter() |
| 195 | const { proxy } = getCurrentInstance() | 195 | const { proxy } = getCurrentInstance() |
| 196 | import * as match from '@/apiPc/match' | 196 | import * as match from '@/apiPc/match' |
| 197 | import { toRefs } from '@vueuse/shared' | 197 | import { toRefs } from '@vueuse/shared' |
| 198 | import { ElMessage } from 'element-plus' | 198 | import {dayjs, ElMessage} from 'element-plus' |
| 199 | import useUserStore from "@/store/modules/user"; | 199 | import useUserStore from "@/store/modules/user"; |
| 200 | const data = reactive({ | 200 | const data = reactive({ |
| 201 | matchData: {}, | 201 | matchData: {}, |
| ... | @@ -205,13 +205,18 @@ const data = reactive({ | ... | @@ -205,13 +205,18 @@ const data = reactive({ |
| 205 | popupGroupList:false, | 205 | popupGroupList:false, |
| 206 | menu:[{name:'赛事详情',active:1},{name:'赛事设项',active:0},{name:'日程',active:0},{name:'参赛队',active:0},{name:'成绩',active:0},{name:'报名须知',active:0}], | 206 | menu:[{name:'赛事详情',active:1},{name:'赛事设项',active:0},{name:'日程',active:0},{name:'参赛队',active:0},{name:'成绩',active:0},{name:'报名须知',active:0}], |
| 207 | menu1:[{name:'分站赛',active:1},{name:'赛事详情',active:0},{name:'日程',active:0}], | 207 | menu1:[{name:'分站赛',active:1},{name:'赛事详情',active:0},{name:'日程',active:0}], |
| 208 | signDoneGroupList: [] | 208 | signDoneGroupList: [], |
| 209 | time:'' | ||
| 209 | }) | 210 | }) |
| 210 | const {matchData,matchId,groupId,activeName2,popupGroupList,menu,menu1,signDoneGroupList} = toRefs(data) | 211 | const {time,matchData,matchId,groupId,activeName2,popupGroupList,menu,menu1,signDoneGroupList} = toRefs(data) |
| 211 | const group = useUserStore().group | 212 | const group = useUserStore().group |
| 212 | const user = useUserStore().user | 213 | const user = useUserStore().user |
| 213 | onMounted(() => { | 214 | onMounted(() => { |
| 214 | groupId.value = group.id | 215 | if(group){ |
| 216 | groupId.value = group.id | ||
| 217 | } else { | ||
| 218 | groupId.value = 0 | ||
| 219 | } | ||
| 215 | match.getMaList().then((res) => { | 220 | match.getMaList().then((res) => { |
| 216 | if(route.params.id!=0){ | 221 | if(route.params.id!=0){ |
| 217 | matchId.value = route.params.id | 222 | matchId.value = route.params.id |
| ... | @@ -230,6 +235,8 @@ function getMatch(id) { | ... | @@ -230,6 +235,8 @@ function getMatch(id) { |
| 230 | if(id!=0) | 235 | if(id!=0) |
| 231 | match.getMatchById({ id: id }).then(res => { | 236 | match.getMatchById({ id: id }).then(res => { |
| 232 | matchData.value = res.data | 237 | matchData.value = res.data |
| 238 | var today = dayjs().format('YYYY-MM-DD HH:mm:ss') | ||
| 239 | time.value = dayjs(res.data.signEndTime).diff(today, 'millisecond') | ||
| 233 | }) | 240 | }) |
| 234 | } | 241 | } |
| 235 | function getGroupListByCptId(id) { | 242 | function getGroupListByCptId(id) { |
| ... | @@ -255,8 +262,15 @@ function choseSignType() { | ... | @@ -255,8 +262,15 @@ function choseSignType() { |
| 255 | // checkIsSign().then(() => { | 262 | // checkIsSign().then(() => { |
| 256 | if (matchData.value.signType == '0'||(matchData.value.signType == '2' && user.utype == '1')) { | 263 | if (matchData.value.signType == '0'||(matchData.value.signType == '2' && user.utype == '1')) { |
| 257 | // 个人报名 | 264 | // 个人报名 |
| 265 | // router.push({ | ||
| 266 | // path: `${matchId.value}/singleSign` | ||
| 267 | // }) | ||
| 258 | router.push({ | 268 | router.push({ |
| 259 | path: `${matchId.value}/singleSign` | 269 | name: `chooseCoach`, |
| 270 | query: { | ||
| 271 | matchId: matchId.value, | ||
| 272 | signType: matchData.value.signType | ||
| 273 | } | ||
| 260 | }) | 274 | }) |
| 261 | } | 275 | } |
| 262 | if(matchData.value.signType == '1'||(matchData.value.signType == '2' && user.utype == '2')){ | 276 | if(matchData.value.signType == '1'||(matchData.value.signType == '2' && user.utype == '2')){ | ... | ... |
| ... | @@ -8,13 +8,13 @@ | ... | @@ -8,13 +8,13 @@ |
| 8 | <img class="mauto w100" :src="fillImgUrl(matchData.coverUrl)" > | 8 | <img class="mauto w100" :src="fillImgUrl(matchData.coverUrl)" > |
| 9 | </el-col> | 9 | </el-col> |
| 10 | <el-col :lg="9" :md="12" :xl="10"> | 10 | <el-col :lg="9" :md="12" :xl="10"> |
| 11 | <h3> | 11 | <h3 class="m0"> |
| 12 | {{ matchData.name }} | 12 | {{ matchData.name }} |
| 13 | </h3> | 13 | </h3> |
| 14 | <p class="ppl"><label class="bm1">Playing Time:</label>{{matchData.beginTime?.slice(0,10)}} ~ {{ matchData.endTime?.slice(0,10) }}</p> | 14 | <p class="ppl"><label class="bm1">Playing Time:</label>{{matchData.beginTime?.slice(0,10)}} ~ {{ matchData.endTime?.slice(0,10) }}</p> |
| 15 | <p class="ppl"><label class="bm2">Event Level:</label>{{ matchData.level }}</p> | 15 | <p class="ppl"><label class="bm2">Event Level:</label>{{ matchData.level }}</p> |
| 16 | <p class="ppl"><label class="bm3">Location:</label>{{ matchData.address }}</p> | 16 | <p class="ppl" v-if="matchData.address"><label class="bm3">Location:</label>{{ matchData.address }}</p> |
| 17 | <p class="ppl"><label class="bm4">Registration Deadline:</label>{{ matchData.signEndTime?.slice(0,10) }}</p> | 17 | <p class="ppl" v-if="matchData.signEndTime"><label class="bm4">Registration Deadline:</label>{{ matchData.signEndTime?.slice(0,10) }}</p> |
| 18 | </el-col> | 18 | </el-col> |
| 19 | <el-col :lg="8" :md="12" :xl="8" v-if="matchData.type=='0'"> | 19 | <el-col :lg="8" :md="12" :xl="8" v-if="matchData.type=='0'"> |
| 20 | <p class="countDownTitle"><span>Registration deadline countdown</span></p> | 20 | <p class="countDownTitle"><span>Registration deadline countdown</span></p> |
| ... | @@ -111,7 +111,7 @@ | ... | @@ -111,7 +111,7 @@ |
| 111 | </table> | 111 | </table> |
| 112 | </div> | 112 | </div> |
| 113 | 113 | ||
| 114 | <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="matchData.cptProjectList?.length == 0" description=" "/> | 114 | <el-empty image="@/assets/img/order_no.png" :image-size="228" v-if="matchData.cptProjectList?.length == 0" description=" "/> |
| 115 | </div> | 115 | </div> |
| 116 | </div> | 116 | </div> |
| 117 | <match-schedule-list :match-data="matchData" v-if="menu[2].active==1"/> | 117 | <match-schedule-list :match-data="matchData" v-if="menu[2].active==1"/> |
| ... | @@ -141,11 +141,11 @@ | ... | @@ -141,11 +141,11 @@ |
| 141 | </div> | 141 | </div> |
| 142 | </el-col> | 142 | </el-col> |
| 143 | </el-row> | 143 | </el-row> |
| 144 | <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="(signDoneGroupList==null)||(signDoneGroupList.length==0)" description="" /> | 144 | <el-empty image="@/assets/img/order_no.png" :image-size="228" v-if="(signDoneGroupList==null)||(signDoneGroupList.length==0)" description="" /> |
| 145 | </div> | 145 | </div> |
| 146 | <div v-if="menu[4].active==1"> | 146 | <div v-if="menu[4].active==1"> |
| 147 | <!-- 成绩--> | 147 | <!-- 成绩--> |
| 148 | <el-empty image="@/assets/img/order_no.png" image-size="228" description="" /> | 148 | <el-empty image="@/assets/img/order_no.png" :image-size="228" description="" /> |
| 149 | </div> | 149 | </div> |
| 150 | <div v-if="menu[5].active==1" class="pd20"> | 150 | <div v-if="menu[5].active==1" class="pd20"> |
| 151 | <div class="xzbox" v-html="matchData.signKnow"> | 151 | <div class="xzbox" v-html="matchData.signKnow"> |
| ... | @@ -197,7 +197,7 @@ const router = useRouter() | ... | @@ -197,7 +197,7 @@ const router = useRouter() |
| 197 | const { proxy } = getCurrentInstance() | 197 | const { proxy } = getCurrentInstance() |
| 198 | import * as match from '@/apiPc/match' | 198 | import * as match from '@/apiPc/match' |
| 199 | import { toRefs } from '@vueuse/shared' | 199 | import { toRefs } from '@vueuse/shared' |
| 200 | import { ElMessage } from 'element-plus' | 200 | import {dayjs, ElMessage} from 'element-plus' |
| 201 | import useUserStore from "@/store/modules/user"; | 201 | import useUserStore from "@/store/modules/user"; |
| 202 | const user = useUserStore().user || {} | 202 | const user = useUserStore().user || {} |
| 203 | const group = useUserStore().group || {} | 203 | const group = useUserStore().group || {} |
| ... | @@ -210,11 +210,16 @@ const data = reactive({ | ... | @@ -210,11 +210,16 @@ const data = reactive({ |
| 210 | menu:[{name:'Event details',active:1},{name:'Event settings',active:0},{name:'Schedule',active:0},{name:'Participating teams',active:0}, | 210 | menu:[{name:'Event details',active:1},{name:'Event settings',active:0},{name:'Schedule',active:0},{name:'Participating teams',active:0}, |
| 211 | {name:'Achievement',active:0},{name:'Notes',active:0}], | 211 | {name:'Achievement',active:0},{name:'Notes',active:0}], |
| 212 | menu1:[{name:'Station race',active:1},{name:'Event details',active:0},{name:'Schedule',active:0}], | 212 | menu1:[{name:'Station race',active:1},{name:'Event details',active:0},{name:'Schedule',active:0}], |
| 213 | signDoneGroupList: [] | 213 | signDoneGroupList: [], |
| 214 | time:'' | ||
| 214 | }) | 215 | }) |
| 215 | const {matchData,matchId,groupId,activeName2,popupGroupList,menu,menu1,signDoneGroupList} = toRefs(data) | 216 | const {matchData,matchId,groupId,activeName2,popupGroupList,menu,menu1,signDoneGroupList,time} = toRefs(data) |
| 216 | onMounted(() => { | 217 | onMounted(() => { |
| 217 | groupId.value = group.id | 218 | if(group){ |
| 219 | groupId.value = group.id | ||
| 220 | } else { | ||
| 221 | groupId.value = 0 | ||
| 222 | } | ||
| 218 | match.getMaList().then((res) => { | 223 | match.getMaList().then((res) => { |
| 219 | if(route.params.id!=0){ | 224 | if(route.params.id!=0){ |
| 220 | matchId.value = route.params.id | 225 | matchId.value = route.params.id |
| ... | @@ -232,6 +237,8 @@ function getMatch(id) { | ... | @@ -232,6 +237,8 @@ function getMatch(id) { |
| 232 | if(id!=0) | 237 | if(id!=0) |
| 233 | match.getMatchById({ id: id }).then(res => { | 238 | match.getMatchById({ id: id }).then(res => { |
| 234 | matchData.value = res.data | 239 | matchData.value = res.data |
| 240 | var today = dayjs().format('YYYY-MM-DD HH:mm:ss') | ||
| 241 | time.value = dayjs(res.data.signEndTime).diff(today, 'millisecond') | ||
| 235 | }) | 242 | }) |
| 236 | } | 243 | } |
| 237 | function getGroupListByCptId(id) { | 244 | function getGroupListByCptId(id) { |
| ... | @@ -257,9 +264,13 @@ function choseSignType() { | ... | @@ -257,9 +264,13 @@ function choseSignType() { |
| 257 | // checkIsSign().then(() => { | 264 | // checkIsSign().then(() => { |
| 258 | if (matchData.value.signType == '0'||(matchData.value.signType == '2' && user.utype == '1')) { | 265 | if (matchData.value.signType == '0'||(matchData.value.signType == '2' && user.utype == '1')) { |
| 259 | // 个人报名 | 266 | // 个人报名 |
| 260 | router.push({ | 267 | router.push({ |
| 261 | path: `${route.params.id}/singleSign` | 268 | name: `chooseCoach`, |
| 262 | }) | 269 | query: { |
| 270 | matchId: matchId.value, | ||
| 271 | signType: matchData.value.signType | ||
| 272 | } | ||
| 273 | }) | ||
| 263 | } | 274 | } |
| 264 | if(matchData.value.signType == '1'||(matchData.value.signType == '2' && user.utype == '2')){ | 275 | if(matchData.value.signType == '1'||(matchData.value.signType == '2' && user.utype == '2')){ |
| 265 | router.push({ | 276 | router.push({ |
| ... | @@ -289,6 +300,7 @@ function checkIsSign() { | ... | @@ -289,6 +300,7 @@ function checkIsSign() { |
| 289 | </script> | 300 | </script> |
| 290 | 301 | ||
| 291 | <style scoped lang="scss"> | 302 | <style scoped lang="scss"> |
| 303 | .m0{margin: 0;} | ||
| 292 | .indexTitle{margin: 20px 0 12px; | 304 | .indexTitle{margin: 20px 0 12px; |
| 293 | h3{ | 305 | h3{ |
| 294 | font-size: 20px; | 306 | font-size: 20px; | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div> | 2 | <div style="min-height: 100vh"> |
| 3 | <div class="box"> | 3 | <div class="box" v-if="!errorBox"> |
| 4 | <el-card :body-style="{ padding: '0px' }" class="mt20"> | 4 | <el-card :body-style="{ padding: '0px' }" class="mt20"> |
| 5 | <div slot="header"> | 5 | <div slot="header"> |
| 6 | <div class="bg-lineg">报名缴费清单</div> | 6 | <div class="bg-lineg">{{ language == 0 ? '报名缴费清单' : 'Registration Payment List' }}</div> |
| 7 | </div> | 7 | </div> |
| 8 | <div class="pd20"> | 8 | <match-info-row v-if="matchId" :match-id="matchId"/> |
| 9 | <div class="border-info"> | 9 | <div v-if="isLogin"> |
| 10 | <el-row> | 10 | <group-info-row v-if="groupId" :group-id="groupId"/> |
| 11 | <el-col :lg="8"> | 11 | <coach-info-row v-if="groupId" :group-id="groupId" :match-id="matchId"/> |
| 12 | <div class="item"><label>赛事名称</label>{{ matchInfo.name }}</div> | 12 | <div class="pd20"> |
| 13 | </el-col> | 13 | <div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}</div> |
| 14 | <el-col :lg="8"> | ||
| 15 | <div class="item"><label>赛事类型</label>{{ matchInfo.name }}</div> | ||
| 16 | </el-col> | ||
| 17 | <el-col :lg="8"> | ||
| 18 | <div class="item"><label>赛事时间</label>{{ matchInfo.beginTime?.slice(0, 10) }} 至 | ||
| 19 | {{ matchInfo.endTime?.slice(0, 10) }} | ||
| 20 | </div> | ||
| 21 | </el-col> | ||
| 22 | <el-col :lg="8"> | ||
| 23 | <div class="item"><label>报名时间</label>{{ matchInfo.signBeginTime?.slice(0, 10) }} | ||
| 24 | 至{{ matchInfo.signEndTime?.slice(0, 10) }} | ||
| 25 | </div> | ||
| 26 | </el-col> | ||
| 27 | <el-col :lg="16"> | ||
| 28 | <div class="item"><label>比赛地址</label>{{ matchInfo.address }}</div> | ||
| 29 | </el-col> | ||
| 30 | </el-row> | ||
| 31 | |||
| 32 | </div> | ||
| 33 | <div class="border-info gray mt20"> | ||
| 34 | <el-row> | ||
| 35 | <el-col :lg="8"> | ||
| 36 | <div class="item"><label>团队名称</label>{{ matchInfo.signFee }}</div> | ||
| 37 | <div class="item"><label>团队类型</label>{{ matchInfo.signFee }}</div> | ||
| 38 | </el-col> | ||
| 39 | <el-col :lg="8"> | ||
| 40 | <div class="item"><label>负责人姓名</label>{{ matchInfo.signFee }}</div> | ||
| 41 | <div class="item"><label>参赛队名称</label>{{ matchInfo.signFee }}</div> | ||
| 42 | |||
| 43 | </el-col> | ||
| 44 | <el-col :lg="8"> | ||
| 45 | <div class="item"><label>邮箱</label>{{ matchInfo.signFee }}</div> | ||
| 46 | <div class="item"><label>详细地址</label>{{ matchInfo.signFee }}</div> | ||
| 47 | </el-col> | ||
| 48 | </el-row> | ||
| 49 | </div> | ||
| 50 | <div class="border-info mt20"> | ||
| 51 | <el-row> | ||
| 52 | <el-col :lg="8"> | ||
| 53 | <div class="item"><label>教练</label>{{ matchInfo.signFee }}</div> | ||
| 54 | <div class="item"><label>翻译</label>{{ matchInfo.signFee }}</div> | ||
| 55 | </el-col> | ||
| 56 | <el-col :lg="8"> | ||
| 57 | <div class="item"><label>领队</label>{{ matchInfo.signFee }}</div> | ||
| 58 | <div class="item"><label>官员</label>{{ matchInfo.signFee }}</div> | ||
| 59 | </el-col> | ||
| 60 | <el-col :lg="8"> | ||
| 61 | <div class="item"><label>队医</label>{{ matchInfo.signFee }}</div> | ||
| 62 | <div class="item"><label>其他</label>{{ matchInfo.signFee }}</div> | ||
| 63 | </el-col> | ||
| 64 | </el-row> | ||
| 65 | </div> | ||
| 66 | |||
| 67 | <div class="mt20"> | ||
| 68 | <div class="leftboderTT">参赛人员保险费</div> | ||
| 69 | <!-- 人员列表--> | 14 | <!-- 人员列表--> |
| 70 | <el-table :data="tableData" border style="width: 100%" class="mt20" :span-method="arraySpanMethod"> | 15 | <sign-info-table class="mt20" v-if="matchId" :match-id="matchId" :list="signInfoList" :hasAction="false"/> |
| 71 | <el-table-column label="所属国家"/> | ||
| 72 | <el-table-column prop="name" label="姓氏" width="180" align="center"></el-table-column> | ||
| 73 | <el-table-column label="名"/> | ||
| 74 | <el-table-column label="短名"/> | ||
| 75 | <el-table-column prop="sex" label="性别" width="180" align="center"></el-table-column> | ||
| 76 | <el-table-column prop="age" label="年龄" width="180" align="center"></el-table-column> | ||
| 77 | <el-table-column label="出生日期" align="center"/> | ||
| 78 | <el-table-column prop="phone" label="手机号码" width="180" align="center"></el-table-column> | ||
| 79 | <el-table-column label="邮箱"/> | ||
| 80 | <el-table-column label="证件类型" align="center"/> | ||
| 81 | <el-table-column label="证件号码"/> | ||
| 82 | <el-table-column label="报项" fixed="right"> | ||
| 83 | <template #default="scope"> | ||
| 84 | <ol> | ||
| 85 | <li v-for="item in scope.row.items" :key="item.id">{{ item.name }}</li> | ||
| 86 | </ol> | ||
| 87 | </template> | ||
| 88 | </el-table-column> | ||
| 89 | <el-table-column label="保险费" fixed="right" align="center"> | ||
| 90 | <template #default="scope"> | ||
| 91 | <span class="text-primary">¥{{ scope.row.signFee }}/人</span> | ||
| 92 | </template> | ||
| 93 | </el-table-column> | ||
| 94 | </el-table> | ||
| 95 | </div> | 16 | </div> |
| 96 | 17 | <div class="pd20"> | |
| 97 | <div class="mt20"> | 18 | <div class="leftboderTT">{{ language == 0 ? '参赛设项报名费' : 'Registration Fee for Event Entry' }}</div> |
| 98 | <div class="leftboderTT">参赛设项报名费</div> | 19 | <zu-table class="mt20" :list="zuTableList" :hasAction="false"/> |
| 99 | <!-- 报项列表--> | ||
| 100 | <el-table :data="tableData" border style="width: 100%" class="mt20"> | ||
| 101 | <el-table-column label="组别代码" align="center"/> | ||
| 102 | <el-table-column label="组别" align="center"/> | ||
| 103 | <el-table-column label="舞种" align="center"/> | ||
| 104 | <el-table-column label="参赛说明"/> | ||
| 105 | <el-table-column label="参赛运动员"/> | ||
| 106 | <el-table-column label="补充信息"/> | ||
| 107 | <el-table-column label="报名费" align="center"> | ||
| 108 | <template #default="scope"> | ||
| 109 | <span class="text-primary">¥{{ scope.row.signFee }}/人</span> | ||
| 110 | </template> | ||
| 111 | </el-table-column> | ||
| 112 | </el-table> | ||
| 113 | </div> | 20 | </div> |
| 114 | </div> | 21 | </div> |
| 115 | 22 | <div v-else class="pd20 skeletonBox"> | |
| 23 | <el-skeleton :rows="8"/> | ||
| 24 | <el-button type="primary" class="w200px btn-lineG" round>登录后查看详细报项信息</el-button> | ||
| 25 | </div> | ||
| 116 | </el-card> | 26 | </el-card> |
| 117 | 27 | ||
| 118 | <el-card class="mt20 mb20"> | 28 | <el-card class="mt20 mb20"> |
| 119 | <el-row class="result"> | 29 | <el-row class="result"> |
| 120 | <el-col :lg="12"> | 30 | <el-col :lg="12"> |
| 121 | <div class="text-success flex" v-if="approved"> | 31 | <div class="text-warning flex" v-if="form.auditStatus=='1'"> |
| 32 | <img src="@/assets/img/ing.png"> | ||
| 33 | 报名信息审核中 | ||
| 34 | </div> | ||
| 35 | <div class="text-success flex" v-if="form.auditStatus=='2'"> | ||
| 122 | <img src="@/assets/img/r.png"> | 36 | <img src="@/assets/img/r.png"> |
| 123 | 报名信息审核通过</div> | 37 | 报名信息审核通过 |
| 124 | <div class="text-danger flex" v-else> | 38 | </div> |
| 125 | <img src="@/assets/img/w.png">报名信息审核拒绝</div> | 39 | <div class="text-danger flex" v-if="form.auditStatus=='3'"> |
| 40 | <img src="@/assets/img/w.png">报名信息审核拒绝 | ||
| 41 | </div> | ||
| 126 | </el-col> | 42 | </el-col> |
| 127 | <el-col :lg="12"> | 43 | <el-col :lg="12"> |
| 128 | <div class="priceb">待支付金额:<span class="price">¥1840.00</span></div> | 44 | <div class="priceb" v-if="form.payStatus=='0'">待支付金额:<span class="price">¥{{ Number(totalFee).toFixed(2) }}</span></div> |
| 45 | <div class="priceb" v-if="form.payStatus=='1'">已支付金额:<span class="price">¥{{ Number(totalFee).toFixed(2) }}</span></div> | ||
| 129 | </el-col> | 46 | </el-col> |
| 130 | </el-row> | 47 | </el-row> |
| 131 | </el-card> | 48 | </el-card> |
| 132 | <el-card class="mb60" v-if="approved"> | 49 | <el-card class="mb60" v-if="form.auditStatus=='2'&&form.payStatus=='0'"> |
| 133 | <div class="leftboderTT">选择支付方式</div> | 50 | <div class="leftboderTT">{{ language==0?'选择支付方式':'Choose payment method' }}</div> |
| 134 | <div class="mt20"> | 51 | <div class="mt20"> |
| 135 | <el-radio-group v-model="payType"> | 52 | <el-radio-group v-model="payType"> |
| 136 | <!-- <el-radio label="1" border>--> | 53 | <!-- <el-radio label="1" border>--> |
| 137 | <!-- <svg t="1709003181386" class="icon" viewBox="0 0 3283 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="31015" width="100" height="40"><path d="M1163.122759 94.631724H593.92A133.826207 133.826207 0 0 0 459.034483 228.457931v567.084138a133.473103 133.473103 0 0 0 133.826207 133.826207h570.262069a133.826207 133.826207 0 0 0 134.17931-133.826207v-5.296552s-217.864828-90.394483-328.033103-143.36c-73.445517 90.747586-168.783448 145.478621-267.652414 145.478621-167.017931 0-223.514483-145.831724-144.419311-241.875862a169.136552 169.136552 0 0 1 92.16-51.906207c70.62069-17.302069 184.32 10.946207 290.604138 45.903448A587.211034 587.211034 0 0 0 988.689655 429.373793h-328.73931v-32.838621h168.783448V337.213793h-204.446896v-33.191724h204.446896V219.630345a14.124138 14.124138 0 0 1 14.477241-14.477242h82.273104v98.868966h202.328276v33.191724h-202.328276v59.321379h165.252414a677.605517 677.605517 0 0 1-70.62069 176.551725c50.14069 18.008276 94.984828 35.310345 128.529655 46.256551a930.427586 930.427586 0 0 0 147.950345 42.725518V228.457931a133.826207 133.826207 0 0 0-133.473103-133.826207z" fill="#089fe8" p-id="31016"></path><path d="M663.481379 548.016552a162.78069 162.78069 0 0 0-81.566896 30.366896c-64.617931 55.790345-26.129655 158.190345 104.165517 158.190345 75.917241 0 151.481379-48.375172 211.862069-125.704827-85.804138-40.96-156.424828-70.267586-234.46069-62.852414zM2488.673103 225.28h239.757242v47.668966h85.804138V216.805517a22.951724 22.951724 0 0 0-21.892414-23.304827h-139.122759V149.009655h-89.335172v44.137931h-160.662069v79.80138h85.451034zM1882.394483 360.518621h67.442758v247.172413h73.798621V280.011034h-26.835862l55.437241-126.764137H1970.317241l-87.922758 207.271724zM2824.827586 596.391724l-26.835862-90.747586a13.771034 13.771034 0 0 0-13.064827-10.24h-70.62069l20.48 70.62069H2648.275862v-135.944828h164.546207v-32.132414H2648.275862v-63.55862h164.546207v-32.132414h-409.6v32.132414h164.546207v63.55862h-164.546207v32.132414h164.546207V564.965517h-164.546207v32.132414H2824.827586zM2158.521379 323.442759a16.595862 16.595862 0 0 0-15.183448-9.886897h-63.558621l49.434483 156.424828h75.564138z" fill="#089fe8" p-id="31017"></path><path d="M2319.889655 156.777931h-76.623448v80.154483h-188.557241v32.132414h188.557241v287.426206a13.064828 13.064828 0 0 1-12.358621 12.005518h-38.841379v31.77931h99.222069a30.013793 30.013793 0 0 0 28.601379-29.66069V269.064828h31.073104v-32.132414h-31.073104zM1871.448276 577.677241a913.831724 913.831724 0 0 1-168.783448-80.507586 357.34069 357.34069 0 0 0 141.241379-194.56H1694.896552V249.997241h170.195862v-32.83862H1694.896552V150.422069h-75.211035a15.536552 15.536552 0 0 0-15.183448 15.536552v51.2h-169.136552v32.83862h169.136552v52.612414h-141.241379v32.838621h284.248276a278.951724 278.951724 0 0 1-93.572414 127.470345 360.871724 360.871724 0 0 1-93.572414-94.984828H1483.034483a423.724138 423.724138 0 0 0 122.173793 130.295173 662.775172 662.775172 0 0 1-172.667586 77.329655v39.194482A773.296552 773.296552 0 0 0 1653.230345 529.655172 781.771034 781.771034 0 0 0 1871.448276 614.753103zM1553.655172 674.78069l-70.620689 190.675862h35.310345l13.417931-38.488276h70.620689l12.711724 38.488276h35.310345l-70.620689-190.675862z m-12.711724 128.176551l27.188966-79.095172 26.482758 79.095172zM1796.237241 674.78069h-34.251034v190.675862h115.464827v-26.129655h-81.213793v-164.546207zM2003.155862 674.78069h34.251035v190.322758h-34.251035zM2250.328276 674.78069h-74.151724v190.675862h35.310345v-73.445518h39.900689a58.615172 58.615172 0 1 0 0-117.230344z m-2.118621 91.100689H2210.427586v-64.971034h37.782069a31.073103 31.073103 0 0 1 30.366897 32.485517 30.72 30.72 0 0 1-30.366897 32.485517zM2465.015172 674.78069l-70.620689 190.675862h35.310345l13.417931-38.488276h70.620689l12.711724 38.488276h35.310345l-70.620689-190.675862z m-12.711724 128.176551l27.542069-79.095172 27.188966 79.095172zM2716.071724 755.994483l-38.135172-81.213793H2641.213793l57.555862 112.286896v78.388966h33.897931v-78.388966l0.353104-0.353103 57.555862-111.933793h-37.075862l-37.428966 81.213793z" fill="#089fe8" p-id="31018"></path></svg>--> | 54 | <!-- <svg t="1709003181386" class="icon" viewBox="0 0 3283 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="31015" width="100" height="40"><path d="M1163.122759 94.631724H593.92A133.826207 133.826207 0 0 0 459.034483 228.457931v567.084138a133.473103 133.473103 0 0 0 133.826207 133.826207h570.262069a133.826207 133.826207 0 0 0 134.17931-133.826207v-5.296552s-217.864828-90.394483-328.033103-143.36c-73.445517 90.747586-168.783448 145.478621-267.652414 145.478621-167.017931 0-223.514483-145.831724-144.419311-241.875862a169.136552 169.136552 0 0 1 92.16-51.906207c70.62069-17.302069 184.32 10.946207 290.604138 45.903448A587.211034 587.211034 0 0 0 988.689655 429.373793h-328.73931v-32.838621h168.783448V337.213793h-204.446896v-33.191724h204.446896V219.630345a14.124138 14.124138 0 0 1 14.477241-14.477242h82.273104v98.868966h202.328276v33.191724h-202.328276v59.321379h165.252414a677.605517 677.605517 0 0 1-70.62069 176.551725c50.14069 18.008276 94.984828 35.310345 128.529655 46.256551a930.427586 930.427586 0 0 0 147.950345 42.725518V228.457931a133.826207 133.826207 0 0 0-133.473103-133.826207z" fill="#089fe8" p-id="31016"></path><path d="M663.481379 548.016552a162.78069 162.78069 0 0 0-81.566896 30.366896c-64.617931 55.790345-26.129655 158.190345 104.165517 158.190345 75.917241 0 151.481379-48.375172 211.862069-125.704827-85.804138-40.96-156.424828-70.267586-234.46069-62.852414zM2488.673103 225.28h239.757242v47.668966h85.804138V216.805517a22.951724 22.951724 0 0 0-21.892414-23.304827h-139.122759V149.009655h-89.335172v44.137931h-160.662069v79.80138h85.451034zM1882.394483 360.518621h67.442758v247.172413h73.798621V280.011034h-26.835862l55.437241-126.764137H1970.317241l-87.922758 207.271724zM2824.827586 596.391724l-26.835862-90.747586a13.771034 13.771034 0 0 0-13.064827-10.24h-70.62069l20.48 70.62069H2648.275862v-135.944828h164.546207v-32.132414H2648.275862v-63.55862h164.546207v-32.132414h-409.6v32.132414h164.546207v63.55862h-164.546207v32.132414h164.546207V564.965517h-164.546207v32.132414H2824.827586zM2158.521379 323.442759a16.595862 16.595862 0 0 0-15.183448-9.886897h-63.558621l49.434483 156.424828h75.564138z" fill="#089fe8" p-id="31017"></path><path d="M2319.889655 156.777931h-76.623448v80.154483h-188.557241v32.132414h188.557241v287.426206a13.064828 13.064828 0 0 1-12.358621 12.005518h-38.841379v31.77931h99.222069a30.013793 30.013793 0 0 0 28.601379-29.66069V269.064828h31.073104v-32.132414h-31.073104zM1871.448276 577.677241a913.831724 913.831724 0 0 1-168.783448-80.507586 357.34069 357.34069 0 0 0 141.241379-194.56H1694.896552V249.997241h170.195862v-32.83862H1694.896552V150.422069h-75.211035a15.536552 15.536552 0 0 0-15.183448 15.536552v51.2h-169.136552v32.83862h169.136552v52.612414h-141.241379v32.838621h284.248276a278.951724 278.951724 0 0 1-93.572414 127.470345 360.871724 360.871724 0 0 1-93.572414-94.984828H1483.034483a423.724138 423.724138 0 0 0 122.173793 130.295173 662.775172 662.775172 0 0 1-172.667586 77.329655v39.194482A773.296552 773.296552 0 0 0 1653.230345 529.655172 781.771034 781.771034 0 0 0 1871.448276 614.753103zM1553.655172 674.78069l-70.620689 190.675862h35.310345l13.417931-38.488276h70.620689l12.711724 38.488276h35.310345l-70.620689-190.675862z m-12.711724 128.176551l27.188966-79.095172 26.482758 79.095172zM1796.237241 674.78069h-34.251034v190.675862h115.464827v-26.129655h-81.213793v-164.546207zM2003.155862 674.78069h34.251035v190.322758h-34.251035zM2250.328276 674.78069h-74.151724v190.675862h35.310345v-73.445518h39.900689a58.615172 58.615172 0 1 0 0-117.230344z m-2.118621 91.100689H2210.427586v-64.971034h37.782069a31.073103 31.073103 0 0 1 30.366897 32.485517 30.72 30.72 0 0 1-30.366897 32.485517zM2465.015172 674.78069l-70.620689 190.675862h35.310345l13.417931-38.488276h70.620689l12.711724 38.488276h35.310345l-70.620689-190.675862z m-12.711724 128.176551l27.542069-79.095172 27.188966 79.095172zM2716.071724 755.994483l-38.135172-81.213793H2641.213793l57.555862 112.286896v78.388966h33.897931v-78.388966l0.353104-0.353103 57.555862-111.933793h-37.075862l-37.428966 81.213793z" fill="#089fe8" p-id="31018"></path></svg>--> |
| 138 | <!-- </el-radio>--> | 55 | <!-- </el-radio>--> |
| 139 | <el-radio label="2" border> | 56 | <el-radio label="2" border> |
| 140 | <svg t="1709002960407" class="icon" viewBox="0 0 3152 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24747" width="94" height="40"><path d="M381.998922 630.960647c-4.416173 2.208086-8.832345 3.312129-14.352561 3.312129-12.144474 0-22.080863-7.17628-28.1531-17.66469l-2.208086-4.968194-87.771428-204.247978c-1.104043-2.208086-1.104043-4.416173-1.104043-6.624259 0-9.384367 6.624259-16.560647 15.456603-16.560647 3.312129 0 6.624259 1.104043 9.936388 3.312129l103.780054 78.387062c7.728302 4.968194 16.560647 8.280323 26.497035 8.280324 5.520216 0 11.040431-1.104043 16.560647-3.312129l486.330998-230.192992C819.752022 131.381132 676.226415 60.17035 513.380054 60.17035 248.409704 59.618329 32.017251 250.61779 32.017251 486.883019c0 128.069003 64.586523 244.545553 166.15849 322.932614 7.728302 6.072237 13.248518 16.560647 13.248518 27.601079 0 3.312129-1.104043 7.17628-2.208086 10.488409-7.728302 32.017251-20.976819 84.459299-20.97682 86.667386-1.104043 3.312129-2.208086 8.280323-2.208086 13.248517 0 9.384367 6.624259 16.560647 15.456604 16.560647 3.312129 0 6.624259-1.104043 8.832345-3.312129l104.884097-65.138545c7.728302-4.968194 16.560647-8.280323 25.392992-8.280323 4.416173 0 9.936388 1.104043 14.35256 2.208086 49.129919 15.456604 102.676011 23.736927 157.326146 23.736927 265.522372 0 481.362803-191.551482 481.362803-427.816711 0-71.210782-19.872776-139.109434-54.650135-198.175741L385.863073 628.752561l-3.864151 2.208086z" fill="#09BB07" p-id="24748"></path><path d="M1398.822642 381.998922c-9.384367 19.320755-20.424798 38.641509-32.017251 57.962264v263.866307h-31.465229V485.226954c-13.248518 18.216712-27.049057 34.225337-40.297574 48.025876-3.864151-7.17628-14.352561-23.736927-20.424798-30.361186 34.777358-33.673315 71.210782-82.803235 93.843666-131.933153l30.361186 11.040431z m-8.280324-91.63558c-22.632884 36.985445-59.066307 78.939084-91.635579 105.98814-4.416173-7.17628-13.248518-19.320755-19.320755-25.945013 29.809164-23.736927 62.378437-61.274394 78.939083-92.187601l32.017251 12.144474z m181.615094 289.811321c1.656065 7.728302 6.072237 19.320755 8.832345 24.84097-55.754178 37.537466-66.242588 46.369811-72.866846 54.650135-1.656065-7.728302-8.280323-22.080863-12.696496-28.705121 4.968194-3.312129 12.696496-10.48841 12.696496-28.705121v-54.098114h-60.17035v27.049057c0 38.641509-7.728302 91.083558-42.505661 128.069003-4.416173-7.17628-16.560647-19.320755-22.632884-23.184906 29.809164-31.465229 34.225337-72.866846 34.225337-105.436119v-54.098113h118.684636v82.251213l36.433423-22.632884z m123.100809-176.094879c-9.384367 73.970889-23.184906 136.349326-48.025876 187.687332 16.560647 36.433423 39.193531 66.242588 67.346631 83.355256-7.17628 6.072237-17.112668 18.216712-22.632884 27.049057-25.945013-18.216712-46.369811-45.265768-62.930459-78.939084-20.424798 32.017251-45.81779 59.066307-78.939083 81.699191-3.864151-6.624259-13.248518-19.872776-19.872776-25.392992 36.985445-22.632884 64.034501-52.99407 83.907277-89.979514-12.696496-34.777358-22.080863-73.418868-28.705121-115.372507-4.968194 11.040431-10.48841 22.632884-16.560647 31.465229-3.864151-4.416173-10.48841-13.248518-17.112668-20.424798v5.520216h-154.014017v-29.809165h154.014017v9.384367c24.84097-49.129919 37.537466-118.684636 44.713746-191.551483l31.465229 4.968195c-3.864151 31.465229-8.280323 61.274394-13.800539 90.531536h96.051752v29.809164h-14.904582z m-142.973585 22.632884h-145.181671v-110.404312h24.84097v82.251213h35.32938V278.770889h26.497035v119.78868h33.673316V316.308356h25.392992v110.404312z m55.202156-22.632884c-1.656065 6.624259-3.312129 12.696496-4.416172 18.768734 6.072237 46.369811 14.904582 91.083558 28.1531 130.277088 16.560647-43.057682 26.497035-91.63558 32.569272-149.045822h-56.3062zM1882.393531 289.259299c-10.48841 31.465229-24.288949 62.378437-39.193531 91.63558v324.036657h-32.017251V437.201078c-13.800539 22.632884-29.257143 42.50566-44.161725 60.170351-3.312129-7.728302-13.248518-24.288949-19.320754-32.017251 41.953639-45.265768 80.043127-114.820485 103.780053-184.927224l30.913208 8.832345z m288.707278 65.690566v29.257143h-294.779515v-29.257143h294.779515z m-267.730459 199.831806h235.713208v147.941779h-30.913208v-16.560647h-174.438814v18.216712h-30.361186v-149.597844z m231.297035-104.332075H1909.994609v-28.1531h224.672776v28.1531zM1909.994609 486.883019h224.672776v28.1531H1909.994609v-28.1531z m23.736927 96.603773V656.90566h174.438814v-73.418868h-174.438814z m81.699192-231.297035c-6.072237-16.560647-20.424798-43.057682-32.017251-61.826415l29.257143-12.144474c13.248518 19.320755 27.601078 44.161725 34.225337 60.722372l-31.465229 13.248517zM2586.221024 468.114286c-26.497035 63.48248-69.002695 111.508356-122.548787 147.941779 50.785984 25.945013 110.956334 43.609704 180.511051 52.442048-7.728302 8.280323-16.560647 23.184906-21.528841 33.673316-75.074933-11.592453-139.661456-32.569272-192.655525-64.034502-57.962264 32.017251-125.308895 52.99407-195.415634 66.794609-3.312129-9.384367-12.696496-25.392992-19.320754-33.121293 66.242588-10.48841 129.173046-28.1531 183.271159-55.202157-44.161725-32.017251-78.939084-72.866846-103.780054-123.65283l10.48841-3.864151h-49.12992v-34.225337h155.670081V383.654987h-176.6469v-34.225337h176.6469V278.770889h35.32938v70.658761h177.750944v34.225337h-177.750944v71.210781H2555.859838l7.176281-1.656064 23.184905 14.904582z m-255.033962 20.976819c23.184906 43.609704 56.858221 80.043127 100.467925 108.748248 44.161725-28.1531 80.043127-63.48248 104.332075-108.748248h-204.8zM2834.630728 292.571429c-13.800539 34.777358-30.361186 69.554717-49.129919 101.571967v308.580054h-34.225337V447.689488c-14.904582 20.976819-31.465229 40.297574-46.921833 56.306199-4.416173-7.728302-14.904582-25.945013-21.528841-34.225337 47.473854-45.265768 91.63558-115.924528 118.132614-188.239353l33.673316 11.040432z m270.490566 123.65283h-58.514286v240.12938c0 25.945013-7.728302 36.985445-24.84097 41.953639-18.216712 5.520216-49.129919 6.072237-99.915903 5.520215-1.656065-8.832345-8.280323-24.84097-13.248518-34.225337 39.193531 1.656065 77.283019 1.656065 88.32345 1.104043 10.48841-1.104043 14.352561-3.864151 14.352561-14.35256V416.224259h-187.687332v-34.225337h187.687332V283.739084h34.777359v97.707816h58.514285v34.777359z m-184.375202 178.854986c-13.800539-28.705121-43.609704-78.939084-67.346631-115.924528l29.809164-13.800539c24.288949 35.881402 55.202156 84.459299 70.106739 112.612399l-32.569272 17.112668z" fill="#595757" p-id="24749"></path></svg> | 57 | <svg t="1709002960407" class="icon" viewBox="0 0 3152 1024" version="1.1" |
| 58 | xmlns="http://www.w3.org/2000/svg" p-id="24747" width="94" height="40"> | ||
| 59 | <path | ||
| 60 | d="M381.998922 630.960647c-4.416173 2.208086-8.832345 3.312129-14.352561 3.312129-12.144474 0-22.080863-7.17628-28.1531-17.66469l-2.208086-4.968194-87.771428-204.247978c-1.104043-2.208086-1.104043-4.416173-1.104043-6.624259 0-9.384367 6.624259-16.560647 15.456603-16.560647 3.312129 0 6.624259 1.104043 9.936388 3.312129l103.780054 78.387062c7.728302 4.968194 16.560647 8.280323 26.497035 8.280324 5.520216 0 11.040431-1.104043 16.560647-3.312129l486.330998-230.192992C819.752022 131.381132 676.226415 60.17035 513.380054 60.17035 248.409704 59.618329 32.017251 250.61779 32.017251 486.883019c0 128.069003 64.586523 244.545553 166.15849 322.932614 7.728302 6.072237 13.248518 16.560647 13.248518 27.601079 0 3.312129-1.104043 7.17628-2.208086 10.488409-7.728302 32.017251-20.976819 84.459299-20.97682 86.667386-1.104043 3.312129-2.208086 8.280323-2.208086 13.248517 0 9.384367 6.624259 16.560647 15.456604 16.560647 3.312129 0 6.624259-1.104043 8.832345-3.312129l104.884097-65.138545c7.728302-4.968194 16.560647-8.280323 25.392992-8.280323 4.416173 0 9.936388 1.104043 14.35256 2.208086 49.129919 15.456604 102.676011 23.736927 157.326146 23.736927 265.522372 0 481.362803-191.551482 481.362803-427.816711 0-71.210782-19.872776-139.109434-54.650135-198.175741L385.863073 628.752561l-3.864151 2.208086z" | ||
| 61 | fill="#09BB07" p-id="24748"></path> | ||
| 62 | <path | ||
| 63 | d="M1398.822642 381.998922c-9.384367 19.320755-20.424798 38.641509-32.017251 57.962264v263.866307h-31.465229V485.226954c-13.248518 18.216712-27.049057 34.225337-40.297574 48.025876-3.864151-7.17628-14.352561-23.736927-20.424798-30.361186 34.777358-33.673315 71.210782-82.803235 93.843666-131.933153l30.361186 11.040431z m-8.280324-91.63558c-22.632884 36.985445-59.066307 78.939084-91.635579 105.98814-4.416173-7.17628-13.248518-19.320755-19.320755-25.945013 29.809164-23.736927 62.378437-61.274394 78.939083-92.187601l32.017251 12.144474z m181.615094 289.811321c1.656065 7.728302 6.072237 19.320755 8.832345 24.84097-55.754178 37.537466-66.242588 46.369811-72.866846 54.650135-1.656065-7.728302-8.280323-22.080863-12.696496-28.705121 4.968194-3.312129 12.696496-10.48841 12.696496-28.705121v-54.098114h-60.17035v27.049057c0 38.641509-7.728302 91.083558-42.505661 128.069003-4.416173-7.17628-16.560647-19.320755-22.632884-23.184906 29.809164-31.465229 34.225337-72.866846 34.225337-105.436119v-54.098113h118.684636v82.251213l36.433423-22.632884z m123.100809-176.094879c-9.384367 73.970889-23.184906 136.349326-48.025876 187.687332 16.560647 36.433423 39.193531 66.242588 67.346631 83.355256-7.17628 6.072237-17.112668 18.216712-22.632884 27.049057-25.945013-18.216712-46.369811-45.265768-62.930459-78.939084-20.424798 32.017251-45.81779 59.066307-78.939083 81.699191-3.864151-6.624259-13.248518-19.872776-19.872776-25.392992 36.985445-22.632884 64.034501-52.99407 83.907277-89.979514-12.696496-34.777358-22.080863-73.418868-28.705121-115.372507-4.968194 11.040431-10.48841 22.632884-16.560647 31.465229-3.864151-4.416173-10.48841-13.248518-17.112668-20.424798v5.520216h-154.014017v-29.809165h154.014017v9.384367c24.84097-49.129919 37.537466-118.684636 44.713746-191.551483l31.465229 4.968195c-3.864151 31.465229-8.280323 61.274394-13.800539 90.531536h96.051752v29.809164h-14.904582z m-142.973585 22.632884h-145.181671v-110.404312h24.84097v82.251213h35.32938V278.770889h26.497035v119.78868h33.673316V316.308356h25.392992v110.404312z m55.202156-22.632884c-1.656065 6.624259-3.312129 12.696496-4.416172 18.768734 6.072237 46.369811 14.904582 91.083558 28.1531 130.277088 16.560647-43.057682 26.497035-91.63558 32.569272-149.045822h-56.3062zM1882.393531 289.259299c-10.48841 31.465229-24.288949 62.378437-39.193531 91.63558v324.036657h-32.017251V437.201078c-13.800539 22.632884-29.257143 42.50566-44.161725 60.170351-3.312129-7.728302-13.248518-24.288949-19.320754-32.017251 41.953639-45.265768 80.043127-114.820485 103.780053-184.927224l30.913208 8.832345z m288.707278 65.690566v29.257143h-294.779515v-29.257143h294.779515z m-267.730459 199.831806h235.713208v147.941779h-30.913208v-16.560647h-174.438814v18.216712h-30.361186v-149.597844z m231.297035-104.332075H1909.994609v-28.1531h224.672776v28.1531zM1909.994609 486.883019h224.672776v28.1531H1909.994609v-28.1531z m23.736927 96.603773V656.90566h174.438814v-73.418868h-174.438814z m81.699192-231.297035c-6.072237-16.560647-20.424798-43.057682-32.017251-61.826415l29.257143-12.144474c13.248518 19.320755 27.601078 44.161725 34.225337 60.722372l-31.465229 13.248517zM2586.221024 468.114286c-26.497035 63.48248-69.002695 111.508356-122.548787 147.941779 50.785984 25.945013 110.956334 43.609704 180.511051 52.442048-7.728302 8.280323-16.560647 23.184906-21.528841 33.673316-75.074933-11.592453-139.661456-32.569272-192.655525-64.034502-57.962264 32.017251-125.308895 52.99407-195.415634 66.794609-3.312129-9.384367-12.696496-25.392992-19.320754-33.121293 66.242588-10.48841 129.173046-28.1531 183.271159-55.202157-44.161725-32.017251-78.939084-72.866846-103.780054-123.65283l10.48841-3.864151h-49.12992v-34.225337h155.670081V383.654987h-176.6469v-34.225337h176.6469V278.770889h35.32938v70.658761h177.750944v34.225337h-177.750944v71.210781H2555.859838l7.176281-1.656064 23.184905 14.904582z m-255.033962 20.976819c23.184906 43.609704 56.858221 80.043127 100.467925 108.748248 44.161725-28.1531 80.043127-63.48248 104.332075-108.748248h-204.8zM2834.630728 292.571429c-13.800539 34.777358-30.361186 69.554717-49.129919 101.571967v308.580054h-34.225337V447.689488c-14.904582 20.976819-31.465229 40.297574-46.921833 56.306199-4.416173-7.728302-14.904582-25.945013-21.528841-34.225337 47.473854-45.265768 91.63558-115.924528 118.132614-188.239353l33.673316 11.040432z m270.490566 123.65283h-58.514286v240.12938c0 25.945013-7.728302 36.985445-24.84097 41.953639-18.216712 5.520216-49.129919 6.072237-99.915903 5.520215-1.656065-8.832345-8.280323-24.84097-13.248518-34.225337 39.193531 1.656065 77.283019 1.656065 88.32345 1.104043 10.48841-1.104043 14.352561-3.864151 14.352561-14.35256V416.224259h-187.687332v-34.225337h187.687332V283.739084h34.777359v97.707816h58.514285v34.777359z m-184.375202 178.854986c-13.800539-28.705121-43.609704-78.939084-67.346631-115.924528l29.809164-13.800539c24.288949 35.881402 55.202156 84.459299 70.106739 112.612399l-32.569272 17.112668z" | ||
| 64 | fill="#595757" p-id="24749"></path> | ||
| 65 | </svg> | ||
| 141 | </el-radio> | 66 | </el-radio> |
| 142 | <el-radio label="3" border> | 67 | <el-radio label="3" border> |
| 143 | <svg t="1709003441012" class="icon" viewBox="0 0 3527 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="32905" width="90" height="40"><path d="M316.703858 1.763556h392.789333c54.840889 0 88.917333 45.966222 76.145778 102.542222l-182.897778 807.452444c-12.885333 56.405333-67.783111 102.4-122.652444 102.4H87.327858c-54.755556 0-88.917333-45.994667-76.145778-102.4L194.136747 104.305778C206.936747 47.729778 261.80608 1.763556 316.703858 1.763556" fill="#E0002B" p-id="32906"></path><path d="M679.569636 1.763556H1120.515413c53.532444 0 29.383111 45.966222 16.782223 102.542222l-178.460445 807.452444c-12.515556 56.405333-8.618667 102.4-62.264889 102.4H455.626524c-53.617778 0-86.812444-45.994667-74.211555-102.4L559.903858 104.305778C572.59008 47.729778 626.037191 1.763556 679.569636 1.763556" fill="#004380" p-id="32907"></path><path d="M1106.748302 1.763556h388.096c54.243556 0 87.921778 45.966222 75.178667 102.542222l-180.622222 807.452444c-12.771556 56.405333-67.043556 102.4-121.287111 102.4H880.245191c-54.272 0-87.921778-45.994667-75.235555-102.4L985.688747 104.305778C998.31808 47.729778 1052.504747 1.763556 1106.776747 1.763556" fill="#007A8A" p-id="32908"></path><path d="M1135.192747 604.416l-42.410667 173.568h11.434667l-8.874667 35.84h-11.320889l-2.673778 11.064889h-40.391111l2.759111-11.064889h-81.92l8.192-33.166222h8.334223l42.979555-176.241778 8.590222-35.527111h41.130667l-4.323556 17.92s10.979556-9.756444 21.361778-13.084445c10.382222-3.413333 70.001778-4.636444 70.001778-4.636444l-8.817778 35.328h-14.051555z m-72.533334 0l-10.894222 44.373333s12.231111-6.855111 18.858667-9.102222c6.741333-2.218667 16.839111-2.958222 16.839111-2.958222l7.879111-32.312889H1062.687858z m-16.327111 66.304l-11.264 46.193778s12.515556-7.879111 19.143111-10.382222a188.586667 188.586667 0 0 1 17.038223-3.470223l7.964444-32.341333h-32.881778z m-26.168889 107.690667h32.768l9.386667-38.968889H1029.692302l-9.500444 38.968889zM1186.108302 568.888889h40.704l0.398222 19.541333c-0.284444 3.328 1.934222 4.864 6.684445 4.864h8.277333l-7.566222 32.284445h-21.987556c-19.000889 1.763556-26.225778-8.789333-25.742222-20.650667L1186.108302 568.888889z" fill="#FEFEFE" p-id="32909"></path><path d="M1174.844302 721.635556h-46.08l7.907556-31.516445h52.650666l7.480889-28.814222h-51.968L1153.71008 625.777778h144.583111l-8.988444 35.555555H1240.75008l-7.566222 28.785778h48.64l-8.106667 31.516445h-52.508444l-9.386667 13.255111h21.333333l5.233778 39.708444c0.568889 3.953778 0.568889 6.542222 1.678222 8.248889 1.080889 1.393778 7.480889 2.133333 11.207111 2.133333h6.456889l-9.841777 38.599111h-16.440889c-2.503111 0-6.286222-0.199111-11.52-0.455111-4.892444-0.540444-8.362667-3.982222-11.690667-5.973333a18.403556 18.403556 0 0 1-8.590222-13.425778l-5.12-39.623111-23.950222 38.997333c-7.566222 12.373333-17.834667 21.788444-35.185778 21.788445h-33.422222l8.760888-34.503111h12.8c3.697778 0 6.912-1.706667 9.329778-3.214222a15.189333 15.189333 0 0 0 7.082667-7.025778l34.872889-58.510222zM677.635413 625.777778H793.603413l-8.590222 36.380444h-46.336l-7.224889 31.061334h47.416889l-8.675555 37.546666h-47.36l-11.52 50.517334c-1.393778 5.546667 11.264 6.257778 15.843555 6.257777l23.665778-4.266666L741.29408 824.888889h-53.418667c-4.323556 0-7.509333-0.824889-12.145777-2.190222-4.494222-1.507556-6.485333-4.152889-8.476445-8.135111-1.934222-4.124444-4.977778-7.480889-2.901333-16.327112l15.36-66.816h-26.339556l8.760889-38.200888h26.396445l7.025777-31.061334h-26.311111L677.635413 625.777778zM770.648747 583.822222h50.972444l-9.244444 27.363556h-69.632l-7.537778 5.745778c-3.242667 2.787556-4.352 1.649778-8.590222 3.640888a55.779556 55.779556 0 0 1-22.897778 5.205334h-22.300445l8.988445-26.282667h6.712889c5.632 0 9.528889-0.455111 11.491555-1.536 2.218667-1.28 4.721778-4.039111 7.452445-8.533333l12.885333-20.536889h50.602667l-8.903111 14.933333zM837.606969 569.088h48.355555l-7.082666 24.120889s15.303111-12.117333 25.998222-16.469333c10.638222-3.868444 34.730667-7.395556 34.730667-7.395556L1017.887858 568.888889l-26.652445 87.950222c-4.522667 15.018667-9.756444 24.746667-13.027555 29.212445a33.792 33.792 0 0 1-13.198222 12.032 49.806222 49.806222 0 0 1-18.119112 6.058666c-5.176889 0.369778-13.084444 0.483556-24.092444 0.654222H847.363413l-21.191111 69.461334c-2.019556 6.940444-2.986667 10.24-1.649778 12.117333a8.732444 8.732444 0 0 0 7.168 3.470222l33.28-3.100444L853.564302 824.888889h-37.148444c-11.861333 0-20.48-0.284444-26.510222-0.739556-5.745778-0.483556-11.719111 0-15.786667-3.015111-3.413333-3.043556-8.704-7.054222-8.590222-11.093333 0.369778-3.754667 1.991111-10.040889 4.380444-18.659556l67.697778-222.293333z m102.684444 88.746667H861.016747l-4.892445 15.815111h68.608c8.078222-0.938667 9.756444 0.199111 10.467556-0.170667l5.034666-15.644444z m-74.951111-14.279111s15.502222-14.023111 42.040889-18.545778c6.030222-1.137778 43.662222-0.739556 43.662222-0.739556l5.745778-18.830222H876.945636l-11.576889 38.115556z" fill="#FEFEFE" p-id="32910"></path><path d="M961.795413 711.111111l-4.494222 21.219556c-1.877333 6.656-3.555556 11.576889-8.561778 15.872-5.290667 4.465778-11.491556 9.159111-25.969777 9.159111l-26.823112 1.137778-0.199111 23.950222c-0.284444 6.741333 1.536 6.087111 2.588445 7.168 1.251556 1.223111 2.360889 1.678222 3.498666 2.161778l8.533334-0.483556 25.571555-1.422222L925.301191 824.888889h-29.383111c-20.536889 0-35.811556-0.483556-40.760889-4.408889-4.949333-3.128889-5.603556-7.025778-5.518222-13.767111l1.877333-93.496889h46.876445l-0.654223 19.114667h11.264c3.868444 0 6.485333-0.369778 8.078223-1.422223a8.448 8.448 0 0 0 3.128889-4.835555l4.721777-14.961778h36.835556zM368.529636 256c-1.564444 7.509333-30.976 142.933333-31.061334 143.075556-6.314667 27.392-10.922667 46.933333-26.567111 59.534222a47.388444 47.388444 0 0 1-31.288889 10.894222c-19.285333 0-30.549333-9.585778-32.426666-27.761778l-0.398223-6.257778s5.888-36.693333 5.888-36.892444c0 0 30.862222-123.448889 36.408889-139.776 0.284444-0.910222 0.341333-1.422222 0.426667-1.848889-60.046222 0.540444-70.712889 0-71.424-0.967111-0.398222 1.336889-1.905778 8.988444-1.905778 8.988444l-31.516444 139.093334-2.673778 11.832889-5.262222 38.599111c0 11.434667 2.275556 20.764444 6.741333 28.672C197.834524 508.245333 238.76608 512 261.919858 512c29.866667 0 57.856-6.314667 76.771555-17.891556 32.824889-19.370667 41.415111-49.664 49.095111-76.600888l3.527112-13.795556s31.800889-128.199111 37.205333-144.896c0.199111-0.910222 0.284444-1.422222 0.568889-1.848889-43.576889 0.455111-56.433778 0-60.558222-0.967111M548.042524 482.645333a453.518222 453.518222 0 0 0-45.397333 0.910223l-0.796444-1.763556c1.820444-8.846222 3.811556-17.521778 5.603555-26.453333l2.588445-12.060445c3.896889-18.716444 7.68-40.476444 8.106666-47.160889 0.426667-3.982222 1.706667-13.937778-8.732444-13.937777-4.352 0-8.903111 2.304-13.539556 4.693333-2.56 9.955556-7.651556 37.973333-10.097777 50.716444-5.205333 26.88-5.546667 29.980444-7.879112 43.264l-1.507555 1.792c-18.545778-0.341333-25.031111-0.341333-46.364445 0.910223l-0.938666-2.019556c3.527111-15.928889 7.111111-32.056889 10.496-48.042667 8.96-43.349333 11.093333-59.904 13.539555-81.948444l1.706667-1.28c20.849778-3.242667 25.884444-3.896889 48.440889-8.931556l1.905778 2.332445-3.470223 13.795555c3.84-2.503111 7.480889-5.034667 11.320889-7.196444 10.638222-5.745778 22.471111-7.452444 28.956445-7.452445 9.927111 0 20.736 3.015111 25.230222 15.587556 4.266667 11.207111 1.422222 24.974222-4.181333 52.110222l-2.901334 13.880889a1275.761778 1275.761778 0 0 0-9.955555 56.462222l-2.133334 1.792zM607.206969 482.645333c-8.362667-0.085333-13.767111-0.341333-18.972445-0.085333-5.205333 0.085333-10.296889 0.455111-18.062222 0.995556l-0.398222-0.995556-0.512-1.052444c2.133333-11.605333 3.271111-15.616 4.323556-19.740445 1.080889-4.152889 2.048-8.248889 3.925333-20.024889 2.446222-15.36 3.953778-26.083556 4.920889-35.498666 1.137778-9.102222 1.735111-16.867556 2.616889-25.827556l0.568889-0.682667 0.682666-0.881777c8.305778-1.678222 13.568-2.816 18.972445-4.067556 5.461333-1.024 10.922667-2.616889 19.512889-5.006222l0.312888 1.052444 0.256 1.137778c-1.592889 9.500444-3.242667 19.000889-4.807111 28.643556-1.507556 9.671111-3.128889 19.143111-4.608 28.643555-3.100444 20.195556-4.352 27.761778-5.091555 33.223111-0.711111 5.091556-0.910222 7.907556-2.104889 18.346667l-0.796445 0.938667-0.739555 0.853333zM790.474524 412.216889c6.684444-30.492444 1.450667-44.743111-5.12-53.418667-9.955556-13.226667-27.562667-17.464889-45.795555-17.464889-10.979556 0-37.148444 1.137778-57.571556 20.650667-14.677333 14.108444-21.447111 33.223111-25.543111 51.541333-4.124444 18.688-8.874667 52.309333 20.935111 64.796445 9.216 4.096 22.471111 5.233778 31.004445 5.233778 21.845333 0 44.259556-6.257778 61.098666-24.746667 12.970667-15.047111 18.887111-37.376 20.963556-46.592m-50.119111-2.190222c-0.967111 5.176889-5.319111 24.291556-11.178667 32.426666-4.096 6.030222-8.931556 9.671111-14.307555 9.671111-1.592889 0-11.093333 0-11.235556-14.620444-0.056889-7.224889 1.336889-14.592 3.100445-22.584889 5.034667-23.096889 10.951111-42.496 26.140444-42.496 11.889778 0 12.743111 14.449778 7.480889 37.603556M1249.653191 482.787556c-15.644444-0.170667-20.138667-0.170667-34.616889 0.768l-0.881778-1.820445c3.896889-23.011556 7.822222-45.937778 11.320889-69.205333 4.551111-30.179556 5.575111-43.008 7.054223-60.672l1.166222-1.479111c15.559111-3.413333 19.911111-4.408889 36.067555-9.045334l0.455111 2.076445c-2.958222 19.000889-5.859556 37.859556-8.760888 56.917333-5.944889 39.793778-8.106667 59.989333-10.382223 80.782222l-1.422222 1.706667z" fill="#FEFEFE" p-id="32911"></path><path d="M1231.078969 400.497778c-5.916444-15.644444-2.275556-47.217778-26.140445-57.827556-9.187556-4.181333-30.72 1.194667-49.265777 20.650667-13.056 13.880889-19.313778 32.938667-22.840889 51.2-3.754667 18.403556-8.049778 51.996444 18.631111 64 8.504889 4.152889 16.128 5.404444 23.893333 4.949333 26.794667-1.649778 47.217778-48.384 62.378667-66.844444 11.662222-14.620444-2.816-6.144-6.656-16.128z m-18.887111 10.439111c-1.052444 4.949333-5.006222 24.234667-10.268445 32.312889-3.527111 5.745778-11.889778 9.301333-16.725333 9.301333-1.365333 0-9.784889 0-10.097778-14.336-0.056889-7.139556 1.223111-14.506667 2.816-22.584889 4.579556-22.670222 9.870222-41.870222 23.552-41.870222 10.723556 0 15.303111 13.966222 10.723556 37.176889M912.472747 482.645333a452.408889 452.408889 0 0 0-45.368889 0.910223l-0.796445-1.763556c1.820444-8.846222 3.868444-17.521778 5.745778-26.453333l2.446222-12.060445c3.982222-18.716444 7.736889-40.476444 8.135111-47.160889 0.398222-3.982222 1.649778-13.937778-8.675555-13.937777-4.494222 0-8.988444 2.304-13.653333 4.693333-2.446222 9.955556-7.68 37.973333-10.183112 50.716444-5.063111 26.88-5.404444 29.980444-7.708444 43.264l-1.592889 1.792a469.788444 469.788444 0 0 0-46.307555 0.910223l-0.938667-2.019556c3.555556-15.928889 7.111111-32.056889 10.524444-48.042667 8.931556-43.349333 11.008-59.904 13.511111-81.948444l1.592889-1.28c20.821333-3.242667 25.969778-3.896889 48.526223-8.931556l1.706666 2.332445-3.214222 13.795555c3.697778-2.503111 7.509333-5.034667 11.292444-7.196444 10.552889-5.745778 22.471111-7.452444 28.956445-7.452445 9.784889 0 20.650667 3.015111 25.315555 15.587556 4.181333 11.207111 1.308444 24.974222-4.352 52.110222l-2.844444 13.880889a992.568889 992.568889 0 0 0-9.955556 56.462222l-2.161777 1.792zM1102.538524 335.815111c-3.043556 16.952889-12.032 31.175111-23.580444 38.087111-9.500444 5.831111-21.134222 6.314667-33.137778 6.314667h-7.765333l0.568889-3.811556 14.250666-75.918222 0.455112-3.896889 0.199111-2.986666 5.717333 0.739555 30.208 3.157333c11.662222 5.518222 16.440889 19.740444 13.084444 38.314667m-18.773333-79.445333l-14.478222 0.142222c-37.546667 0.568889-52.622222 0.426667-58.794667-0.512l-1.507555 9.301333-13.454223 76.458667-33.735111 169.955556c32.796444-0.483556 46.250667-0.483556 51.911111 0.284444 1.28-7.651556 8.874667-52.992 8.96-52.992 0 0 6.456889-33.251556 6.855112-34.474667 0 0 2.048-3.470222 4.067555-4.835555h3.015111c28.273778 0 60.216889 0 85.248-22.528 17.038222-15.473778 28.672-38.286222 33.848889-66.048 1.393778-6.798222 2.360889-14.876444 2.360889-22.983111 0-10.638222-1.735111-21.134222-6.769778-29.354667-12.771556-21.845333-38.200889-22.272-67.527111-22.414222M1438.438969 315.022222L1436.447858 312.888889c-25.429333 4.835556-30.037333 5.603556-53.447111 8.561778l-1.706667 1.621333c-0.085333 0.256-0.142222 0.654222-0.284444 1.024l-0.056889-0.369778c-17.436444 37.660444-16.924444 29.525333-31.089778 59.164445-0.085333-1.336889-0.085333-2.161778-0.142222-3.612445l-3.555556-64.284444-2.247111-2.104889c-26.652444 4.835556-27.306667 5.603556-51.911111 8.561778l-1.905778 1.621333c-0.284444 0.768-0.284444 1.592889-0.426667 2.531556l0.142223 0.312888c3.072 14.762667 2.332444 11.463111 5.404444 34.730667 1.479111 11.434667 3.384889 22.926222 4.835556 34.190222 2.417778 18.887111 3.783111 28.16 6.741333 57.002667-16.64 25.713778-20.565333 35.470222-36.579556 58.026667l1.024 2.133333c24.007111-0.853333 29.582222-0.853333 47.388445-0.853333l3.868444-4.124445c13.454222-27.192889 115.939556-192 115.939556-192M615.398969 363.832889c11.832889-6.4 13.312-15.217778 3.384889-19.797333-10.069333-4.636444-27.733333-3.128889-39.623111 3.242666-11.861333 6.257778-13.226667 15.160889-3.185778 19.854222 9.898667 4.494222 27.648 3.157333 39.424-3.299555M1298.264747 568.888889l-12.686223 35.555555c-3.982222 12.174222-11.434667 21.248-23.239111 21.333334l-20.167111-0.568889 5.888-32h3.953778c2.048 0 3.527111-0.170667 4.664889-1.109333 1.024-0.568889 1.763556-1.877333 2.588444-3.84l7.480889-19.370667h31.516445z" fill="#FEFEFE" p-id="32912"></path><path d="M3499.95008 747.576889c-5.148444-1.706667-10.524444-2.56-15.957333-2.503111a40.334222 40.334222 0 0 0-35.413334 30.151111v91.619555h-39.879111v-153.6h32.910222l2.730667 27.164445h0.995556a53.134222 53.134222 0 0 1 43.633777-31.004445c6.257778-0.170667 12.430222 0.938667 18.204445 3.328l-7.224889 34.844445z m-59.591111-179.114667h-63.800889a1286.144 1286.144 0 0 1-42.666667-204.231111h-14.193777v164.067556a16.184889 16.184889 0 0 0 15.957333 16.298666h17.720889v23.438223h-69.319111a27.676444 27.676444 0 0 1-28.16-27.619556v-176.184889h-27.676445v-23.836444h27.676445v-169.528889h63.800889v169.528889h121.656888v23.893333h-43.121777a1378.104889 1378.104889 0 0 0 42.126222 204.174222z m-104.675556-243.2a742.542222 742.542222 0 0 0 35.640889-143.530666h63.317334a835.811556 835.811556 0 0 1-34.673778 143.530666h-64.284445z m-106.467555 353.991111a50.062222 50.062222 0 0 0-16.213334-3.271111c-11.946667 0-18.688 7.111111-18.688 24.149334v13.169777h28.928v31.800889H3194.314524v121.770667h-40.135111v-121.742222h-20.679111v-29.952l20.679111-1.621334v-12.629333a49.863111 49.863111 0 0 1 53.361778-56.775111c9.955556 0 19.854222 1.848889 29.155556 5.461333l-7.480889 29.639111z m-59.335111-461.169777a12.458667 12.458667 0 0 0-13.454223-11.690667h-54.613333a11.946667 11.946667 0 0 0-12.686222 11.662222v217.656889h-49.379556v-225.564444a28.956444 28.956444 0 0 1 30.435556-28.046223h117.902222a29.098667 29.098667 0 0 1 30.919111 28.046223v225.564444h-49.123555V218.083556z m42.638222 351.488h-54.840889l-19.456-68.209778c-8.078222 23.893333-18.858667 46.791111-32.142222 68.209778h-62.577778a323.271111 323.271111 0 0 0 57.827556-195.413334V241.976889h55.580444v115.541333a583.964444 583.964444 0 0 1-6.968889 93.297778h28.444445l34.133333 118.727111z m-98.474667 158.663111l-17.948444 24.405333a59.192889 59.192889 0 0 0-33.393778-13.169778 16.327111 16.327111 0 0 0-20.195556 14.791111c0 11.264 15.189333 15.36 31.146667 21.418667 20.451556 7.68 42.894222 17.806222 42.894222 46.336 0 26.88-21.191111 48.554667-61.098666 48.554667a97.223111 97.223111 0 0 1-58.595556-21.674667l18.488889-25.230222c11.377778 10.097778 25.884444 15.985778 41.102222 16.725333 15.473778 0 22.186667-6.599111 22.186667-16.213333 0-11.491556-15.928889-16.696889-31.886222-23.011556a52.053333 52.053333 0 0 1-42.126223-44.686222 50.005333 50.005333 0 0 1 57.088-47.160889 85.589333 85.589333 0 0 1 52.337778 19.057778v-0.142222z m-249.031111-338.631111h106.183111a14.791111 14.791111 0 0 1 12.970667 6.712888c3.356444 4.266667 4.039111 10.040889 1.735111 14.961778l-75.292444 127.658667 16.952888 30.151111h-64.568888L2796.234524 449.422222h64.568889l16.952889 31.004445 41.870222-66.986667h-104.96a14.961778 14.961778 0 0 1-12.231111-6.286222 14.421333 14.421333 0 0 1-3.214222-12.970667l10.979556-51.854222h-41.159111v-24.32h46.648888l15.928889-73.671111H2781.016747v-24.263111h55.836444l10.979556-49.379556h64.568889l-10.979556 49.379556h80.014222v24.263111h-84.992l-16.213333 73.671111h112.440889v24.32h-117.418667l-10.24 47.274667z m-131.896889 179.086222H2670.083413v-74.922667l-78.279111 5.859556v-23.836445l78.279111-5.888v-61.098666h-59.818666a15.644444 15.644444 0 0 1-11.946667-4.977778 16.241778 16.241778 0 0 1-3.527111-12.970667l19.968-152.32h-22.698667v-23.893333h25.685334l5.973333-43.776h59.079111l-5.717333 43.918222h90.225777v23.864889h-93.724444l-18.204444 137.671111a7.480889 7.480889 0 0 0 1.991111 5.888 7.082667 7.082667 0 0 0 5.973333 2.929778h10.24V278.812444h59.562667v106.439112h29.667555v23.836444h-29.667555v56.092444l34.161777-2.503111v23.864889l-34.133333 2.503111v79.900445-0.284445z m-98.702222 140.629333c6.229333-0.199111 12.430222 0.910222 18.204444 3.271111l-7.224888 34.901334a47.616 47.616 0 0 0-15.729778-2.474667 40.106667 40.106667 0 0 0-35.384889 30.151111v91.591111h-40.135111v-153.571555h32.910222l2.730667 27.164444h0.995555a53.788444 53.788444 0 0 1 43.633778-30.890667v-0.142222z m-149.589333-168.618667a27.875556 27.875556 0 0 1-27.904 27.591112h-99.214223v-23.836445h46.848a15.815111 15.815111 0 0 0 15.957334-15.928889V333.653333h-128.853334v-23.808h252.501334v23.808h-59.335111v207.189334-0.142223z m-182.215111-349.013333h230.115555v24.064h-230.115555v-24.064z m-64.056889 151.523556h18.944v225.564444h-64.853334V398.506667h-48.839111a818.346667 818.346667 0 0 0 43.377778-90.823111h-43.377778a664.974222 664.974222 0 0 0 57.344-136.448h64.824889c-6.741333 26.026667-15.502222 51.484444-26.168889 76.174222h32.881778a569.685333 569.685333 0 0 1-34.133333 95.914666v-0.085333zM2169.233636 866.702222h-40.391112v-90.794666c0-23.580444-6.485333-32.085333-21.674666-32.085334a44.430222 44.430222 0 0 0-32.142222 17.294222v105.585778h-39.907556v-153.6h32.910222l2.730667 20.309334h0.995555a70.997333 70.997333 0 0 1 49.863112-24.120889c33.166222 0 47.616 23.04 47.616 61.696v95.715555z m-123.648-451.640889h49.863111a451.982222 451.982222 0 0 1-34.133334 87.893334c9.955556 21.390222 20.679111 42.752 32.398223 64.056889h-68.835556a747.861333 747.861333 0 0 1-72.760889-179.086223h-21.191111v140.202667c0.483556 8.96 7.964444 15.928889 16.952889 15.872l19.427555 0.426667v23.836444h-75.52a29.383111 29.383111 0 0 1-30.663111-27.619555V210.204444a29.098667 29.098667 0 0 1 30.663111-27.619555h166.769778a29.098667 29.098667 0 0 1 30.663111 27.619555v150.272a29.383111 29.383111 0 0 1-30.663111 27.619556h-38.4c4.750222 18.830222 10.723556 37.205333 16.952889 55.608889 3.584-9.272889 6.428444-18.801778 8.476445-28.529778v-0.113778z m-43.861334-209.635555H1947.878969a16.554667 16.554667 0 0 0-16.952889 15.900444v54.840889h88.462222V222.208a17.578667 17.578667 0 0 0-17.664-16.611556v-0.170666z m17.692445 94.606222h-88.490667v64.426667h70.798222a16.896 16.896 0 0 0 17.692445-15.872v-48.554667zM1761.909191 866.702222H1689.603413v-202.979555h67.072c41.614222 0 73.528889 12.088889 73.528889 49.863111a46.108444 46.108444 0 0 1-27.676444 43.889778v1.706666c23.04 4.039111 39.424 24.661333 38.144 47.985778 0 40.760889-33.905778 59.733333-78.791111 59.733333v-0.199111z m-7.736889-172.003555h-23.921778v51.541333h23.409778c25.941333 0 37.148444-10.410667 37.148445-26.595556 0-17.578667-12.231111-24.746667-36.636445-24.746666v-0.199111z m4.238222 81.720889h-28.16v58.965333h28.16c27.676444 0 42.638222-9.984 42.638223-31.004445 0-19.512889-14.734222-27.733333-42.666667-27.733333v-0.227555z m-13.454222-215.864889a28.586667 28.586667 0 0 1-8.476444-19.939556v-89.543111h-37.148445v-23.864889h37.148445v-76.856889h-37.148445v-24.291555h138.097778v24.291555H1802.527858v76.999111h34.901333v23.893334H1802.527858v77.368889a16.184889 16.184889 0 0 0 16.469333 16.327111h18.432v23.836444h-72.277333a28.785778 28.785778 0 0 1-20.195556-7.992889v-0.227555z m17.436445-247.608889h-66.048c14.506667-46.307556 24.092444-93.980444 28.672-142.279111h65.536c-1.991111 19.456-4.977778 38.855111-8.476445 58.168889h55.352889v23.836444h-59.818667a696.32 696.32 0 0 1-15.217777 60.501333v-0.227555z m191.203555 455.480889a23.921778 23.921778 0 0 0-25.912889-26.624 86.442667 86.442667 0 0 0-42.382222 14.535111l-14.478222-26.595556a121.742222 121.742222 0 0 1 64.085333-20.280889c38.883556 0 59.079111 23.324444 59.079111 67.726223v89.742222h-32.910222l-2.986667-16.497778h-0.995555a72.021333 72.021333 0 0 1-46.364445 20.337778 43.52 43.52 0 0 1-45.368888-45.539556c0-32.967111 26.652444-50.232889 88.234666-56.803555z m-29.667555 70.741333a40.675556 40.675556 0 0 0 29.667555-15.075556v-31.004444c-37.376 4.977778-49.863111 15.075556-49.863111 28.785778a17.152 17.152 0 0 0 20.195556 17.294222z m326.087111-59.505778h1.223111l53.105778-66.360889h43.889777l-53.105777 62.776889 58.083555 90.794667h-43.633778l-37.376-63.630222-22.186666 25.230222v38.4h-39.139556v-218.88h39.139556v131.669333z m201.415111-107.52h33.649778v41.159111h37.888v31.800889h-37.888v67.982222a20.707556 20.707556 0 0 0 20.707555 25.799112c5.205333-0.227556 10.353778-1.336889 15.189334-3.299556l6.485333 29.383111c-10.325333 3.697778-21.191111 5.632-32.142222 5.745778-36.664889 0-50.631111-23.04-50.631111-57.6v-67.982222h-21.674667v-29.952l23.694222-1.905778 4.721778-41.130667z m302.876444 96.284445a23.921778 23.921778 0 0 0-25.912889-26.624 86.442667 86.442667 0 0 0-42.382222 14.535111l-14.449778-26.595556a121.742222 121.742222 0 0 1 64.056889-20.280889c38.883556 0 59.079111 23.324444 59.079111 67.726223v89.742222h-32.910222l-2.986666-16.497778h-0.995556a72.021333 72.021333 0 0 1-46.364444 20.337778 43.52 43.52 0 0 1-45.368889-45.539556c0-32.967111 26.424889-50.232889 88.234666-56.803555z m-29.667555 70.741333a40.675556 40.675556 0 0 0 29.667555-15.075556v-31.004444c-37.376 4.977778-49.834667 15.075556-49.834666 28.785778a17.152 17.152 0 0 0 20.195555 17.294222z m146.858666-105.585778h0.995556a70.997333 70.997333 0 0 1 49.834667-24.120889c33.166222 0 47.616 23.04 47.616 61.696v95.715556h-40.391111v-90.794667c0-23.580444-6.456889-32.056889-21.674667-32.056889a44.430222 44.430222 0 0 0-32.142222 17.265778v105.585778h-39.907556v-153.6h32.910222l2.759111 20.309333z m439.751112-24.120889c42.382222 0 64.284444 31.004444 64.284444 73.472 0.056889 6.200889-0.597333 12.373333-1.991111 18.375111h-94.72a40.334222 40.334222 0 0 0 42.638222 38.4 63.203556 63.203556 0 0 0 34.417778-10.695111l13.681778 24.689778a96.113778 96.113778 0 0 1-53.589334 17.009778 74.410667 74.410667 0 0 1-76.288-80.355556 75.207111 75.207111 0 0 1 71.537778-80.896z m29.639111 65.251556a28.757333 28.757333 0 0 0-29.155556-33.991111 34.56 34.56 0 0 0-33.393778 33.991111h62.577778z" fill="#4D4D4D" p-id="32913"></path></svg> | 68 | <svg t="1709003441012" class="icon" viewBox="0 0 3527 1024" version="1.1" |
| 69 | xmlns="http://www.w3.org/2000/svg" p-id="32905" width="90" height="40"> | ||
| 70 | <path | ||
| 71 | d="M316.703858 1.763556h392.789333c54.840889 0 88.917333 45.966222 76.145778 102.542222l-182.897778 807.452444c-12.885333 56.405333-67.783111 102.4-122.652444 102.4H87.327858c-54.755556 0-88.917333-45.994667-76.145778-102.4L194.136747 104.305778C206.936747 47.729778 261.80608 1.763556 316.703858 1.763556" | ||
| 72 | fill="#E0002B" p-id="32906"></path> | ||
| 73 | <path | ||
| 74 | d="M679.569636 1.763556H1120.515413c53.532444 0 29.383111 45.966222 16.782223 102.542222l-178.460445 807.452444c-12.515556 56.405333-8.618667 102.4-62.264889 102.4H455.626524c-53.617778 0-86.812444-45.994667-74.211555-102.4L559.903858 104.305778C572.59008 47.729778 626.037191 1.763556 679.569636 1.763556" | ||
| 75 | fill="#004380" p-id="32907"></path> | ||
| 76 | <path | ||
| 77 | d="M1106.748302 1.763556h388.096c54.243556 0 87.921778 45.966222 75.178667 102.542222l-180.622222 807.452444c-12.771556 56.405333-67.043556 102.4-121.287111 102.4H880.245191c-54.272 0-87.921778-45.994667-75.235555-102.4L985.688747 104.305778C998.31808 47.729778 1052.504747 1.763556 1106.776747 1.763556" | ||
| 78 | fill="#007A8A" p-id="32908"></path> | ||
| 79 | <path | ||
| 80 | d="M1135.192747 604.416l-42.410667 173.568h11.434667l-8.874667 35.84h-11.320889l-2.673778 11.064889h-40.391111l2.759111-11.064889h-81.92l8.192-33.166222h8.334223l42.979555-176.241778 8.590222-35.527111h41.130667l-4.323556 17.92s10.979556-9.756444 21.361778-13.084445c10.382222-3.413333 70.001778-4.636444 70.001778-4.636444l-8.817778 35.328h-14.051555z m-72.533334 0l-10.894222 44.373333s12.231111-6.855111 18.858667-9.102222c6.741333-2.218667 16.839111-2.958222 16.839111-2.958222l7.879111-32.312889H1062.687858z m-16.327111 66.304l-11.264 46.193778s12.515556-7.879111 19.143111-10.382222a188.586667 188.586667 0 0 1 17.038223-3.470223l7.964444-32.341333h-32.881778z m-26.168889 107.690667h32.768l9.386667-38.968889H1029.692302l-9.500444 38.968889zM1186.108302 568.888889h40.704l0.398222 19.541333c-0.284444 3.328 1.934222 4.864 6.684445 4.864h8.277333l-7.566222 32.284445h-21.987556c-19.000889 1.763556-26.225778-8.789333-25.742222-20.650667L1186.108302 568.888889z" | ||
| 81 | fill="#FEFEFE" p-id="32909"></path> | ||
| 82 | <path | ||
| 83 | d="M1174.844302 721.635556h-46.08l7.907556-31.516445h52.650666l7.480889-28.814222h-51.968L1153.71008 625.777778h144.583111l-8.988444 35.555555H1240.75008l-7.566222 28.785778h48.64l-8.106667 31.516445h-52.508444l-9.386667 13.255111h21.333333l5.233778 39.708444c0.568889 3.953778 0.568889 6.542222 1.678222 8.248889 1.080889 1.393778 7.480889 2.133333 11.207111 2.133333h6.456889l-9.841777 38.599111h-16.440889c-2.503111 0-6.286222-0.199111-11.52-0.455111-4.892444-0.540444-8.362667-3.982222-11.690667-5.973333a18.403556 18.403556 0 0 1-8.590222-13.425778l-5.12-39.623111-23.950222 38.997333c-7.566222 12.373333-17.834667 21.788444-35.185778 21.788445h-33.422222l8.760888-34.503111h12.8c3.697778 0 6.912-1.706667 9.329778-3.214222a15.189333 15.189333 0 0 0 7.082667-7.025778l34.872889-58.510222zM677.635413 625.777778H793.603413l-8.590222 36.380444h-46.336l-7.224889 31.061334h47.416889l-8.675555 37.546666h-47.36l-11.52 50.517334c-1.393778 5.546667 11.264 6.257778 15.843555 6.257777l23.665778-4.266666L741.29408 824.888889h-53.418667c-4.323556 0-7.509333-0.824889-12.145777-2.190222-4.494222-1.507556-6.485333-4.152889-8.476445-8.135111-1.934222-4.124444-4.977778-7.480889-2.901333-16.327112l15.36-66.816h-26.339556l8.760889-38.200888h26.396445l7.025777-31.061334h-26.311111L677.635413 625.777778zM770.648747 583.822222h50.972444l-9.244444 27.363556h-69.632l-7.537778 5.745778c-3.242667 2.787556-4.352 1.649778-8.590222 3.640888a55.779556 55.779556 0 0 1-22.897778 5.205334h-22.300445l8.988445-26.282667h6.712889c5.632 0 9.528889-0.455111 11.491555-1.536 2.218667-1.28 4.721778-4.039111 7.452445-8.533333l12.885333-20.536889h50.602667l-8.903111 14.933333zM837.606969 569.088h48.355555l-7.082666 24.120889s15.303111-12.117333 25.998222-16.469333c10.638222-3.868444 34.730667-7.395556 34.730667-7.395556L1017.887858 568.888889l-26.652445 87.950222c-4.522667 15.018667-9.756444 24.746667-13.027555 29.212445a33.792 33.792 0 0 1-13.198222 12.032 49.806222 49.806222 0 0 1-18.119112 6.058666c-5.176889 0.369778-13.084444 0.483556-24.092444 0.654222H847.363413l-21.191111 69.461334c-2.019556 6.940444-2.986667 10.24-1.649778 12.117333a8.732444 8.732444 0 0 0 7.168 3.470222l33.28-3.100444L853.564302 824.888889h-37.148444c-11.861333 0-20.48-0.284444-26.510222-0.739556-5.745778-0.483556-11.719111 0-15.786667-3.015111-3.413333-3.043556-8.704-7.054222-8.590222-11.093333 0.369778-3.754667 1.991111-10.040889 4.380444-18.659556l67.697778-222.293333z m102.684444 88.746667H861.016747l-4.892445 15.815111h68.608c8.078222-0.938667 9.756444 0.199111 10.467556-0.170667l5.034666-15.644444z m-74.951111-14.279111s15.502222-14.023111 42.040889-18.545778c6.030222-1.137778 43.662222-0.739556 43.662222-0.739556l5.745778-18.830222H876.945636l-11.576889 38.115556z" | ||
| 84 | fill="#FEFEFE" p-id="32910"></path> | ||
| 85 | <path | ||
| 86 | d="M961.795413 711.111111l-4.494222 21.219556c-1.877333 6.656-3.555556 11.576889-8.561778 15.872-5.290667 4.465778-11.491556 9.159111-25.969777 9.159111l-26.823112 1.137778-0.199111 23.950222c-0.284444 6.741333 1.536 6.087111 2.588445 7.168 1.251556 1.223111 2.360889 1.678222 3.498666 2.161778l8.533334-0.483556 25.571555-1.422222L925.301191 824.888889h-29.383111c-20.536889 0-35.811556-0.483556-40.760889-4.408889-4.949333-3.128889-5.603556-7.025778-5.518222-13.767111l1.877333-93.496889h46.876445l-0.654223 19.114667h11.264c3.868444 0 6.485333-0.369778 8.078223-1.422223a8.448 8.448 0 0 0 3.128889-4.835555l4.721777-14.961778h36.835556zM368.529636 256c-1.564444 7.509333-30.976 142.933333-31.061334 143.075556-6.314667 27.392-10.922667 46.933333-26.567111 59.534222a47.388444 47.388444 0 0 1-31.288889 10.894222c-19.285333 0-30.549333-9.585778-32.426666-27.761778l-0.398223-6.257778s5.888-36.693333 5.888-36.892444c0 0 30.862222-123.448889 36.408889-139.776 0.284444-0.910222 0.341333-1.422222 0.426667-1.848889-60.046222 0.540444-70.712889 0-71.424-0.967111-0.398222 1.336889-1.905778 8.988444-1.905778 8.988444l-31.516444 139.093334-2.673778 11.832889-5.262222 38.599111c0 11.434667 2.275556 20.764444 6.741333 28.672C197.834524 508.245333 238.76608 512 261.919858 512c29.866667 0 57.856-6.314667 76.771555-17.891556 32.824889-19.370667 41.415111-49.664 49.095111-76.600888l3.527112-13.795556s31.800889-128.199111 37.205333-144.896c0.199111-0.910222 0.284444-1.422222 0.568889-1.848889-43.576889 0.455111-56.433778 0-60.558222-0.967111M548.042524 482.645333a453.518222 453.518222 0 0 0-45.397333 0.910223l-0.796444-1.763556c1.820444-8.846222 3.811556-17.521778 5.603555-26.453333l2.588445-12.060445c3.896889-18.716444 7.68-40.476444 8.106666-47.160889 0.426667-3.982222 1.706667-13.937778-8.732444-13.937777-4.352 0-8.903111 2.304-13.539556 4.693333-2.56 9.955556-7.651556 37.973333-10.097777 50.716444-5.205333 26.88-5.546667 29.980444-7.879112 43.264l-1.507555 1.792c-18.545778-0.341333-25.031111-0.341333-46.364445 0.910223l-0.938666-2.019556c3.527111-15.928889 7.111111-32.056889 10.496-48.042667 8.96-43.349333 11.093333-59.904 13.539555-81.948444l1.706667-1.28c20.849778-3.242667 25.884444-3.896889 48.440889-8.931556l1.905778 2.332445-3.470223 13.795555c3.84-2.503111 7.480889-5.034667 11.320889-7.196444 10.638222-5.745778 22.471111-7.452444 28.956445-7.452445 9.927111 0 20.736 3.015111 25.230222 15.587556 4.266667 11.207111 1.422222 24.974222-4.181333 52.110222l-2.901334 13.880889a1275.761778 1275.761778 0 0 0-9.955555 56.462222l-2.133334 1.792zM607.206969 482.645333c-8.362667-0.085333-13.767111-0.341333-18.972445-0.085333-5.205333 0.085333-10.296889 0.455111-18.062222 0.995556l-0.398222-0.995556-0.512-1.052444c2.133333-11.605333 3.271111-15.616 4.323556-19.740445 1.080889-4.152889 2.048-8.248889 3.925333-20.024889 2.446222-15.36 3.953778-26.083556 4.920889-35.498666 1.137778-9.102222 1.735111-16.867556 2.616889-25.827556l0.568889-0.682667 0.682666-0.881777c8.305778-1.678222 13.568-2.816 18.972445-4.067556 5.461333-1.024 10.922667-2.616889 19.512889-5.006222l0.312888 1.052444 0.256 1.137778c-1.592889 9.500444-3.242667 19.000889-4.807111 28.643556-1.507556 9.671111-3.128889 19.143111-4.608 28.643555-3.100444 20.195556-4.352 27.761778-5.091555 33.223111-0.711111 5.091556-0.910222 7.907556-2.104889 18.346667l-0.796445 0.938667-0.739555 0.853333zM790.474524 412.216889c6.684444-30.492444 1.450667-44.743111-5.12-53.418667-9.955556-13.226667-27.562667-17.464889-45.795555-17.464889-10.979556 0-37.148444 1.137778-57.571556 20.650667-14.677333 14.108444-21.447111 33.223111-25.543111 51.541333-4.124444 18.688-8.874667 52.309333 20.935111 64.796445 9.216 4.096 22.471111 5.233778 31.004445 5.233778 21.845333 0 44.259556-6.257778 61.098666-24.746667 12.970667-15.047111 18.887111-37.376 20.963556-46.592m-50.119111-2.190222c-0.967111 5.176889-5.319111 24.291556-11.178667 32.426666-4.096 6.030222-8.931556 9.671111-14.307555 9.671111-1.592889 0-11.093333 0-11.235556-14.620444-0.056889-7.224889 1.336889-14.592 3.100445-22.584889 5.034667-23.096889 10.951111-42.496 26.140444-42.496 11.889778 0 12.743111 14.449778 7.480889 37.603556M1249.653191 482.787556c-15.644444-0.170667-20.138667-0.170667-34.616889 0.768l-0.881778-1.820445c3.896889-23.011556 7.822222-45.937778 11.320889-69.205333 4.551111-30.179556 5.575111-43.008 7.054223-60.672l1.166222-1.479111c15.559111-3.413333 19.911111-4.408889 36.067555-9.045334l0.455111 2.076445c-2.958222 19.000889-5.859556 37.859556-8.760888 56.917333-5.944889 39.793778-8.106667 59.989333-10.382223 80.782222l-1.422222 1.706667z" | ||
| 87 | fill="#FEFEFE" p-id="32911"></path> | ||
| 88 | <path | ||
| 89 | d="M1231.078969 400.497778c-5.916444-15.644444-2.275556-47.217778-26.140445-57.827556-9.187556-4.181333-30.72 1.194667-49.265777 20.650667-13.056 13.880889-19.313778 32.938667-22.840889 51.2-3.754667 18.403556-8.049778 51.996444 18.631111 64 8.504889 4.152889 16.128 5.404444 23.893333 4.949333 26.794667-1.649778 47.217778-48.384 62.378667-66.844444 11.662222-14.620444-2.816-6.144-6.656-16.128z m-18.887111 10.439111c-1.052444 4.949333-5.006222 24.234667-10.268445 32.312889-3.527111 5.745778-11.889778 9.301333-16.725333 9.301333-1.365333 0-9.784889 0-10.097778-14.336-0.056889-7.139556 1.223111-14.506667 2.816-22.584889 4.579556-22.670222 9.870222-41.870222 23.552-41.870222 10.723556 0 15.303111 13.966222 10.723556 37.176889M912.472747 482.645333a452.408889 452.408889 0 0 0-45.368889 0.910223l-0.796445-1.763556c1.820444-8.846222 3.868444-17.521778 5.745778-26.453333l2.446222-12.060445c3.982222-18.716444 7.736889-40.476444 8.135111-47.160889 0.398222-3.982222 1.649778-13.937778-8.675555-13.937777-4.494222 0-8.988444 2.304-13.653333 4.693333-2.446222 9.955556-7.68 37.973333-10.183112 50.716444-5.063111 26.88-5.404444 29.980444-7.708444 43.264l-1.592889 1.792a469.788444 469.788444 0 0 0-46.307555 0.910223l-0.938667-2.019556c3.555556-15.928889 7.111111-32.056889 10.524444-48.042667 8.931556-43.349333 11.008-59.904 13.511111-81.948444l1.592889-1.28c20.821333-3.242667 25.969778-3.896889 48.526223-8.931556l1.706666 2.332445-3.214222 13.795555c3.697778-2.503111 7.509333-5.034667 11.292444-7.196444 10.552889-5.745778 22.471111-7.452444 28.956445-7.452445 9.784889 0 20.650667 3.015111 25.315555 15.587556 4.181333 11.207111 1.308444 24.974222-4.352 52.110222l-2.844444 13.880889a992.568889 992.568889 0 0 0-9.955556 56.462222l-2.161777 1.792zM1102.538524 335.815111c-3.043556 16.952889-12.032 31.175111-23.580444 38.087111-9.500444 5.831111-21.134222 6.314667-33.137778 6.314667h-7.765333l0.568889-3.811556 14.250666-75.918222 0.455112-3.896889 0.199111-2.986666 5.717333 0.739555 30.208 3.157333c11.662222 5.518222 16.440889 19.740444 13.084444 38.314667m-18.773333-79.445333l-14.478222 0.142222c-37.546667 0.568889-52.622222 0.426667-58.794667-0.512l-1.507555 9.301333-13.454223 76.458667-33.735111 169.955556c32.796444-0.483556 46.250667-0.483556 51.911111 0.284444 1.28-7.651556 8.874667-52.992 8.96-52.992 0 0 6.456889-33.251556 6.855112-34.474667 0 0 2.048-3.470222 4.067555-4.835555h3.015111c28.273778 0 60.216889 0 85.248-22.528 17.038222-15.473778 28.672-38.286222 33.848889-66.048 1.393778-6.798222 2.360889-14.876444 2.360889-22.983111 0-10.638222-1.735111-21.134222-6.769778-29.354667-12.771556-21.845333-38.200889-22.272-67.527111-22.414222M1438.438969 315.022222L1436.447858 312.888889c-25.429333 4.835556-30.037333 5.603556-53.447111 8.561778l-1.706667 1.621333c-0.085333 0.256-0.142222 0.654222-0.284444 1.024l-0.056889-0.369778c-17.436444 37.660444-16.924444 29.525333-31.089778 59.164445-0.085333-1.336889-0.085333-2.161778-0.142222-3.612445l-3.555556-64.284444-2.247111-2.104889c-26.652444 4.835556-27.306667 5.603556-51.911111 8.561778l-1.905778 1.621333c-0.284444 0.768-0.284444 1.592889-0.426667 2.531556l0.142223 0.312888c3.072 14.762667 2.332444 11.463111 5.404444 34.730667 1.479111 11.434667 3.384889 22.926222 4.835556 34.190222 2.417778 18.887111 3.783111 28.16 6.741333 57.002667-16.64 25.713778-20.565333 35.470222-36.579556 58.026667l1.024 2.133333c24.007111-0.853333 29.582222-0.853333 47.388445-0.853333l3.868444-4.124445c13.454222-27.192889 115.939556-192 115.939556-192M615.398969 363.832889c11.832889-6.4 13.312-15.217778 3.384889-19.797333-10.069333-4.636444-27.733333-3.128889-39.623111 3.242666-11.861333 6.257778-13.226667 15.160889-3.185778 19.854222 9.898667 4.494222 27.648 3.157333 39.424-3.299555M1298.264747 568.888889l-12.686223 35.555555c-3.982222 12.174222-11.434667 21.248-23.239111 21.333334l-20.167111-0.568889 5.888-32h3.953778c2.048 0 3.527111-0.170667 4.664889-1.109333 1.024-0.568889 1.763556-1.877333 2.588444-3.84l7.480889-19.370667h31.516445z" | ||
| 90 | fill="#FEFEFE" p-id="32912"></path> | ||
| 91 | <path | ||
| 92 | d="M3499.95008 747.576889c-5.148444-1.706667-10.524444-2.56-15.957333-2.503111a40.334222 40.334222 0 0 0-35.413334 30.151111v91.619555h-39.879111v-153.6h32.910222l2.730667 27.164445h0.995556a53.134222 53.134222 0 0 1 43.633777-31.004445c6.257778-0.170667 12.430222 0.938667 18.204445 3.328l-7.224889 34.844445z m-59.591111-179.114667h-63.800889a1286.144 1286.144 0 0 1-42.666667-204.231111h-14.193777v164.067556a16.184889 16.184889 0 0 0 15.957333 16.298666h17.720889v23.438223h-69.319111a27.676444 27.676444 0 0 1-28.16-27.619556v-176.184889h-27.676445v-23.836444h27.676445v-169.528889h63.800889v169.528889h121.656888v23.893333h-43.121777a1378.104889 1378.104889 0 0 0 42.126222 204.174222z m-104.675556-243.2a742.542222 742.542222 0 0 0 35.640889-143.530666h63.317334a835.811556 835.811556 0 0 1-34.673778 143.530666h-64.284445z m-106.467555 353.991111a50.062222 50.062222 0 0 0-16.213334-3.271111c-11.946667 0-18.688 7.111111-18.688 24.149334v13.169777h28.928v31.800889H3194.314524v121.770667h-40.135111v-121.742222h-20.679111v-29.952l20.679111-1.621334v-12.629333a49.863111 49.863111 0 0 1 53.361778-56.775111c9.955556 0 19.854222 1.848889 29.155556 5.461333l-7.480889 29.639111z m-59.335111-461.169777a12.458667 12.458667 0 0 0-13.454223-11.690667h-54.613333a11.946667 11.946667 0 0 0-12.686222 11.662222v217.656889h-49.379556v-225.564444a28.956444 28.956444 0 0 1 30.435556-28.046223h117.902222a29.098667 29.098667 0 0 1 30.919111 28.046223v225.564444h-49.123555V218.083556z m42.638222 351.488h-54.840889l-19.456-68.209778c-8.078222 23.893333-18.858667 46.791111-32.142222 68.209778h-62.577778a323.271111 323.271111 0 0 0 57.827556-195.413334V241.976889h55.580444v115.541333a583.964444 583.964444 0 0 1-6.968889 93.297778h28.444445l34.133333 118.727111z m-98.474667 158.663111l-17.948444 24.405333a59.192889 59.192889 0 0 0-33.393778-13.169778 16.327111 16.327111 0 0 0-20.195556 14.791111c0 11.264 15.189333 15.36 31.146667 21.418667 20.451556 7.68 42.894222 17.806222 42.894222 46.336 0 26.88-21.191111 48.554667-61.098666 48.554667a97.223111 97.223111 0 0 1-58.595556-21.674667l18.488889-25.230222c11.377778 10.097778 25.884444 15.985778 41.102222 16.725333 15.473778 0 22.186667-6.599111 22.186667-16.213333 0-11.491556-15.928889-16.696889-31.886222-23.011556a52.053333 52.053333 0 0 1-42.126223-44.686222 50.005333 50.005333 0 0 1 57.088-47.160889 85.589333 85.589333 0 0 1 52.337778 19.057778v-0.142222z m-249.031111-338.631111h106.183111a14.791111 14.791111 0 0 1 12.970667 6.712888c3.356444 4.266667 4.039111 10.040889 1.735111 14.961778l-75.292444 127.658667 16.952888 30.151111h-64.568888L2796.234524 449.422222h64.568889l16.952889 31.004445 41.870222-66.986667h-104.96a14.961778 14.961778 0 0 1-12.231111-6.286222 14.421333 14.421333 0 0 1-3.214222-12.970667l10.979556-51.854222h-41.159111v-24.32h46.648888l15.928889-73.671111H2781.016747v-24.263111h55.836444l10.979556-49.379556h64.568889l-10.979556 49.379556h80.014222v24.263111h-84.992l-16.213333 73.671111h112.440889v24.32h-117.418667l-10.24 47.274667z m-131.896889 179.086222H2670.083413v-74.922667l-78.279111 5.859556v-23.836445l78.279111-5.888v-61.098666h-59.818666a15.644444 15.644444 0 0 1-11.946667-4.977778 16.241778 16.241778 0 0 1-3.527111-12.970667l19.968-152.32h-22.698667v-23.893333h25.685334l5.973333-43.776h59.079111l-5.717333 43.918222h90.225777v23.864889h-93.724444l-18.204444 137.671111a7.480889 7.480889 0 0 0 1.991111 5.888 7.082667 7.082667 0 0 0 5.973333 2.929778h10.24V278.812444h59.562667v106.439112h29.667555v23.836444h-29.667555v56.092444l34.161777-2.503111v23.864889l-34.133333 2.503111v79.900445-0.284445z m-98.702222 140.629333c6.229333-0.199111 12.430222 0.910222 18.204444 3.271111l-7.224888 34.901334a47.616 47.616 0 0 0-15.729778-2.474667 40.106667 40.106667 0 0 0-35.384889 30.151111v91.591111h-40.135111v-153.571555h32.910222l2.730667 27.164444h0.995555a53.788444 53.788444 0 0 1 43.633778-30.890667v-0.142222z m-149.589333-168.618667a27.875556 27.875556 0 0 1-27.904 27.591112h-99.214223v-23.836445h46.848a15.815111 15.815111 0 0 0 15.957334-15.928889V333.653333h-128.853334v-23.808h252.501334v23.808h-59.335111v207.189334-0.142223z m-182.215111-349.013333h230.115555v24.064h-230.115555v-24.064z m-64.056889 151.523556h18.944v225.564444h-64.853334V398.506667h-48.839111a818.346667 818.346667 0 0 0 43.377778-90.823111h-43.377778a664.974222 664.974222 0 0 0 57.344-136.448h64.824889c-6.741333 26.026667-15.502222 51.484444-26.168889 76.174222h32.881778a569.685333 569.685333 0 0 1-34.133333 95.914666v-0.085333zM2169.233636 866.702222h-40.391112v-90.794666c0-23.580444-6.485333-32.085333-21.674666-32.085334a44.430222 44.430222 0 0 0-32.142222 17.294222v105.585778h-39.907556v-153.6h32.910222l2.730667 20.309334h0.995555a70.997333 70.997333 0 0 1 49.863112-24.120889c33.166222 0 47.616 23.04 47.616 61.696v95.715555z m-123.648-451.640889h49.863111a451.982222 451.982222 0 0 1-34.133334 87.893334c9.955556 21.390222 20.679111 42.752 32.398223 64.056889h-68.835556a747.861333 747.861333 0 0 1-72.760889-179.086223h-21.191111v140.202667c0.483556 8.96 7.964444 15.928889 16.952889 15.872l19.427555 0.426667v23.836444h-75.52a29.383111 29.383111 0 0 1-30.663111-27.619555V210.204444a29.098667 29.098667 0 0 1 30.663111-27.619555h166.769778a29.098667 29.098667 0 0 1 30.663111 27.619555v150.272a29.383111 29.383111 0 0 1-30.663111 27.619556h-38.4c4.750222 18.830222 10.723556 37.205333 16.952889 55.608889 3.584-9.272889 6.428444-18.801778 8.476445-28.529778v-0.113778z m-43.861334-209.635555H1947.878969a16.554667 16.554667 0 0 0-16.952889 15.900444v54.840889h88.462222V222.208a17.578667 17.578667 0 0 0-17.664-16.611556v-0.170666z m17.692445 94.606222h-88.490667v64.426667h70.798222a16.896 16.896 0 0 0 17.692445-15.872v-48.554667zM1761.909191 866.702222H1689.603413v-202.979555h67.072c41.614222 0 73.528889 12.088889 73.528889 49.863111a46.108444 46.108444 0 0 1-27.676444 43.889778v1.706666c23.04 4.039111 39.424 24.661333 38.144 47.985778 0 40.760889-33.905778 59.733333-78.791111 59.733333v-0.199111z m-7.736889-172.003555h-23.921778v51.541333h23.409778c25.941333 0 37.148444-10.410667 37.148445-26.595556 0-17.578667-12.231111-24.746667-36.636445-24.746666v-0.199111z m4.238222 81.720889h-28.16v58.965333h28.16c27.676444 0 42.638222-9.984 42.638223-31.004445 0-19.512889-14.734222-27.733333-42.666667-27.733333v-0.227555z m-13.454222-215.864889a28.586667 28.586667 0 0 1-8.476444-19.939556v-89.543111h-37.148445v-23.864889h37.148445v-76.856889h-37.148445v-24.291555h138.097778v24.291555H1802.527858v76.999111h34.901333v23.893334H1802.527858v77.368889a16.184889 16.184889 0 0 0 16.469333 16.327111h18.432v23.836444h-72.277333a28.785778 28.785778 0 0 1-20.195556-7.992889v-0.227555z m17.436445-247.608889h-66.048c14.506667-46.307556 24.092444-93.980444 28.672-142.279111h65.536c-1.991111 19.456-4.977778 38.855111-8.476445 58.168889h55.352889v23.836444h-59.818667a696.32 696.32 0 0 1-15.217777 60.501333v-0.227555z m191.203555 455.480889a23.921778 23.921778 0 0 0-25.912889-26.624 86.442667 86.442667 0 0 0-42.382222 14.535111l-14.478222-26.595556a121.742222 121.742222 0 0 1 64.085333-20.280889c38.883556 0 59.079111 23.324444 59.079111 67.726223v89.742222h-32.910222l-2.986667-16.497778h-0.995555a72.021333 72.021333 0 0 1-46.364445 20.337778 43.52 43.52 0 0 1-45.368888-45.539556c0-32.967111 26.652444-50.232889 88.234666-56.803555z m-29.667555 70.741333a40.675556 40.675556 0 0 0 29.667555-15.075556v-31.004444c-37.376 4.977778-49.863111 15.075556-49.863111 28.785778a17.152 17.152 0 0 0 20.195556 17.294222z m326.087111-59.505778h1.223111l53.105778-66.360889h43.889777l-53.105777 62.776889 58.083555 90.794667h-43.633778l-37.376-63.630222-22.186666 25.230222v38.4h-39.139556v-218.88h39.139556v131.669333z m201.415111-107.52h33.649778v41.159111h37.888v31.800889h-37.888v67.982222a20.707556 20.707556 0 0 0 20.707555 25.799112c5.205333-0.227556 10.353778-1.336889 15.189334-3.299556l6.485333 29.383111c-10.325333 3.697778-21.191111 5.632-32.142222 5.745778-36.664889 0-50.631111-23.04-50.631111-57.6v-67.982222h-21.674667v-29.952l23.694222-1.905778 4.721778-41.130667z m302.876444 96.284445a23.921778 23.921778 0 0 0-25.912889-26.624 86.442667 86.442667 0 0 0-42.382222 14.535111l-14.449778-26.595556a121.742222 121.742222 0 0 1 64.056889-20.280889c38.883556 0 59.079111 23.324444 59.079111 67.726223v89.742222h-32.910222l-2.986666-16.497778h-0.995556a72.021333 72.021333 0 0 1-46.364444 20.337778 43.52 43.52 0 0 1-45.368889-45.539556c0-32.967111 26.424889-50.232889 88.234666-56.803555z m-29.667555 70.741333a40.675556 40.675556 0 0 0 29.667555-15.075556v-31.004444c-37.376 4.977778-49.834667 15.075556-49.834666 28.785778a17.152 17.152 0 0 0 20.195555 17.294222z m146.858666-105.585778h0.995556a70.997333 70.997333 0 0 1 49.834667-24.120889c33.166222 0 47.616 23.04 47.616 61.696v95.715556h-40.391111v-90.794667c0-23.580444-6.456889-32.056889-21.674667-32.056889a44.430222 44.430222 0 0 0-32.142222 17.265778v105.585778h-39.907556v-153.6h32.910222l2.759111 20.309333z m439.751112-24.120889c42.382222 0 64.284444 31.004444 64.284444 73.472 0.056889 6.200889-0.597333 12.373333-1.991111 18.375111h-94.72a40.334222 40.334222 0 0 0 42.638222 38.4 63.203556 63.203556 0 0 0 34.417778-10.695111l13.681778 24.689778a96.113778 96.113778 0 0 1-53.589334 17.009778 74.410667 74.410667 0 0 1-76.288-80.355556 75.207111 75.207111 0 0 1 71.537778-80.896z m29.639111 65.251556a28.757333 28.757333 0 0 0-29.155556-33.991111 34.56 34.56 0 0 0-33.393778 33.991111h62.577778z" | ||
| 93 | fill="#4D4D4D" p-id="32913"></path> | ||
| 94 | </svg> | ||
| 144 | </el-radio> | 95 | </el-radio> |
| 145 | <el-radio label="4" border> | 96 | <el-radio label="4" border> |
| 146 | <svg t="1709002828937" class="icon" viewBox="0 0 4220 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22654" width="94" height="40"><path d="M3249.722604 229.409369h-232.537679c-15.641548 0-29.197556 11.470468-32.325865 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h118.875764c11.470468 0 20.855397-8.342159 21.898167-18.769858l27.112016-168.928717c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641547c41.710794 0 81.336049 0 102.191447 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731z" fill="#009CDE" p-id="22655"></path><path d="M1594.84684 229.409369h-232.537678c-15.641548 0-29.197556 11.470468-32.325866 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h110.533605c15.641548 0 29.197556-11.470468 32.325866-27.112017l25.026476-160.586558c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641548c41.710794 0 81.336049 0 102.191446 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731zM2288.288795 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.213849 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710794 171.014257 34.411405 39.625255 82.378819 56.309572 139.731161 56.309572 99.063136 0 153.287169-63.608961 153.287169-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480652-380.610998c2.08554-10.427699-6.256619-21.898167-18.769858-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.079429-30.240326-16.684318-19.812627-22.940937-46.924644-17.727088-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z" fill="#003087" p-id="22656"></path><path d="M3943.164559 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.21385 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710795 171.014257 34.411405 39.625255 82.378819 56.309572 139.73116 56.309572 99.063136 0 153.287169-63.608961 153.28717-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480651-380.610998c2.08554-10.427699-6.256619-21.898167-18.769857-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.07943-30.240326-16.684318-19.812627-22.940937-46.924644-17.727087-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z" fill="#009CDE" p-id="22657"></path><path d="M2880.582074 443.177189h-111.576375c-10.427699 0-20.855397 5.213849-27.112016 14.598778l-154.329939 227.323829-65.694501-217.9389c-4.171079-13.556008-16.684318-22.940937-31.283096-22.940937h-109.490835c-13.556008 0-22.940937 13.556008-18.769857 26.069247l123.046843 360.79837-115.747454 162.672098c-9.384929 12.513238 0 30.240326 15.641548 30.240326h111.576375c10.427699 0 20.855397-5.213849 26.069246-13.556008l371.226069-535.983707c11.470468-13.556008 2.08554-31.283096-13.556008-31.283096z" fill="#003087" p-id="22658"></path><path d="M4074.553561 245.050916l-94.892057 605.849288c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h95.934827c15.641548 0 29.197556-11.470468 32.325866-27.112017l93.849287-595.421588c2.08554-11.470468-7.299389-21.898167-18.769857-21.898167h-107.405296c-10.427699 1.04277-18.769857 7.299389-19.812627 16.684317z" fill="#009CDE" p-id="22659"></path><path d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l-13.556008 85.507128c-2.08554 14.598778 9.384929 27.112016 23.983707 27.112016h165.800407c19.812627 0 36.496945-14.598778 39.625255-33.368635l2.08554-8.342159 31.283095-198.126273 2.08554-10.427699c3.12831-19.812627 19.812627-33.368635 39.625255-33.368635h25.026476c160.586558 0 285.718941-64.651731 322.215886-253.393075 15.641548-79.250509 7.299389-144.94501-33.368635-190.826884-12.513238-13.556008-28.154786-26.069246-45.881874-35.454175" fill="#009CDE" p-id="22660"></path><path d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958-1.04277 9.384929c3.12831-21.898167 21.898167-38.582485 44.839104-38.582485h93.849287c183.527495 0 327.429735-74.03666 369.140529-289.89002l3.12831-18.769857" fill="#012169" p-id="22661"></path><path d="M326.838693 260.692464c2.08554-13.556008 10.427699-23.983707 21.898167-30.240326 5.213849-2.08554 11.470468-4.171079 16.684318-4.171079h250.264766c29.197556 0 57.352342 2.08554 82.378819 6.256619 7.299389 1.04277 14.598778 2.08554 20.855397 4.17108 7.299389 1.04277 13.556008 3.12831 19.812627 5.213849l9.384929 3.128309c12.513238 4.171079 23.983707 9.384929 34.411405 14.598779 12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958L326.838693 260.692464z" fill="#003087" p-id="22662"></path></svg> | 97 | <svg t="1709002828937" class="icon" viewBox="0 0 4220 1024" version="1.1" |
| 98 | xmlns="http://www.w3.org/2000/svg" p-id="22654" width="94" height="40"> | ||
| 99 | <path | ||
| 100 | d="M3249.722604 229.409369h-232.537679c-15.641548 0-29.197556 11.470468-32.325865 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h118.875764c11.470468 0 20.855397-8.342159 21.898167-18.769858l27.112016-168.928717c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641547c41.710794 0 81.336049 0 102.191447 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731z" | ||
| 101 | fill="#009CDE" p-id="22655"></path> | ||
| 102 | <path | ||
| 103 | d="M1594.84684 229.409369h-232.537678c-15.641548 0-29.197556 11.470468-32.325866 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h110.533605c15.641548 0 29.197556-11.470468 32.325866-27.112017l25.026476-160.586558c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641548c41.710794 0 81.336049 0 102.191446 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731zM2288.288795 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.213849 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710794 171.014257 34.411405 39.625255 82.378819 56.309572 139.731161 56.309572 99.063136 0 153.287169-63.608961 153.287169-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480652-380.610998c2.08554-10.427699-6.256619-21.898167-18.769858-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.079429-30.240326-16.684318-19.812627-22.940937-46.924644-17.727088-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z" | ||
| 104 | fill="#003087" p-id="22656"></path> | ||
| 105 | <path | ||
| 106 | d="M3943.164559 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.21385 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710795 171.014257 34.411405 39.625255 82.378819 56.309572 139.73116 56.309572 99.063136 0 153.287169-63.608961 153.28717-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480651-380.610998c2.08554-10.427699-6.256619-21.898167-18.769857-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.07943-30.240326-16.684318-19.812627-22.940937-46.924644-17.727087-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z" | ||
| 107 | fill="#009CDE" p-id="22657"></path> | ||
| 108 | <path | ||
| 109 | d="M2880.582074 443.177189h-111.576375c-10.427699 0-20.855397 5.213849-27.112016 14.598778l-154.329939 227.323829-65.694501-217.9389c-4.171079-13.556008-16.684318-22.940937-31.283096-22.940937h-109.490835c-13.556008 0-22.940937 13.556008-18.769857 26.069247l123.046843 360.79837-115.747454 162.672098c-9.384929 12.513238 0 30.240326 15.641548 30.240326h111.576375c10.427699 0 20.855397-5.213849 26.069246-13.556008l371.226069-535.983707c11.470468-13.556008 2.08554-31.283096-13.556008-31.283096z" | ||
| 110 | fill="#003087" p-id="22658"></path> | ||
| 111 | <path | ||
| 112 | d="M4074.553561 245.050916l-94.892057 605.849288c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h95.934827c15.641548 0 29.197556-11.470468 32.325866-27.112017l93.849287-595.421588c2.08554-11.470468-7.299389-21.898167-18.769857-21.898167h-107.405296c-10.427699 1.04277-18.769857 7.299389-19.812627 16.684317z" | ||
| 113 | fill="#009CDE" p-id="22659"></path> | ||
| 114 | <path | ||
| 115 | d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l-13.556008 85.507128c-2.08554 14.598778 9.384929 27.112016 23.983707 27.112016h165.800407c19.812627 0 36.496945-14.598778 39.625255-33.368635l2.08554-8.342159 31.283095-198.126273 2.08554-10.427699c3.12831-19.812627 19.812627-33.368635 39.625255-33.368635h25.026476c160.586558 0 285.718941-64.651731 322.215886-253.393075 15.641548-79.250509 7.299389-144.94501-33.368635-190.826884-12.513238-13.556008-28.154786-26.069246-45.881874-35.454175" | ||
| 116 | fill="#009CDE" p-id="22660"></path> | ||
| 117 | <path | ||
| 118 | d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958-1.04277 9.384929c3.12831-21.898167 21.898167-38.582485 44.839104-38.582485h93.849287c183.527495 0 327.429735-74.03666 369.140529-289.89002l3.12831-18.769857" | ||
| 119 | fill="#012169" p-id="22661"></path> | ||
| 120 | <path | ||
| 121 | d="M326.838693 260.692464c2.08554-13.556008 10.427699-23.983707 21.898167-30.240326 5.213849-2.08554 11.470468-4.171079 16.684318-4.171079h250.264766c29.197556 0 57.352342 2.08554 82.378819 6.256619 7.299389 1.04277 14.598778 2.08554 20.855397 4.17108 7.299389 1.04277 13.556008 3.12831 19.812627 5.213849l9.384929 3.128309c12.513238 4.171079 23.983707 9.384929 34.411405 14.598779 12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958L326.838693 260.692464z" | ||
| 122 | fill="#003087" p-id="22662"></path> | ||
| 123 | </svg> | ||
| 147 | </el-radio> | 124 | </el-radio> |
| 148 | </el-radio-group> | 125 | </el-radio-group> |
| 149 | 126 | ||
| 150 | <div v-if="payType == '3'"> | 127 | <div v-if="payType == '3'"> |
| 151 | <table class="table-border table" cellpadding="0" cellspacing="0"> | 128 | <table class="table-border table" cellpadding="0" cellspacing="0"> |
| 152 | <tr> | 129 | <tr> |
| 153 | <th colspan="2" class="head">线下缴费的收款信息</th> | 130 | <th colspan="2" class="head">{{ language==0?'线下缴费的收款信息':'Offline Payment Collection Information' }}</th> |
| 154 | </tr> | 131 | </tr> |
| 155 | <tr> | 132 | <tr> |
| 156 | <th>付款金额</th> | 133 | <th>{{ language==0?'付款金额':'Payment Amount' }}</th> |
| 157 | <td> | 134 | <td> |
| 158 | ¥1840 | 135 | ¥{{ totalFee }} |
| 159 | <div class="text-gray">请按照指定金额进行打款</div> | 136 | <div class="text-gray">请按照指定金额进行打款</div> |
| 160 | </td> | 137 | </td> |
| 161 | </tr> | 138 | </tr> |
| 162 | <tr> | 139 | <tr> |
| 163 | <th>收款账号</th> | 140 | <th>{{ language==0?'收款账号':`Receiver's Account Number` }}</th> |
| 164 | <td> | 141 | <td> |
| 165 | 7665 5278 8829 9377 7888 8888 88 <span class="text-primary size12">复制25位账号</span> | 142 | {{ form.orgBankAccountNum }} |
| 166 | <div class="text-gray">请勿重复打款</div> | 143 | <span v-if="language==0" class="text-primary size12">复制25位账号</span> |
| 167 | </td> | 144 | <span v-else class="text-primary size12">Copy 25-digit Account Number</span> |
| 168 | </tr> | 145 | <div v-if="language==0" class="text-gray">请勿重复打款</div> |
| 169 | <tr> | 146 | <div v-else class="text-gray">Please do not make duplicate payments</div> |
| 170 | <th>收款公司名</th> | 147 | </td> |
| 171 | <td>无锡吉金体育有限公司</td> | 148 | </tr> |
| 172 | </tr> | 149 | <tr> |
| 173 | <tr> | 150 | <th>{{ language==0?'收款公司名':'Name of the Payee Company' }}</th> |
| 174 | <th>开户银行</th> | 151 | <td>{{ form.orgBankAccount }}</td> |
| 175 | <td>招商银行无锡分行</td> | 152 | </tr> |
| 176 | </tr> | 153 | <tr> |
| 177 | <tr> | 154 | <th>{{ language==0?'开户银行':'Bank Name' }}</th> |
| 178 | <th>备注信息</th> | 155 | <td>{{ form.orgBankName }}</td> |
| 179 | <td> | 156 | </tr> |
| 180 | 体育舞蹈报名费保险费 | 157 | <tr> |
| 181 | </td> | 158 | <th>{{ language==0?'备注信息':'Remarks' }}</th> |
| 182 | </tr> | 159 | <td> |
| 183 | <tr> | 160 | 体育舞蹈报名费保险费 |
| 184 | <th>联系人</th> | 161 | </td> |
| 185 | <td> | 162 | </tr> |
| 186 | 张译文 | 163 | <tr> |
| 187 | </td> | 164 | <th>{{ language==0?'联系人':'Contacts' }}</th> |
| 188 | </tr> | 165 | <td> |
| 189 | <tr> | 166 | 张译文 |
| 190 | <th>联系电话</th> | 167 | </td> |
| 191 | <td>16882846767</td> | 168 | </tr> |
| 192 | </tr> | 169 | <tr> |
| 193 | <tr> | 170 | <th>{{ language==0?'联系电话':'Telephone' }}</th> |
| 194 | <th>操作</th> | 171 | <td>16882846767</td> |
| 195 | <td> | 172 | </tr> |
| 196 | <el-link class="mr10" type="primary"><el-icon><Upload /></el-icon>上传汇款单</el-link> | 173 | <tr> |
| 197 | <span class="text-danger size12">*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span> | 174 | <th>{{ language==0?'操作':'Actions' }}</th> |
| 198 | </td> | 175 | <td> |
| 199 | </tr> | 176 | <el-link class="mr10" type="primary"> |
| 200 | </table> | 177 | <el-icon> |
| 178 | <Upload/> | ||
| 179 | </el-icon> | ||
| 180 | {{ language==0?'上传汇款单':'Upload Remittance Receipt' }} | ||
| 181 | </el-link> | ||
| 182 | <span v-if="language==0" class="text-danger size12">*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span> | ||
| 183 | <span v-else class="text-danger size12">*You can confirm with the contact person by phone after uploading the remittance form. The specific payment results can be viewed in the My Registration section of the personal center to check the progress</span> | ||
| 184 | </td> | ||
| 185 | </tr> | ||
| 186 | </table> | ||
| 201 | 187 | ||
| 202 | <div class="text-center"> | 188 | <div class="text-center"> |
| 203 | <el-button type="primary" round class="btn-lineG w200px">保存</el-button> | 189 | <el-button type="primary" round class="btn-lineG w200px">保存</el-button> |
| 204 | </div> | 190 | </div> |
| 205 | </div> | 191 | </div> |
| 206 | <div class="text-center mt20" v-else> | 192 | <div class="text-center mt20" v-else> |
| 207 | <el-button type="primary" round class="btn-lineG w200px">保存</el-button> | 193 | <el-button type="primary" round class="btn-lineG w200px">确定</el-button> |
| 208 | </div> | 194 | </div> |
| 209 | </div> | 195 | </div> |
| 210 | 196 | ||
| 211 | </el-card> | 197 | </el-card> |
| 212 | </div> | 198 | </div> |
| 213 | 199 | ||
| 200 | <div class="box" v-if="errorBox"> | ||
| 201 | <el-result | ||
| 202 | icon="error" | ||
| 203 | title="未找到对应订单" | ||
| 204 | sub-title="请确认订单号是否正确" | ||
| 205 | > | ||
| 206 | <template #extra> | ||
| 207 | <el-button type="primary" @click="goHome" class="btn-lineG w200px" round>{{ language==0?'返回首页':'Home' }}</el-button> | ||
| 208 | </template> | ||
| 209 | </el-result> | ||
| 210 | </div> | ||
| 214 | </div> | 211 | </div> |
| 215 | </template> | 212 | </template> |
| 216 | 213 | ||
| 217 | <script setup> | 214 | <script setup> |
| 218 | import {ref} from 'vue' | 215 | import {ref} from 'vue' |
| 216 | import {onMounted} from "@vue/runtime-core" | ||
| 217 | import {useRoute,useRouter} from "vue-router" | ||
| 218 | import * as match from "@/apiPc/match" | ||
| 219 | import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row"; | ||
| 219 | 220 | ||
| 221 | const route = useRoute() | ||
| 222 | const router = useRouter() | ||
| 220 | const matchInfo = ref({}) | 223 | const matchInfo = ref({}) |
| 221 | const approved = ref(true) | 224 | const approved = ref(true) |
| 222 | const tableData = ref([]) | 225 | const tableData = ref([]) |
| 223 | const payType = ref('2') | 226 | const payType = ref('2') |
| 227 | const orderId = ref(route.query.orderId) | ||
| 228 | const matchId = ref() | ||
| 229 | const groupId = ref() | ||
| 230 | import cache from "@/plugins/cache"; | ||
| 231 | import GroupInfoRow from "@/viewsPc/match/components/groupInfo-row"; | ||
| 232 | import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row"; | ||
| 233 | import SignInfoTable from "@/viewsPc/match/components/signInfo-table" | ||
| 234 | import ZuTable from "@/viewsPc/match/components/zu-table"; | ||
| 235 | import useUserStore from "@/store/modules/user"; | ||
| 236 | const isLogin = ref(false) | ||
| 237 | const language = ref(cache.local.get('language') || 0) | ||
| 238 | const signInfoList = ref([]) | ||
| 239 | const zuTableList = ref([]) | ||
| 240 | const totalFee = ref('') | ||
| 241 | const form = ref({}) | ||
| 242 | const errorBox = ref(false) | ||
| 243 | console.log(route.query.orderId) | ||
| 244 | // 1763462073870237698 | ||
| 245 | getData() | ||
| 246 | if (useUserStore().user) { | ||
| 247 | isLogin.value = true | ||
| 248 | } | ||
| 249 | function getData() { | ||
| 250 | match.getMyOrderDetail({orderId:orderId.value}).then(res => { | ||
| 251 | totalFee.value = res.data.totalFee | ||
| 252 | form.value = res.data | ||
| 253 | matchId.value = form.value.cptId | ||
| 254 | groupId.value = form.value.groupId || 0 | ||
| 255 | if(isLogin.value){ | ||
| 256 | getSignList() | ||
| 257 | } | ||
| 258 | }).catch(err=>{ | ||
| 259 | console.log(err) | ||
| 260 | errorBox.value = true | ||
| 261 | }) | ||
| 262 | } | ||
| 224 | 263 | ||
| 264 | function getSignList() { | ||
| 265 | match.getMySignInfoList({ | ||
| 266 | cptId: matchId.value, | ||
| 267 | groupId: groupId.value | ||
| 268 | }).then(res => { | ||
| 269 | signInfoList.value = res.data.singleData | ||
| 270 | zuTableList.value = res.data.zuData | ||
| 271 | }) | ||
| 272 | } | ||
| 273 | function goHome() { | ||
| 274 | router.push('/') | ||
| 275 | } | ||
| 225 | </script> | 276 | </script> |
| 226 | 277 | ||
| 227 | <style scoped lang="scss"> | 278 | <style scoped lang="scss"> |
| 228 | .el-radio.is-bordered{height: 40px;} | 279 | .el-radio.is-bordered { |
| 229 | .leftboderTT{font-weight: 600; | 280 | height: 40px; |
| 281 | } | ||
| 282 | |||
| 283 | .leftboderTT { | ||
| 284 | font-weight: 600; | ||
| 230 | font-size: 16px; | 285 | font-size: 16px; |
| 231 | color: #453DEA;} | 286 | color: #453DEA; |
| 287 | } | ||
| 288 | |||
| 232 | .bg-lineg { | 289 | .bg-lineg { |
| 233 | height: 40px; | 290 | height: 40px; |
| 234 | line-height: 40px; | 291 | line-height: 40px; |
| 235 | font-size: 18px; | 292 | font-size: 18px; |
| 236 | text-align: center; | 293 | text-align: center; |
| 237 | } | 294 | } |
| 238 | .table{width: 100%;max-width: 1000px;margin:20px auto; | 295 | |
| 239 | .head{background: #EFF2F7;height: 50px;font-size: 16px;font-weight: 400;} | 296 | .table { |
| 240 | th{background: #FAFBFD;font-size: 14px; | 297 | width: 100%; |
| 241 | border-bottom: 1px solid #E5E5E5;border-right: 1px solid #E5E5E5;} | 298 | max-width: 1000px; |
| 242 | td{border-bottom: 1px solid #E5E5E5;border-right: 1px solid #E5E5E5; | 299 | margin: 20px auto; |
| 300 | |||
| 301 | .head { | ||
| 302 | background: #EFF2F7; | ||
| 303 | height: 50px; | ||
| 304 | font-size: 16px; | ||
| 305 | font-weight: 400; | ||
| 306 | } | ||
| 307 | |||
| 308 | th { | ||
| 309 | background: #FAFBFD; | ||
| 310 | font-size: 14px; | ||
| 311 | border-bottom: 1px solid #E5E5E5; | ||
| 312 | border-right: 1px solid #E5E5E5; | ||
| 313 | } | ||
| 314 | |||
| 315 | td { | ||
| 316 | border-bottom: 1px solid #E5E5E5; | ||
| 317 | border-right: 1px solid #E5E5E5; | ||
| 243 | padding: 10px; | 318 | padding: 10px; |
| 244 | } | 319 | } |
| 245 | &.table-border{border-top: 1px solid #E5E5E5;border-left: 1px solid #E5E5E5;} | 320 | |
| 321 | &.table-border { | ||
| 322 | border-top: 1px solid #E5E5E5; | ||
| 323 | border-left: 1px solid #E5E5E5; | ||
| 324 | } | ||
| 246 | } | 325 | } |
| 247 | .text-gray{font-weight: 400; | 326 | |
| 327 | .text-gray { | ||
| 328 | font-weight: 400; | ||
| 248 | font-size: 12px; | 329 | font-size: 12px; |
| 249 | color: #929AA0;} | 330 | color: #929AA0; |
| 250 | .size12{font-size: 12px;} | 331 | } |
| 251 | .result{font-size: 22px; | 332 | |
| 252 | .flex{display: flex;align-items: center;font-weight: 500; | 333 | .size12 { |
| 253 | img{margin-right: 10px} | 334 | font-size: 12px; |
| 335 | } | ||
| 336 | |||
| 337 | .result { | ||
| 338 | font-size: 22px; | ||
| 339 | |||
| 340 | .flex { | ||
| 341 | display: flex; | ||
| 342 | align-items: center; | ||
| 343 | font-weight: 500; | ||
| 344 | |||
| 345 | img { | ||
| 346 | margin-right: 10px | ||
| 347 | } | ||
| 254 | } | 348 | } |
| 255 | .priceb{color: #7B7F83;font-size: 16px;text-align: right; | 349 | |
| 350 | .priceb { | ||
| 351 | color: #7B7F83; | ||
| 352 | font-size: 16px; | ||
| 353 | text-align: right; | ||
| 256 | line-height: 50px; | 354 | line-height: 50px; |
| 257 | span{font-weight: bold; | 355 | |
| 258 | font-size: 22px;font-family: DIN Alternate; | 356 | span { |
| 259 | color: #EB6100;} | 357 | font-weight: bold; |
| 358 | font-size: 22px; | ||
| 359 | font-family: DIN Alternate; | ||
| 360 | color: #EB6100; | ||
| 361 | } | ||
| 362 | } | ||
| 363 | } | ||
| 364 | .skeletonBox{position: relative;overflow: hidden; | ||
| 365 | .btn-lineG{position: absolute;left: 0;right: 0;margin: auto;top: 0;bottom: 0; | ||
| 366 | width: 200px;box-shadow: 0 0 1000px 500px rgba(255,255,255,0.5); | ||
| 260 | } | 367 | } |
| 261 | } | 368 | } |
| 262 | </style> | 369 | </style> | ... | ... |
| ... | @@ -5,56 +5,18 @@ | ... | @@ -5,56 +5,18 @@ |
| 5 | <team-sign-step :language="language" :active-step="activeStep"/> | 5 | <team-sign-step :language="language" :active-step="activeStep"/> |
| 6 | </el-card> | 6 | </el-card> |
| 7 | <el-card :body-style="{ padding: '0px' }"> | 7 | <el-card :body-style="{ padding: '0px' }"> |
| 8 | <match-info-row :matchInfo="matchInfo" :language="language"/> | 8 | <match-info-row v-if="matchId" :match-id="matchId"/> |
| 9 | <group-info-row :groupInfo="groupInfo" :language="language"/> | 9 | <group-info-row /> |
| 10 | <coach-info-row :names="names" :language="language"/> | 10 | <coach-info-row v-if="matchId" :match-id="matchId" :language="language"/> |
| 11 | <div style="margin: 20px"> | 11 | <div style="margin: 20px"> |
| 12 | 12 | ||
| 13 | <div class="mt20"> | 13 | <div class="mt20"> |
| 14 | <div class="leftboderTT">参赛人员清单</div> | 14 | <div class="leftboderTT">{{ language==0?'参赛人员清单':'Participant List' }}</div> |
| 15 | <el-table :data="tableData" border style="width: 100%" class="mt20" :span-method="arraySpanMethod"> | 15 | <sign-info-table class="mt20" :match-id="matchId" :list="signInfoList" :hasAction="false"/> |
| 16 | <el-table-column label="所属国家"/> | ||
| 17 | <el-table-column prop="name" label="姓氏" width="180" align="center"></el-table-column> | ||
| 18 | <el-table-column label="名"/> | ||
| 19 | <el-table-column label="短名"/> | ||
| 20 | <el-table-column prop="sex" label="性别" width="180" align="center"></el-table-column> | ||
| 21 | <el-table-column prop="age" label="年龄" width="180" align="center"></el-table-column> | ||
| 22 | <el-table-column label="出生日期" align="center"/> | ||
| 23 | <el-table-column prop="phone" label="手机号码" width="180" align="center"></el-table-column> | ||
| 24 | <el-table-column label="邮箱"/> | ||
| 25 | <el-table-column label="证件类型" align="center"/> | ||
| 26 | <el-table-column label="证件号码"/> | ||
| 27 | <el-table-column label="报项" fixed="right"> | ||
| 28 | <template #default="scope"> | ||
| 29 | <ol> | ||
| 30 | <li v-for="item in scope.row.items" :key="item.id">{{ item.name }}</li> | ||
| 31 | </ol> | ||
| 32 | </template> | ||
| 33 | </el-table-column> | ||
| 34 | <el-table-column label="保险费" fixed="right" align="center"> | ||
| 35 | <template #default="scope"> | ||
| 36 | <span class="text-primary">¥{{ scope.row.signFee }}/人</span> | ||
| 37 | </template> | ||
| 38 | </el-table-column> | ||
| 39 | </el-table> | ||
| 40 | |||
| 41 | </div> | 16 | </div> |
| 42 | <div class="mt20"> | 17 | <div class="mt20"> |
| 43 | <div class="leftboderTT">设项报名清单</div> | 18 | <div class="leftboderTT">{{ language==0?'设项报名清单':'Event Registration List' }}</div> |
| 44 | <!-- 报项列表--> | 19 | <zu-table class="mt20" :list="zuTableList" :hasAction="false"/> |
| 45 | <el-table :data="tableData" border style="width: 100%" class="mt20"> | ||
| 46 | <el-table-column label="组别代码" align="center"/> | ||
| 47 | <el-table-column label="组别" align="center"/> | ||
| 48 | <el-table-column label="舞种" align="center"/> | ||
| 49 | <el-table-column label="参赛说明"/> | ||
| 50 | <el-table-column label="参赛运动员"/> | ||
| 51 | <el-table-column label="补充信息"/> | ||
| 52 | <el-table-column label="报名费" align="center"> | ||
| 53 | <template #default="scope"> | ||
| 54 | <span class="text-primary">¥{{ scope.row.signFee }}/人</span> | ||
| 55 | </template> | ||
| 56 | </el-table-column> | ||
| 57 | </el-table> | ||
| 58 | </div> | 20 | </div> |
| 59 | </div> | 21 | </div> |
| 60 | 22 | ||
| ... | @@ -64,20 +26,22 @@ | ... | @@ -64,20 +26,22 @@ |
| 64 | <el-row class="priceBar"> | 26 | <el-row class="priceBar"> |
| 65 | <el-col :lg="16" :xs="24" class="pd20"> | 27 | <el-col :lg="16" :xs="24" class="pd20"> |
| 66 | <div class="flex"> | 28 | <div class="flex"> |
| 67 | <div class="item"><label>报名费:</label><span>¥3000</span></div> | 29 | <div class="item"><label>{{ language==0?'报名费':'Registration Fee' }}:</label><span>¥{{form.cptRegistrationFee?.totalFee}}</span></div> |
| 68 | <div class="item"><label>保险费:</label><span>¥3000</span></div> | 30 | <div class="item"><label>{{ language==0?'保险费':'Insurance Fee' }}:</label><span>¥{{form.cptInsuranceFee?.totalFee}}</span></div> |
| 69 | <div class="item"><label>费用总计:</label><span>¥6000</span></div> | 31 | <div class="item"><label>{{ language==0?'费用总计':'Total Cost' }}:</label><span>¥{{form.totalFee}}</span></div> |
| 70 | </div> | 32 | </div> |
| 71 | </el-col> | 33 | </el-col> |
| 72 | <el-col :lg="8" :xs="24" class="text-right pd20"> | 34 | <el-col :lg="8" :xs="24" class="text-right pd20"> |
| 73 | <el-link type="primary"><el-icon><Upload /></el-icon>导出参赛人员清单</el-link> | 35 | <el-link type="primary" @click="exportSignList(1)"><el-icon><Upload /></el-icon> |
| 74 | <el-link type="primary"><el-icon><Upload /></el-icon>导出设项报名清单</el-link> | 36 | {{ language==0?'导出参赛人员清单':'Export Participant List' }}</el-link> |
| 37 | <el-link type="primary" @click="exportSignList(2)"><el-icon><Upload /></el-icon> | ||
| 38 | {{ language==0?'导出设项报名清单':'Registration Fee for Event Entry' }}</el-link> | ||
| 75 | </el-col> | 39 | </el-col> |
| 76 | </el-row> | 40 | </el-row> |
| 77 | <div class="text-center pd20"> | 41 | <div class="text-center pd20"> |
| 78 | <el-button type="primary" class="" plain round @click="goPrev()">上一步</el-button> | 42 | <el-button type="primary" class="" plain round @click="goPrev()">{{ language == 0 ? "上一步" : 'Go back' }}</el-button> |
| 79 | <el-button type="primary" class="" plain round @click="submitForm()">保存暂不提交审核</el-button> | 43 | <el-button type="primary" class="" plain round @click="submitForm(0)">{{ language==0?'保存暂不提交审核':'Save, Do Not Submit for Review Yet' }}</el-button> |
| 80 | <el-button type="primary" class="btn-lineG w200px" round @click="submitForm()">提交审核</el-button> | 44 | <el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)">{{ language==0?'提交审核':'Submit for review' }}</el-button> |
| 81 | </div> | 45 | </div> |
| 82 | </el-card> | 46 | </el-card> |
| 83 | </div> | 47 | </div> |
| ... | @@ -89,64 +53,117 @@ import TeamSignStep from './components/teamSignStep' | ... | @@ -89,64 +53,117 @@ import TeamSignStep from './components/teamSignStep' |
| 89 | import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row" | 53 | import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row" |
| 90 | import GroupInfoRow from "@/viewsPc/match/components/groupInfo-row" | 54 | import GroupInfoRow from "@/viewsPc/match/components/groupInfo-row" |
| 91 | import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row" | 55 | import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row" |
| 92 | 56 | import SignInfoTable from "@/viewsPc/match/components/signInfo-table" | |
| 93 | import {ref} from "vue" | 57 | import {getCurrentInstance, ref} from "vue" |
| 94 | import cache from "@/plugins/cache"; | 58 | import cache from "@/plugins/cache"; |
| 95 | import {onMounted} from "@vue/runtime-core"; | 59 | import {onMounted} from "@vue/runtime-core"; |
| 96 | import * as match from "@/apiPc/match" | 60 | import * as match from "@/apiPc/match" |
| 97 | import {useRoute, useRouter} from "vue-router"; | 61 | import {useRoute, useRouter} from "vue-router"; |
| 98 | import useUserStore from "@/store/modules/user"; | 62 | import useUserStore from "@/store/modules/user"; |
| 63 | import ZuTable from "@/viewsPc/match/components/zu-table"; | ||
| 64 | import {ElMessageBox} from "element-plus"; | ||
| 65 | import {exportCn} from "@/apiPc/match"; | ||
| 99 | const route = useRoute() | 66 | const route = useRoute() |
| 100 | const router = useRouter() | 67 | const router = useRouter() |
| 101 | const activeStep = ref(3) | 68 | const activeStep = ref(3) |
| 102 | const matchInfo = ref({}) | ||
| 103 | const groupInfo = useUserStore().group || {} | 69 | const groupInfo = useUserStore().group || {} |
| 104 | const language = ref(cache.local.get('language') || 0) | 70 | const language = ref(cache.local.get('language') || 0) |
| 105 | const groupId = ref() | 71 | const groupId = ref() |
| 106 | const form = ref({}) | 72 | const form = ref({}) |
| 107 | const matchId = ref() | 73 | const matchId = ref(route.query.matchId) |
| 108 | const names = ref({}) | 74 | const signInfoList = ref([]) |
| 75 | const zuTableList = ref([]) | ||
| 76 | const {proxy} = getCurrentInstance() | ||
| 109 | onMounted(()=>{ | 77 | onMounted(()=>{ |
| 110 | console.log(route.query) | 78 | // console.log(route.query) |
| 111 | groupId.value = route.query.groupId || 0 | ||
| 112 | matchId.value = route.query.matchId | 79 | matchId.value = route.query.matchId |
| 113 | getMatch() | 80 | groupId.value = route.query.groupId || 0 |
| 114 | getFee() | 81 | getSignList() |
| 115 | if(groupId.value!=0){ | 82 | getFee(groupId.value) |
| 116 | tuandui() | ||
| 117 | } else { | ||
| 118 | geren() | ||
| 119 | } | ||
| 120 | }) | 83 | }) |
| 121 | const getMatch = () => { | ||
| 122 | match.getMatchById({ id: matchId.value }).then(res => { | ||
| 123 | matchInfo.value = res.data | ||
| 124 | }) | ||
| 125 | } | ||
| 126 | function geren() { | ||
| 127 | match.getChooseDoneSingleCoachs(matchId.value).then(res => { | ||
| 128 | names.value = res.data | ||
| 129 | }) | ||
| 130 | } | ||
| 131 | 84 | ||
| 132 | function tuandui() { | 85 | |
| 133 | match.getChooseDoneGroupCoachs(matchId.value, groupId.value).then(res => { | 86 | function getSignList() { |
| 134 | names.value = res.data | 87 | match.getMySignInfoList({ |
| 88 | cptId: matchId.value, | ||
| 89 | groupId: groupId.value | ||
| 90 | }).then(res=>{ | ||
| 91 | signInfoList.value = res.data.singleData | ||
| 92 | zuTableList.value = res.data.zuData | ||
| 135 | }) | 93 | }) |
| 136 | } | 94 | } |
| 137 | const goPrev = () => { | 95 | const goPrev = () => { |
| 138 | router.go(-1) | 96 | // router.go(-1) |
| 97 | router.push({ | ||
| 98 | name: 'chooseSportsman', | ||
| 99 | query: { | ||
| 100 | matchId: matchId.value, | ||
| 101 | groupId: groupId.value | ||
| 102 | } | ||
| 103 | }) | ||
| 139 | } | 104 | } |
| 140 | const getFee = () => { | 105 | const getFee = (entryId) => { |
| 141 | console.log(groupId.value) | ||
| 142 | |||
| 143 | match.getTotalFee({ | 106 | match.getTotalFee({ |
| 144 | entryId: groupId.value, | 107 | entryId: entryId, |
| 145 | cptId: matchId.value | 108 | cptId: matchId.value |
| 146 | }).then(res => { | 109 | }).then(res => { |
| 147 | form.value = res.data | 110 | form.value = res.data |
| 148 | }) | 111 | }) |
| 149 | } | 112 | } |
| 113 | const submitForm = (n) => { | ||
| 114 | if(n==0){ | ||
| 115 | ElMessageBox.confirm(`您当前的操作为暂存,并不是提交审核,必须在报名截止时间XXXX-XX-XX之前完成提交。\n` + | ||
| 116 | '\n' + | ||
| 117 | '您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。','提示',{ | ||
| 118 | confirmButtonText: '去个人中心', | ||
| 119 | cancelButtonText: '知道了', | ||
| 120 | type: 'warning' | ||
| 121 | }).then((res)=>{ | ||
| 122 | console.log(res) | ||
| 123 | router.push({name: 'myMatch'}) | ||
| 124 | }) | ||
| 125 | return | ||
| 126 | } | ||
| 127 | match.commitSign({ | ||
| 128 | groupId: groupId.value, | ||
| 129 | cptId: matchId.value | ||
| 130 | }).then(res=>{ | ||
| 131 | router.push({ | ||
| 132 | name:`commitDone`, | ||
| 133 | params: { | ||
| 134 | orderId: res.data | ||
| 135 | } | ||
| 136 | }) | ||
| 137 | }) | ||
| 138 | } | ||
| 139 | function exportSignList(n) { | ||
| 140 | var obj = { | ||
| 141 | cptId: matchId.value, | ||
| 142 | groupId: groupId.value, | ||
| 143 | type:n | ||
| 144 | } | ||
| 145 | var fileName | ||
| 146 | if(language.value==0){ | ||
| 147 | if(n==1){ | ||
| 148 | fileName = '参赛人员清单' | ||
| 149 | }else { | ||
| 150 | fileName = '设项报名清单' | ||
| 151 | } | ||
| 152 | proxy.download('/league/sign/exportCn', { | ||
| 153 | ...obj | ||
| 154 | }, `${fileName}_${new Date().getTime()}.xlsx`) | ||
| 155 | } else { | ||
| 156 | if(n==1){ | ||
| 157 | fileName = 'Participant List' | ||
| 158 | }else { | ||
| 159 | fileName = 'Registration Fee for Event Entry' | ||
| 160 | } | ||
| 161 | proxy.download('/league/sign/exportEn', { | ||
| 162 | ...obj | ||
| 163 | }, `${fileName}_${new Date().getTime()}.xlsx`) | ||
| 164 | } | ||
| 165 | |||
| 166 | } | ||
| 150 | </script> | 167 | </script> |
| 151 | 168 | ||
| 152 | <style scoped lang="scss"> | 169 | <style scoped lang="scss"> | ... | ... |
| ... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ |
| 7 | </el-card> | 7 | </el-card> |
| 8 | <div class="h20"></div> | 8 | <div class="h20"></div> |
| 9 | <div class="panel" style="box-shadow: var(--el-box-shadow)"> | 9 | <div class="panel" style="box-shadow: var(--el-box-shadow)"> |
| 10 | <match-info-row :matchInfo="matchInfo" :language="language"/> | 10 | <match-info-row :match-id="cptId" :language="language"/> |
| 11 | <div class="h20"></div> | 11 | <div class="h20"></div> |
| 12 | <el-form ref="ruleFormRef" label-width="120px" class="signForm" | 12 | <el-form ref="ruleFormRef" label-width="120px" class="signForm" |
| 13 | :model="form" :rules="rules" | 13 | :model="form" :rules="rules" |
| ... | @@ -108,8 +108,8 @@ const data = reactive({ | ... | @@ -108,8 +108,8 @@ const data = reactive({ |
| 108 | enBo:{} | 108 | enBo:{} |
| 109 | }, | 109 | }, |
| 110 | form: {}, | 110 | form: {}, |
| 111 | groupId: 0, | 111 | groupId: route.query.groupId||0, |
| 112 | cptId: 0, | 112 | cptId: route.query.matchId||0, |
| 113 | signType: false, | 113 | signType: false, |
| 114 | regionsList: [], | 114 | regionsList: [], |
| 115 | participantsInfoArr: [], | 115 | participantsInfoArr: [], |
| ... | @@ -143,9 +143,7 @@ const uploadUrl = ref('/upload/upLoadToFileServer') | ... | @@ -143,9 +143,7 @@ const uploadUrl = ref('/upload/upLoadToFileServer') |
| 143 | 143 | ||
| 144 | onMounted(() => { | 144 | onMounted(() => { |
| 145 | // 获取团体信息 | 145 | // 获取团体信息 |
| 146 | groupId.value = route.query.groupId | ||
| 147 | getGroupInfo() | 146 | getGroupInfo() |
| 148 | cptId.value = route.query.matchId | ||
| 149 | signType.value = route.query.signType | 147 | signType.value = route.query.signType |
| 150 | 148 | ||
| 151 | getRegionsList() | 149 | getRegionsList() | ... | ... |
| ... | @@ -5,8 +5,8 @@ | ... | @@ -5,8 +5,8 @@ |
| 5 | <!-- 国内-机构注册--> | 5 | <!-- 国内-机构注册--> |
| 6 | <el-card> | 6 | <el-card> |
| 7 | <el-steps :active="activeStep" finish-status="success" align-center> | 7 | <el-steps :active="activeStep" finish-status="success" align-center> |
| 8 | <el-step title="创建账号"/> | 8 | <el-step :title="language==0?'创建账号':'create an account'"/> |
| 9 | <el-step title="注册完成"/> | 9 | <el-step :title="language==0?'注册完成':'stered successfully'" /> |
| 10 | </el-steps> | 10 | </el-steps> |
| 11 | </el-card> | 11 | </el-card> |
| 12 | 12 | ||
| ... | @@ -14,37 +14,53 @@ | ... | @@ -14,37 +14,53 @@ |
| 14 | <div v-if="activeStep==0"> | 14 | <div v-if="activeStep==0"> |
| 15 | <el-card style="min-height: 50vh"> | 15 | <el-card style="min-height: 50vh"> |
| 16 | <div class="pt30"> | 16 | <div class="pt30"> |
| 17 | <el-form class="d-form" size="large" label-width="120" | 17 | <el-form class="d-form" size="large" :label-width="language==0?120:180" |
| 18 | style="max-width: 500px;margin: auto"> | 18 | style="max-width: 500px;margin: auto"> |
| 19 | <el-form-item label="WDSF卡号" required> | 19 | <el-form-item :label="language==0?'WDSF卡号':'WDSF'" required> |
| 20 | <el-input type="text" v-model="form.WDSF" @change="resetCode(0)" @blur="verifyCode"> | 20 | <el-input type="text" v-model="form.card" @change="resetCode(0)" @blur="verifyCode"> |
| 21 | <template #append> | 21 | <template #append> |
| 22 | <el-button type="primary" plain style="width: 110px" @click="checkwdsf"> | 22 | <el-button type="primary" plain style="width: 110px" @click="checkCard"> |
| 23 | <span>校验卡号</span> | 23 | <el-icon v-if="checkStatus" size="16" color="#67C23A"><CircleCheckFilled /></el-icon> |
| 24 | <span v-else>{{ language==0?'校验卡号':'Check Code' }}</span> | ||
| 24 | </el-button> | 25 | </el-button> |
| 25 | </template> | 26 | </template> |
| 26 | </el-input> | 27 | </el-input> |
| 28 | |||
| 27 | </el-form-item> | 29 | </el-form-item> |
| 28 | <el-form-item label="手机/邮箱" required> | 30 | <el-form-item :label="language==0?'手机/邮箱':'E-mail / Phone number'" required> |
| 29 | <el-input type="text" v-model="form.account" @change="resetCode(1)" @blur="verifyCode"/> | 31 | <el-input type="text" v-model="form.account" @change="resetCode(1)" @blur="verifyCode"/> |
| 30 | </el-form-item> | 32 | </el-form-item> |
| 31 | <el-form-item label="验证码" required> | 33 | <el-form-item :label="language==0?'验证码':'Code'" required> |
| 32 | <el-input v-model="form.code"> | 34 | <el-input v-model="form.code"> |
| 33 | <template #append> | 35 | <template #append> |
| 34 | <el-button type="primary" plain style="width: 110px" @click="sendsmsMsg"> | 36 | <el-button type="primary" plain style="width: 110px" @click="sendsmsMsg"> |
| 35 | <count-down v-if="counting" v-slot="{ totalSeconds }" :time="60000" @end="counting=false"> | 37 | <count-down v-if="counting" v-slot="{ totalSeconds }" :time="60000" @end="counting=false"> |
| 36 | {{ totalSeconds }} 秒 | 38 | {{ totalSeconds }} {{ language==0?'秒':'s' }} |
| 37 | </count-down> | 39 | </count-down> |
| 38 | <span v-else>发送验证码</span> | 40 | <span v-else>{{ language==0?'发送验证码':'Send code' }}</span> |
| 39 | </el-button> | 41 | </el-button> |
| 40 | </template> | 42 | </template> |
| 41 | </el-input> | 43 | </el-input> |
| 42 | </el-form-item> | 44 | </el-form-item> |
| 45 | <div class="h30"></div> | ||
| 46 | <div class="leftboderTT">{{ language == 0 ? '登录密码' : 'Password' }} <span | ||
| 47 | v-if="language==0">(登录时需要验证,保护账户信息)</span></div> | ||
| 48 | <div class="h20"></div> | ||
| 49 | <el-form-item :label="language==0?'密码':'Password'" required> | ||
| 50 | <el-input type="password" show-password v-model="form.password" | ||
| 51 | :placeholder="language==0?'6-16位密码。区分大小写':''"/> | ||
| 52 | </el-form-item> | ||
| 53 | <el-form-item :label="language==0?'确认密码':'Confirm Password'" required> | ||
| 54 | <el-input type="password" show-password v-model="form.confirmPassword" @blur="vconfirmPassword" | ||
| 55 | :placeholder="language==0?'再次输入密码':'Confirm Password'"/> | ||
| 56 | </el-form-item> | ||
| 43 | </el-form> | 57 | </el-form> |
| 44 | </div> | 58 | </div> |
| 45 | <div class="text-center"> | 59 | <div class="text-center"> |
| 46 | <!-- <el-button class="primary-kx" round @click="goBack">取消</el-button>--> | 60 | <!-- <el-button class="primary-kx" round @click="goBack">取消</el-button>--> |
| 47 | <el-button type="primary" class="btn-lineG w200px" round @click="next">下一步</el-button> | 61 | <el-button type="primary" class="btn-lineG w200px" round @click="next"> |
| 62 | {{ language==0?'立即注册':'Register Now' }} | ||
| 63 | </el-button> | ||
| 48 | </div> | 64 | </div> |
| 49 | </el-card> | 65 | </el-card> |
| 50 | </div> | 66 | </div> |
| ... | @@ -66,19 +82,22 @@ import Vcode from "vue3-puzzle-vcode" | ... | @@ -66,19 +82,22 @@ import Vcode from "vue3-puzzle-vcode" |
| 66 | import { ElMessage } from 'element-plus' | 82 | import { ElMessage } from 'element-plus' |
| 67 | import CountDown from '@chenfengyuan/vue-countdown' | 83 | import CountDown from '@chenfengyuan/vue-countdown' |
| 68 | import cache from '@/plugins/cache' | 84 | import cache from '@/plugins/cache' |
| 85 | import {checkWdsf, getCaptchaSms, registerSingle} from "@/apiPc/match"; | ||
| 86 | import {setToken} from "@/utils/auth"; | ||
| 69 | const language = ref(cache.local.get('language') || 0) | 87 | const language = ref(cache.local.get('language') || 0) |
| 70 | 88 | ||
| 71 | const data = reactive({ | 89 | const data = reactive({ |
| 72 | isShow:false, | 90 | isShow:false, |
| 73 | isCodeTrue:0, | 91 | isCodeTrue:0, |
| 74 | counting:false, | 92 | counting:false, |
| 93 | checkStatus:false, | ||
| 75 | form:{}, | 94 | form:{}, |
| 76 | activeStep: 0, | 95 | activeStep: 0, |
| 77 | failVcode:'验证失败,请重试', | 96 | failVcode:'验证失败,请重试', |
| 78 | successVcode:'验证通过!', | 97 | successVcode:'验证通过!', |
| 79 | sliderText: '拖动滑块完成拼图', | 98 | sliderText: '拖动滑块完成拼图', |
| 80 | }) | 99 | }) |
| 81 | const {isShow,isCodeTrue,counting,form,activeStep,failVcode,successVcode,sliderText} = toRefs(data) | 100 | const {isShow,isCodeTrue,counting,form,activeStep,failVcode,successVcode,sliderText,checkStatus} = toRefs(data) |
| 82 | onMounted(()=>{ | 101 | onMounted(()=>{ |
| 83 | if(language.value==1){ | 102 | if(language.value==1){ |
| 84 | failVcode.value = 'Error!' | 103 | failVcode.value = 'Error!' |
| ... | @@ -95,14 +114,15 @@ function sendsmsMsg() { | ... | @@ -95,14 +114,15 @@ function sendsmsMsg() { |
| 95 | } | 114 | } |
| 96 | return | 115 | return |
| 97 | } | 116 | } |
| 117 | |||
| 98 | if(counting.value){ | 118 | if(counting.value){ |
| 99 | return | 119 | return |
| 100 | } else { | 120 | } else { |
| 101 | isShow.value = true | 121 | isShow.value = true |
| 102 | } | 122 | } |
| 103 | } | 123 | } |
| 104 | function checkwdsf() { | 124 | function checkCard() { |
| 105 | if(!form.value.WDSF){ | 125 | if(!form.value.card){ |
| 106 | if(language.value==0){ | 126 | if(language.value==0){ |
| 107 | ElMessage.error('请填写WDSF卡号') | 127 | ElMessage.error('请填写WDSF卡号') |
| 108 | } else { | 128 | } else { |
| ... | @@ -125,13 +145,15 @@ function codeSuccess(msg) { | ... | @@ -125,13 +145,15 @@ function codeSuccess(msg) { |
| 125 | isShow.value = false | 145 | isShow.value = false |
| 126 | isCodeTrue.value += 1 | 146 | isCodeTrue.value += 1 |
| 127 | if(isCodeTrue.value==1){ | 147 | if(isCodeTrue.value==1){ |
| 128 | 148 | checkWdsf({card:form.value.card}).then(res=>{ | |
| 149 | checkStatus.value = res.data | ||
| 150 | }) | ||
| 129 | } | 151 | } |
| 130 | if(isCodeTrue.value==2){ | 152 | if(isCodeTrue.value==2){ |
| 131 | counting.value = true | 153 | counting.value = true |
| 132 | // getCaptchaSms({account:form.value.account}).then(res=>{ | 154 | getCaptchaSms({account:form.value.account}).then(res=>{ |
| 133 | // | 155 | |
| 134 | // }) | 156 | }) |
| 135 | } | 157 | } |
| 136 | 158 | ||
| 137 | } | 159 | } |
| ... | @@ -139,10 +161,24 @@ function resetCode(n) { | ... | @@ -139,10 +161,24 @@ function resetCode(n) { |
| 139 | isCodeTrue.value = n | 161 | isCodeTrue.value = n |
| 140 | } | 162 | } |
| 141 | function next() { | 163 | function next() { |
| 142 | activeStep.value = 1 | 164 | registerSingle(form.value).then(res=>{ |
| 165 | setToken(res.data.token) | ||
| 166 | activeStep.value = 1 | ||
| 167 | }) | ||
| 143 | } | 168 | } |
| 144 | </script> | 169 | </script> |
| 145 | 170 | ||
| 146 | <style scoped> | 171 | <style scoped lang="scss"> |
| 172 | .leftboderTT { | ||
| 173 | color: var(--el-color-primary); | ||
| 174 | font-size: 16px; | ||
| 175 | font-weight: 600; | ||
| 147 | 176 | ||
| 177 | span { | ||
| 178 | color: #929AA0; | ||
| 179 | font-size: 14px; | ||
| 180 | } | ||
| 181 | } | ||
| 182 | .h20{height: 20px} | ||
| 183 | .h30{height: 30px} | ||
| 148 | </style> | 184 | </style> | ... | ... |
| ... | @@ -10,7 +10,7 @@ | ... | @@ -10,7 +10,7 @@ |
| 10 | <template #append> | 10 | <template #append> |
| 11 | <el-button type="primary" plain style="width: 110px" @click="sendsmsMsg"> | 11 | <el-button type="primary" plain style="width: 110px" @click="sendsmsMsg"> |
| 12 | <count-down v-if="counting" v-slot="{ totalSeconds }" :time="60000" @end="counting=false"> | 12 | <count-down v-if="counting" v-slot="{ totalSeconds }" :time="60000" @end="counting=false"> |
| 13 | {{ totalSeconds }} 秒 | 13 | {{ totalSeconds }} {{ language==0?'秒':'s' }} |
| 14 | </count-down> | 14 | </count-down> |
| 15 | <span v-else> | 15 | <span v-else> |
| 16 | {{ language==0?'发送验证码':'Send code' }} | 16 | {{ language==0?'发送验证码':'Send code' }} |
| ... | @@ -89,9 +89,9 @@ function codeSuccess(msg) { | ... | @@ -89,9 +89,9 @@ function codeSuccess(msg) { |
| 89 | isShow.value = false | 89 | isShow.value = false |
| 90 | isCodeTrue.value = true | 90 | isCodeTrue.value = true |
| 91 | counting.value = true | 91 | counting.value = true |
| 92 | // getCaptchaSms({account:form.value.account}).then(res=>{ | 92 | getCaptchaSms({account:form.value.account}).then(res=>{ |
| 93 | // | 93 | |
| 94 | // }) | 94 | }) |
| 95 | } | 95 | } |
| 96 | function resetCode() { | 96 | function resetCode() { |
| 97 | isCodeTrue.value = false | 97 | isCodeTrue.value = false | ... | ... |
| ... | @@ -167,6 +167,7 @@ const goStep3 = () => { | ... | @@ -167,6 +167,7 @@ const goStep3 = () => { |
| 167 | loading.value = true | 167 | loading.value = true |
| 168 | delete form.value.confirmPassword | 168 | delete form.value.confirmPassword |
| 169 | form.value.regionId = regionArr.value.pop() | 169 | form.value.regionId = regionArr.value.pop() |
| 170 | form.value.username= props.accont | ||
| 170 | match.pcRegisterTeam(form.value).then(res => { | 171 | match.pcRegisterTeam(form.value).then(res => { |
| 171 | setToken(res.data.token) | 172 | setToken(res.data.token) |
| 172 | emit('submit') | 173 | emit('submit') | ... | ... |
| ... | @@ -17,13 +17,14 @@ | ... | @@ -17,13 +17,14 @@ |
| 17 | </template> | 17 | </template> |
| 18 | 18 | ||
| 19 | <script setup> | 19 | <script setup> |
| 20 | import {reactive} from "@vue/runtime-core"; | 20 | import {reactive,toRefs} from "@vue/runtime-core"; |
| 21 | import {toRefs} from "@vueuse/shared/index"; | 21 | const router = useRouter() |
| 22 | import Vcode from "vue3-puzzle-vcode" | 22 | import Vcode from "vue3-puzzle-vcode" |
| 23 | import {ElMessage} from 'element-plus' | 23 | import {ElMessage} from 'element-plus' |
| 24 | import CountDown from '@chenfengyuan/vue-countdown' | 24 | import CountDown from '@chenfengyuan/vue-countdown' |
| 25 | import {getCaptchaSms, checkRegisterCode} from "@/apiPc/match" | 25 | import {getCaptchaSms, checkRegisterCode} from "@/apiPc/match" |
| 26 | import cache from '@/plugins/cache' | 26 | import cache from '@/plugins/cache' |
| 27 | import {useRouter} from "vue-router"; | ||
| 27 | const language = ref(cache.local.get('language') || 0) | 28 | const language = ref(cache.local.get('language') || 0) |
| 28 | const props = defineProps({ | 29 | const props = defineProps({ |
| 29 | accont:{ | 30 | accont:{ |
| ... | @@ -42,10 +43,15 @@ const {isShow, isCodeTrue, counting, form, activeStep} = toRefs(data) | ... | @@ -42,10 +43,15 @@ const {isShow, isCodeTrue, counting, form, activeStep} = toRefs(data) |
| 42 | const emit = defineEmits(['submit', 'userName']) | 43 | const emit = defineEmits(['submit', 'userName']) |
| 43 | 44 | ||
| 44 | const goHome = () => { | 45 | const goHome = () => { |
| 45 | 46 | router.push({ | |
| 47 | name: `home` | ||
| 48 | }) | ||
| 46 | } | 49 | } |
| 47 | const goSign = () => { | 50 | const goSign = () => { |
| 48 | 51 | router.push({ | |
| 52 | name: `matchDetail`, | ||
| 53 | params:{id:0} | ||
| 54 | }) | ||
| 49 | } | 55 | } |
| 50 | 56 | ||
| 51 | </script> | 57 | </script> | ... | ... |
| ... | @@ -70,19 +70,19 @@ export default defineConfig(({ mode, command }) => { | ... | @@ -70,19 +70,19 @@ export default defineConfig(({ mode, command }) => { |
| 70 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-train/, '') | 70 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-train/, '') |
| 71 | }, | 71 | }, |
| 72 | '/dev-api/ztx-match': { | 72 | '/dev-api/ztx-match': { |
| 73 | target: 'http://192.168.1.132:8083', | 73 | target: 'http://192.168.1.131:8083', |
| 74 | // target: 'http://192.168.1.132:8081', | 74 | // target: 'http://192.168.1.132:8081', |
| 75 | changeOrigin: true, | 75 | changeOrigin: true, |
| 76 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '') | 76 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '') |
| 77 | }, | 77 | }, |
| 78 | '/dev-api/ztx-webSite': { | 78 | '/dev-api/ztx-webSite': { |
| 79 | // target: 'http://123.60.96.243:1897/stage-api/', | 79 | // target: 'http://123.60.96.243:1897/stage-api/', |
| 80 | target: 'http://192.168.1.130:8083/', | 80 | target: 'http://192.168.1.131:8083/', |
| 81 | changeOrigin: true, | 81 | changeOrigin: true, |
| 82 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') | 82 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') |
| 83 | }, | 83 | }, |
| 84 | '/dev-api': { | 84 | '/dev-api': { |
| 85 | target: 'http://192.168.1.130:8083', | 85 | target: 'http://192.168.1.131:8083', |
| 86 | // target: 'http://localhost:8787', | 86 | // target: 'http://localhost:8787', |
| 87 | changeOrigin: true, | 87 | changeOrigin: true, |
| 88 | rewrite: (p) => p.replace(/^\/dev-api/, '') | 88 | rewrite: (p) => p.replace(/^\/dev-api/, '') | ... | ... |
-
Please register or sign in to post a comment