# adsign_pro **Repository Path**: alexjunqi/adsign_pro ## Basic Information - **Project Name**: adsign_pro - **Description**: ERPNext功能强大但标准功能繁多,大部分企业日常仅使用其中部分功能。本项目旨在开发一个轻量级的ERPNext自定义应用,帮助用户按需管理页面功能 ,隐藏不常用的标准功能,并支持自定义关联页面,打造更简洁高效的工作界面。 痛点 :ERPNext默认包含数百个功能页面,新用户上手困难 需求 :企业通常只使用20%-30%的核心功能,其余造成界面混乱 目标 :提供可视化的功能管理界面,让用户自由控 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: V16 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2026-04-29 - **Last Updated**: 2026-05-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 工作台 (ADSign Pro) — V16 版本 > 专为 **Frappe V16** 侧边栏架构优化的企业工作台看板系统。 --- ## 1. 项目简介 工作台(ADSign Pro)是一个基于 **Frappe V16 + ERPNext** 的企业级工作台看板应用。V16 分支专门针对 Frappe V16 的侧边栏(Sidebar)界面进行了深度优化,提供覆盖式侧边栏、自动悬停显示、品牌 Logo 集成、快捷操作自定义布局等增强体验。 --- ## 2. V16 版本核心特性 ### 2.1 覆盖式侧边栏(Overlay Sidebar) - 侧边栏悬浮覆盖在内容层之上,不推挤主内容区域 - 鼠标移至屏幕左侧边缘 8px 区域自动显示侧边栏 - 鼠标离开侧边栏 300ms 后自动隐藏 - 汉堡菜单按钮支持手动切换 ### 2.2 品牌 Logo 集成 - 顶部面包屑首位自动显示 **网站设置 > 品牌形象** 上传的 Logo - 支持多级 fallback:`app_logo` → `banner_image` → `brand_html` - 无 Logo 时自动显示 Lucide `home` 图标 ### 2.3 快捷操作布局自定义 - 支持在配置弹窗中设置每行显示按钮数量(2 ~ 6 列) - 布局配置持久化存储于 `Kanban Config` DocType ### 2.4 Frappe 官方图标(Lucide) - 所有图标统一使用 **Lucide Icons**(Frappe V16 官方图标库) - Outline / Stroke 风格,与系统原生 UI 完全一致 - 统计卡片、系统状态、快捷操作、侧边栏、顶部导航全部覆盖 ### 2.5 模块配置与图标选择器 - `/module_config` 页面支持模块/子模块的增删改查 - 内置 40+ 常用 Lucide 图标选择面板 - 模块显示/隐藏、排序、URL 配置实时生效 ### 2.6 总经理工作台(Executive Dashboard) - 顶部导航栏报表图标(`bar-chart-3`)对所有用户可见 - 点击图标切换总经理工作台,**在任意页面均可进入** - 按公司分组展示库存、出库、入库、客户数据 - 库存卡片按仓库展开,客户卡片按销售额排序 - 数据在页面初始化时后台预加载,切换时秒开无等待 - 无权限用户点击显示「无权访问」提示 ### 2.7 Iframe 页面侧边栏自动隐藏 - 嵌入的 ERPNext 页面(销售订单、采购订单等)自动注入 CSS 隐藏系统侧边栏 - 定时轮询确保 SPA 路由切换后侧边栏保持隐藏 - 支持全宽模式切换 --- ## 3. 功能模块 | 模块 | 说明 | |------|------| | **看板仪表盘** | 统计卡片(入库/出库/POS/库存)、快捷操作、最近活动、系统状态 | | **总经理工作台** | 按公司分组的库存/出入库/客户综合概览,周期切换(今日/本周/本月) | | **销售模块** | 销售订单、订单查询、销售发票、销售仪表盘 | | **生产模块** | 生产工单、生产计划、发货看板、物料清单、激光切割看板 | | **采购模块** | 采购订单、物料需求、供应商 | | **人事模块** | 企微人事(可扩展) | | **模块配置** | 独立配置页面,管理模块、子模块、图标、显示状态 | --- ## 4. 技术栈 - **后端**: Frappe Framework V16, ERPNext - **前端**: Vue 3, Pinia, Frappe esbuild bundler - **图标**: Lucide Icons (Frappe V16 标准) - **样式**: 原生 CSS, Frappe V16 设计规范 - **数据存储**: `Kanban Config` DocType (JSON 配置字段) --- ## 5. 安装与更新 ```bash # 1. 获取应用 bench get-app https://gitee.com/alexjunqi/adsign_pro.git # 2. 安装到站点 bench --site your-site.local install-app adsign_pro # 3. 迁移数据库 bench --site your-site.local migrate # 4. 构建前端资源 bench build --app adsign_pro # 5. 重启服务 bench restart ``` --- ## 6. 访问入口 | 页面 | 路由 | 说明 | |------|------|------| | 工作台看板 | `/kanban_dashboard` | 主看板页面 | | 模块配置 | `/module_config` | 模块与子模块管理 | 安装后也可通过 Frappe Apps 页面点击"工作台"进入。 --- ## 7. 文件结构 ``` adsign_pro/ ├── adsign_pro/ │ ├── api/ │ │ ├── kanban.py # 看板数据 API │ │ ├── executive.py # 总经理工作台 API │ │ └── module_config.py # 模块配置 API │ ├── doctype/ │ │ └── kanban_config/ # Kanban Config DocType │ ├── public/ │ │ ├── css/adsign_pro.css # 全局样式 │ │ └── js/kanban/ # Vue 前端源码 │ │ ├── App.vue │ │ ├── components/ │ │ │ ├── Sidebar.vue │ │ │ ├── TopNavbar.vue │ │ │ ├── DashboardView.vue │ │ │ ├── StatsCards.vue │ │ │ ├── QuickActions.vue │ │ │ ├── QuickActionModal.vue │ │ │ ├── RecentActivity.vue │ │ │ ├── SystemStatus.vue │ │ │ ├── IframeContainer.vue │ │ │ └── Icon.vue # Lucide 图标组件 │ │ ├── stores/kanban.js # Pinia Store │ │ └── api/index.js # API 封装 │ ├── templates/pages/ │ │ ├── kanban_dashboard.html # 看板入口模板 │ │ ├── kanban_dashboard.py # 看板上下文 │ │ ├── module_config.html # 配置页面模板 │ │ └── module_config.py │ ├── setup/ │ │ ├── install.py # 应用安装钩子(自动创建角色) │ │ └── create_role.py # 角色创建脚本 │ └── hooks.py # 应用钩子 ├── pyproject.toml └── setup.py ``` --- ## 8. 配置说明 ### 8.1 网站 Logo 进入 **网站设置 (Website Settings)**,上传: - **应用 Logo** (`app_logo`) 或 - **横幅图片** (`banner_image`) 工作台顶部将自动显示该图片。 ### 8.2 默认模块 首次访问时,系统自动从 `kanban.py > get_kanban_modules()` 初始化默认模块。用户可通过 `/module_config` 自定义。 ### 8.3 快捷操作 - 看板页面点击齿轮图标打开配置弹窗 - 可添加快捷按钮、设置每行列数 - 数据按用户隔离存储 --- ## 9. 浏览器兼容性 - Chrome / Edge (推荐) - Firefox - Safari > 首次更新后请使用 **Ctrl + F5** 强制刷新,清除旧版 JS/CSS 缓存。 --- ## 10. 分支说明 | 分支 | 说明 | |------|------| | `master` | 主分支,通用版本 | | `V16` | **Frappe V16 专用优化版**,含覆盖式侧边栏、Lucide 图标、Logo 集成等 | --- ## 11. License MIT