Browse Source

ai识别调整

MaiXinRong 1 hour atrás
parent
commit
96cd3fc8d5
1 changed files with 39 additions and 36 deletions
  1. 39 36
      app/public/js/shares/ai_trans.js

+ 39 - 36
app/public/js/shares/ai_trans.js

@@ -27,6 +27,23 @@ const AITrans = function() {
             $('#ai-trans-file-add').parent().append(this.getFileMiniHtml(file));
             this.selectFile(file.id);
         },
+        uploadFile: function(files) {
+            const formData = new FormData();
+            formData.append('rela_type', transResultObj.rela_type);
+            formData.append('rela_id', transResultObj.rela_id);
+            for (const file of files) {
+                const filesize = file.size;
+                if (filesize > 50 * 1024 * 1024) {
+                    toastr.error('图片大小过大!');
+                    return false;
+                }
+                formData.append('size', filesize);
+                formData.append('file[]', file);
+            }
+            postDataWithFile(window.location.pathname + '/ai/uploadFile', formData, function (data) {
+                transResultObj.afterUploadFile(data[0]);
+            });
+        },
         deleteFile: function(fid) {
             const fileIndex = transResultObj.rela_node.aiRelaFile.findIndex(x => { return x.id === fid; });
             const file = transResultObj.rela_node.aiRelaFile[fileIndex];
@@ -58,6 +75,22 @@ const AITrans = function() {
         showFile: function(fid) {
             const file = this.rela_node.aiRelaFile.find(x => { return x.id === fid; });
             $('#ai-trans-show-file').attr('src', file.viewpath);
+        },
+        pasteImage: function(e) {
+            if (transResultObj.rela_node.aiRelaFile && transResultObj.rela_node.aiRelaFile.length >= 3) {
+                toastr.warning('保存的图片超过限制,请先删除旧图片后再操作');
+                return;
+            }
+
+            let file = null;
+            const data = (event.clipboardData || window.clipboardData).items;
+            for (let i = 0; i < data.length; i += 1) {
+                if ((data[i].kind == 'file') && (data[i].type.match('^image/'))) {
+                    file = data[i].getAsFile();
+                    break;
+                }
+            }
+            transResultObj.uploadFile([file]);
         }
     };
     $('#ai-trans-grid').bind('shown.bs.modal', function() {
@@ -122,61 +155,31 @@ const AITrans = function() {
         e.dataTransfer.dropEffect = 'copy';
     });
     document.getElementById('ai-trans-file-add').addEventListener('drop', function(e) {
+        e.preventDefault();
+
         if (transResultObj.rela_node.aiRelaFile && transResultObj.rela_node.aiRelaFile.length >= 3) {
             toastr.warning('保存的图片超过限制,请先删除旧图片后再操作');
             return;
         }
-        e.preventDefault();
         const files = e.dataTransfer.files;
-        const formData = new FormData();
-        formData.append('rela_type', transResultObj.rela_type);
-        formData.append('rela_id', transResultObj.rela_id);
         for (const file of files) {
             if (file === undefined) {
                 toastr.error('未选择图片!');
                 return false;
             }
-            const filesize = file.size;
-            if (filesize > 50 * 1024 * 1024) {
-                toastr.error('选择图片大小过大!');
-                return false;
-            }
             const fileext = '.' + file.name.toLowerCase().split('.').splice(-1)[0];
             if (whiteList.indexOf(fileext) === -1) {
                 toastr.error('只能上传指定格式的图片!');
                 return false;
             }
-            formData.append('size', filesize);
-            formData.append('file[]', file);
         }
-        postDataWithFile(window.location.pathname + '/ai/uploadFile', formData, function (data) {
-            transResultObj.afterUploadFile(data[0]);
-        });
+
+        transResultObj.uploadFile(files);
     });
     $('body').on('click', '[name=ai-his-file]', function() {
         transResultObj.selectFile(this.getAttribute('fid'));
     });
-    $("#ai-trans-file-add").on('paste', function(e) {
-        let file = null;
-        const data = (event.clipboardData || window.clipboardData).items;
-        for (let i = 0; i < data.length; i += 1) {
-            if ((data[i].kind == 'file') && (data[i].type.match('^image/'))) {
-                file = data[i].getAsFile();
-                break;
-            }
-        }
-        if (file) {
-            const formData = new FormData();
-            formData.append('rela_type', transResultObj.rela_type);
-            formData.append('rela_id', transResultObj.rela_id);
-            formData.append('file', file);
-            formData.append('size', file.size);
-            console.log(formData);
-            postDataWithFile(window.location.pathname + '/ai/uploadFile', formData, function (data) {
-                transResultObj.afterUploadFile(data[0]);
-            });
-        }
-    });
+    $('#ai-trans').on('paste', transResultObj.pasteImage);
     $('body').on('click', '.ai-del-btn', function() {
         const fid = $(this).parent().attr('fid');
         transResultObj.deleteFile(fid);
@@ -242,4 +245,4 @@ const AITrans = function() {
         show,
         setRelaInfo, billsIdentify, transDetail, rela_type: function() {return transResultObj.rela_type}
     }
-}
+};