yiwaima / ERP 退货单据图片上传工具

Published:

Version: 1.3+d30611a updated

Summary: 在ERP退货单据页面右上角生成可拖动窗口,支持图片拖放上传、自动填写退货单号、搜索并自动选中表格行,支持多个开单单号

Homepage: https://openuserjs.org/scripts/yiwaima/ERP_退货单据图片上传工具

Support: https://github.com/yiwaima/erp-return-document-upload/issues

License: MIT

Antifeature: unspecified

ERP 退货单据图片上传工具脚本信息

基本信息

属性 说明
脚本名称 ERP 退货单据图片上传工具
作者 yiwaima
版本 1.3
许可证 MIT
适用网站 https://www.erp321.com/app/scm/purchaseout/purchaseout.aspx
脚本类型 Tampermonkey 用户脚本
OpenUserJS地址 https://openuserjs.org/scripts/yiwaima/ERP_退货单据图片上传工具

功能描述

该脚本是一个为ERP系统设计的退货单据图片上传工具,提供了以下核心功能:

1. 浮动图片上传窗口

  • 在ERP页面右上角创建一个可拖拽的图片上传窗口
  • 支持拖放图片上传
  • 支持PNG、JPG、GIF格式图片

2. 窗口交互功能

  • 拖拽定位:通过标题栏可以自由拖动窗口到任意位置
  • 边缘吸附:当窗口靠近屏幕边缘时自动吸附并折叠
  • 自动折叠:鼠标离开窗口后自动检查是否需要吸附到边缘
  • 状态记忆:分别记忆窗口展开和折叠状态的位置,下次使用时恢复

3. 图片拖放上传

  • 支持将图片直接拖放到窗口中
  • 提供拖放视觉反馈
  • 自动处理拖放事件

4. 自动输入和搜索

  • 从图片名称中提取退货单号
  • 自动填充退货单号到搜索框
  • 自动点击搜索按钮

5. 自动选择表格行

  • 搜索完成后自动选中表格第一行数据
  • 自动勾选目标行的复选框
  • 智能识别数据行,排除操作按钮行和表头
  • 支持多种表格结构

6. 质检报告创建和图片上传

  • 自动创建质检报告
  • 获取图片上传URL
  • 上传图片到服务器
  • 保存图片信息到ERP系统

技术实现

1. 界面构建

// 创建可拖动的悬浮窗口
function createDragWindow() {
    const dragWindow = document.createElement('div');
    dragWindow.id = 'image-drag-window';
    dragWindow.innerHTML = `
        <div class="drag-header">
            <span>退货单据上传</span>
        </div>
        <div class="drag-content">
            <div class="drop-area">
                <p>将图片拖放到此处</p>
                <p class="hint">支持 PNG、JPG、GIF 格式</p>
            </div>
        </div>
    `;
    // 添加CSS样式和事件监听
    // ...
}

2. 拖放功能实现

// 处理文件拖放
function handleDrop(e) {
    const dt = e.dataTransfer;
    const files = dt.files;
    processFiles(files);
}

3. 自动输入和搜索

// 自动输入退货单号并点击搜索按钮
async function autoInputAndSearch(ioId) {
    // 查找并填充退货单号输入框
    // 点击搜索按钮
    // ...
}

4. 自动选择表格行

// 独立的行选择和复选框勾选函数
function selectFirstRowAndCheckbox(doc) {
    // 查找表格
    // 识别表头和数据行
    // 选择并勾选第一行
    // ...
}

5. API调用和数据处理

// 发送HTTP请求获取SKU数据
async function fetchSkuData(returnOrderId, orderId) {
    // 构建请求URL和参数
    // 发送请求并处理响应
    // ...
}

使用说明

  1. 激活脚本:在Tampermonkey中安装并启用脚本
  2. 显示窗口:访问ERP退货单据页面时,窗口会自动出现在右上角
  3. 上传图片
    • 点击窗口展开(或鼠标悬停自动展开)
    • 将图片拖放到窗口的虚线区域
    • 脚本会自动处理图片上传
  4. 自动操作
    • 从图片名称中提取退货单号
    • 自动填充到搜索框并点击搜索
    • 自动选中表格第一行并勾选复选框
    • 自动创建质检报告并上传图片
  5. 窗口管理
    • 拖拽标题栏移动窗口位置
    • 鼠标离开后自动折叠到边缘
    • 再次鼠标悬停可展开窗口

注意事项

  • 脚本需要访问ERP系统的API,确保已登录ERP系统
  • 图片名称需要符合特定格式:{货主名称}{退货单号}.{开单单号}.{格式}
  • 自动操作需要页面元素结构保持稳定
  • 如遇功能异常,请检查浏览器控制台是否有错误信息

更新日志

  • 版本 1.3:优化交互体验

    • 更新脚本图标为ERP官方图标
    • 优化过渡动画,仅在必要时应用
    • 改进拖动机制,拖动时移除过渡效果,提高流畅度
    • 限制窗口位置,确保不超出页面顶部
    • 修复拖动时可能出现的延迟问题
  • 版本 1.2:增强功能版本

    • 添加多个开单单号支持,当开单单号中含有"+"号时自动生成多个备注并用"+"连接
    • 修复文件名解析问题,支持开单单号包含"+"号和文件扩展名前有逗号的情况
    • 优化正则表达式逻辑,提高文件名匹配成功率
    • 更新脚本版本号和描述信息
  • 版本 1.1:OpenUserJS平台适配

    • 更新脚本元数据,适配OpenUserJS平台要求
    • 统一作者名称为yiwaima
    • 添加OpenUserJS相关URL配置
    • 优化脚本描述和功能说明
    • 添加自动选择表格行和勾选复选框功能
  • 版本 1.0:初始版本发布

    • 实现浮动图片上传窗口和拖拽功能
    • 添加图片拖放上传功能
    • 实现自动输入和搜索功能
    • 添加质检报告创建和图片上传功能
    • 支持状态记忆功能
    • 添加MIT许可证声明

Rating: 0