4d13c8e8 by 华明祺

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

2 parents 8b639c6f 1edf88c2
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
52 </el-card> 52 </el-card>
53 </el-col> 53 </el-col>
54 </el-row> 54 </el-row>
55 <el-empty v-show="!loading&&list.length==0" :image="`/img/order_no.png`" :image-size="228" description="" /> 55 <el-empty v-show="!loading&&list.length===0" :image="`/img/order_no.png`" :image-size="228" description="" />
56 <div style="height: 50px" /> 56 <div style="height: 50px" />
57 </div> 57 </div>
58 </div> 58 </div>
......
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
73 <div v-if="needPersonNum>0" class="fakeFormItem"> 73 <div v-if="needPersonNum>0" class="fakeFormItem">
74 <label>需填写{{ needPersonNum }}位游客</label> 74 <label>需填写{{ needPersonNum }}位游客</label>
75 <div> 75 <div>
76 <div v-show="needPersonNum > hasPersonNum">还需填写{{ needPersonNum-hasPersonNum }}位游客</div> 76 <label class="text-warning" v-show="needPersonNum > hasPersonNum">还需填写{{ needPersonNum-hasPersonNum }}位游客</label>
77 </div> 77 </div>
78 </div> 78 </div>
79 <div v-for="(n,i) in gateList" :key="i"> 79 <div v-for="(n,i) in gateList" :key="i">
...@@ -237,6 +237,7 @@ const checkPersonNum = () => { ...@@ -237,6 +237,7 @@ const checkPersonNum = () => {
237 _.each(gateList.value, item => { 237 _.each(gateList.value, item => {
238 needPersonNum.value += item.count 238 needPersonNum.value += item.count
239 _.each(item.personArr, person => { 239 _.each(item.personArr, person => {
240 console.log(person)
240 if (person.customerId) { 241 if (person.customerId) {
241 hasPersonNum.value++ 242 hasPersonNum.value++
242 } 243 }
...@@ -359,8 +360,10 @@ function submit() { ...@@ -359,8 +360,10 @@ function submit() {
359 360
360 submitOrderScenic(form.value).then(res => { 361 submitOrderScenic(form.value).then(res => {
361 if (res.data) { 362 if (res.data) {
362 if (res.data.roomNum == -100) { 363 if (res.data.orderId == -400) {
363 ElMessage.warning(language.value == 0 ? '剩余票数不足' : 'The remaining number of rooms is insufficient') 364 ElMessage.warning(language.value == 0 ? '剩余票数不足' : 'The remaining number of rooms is insufficient')
365 } else if (res.data.orderId == -300) {
366 ElMessage.warning(language.value == 0 ? '提交失败,请稍后再试' : 'Submission failed, please try again later')
364 } else { 367 } else {
365 // 去付钱 368 // 去付钱
366 router.push({ 369 router.push({
......
1 <template> 1 <template>
2 <el-card class="mb20"> 2 <el-card class="mb20">
3 <div class=""> 3 <div class="">
4 <div class="matchItem" v-for="n in billList" :key="n.id"> 4 <div v-for="n in billList" :key="n.id" class="matchItem">
5 <div class="status-po"> 5 <div class="status-po">
6 <span class="bg-pink" v-if="n.auditStatus=='0'">{{ language==0?'未提交':'Uncommitted' }}</span> 6 <span v-if="n.auditStatus=='0'" class="bg-pink">{{ language == 0 ? '未提交' : 'Uncommitted' }}</span>
7 <span class="bg-primary" v-if="n.auditStatus=='1'">{{ language==0?'待审核':'Auditing' }}</span> 7 <span v-if="n.auditStatus=='1'" class="bg-primary">{{ language == 0 ? '待审核' : 'Auditing' }}</span>
8 <span class="bg-blue" v-if="n.auditStatus=='2'">{{ language==0?'审核通过':'Approved' }}</span> 8 <span v-if="n.auditStatus=='2'" class="bg-blue">{{ language == 0 ? '审核通过' : 'Approved' }}</span>
9 <span class="bg-danger" v-if="n.auditStatus=='3'">{{ language==0?'审核驳回':'Reject' }}</span> 9 <span v-if="n.auditStatus=='3'" class="bg-danger">{{ language == 0 ? '审核驳回' : 'Reject' }}</span>
10 <span class="bg-warning" v-if="n.auditStatus=='4'">{{ language==0?'已取消':'Canceled' }}</span> 10 <span v-if="n.auditStatus=='4'" class="bg-warning">{{ language == 0 ? '已取消' : 'Canceled' }}</span>
11 </div> 11 </div>
12 <el-row :gutter="15"> 12 <el-row :gutter="15">
13 <el-col :lg="6" :md="8" :xl="10"> 13 <el-col :lg="6" :md="8" :xl="10">
14 <img class="mauto w100" :src="fillImgUrl(n.coverUrl)"> 14 <img :src="fillImgUrl(n.coverUrl)" class="mauto w100">
15 </el-col> 15 </el-col>
16 <el-col :lg="18" :md="16" :xl="14"> 16 <el-col :lg="18" :md="16" :xl="14">
17 <el-row> 17 <el-row>
...@@ -19,45 +19,67 @@ ...@@ -19,45 +19,67 @@
19 <h3>{{ n.name }}</h3> 19 <h3>{{ n.name }}</h3>
20 </el-col> 20 </el-col>
21 <el-col :lg="8"> 21 <el-col :lg="8">
22 <p class="ppl"><label>{{ language==0?'赛事级别':'Event Level' }}</label>{{ n.level }}</p> 22 <p class="ppl"><label>{{ language == 0 ? '赛事级别' : 'Event Level' }}</label>{{ n.level }}</p>
23 <p class="ppl" v-if="n.languageSource=='100'"><label v-if="n.groupName">{{ language==0?'参赛队':'Name of participating team' }}</label>{{n.groupName}}</p> 23 <p v-if="n.languageSource=='100'" class="ppl"><label v-if="n.groupName">{{
24 language == 0 ? '参赛队' : 'Name of participating team'
25 }}</label>{{ n.groupName }}</p>
24 </el-col> 26 </el-col>
25 <el-col :lg="8"> 27 <el-col :lg="8">
26 <p class="ppl"><label>{{ language==0?'比赛时间':'Event Date' }}</label>{{ n.signBeginTime?.substring(0,10) }}~{{n.signEndTime.substring(0,10)}} 28 <p class="ppl"><label>{{
29 language == 0 ? '比赛时间' : 'Event Date'
30 }}</label>{{ n.signBeginTime?.substring(0, 10) }}~{{ n.signEndTime.substring(0, 10) }}
27 </p> 31 </p>
28 <p class="ppl"><label>{{ language==0?'参赛运动员':'PARTICIPATING ATHLETES' }}</label>{{ n.signSize }}</p> 32 <p class="ppl"><label>{{
33 language == 0 ? '参赛运动员' : 'PARTICIPATING ATHLETES'
34 }}</label>{{ n.signSize }}</p>
29 </el-col> 35 </el-col>
30 <el-col :lg="8"> 36 <el-col :lg="8">
31 <p class="ppl"><label>{{ language==0?'报名时间':'Registration Period' }}</label>{{ n.signBeginTime.substring(0,10) }}~{{n.signEndTime.substring(0,10)}}</p> 37 <p class="ppl"><label>{{
38 language == 0 ? '报名时间' : 'Registration Period'
39 }}</label>{{ n.signBeginTime.substring(0, 10) }}~{{ n.signEndTime.substring(0, 10) }}</p>
32 <div class="btnbox" style="display: flex"> 40 <div class="btnbox" style="display: flex">
33 <el-button class="mb10" plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus!='0'"> 41 <el-button
34 {{ language==0?'详情':'Detail' }}</el-button> 42 v-if="n.auditStatus!='0'" class="mb10" plain round type="primary"
35 <el-button plain round type="primary" @click="continueSign(n)" v-if="n.auditStatus=='0'"> 43 @click="goDetail(n)"
36 {{ language==0?'继续报名':'Continue to register' }}</el-button> 44 >
37 <el-button plain round type="primary" @click="withDraw(n)" v-if="n.auditStatus=='1'"> 45 {{ language == 0 ? '详情' : 'Detail' }}
38 {{ language==0?'取消报名':'Cancel registration' }}</el-button> 46 </el-button>
39 <el-button plain round type="primary" @click="reSign(n)" v-if="n.auditStatus=='3'"> 47 <el-button v-if="n.auditStatus=='0'" plain round type="primary" @click="continueSign(n)">
40 {{ language==0?'重新报名':'Re register' }}</el-button> 48 {{ language == 0 ? '继续报名' : 'Continue to register' }}
41 <el-button plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus=='2'&&n.payStatus=='0'"> 49 </el-button>
42 {{ language==0?'缴费':'Pay' }}</el-button> 50 <el-button v-if="n.auditStatus=='1'" plain round type="primary" @click="withDraw(n)">
43 <!-- <el-button plain round type="primary" @click="goRefund(n)" v-if="n.orderId">--> 51 {{ language == 0 ? '取消报名' : 'Cancel registration' }}
44 <!-- {{ language==0?'退款':'Refund' }}--> 52 </el-button>
45 <!-- </el-button>--> 53 <el-button v-if="n.auditStatus=='3'" plain round type="primary" @click="reSign(n)">
54 {{ language == 0 ? '重新报名' : 'Re register' }}
55 </el-button>
56 <el-button
57 v-if="n.auditStatus=='2'&&n.payStatus=='0'" plain round type="primary"
58 @click="goDetail(n)"
59 >
60 {{ language == 0 ? '缴费' : 'Pay' }}
61 </el-button>
62 <!-- <el-button plain round type="primary" @click="goRefund(n)" v-if="n.orderId">-->
63 <!-- {{ language==0?'退款':'Refund' }}-->
64 <!-- </el-button>-->
46 </div> 65 </div>
47 </el-col> 66 </el-col>
48 </el-row> 67 </el-row>
49 </el-col> 68 </el-col>
50 </el-row> 69 </el-row>
51 <el-alert v-if="n.reason" :title="language==0?'驳回理由:'+n.reason :'Reason:'+n.reason" type="error" show-icon :closable="false"/> 70 <el-alert
71 v-if="n.reason" :closable="false" :title="language==0?'驳回理由:'+n.reason :'Reason:'+n.reason" show-icon
72 type="error"
73 />
52 </div> 74 </div>
53 75
54 <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="billList?.length == 0"/> 76 <el-empty v-if="billList?.length == 0" :image="`/img/order_no.png`" :image-size="228" />
55 77
56 </div> 78 </div>
57 <paginationPc 79 <paginationPc
58 v-show="total > 0" 80 v-show="total > 0"
59 v-model:page="query.pageNum"
60 v-model:limit="query.pageSize" 81 v-model:limit="query.pageSize"
82 v-model:page="query.pageNum"
61 :total="total" 83 :total="total"
62 @pagination="getList" 84 @pagination="getList"
63 /> 85 />
...@@ -66,20 +88,21 @@ ...@@ -66,20 +88,21 @@
66 </template> 88 </template>
67 89
68 <script setup> 90 <script setup>
69 import {ref} from 'vue' 91 import { ref } from 'vue'
70 import {useRouter} from 'vue-router' 92 import { useRouter } from 'vue-router'
71 import {getCurrentInstance, onMounted} from '@vue/runtime-core' 93 import { getCurrentInstance, onMounted } from '@vue/runtime-core'
72 import * as match from '@/apiPc/match' 94 import * as match from '@/apiPc/match'
73 import {ElMessage, ElMessageBox} from 'element-plus' 95 import { ElMessage, ElMessageBox } from 'element-plus'
74 import _ from 'lodash' 96 import _ from 'lodash'
75 import useUserStore from "@/store/modules/user"; 97 import useUserStore from '@/store/modules/user'
76 import cache from "@/plugins/cache"; 98 import cache from '@/plugins/cache'
77 import {useStorage} from "@vueuse/core/index"; 99 import { useStorage } from '@vueuse/core/index'
78 import {refundApply} from "@/apiPc/match"; 100 import { refundApply } from '@/apiPc/match'
79 import dayjs from "dayjs"; 101 import dayjs from 'dayjs'
80 const language= useStorage('language',0) 102
103 const language = useStorage('language', 0)
81 const router = useRouter() 104 const router = useRouter()
82 const {proxy} = getCurrentInstance() 105 const { proxy } = getCurrentInstance()
83 const total = ref(0) 106 const total = ref(0)
84 const total2 = ref(0) 107 const total2 = ref(0)
85 const dialogPropsBase = { 108 const dialogPropsBase = {
...@@ -99,7 +122,7 @@ const cptPeriodArr = ref([]) ...@@ -99,7 +122,7 @@ const cptPeriodArr = ref([])
99 const payTimeArr = ref([]) 122 const payTimeArr = ref([])
100 const commitTimeArr = ref([]) 123 const commitTimeArr = ref([])
101 const countryList = ref([]) 124 const countryList = ref([])
102 const tableData = ref([{name: '111'}]) 125 const tableData = ref([{ name: '111' }])
103 const billList = ref([]) 126 const billList = ref([])
104 const query = ref({ 127 const query = ref({
105 pageNum: 1, 128 pageNum: 1,
...@@ -129,27 +152,30 @@ const reset = (form) => { ...@@ -129,27 +152,30 @@ const reset = (form) => {
129 commitTimeArr.value = [] 152 commitTimeArr.value = []
130 getList() 153 getList()
131 } 154 }
132 function withDraw(n){ 155
133 match.withDrawByOrderId(n.orderId).then(res=>{ 156 function withDraw(n) {
157 match.withDrawByOrderId(n.orderId).then(res => {
134 getList() 158 getList()
135 }) 159 })
136 } 160 }
137 function reSign(n){ 161
138 match.recoverMySignFromCancel(n.id).then((res)=>{ 162 function reSign(n) {
163 match.recoverMySignFromCancel(n.id).then((res) => {
139 continueSign(n) 164 continueSign(n)
140 }) 165 })
141 } 166 }
142 function continueSign(n){ 167
143 if(n.status=='0'){ 168 function continueSign(n) {
169 if (n.status == '0') {
144 ElMessage({ 170 ElMessage({
145 message: language.value==0?'赛事已下线无法继续报名':'The current event is offline.', 171 message: language.value == 0 ? '赛事已下线无法继续报名' : 'The current event is offline.',
146 type: 'warning' 172 type: 'warning'
147 }) 173 })
148 return 174 return
149 } 175 }
150 if(n.signEndTime <= dayjs().format('YYYY-MM-DD HH:mm:ss')){ 176 if (n.signEndTime <= dayjs().format('YYYY-MM-DD HH:mm:ss')) {
151 ElMessage({ 177 ElMessage({
152 message: language.value==0?'赛事报名已结束无法继续报名':'The event registration has ended.', 178 message: language.value == 0 ? '赛事报名已结束无法继续报名' : 'The event registration has ended.',
153 type: 'warning' 179 type: 'warning'
154 }) 180 })
155 return 181 return
...@@ -158,7 +184,7 @@ function continueSign(n){ ...@@ -158,7 +184,7 @@ function continueSign(n){
158 // 个人报名 184 // 个人报名
159 router.push({ 185 router.push({
160 name: 'chooseProject', 186 name: 'chooseProject',
161 params:{ 187 params: {
162 id: n.id 188 id: n.id
163 }, 189 },
164 query: { 190 query: {
...@@ -166,11 +192,11 @@ function continueSign(n){ ...@@ -166,11 +192,11 @@ function continueSign(n){
166 } 192 }
167 }) 193 })
168 } 194 }
169 if (user.utype == '2'){ 195 if (user.utype == '2') {
170 // 团队报名 196 // 团队报名
171 router.push({ 197 router.push({
172 name: 'chooseSportsman', 198 name: 'chooseSportsman',
173 params:{ 199 params: {
174 id: n.id 200 id: n.id
175 }, 201 },
176 query: { 202 query: {
...@@ -179,24 +205,27 @@ function continueSign(n){ ...@@ -179,24 +205,27 @@ function continueSign(n){
179 } 205 }
180 }) 206 })
181 } 207 }
182
183 } 208 }
184 function goDetail(n){ 209
210 function goDetail(n) {
185 // 查看详情 211 // 查看详情
186 router.push({ 212 router.push({
187 name:`signPay`, 213 name: `signPay`,
188 query: { 214 query: {
189 orderId: n.encodeOrderId 215 orderId: n.encodeOrderId,
216 buy: n.insuranceBuyStatus
217
190 } 218 }
191 }) 219 })
192 } 220 }
221
193 function goRefund(n) { 222 function goRefund(n) {
194 ElMessageBox.confirm('Are you sure to refund?', 'Refund', { 223 ElMessageBox.confirm('Are you sure to refund?', 'Refund', {
195 confirmButtonText: 'Confirm', 224 confirmButtonText: 'Confirm',
196 cancelButtonText: 'Cancel', 225 cancelButtonText: 'Cancel',
197 type: 'warning', 226 type: 'warning'
198 }).then(() => { 227 }).then(() => {
199 match.refundApply(n.orderId).then(res=>{ 228 match.refundApply(n.orderId).then(res => {
200 ElMessage({ 229 ElMessage({
201 message: 'Refund success', 230 message: 'Refund success',
202 type: 'success' 231 type: 'success'
...@@ -204,6 +233,7 @@ function goRefund(n) { ...@@ -204,6 +233,7 @@ function goRefund(n) {
204 }) 233 })
205 }) 234 })
206 } 235 }
236
207 function getList() { 237 function getList() {
208 console.log(query2.value) 238 console.log(query2.value)
209 match.getMySignCptList(query2.value).then(res => { 239 match.getMySignCptList(query2.value).then(res => {
...@@ -220,22 +250,48 @@ function getList() { ...@@ -220,22 +250,48 @@ function getList() {
220 250
221 </script> 251 </script>
222 252
223 <style scoped lang="scss"> 253 <style lang="scss" scoped>
224 .matchItem { 254 .matchItem {
225 cursor: pointer; 255 cursor: pointer;
226 margin: 0 0 20px; 256 margin: 0 0 20px;
227 padding: 20px 15px;background: #FBFCFD; 257 padding: 20px 15px;
258 background: #FBFCFD;
228 border-radius: 2px; 259 border-radius: 2px;
229 position: relative; 260 position: relative;
230 .status-po{position: absolute;right: 0;top: 0;font-size: 12px; 261
262 .status-po {
263 position: absolute;
264 right: 0;
265 top: 0;
266 font-size: 12px;
231 color: #FFFFFF; 267 color: #FFFFFF;
232 span{border-radius: 0px 10px 0px 10px;padding: 4px 10px;} 268
233 .bg-danger{background: #E60012;} 269 span {
234 .bg-warning{background: #e89f39;} 270 border-radius: 0px 10px 0px 10px;
235 .bg-pink{background: #F740A6;} 271 padding: 4px 10px;
236 .bg-primary{background: var(--el-color-primary)} 272 }
237 .bg-blue{background: #00a0e9} 273
274 .bg-danger {
275 background: #E60012;
276 }
277
278 .bg-warning {
279 background: #e89f39;
238 } 280 }
281
282 .bg-pink {
283 background: #F740A6;
284 }
285
286 .bg-primary {
287 background: var(--el-color-primary)
288 }
289
290 .bg-blue {
291 background: #00a0e9
292 }
293 }
294
239 &:last-child { 295 &:last-child {
240 border-bottom: none; 296 border-bottom: none;
241 } 297 }
...@@ -321,16 +377,41 @@ function getList() { ...@@ -321,16 +377,41 @@ function getList() {
321 .el-form--inline .el-form-item { 377 .el-form--inline .el-form-item {
322 width: auto; 378 width: auto;
323 } 379 }
324 .ppl{font-size: 14px; 380
325 label{color: #929AA0;display: block;font-size: 12px;} 381 .ppl {
382 font-size: 14px;
383
384 label {
385 color: #929AA0;
386 display: block;
387 font-size: 12px;
388 }
326 } 389 }
327 .btnbox{text-align: right;} 390
391 .btnbox {
392 text-align: right;
393 }
394
328 @media screen and (max-width: 768px) { 395 @media screen and (max-width: 768px) {
329 .matchItem{ 396 .matchItem {
330 img.w100{margin-bottom: 10px} 397 img.w100 {
331 .ppl{margin: 0 0 5px;display: flex;} 398 margin-bottom: 10px
332 .status-po{right: 15px;top: 23px;z-index: 2} 399 }
333 .btnbox{justify-content: end;} 400
401 .ppl {
402 margin: 0 0 5px;
403 display: flex;
404 }
405
406 .status-po {
407 right: 15px;
408 top: 23px;
409 z-index: 2
410 }
411
412 .btnbox {
413 justify-content: end;
414 }
334 } 415 }
335 } 416 }
336 </style> 417 </style>
......
...@@ -123,7 +123,7 @@ function popRemark(type) { ...@@ -123,7 +123,7 @@ function popRemark(type) {
123 (form.value.isMealView == 0 && type == '4') || 123 (form.value.isMealView == 0 && type == '4') ||
124 (form.value.isPhotoView == 0 && type == '5') || 124 (form.value.isPhotoView == 0 && type == '5') ||
125 (form.value.isTicket == 0 && type == '0') || 125 (form.value.isTicket == 0 && type == '0') ||
126 (form.value.isTravel == 0 && type == '8') 126 (form.value.isScenicView == 0 && type == '8')
127 ) { 127 ) {
128 building() 128 building()
129 return 129 return
......
...@@ -172,6 +172,8 @@ ...@@ -172,6 +172,8 @@
172 </el-button> 172 </el-button>
173 173
174 <span v-if="language==0&& insuranceFlag!=0||language==1&&insuranceFlag==1" class="checkbox"> 174 <span v-if="language==0&& insuranceFlag!=0||language==1&&insuranceFlag==1" class="checkbox">
175 <br v-if="language == 1">
176 <br v-if="language == 1">
175 <el-checkbox 177 <el-checkbox
176 v-model="checked" 178 v-model="checked"
177 :label="language==0?'我同意授权赛事方帮忙购买保险':'I agree to authorize the event organizer to purchase insurance on my behalf'" 179 :label="language==0?'我同意授权赛事方帮忙购买保险':'I agree to authorize the event organizer to purchase insurance on my behalf'"
...@@ -481,11 +483,13 @@ function submitForm(n) { ...@@ -481,11 +483,13 @@ function submitForm(n) {
481 483
482 function commit() { 484 function commit() {
483 if (language.value == 0 && insuranceFlag.value == 2 && checked.value == '0') { 485 if (language.value == 0 && insuranceFlag.value == 2 && checked.value == '0') {
484 ElMessageBox.confirm(language.value == 0 ? '你是否同意赛事帮忙购买保险?' : 'Do you agree to have the event organizer help purchase insurance?', 486 ElMessageBox.confirm(language.value == 0 ? '你是否同意赛事帮忙购买保险?' : 'Do you agree to have the event organizer help purchase insurance?',
485 language.value == 0 ? '提示' : 'Tip', { 487 language.value == 0 ? '提示' : 'Tip', {
486 confirmButtonText: language.value == 0 ? '是' : 'Yes', 488 confirmButtonText: language.value == 0 ? '是' : 'Yes',
487 cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next', 489 cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
488 type: 'warning' 490 type: 'warning',
491 closeOnClickModal: false,
492 showClose: false
489 }).then(() => { 493 }).then(() => {
490 checked.value = '1' 494 checked.value = '1'
491 router.push({ 495 router.push({
...@@ -909,7 +913,7 @@ function handelInsurance() { ...@@ -909,7 +913,7 @@ function handelInsurance() {
909 913
910 .father { 914 .father {
911 position: relative; 915 position: relative;
912 height: 50px; 916 height: 85px;
913 } 917 }
914 918
915 .checkbox { 919 .checkbox {
......
...@@ -183,6 +183,8 @@ ...@@ -183,6 +183,8 @@
183 </el-button> 183 </el-button>
184 184
185 <span v-if="language==0&& insuranceFlag!=0||language==1&&insuranceFlag==1" class="checkbox"> 185 <span v-if="language==0&& insuranceFlag!=0||language==1&&insuranceFlag==1" class="checkbox">
186 <br v-if="language == 1">
187 <br v-if="language == 1">
186 <el-checkbox 188 <el-checkbox
187 v-model="checked" 189 v-model="checked"
188 :label="language==0?'我同意授权赛事方帮忙购买保险':'I agree to authorize the event organizer to purchase insurance on my behalf'" 190 :label="language==0?'我同意授权赛事方帮忙购买保险':'I agree to authorize the event organizer to purchase insurance on my behalf'"
...@@ -437,11 +439,13 @@ function submitForm() { ...@@ -437,11 +439,13 @@ function submitForm() {
437 type: 'warning' 439 type: 'warning'
438 }) 440 })
439 } else if (language.value == 0 && insuranceFlag.value == '2' && checked.value == 0) { 441 } else if (language.value == 0 && insuranceFlag.value == '2' && checked.value == 0) {
440 ElMessageBox.confirm(language.value == 0 ? '你是否同意赛事帮忙购买保险?' : 'Do you agree to have the event organizer help purchase insurance?', 442 ElMessageBox.confirm(language.value == 0 ? '你是否同意赛事帮忙购买保险?' : 'Do you agree to have the event organizer help purchase insurance?',
441 language.value == 0 ? '提示' : 'Tip', { 443 language.value == 0 ? '提示' : 'Tip', {
442 confirmButtonText: language.value == 0 ? '是' : 'Yes', 444 confirmButtonText: language.value == 0 ? '是' : 'Yes',
443 cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next', 445 cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
444 type: 'warning' 446 type: 'warning',
447 closeOnClickModal: false,
448 showClose: false
445 }).then(() => { 449 }).then(() => {
446 checked.value = '1' 450 checked.value = '1'
447 router.push({ 451 router.push({
...@@ -1083,7 +1087,7 @@ function handelInsurance() { ...@@ -1083,7 +1087,7 @@ function handelInsurance() {
1083 1087
1084 .father { 1088 .father {
1085 position: relative; 1089 position: relative;
1086 height: 60px; 1090 height: 85px;
1087 } 1091 }
1088 1092
1089 .checkbox { 1093 .checkbox {
......
...@@ -249,6 +249,7 @@ const ocrSuccess = (res) => { ...@@ -249,6 +249,7 @@ const ocrSuccess = (res) => {
249 form.value.passportNumber = res.data.code 249 form.value.passportNumber = res.data.code
250 form.value.birth = res.data.birth?.slice(0, 10) 250 form.value.birth = res.data.birth?.slice(0, 10)
251 form.value.sex = res.data.sex 251 form.value.sex = res.data.sex
252 form.value.certName = res.data.name
252 } else if (res.code == 500) { 253 } else if (res.code == 500) {
253 ElMessage.warning(res.msg) 254 ElMessage.warning(res.msg)
254 } 255 }
......
...@@ -171,7 +171,7 @@ function popRemark(type) { ...@@ -171,7 +171,7 @@ function popRemark(type) {
171 || (form.value.isMealView == 0 && type == '4') 171 || (form.value.isMealView == 0 && type == '4')
172 || (form.value.isPhotoView == 0 && type == '5') 172 || (form.value.isPhotoView == 0 && type == '5')
173 || (form.value.isTicket == 0 && type == '0') 173 || (form.value.isTicket == 0 && type == '0')
174 || (form.value.isTravel == 0 && type == '8') 174 || (form.value.isScenicView == 0 && type == '8')
175 ) { 175 ) {
176 building() 176 building()
177 return 177 return
......
...@@ -3,7 +3,9 @@ ...@@ -3,7 +3,9 @@
3 <div v-if="!errorBox" class="box"> 3 <div v-if="!errorBox" class="box">
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">{{ language == 0 ? '报名缴费清单' : 'Registration Payment List' }}</div> 6 <div class="bg-lineg">
7 {{ language == 0 ? '报名缴费清单' : 'Registration Payment List' }}
8 </div>
7 </div> 9 </div>
8 <match-info-row v-if="matchId" :match-id="matchId" /> 10 <match-info-row v-if="matchId" :match-id="matchId" />
9 <div v-if="isLogin"> 11 <div v-if="isLogin">
...@@ -11,7 +13,8 @@ ...@@ -11,7 +13,8 @@
11 <coach-info-row v-if="groupId" :group-id="groupId" :match-id="matchId" /> 13 <coach-info-row v-if="groupId" :group-id="groupId" :match-id="matchId" />
12 14
13 <div v-if="user.utype=='1'&&myMemberTable.length>0" class="pd20"> 15 <div v-if="user.utype=='1'&&myMemberTable.length>0" class="pd20">
14 <div class="leftboderTT">{{ language == 0 ? '随行人员清单' : 'List of accompanying personnel' }} 16 <div class="leftboderTT">
17 {{ language == 0 ? '随行人员清单' : 'List of accompanying personnel' }}
15 </div> 18 </div>
16 <div> 19 <div>
17 <el-table :data="myMemberTable" border class="mt20"> 20 <el-table :data="myMemberTable" border class="mt20">
...@@ -41,7 +44,9 @@ ...@@ -41,7 +44,9 @@
41 </div> 44 </div>
42 </div> 45 </div>
43 <div v-if="signInfoList?.length>0||zuQuery.athName" class="pd20"> 46 <div v-if="signInfoList?.length>0||zuQuery.athName" class="pd20">
44 <div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }} 47 <div class="leftboderTT">
48 <!-- {{ language == 0 ? '' + '参赛人员保险费' : 'Participant Insurance Fee' }}-->
49 {{ language == 0 ? '' + '参赛人员' : 'Participant' }}
45 <div class="fr"> 50 <div class="fr">
46 <el-input 51 <el-input
47 v-model="zuQuery.athName" :prefix-icon="Search" clearable 52 v-model="zuQuery.athName" :prefix-icon="Search" clearable
...@@ -51,12 +56,18 @@ ...@@ -51,12 +56,18 @@
51 </div> 56 </div>
52 <!-- 人员列表--> 57 <!-- 人员列表-->
53 <sign-info-table 58 <sign-info-table
54 v-if="matchId" :has-action="false" :list="signInfoList" :match-id="matchId" 59 v-if="matchId"
55 :show-summary="true" :total="insuranceFeeTotal" class="mt20" 60 :has-action="false"
61 :list="signInfoList"
62 :match-id="matchId"
63 :show-summary="buy==1"
64 :total="insuranceFeeTotal"
65 class="mt20"
56 /> 66 />
57 </div> 67 </div>
58 <div v-if="zuTableList?.length>0||zuQuery.groName" class="pd20"> 68 <div v-if="zuTableList?.length>0||zuQuery.groName" class="pd20">
59 <div class="leftboderTT">{{ language == 0 ? '参赛设项服务费' : 'Registration Fee for Event Entry' }} 69 <div class="leftboderTT">
70 {{ language == 0 ? '参赛设项服务费' : 'Registration Fee for Event Entry' }}
60 <div class="fr"> 71 <div class="fr">
61 <el-input 72 <el-input
62 v-model="zuQuery.groName" :prefix-icon="Search" clearable 73 v-model="zuQuery.groName" :prefix-icon="Search" clearable
...@@ -65,7 +76,10 @@ ...@@ -65,7 +76,10 @@
65 </div> 76 </div>
66 </div> 77 </div>
67 <zu-table 78 <zu-table
68 :has-action="false" :list="zuTableList" :show-summary="true" :total="serviceFeeTotal" 79 :has-action="false"
80 :list="zuTableList"
81 :show-summary="true"
82 :total="serviceFeeTotal"
69 class="mt20" 83 class="mt20"
70 /> 84 />
71 </div> 85 </div>
...@@ -96,12 +110,13 @@ ...@@ -96,12 +110,13 @@
96 <div v-if="signInfoList?.length>0" class="item"><label>{{ 110 <div v-if="signInfoList?.length>0" class="item"><label>{{
97 language == 0 ? '参赛服务费' : 'REGISTRATION FEE' 111 language == 0 ? '参赛服务费' : 'REGISTRATION FEE'
98 }}:</label><span>{{ language == 0 ? '¥' : '€' }}{{ serviceFeeTotal }}</span></div> 112 }}:</label><span>{{ language == 0 ? '¥' : '€' }}{{ serviceFeeTotal }}</span></div>
99 <div v-if="zuTableList?.length>0" class="item"><label>{{ 113 <div v-if="zuTableList?.length>0 &&buy!='0'" class="item"><label>{{
100 language == 0 ? '保险费' : 'INSURANCE' 114 language == 0 ? '保险费' : 'INSURANCE'
101 }}:</label><span>{{ language == 0 ? '¥' : '€' }}{{ insuranceFeeTotal }}</span></div> 115 }}:</label><span>{{ language == 0 ? '¥' : '€' }}{{ insuranceFeeTotal }}</span></div>
102 <div class="item"><label>{{ language == 0 ? '费用总计' : 'Total Cost' }}:</label><span 116 <div class="item">
103 class="size26" 117 <label>{{ language == 0 ? '费用总计' : 'Total Cost' }}:</label>
104 >{{ language == 0 ? '¥' : '€' }}{{ form.totalFee }}</span></div> 118 <span class="size26">{{ language == 0 ? '¥' : '€' }}{{ form.totalFee }}</span>
119 </div>
105 </div> 120 </div>
106 </el-col> 121 </el-col>
107 </el-row> 122 </el-row>
...@@ -162,7 +177,9 @@ ...@@ -162,7 +177,9 @@
162 </el-row> 177 </el-row>
163 </el-card> 178 </el-card>
164 <el-card v-if="form.auditStatus=='2'&&form.payStatus=='0'&&Number(form.totalFee)>0" class="mb60"> 179 <el-card v-if="form.auditStatus=='2'&&form.payStatus=='0'&&Number(form.totalFee)>0" class="mb60">
165 <div class="leftboderTT">{{ language == 0 ? '选择支付方式' : 'Choose payment method' }}</div> 180 <div class="leftboderTT">
181 {{ language == 0 ? '选择支付方式' : 'Choose payment method' }}
182 </div>
166 <div class="mt20"> 183 <div class="mt20">
167 <el-radio-group v-model="payType" @change="changePaytype"> 184 <el-radio-group v-model="payType" @change="changePaytype">
168 <!-- 0 线下 1 支付宝 2 微信 3 paypal--> 185 <!-- 0 线下 1 支付宝 2 微信 3 paypal-->
...@@ -291,6 +308,7 @@ ...@@ -291,6 +308,7 @@
291 308
292 <div v-if="payType == '3'"> 309 <div v-if="payType == '3'">
293 <table cellpadding="0" cellspacing="0" class="table-border table"> 310 <table cellpadding="0" cellspacing="0" class="table-border table">
311 <tbody>
294 <tr> 312 <tr>
295 <th class="head" colspan="2"> 313 <th class="head" colspan="2">
296 {{ language == 0 ? '线下缴费的收款信息' : 'Offline Payment Collection Information' }} 314 {{ language == 0 ? '线下缴费的收款信息' : 'Offline Payment Collection Information' }}
...@@ -358,6 +376,8 @@ ...@@ -358,6 +376,8 @@
358 <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> 376 <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>
359 </td> 377 </td>
360 </tr> 378 </tr>
379 </tbody>
380
361 </table> 381 </table>
362 382
363 <div class="text-center"> 383 <div class="text-center">
...@@ -432,7 +452,9 @@ ...@@ -432,7 +452,9 @@
432 </el-form-item> 452 </el-form-item>
433 </div> 453 </div>
434 <div class="tip mt20"> 454 <div class="tip mt20">
435 <label>{{ language == 0 ? '开电子收据须知' : 'Receipt notice' }}:</label> 455 <label>
456 {{ language == 0 ? '开电子收据须知' : 'Receipt notice' }}:
457 </label>
436 <div class="pd10"> 458 <div class="pd10">
437 {{ remark }} 459 {{ remark }}
438 </div> 460 </div>
...@@ -467,6 +489,7 @@ import { useStorage } from '@vueuse/core/index' ...@@ -467,6 +489,7 @@ import { useStorage } from '@vueuse/core/index'
467 import { ElMessage, ElMessageBox } from 'element-plus' 489 import { ElMessage, ElMessageBox } from 'element-plus'
468 import { getBaseInfoByActiveId, getReceipt } from '@/apiPc/booking' 490 import { getBaseInfoByActiveId, getReceipt } from '@/apiPc/booking'
469 491
492 const buy = ref(route.query.buy || '0')
470 const isLogin = ref(false) 493 const isLogin = ref(false)
471 const language = useStorage('language', 0) 494 const language = useStorage('language', 0)
472 const signInfoList = ref([]) 495 const signInfoList = ref([])
...@@ -486,7 +509,8 @@ const insuranceFeeTotal = ref(0) ...@@ -486,7 +509,8 @@ const insuranceFeeTotal = ref(0)
486 const serviceFeeTotal = ref(0) 509 const serviceFeeTotal = ref(0)
487 const zuQuery = ref({ 510 const zuQuery = ref({
488 cptId: matchId.value, 511 cptId: matchId.value,
489 groupId: groupId.value 512 groupId: groupId.value,
513 buy: route.query.buy || '0'
490 }) 514 })
491 const user = useUserStore().user 515 const user = useUserStore().user
492 const remark = ref('') 516 const remark = ref('')
...@@ -521,7 +545,10 @@ if (useUserStore().user) { ...@@ -521,7 +545,10 @@ if (useUserStore().user) {
521 } 545 }
522 546
523 function getData() { 547 function getData() {
524 return match.getMyOrderDetail({ orderId: orderId.value }).then(res => { 548 return match.getMyOrderDetail({
549 orderId: orderId.value,
550 buy: buy.value
551 }).then(res => {
525 totalFee.value = res.data.totalFee 552 totalFee.value = res.data.totalFee
526 form.value = res.data 553 form.value = res.data
527 form.value.payTypeArr = res.data.payType.split(',') 554 form.value.payTypeArr = res.data.payType.split(',')
...@@ -560,6 +587,7 @@ function upRR() { ...@@ -560,6 +587,7 @@ function upRR() {
560 587
561 function getSignList() { 588 function getSignList() {
562 match.getMySignInfoList(zuQuery.value).then(res => { 589 match.getMySignInfoList(zuQuery.value).then(res => {
590 console.log(res)
563 insuranceFeeTotal.value = 0 591 insuranceFeeTotal.value = 0
564 serviceFeeTotal.value = 0 592 serviceFeeTotal.value = 0
565 signInfoList.value = res.data?.singleData || [] 593 signInfoList.value = res.data?.singleData || []
...@@ -571,6 +599,7 @@ function getSignList() { ...@@ -571,6 +599,7 @@ function getSignList() {
571 serviceFeeTotal.value = serviceFeeTotal.value + Number(z.project.serviceFee) 599 serviceFeeTotal.value = serviceFeeTotal.value + Number(z.project.serviceFee)
572 } 600 }
573 }).catch(err => { 601 }).catch(err => {
602 console.log(err)
574 if (isLogin.value) { 603 if (isLogin.value) {
575 router.push({ name: 'myMatch' }) 604 router.push({ name: 'myMatch' })
576 } 605 }
...@@ -643,7 +672,8 @@ function exportSignList(n) { ...@@ -643,7 +672,8 @@ function exportSignList(n) {
643 var obj = { 672 var obj = {
644 cptId: matchId.value, 673 cptId: matchId.value,
645 groupId: groupId.value, 674 groupId: groupId.value,
646 type: n 675 type: n,
676 buy: buy.value
647 } 677 }
648 var fileName 678 var fileName
649 if (language.value == 0) { 679 if (language.value == 0) {
...@@ -670,7 +700,8 @@ function exportSignList(n) { ...@@ -670,7 +700,8 @@ function exportSignList(n) {
670 function exportPdf() { 700 function exportPdf() {
671 var obj = { 701 var obj = {
672 cptId: matchId.value, 702 cptId: matchId.value,
673 groupId: groupId.value 703 groupId: groupId.value,
704 buy: buy.value
674 } 705 }
675 var fileName 706 var fileName
676 if (language.value == 0) { 707 if (language.value == 0) {
...@@ -740,6 +771,7 @@ function downloadAndSend() { ...@@ -740,6 +771,7 @@ function downloadAndSend() {
740 showSJ() 771 showSJ()
741 }) 772 })
742 }).catch(err => { 773 }).catch(err => {
774 console.log(err)
743 loading.value = false 775 loading.value = false
744 }) 776 })
745 } 777 }
...@@ -748,7 +780,8 @@ const showSJ = () => { ...@@ -748,7 +780,8 @@ const showSJ = () => {
748 // 查看电子收据预览信息 780 // 查看电子收据预览信息
749 var obj = { 781 var obj = {
750 orderId: form.value.oid, 782 orderId: form.value.oid,
751 type: 1 783 type: 1,
784 buy: buy.value
752 } 785 }
753 if (form.value.receiptFlag == '0') { 786 if (form.value.receiptFlag == '0') {
754 obj.receiptInfo = lpName.value 787 obj.receiptInfo = lpName.value
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!