lifanagju_citu 7 månader sedan
förälder
incheckning
f1a1e36f89
1 ändrade filer med 31 tillägg och 14 borttagningar
  1. 31 14
      src/views/recruit/personal/PersonalCenter/resume/template/index.vue

+ 31 - 14
src/views/recruit/personal/PersonalCenter/resume/template/index.vue

@@ -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')
 }