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,