民生付
Showing
5 changed files
with
132 additions
and
61 deletions
| ... | @@ -85,7 +85,7 @@ | ... | @@ -85,7 +85,7 @@ |
| 85 | min-width="100" prop="insuranceFee" | 85 | min-width="100" prop="insuranceFee" |
| 86 | > | 86 | > |
| 87 | <template #default="scope"> | 87 | <template #default="scope"> |
| 88 | <span class="text-primary">{{ language == 0 ? '¥' : '€' }}{{ scope.row.insuranceFee }}</span> | 88 | <span class="text-primary">{{ payType != 3 ? '¥' : '€' }}{{ payType != 3?scope.row.insuranceFee:scope.row.insuranceFeeEn }}</span> |
| 89 | </template> | 89 | </template> |
| 90 | </el-table-column> | 90 | </el-table-column> |
| 91 | <!-- 补充信息--> | 91 | <!-- 补充信息--> |
| ... | @@ -122,7 +122,7 @@ | ... | @@ -122,7 +122,7 @@ |
| 122 | </div> | 122 | </div> |
| 123 | 123 | ||
| 124 | <div v-if="showSummary" style="display: inline-block"> | 124 | <div v-if="showSummary" style="display: inline-block"> |
| 125 | {{ language == 0 ? '金额小计' : 'Amount' }}: <span>{{ language == 0 ? '¥' : '€' }}{{ total }}</span> | 125 | {{ language == 0 ? '金额小计' : 'Amount' }}: <span>{{ payType != 3 ? '¥' : '€' }}{{ total }}</span> |
| 126 | </div> | 126 | </div> |
| 127 | 127 | ||
| 128 | </div> | 128 | </div> |
| ... | @@ -162,6 +162,11 @@ const props = defineProps({ | ... | @@ -162,6 +162,11 @@ const props = defineProps({ |
| 162 | type: Number, | 162 | type: Number, |
| 163 | required: false, | 163 | required: false, |
| 164 | default: 0 | 164 | default: 0 |
| 165 | }, | ||
| 166 | payType: { | ||
| 167 | type: String, | ||
| 168 | required: false, | ||
| 169 | default: '' | ||
| 165 | } | 170 | } |
| 166 | }) | 171 | }) |
| 167 | import { useStorage } from '@vueuse/core/index' | 172 | import { useStorage } from '@vueuse/core/index' |
| ... | @@ -194,8 +199,6 @@ function getMatch() { | ... | @@ -194,8 +199,6 @@ function getMatch() { |
| 194 | }) | 199 | }) |
| 195 | } | 200 | } |
| 196 | 201 | ||
| 197 | function totalMethod() { | ||
| 198 | } | ||
| 199 | </script> | 202 | </script> |
| 200 | 203 | ||
| 201 | <style lang="scss" scoped> | 204 | <style lang="scss" scoped> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="mt20"></div> | 2 | <div class="mt20" /> |
| 3 | <el-table :data="list" border style="width: 100%"> | 3 | <el-table :data="list" border style="width: 100%"> |
| 4 | <el-table-column :label="language==0?'序号':'Index'" type="index" width="70" align="center"/> | 4 | <el-table-column :label="language==0?'序号':'Index'" type="index" width="70" align="center" /> |
| 5 | <el-table-column :label="language==0?'组别代码':'EVENT code'" width="120px" align="center" prop="project.code"/> | 5 | <el-table-column :label="language==0?'组别代码':'EVENT code'" width="120px" align="center" prop="project.code" /> |
| 6 | <el-table-column :label="language==0?'组别':'EVENT'" min-width="150px" header-align="center" prop="project.name"> | 6 | <el-table-column :label="language==0?'组别':'EVENT'" min-width="150px" header-align="center" prop="project.name"> |
| 7 | <template #default="scope"> | 7 | <template #default="scope"> |
| 8 | <el-tooltip effect="dark" :content="scope.row.project.name"> | 8 | <el-tooltip effect="dark" :content="scope.row.project.name"> |
| 9 | <div class="esp">{{scope.row.project.name}}</div> | 9 | <div class="esp">{{ scope.row.project.name }}</div> |
| 10 | </el-tooltip> | 10 | </el-tooltip> |
| 11 | </template> | 11 | </template> |
| 12 | </el-table-column> | 12 | </el-table-column> |
| 13 | <el-table-column :label="language==0?'舞种':'DISCIPLINE'" align="center" width="120px" prop="project.danceType"/> | 13 | <el-table-column :label="language==0?'舞种':'DISCIPLINE'" align="center" width="120px" prop="project.danceType" /> |
| 14 | <el-table-column :label="language==0?'参赛说明':'Participation Instructions'" header-align="center" min-width="160px"> | 14 | <el-table-column :label="language==0?'参赛说明':'Participation Instructions'" header-align="center" min-width="160px"> |
| 15 | <template #default="scope"> | 15 | <template #default="scope"> |
| 16 | <el-tooltip effect="dark" :content="scope.row.project.remarks"> | 16 | <el-tooltip effect="dark" :content="scope.row.project.remarks"> |
| 17 | <div class="esp" v-html="scope.row.project.remarks"></div> | 17 | <div class="esp" v-html="scope.row.project.remarks" /> |
| 18 | </el-tooltip> | 18 | </el-tooltip> |
| 19 | </template> | 19 | </template> |
| 20 | </el-table-column> | 20 | </el-table-column> |
| ... | @@ -22,10 +22,10 @@ | ... | @@ -22,10 +22,10 @@ |
| 22 | <template #default="scope"> | 22 | <template #default="scope"> |
| 23 | <el-tooltip effect="dark"> | 23 | <el-tooltip effect="dark"> |
| 24 | <template #content> | 24 | <template #content> |
| 25 | <span v-for="s in scope.row.athletes">{{ s.name }},</span> | 25 | <span v-for="s in scope.row.athletes" :key="s">{{ s.name }},</span> |
| 26 | </template> | 26 | </template> |
| 27 | <div class="esp"> | 27 | <div class="esp"> |
| 28 | <span v-for="s in scope.row.athletes">{{ s.name }},</span> | 28 | <span v-for="s in scope.row.athletes" :key="s">{{ s.name }},</span> |
| 29 | </div> | 29 | </div> |
| 30 | </el-tooltip> | 30 | </el-tooltip> |
| 31 | </template> | 31 | </template> |
| ... | @@ -33,14 +33,22 @@ | ... | @@ -33,14 +33,22 @@ |
| 33 | <el-table-column :label="language==0?'参赛服务费':'REGISTRATION FEE'" align="center" width="150px" prop=""> | 33 | <el-table-column :label="language==0?'参赛服务费':'REGISTRATION FEE'" align="center" width="150px" prop=""> |
| 34 | <template #default="scope"> | 34 | <template #default="scope"> |
| 35 | <div class="text-primary"> | 35 | <div class="text-primary"> |
| 36 | {{ language==0?'¥':'€' }}{{ scope.row.project.chargeType == '0'?scope.row.project.serviceFee : scope.row.project.serviceFee * scope.row.athletes.length }} | 36 | <!-- // chargeType 0 按项目收费 1按人数收费--> |
| 37 | {{ payType!=3?'¥':'€' }} | ||
| 38 | <span v-if="scope.row.project.chargeType == '0'"> | ||
| 39 | {{ payType!=3? scope.row.project.serviceFee:scope.row.project.serviceFeeEn }} | ||
| 40 | </span> | ||
| 41 | <span v-else> | ||
| 42 | {{ payType!=3? scope.row.project.serviceFee * scope.row.athletes.length:scope.row.project.serviceFeeEn * scope.row.athletes.length }} | ||
| 43 | </span> | ||
| 44 | <!-- {{ scope.row.project.chargeType == '0'?scope.row.project.serviceFee : scope.row.project.serviceFee * scope.row.athletes.length }}--> | ||
| 37 | </div> | 45 | </div> |
| 38 | </template> | 46 | </template> |
| 39 | </el-table-column> | 47 | </el-table-column> |
| 40 | <el-table-column v-if="hasAction" :label="language==0?'操作':'Actions'" fixed="right" width="150" align="center"> | 48 | <el-table-column v-if="hasAction" :label="language==0?'操作':'Actions'" fixed="right" width="150" align="center"> |
| 41 | <template #default="scope"> | 49 | <template #default="scope"> |
| 42 | <el-button type="primary" link @click="remove(scope.row.signId)"> | 50 | <el-button type="primary" link @click="remove(scope.row.signId)"> |
| 43 | {{language == 0 ? '删除' : 'Delete' }} | 51 | {{ language == 0 ? '删除' : 'Delete' }} |
| 44 | </el-button> | 52 | </el-button> |
| 45 | 53 | ||
| 46 | </template> | 54 | </template> |
| ... | @@ -50,13 +58,13 @@ | ... | @@ -50,13 +58,13 @@ |
| 50 | <div> | 58 | <div> |
| 51 | {{ language==0?'总报项数':'Count' }}: <span class="mr20">{{ list.length }}</span> | 59 | {{ language==0?'总报项数':'Count' }}: <span class="mr20">{{ list.length }}</span> |
| 52 | 60 | ||
| 53 | {{ language==0?'金额小计':'Amount' }}: <span>{{ language==0?'¥':'€' }}{{ total }}</span> | 61 | {{ language==0?'金额小计':'Amount' }}: <span>{{ payType!=3?'¥':'€' }}{{ total }}</span> |
| 54 | </div> | 62 | </div> |
| 55 | </div> | 63 | </div> |
| 56 | </template> | 64 | </template> |
| 57 | 65 | ||
| 58 | <script setup> | 66 | <script setup> |
| 59 | import {useStorage} from "@vueuse/core/index"; | 67 | import { useStorage } from '@vueuse/core/index' |
| 60 | 68 | ||
| 61 | const emit = defineEmits(['delete']) | 69 | const emit = defineEmits(['delete']) |
| 62 | const props = defineProps({ | 70 | const props = defineProps({ |
| ... | @@ -64,23 +72,28 @@ const props = defineProps({ | ... | @@ -64,23 +72,28 @@ const props = defineProps({ |
| 64 | type: Array, | 72 | type: Array, |
| 65 | required: true | 73 | required: true |
| 66 | }, | 74 | }, |
| 67 | hasAction:{ | 75 | hasAction: { |
| 68 | type: Boolean, | 76 | type: Boolean, |
| 69 | required: false, | 77 | required: false, |
| 70 | default: true | 78 | default: true |
| 71 | }, | 79 | }, |
| 72 | showSummary:{ | 80 | showSummary: { |
| 73 | type: Boolean, | 81 | type: Boolean, |
| 74 | required: false, | 82 | required: false, |
| 75 | default: false | 83 | default: false |
| 76 | }, | 84 | }, |
| 77 | total:{ | 85 | total: { |
| 78 | type: Number, | 86 | type: Number, |
| 79 | required: false, | 87 | required: false, |
| 80 | default: 0 | 88 | default: 0 |
| 89 | }, | ||
| 90 | payType: { | ||
| 91 | type: String, | ||
| 92 | required: false, | ||
| 93 | default: '' | ||
| 81 | } | 94 | } |
| 82 | }) | 95 | }) |
| 83 | const language= useStorage('language',0) | 96 | const language = useStorage('language', 0) |
| 84 | const remove = (id) => { | 97 | const remove = (id) => { |
| 85 | emit('delete', id) | 98 | emit('delete', id) |
| 86 | } | 99 | } | ... | ... |
| ... | @@ -592,7 +592,6 @@ function getMatch(id) { | ... | @@ -592,7 +592,6 @@ function getMatch(id) { |
| 592 | loading.value = true | 592 | loading.value = true |
| 593 | match.getMatchById({ id: id }).then(res => { | 593 | match.getMatchById({ id: id }).then(res => { |
| 594 | matchData.value = res.data | 594 | matchData.value = res.data |
| 595 | console.log(666666, matchData.value) | ||
| 596 | loading.value = false | 595 | loading.value = false |
| 597 | const today = dayjs().format('YYYY-MM-DD HH:mm:ss') | 596 | const today = dayjs().format('YYYY-MM-DD HH:mm:ss') |
| 598 | time.value = dayjs(res.data.signEndTime).diff(today, 'millisecond') | 597 | time.value = dayjs(res.data.signEndTime).diff(today, 'millisecond') | ... | ... |
| ... | @@ -61,7 +61,8 @@ | ... | @@ -61,7 +61,8 @@ |
| 61 | :list="signInfoList" | 61 | :list="signInfoList" |
| 62 | :match-id="matchId" | 62 | :match-id="matchId" |
| 63 | :show-summary="buy==1" | 63 | :show-summary="buy==1" |
| 64 | :total="insuranceFeeTotal" | 64 | :total="payType!=3? insuranceFeeTotal:insuranceFeeTotalEn" |
| 65 | :pay-type="payType" | ||
| 65 | class="mt20" | 66 | class="mt20" |
| 66 | /> | 67 | /> |
| 67 | </div> | 68 | </div> |
| ... | @@ -79,7 +80,8 @@ | ... | @@ -79,7 +80,8 @@ |
| 79 | :has-action="false" | 80 | :has-action="false" |
| 80 | :list="zuTableList" | 81 | :list="zuTableList" |
| 81 | :show-summary="true" | 82 | :show-summary="true" |
| 82 | :total="serviceFeeTotal" | 83 | :total=" payType!=3?serviceFeeTotal:serviceFeeTotalEn" |
| 84 | :pay-type="payType" | ||
| 83 | class="mt20" | 85 | class="mt20" |
| 84 | /> | 86 | /> |
| 85 | </div> | 87 | </div> |
| ... | @@ -109,13 +111,21 @@ | ... | @@ -109,13 +111,21 @@ |
| 109 | <div v-if="Number(form.totalFee)>0" class="flex"> | 111 | <div v-if="Number(form.totalFee)>0" class="flex"> |
| 110 | <div v-if="signInfoList?.length>0" class="item"><label>{{ | 112 | <div v-if="signInfoList?.length>0" class="item"><label>{{ |
| 111 | language == 0 ? '参赛服务费' : 'REGISTRATION FEE' | 113 | language == 0 ? '参赛服务费' : 'REGISTRATION FEE' |
| 112 | }}:</label><span>{{ language == 0 ? '¥' : '€' }}{{ serviceFeeTotal }}</span></div> | 114 | }}:</label><span> |
| 115 | <!-- {{ language == 0 ? '¥' : '€' }}{{ serviceFeeTotal }}--> | ||
| 116 | {{ payType != 3 ? '¥' : '€' }}{{ payType!=3? serviceFeeTotal:serviceFeeTotalEn }} | ||
| 117 | </span></div> | ||
| 113 | <div v-if="zuTableList?.length>0 &&buy!='0'" class="item"><label>{{ | 118 | <div v-if="zuTableList?.length>0 &&buy!='0'" class="item"><label>{{ |
| 114 | language == 0 ? '保险费' : 'INSURANCE' | 119 | language == 0 ? '保险费' : 'INSURANCE' |
| 115 | }}:</label><span>{{ language == 0 ? '¥' : '€' }}{{ insuranceFeeTotal }}</span></div> | 120 | }}:</label><span> |
| 121 | <!-- {{ language == 0 ? '¥' : '€' }}{{ // insuranceFeeTotal }}--> | ||
| 122 | {{ payType != 3 ? '¥' : '€' }}{{ payType!=3? insuranceFeeTotal:insuranceFeeTotalEn }} | ||
| 123 | </span></div> | ||
| 116 | <div class="item"> | 124 | <div class="item"> |
| 117 | <label>{{ language == 0 ? '费用总计' : 'Total Cost' }}:</label> | 125 | <label>{{ language == 0 ? '费用总计' : 'Total Cost' }}:</label> |
| 118 | <span class="size26">{{ language == 0 ? '¥' : '€' }}{{ form.totalFee }}</span> | 126 | <span class="size26"> |
| 127 | {{ payType!=3? '¥' : '€' }}{{ payType!=3? form.totalFee:form.totalFeeEn }} | ||
| 128 | </span> | ||
| 119 | </div> | 129 | </div> |
| 120 | </div> | 130 | </div> |
| 121 | </el-col> | 131 | </el-col> |
| ... | @@ -158,21 +168,28 @@ | ... | @@ -158,21 +168,28 @@ |
| 158 | </div> | 168 | </div> |
| 159 | </el-col> | 169 | </el-col> |
| 160 | <el-col v-if="Number(form.totalFee)>0" :lg="12"> | 170 | <el-col v-if="Number(form.totalFee)>0" :lg="12"> |
| 161 | <div v-if="form.payStatus=='0'" class="priceb">{{ language == 0 ? '待支付金额' : 'Amount Due' }}:<span | 171 | <div v-if="form.payStatus=='0'" class="priceb">{{ language == 0 ? '待支付金额' : 'Amount Due' }}: |
| 162 | class="price" | 172 | <!-- <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>--> |
| 163 | >{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div> | 173 | <span class="price">{{ payType != 3 ? '¥' : '€' }}{{ payType != 3?Number(totalFee).toFixed(2):Number(totalFeeEn).toFixed(2) }}</span> |
| 174 | </div> | ||
| 164 | <div v-else-if="form.payStatus=='1'" class="priceb">{{ | 175 | <div v-else-if="form.payStatus=='1'" class="priceb">{{ |
| 165 | language == 0 ? '线下支付待核销' : 'Amount Due' | 176 | language == 0 ? '线下支付待核销' : 'Amount Due' |
| 166 | }}:<span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div> | 177 | }}: |
| 167 | <div v-else-if="form.payStatus=='3'" class="priceb">{{ language == 0 ? '已支付金额' : 'Amount Due' }}:<span | 178 | <!-- <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>--> |
| 168 | class="price" | 179 | <span class="price">{{ payType != 3 ? '¥' : '€' }}{{ payType != 3?Number(totalFee).toFixed(2):Number(totalFeeEn).toFixed(2) }}</span> |
| 169 | >{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div> | 180 | </div> |
| 170 | <div v-else-if="form.payStatus=='5'" class="priceb">{{ language == 0 ? '已退款' : 'Refunded' }}:<span | 181 | <div v-else-if="form.payStatus=='3'" class="priceb">{{ language == 0 ? '已支付金额' : 'Amount Due' }}: |
| 171 | class="price" | 182 | <!-- <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>--> |
| 172 | >{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div> | 183 | <span class="price">{{ payType != 3 ? '¥' : '€' }}{{ payType != 3?Number(totalFee).toFixed(2):Number(totalFeeEn).toFixed(2) }}</span> |
| 173 | <div v-else class="priceb">{{ language == 0 ? '费用总计' : 'Amount Due' }}:<span | 184 | </div> |
| 174 | class="price" | 185 | <div v-else-if="form.payStatus=='5'" class="priceb">{{ language == 0 ? '已退款' : 'Refunded' }}: |
| 175 | >{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div> | 186 | <!-- <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>--> |
| 187 | <span class="price">{{ payType != 3 ? '¥' : '€' }}{{ payType != 3?Number(totalFee).toFixed(2):Number(totalFeeEn).toFixed(2) }}</span> | ||
| 188 | </div> | ||
| 189 | <div v-else class="priceb">{{ language == 0 ? '费用总计' : 'Amount Due' }}: | ||
| 190 | <!-- <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>--> | ||
| 191 | <span class="price">{{ payType != 3 ? '¥' : '€' }}{{ payType != 3?Number(totalFee).toFixed(2):Number(totalFeeEn).toFixed(2) }}</span> | ||
| 192 | </div> | ||
| 176 | </el-col> | 193 | </el-col> |
| 177 | </el-row> | 194 | </el-row> |
| 178 | </el-card> | 195 | </el-card> |
| ... | @@ -248,7 +265,7 @@ | ... | @@ -248,7 +265,7 @@ |
| 248 | <span>{{ language==0?'民生付':'Minsheng Pay' }}</span> | 265 | <span>{{ language==0?'民生付':'Minsheng Pay' }}</span> |
| 249 | </div> | 266 | </div> |
| 250 | </el-radio> | 267 | </el-radio> |
| 251 | <el-radio v-if="form.payTypeArr.indexOf('3')>-1" border label="3"> | 268 | <el-radio v-if="form.payTypeArr.indexOf('3')>-1&&language==1" border label="3"> |
| 252 | <!-- paypal--> | 269 | <!-- paypal--> |
| 253 | <svg | 270 | <svg |
| 254 | class="icon" height="40" p-id="22654" t="1709002828937" | 271 | class="icon" height="40" p-id="22654" t="1709002828937" |
| ... | @@ -324,7 +341,8 @@ | ... | @@ -324,7 +341,8 @@ |
| 324 | <tr> | 341 | <tr> |
| 325 | <th>{{ language == 0 ? '付款金额' : 'Payment Amount' }}</th> | 342 | <th>{{ language == 0 ? '付款金额' : 'Payment Amount' }}</th> |
| 326 | <td> | 343 | <td> |
| 327 | {{ language == 0 ? '¥' : '€' }}{{ totalFee }} | 344 | <!-- {{ language == 0 ? '¥' : '€' }}{{ totalFee }}--> |
| 345 | {{ payType!=3?'¥':'€' }}{{ payType!=3?totalFee:totalFeeEn }} | ||
| 328 | <div class="text-gray">{{ | 346 | <div class="text-gray">{{ |
| 329 | language == 0 ? '请按照指定金额进行打款' : 'Please make the payment according to the specified amount' | 347 | language == 0 ? '请按照指定金额进行打款' : 'Please make the payment according to the specified amount' |
| 330 | }} | 348 | }} |
| ... | @@ -410,7 +428,10 @@ | ... | @@ -410,7 +428,10 @@ |
| 410 | <SuccessFilled /> | 428 | <SuccessFilled /> |
| 411 | </el-icon> | 429 | </el-icon> |
| 412 | <p class="text-success">{{ language == 0 ? '支付成功' : 'successful!' }}</p> | 430 | <p class="text-success">{{ language == 0 ? '支付成功' : 'successful!' }}</p> |
| 413 | <h3 class="wePrice">{{ language == 0 ? '¥' : '€' }}{{ form.totalFee || 0 }}</h3> | 431 | <h3 class="wePrice"> |
| 432 | <!-- {{ language == 0 ? '¥' : '€' }}{{ form.totalFee || 0 }}--> | ||
| 433 | {{ payType != 3 ? '¥' : '€' }}{{ payType!=3?totalFee:totalFeeEn }} | ||
| 434 | </h3> | ||
| 414 | 435 | ||
| 415 | <el-button v-if="language != 0" class="btn-lineG w200px" round type="primary" @click="downInvoice"> | 436 | <el-button v-if="language != 0" class="btn-lineG w200px" round type="primary" @click="downInvoice"> |
| 416 | {{ language == 0 ? '下载收据' : 'Download receipt' }} | 437 | {{ language == 0 ? '下载收据' : 'Download receipt' }} |
| ... | @@ -425,7 +446,11 @@ | ... | @@ -425,7 +446,11 @@ |
| 425 | <SuccessFilled /> | 446 | <SuccessFilled /> |
| 426 | </el-icon> | 447 | </el-icon> |
| 427 | <p class="text-success">{{ language == 0 ? '支付成功' : 'successfully!' }}</p> | 448 | <p class="text-success">{{ language == 0 ? '支付成功' : 'successfully!' }}</p> |
| 428 | <h3 class="wePrice">{{ language == 0 ? '¥' : '€' }}{{ form.totalFee }}</h3> | 449 | <h3 class="wePrice"> |
| 450 | <!-- {{ language == 0 ? '¥' : '€' }}{{ form.totalFee }}--> | ||
| 451 | {{ payType != 3 ? '¥' : '€' }}{{ payType!=3?totalFee:totalFeeEn }} | ||
| 452 | |||
| 453 | </h3> | ||
| 429 | <span | 454 | <span |
| 430 | v-if="language==0" | 455 | v-if="language==0" |
| 431 | class="text-danger size12" | 456 | class="text-danger size12" |
| ... | @@ -514,6 +539,7 @@ const language = useStorage('language', 0) | ... | @@ -514,6 +539,7 @@ const language = useStorage('language', 0) |
| 514 | const signInfoList = ref([]) | 539 | const signInfoList = ref([]) |
| 515 | const zuTableList = ref([]) | 540 | const zuTableList = ref([]) |
| 516 | const totalFee = ref('') | 541 | const totalFee = ref('') |
| 542 | const totalFeeEn = ref('') | ||
| 517 | const wePayCodeUrl = ref('') | 543 | const wePayCodeUrl = ref('') |
| 518 | const form = ref({}) | 544 | const form = ref({}) |
| 519 | const voucherObj = ref([]) | 545 | const voucherObj = ref([]) |
| ... | @@ -525,7 +551,9 @@ const errorBox = ref(false) | ... | @@ -525,7 +551,9 @@ const errorBox = ref(false) |
| 525 | const hideconfirmbtn = ref(false) | 551 | const hideconfirmbtn = ref(false) |
| 526 | const isphone = ref(false) | 552 | const isphone = ref(false) |
| 527 | const insuranceFeeTotal = ref(0) | 553 | const insuranceFeeTotal = ref(0) |
| 554 | const insuranceFeeTotalEn = ref(0) | ||
| 528 | const serviceFeeTotal = ref(0) | 555 | const serviceFeeTotal = ref(0) |
| 556 | const serviceFeeTotalEn = ref(0) | ||
| 529 | const zuQuery = ref({ | 557 | const zuQuery = ref({ |
| 530 | cptId: matchId.value, | 558 | cptId: matchId.value, |
| 531 | groupId: groupId.value, | 559 | groupId: groupId.value, |
| ... | @@ -572,6 +600,7 @@ function getData() { | ... | @@ -572,6 +600,7 @@ function getData() { |
| 572 | buy: buy.value | 600 | buy: buy.value |
| 573 | }).then(res => { | 601 | }).then(res => { |
| 574 | totalFee.value = res.data.totalFee | 602 | totalFee.value = res.data.totalFee |
| 603 | totalFeeEn.value = res.data.totalFeeEn | ||
| 575 | form.value = res.data | 604 | form.value = res.data |
| 576 | form.value.payTypeArr = res.data.payType.split(',') | 605 | form.value.payTypeArr = res.data.payType.split(',') |
| 577 | matchId.value = form.value.cptId | 606 | matchId.value = form.value.cptId |
| ... | @@ -579,6 +608,9 @@ function getData() { | ... | @@ -579,6 +608,9 @@ function getData() { |
| 579 | zuQuery.value.groupId = groupId.value | 608 | zuQuery.value.groupId = groupId.value |
| 580 | zuQuery.value.cptId = matchId.value | 609 | zuQuery.value.cptId = matchId.value |
| 581 | showLoading.value = false | 610 | showLoading.value = false |
| 611 | if (res.data.orderPayType) { | ||
| 612 | payType.value = res.data.orderPayType | ||
| 613 | } | ||
| 582 | if (isLogin.value) { | 614 | if (isLogin.value) { |
| 583 | getSignList() | 615 | getSignList() |
| 584 | if (user.utype == '1') { | 616 | if (user.utype == '1') { |
| ... | @@ -612,11 +644,14 @@ function getSignList() { | ... | @@ -612,11 +644,14 @@ function getSignList() { |
| 612 | match.getMySignInfoList(zuQuery.value).then(res => { | 644 | match.getMySignInfoList(zuQuery.value).then(res => { |
| 613 | console.log(res) | 645 | console.log(res) |
| 614 | insuranceFeeTotal.value = 0 | 646 | insuranceFeeTotal.value = 0 |
| 647 | insuranceFeeTotalEn.value = 0 | ||
| 615 | serviceFeeTotal.value = 0 | 648 | serviceFeeTotal.value = 0 |
| 649 | serviceFeeTotalEn.value = 0 | ||
| 616 | signInfoList.value = res.data?.singleData || [] | 650 | signInfoList.value = res.data?.singleData || [] |
| 617 | zuTableList.value = res.data?.zuData || [] | 651 | zuTableList.value = res.data?.zuData || [] |
| 618 | for (var s of signInfoList.value) { | 652 | for (var s of signInfoList.value) { |
| 619 | insuranceFeeTotal.value = insuranceFeeTotal.value + Number(s.insuranceFee) | 653 | insuranceFeeTotal.value = insuranceFeeTotal.value + Number(s.insuranceFee) |
| 654 | insuranceFeeTotalEn.value = insuranceFeeTotalEn.value + Number(s.insuranceFeeEn) | ||
| 620 | } | 655 | } |
| 621 | // for (var z of zuTableList.value) { | 656 | // for (var z of zuTableList.value) { |
| 622 | // serviceFeeTotal.value = serviceFeeTotal.value + Number(z.project.serviceFee) | 657 | // serviceFeeTotal.value = serviceFeeTotal.value + Number(z.project.serviceFee) |
| ... | @@ -627,23 +662,29 @@ function getSignList() { | ... | @@ -627,23 +662,29 @@ function getSignList() { |
| 627 | } | 662 | } |
| 628 | 663 | ||
| 629 | const serviceFee = Number(z.project.serviceFee) || 0 | 664 | const serviceFee = Number(z.project.serviceFee) || 0 |
| 665 | const serviceFeeEn = Number(z.project.serviceFeeEn) || 0 | ||
| 630 | 666 | ||
| 631 | const chargeType = String(z.project.chargeType).trim() | 667 | const chargeType = String(z.project.chargeType).trim() |
| 632 | 668 | ||
| 633 | let currentItemFee = 0 | 669 | let currentItemFee = 0 |
| 634 | if (chargeType === '0') { | 670 | let currentItemFeeEn = 0 |
| 671 | |||
| 672 | if (chargeType === '0') { // 0 按项目收费 1按人数收费 | ||
| 635 | currentItemFee = serviceFee | 673 | currentItemFee = serviceFee |
| 674 | currentItemFeeEn = serviceFeeEn | ||
| 636 | } else if (chargeType === '1') { | 675 | } else if (chargeType === '1') { |
| 637 | const athletesLength = z.athletes?.length || 0 | 676 | const athletesLength = z.athletes?.length || 0 |
| 638 | currentItemFee = serviceFee * athletesLength | 677 | currentItemFee = serviceFee * athletesLength |
| 678 | currentItemFeeEn = serviceFeeEn * athletesLength | ||
| 639 | } else { | 679 | } else { |
| 640 | currentItemFee = 0 | 680 | currentItemFee = 0 |
| 681 | currentItemFeeEn = 0 | ||
| 641 | } | 682 | } |
| 642 | |||
| 643 | serviceFeeTotal.value += currentItemFee | 683 | serviceFeeTotal.value += currentItemFee |
| 684 | serviceFeeTotalEn.value += currentItemFeeEn | ||
| 644 | } | 685 | } |
| 645 | serviceFeeTotal.value = serviceFeeTotal.value.toFixed(2) | 686 | serviceFeeTotal.value = serviceFeeTotal.value.toFixed(2) |
| 646 | console.log(6666, signInfoList.value) | 687 | serviceFeeTotalEn.value = serviceFeeTotalEn.value.toFixed(2) |
| 647 | }).catch(err => { | 688 | }).catch(err => { |
| 648 | console.log(err) | 689 | console.log(err) |
| 649 | if (isLogin.value) { | 690 | if (isLogin.value) { | ... | ... |
| ... | @@ -55,7 +55,9 @@ | ... | @@ -55,7 +55,9 @@ |
| 55 | :list="signInfoList" | 55 | :list="signInfoList" |
| 56 | :match-id="matchId" | 56 | :match-id="matchId" |
| 57 | :show-summary="route.query.buy=='1'" | 57 | :show-summary="route.query.buy=='1'" |
| 58 | :total="signTotal" class="mt20" | 58 | :total="language==0? signTotal:signTotalEn" |
| 59 | class="mt20" | ||
| 60 | :pay-type="language==1?3:4" | ||
| 59 | /> | 61 | /> |
| 60 | </div> | 62 | </div> |
| 61 | <div class="mt20"> | 63 | <div class="mt20"> |
| ... | @@ -71,7 +73,8 @@ | ... | @@ -71,7 +73,8 @@ |
| 71 | :has-action="false" | 73 | :has-action="false" |
| 72 | :list="zuTableList" | 74 | :list="zuTableList" |
| 73 | :show-summary="true" | 75 | :show-summary="true" |
| 74 | :total="zuTotal" | 76 | :total="language==0? zuTotal:zuTotalEn" |
| 77 | :pay-type="language==1?3:4" | ||
| 75 | class="mt20" | 78 | class="mt20" |
| 76 | /> | 79 | /> |
| 77 | </div> | 80 | </div> |
| ... | @@ -171,7 +174,9 @@ const signInfoList = ref([]) | ... | @@ -171,7 +174,9 @@ const signInfoList = ref([]) |
| 171 | const signEndTime = ref('') | 174 | const signEndTime = ref('') |
| 172 | const zuTableList = ref([]) | 175 | const zuTableList = ref([]) |
| 173 | const zuTotal = ref(0) | 176 | const zuTotal = ref(0) |
| 177 | const zuTotalEn = ref(0) | ||
| 174 | const signTotal = ref(0) | 178 | const signTotal = ref(0) |
| 179 | const signTotalEn = ref(0) | ||
| 175 | const groupId = ref(route.query.groupId || 0) | 180 | const groupId = ref(route.query.groupId || 0) |
| 176 | const matchId = ref(route.query.matchId) | 181 | const matchId = ref(route.query.matchId) |
| 177 | const isNational = ref(route.query.isNational || false) | 182 | const isNational = ref(route.query.isNational || false) |
| ... | @@ -215,41 +220,51 @@ function getMyMemberTable() { | ... | @@ -215,41 +220,51 @@ function getMyMemberTable() { |
| 215 | function getSignList() { | 220 | function getSignList() { |
| 216 | match.getMySignInfoList(zuQuery.value).then(res => { | 221 | match.getMySignInfoList(zuQuery.value).then(res => { |
| 217 | zuTotal.value = 0 | 222 | zuTotal.value = 0 |
| 223 | zuTotalEn.value = 0 | ||
| 218 | signTotal.value = 0 | 224 | signTotal.value = 0 |
| 225 | signTotalEn.value = 0 | ||
| 219 | signInfoList.value = res.data.singleData | 226 | signInfoList.value = res.data.singleData |
| 220 | console.log(signInfoList.value) | 227 | console.log(signInfoList.value) |
| 221 | zuTableList.value = res.data.zuData | 228 | zuTableList.value = res.data.zuData |
| 222 | for (var s of signInfoList.value) { | 229 | for (var s of signInfoList.value) { |
| 223 | signTotal.value = (Number(signTotal.value) + Number(s.insuranceFee)).toFixed(2) | 230 | signTotal.value = (Number(signTotal.value) + Number(s.insuranceFee)).toFixed(2) |
| 231 | signTotalEn.value = (Number(signTotalEn.value) + Number(s.insuranceFeeEn)).toFixed(2) | ||
| 224 | } | 232 | } |
| 225 | 233 | ||
| 226 | // for (var z of zuTableList.value) { | 234 | // for (var z of zuTableList.value) { |
| 227 | // zuTotal.value = (Number(zuTotal.value) + Number(z.project.serviceFee)).toFixed(2) | 235 | // zuTotal.value = (Number(zuTotal.value) + Number(z.project.serviceFee)).toFixed(2) |
| 228 | // } | 236 | // } |
| 229 | 237 | ||
| 230 | 238 | ||
| 231 | for (const z of zuTableList.value) { | 239 | for (const z of zuTableList.value) { |
| 232 | if (!z.project) { | 240 | if (!z.project) { |
| 233 | continue; | 241 | continue |
| 234 | } | 242 | } |
| 235 | 243 | ||
| 236 | const serviceFee = Number(z.project.serviceFee) || 0; | 244 | const serviceFee = Number(z.project.serviceFee) || 0 |
| 245 | const serviceFeeEn = Number(z.project.serviceFeeEn) || 0 | ||
| 237 | 246 | ||
| 238 | const chargeType = String(z.project.chargeType).trim(); | 247 | const chargeType = String(z.project.chargeType).trim() |
| 239 | 248 | ||
| 240 | let currentItemFee = 0; | 249 | let currentItemFee = 0 |
| 250 | let currentItemFeeEn = 0 | ||
| 241 | if (chargeType === '0') { | 251 | if (chargeType === '0') { |
| 242 | currentItemFee = serviceFee; | 252 | currentItemFee = serviceFee |
| 253 | currentItemFeeEn = serviceFeeEn | ||
| 243 | } else if (chargeType === '1') { | 254 | } else if (chargeType === '1') { |
| 244 | const athletesLength = z.athletes?.length || 0; | 255 | const athletesLength = z.athletes?.length || 0 |
| 245 | currentItemFee = serviceFee * athletesLength; | 256 | currentItemFee = serviceFee * athletesLength |
| 257 | currentItemFeeEn = serviceFeeEn * athletesLength | ||
| 246 | } else { | 258 | } else { |
| 247 | currentItemFee = 0; | 259 | currentItemFee = 0 |
| 260 | currentItemFeeEn = 0 | ||
| 248 | } | 261 | } |
| 249 | 262 | ||
| 250 | zuTotal.value += currentItemFee; | 263 | zuTotal.value += currentItemFee |
| 264 | zuTotalEn.value += currentItemFeeEn | ||
| 251 | } | 265 | } |
| 252 | zuTotal.value = zuTotal.value.toFixed(2); | 266 | zuTotal.value = zuTotal.value.toFixed(2) |
| 267 | zuTotalEn.value = zuTotalEn.value.toFixed(2) | ||
| 253 | }) | 268 | }) |
| 254 | } | 269 | } |
| 255 | 270 | ... | ... |
-
Please register or sign in to post a comment