From 1afd8c0963f8df0c280f8fc1787d8bc615a1a72f Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 12 五月 2025 17:10:27 +0800
Subject: [PATCH] 销售台账-新增的附件上传逻辑
---
src/api/salesManagement/salesLedger.js | 9 +++++++++
src/views/salesManagement/salesLedger/index.vue | 37 +++++++++++++++++++++++--------------
2 files changed, 32 insertions(+), 14 deletions(-)
diff --git a/src/api/salesManagement/salesLedger.js b/src/api/salesManagement/salesLedger.js
index dfd4243..f9ed4d1 100644
--- a/src/api/salesManagement/salesLedger.js
+++ b/src/api/salesManagement/salesLedger.js
@@ -65,6 +65,15 @@
data: query
})
}
+// 涓婁紶闄勪欢
+export function upload(query) {
+ return request({
+ url: '/file/upload',
+ method: 'post',
+ data: query,
+ responseType: 'blob'
+ })
+}
// 閿�鍞笉鍒嗛〉鏌ヨ
export function ledgerListNoPage(query) {
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index ae8fee4..04bc2c2 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -159,11 +159,12 @@
<el-col :span="24">
<el-form-item label="闄勪欢鏉愭枡路锛�" prop="remark">
<el-upload
- :file-list="fileList"
- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
+ v-model:file-list="fileList"
+ :action="upload.url"
multiple
ref="fileUpload"
- :headers="proxy.uploadHeader"
+ auto-upload
+ :headers="upload.headers"
:before-upload="handleBeforeUpload"
:on-error="handleUploadError"
:on-success="handleUploadSuccess"
@@ -268,6 +269,7 @@
</template>
<script setup>
+import { getToken } from "@/utils/auth"
import pagination from '@/components/PIMTable/Pagination.vue'
import { ref } from 'vue'
import {Search} from "@element-plus/icons-vue";
@@ -294,7 +296,6 @@
})
const total = ref(0)
const fileList = ref([])
-const uploadList = ref([])
// 鐢ㄦ埛淇℃伅琛ㄥ崟寮规鏁版嵁
const operationType = ref('')
@@ -353,6 +354,12 @@
}
})
const { productForm, productRules } = toRefs(productFormData)
+const upload = reactive({
+ // 涓婁紶鐨勫湴鍧�
+ url: import.meta.env.VITE_APP_BASE_API + "/file/upload",
+ // 璁剧疆涓婁紶鐨勮姹傚ご閮�
+ headers: { Authorization: "Bearer " + getToken() },
+})
// 鏌ヨ鍒楄〃
/** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -472,11 +479,9 @@
// 涓婁紶鍓嶆牎妫�
function handleBeforeUpload(file) {
// 鏍℃鏂囦欢澶у皬
- if (props.fileSize) {
- if (file.size > 1024 * 1024) {
- proxy.$modal.msgError('涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃10MB!')
- return false
- }
+ if (file.size > 1024 * 1024) {
+ proxy.$modal.msgError('涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃10MB!')
+ return false
}
proxy.$modal.loading("姝e湪涓婁紶鏂囦欢锛岃绋嶅��...")
return true
@@ -487,13 +492,12 @@
proxy.$modal.closeLoading()
}
// 涓婁紶鎴愬姛鍥炶皟
-function handleUploadSuccess(res, file) {
+function handleUploadSuccess(res, file, uploadFiles) {
+ proxy.$modal.closeLoading()
if (res.code === 200) {
- uploadList.value.push({ name: res.fileName, url: res.fileName })
- fileList.value = fileList.value.filter(f => f.url !== undefined).concat(uploadList.value)
- uploadList.value = []
+ file.tempId = res.data.tempId
+ proxy.$modal.msgSuccess("涓婁紶鎴愬姛")
} else {
- proxy.$modal.closeLoading()
proxy.$modal.msgError(res.msg)
proxy.$refs.fileUpload.handleRemove(file)
}
@@ -508,6 +512,11 @@
proxy.$modal.msgWarning('璇锋坊鍔犱骇鍝佷俊鎭�')
return
}
+ let tempFileIds = []
+ if (fileList.value.length > 0) {
+ tempFileIds = fileList.value.map(item => item.tempId)
+ }
+ form.value.tempFileIds = tempFileIds
addOrUpdateSalesLedger(form.value).then(res => {
proxy.$modal.msgSuccess("鎻愪氦鎴愬姛")
closeDia()
--
Gitblit v1.9.3