yiwaima / ERP 供应商搜索工具

Published:

Version: 3.0.1+c51f3ff updated

Summary: 提供供应商搜索、退货单快捷创建、数据汇总和复制等增强功能,优化结构与可维护性

Homepage: https://openuserjs.org/scripts/yiwaima/ERP_供应商搜索工具

Support: https://github.com/yiwaima/erp-supplier-search-tool/issues

License: MIT

Antifeature: unspecified

ERP 供应商搜索工具(重构版)

功能描述

提供供应商搜索、退货单快捷创建、数据汇总和复制等增强功能,优化结构与可维护性。

主要特点

🔍 供应商搜索

  • 快速搜索供应商信息
  • 自动获取供应商备注信息
  • 高亮显示特殊要求
  • 支持快捷键操作

📋 退货单管理

  • 快捷创建退货单据
  • 自动填充供应商信息
  • 提供退单确认功能
  • 智能处理退货流程

📊 数据汇总

  • 今日汇总数据一键生成
  • 往日草拟数据快速查询
  • 数据自动复制到剪贴板
  • 支持自定义日期范围

✂️ 表格复制增强

  • 自动为表格添加复制按钮
  • 智能识别表格结构
  • 支持div表格和标准表格
  • 动态监控DOM变化,自动更新按钮

🎨 智能UI设计

  • 可拖动窗口,支持位置记忆
  • 自动吸附边缘折叠
  • 悬停展开,离开自动折叠
  • 响应式设计,适配不同屏幕尺寸

🛠️ 表单辅助功能

  • 自动选择当前用户
  • 智能设置状态和日期
  • 自动点击搜索按钮
  • 重置表单并重新添加复制按钮

安装说明

方法一:直接从OpenUserJS安装

  1. 访问脚本页面:ERP 供应商搜索工具
  2. 点击"Install"按钮
  3. 在弹出的Tampermonkey安装页面点击"安装"

方法二:手动安装

  1. 下载脚本文件:ERP_供应商搜索工具.user.js
  2. 打开Tampermonkey扩展
  3. 点击"添加新脚本"
  4. 复制下载的脚本内容到编辑器
  5. 点击"文件" -> "保存"

使用方法

基本操作

  1. 搜索供应商:在搜索框中输入搜索词,点击"搜索"按钮或按Enter键
  2. 创建退单:搜索到供应商后,点击"确认退单"按钮
  3. 今日汇总:点击"今日汇总"按钮,获取并复制今日汇总数据
  4. 往日草拟:点击"往日草拟"按钮,查询并显示往日草拟数据
  5. 重置表单:点击"重置"按钮,重置表单并重新添加复制按钮

表格复制功能

  1. 脚本会自动为页面中的表格添加"复制"按钮
  2. 点击表格中的"复制"按钮,即可复制当前行的相关信息
  3. 支持动态添加的表格,自动监控DOM变化

窗口操作

  1. 拖动窗口:点击并拖动窗口头部,可自由调整窗口位置
  2. 自动折叠:窗口靠近屏幕边缘时,会自动折叠
  3. 悬停展开:鼠标悬停在折叠后的窗口上,会自动展开
  4. 位置记忆:关闭浏览器后,下次打开会记住上次的位置和状态

更新日志

v3.0.0(重构版)

  • ✨ 优化了代码结构,提高可维护性
  • ✨ 修复了复制按钮位置错误问题
  • ✨ 增强了DOM监控,确保复制按钮正确添加
  • ✨ 改进了拖动和折叠功能
  • ✨ 优化了API请求处理
  • ✨ 增强了表单辅助功能
  • ✨ 改进了表格识别和处理逻辑

v2.x

  • 实现基本的供应商搜索功能
  • 添加退货单创建功能
  • 实现数据汇总功能
  • 添加表格复制按钮
  • 实现窗口拖动功能

支持的网站

  • 退货单页面:https://*.erp321.com/app/scm/purchaseout/purchaseout.aspx?_c=jst-epaas&epaas=true

技术实现

核心技术

  • DOM操作:使用querySelector和querySelectorAll实现高效DOM查询
  • 事件处理:统一的事件绑定和管理
  • API请求:实现了完整的API客户端,支持多种请求类型
  • DOM监控:使用MutationObserver实现动态DOM变化监控
  • 本地存储:使用localStorage保存用户设置和位置信息
  • 拖拽功能:实现了流畅的拖拽体验
  • 自适应设计:支持不同屏幕尺寸和浏览器窗口大小

代码结构

├── 工具函数(通用工具和辅助函数)
├── 业务请求(API客户端和请求处理)
├── 状态管理(全局状态和配置)
├── UI组件(窗口创建和管理)
├── 拖动与折叠(窗口交互功能)
├── 表格复制按钮(动态按钮添加)
├── 表单辅助(表单自动填充和操作)
├── 事件绑定(用户交互处理)
└── 初始化(脚本启动和配置)

主要模块

1. API请求模块

  • 实现了统一的API客户端
  • 支持JSON和FormData请求
  • 自动处理跨域请求
  • 包含错误处理和重试机制

2. 表格处理模块

  • 支持多种表格类型
  • 动态添加复制按钮
  • 智能识别表格结构
  • 监控DOM变化,自动更新

3. UI交互模块

  • 可拖动窗口设计
  • 自动吸附边缘折叠
  • 位置记忆功能
  • 响应式布局

4. 表单辅助模块

  • 自动填充表单数据
  • 智能选择用户和状态
  • 自动点击搜索按钮
  • 表单重置和刷新

许可证

MIT License

联系方式

贡献

欢迎提交Issue和Pull Request来改进这个脚本!

注意事项

  1. 本脚本仅在指定的ERP页面生效
  2. 脚本需要获取ERP系统的cookie信息才能正常工作
  3. 部分功能可能会受到ERP系统更新的影响
  4. 如有问题,请查看浏览器控制台的错误信息

隐私声明

本脚本仅在本地运行,不会收集或发送任何用户数据到外部服务器。所有数据处理都在浏览器本地完成。

常见问题

Q: 复制按钮没有显示怎么办?

A: 脚本会自动监控DOM变化并添加复制按钮,如果按钮没有显示,可以尝试刷新页面或点击"重置"按钮。

Q: 搜索供应商失败怎么办?

A: 请检查网络连接和ERP系统登录状态,确保输入的搜索词正确。

Q: 窗口无法拖动怎么办?

A: 请确保鼠标点击的是窗口头部,而不是其他区域。

Q: 自动折叠功能可以关闭吗?

A: 目前不支持关闭自动折叠功能,但可以通过拖动窗口远离边缘来避免折叠。

Q: 脚本在某些页面不工作怎么办?

A: 请检查页面URL是否符合脚本的匹配规则,目前仅支持退货单页面。

浏览器兼容性

  • Chrome 60+
  • Firefox 55+
  • Edge 79+
  • Safari 12+

性能优化

  • 使用事件委托减少事件监听器数量
  • 实现防抖机制,减少不必要的DOM操作
  • 优化API请求,避免重复请求
  • 使用高效的DOM查询方法
  • 实现延迟加载,提高页面加载速度

未来计划

  • 添加更多定制化选项
  • 支持更多ERP页面
  • 增强数据分析功能
  • 改进UI设计
  • 添加更多辅助功能

致谢

感谢所有使用和支持这个脚本的用户!

Rating: 0