60778e70 by zhangmeng

保险

1 parent f8237179
<template>
<el-card class="mb20">
<div class="">
<div class="matchItem" v-for="n in billList" :key="n.id">
<div class="status-po">
<span class="bg-pink" v-if="n.auditStatus=='0'">{{ language==0?'未提交':'Uncommitted' }}</span>
<span class="bg-primary" v-if="n.auditStatus=='1'">{{ language==0?'待审核':'Auditing' }}</span>
<span class="bg-blue" v-if="n.auditStatus=='2'">{{ language==0?'审核通过':'Approved' }}</span>
<span class="bg-danger" v-if="n.auditStatus=='3'">{{ language==0?'审核驳回':'Reject' }}</span>
<span class="bg-warning" v-if="n.auditStatus=='4'">{{ language==0?'已取消':'Canceled' }}</span>
</div>
<el-row :gutter="15">
<el-col :lg="6" :md="8" :xl="10">
<img class="mauto w100" :src="fillImgUrl(n.coverUrl)">
</el-col>
<el-col :lg="18" :md="16" :xl="14">
<el-row>
<el-col :span="24">
<h3>{{ n.name }}</h3>
</el-col>
<el-col :lg="8">
<p class="ppl"><label>{{ language==0?'赛事级别':'Event Level' }}</label>{{ n.level }}</p>
<p class="ppl" v-if="n.languageSource=='100'"><label v-if="n.groupName">{{ language==0?'参赛队':'Name of participating team' }}</label>{{n.groupName}}</p>
</el-col>
<el-col :lg="8">
<p class="ppl"><label>{{ language==0?'比赛时间':'Event Date' }}</label>{{ n.signBeginTime?.substring(0,10) }}~{{n.signEndTime.substring(0,10)}}
</p>
<p class="ppl"><label>{{ language==0?'参赛运动员':'PARTICIPATING ATHLETES' }}</label>{{ n.signSize }}</p>
</el-col>
<el-col :lg="8">
<p class="ppl"><label>{{ language==0?'报名时间':'Registration Period' }}</label>{{ n.signBeginTime.substring(0,10) }}~{{n.signEndTime.substring(0,10)}}</p>
<div class="btnbox" style="display: flex">
<el-button class="mb10" plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus!='0'">
{{ language==0?'详情':'Detail' }}</el-button>
<el-button plain round type="primary" @click="continueSign(n)" v-if="n.auditStatus=='0'">
{{ language==0?'继续报名':'Continue to register' }}</el-button>
<el-button plain round type="primary" @click="withDraw(n)" v-if="n.auditStatus=='1'">
{{ language==0?'取消报名':'Cancel registration' }}</el-button>
<el-button plain round type="primary" @click="reSign(n)" v-if="n.auditStatus=='3'">
{{ language==0?'重新报名':'Re register' }}</el-button>
<el-button plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus=='2'&&n.payStatus=='0'">
{{ language==0?'缴费':'Pay' }}</el-button>
<!-- <el-button plain round type="primary" @click="goRefund(n)" v-if="n.orderId">-->
<!-- {{ language==0?'退款':'Refund' }}-->
<!-- </el-button>-->
</div>
</el-col>
</el-row>
</el-col>
</el-row>
<el-alert v-if="n.reason" :title="language==0?'驳回理由:'+n.reason :'Reason:'+n.reason" type="error" show-icon :closable="false"/>
<div class="">
<div v-for="n in billList" :key="n.id" class="matchItem">
<div class="status-po">
<span v-if="n.auditStatus=='0'" class="bg-pink">{{ language == 0 ? '未提交' : 'Uncommitted' }}</span>
<span v-if="n.auditStatus=='1'" class="bg-primary">{{ language == 0 ? '待审核' : 'Auditing' }}</span>
<span v-if="n.auditStatus=='2'" class="bg-blue">{{ language == 0 ? '审核通过' : 'Approved' }}</span>
<span v-if="n.auditStatus=='3'" class="bg-danger">{{ language == 0 ? '审核驳回' : 'Reject' }}</span>
<span v-if="n.auditStatus=='4'" class="bg-warning">{{ language == 0 ? '已取消' : 'Canceled' }}</span>
</div>
<el-empty :image="`/img/order_no.png`" :image-size="228" v-if="billList?.length == 0"/>
<el-row :gutter="15">
<el-col :lg="6" :md="8" :xl="10">
<img :src="fillImgUrl(n.coverUrl)" class="mauto w100">
</el-col>
<el-col :lg="18" :md="16" :xl="14">
<el-row>
<el-col :span="24">
<h3>{{ n.name }}</h3>
</el-col>
<el-col :lg="8">
<p class="ppl"><label>{{ language == 0 ? '赛事级别' : 'Event Level' }}</label>{{ n.level }}</p>
<p v-if="n.languageSource=='100'" class="ppl"><label v-if="n.groupName">{{
language == 0 ? '参赛队' : 'Name of participating team'
}}</label>{{ n.groupName }}</p>
</el-col>
<el-col :lg="8">
<p class="ppl"><label>{{
language == 0 ? '比赛时间' : 'Event Date'
}}</label>{{ n.signBeginTime?.substring(0, 10) }}~{{ n.signEndTime.substring(0, 10) }}
</p>
<p class="ppl"><label>{{
language == 0 ? '参赛运动员' : 'PARTICIPATING ATHLETES'
}}</label>{{ n.signSize }}</p>
</el-col>
<el-col :lg="8">
<p class="ppl"><label>{{
language == 0 ? '报名时间' : 'Registration Period'
}}</label>{{ n.signBeginTime.substring(0, 10) }}~{{ n.signEndTime.substring(0, 10) }}</p>
<div class="btnbox" style="display: flex">
<el-button
v-if="n.auditStatus!='0'" class="mb10" plain round type="primary"
@click="goDetail(n)"
>
{{ language == 0 ? '详情' : 'Detail' }}
</el-button>
<el-button v-if="n.auditStatus=='0'" plain round type="primary" @click="continueSign(n)">
{{ language == 0 ? '继续报名' : 'Continue to register' }}
</el-button>
<el-button v-if="n.auditStatus=='1'" plain round type="primary" @click="withDraw(n)">
{{ language == 0 ? '取消报名' : 'Cancel registration' }}
</el-button>
<el-button v-if="n.auditStatus=='3'" plain round type="primary" @click="reSign(n)">
{{ language == 0 ? '重新报名' : 'Re register' }}
</el-button>
<el-button
v-if="n.auditStatus=='2'&&n.payStatus=='0'" plain round type="primary"
@click="goDetail(n)"
>
{{ language == 0 ? '缴费' : 'Pay' }}
</el-button>
<!-- <el-button plain round type="primary" @click="goRefund(n)" v-if="n.orderId">-->
<!-- {{ language==0?'退款':'Refund' }}-->
<!-- </el-button>-->
</div>
</el-col>
</el-row>
</el-col>
</el-row>
<el-alert
v-if="n.reason" :closable="false" :title="language==0?'驳回理由:'+n.reason :'Reason:'+n.reason" show-icon
type="error"
/>
</div>
<paginationPc
v-show="total > 0"
v-model:page="query.pageNum"
v-model:limit="query.pageSize"
:total="total"
@pagination="getList"
/>
<el-empty v-if="billList?.length == 0" :image="`/img/order_no.png`" :image-size="228" />
</div>
<paginationPc
v-show="total > 0"
v-model:limit="query.pageSize"
v-model:page="query.pageNum"
:total="total"
@pagination="getList"
/>
</el-card>
</template>
<script setup>
import {ref} from 'vue'
import {useRouter} from 'vue-router'
import {getCurrentInstance, onMounted} from '@vue/runtime-core'
import { ref } from 'vue'
import { useRouter } from 'vue-router'
import { getCurrentInstance, onMounted } from '@vue/runtime-core'
import * as match from '@/apiPc/match'
import {ElMessage, ElMessageBox} from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
import _ from 'lodash'
import useUserStore from "@/store/modules/user";
import cache from "@/plugins/cache";
import {useStorage} from "@vueuse/core/index";
import {refundApply} from "@/apiPc/match";
import dayjs from "dayjs";
const language= useStorage('language',0)
import useUserStore from '@/store/modules/user'
import cache from '@/plugins/cache'
import { useStorage } from '@vueuse/core/index'
import { refundApply } from '@/apiPc/match'
import dayjs from 'dayjs'
const language = useStorage('language', 0)
const router = useRouter()
const {proxy} = getCurrentInstance()
const { proxy } = getCurrentInstance()
const total = ref(0)
const total2 = ref(0)
const dialogPropsBase = {
......@@ -99,7 +122,7 @@ const cptPeriodArr = ref([])
const payTimeArr = ref([])
const commitTimeArr = ref([])
const countryList = ref([])
const tableData = ref([{name: '111'}])
const tableData = ref([{ name: '111' }])
const billList = ref([])
const query = ref({
pageNum: 1,
......@@ -129,27 +152,30 @@ const reset = (form) => {
commitTimeArr.value = []
getList()
}
function withDraw(n){
match.withDrawByOrderId(n.orderId).then(res=>{
function withDraw(n) {
match.withDrawByOrderId(n.orderId).then(res => {
getList()
})
}
function reSign(n){
match.recoverMySignFromCancel(n.id).then((res)=>{
function reSign(n) {
match.recoverMySignFromCancel(n.id).then((res) => {
continueSign(n)
})
}
function continueSign(n){
if(n.status=='0'){
function continueSign(n) {
if (n.status == '0') {
ElMessage({
message: language.value==0?'赛事已下线无法继续报名':'The current event is offline.',
message: language.value == 0 ? '赛事已下线无法继续报名' : 'The current event is offline.',
type: 'warning'
})
return
}
if(n.signEndTime <= dayjs().format('YYYY-MM-DD HH:mm:ss')){
if (n.signEndTime <= dayjs().format('YYYY-MM-DD HH:mm:ss')) {
ElMessage({
message: language.value==0?'赛事报名已结束无法继续报名':'The event registration has ended.',
message: language.value == 0 ? '赛事报名已结束无法继续报名' : 'The event registration has ended.',
type: 'warning'
})
return
......@@ -158,7 +184,7 @@ function continueSign(n){
// 个人报名
router.push({
name: 'chooseProject',
params:{
params: {
id: n.id
},
query: {
......@@ -166,11 +192,11 @@ function continueSign(n){
}
})
}
if (user.utype == '2'){
if (user.utype == '2') {
// 团队报名
router.push({
name: 'chooseSportsman',
params:{
params: {
id: n.id
},
query: {
......@@ -179,24 +205,27 @@ function continueSign(n){
}
})
}
}
function goDetail(n){
function goDetail(n) {
// 查看详情
router.push({
name:`signPay`,
name: `signPay`,
query: {
orderId: n.encodeOrderId
orderId: n.encodeOrderId,
buy: n.insuranceBuyStatus
}
})
}
function goRefund(n) {
ElMessageBox.confirm('Are you sure to refund?', 'Refund', {
confirmButtonText: 'Confirm',
cancelButtonText: 'Cancel',
type: 'warning',
type: 'warning'
}).then(() => {
match.refundApply(n.orderId).then(res=>{
match.refundApply(n.orderId).then(res => {
ElMessage({
message: 'Refund success',
type: 'success'
......@@ -204,6 +233,7 @@ function goRefund(n) {
})
})
}
function getList() {
console.log(query2.value)
match.getMySignCptList(query2.value).then(res => {
......@@ -220,48 +250,74 @@ function getList() {
</script>
<style scoped lang="scss">
<style lang="scss" scoped>
.matchItem {
cursor: pointer;
margin: 0 0 20px;
padding: 20px 15px;background: #FBFCFD;
padding: 20px 15px;
background: #FBFCFD;
border-radius: 2px;
position: relative;
.status-po{position: absolute;right: 0;top: 0;font-size: 12px;
.status-po {
position: absolute;
right: 0;
top: 0;
font-size: 12px;
color: #FFFFFF;
span{border-radius: 0px 10px 0px 10px;padding: 4px 10px;}
.bg-danger{background: #E60012;}
.bg-warning{background: #e89f39;}
.bg-pink{background: #F740A6;}
.bg-primary{background: var(--el-color-primary)}
.bg-blue{background: #00a0e9}
span {
border-radius: 0px 10px 0px 10px;
padding: 4px 10px;
}
.bg-danger {
background: #E60012;
}
.bg-warning {
background: #e89f39;
}
.bg-pink {
background: #F740A6;
}
.bg-primary {
background: var(--el-color-primary)
}
.bg-blue {
background: #00a0e9
}
}
&:last-child {
border-bottom: none;
}
.el-avatar {
position: absolute;
left: 20px;
top: 30px;
img {
background: #fff;
}
}
.info {
p {
font-size: 14px;
}
}
.typeTag {
position: absolute;
right: 0;
top: 0;
}
h3 {
font-weight: 500;
margin: 0 0 10px;
......@@ -269,7 +325,7 @@ function getList() {
color: #000000;
text-overflow: ellipsis;
}
&:hover h3 {
color: var(--el-color-primary);
}
......@@ -279,7 +335,7 @@ function getList() {
text-align: center;
font-size: 26px;
margin: 20px;
span {
font-size: 40px;
font-weight: bold;
......@@ -294,7 +350,7 @@ function getList() {
:deep(.el-radio.el-radio--large .el-radio__label) {
display: flex;
align-items: center;
img {
margin-right: 6px;
}
......@@ -321,16 +377,41 @@ function getList() {
.el-form--inline .el-form-item {
width: auto;
}
.ppl{font-size: 14px;
label{color: #929AA0;display: block;font-size: 12px;}
.ppl {
font-size: 14px;
label {
color: #929AA0;
display: block;
font-size: 12px;
}
}
.btnbox{text-align: right;}
.btnbox {
text-align: right;
}
@media screen and (max-width: 768px) {
.matchItem{
img.w100{margin-bottom: 10px}
.ppl{margin: 0 0 5px;display: flex;}
.status-po{right: 15px;top: 23px;z-index: 2}
.btnbox{justify-content: end;}
.matchItem {
img.w100 {
margin-bottom: 10px
}
.ppl {
margin: 0 0 5px;
display: flex;
}
.status-po {
right: 15px;
top: 23px;
z-index: 2
}
.btnbox {
justify-content: end;
}
}
}
</style>
......
......@@ -481,7 +481,7 @@ function submitForm(n) {
function commit() {
if (language.value == 0 && insuranceFlag.value == 2 && checked.value == '0') {
ElMessageBox.confirm(language.value == 0 ? '你是否同意赛事帮忙购买保险?' : 'Do you agree to have the event organizer help purchase insurance?',
ElMessageBox.confirm(language.value == 0 ? '你是否同意赛事帮忙购买保险?' : 'Do you agree to have the event organizer help purchase insurance?',
language.value == 0 ? '提示' : 'Tip', {
confirmButtonText: language.value == 0 ? '是' : 'Yes',
cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
......
......@@ -437,7 +437,7 @@ function submitForm() {
type: 'warning'
})
} else if (language.value == 0 && insuranceFlag.value == '2' && checked.value == 0) {
ElMessageBox.confirm(language.value == 0 ? '你是否同意赛事帮忙购买保险?' : 'Do you agree to have the event organizer help purchase insurance?',
ElMessageBox.confirm(language.value == 0 ? '你是否同意赛事帮忙购买保险?' : 'Do you agree to have the event organizer help purchase insurance?',
language.value == 0 ? '提示' : 'Tip', {
confirmButtonText: language.value == 0 ? '是' : 'Yes',
cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
......
......@@ -3,7 +3,9 @@
<div v-if="!errorBox" class="box">
<el-card :body-style="{ padding: '0px' }" class="mt20">
<div slot="header">
<div class="bg-lineg">{{ language == 0 ? '报名缴费清单' : 'Registration Payment List' }}</div>
<div class="bg-lineg">
{{ language == 0 ? '报名缴费清单' : 'Registration Payment List' }}
</div>
</div>
<match-info-row v-if="matchId" :match-id="matchId" />
<div v-if="isLogin">
......@@ -11,7 +13,8 @@
<coach-info-row v-if="groupId" :group-id="groupId" :match-id="matchId" />
<div v-if="user.utype=='1'&&myMemberTable.length>0" class="pd20">
<div class="leftboderTT">{{ language == 0 ? '随行人员清单' : 'List of accompanying personnel' }}
<div class="leftboderTT">
{{ language == 0 ? '随行人员清单' : 'List of accompanying personnel' }}
</div>
<div>
<el-table :data="myMemberTable" border class="mt20">
......@@ -41,7 +44,9 @@
</div>
</div>
<div v-if="signInfoList?.length>0||zuQuery.athName" class="pd20">
<div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}
<div class="leftboderTT">
<!-- {{ language == 0 ? '' + '参赛人员保险费' : 'Participant Insurance Fee' }}-->
{{ language == 0 ? '' + '参赛人员' : 'Participant' }}
<div class="fr">
<el-input
v-model="zuQuery.athName" :prefix-icon="Search" clearable
......@@ -51,12 +56,18 @@
</div>
<!-- 人员列表-->
<sign-info-table
v-if="matchId" :has-action="false" :list="signInfoList" :match-id="matchId"
:show-summary="true" :total="insuranceFeeTotal" class="mt20"
v-if="matchId"
:has-action="false"
:list="signInfoList"
:match-id="matchId"
:show-summary="buy==1"
:total="insuranceFeeTotal"
class="mt20"
/>
</div>
<div v-if="zuTableList?.length>0||zuQuery.groName" class="pd20">
<div class="leftboderTT">{{ language == 0 ? '参赛设项服务费' : 'Registration Fee for Event Entry' }}
<div class="leftboderTT">
{{ language == 0 ? '参赛设项服务费' : 'Registration Fee for Event Entry' }}
<div class="fr">
<el-input
v-model="zuQuery.groName" :prefix-icon="Search" clearable
......@@ -65,7 +76,10 @@
</div>
</div>
<zu-table
:has-action="false" :list="zuTableList" :show-summary="true" :total="serviceFeeTotal"
:has-action="false"
:list="zuTableList"
:show-summary="true"
:total="serviceFeeTotal"
class="mt20"
/>
</div>
......@@ -96,12 +110,13 @@
<div v-if="signInfoList?.length>0" class="item"><label>{{
language == 0 ? '参赛服务费' : 'REGISTRATION FEE'
}}:</label><span>{{ language == 0 ? '¥' : '€' }}{{ serviceFeeTotal }}</span></div>
<div v-if="zuTableList?.length>0" class="item"><label>{{
<div v-if="zuTableList?.length>0 &&buy!='0'" class="item"><label>{{
language == 0 ? '保险费' : 'INSURANCE'
}}:</label><span>{{ language == 0 ? '¥' : '€' }}{{ insuranceFeeTotal }}</span></div>
<div class="item"><label>{{ language == 0 ? '费用总计' : 'Total Cost' }}:</label><span
class="size26"
>{{ language == 0 ? '¥' : '€' }}{{ form.totalFee }}</span></div>
<div class="item">
<label>{{ language == 0 ? '费用总计' : 'Total Cost' }}:</label>
<span class="size26">{{ language == 0 ? '¥' : '€' }}{{ form.totalFee }}</span>
</div>
</div>
</el-col>
</el-row>
......@@ -162,7 +177,9 @@
</el-row>
</el-card>
<el-card v-if="form.auditStatus=='2'&&form.payStatus=='0'&&Number(form.totalFee)>0" class="mb60">
<div class="leftboderTT">{{ language == 0 ? '选择支付方式' : 'Choose payment method' }}</div>
<div class="leftboderTT">
{{ language == 0 ? '选择支付方式' : 'Choose payment method' }}
</div>
<div class="mt20">
<el-radio-group v-model="payType" @change="changePaytype">
<!-- 0 线下 1 支付宝 2 微信 3 paypal-->
......@@ -291,73 +308,76 @@
<div v-if="payType == '3'">
<table cellpadding="0" cellspacing="0" class="table-border table">
<tr>
<th class="head" colspan="2">
{{ language == 0 ? '线下缴费的收款信息' : 'Offline Payment Collection Information' }}
</th>
</tr>
<tr>
<th>{{ language == 0 ? '付款金额' : 'Payment Amount' }}</th>
<td>
{{ language == 0 ? '¥' : '€' }}{{ totalFee }}
<div class="text-gray">{{
language == 0 ? '请按照指定金额进行打款' : 'Please make the payment according to the specified amount'
}}
</div>
</td>
</tr>
<tr>
<th>{{ language == 0 ? '收款账号' : `Receiver's Account Number` }}</th>
<td>
{{ form.payInformation?.receivingAccount }}
<span
v-if="language==0" class="text-primary size12 pointer"
@click="copy(form.payInformation?.receivingAccount)"
>复制25位账号</span>
<span v-else class="text-primary size12 pointer" @click="copy(form.payInformation?.receivingAccount)">Copy 25-digit Account Number</span>
<div v-if="language==0" class="text-gray">请勿重复打款</div>
<div v-else class="text-gray">Please do not make duplicate payments</div>
</td>
</tr>
<tr>
<th>{{ language == 0 ? '收款公司名' : 'Name of the Payee Company' }}</th>
<td>{{ form.payInformation?.receivingCompany }}</td>
</tr>
<tr>
<th>{{ language == 0 ? '开户银行' : 'Bank Name' }}</th>
<td>{{ form.payInformation?.openingBank }}</td>
</tr>
<tr>
<th>{{ language == 0 ? '备注信息' : 'Remarks' }}</th>
<td>
{{ form.payInformation?.remarks }}
</td>
</tr>
<tr>
<th>{{ language == 0 ? '联系人' : 'Contacts' }}</th>
<td>
{{ form.payInformation?.contacts }}
</td>
</tr>
<tr>
<th>{{ language == 0 ? '联系电话' : 'Telephone' }}</th>
<td>{{ form.payInformation?.contactPhone }}</td>
</tr>
<tr>
<th>{{ language == 0 ? '操作' : 'Actions' }}</th>
<td>
<file-upload
v-model="voucherObj" :button-text="language==0?'上传汇款单':'Upload Remittance Receipt'"
:button-type="1" :is-show-tip="false"
:limit="1"
/>
<span
v-if="language==0"
class="text-danger size12"
>*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span>
<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>
</td>
</tr>
<tbody>
<tr>
<th class="head" colspan="2">
{{ language == 0 ? '线下缴费的收款信息' : 'Offline Payment Collection Information' }}
</th>
</tr>
<tr>
<th>{{ language == 0 ? '付款金额' : 'Payment Amount' }}</th>
<td>
{{ language == 0 ? '¥' : '€' }}{{ totalFee }}
<div class="text-gray">{{
language == 0 ? '请按照指定金额进行打款' : 'Please make the payment according to the specified amount'
}}
</div>
</td>
</tr>
<tr>
<th>{{ language == 0 ? '收款账号' : `Receiver's Account Number` }}</th>
<td>
{{ form.payInformation?.receivingAccount }}
<span
v-if="language==0" class="text-primary size12 pointer"
@click="copy(form.payInformation?.receivingAccount)"
>复制25位账号</span>
<span v-else class="text-primary size12 pointer" @click="copy(form.payInformation?.receivingAccount)">Copy 25-digit Account Number</span>
<div v-if="language==0" class="text-gray">请勿重复打款</div>
<div v-else class="text-gray">Please do not make duplicate payments</div>
</td>
</tr>
<tr>
<th>{{ language == 0 ? '收款公司名' : 'Name of the Payee Company' }}</th>
<td>{{ form.payInformation?.receivingCompany }}</td>
</tr>
<tr>
<th>{{ language == 0 ? '开户银行' : 'Bank Name' }}</th>
<td>{{ form.payInformation?.openingBank }}</td>
</tr>
<tr>
<th>{{ language == 0 ? '备注信息' : 'Remarks' }}</th>
<td>
{{ form.payInformation?.remarks }}
</td>
</tr>
<tr>
<th>{{ language == 0 ? '联系人' : 'Contacts' }}</th>
<td>
{{ form.payInformation?.contacts }}
</td>
</tr>
<tr>
<th>{{ language == 0 ? '联系电话' : 'Telephone' }}</th>
<td>{{ form.payInformation?.contactPhone }}</td>
</tr>
<tr>
<th>{{ language == 0 ? '操作' : 'Actions' }}</th>
<td>
<file-upload
v-model="voucherObj" :button-text="language==0?'上传汇款单':'Upload Remittance Receipt'"
:button-type="1" :is-show-tip="false"
:limit="1"
/>
<span
v-if="language==0"
class="text-danger size12"
>*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span>
<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>
</td>
</tr>
</tbody>
</table>
<div class="text-center">
......@@ -432,7 +452,9 @@
</el-form-item>
</div>
<div class="tip mt20">
<label>{{ language == 0 ? '开电子收据须知' : 'Receipt notice' }}:</label>
<label>
{{ language == 0 ? '开电子收据须知' : 'Receipt notice' }}:
</label>
<div class="pd10">
{{ remark }}
</div>
......@@ -467,6 +489,7 @@ import { useStorage } from '@vueuse/core/index'
import { ElMessage, ElMessageBox } from 'element-plus'
import { getBaseInfoByActiveId, getReceipt } from '@/apiPc/booking'
const buy = ref(route.query.buy || '0')
const isLogin = ref(false)
const language = useStorage('language', 0)
const signInfoList = ref([])
......@@ -486,7 +509,8 @@ const insuranceFeeTotal = ref(0)
const serviceFeeTotal = ref(0)
const zuQuery = ref({
cptId: matchId.value,
groupId: groupId.value
groupId: groupId.value,
buy: route.query.buy || '0'
})
const user = useUserStore().user
const remark = ref('')
......@@ -521,7 +545,10 @@ if (useUserStore().user) {
}
function getData() {
return match.getMyOrderDetail({ orderId: orderId.value }).then(res => {
return match.getMyOrderDetail({
orderId: orderId.value,
buy: buy.value
}).then(res => {
totalFee.value = res.data.totalFee
form.value = res.data
form.value.payTypeArr = res.data.payType.split(',')
......@@ -560,6 +587,7 @@ function upRR() {
function getSignList() {
match.getMySignInfoList(zuQuery.value).then(res => {
console.log(res)
insuranceFeeTotal.value = 0
serviceFeeTotal.value = 0
signInfoList.value = res.data?.singleData || []
......@@ -571,6 +599,7 @@ function getSignList() {
serviceFeeTotal.value = serviceFeeTotal.value + Number(z.project.serviceFee)
}
}).catch(err => {
console.log(err)
if (isLogin.value) {
router.push({ name: 'myMatch' })
}
......@@ -740,6 +769,7 @@ function downloadAndSend() {
showSJ()
})
}).catch(err => {
console.log(err)
loading.value = false
})
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!