Просмотр исходного кода

Merge branch 'dev' of https://git.citupro.com/zhengnaiwen_citu/menduner into dev

Xiao_123 4 месяцев назад
Родитель
Сommit
4878e5803b

+ 59 - 3
src/views/recruit/personal/PersonalCenter/resume/attachment/index.vue

@@ -6,7 +6,46 @@
     </div>
     <p class="font-size-14 color-999">最多只能上传5份附件简历</p>
     <div v-if="attachmentList.length" class="mt-5">
-      <div
+      <table style="width: 100%;">
+        <tr>
+          <th>名称</th>
+          <th>文件类型</th>
+          <th>上传时间</th>
+          <th>操作</th>
+        </tr>
+        <tr
+          v-for="(k, i) in attachmentList" :key="i"
+          :class="['mx-n2', 'px-2']"
+          @click.self="checkboxClick(i, !k.choose)"
+        >
+          <td>
+            <div class="d-flex flex" style="max-width: 250px;">
+              <v-checkbox-btn
+                v-if="props.analysis"
+                v-model="k.choose"
+                :label="k.title"
+                color="primary"
+                class="pe-2"
+                style="color: #333;"
+                @update:modelValue="bool => checkboxClick(i, bool)"
+              ></v-checkbox-btn>
+              <!-- <span @click="checkboxClick(i, !k.choose)">{{ k.title }}</span> -->
+              <span v-else>{{ k.title }}</span>
+            </div>
+          </td>
+          <td style="text-align: center;">.{{ k.fileType }}</td>
+          <td style="text-align: center;">{{ timesTampChange(k.createTime, 'Y-M-D h:m') }}</td>
+          <td style="text-align: center; width: 268px;">
+            <div>
+              <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-arrow-down-bold-outline" @click="handleDownload(k)">下载</v-btn>
+              <v-btn variant="text" color="primary" prepend-icon="mdi-trash-can-outline" @click="handleDelete(k)">{{ $t('common.delete') }}</v-btn>
+            </div>
+          </td>
+        </tr>
+      </table>
+
+      <!-- <div
         :class="['position-item', 'mx-n2', 'px-2']" 
         v-for="(k, i) in attachmentList" 
         :key="i" 
@@ -23,7 +62,8 @@
           <v-btn variant="text" color="primary" prepend-icon="mdi-arrow-down-bold-outline" @click="handleDownload(k)">下载</v-btn>
           <v-btn variant="text" color="primary" prepend-icon="mdi-trash-can-outline" @click="handleDelete(k)">{{ $t('common.delete') }}</v-btn>
         </div>
-      </div>
+      </div> -->
+
       <div v-if="props.analysis" class="d-flex  flex-column align-center mt-15">
         <v-btn class="buttons" color="primary" @click="handleAnalysis">开始解析</v-btn>
         <v-btn class="mt-2" variant="text" color="primary" to="/recruit/personal/personalCenter/resume/online">返回在线简历</v-btn>
@@ -59,6 +99,7 @@ import Confirm from '@/plugins/confirm'
 import { useI18n } from '@/hooks/web/useI18n'
 import { getPersonResumeCv, deletePersonResumeCv, savePersonResumeCv } from '@/api/recruit/personal/resume'
 import { getBlob, saveAs, previewFile } from '@/utils'
+import { timesTampChange } from '@/utils/date'
 
 const emit = defineEmits(['analysis'])
 const props = defineProps({
@@ -98,7 +139,14 @@ const formItems = ref({
 const attachmentList = ref([])
 const getList = async () => {
   const data = await getPersonResumeCv()
-  attachmentList.value = data
+  attachmentList.value = data.map(item => {
+    const list = item.url.split('.')
+    const fileType = list?.length ? list[list.length-1] : null
+    return {
+      ...item,
+      fileType
+    }
+  })
 }
 getList()
 
@@ -198,4 +246,12 @@ const handleAnalysis = () => {
   left: 50%;
   transform: translate(-50%, -50%);
 }
+th {
+  height: 40px;
+  color: grey;
+}
+:deep(.v-label) {
+  // color: #333 !important;
+  opacity: 1;
+}
 </style>