From 1948f40f5cdf1a3b5347bd399b4d23d0af3e9b8f Mon Sep 17 00:00:00 2001
From: yufei_wang <2267742828@qq.com>
Date: Fri, 20 Dec 2024 13:46:30 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E8=B4=A8=E6=A3=80=E6=8A=A5?=
=?UTF-8?q?=E5=91=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Annex/src/Annex.vue | 15 +++++++++++-
src/components/Detail/src/Detail.vue | 7 ++++++
src/components/UploadFile/src/UploadFile.vue | 23 +++++++++++++++++--
.../supplierdeliverRequestMain/index.vue | 4 ++++
4 files changed, 46 insertions(+), 3 deletions(-)
diff --git a/src/components/Annex/src/Annex.vue b/src/components/Annex/src/Annex.vue
index b64bcfa90..ee1c122d8 100644
--- a/src/components/Annex/src/Annex.vue
+++ b/src/components/Annex/src/Annex.vue
@@ -3,7 +3,7 @@
-
@@ -36,6 +36,9 @@ import UploadFile from '@/components/UploadFile/src/UploadFile.vue'
import { formatDate } from '@/utils/formatTime'
import * as FileApi from '@/api/wms/file'
import { getBaseUrl } from '@/utils/systemParam'
+import { getUploadUrl } from '@/utils/systemParam'
+import { func } from 'vue-types'
+
const message = useMessage() // 消息弹窗
const { t } = useI18n() // 国际化
defineComponent({
@@ -83,6 +86,16 @@ const props = defineProps({
type: Boolean,
default: true
},
+ updateUrl:{
+ type: String,
+ required: false,
+ default: getUploadUrl()
+ },
+ checkUploadUrl:{
+ type: Function,
+ required: false,
+ default: null
+ }
})
// 子传父的时候需要先定义好emit这个方法
const emit = defineEmits(['handleAnnexSuccess', 'deleteAnnexSuccess','previewAnnexHandle'])
diff --git a/src/components/Detail/src/Detail.vue b/src/components/Detail/src/Detail.vue
index 22f0dd4a6..ce9d38d21 100644
--- a/src/components/Detail/src/Detail.vue
+++ b/src/components/Detail/src/Detail.vue
@@ -124,6 +124,8 @@
:showPreview="annexItem.showPreview"
:showDownload = "annexItem.showDownload"
:hiddenDelete = "annexItem.hiddenDelete"
+ :checkUploadUrl="annexItem.checkUploadUrl"
+ :updateUrl="annexItem.updateUrl"
@handleAnnexSuccess="updateAnnexTableHandle"
@deleteAnnexSuccess="updateAnnexTableHandle"
:upData="{...remarksData.data,tableName:annexItem.tableName}"
@@ -220,6 +222,7 @@ import TableHead from '@/components/TableHead/src/TableHead.vue'
import DetailTable from '@/components/DetailTable/src/DetailTable.vue'
import { SearchTable } from '@/components/SearchTable'
import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
+import { getUploadUrl } from '@/utils/systemParam'
defineOptions({ name: 'Detail' })
@@ -633,11 +636,15 @@ const getAnnexFileList = async (row) => {
fileType:item.fileType||['apk','doc', 'xls', 'ppt', 'txt', 'pdf','png', 'jpg', 'jpeg'],
limit:item.limit||10,
fileSize:item.fileSize||5,
+ checkUploadUrl:item.checkUploadUrl || null,
+ updateUrl:item.updateUrl || getUploadUrl(),
showPreview:item.showPreview||false, // 是否展示预览按钮
showDownload:item.showDownload||false, // 是否展示下载按钮
hiddenDelete:item.hiddenDelete || false, // 是否展示删除按钮
hiddenUpload:hiddenUpload || item.hiddenUpload || false, // 是否展示上传按钮
})
+ console.log('annexTableData',annexTableData.value)
+
}
if(subDetailTableData){
const { tableObject:subTableObject, tableMethods:subTableMethods } = useTable({
diff --git a/src/components/UploadFile/src/UploadFile.vue b/src/components/UploadFile/src/UploadFile.vue
index d6c2fda41..d7f1a151a 100644
--- a/src/components/UploadFile/src/UploadFile.vue
+++ b/src/components/UploadFile/src/UploadFile.vue
@@ -65,7 +65,11 @@ const props = defineProps({
drag: propTypes.bool.def(false), // 拖拽上传
isShowTip: propTypes.bool.def(true), // 是否显示提示
isShowFile: propTypes.bool.def(true), // 是否显示上传的文件
- checkUploadUrl:propTypes.func.def(), // 校验二次请求的接口
+ checkUploadUrl:{ // 校验的二次请求的接口
+ type: Function,
+ required: false,
+ default: null
+ }
})
// ========== 上传相关 ==========
const valueRef = ref(props.modelValue)
@@ -110,24 +114,38 @@ const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => {
// 文件上传成功
const handleFileSuccess: UploadProps['onSuccess'] = async (res: any,uploadFile: any): Promise => {
console.log('文件上传成功',res)
+
if(res&&res.code==0){
if(res.data&&res.data.code==200&&props.checkUploadUrl){
let checkRes = await props.checkUploadUrl(res.data.data)
console.log('checkRes',checkRes)
console.log('fileList.value',fileList.value)
console.log('uploadFile',uploadFile)
- ElMessage.closeAll()
if(checkRes['fileExists']=="YES"){
+ ElMessage.closeAll()
message.success(t('ts.上传成功'))
+ const fileListNew = fileList.value
+ fileListNew.pop()
+ fileList.value = fileListNew
+ uploadList.value.push({ name: uploadFile.name, url: res.data })
+ // if (uploadList.value.length == uploadNumber.value) {
+ if(fileList.value.every(it => it.status == 'success')) {
+ fileList.value = fileList.value.concat(uploadList.value)
+ uploadList.value = []
+ uploadNumber.value = 0
+ emit('update:modelValue', listToString(fileList.value),res,uploadFile)
+ }
}else{
let findItem = fileList.value.find(item=>item.uid == uploadFile.uid)
if(findItem){
uploadRef?.value?.handleRemove(findItem)
}
+ ElMessage.closeAll()
message.error(checkRes['msg'])
}
}else{
+ ElMessage.closeAll()
message.success(t('ts.上传成功'))
const fileListNew = fileList.value
fileListNew.pop()
@@ -142,6 +160,7 @@ const handleFileSuccess: UploadProps['onSuccess'] = async (res: any,uploadFile:
}
}
}else{
+ ElMessage.closeAll()
message.error(res.msg)
}
}
diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue
index bb821346e..bb824ef87 100644
--- a/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue
+++ b/src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue
@@ -218,6 +218,7 @@ import supplierdeliverBasicForm from './supplierdeliverBasicForm.vue'
import labelForm from './labelForm.vue'
import { getJmreportBaseUrl } from '@/utils/systemParam'
import { usePageLoading } from '@/hooks/web/usePageLoading'
+import { getBaseUrl } from '@/utils/systemParam'
const { loadStart, loadDone } = usePageLoading()
// 供应商发货申请
defineOptions({ name: 'SupplierdeliverRequestMain' })
@@ -240,6 +241,8 @@ const annexInspectionDetail = ref({
fileType: ['pdf'],
limit:999999,
align: 'left',
+ updateUrl: getBaseUrl()+import.meta.env.VITE_API_URL+'/infra/file/uploadFile',
+ checkUploadUrl:SupplierdeliverRequestMainApi.checkUploadFileData,
//明细表数据
subDetailTableData: {
queryParams: [
@@ -255,6 +258,7 @@ const annexInspectionDetail = ref({
pageSize: 10,
currentPage: 1
}
+
})
const tableColumns = ref([
...SupplierdeliverRequestMain.allSchemas.tableColumns,