affix-invitation-view.vue 4.21 KB
<template>
  <el-dialog
    v-model="show" append-to-body center close-icon="CircleClose" close-on-click-modal
    destroy-on-close title="Visa Invitation Letter" 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 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/>
    <el-table :data="visaList" 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>
  </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 lang="scss" scoped>

</style>