feat: 推广粘贴上传功能至所有图片上传页面(purchase/buy/product/semi)

This commit is contained in:
DXC
2026-05-15 14:29:25 +08:00
parent 1ec1bc34eb
commit ee893485bb
4 changed files with 47 additions and 8 deletions

View File

@ -447,7 +447,7 @@
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="到货图片" prop="arrival_photo">
<div class="upload-container">
<div class="upload-container" id="upload-arrival_photo">
<el-upload
v-model:file-list="arrivalFileList"
action="#"
@ -466,7 +466,7 @@
</el-col>
<el-col :span="24">
<el-form-item label="检测报告" prop="inspection_report">
<div class="upload-container">
<div class="upload-container" id="upload-inspection_report">
<el-upload
v-model:file-list="reportFileList"
action="#"
@ -698,6 +698,7 @@ import {
} from '@/api/inbound/buy'
import {getLabelPreview, executePrint} from '@/api/common/print'
import { getWarehouseTree } from '@/api/common/warehouse'
import { usePasteUpload } from '@/hooks/usePasteUpload'
import WebRtcCamera from '@/components/Camera/WebRtcCamera.vue'
import WarehouseSelector from '@/components/WarehouseSelector.vue'
import SmartScannerDialog from '@/components/SmartScannerDialog.vue'
@ -1532,6 +1533,16 @@ const handleRemoveImage = async (uploadFile: any, targetField: 'arrival_photo' |
ElMessage.success('已删除')
} catch (e) { console.error(e) }
}
// 粘贴上传处理器PC 端:鼠标悬停 + Ctrl+V 直接粘贴图片)
const handlePasteLink = (link: string, field: string) => {
if (field === 'inspection_report') {
inspection_report_url.value = link
}
}
usePasteUpload(customUpload, 'arrival_photo', '#upload-arrival_photo', handlePasteLink)
usePasteUpload(customUpload, 'inspection_report', '#upload-inspection_report', handlePasteLink)
const handlePreviewPicture = (uploadFile: any) => { dialogImageUrl.value = uploadFile.url!; dialogVisibleImage.value = true }
const triggerCamera = (field: 'arrival_photo' | 'inspection_report') => {
currentCameraField.value = field;