2
0

4 کامیت‌ها 68fa7fe5d9 ... a1fcd5a506

نویسنده SHA1 پیام تاریخ
  lisongyi a1fcd5a506 ocr识别 5 ماه پیش
  lisongyi b3024e3150 ocr识别 5 ماه پیش
  lisongyi d595c12b0f ocr识别 5 ماه پیش
  lisongyi e3b6b05547 ocr识别 5 ماه پیش
2فایلهای تغییر یافته به همراه43 افزوده شده و 1 حذف شده
  1. 1 1
      src/static/setting.txt
  2. 42 0
      src/views/inbound/photoOCR/index.vue

+ 1 - 1
src/static/setting.txt

@@ -1 +1 @@
-74
+80

+ 42 - 0
src/views/inbound/photoOCR/index.vue

@@ -91,6 +91,42 @@ const warehouse = store.warehouse
 const uploadImages = ref([])
 const uploading = ref(false)
 
+// 自动上传图片
+const autoUploadImage = async (file) => {
+  if (!warehouse) {
+    showFailToast('未获取到仓库信息')
+    return
+  }
+
+  // 检查图片大小是否超过2MB
+  if (file.size > 2 * 1024 * 1024) {
+    showFailToast('图片大小不能超过2MB')
+    return
+  }
+
+  uploading.value = true
+  const toast = showLoadingToast('自动上传识别中...')
+
+  try {
+    const response = await uploadOCRImage(file, warehouse)
+    
+    closeToast()
+    
+    if (response.code === 200) {
+      showNotify({ type: 'success', message: '面单上传成功' })
+      // 上传成功后重置表单
+      uploadImages.value = []
+    } else {
+      showNotify({ type: 'danger', message: response.message || '上传失败' })
+    }
+  } catch (err) {
+    closeToast()
+    showNotify({ type: 'danger', message: '识别过程发生异常: ' + (err.message || '未知错误') })
+  } finally {
+    uploading.value = false
+  }
+}
+
 // 检查图片格式和大小
 const beforeReadImage = (file) => {
   const files = Array.isArray(file) ? file : [file]
@@ -124,6 +160,8 @@ const afterReadImage = async (file) => {
       const originalFile = fileItem.file
       
       if (originalFile) {
+        let finalFile = originalFile
+        
         // 检查文件大小,如果大于1MB则进行压缩
         if (originalFile.size > 1 * 1024 * 1024) {
           showNotify({ 
@@ -134,6 +172,7 @@ const afterReadImage = async (file) => {
           try {
             // 压缩图片到1MB以内
             const compressedFile = await compressImage(originalFile, 1 * 1024 * 1024)
+            finalFile = compressedFile
             
             // 更新文件对象
             fileItem.file = compressedFile
@@ -156,6 +195,9 @@ const afterReadImage = async (file) => {
         } else {
           console.log(`图片大小符合要求,无需压缩: ${(originalFile.size / 1024).toFixed(2)}KB`)
         }
+        
+        // 压缩完成后自动上传
+        await autoUploadImage(finalFile)
       }
     }
   } catch (error) {