d7fa7cbe by zhangmeng

世锦赛

1 parent 1418e350
......@@ -156,7 +156,8 @@
<el-table-column :label="language==0?'入境日期':'Date ofEntrye'" prop="" width="130px">
<template #header>
<div class="esp">
<span class="red">*</span>Date ofEntrye
<span class="red">*</span>Date ofEntrye <br>
<span class="red">&nbsp; YYYY-MM-DD</span>
</div>
</template>
<template #default="scope">
......@@ -173,7 +174,8 @@
<el-table-column :label="language==0?'离境日期':'Date ofDeparture'" prop="" width="130px">
<template #header>
<div class="esp">
<span class="red">*</span>Date ofDeparture
<span class="red">*</span>Date ofDeparture <br>
<span class="red">&nbsp; YYYY-MM-DD</span>
</div>
</template>
<template #default="scope">
......@@ -268,15 +270,15 @@
</template>
<template #default="scope">
<el-select v-model="scope.row.nationality" filterable size="small">
<el-option v-for="item in countrys" :key="item.id" :label="item.noc"
:value="item.id"/>
<el-option v-for="item in countrys" :key="item.id" :label="item.noc" :value="item.noc"/>
</el-select>
</template>
</el-table-column>
<el-table-column :label="language==0?'出生日期':'Birth'" prop="birth" width="130px">
<template #header>
<div class="esp">
<span class="red">*</span>Birth
<span class="red">*</span>Birth <br>
<span class="red">&nbsp; YYYY-MM-DD</span>
</div>
</template>
<template #default="scope">
......@@ -301,7 +303,8 @@
<el-table-column :label="language==0?'护照签发日':'DATE OF ISSUE'" prop="expiryDate" width="130px">
<template #header>
<div class="esp">
<span class="red">*</span>DATE OF ISSUE
<span class="red">*</span>DATE OF ISSUE <br>
<span class="red">&nbsp; YYYY-MM-DD</span>
</div>
</template>
<template #default="scope">
......@@ -315,7 +318,8 @@
<el-table-column :label="language==0?'护照过期日':'DATE OF EXPIRY'" prop="arrival" width="130px">
<template #header>
<div class="esp">
<span class="red">*</span>DATE OF EXPIRY
<span class="red">*</span>DATE OF EXPIRY <br>
<span class="red">&nbsp; YYYY-MM-DD</span>
</div>
</template>
<template #default="scope">
......@@ -347,12 +351,13 @@
</el-form-item>
<el-form-item>
<el-checkbox v-model="form.check" style="pointer-events: none"/>
<el-link style="margin-left: 5px" type="primary" @click="showCheck=!showCheck">{{
<el-link style="margin-left: 5px" type="primary" @click="handelAffixInvitationDialog">{{
language == 0 ? '我确认所提供的资料是正确的' : 'I confirm that the information provided is correct'
}}
</el-link>
</el-form-item>
<div class="text-center">
<el-button :disabled="!cptId" class="btn-lineG" round size="large" type="primary" @click="submit">
{{ language == 0 ? '提交' : 'SUBMIT' }}
......@@ -361,24 +366,7 @@
</el-form>
</div>
<el-dialog
v-model="showCheck"
append-to-body center
class="pcloginpop"
destroy-on-close
style="min-width: 300px;max-width: 600px"
>
<p style="font-size: 16px">
Passport information has been auto-recognized.Please double-check carefully, as errors may occur.Edit if
necessary
before submission.
</p>
<br>
<p style="text-align: center">
<el-button type="primary" @click="handelSubmit">Confrm</el-button>
</p>
<br>
</el-dialog>
<affixInvitationDialog ref="affixInvitationDialogRef" @success="handelSuccess"/>
</el-dialog>
</template>
......@@ -400,6 +388,8 @@ import ImageUpload from '@/components/ImageUpload/index.vue'
import useUserStore from "@/store/modules/user";
import _ from 'lodash'
import FileUpload from "@/components/FileUpload";
import affixInvitationDialog from './affixInvitationDialog.vue'
import {fillImgUrl} from "/@/utils/ruoyi";
const emit = defineEmits(['refresh'])
const user = useUserStore().user
......@@ -505,11 +495,15 @@ function getMNAList() {
})
}
function handelSubmit() {
function handelSuccess() {
showCheck.value = false
form.value.check = true
}
function handelAffixInvitationDialog() {
proxy.$refs['affixInvitationDialogRef'].open(form.value)
}
const submit = async () => {
console.log(form.value.check)
if (form.value.email?.indexOf('@') == -1) {
......@@ -551,7 +545,7 @@ const submit = async () => {
}
await proxy.$refs.iformRef.validate()
if (!form.value.check) {
showCheck.value = true
handelAffixInvitationDialog()
return
}
await ElMessageBox.confirm(
......@@ -656,6 +650,11 @@ function changeApplicatType() {
})
}
function associationCodeFind(id) {
const obj = mnaList.value.find(v => v.code == id)
if (obj) return obj.nameEn
}
</script>
<style lang="scss" scoped>
......
<template>
<el-dialog
v-model="show"
append-to-body center
class="pcloginpop"
destroy-on-close
style="min-width: 350px;"
>
<div>
<el-descriptions border>
<el-descriptions-item label="No.">{{ form.id }}</el-descriptions-item>
<el-descriptions-item label="Applicant Type">{{
form.remarks || form.applicatTypeName
}}
</el-descriptions-item>
<el-descriptions-item label="Invitation Type">{{ form.invitationTypeName }}</el-descriptions-item>
<el-descriptions-item label="MNA/Team Name">
{{ associationCodeFind(form.associationCode) }}
</el-descriptions-item>
<el-descriptions-item label="MNA/Team Address">{{ form.associationAddress }}</el-descriptions-item>
<el-descriptions-item label="Contact Email">{{ form.email }}</el-descriptions-item>
<el-descriptions-item label="Full Name">{{ form.fullName }}</el-descriptions-item>
<el-descriptions-item label="Position">{{ form.remarks1 || form.positionName }}</el-descriptions-item>
<el-descriptions-item label="Phone">{{ form.phone }}</el-descriptions-item>
<el-descriptions-item label="Chinese Embassy Visa Office">{{ form.embassy }}</el-descriptions-item>
<el-descriptions-item label="Chinese Embassy Email">{{ form.embassyEmail }}</el-descriptions-item>
<el-descriptions-item label="Additional Documents">
<el-link v-if="form.files" :href="fillImgUrl(form.files)" target="_blank" type="primary">
additional documents
</el-link>
</el-descriptions-item>
<el-descriptions-item label="Proof of Employment">
<el-link v-if="form.invitationFile" :href="fillImgUrl(form.invitationFile)" target="_blank"
type="primary">
proof of employment
</el-link>
</el-descriptions-item>
<el-descriptions-item label="Remarks">{{ form.remarks3 }}</el-descriptions-item>
</el-descriptions>
<!-- <el-divider></el-divider>-->
<br/>
<div v-if="form.cptVisaInfoBos?.length>0">
<el-table :data="form.cptVisaInfoBos" border stripe>
<el-table-column label="Passport Copy" prop="passportCopy">
<template #default="{row}">
<el-image
:preview-src-list="[fillImgUrl(row.passportCopy)]"
:preview-teleported="true"
:src="fillImgUrl(row.passportCopy)"
style="width: 50px;height: 70px"
/>
</template>
</el-table-column>
<el-table-column align="center" label="Date ofEntrye" prop="entryDate"/>
<el-table-column align="center" label="Date ofDeparture" prop="departureDate"/>
<el-table-column align="center" label="position" prop="position"/>
<el-table-column align="center" label="lastName" prop="lastName"/>
<el-table-column align="center" label="firstName" prop="fristName"/>
<el-table-column align="center" label="Gender" prop="sex">
<template #default="{row}">
{{ row.sex == '0' ? 'M' : 'F' }}
</template>
</el-table-column>
<el-table-column align="center" label="nationality" prop="nationality"/>
<el-table-column align="center" label="birthday" prop="birthday"/>
<el-table-column align="center" label="Passport No." prop="passportNo"/>
<el-table-column align="center" label="DATE OF ISSUE" prop="issueDate"/>
<el-table-column align="center" label="DATE OF EXPIRY" prop="expiryDate"/>
</el-table>
</div>
</div>
<p class="red" style="font-size: 16px">
Passport information has been auto-recognized.Please double-check carefully, as errors may occur.Edit if
necessary
before submission.
</p>
<br>
<p style="text-align: center">
<el-button type="primary" @click="handelSubmit">Confrm</el-button>
</p>
<br>
</el-dialog>
</template>
<script setup>
import {useStorage} from "@vueuse/core/index";
import {getCurrentInstance, ref} from "vue";
import {
associationList,
} from "@/apiPc/match";
import useUserStore from "@/store/modules/user";
import _ from 'lodash'
import {fillImgUrl} from "/@/utils/ruoyi";
const emit = defineEmits(['refresh'])
const user = useUserStore().user
const {proxy} = getCurrentInstance()
const language = useStorage('language', 0)
const form = ref({
gender: '0',
chinese: '0',
cptVisaInfoBos: [],
email: user?.email,
})
const show = ref(false)
const mnaList = ref([])
const open = (params) => {
show.value = true
form.value = params
getMNAList()
}
defineExpose({
open,
})
function getMNAList() {
associationList().then(res => {
mnaList.value = res.data
})
}
function handelSubmit() {
show.value = false
form.value.check = true
}
function associationCodeFind(id) {
const obj = mnaList.value.find(v => v.code == id)
if (obj) return obj.nameEn
}
</script>
<style lang="scss" scoped>
.red {
color: red !important;
}
:deep(.el-upload--picture-card) {
--el-upload-picture-card-size: 60px;
}
.tip {
font-size: 12px;
}
.boxInvitation {
width: 96%;
margin: 20px auto 0;
}
h4 {
font-size: 15px;
line-height: 1.6;
}
.cptVisaInfoBosTable {
padding: 10px;
margin-bottom: 20px;
border: 1px dashed #ebeef5;
:deep(.el-table .el-table__header-wrapper th) {
font-size: 12px;
}
}
.wrap-item {
flex-wrap: wrap;
display: block;
}
.codeBtn {
background-color: #0540EC !important;
color: #fff !important;
}
</style>
......@@ -83,9 +83,9 @@ export default defineConfig(({mode, command}) => {
rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
},
'/dev-api': {
target: 'http://192.168.1.118:8082/',
// target: 'http://192.168.1.118:8082/',
// target: 'http://192.168.1.131:8081/',
// target: 'https://tk005.wxjylt.com/stage-api',
target: 'https://tk005.wxjylt.com/stage-api',
// target: 'http://124.70.181.90:1880/stage-api',
// target: 'https://sys.2025wtcwuxi.com/stage-api/',
changeOrigin: true,
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!