|
@@ -102,23 +102,24 @@
|
|
|
ref="uploadRef"
|
|
|
v-model:file-list="fileList"
|
|
|
:action="uploadUrl"
|
|
|
- :auto-upload="false"
|
|
|
+ :auto-upload="true"
|
|
|
:data="fileData"
|
|
|
+ :before-upload="beforeUpload"
|
|
|
:on-change="handleChange"
|
|
|
:on-error="submitFormError"
|
|
|
:on-exceed="handleExceed"
|
|
|
:http-request="httpRequest"
|
|
|
- accept=".pdf"
|
|
|
+ :accept="fileUploadType"
|
|
|
drag
|
|
|
- :limit="5"
|
|
|
+ :limit="fileUploadLimit"
|
|
|
multiple
|
|
|
class="flex-1"
|
|
|
>
|
|
|
<i class="el-icon-upload"></i>
|
|
|
- <div class="el-upload__text">仅允许导入PDF格式文件! 将文件拖到此处,或 <em>点击上传</em></div>
|
|
|
+ <div class="el-upload__text">仅允许导入{{ fileUploadType }}格式文件! 将文件拖到此处,或 <em>点击上传</em></div>
|
|
|
<template #tip>
|
|
|
<div class="el-upload__tip color-red">
|
|
|
- 提示:最多可上传5份简历({{ fileList.length }}/5)
|
|
|
+ 提示:最多可上传{{ fileUploadLimit }}份简历({{ fileList.length }}/{{ fileUploadLimit }})
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-upload>
|
|
@@ -128,11 +129,11 @@
|
|
|
<UploadImgs
|
|
|
v-model="cardImgUrl"
|
|
|
:uploadSuccessTip="false"
|
|
|
- :limit="5"
|
|
|
+ :limit="cardUploadLimit"
|
|
|
@handle-change="cardUploadChange"
|
|
|
height="150px" width="150px" style="margin: 20px auto; text-align: center;"
|
|
|
>
|
|
|
- <template #tip>{{ cardImgUrl ? `${cardImgUrl.length}/5` : '请上传名片(最多可上传5张)' }}</template>
|
|
|
+ <template #tip>{{ cardImgUrl ? `${cardImgUrl.length}/${cardUploadLimit}` : `请上传名片(最多可上传${cardUploadLimit}张)` }}</template>
|
|
|
</UploadImgs>
|
|
|
</template>
|
|
|
<!-- 杂项 -->
|
|
@@ -191,6 +192,9 @@ const { uploadUrl, httpRequest } = useUpload()
|
|
|
const message = useMessage() // 消息弹窗
|
|
|
const { t } = useI18n() // 国际化
|
|
|
|
|
|
+const cardUploadLimit = 5
|
|
|
+const fileUploadLimit = 3
|
|
|
+const fileUploadType = '.pdf'
|
|
|
const loading = ref(false) // 列表的加载中
|
|
|
const list = ref([]) // 列表的数据
|
|
|
const total = ref(0) // 列表的总页数
|
|
@@ -374,11 +378,26 @@ const handleChange = async (file) => {
|
|
|
fileData.value.path = file.name
|
|
|
unref(uploadRef)?.submit()
|
|
|
}
|
|
|
+
|
|
|
+const beforeUpload = (file) => {
|
|
|
+ let fileExtension = ''
|
|
|
+ if (file.name.lastIndexOf('.') > -1) {
|
|
|
+ fileExtension = file.name.slice(file.name.lastIndexOf('.') + 1)
|
|
|
+ }
|
|
|
+ const isImg = [fileUploadType.split('.')[1]].some((type) => {
|
|
|
+ if (file.type.indexOf(type) > -1) return true
|
|
|
+ return !!(fileExtension && fileExtension.indexOf(type) > -1)
|
|
|
+ })
|
|
|
+ if (!isImg) {
|
|
|
+ message.error(`文件格式不正确, 请上传${fileUploadType}格式!`)
|
|
|
+ return false
|
|
|
+ }
|
|
|
+}
|
|
|
const submitFormError = () => {
|
|
|
message.error('上传失败,请您重新上传!')
|
|
|
}
|
|
|
const handleExceed = () => {
|
|
|
- message.error('最多只能上传一个文件!')
|
|
|
+ message.error(`最多只能上传${fileUploadLimit}个文件!`)
|
|
|
}
|
|
|
|
|
|
// 名片解析
|