Browse Source

上传质检报告

hella_online_20241226
王宇飞 3 months ago
parent
commit
1948f40f5c
  1. 15
      src/components/Annex/src/Annex.vue
  2. 7
      src/components/Detail/src/Detail.vue
  3. 23
      src/components/UploadFile/src/UploadFile.vue
  4. 4
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue

15
src/components/Annex/src/Annex.vue

@ -3,7 +3,7 @@
<div class="annex">
<div class="title flex items-center">
<!-- <div class="title-txt">附件</div> -->
<UploadFile :isShowFile="false" :isShowTip="false" :fileType="fileType" :fileSize="fileSize" :title="t('ts.添加附件')" :upData="upData" :limit="limit"
<UploadFile :isShowFile="false" :isShowTip="false" :fileType="fileType" :fileSize="fileSize" :title="t('ts.添加附件')" :upData="upData" :limit="limit" :updateUrl="updateUrl" :checkUploadUrl="checkUploadUrl"
@update:modelValue="handleAnnexSuccess" v-if="showAddBtn"/>
<!-- HL-5838 5条限制影响了供应商发货申请上传质检报告这个限制没找到认领的需求所以放开 -->
<!-- @update:modelValue="handleAnnexSuccess" v-if="showAddBtn&&annexData.annexList.length<5"/> -->
@ -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'])

7
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({

23
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<void> => {
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)
}
}

4
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,

Loading…
Cancel
Save