|
@@ -2,10 +2,23 @@
|
|
|
<div class="resume-box" style="position: relative; height: 100%;">
|
|
|
<div class="resume-header">
|
|
|
<div class="resume-title">简历模板下载</div>
|
|
|
- <v-btn :disabled="!url" variant="text" color="primary" prepend-icon="mdi-export-variant" @click="handleExport">下载</v-btn>
|
|
|
</div>
|
|
|
<div style="height: calc(100% - 58px); width: 100%;" class="mt-3">
|
|
|
- <iframe v-if="url" id="mapPage" width="100%" height="100%" frameborder="0" :src="url"></iframe>
|
|
|
+ <div v-if="list.length" class="mt-5">
|
|
|
+ <div
|
|
|
+ :class="['position-item', 'mx-n2', 'px-2']"
|
|
|
+ v-for="(k, i) in list"
|
|
|
+ :key="i"
|
|
|
+ @mouseenter="k.active = true"
|
|
|
+ @mouseleave="k.active = false"
|
|
|
+ >
|
|
|
+ <div>{{ k.title }}</div>
|
|
|
+ <div class="float-right" v-if="k.active">
|
|
|
+ <v-btn variant="text" color="primary" prepend-icon="mdi-eye-outline" @click="previewFile(k.url)">预览</v-btn>
|
|
|
+ <v-btn variant="text" color="primary" prepend-icon="mdi-square-edit-outline" @click="handleDownload(k)">下载</v-btn>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<div v-else class="mt-8">
|
|
|
<span class="color-error">
|
|
|
简历模板为会员福利内容,<span class="text-decoration-underline cursor-pointer" @click="goBuy">去购买</span>
|
|
@@ -18,22 +31,26 @@
|
|
|
<script setup>
|
|
|
import { ref } from 'vue'
|
|
|
defineOptions({name: 'resume-template'})
|
|
|
-import download from '@/utils/download'
|
|
|
+import { previewFile, getBlob, saveAs } from '@/utils'
|
|
|
import { useRouter } from 'vue-router'; const router = useRouter()
|
|
|
-import { savePersonResumeCv } from '@/api/recruit/personal/resume'
|
|
|
+import { getPersonResumeCv } from '@/api/recruit/personal/resume'
|
|
|
+
|
|
|
+// 获取附件
|
|
|
+const attachmentList = ref([])
|
|
|
+const getList = async () => {
|
|
|
+ const data = await getPersonResumeCv()
|
|
|
+ attachmentList.value = data
|
|
|
+}
|
|
|
+getList()
|
|
|
|
|
|
-const exportLoading = ref(false)
|
|
|
-const handleExport = async () => {
|
|
|
- exportLoading.value = true
|
|
|
- try {
|
|
|
- const data = await savePersonResumeCv()
|
|
|
- download.excel(data, '众聘职位列表.xlsx')
|
|
|
- } finally {
|
|
|
- exportLoading.value = false
|
|
|
- }
|
|
|
+// 下载附件
|
|
|
+const handleDownload = (k) => {
|
|
|
+ getBlob(k.url).then(blob => {
|
|
|
+ saveAs(blob, k.title)
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
-const url = ref('')
|
|
|
+const list = ref([])
|
|
|
const goBuy = () => {
|
|
|
router.push('/recruit/personal/personalCenter/memberBenefits/membershipPackage')
|
|
|
}
|