From 9506218e2e3fb8da9119f5a30247951baf14f216 Mon Sep 17 00:00:00 2001 From: zhangdi <1104545947@qq.com> Date: Tue, 9 Jun 2026 18:34:31 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/firstOrder/components/inDialog.vue | 45 ++++++++++++++++---- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/src/views/firstOrder/components/inDialog.vue b/src/views/firstOrder/components/inDialog.vue index 3245614..2db403b 100644 --- a/src/views/firstOrder/components/inDialog.vue +++ b/src/views/firstOrder/components/inDialog.vue @@ -57,10 +57,12 @@ - + + 点击上传
只能上传 jpg/png/pdf 文件,且单个文件不超过 6MB
@@ -296,6 +298,7 @@ import { getStatistics, } from "@/api/firstOrder/inbound"; import { mapGetters } from "vuex"; +import request from '@/router/axios'; // 引入你项目中封装了拦截器的 axios 实例 export default { props: { @@ -375,6 +378,32 @@ export default { this.sizeForm.userInfoVO = this.userInfo; }, methods: { + customUpload(param) { + const formData = new FormData(); + // 注意:后端接收文件的字段名通常是 'file',请根据后端接口要求修改 + formData.append('file', param.file); + + // 使用封装的 request (axios) 发起请求 + // 这样就会自动带上 Header 中的 Token,并经过响应拦截器 + request({ + url: '/smartparkAPP/ld-person-form/upload', // 你的上传接口地址 + method: 'post', + data: formData, + headers: { + 'Content-Type': 'multipart/form-data' + } + }).then(res => { + // 模拟 el-upload 的成功回调逻辑 + // 注意:这里需要根据你后端返回的结构,构造一个让 el-upload 认为成功的响应 + // if (res.code === 200 || res.success) { + param.onSuccess(res, param.file); + // } else { + // param.onError(new Error(res.message || '上传失败')); + // } + }).catch(err => { + param.onError(err); + }); + }, handleRemove(file, fileList) { console.log(file, fileList); this.fileList = fileList; @@ -387,7 +416,7 @@ export default { // 如果需要携带 Token,且后端支持 URL 参数传参,可以拼接 Token // const token = this.$store.getters.access_token; // const previewUrl = `${fileUrl}?token=${token}`; - + // 大多数情况下,OSS 或静态资源服务器是公开读的,直接打开即可 window.open(fileUrl, '_blank'); }, @@ -534,20 +563,20 @@ export default { const res = await editList(this.id); const { ldOnePutStorage, ldOnePutStorageDetailList = [] } = res.data.result || {}; - if(ldOnePutStorage.onePutStorageFilesList&&ldOnePutStorage.onePutStorageFilesList.length>0){ + if (ldOnePutStorage.onePutStorageFilesList && ldOnePutStorage.onePutStorageFilesList.length > 0) { this.fileList = ldOnePutStorage.onePutStorageFilesList.map(item => { return { name: item.fileName || '未知文件', // 必须:显示在列表中的文件名 url: item.picture, // 必须:用于预览和下载的地址 uid: item.mediaId || Date.now(), // 推荐:唯一标识,防止重复 // 保留原始数据,方便提交时使用 - ...item + ...item }; }); } else { this.fileList = []; } - + if (!ldOnePutStorage) { this.$message.error("回显数据异常"); return;