affix-invitation-view.vue
3.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<template>
<el-dialog
v-model="show" title="Visa Invitation Letter" append-to-body close-icon="CircleClose" center
close-on-click-modal destroy-on-close width="1100"
>
<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="Do you need a Chinese invitation?">{{
form.chinese == '1' ? 'YES' : 'No'
}}
</el-descriptions-item>
<el-descriptions-item label="MNA/Team Name">{{ form.nameEn }}</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 Visas 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" target="_blank" :href="fillImgUrl(form.invitationFile)" type="primary">
proof of employment
</el-link>
</el-descriptions-item>
</el-descriptions>
<!-- <el-divider></el-divider>-->
<br/>
<el-table :data="visaList" border stripe>
<el-table-column prop="passportCopy" label="Passport Copy">
<template #default="{row}">
<el-image
:src="fillImgUrl(row.passportCopy)"
:preview-src-list="[fillImgUrl(row.passportCopy)]"
:preview-teleported="true"
style="width: 50px;height: 70px"
/>
</template>
</el-table-column>
<el-table-column label="position" align="center" prop="position"/>
<el-table-column label="lastName" align="center" prop="lastName"/>
<el-table-column label="firstName" align="center" prop="fristName"/>
<el-table-column prop="sex" label="Gender" align="center">
<template #default="{row}">
{{ row.sex == '0' ? 'M' : 'F' }}
</template>
</el-table-column>
<el-table-column label="nationality" align="center" prop="nationality"/>
<el-table-column label="birthday" align="center" prop="birthday"/>
<el-table-column label="Passport No." align="center" prop="passportNo"/>
<el-table-column label="DATE OF ISSUE" align="center" prop="issueDate"/>
<el-table-column label="DATE OF EXPIRY" align="center" prop="expiryDate"/>
</el-table>
</el-dialog>
</template>
<script setup>
import {useStorage} from "@vueuse/core/index";
import {getCurrentInstance, ref} from "vue";
import {listVisaInfo} from "@/apiPc/match";
import useUserStore from "@/store/modules/user";
import {fillImgUrl} from "/@/utils/ruoyi";
const user = useUserStore().user
const {proxy} = getCurrentInstance()
const language = useStorage('language', 0)
const form = ref({
gender: '0',
cptVisaInfoBos: [],
email: user?.email,
})
const show = ref(false)
const visaList = ref([])
const open = (params) => {
show.value = true
form.value = params
listVisaInfo({visaId: params.id})
.then((res) => {
visaList.value = res.rows
})
}
defineExpose({open})
</script>
<style scoped lang="scss">
</style>