diff --git a/src/views/crmpc/customer/Followadd.vue b/src/views/crmpc/customer/Followadd.vue index df33770..3c37d1c 100644 --- a/src/views/crmpc/customer/Followadd.vue +++ b/src/views/crmpc/customer/Followadd.vue @@ -70,15 +70,21 @@
上传跟进截图/聊天截图 - - - +
+ +
+ +

点击上传或直接粘贴截图

+
+
+ +
@@ -383,6 +389,72 @@ // 如需同步到 form.picture form.value.picture = response.url || (response.data && response.data.file_name) || '' } + + // 处理粘贴上传 + const handlePaste = async (event: ClipboardEvent) => { + event.preventDefault() + const items = event.clipboardData?.items + if (!items) return + + for (let i = 0; i < items.length; i++) { + const item = items[i] + if (item.type.indexOf('image') !== -1) { + const file = item.getAsFile() + if (file) { + await uploadImageFile(file) + } + break + } + } + } + + // 触发文件选择 + const triggerFileInput = () => { + const fileInput = document.querySelector('input[type="file"]') as HTMLInputElement + if (fileInput) { + fileInput.click() + } + } + + // 处理文件选择 + const handleFileChange = async (event: Event) => { + const target = event.target as HTMLInputElement + const file = target.files?.[0] + if (file) { + await uploadImageFile(file) + } + // 清空input值,允许重复选择同一文件 + target.value = '' + } + + // 上传图片文件 + const uploadImageFile = async (file: File) => { + try { + // 创建FormData + const formData = new FormData() + formData.append('file', file) + + // 使用fetch上传到服务器 + const response = await fetch(actionImageUplode, { + method: 'POST', + headers: uploadHeaders.value, + body: formData + }) + + const result = await response.json() + + if (response.ok) { + // 上传成功,调用原有的成功处理逻辑 + handleUploadSuccess(result) + ElMessage.success('图片上传成功') + } else { + ElMessage.error(result.message || '图片上传失败') + } + } catch (error) { + console.error('上传失败:', error) + ElMessage.error('图片上传失败') + } + } diff --git a/src/views/crmpc/customer/index.vue b/src/views/crmpc/customer/index.vue index d48e4d9..b7535c0 100644 --- a/src/views/crmpc/customer/index.vue +++ b/src/views/crmpc/customer/index.vue @@ -96,14 +96,41 @@ -
- - - +
+ + + + +
+ +
+ + {{ col.label }} + +
+
+
+
+ 保存 +
+
+
+
@@ -122,20 +149,47 @@ >