diff --git a/backend/cmd/issue/main.go b/backend/cmd/issue/main.go new file mode 100644 index 0000000..31a4d1a --- /dev/null +++ b/backend/cmd/issue/main.go @@ -0,0 +1,72 @@ +// issue signs a license token for a specific shop. +// Usage: go run ./cmd/issue -shop 1 -days 365 -type annual -key +// Or use env var: LICENSE_ED25519_PRIVATE_KEY= go run ./cmd/issue -shop 1 -days 365 +package main + +import ( + "encoding/json" + "flag" + "fmt" + "os" + "time" + + "github.com/wangjia/jiu/backend/internal/util" +) + +func main() { + shopID := flag.Uint64("shop", 0, "shop ID (required)") + licenseID := flag.Uint64("license", 0, "license record ID (optional, 0 = omit)") + days := flag.Int("days", 365, "validity days; 0 = perpetual (no expiry)") + licType := flag.String("type", "annual", "license type: trial | annual | lifetime") + maxDevices := flag.Int("devices", 3, "max devices") + privKey := flag.String("key", "", "Ed25519 private key (base64); falls back to LICENSE_ED25519_PRIVATE_KEY env") + flag.Parse() + + if *shopID == 0 { + fmt.Fprintln(os.Stderr, "error: -shop is required") + flag.Usage() + os.Exit(1) + } + + key := *privKey + if key == "" { + key = os.Getenv("LICENSE_ED25519_PRIVATE_KEY") + } + if key == "" { + fmt.Fprintln(os.Stderr, "error: provide -key or set LICENSE_ED25519_PRIVATE_KEY") + os.Exit(1) + } + + now := time.Now() + payload := util.LicensePayload{ + ShopID: *shopID, + Type: *licType, + IssuedAt: now.Unix(), + MaxDevices: *maxDevices, + } + if *licenseID > 0 { + payload.LicenseID = *licenseID + } + if *days > 0 { + exp := now.Add(time.Duration(*days) * 24 * time.Hour).Unix() + payload.ExpiresAt = &exp + } + + token, err := util.IssueLicenseToken(payload, key) + if err != nil { + fmt.Fprintf(os.Stderr, "sign failed: %v\n", err) + os.Exit(1) + } + + out, _ := json.MarshalIndent(payload, "", " ") + fmt.Println("=== License Token ===") + fmt.Println(token) + fmt.Println() + fmt.Println("=== Payload ===") + fmt.Println(string(out)) + if payload.ExpiresAt != nil { + fmt.Printf("\nExpires: %s\n", time.Unix(*payload.ExpiresAt, 0).Format("2006-01-02 15:04:05")) + } else { + fmt.Println("\nExpires: never (perpetual)") + } +} diff --git a/client/lib/screens/about/about_screen.dart b/client/lib/screens/about/about_screen.dart index 99612fa..0da6be0 100644 --- a/client/lib/screens/about/about_screen.dart +++ b/client/lib/screens/about/about_screen.dart @@ -101,7 +101,7 @@ class _AboutScreenState extends ConsumerState { ), OutlinedButton.icon( onPressed: () async { - final url = Uri.parse('${AppInfo.website}/downloads/'); + final url = Uri.parse('${AppInfo.website}/changelog/'); if (await canLaunchUrl(url)) launchUrl(url); }, icon: const Icon(Icons.history_outlined, size: 16), diff --git a/docs/testing/license-test-flow.html b/docs/testing/license-test-flow.html new file mode 100644 index 0000000..ba2ceeb --- /dev/null +++ b/docs/testing/license-test-flow.html @@ -0,0 +1,641 @@ + + + + + + #21 授权功能测试流程 + + + +
+ +
+
#21 授权信息功能
+

授权功能本地测试流程

+

覆盖注册 → 试用 → 宽限期 → 只读 → 锁定 → 续费激活全链路

+
+ + +
+
🔑 前置准备
+
✅ 试用期
+
⚠️ 宽限期
+
🔒 只读模式
+
🚫 锁定
+
🔄 续费激活
+
🛡️ 防伪验证
+
+ + +
+
+
📊
+
+

阶段速查表

+
各阶段对应的 expires_at 偏移量与行为
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
阶段expires_at 设置写操作登录前端表现
normal未来时间(未过期)✅ 正常✅ 正常绿色状态,无横幅
grace1–7 天前✅ 正常✅ 正常橙色横幅 + 启动弹窗
readonly7–15 天前🚫 403✅ 正常红色横幅,写操作提示错误
locked15+ 天前🚫 403🚫 拒绝登录失败提示
+
+ + +
+
+
🔑
+
+

前置准备 仅需一次

+
生成密钥对,配置后端环境变量
+
+
+
    +
  1. +
    + 生成 Ed25519 密钥对: +
    # 在项目根目录执行
    +export PATH="/opt/homebrew/bin:$PATH"
    +cd backend
    +go run ./cmd/genkey
    + 输出两段 base64:第一段是私钥(存 Bitwarden),第二段是公钥。 +
    +
  2. +
  3. +
    + 配置后端环境变量(在启动脚本或 .env 中): +
    export LICENSE_ED25519_PRIVATE_KEY="<私钥 base64>"
    +export LICENSE_ED25519_PUBLIC_KEY="<公钥 base64>"
    +
    +
  4. +
  5. 重启后端服务,使配置生效。
  6. +
+
+ 💡 + 未配置私钥时,注册不会自动创建试用授权,注册后设置页会显示「无授权信息」。 +
+
+ + +
+
+
+
+

阶段一:注册 → 自动试用 normal

+
验证注册时自动签发 30 天试用授权
+
+
+
    +
  1. 用客户端注册一个新账号(新门店)
  2. +
  3. 登录后进入 设置 → 授权 标签
  4. +
  5. + (可选)查数据库确认自动创建: +
    SELECT id, shop_id, type, expires_at, is_active, max_devices
    +FROM licenses
    +ORDER BY id DESC LIMIT 1;
    + 记下 shop_id,后续所有 SQL 替换 1 为该值。 +
  6. +
+
+
预期结果
+
    +
  • 设置页显示「试用版」绿色状态
  • +
  • 到期时间约为注册后 30 天
  • +
  • 无横幅,无弹窗
  • +
  • DB 中 type='trial',is_active=1
  • +
+
+
+ + +
+
+
⚠️
+
+

阶段二:宽限期 grace

+
过期 0–7 天 · 仍可写 · 出现橙色横幅
+
+
+
    +
  1. + 执行 SQL,模拟 3 天前过期: +
    -- shop_id 替换为你的实际值
    +UPDATE licenses
    +SET expires_at = DATE_SUB(NOW(), INTERVAL 3 DAY)
    +WHERE shop_id = 1;
    +
  2. +
  3. 退出登录 → 重新登录(JWT 重新签发,携带新的过期时间)
  4. +
  5. 观察顶部横幅,进入设置查看状态颜色
  6. +
  7. 尝试新建入库单或编辑商品,确认写操作正常
  8. +
+
+
预期结果
+
    +
  • 顶部出现橙色横幅「授权已过期,请续费」
  • +
  • 首次登录弹出到期提示弹窗
  • +
  • 设置页状态为橙色「宽限期」
  • +
  • 写操作(入库、编辑)仍然可以正常使用
  • +
+
+
+ + +
+
+
🔒
+
+

阶段三:只读模式 readonly

+
过期 7–15 天 · 写操作被拦截
+
+
+
    +
  1. + 执行 SQL,模拟 10 天前过期: +
    UPDATE licenses
    +SET expires_at = DATE_SUB(NOW(), INTERVAL 10 DAY)
    +WHERE shop_id = 1;
    +
  2. +
  3. 退出登录 → 重新登录
  4. +
  5. 尝试新建入库单编辑商品
  6. +
  7. 尝试查看商品列表、库存记录(只读应正常)
  8. +
+
+
预期结果
+
    +
  • 顶部红色横幅
  • +
  • 写操作被拦截,显示「系统处于只读模式,无法修改」
  • +
  • 查看类操作(GET 请求)正常响应
  • +
  • 设置页状态为红色「只读模式」
  • +
+
+
+ + +
+
+
🚫
+
+

阶段四:锁定 locked

+
过期 15+ 天 · 无法登录
+
+
+
    +
  1. + 执行 SQL,模拟 20 天前过期: +
    UPDATE licenses
    +SET expires_at = DATE_SUB(NOW(), INTERVAL 20 DAY)
    +WHERE shop_id = 1;
    +
  2. +
  3. 不要退出,先测试当前会话:尝试任何写操作 → 应被拦截
  4. +
  5. 然后退出登录
  6. +
  7. 尝试重新登录
  8. +
+
+
预期结果
+
    +
  • 当前会话写操作返回 403
  • +
  • 退出后重新登录:失败,提示「授权已锁定,请续费后重新激活」
  • +
+
+
+ ℹ️ + 登录被拒是从数据库实时读取的,无需重启服务或刷新 JWT 即可生效。 +
+
+ + +
+
+
🔄
+
+

阶段五:续费激活

+
签发新授权码 → 用户激活 → 恢复正常
+
+
+ +
+

5.1 运营方:签发授权码

+
    +
  1. + 执行 issue 命令(确保环境变量已配置): +
    # shop 替换为实际 shop_id;days 为有效天数;devices 为最大设备数
    +export PATH="/opt/homebrew/bin:$PATH"
    +cd backend
    +go run ./cmd/issue \
    +  -shop 1 \
    +  -days 365 \
    +  -type annual \
    +  -devices 5
    + 输出的 token 字符串即为授权码,复制备用。 +
  2. +
+ +
+

5.2 用户:在应用内激活

+
    +
  1. + 此时登录仍会被拒。需要先用 SQL 临时解锁以便进入设置: +
    -- 临时恢复到 grace 阶段(允许登录)
    +UPDATE licenses
    +SET expires_at = DATE_SUB(NOW(), INTERVAL 3 DAY)
    +WHERE shop_id = 1;
    +
  2. +
  3. 重新登录,进入 设置 → 授权 → 激活授权码
  4. +
  5. 粘贴步骤 5.1 的 token → 点击「激活」
  6. +
  7. 激活成功后退出登录 → 重新登录
  8. +
+
+
预期结果
+
    +
  • 激活成功,设置页显示「正式版(annual)」绿色状态
  • +
  • 到期日显示约 1 年后
  • +
  • 重新登录成功,无横幅,写操作恢复正常
  • +
+
+
+ + +
+
+
🛡️
+
+

阶段六:防伪验证

+
确认伪造/篡改的授权码被拒绝
+
+
+
    +
  1. 取上一步签发的 token,随意修改几个字符(如把末尾 3 个字符换掉)
  2. +
  3. 在激活框粘贴修改后的 token → 点击「激活」
  4. +
  5. 再试一次:随便输入一段乱码文本
  6. +
+
+
预期结果
+
    +
  • 两次激活均失败
  • +
  • 提示签名无效或格式错误
  • +
  • 当前授权状态不受影响
  • +
+
+
+ + +
+

🔄 测试完毕 — 快速重置

+
-- 恢复为 30 天后到期(正常试用状态)
+UPDATE licenses
+SET expires_at = DATE_ADD(NOW(), INTERVAL 30 DAY)
+WHERE shop_id = 1;
+
+ + +
+
+
📝
+
+

注意事项

+
+
+
    +
  1. 每次改 DB 后必须重新登录LicenseExpiresAt 缓存在 JWT 里,不重登前端阶段判断不会更新(登录拦截除外,那个实时读 DB)
  2. +
  3. shop_id 替换为你实际注册账号对应的值,通常第一个账号为 1
  4. +
  5. issue 工具依赖 LICENSE_ED25519_PRIVATE_KEY 环境变量,确保 shell 会话中已导出
  6. +
  7. 设置页的「激活授权码」卡片仅在授权为非正常状态(grace/readonly/locked)或 readonly phase 时显示;normal 下隐藏
  8. +
+
+ +
+ docs/testing/license-test-flow.html · #21 授权信息功能 · 测试流程文档 +
+ +
+ + diff --git a/todo/todo.html b/todo/todo.html index 40b6ec7..177733f 100644 --- a/todo/todo.html +++ b/todo/todo.html @@ -224,9 +224,9 @@ ul.todo-list { list-style: none; margin: 0; padding: 0; }
生成于 2026-06-10 · 真相源 todo/todo.json
24全部
-
4待开始
-
1开发中
-
5待验收
+
2待开始
+
2开发中
+
6待验收
14已验收
@@ -269,7 +269,7 @@ ul.todo-list { list-style: none; margin: 0; padding: 0; }
- 📋 待开始 4 + 📋 待开始 2 ▴ 收起
@@ -303,34 +303,6 @@ ul.todo-list { list-style: none; margin: 0; padding: 0; }
-
  • -
    - 关于我们页文档/更新日志链接更新,Web 新增版本历史页 -
    - 待开始 - 一般 / 优化 - - - -
    -
    - -
    1. 客户端「关于我们」页面的「打开文档」「更新日志」链接指向需更新为正确地址。2. Web 营销站新增版本更新页面(/changelog 或 /download/),从 CHANGELOG.md 自动渲染,展示所有历史版本更新记录。
    - - -
  • -
  • 🕐 2026-06-08 +
  • + + + + + +
    +
    + 🔨 开发中 2 + ▴ 收起 +
    +
    +
      + +
    • +
      + 关于我们页文档/更新日志链接更新,Web 新增版本历史页 +
      + 开发中 + 一般 / 优化 + + + +
      +
      + +
      1. 客户端「关于我们」页面的「打开文档」「更新日志」链接指向需更新为正确地址。2. Web 营销站新增版本更新页面(/changelog 或 /download/),从 CHANGELOG.md 自动渲染,展示所有历史版本更新记录。
      + +
    • -
    • 服务条款与隐私政策页面
      - 待开始 + 开发中 一般 / 优化 @@ -389,101 +399,9 @@ ul.todo-list { list-style: none; margin: 0; padding: 0; }
    -
    -
    - 🔨 开发中 1 - ▴ 收起 -
    -
    -
      - -
    • -
      - 授权信息功能方案设计 -
      - 开发中 - 重要 - - 0/8 子任务 - -
      -
      - -
      完整方案设计,涵盖:界面设计与交互、前端实现方案、后端接口与数据模型、安全策略(防盗用、防滥用、授权校验)等。需产出设计文档后再进入开发阶段。
      -
      -
      - 子任务 - 0 / 8 完成 -
      -
      -
      • - - 21A - 后端:Ed25519 签发验签工具 + GenerateKey 修复 -
        二级待开始
        -
      • -
      • - - 21B - 数据库:license_devices 表 + licenses 表改造 -
        二级待开始依赖:21A
        -
      • -
      • - - 21C - 后端:注册自动签发 30 天 trial license -
        二级待开始依赖:21A
        -
      • -
      • - - 21D - 后端:LicenseGuard 中间件 + JWT claim 扩展 -
        二级待开始依赖:21B21C
        -
      • -
      • - - 21E - 前端:license model/repository/device_id 采集 -
        二级待开始依赖:21A
        -
      • -
      • - - 21F - 前端:激活与设备管理 UI(授权 Tab 重构) -
        二级待开始依赖:21D21E
        -
      • -
      • - - 21G - 前端:gating 横幅 + 到期弹窗(app_shell 注入) -
        二级待开始依赖:21D21E
        -
      • -
      • - - 21H - 端到端验证:phase 切换 + 签名拒绝 + 多设备上限 -
        二级待开始依赖:21D21F21G
        -
      -
      - -
    • -
    -
    -
    - 🔍 待验收 5 + 🔍 待验收 6 ▴ 收起
    @@ -573,6 +491,88 @@ ul.todo-list { list-style: none; margin: 0; padding: 0; }
    +
  • +
    + 授权信息功能方案设计 +
    + 待验收 + 一般 / 优化 + + 8/8 子任务 + +
    +
    + +
    完整方案设计,涵盖:界面设计与交互、前端实现方案、后端接口与数据模型、安全策略(防盗用、防滥用、授权校验)等。需产出设计文档后再进入开发阶段。
    +
    +
    + 子任务 + 8 / 8 完成 +
    +
    +
    • + + 21A + 后端:Ed25519 签发验签工具 + GenerateKey 修复 +
      二级待验收
      +
    • +
    • + + 21B + 数据库:license_devices 表 + licenses 表改造 +
      二级待验收依赖:21A
      +
    • +
    • + + 21C + 后端:注册自动签发 30 天 trial license +
      二级待验收依赖:21A
      +
    • +
    • + + 21D + 后端:LicenseGuard 中间件 + JWT claim 扩展 +
      二级待验收依赖:21B21C
      +
    • +
    • + + 21E + 前端:license model/repository/device_id 采集 +
      二级待验收依赖:21A
      +
    • +
    • + + 21F + 前端:激活与设备管理 UI(授权 Tab 重构) +
      二级待验收依赖:21D21E
      +
    • +
    • + + 21G + 前端:gating 横幅 + 到期弹窗(app_shell 注入) +
      二级待验收依赖:21D21E
      +
    • +
    • + + 21H + 端到端验证:phase 切换 + 签名拒绝 + 多设备上限 +
      二级待验收依赖:21D21F21G
      +
    +
    + +
  • +
  • + + + + + +更新日志 · 岩美酒库管理系统 + + + + + + + + + + + + + + + +
    +
    +
    + + +
    + v1.0.29 + 2026-06-09 +
    +
    +
    +

    新功能

    +
      +
    • Windows / macOS 桌面客户端现在限制只能运行一个实例;重复打开时弹窗提示「程序已在运行中」并自动退出
    • +
    +
    +
    + + +
    + v1.0.27 + 2026-06-09 +
    +
    +
    +

    改进

    +
      +
    • 入库单新建表单:产地、保质期、储存方式、批次号、生产日期等选填字段默认折叠,点击「展开选填」后在行内显示,减少初始界面信息量
    • +
    • 手机端现可从屏幕左边缘向右滑动打开导航菜单,无需点击汉堡图标
    • +
    • 入库单详情弹窗在手机上商品明细改为卡片式竖排布局,不再显示难以阅读的横向宽表格
    • +
    +
    +
    +

    修复

    +
      +
    • macOS 客户端下载 zip 解压失败:打包改用 ditto,正确保留 symlink 和执行权限
    • +
    +
    +
    + + +
    + v1.0.26 + 2026-06-08 +
    +
    +
    +

    新功能

    +
      +
    • 公开商品 API 新增商品编码、条码、当前库存数量字段,供扫码页及第三方集成使用
    • +
    • 公开页「商品报错」「意见反馈」提交时自动携带门店编号和商品信息,方便运营追踪
    • +
    +
    +
    +

    修复

    +
      +
    • 注册页 API 地址改为配置文件驱动,支持分离部署场景
    • +
    • 注册成功提示的客户端导航路径修正为「系统设置」
    • +
    • 公开页页脚「关于岩美」链接改为配置项,不再硬编码
    • +
    +
    +
    + + +
    + v1.0.25 + 2026-06-08 +
    +
    +
    +

    新功能

    +
      +
    • 基础数据页新增「产地」「保质期」「储存方式」「描述文档」4 个字典维护 Tab
    • +
    • 商品详情页展示产地、保质期、储存方式参数,并在介绍区上方显示建议零售价
    • +
    • 入库单详情中商品列展示产地、保质期、储存方式信息
    • +
    • 公开扫码页新增「商品报错」「意见反馈」功能,用户可提交反馈
    • +
    +
    +
    + + +
    + v1.0.24 + 2026-06-08 +
    +
    +
    +

    新功能

    +
      +
    • 扫码商品页新增「查看本店其他商品」功能,点击即可浏览该门店全部上架商品
    • +
    • 门店可在设置中填写微信号,顾客扫码后可直接查看并添加门店微信
    • +
    • 商品公开页展示建议零售价(有填写时显示)
    • +
    • 入库时可为商品关联产地、保质期、储存方式、描述文档
    • +
    +
    +
    +

    改进

    +
      +
    • 新增产地/保质期/储存方式/描述文档四类基础数据字典,支持增删改查
    • +
    +
    +
    + + +
    + v1.0.22 + 2026-06-07 +
    +
    +
    +

    新功能

    +
      +
    • 官网移动端适配:手机浏览器下导航折叠、首页各区块单列排版
    • +
    +
    +
    +

    改进

    +
      +
    • 客户端移动端布局优化:入库/出库详情页商品明细改为卡片式竖排,操作按钮收纳至溢出菜单
    • +
    • 信息架构整理:仓库管理移入基础数据,系统设置新增授权 Tab 和数据管理组
    • +
    +
    +
    + + +
    + v1.0.21 + 2026-06-07 +
    +
    +
    +

    新功能

    +
      +
    • 商品详情页添加照片时,手机端(Android/iOS)支持直接拍照或从相册选择
    • +
    +
    +
    + + +
    + v1.0.18 + 2026-06-06 +
    +
    +
    +

    新功能

    +
      +
    • 移动端(Android)界面全面适配:侧边栏改为侧滑抽屉导航,各列表由宽表格自动切换为卡片流,弹窗与表单自适应屏宽
    • +
    • Android 客户端正式上线,随发版自动发布到下载页
    • +
    +
    +
    + + +
    + v1.0.17 + 2026-06-05 +
    +
    +
    +

    新功能

    +
      +
    • 意见反馈改为应用内直接提交,支持文字 + 图片(最多 9 张),不再跳转邮件
    • +
    +
    +
    +

    改进

    +
      +
    • 「关于」更名为「关于我们」并移至左侧菜单,成为独立页面
    • +
    • 打印时默认文件名带类型与时间戳,方便「打印到 PDF」归档
    • +
    +
    +
    + + +
    + v1.0.16 + 2026-06-05 +
    +
    +
    +

    新功能

    +
      +
    • 应用内更新:Windows/macOS 点「立即更新」直接在应用内下载并自动安装/重启(带进度条)
    • +
    • Windows 安装程序改为中文向导
    • +
    +
    +
    + + +
    + v1.0.13 + 2026-06-04 +
    +
    +
    +

    新功能

    +
      +
    • Windows 客户端改为提供安装程序(含安装向导、桌面/开始菜单快捷方式、卸载项)
    • +
    +
    +
    + + +
    + v1.0.4 + 2026-05-30 +
    +
    +
    +

    新功能

    +
      +
    • 支持 macOS 桌面客户端下载,下载 zip 解压即用
    • +
    +
    +
    + + +
    + v1.0.3 + 2026-05-28 +
    +
    +
    +

    新功能

    +
      +
    • 新增用户自助注册功能,在官网 /register/ 填写门店信息即可完成注册,系统自动生成门店编码
    • +
    • 支持 Windows 桌面客户端构建与发布
    • +
    +
    +
    + + +
    + v1.0.1 + 2026-05-25 +
    +
    +
    +

    改进

    +
      +
    • 库存搜索支持拼音和拼音首字母(如搜「mt」或「maotai」可匹配「茅台」)
    • +
    • 新增异常自动上报机制,线上错误可实时追踪
    • +
    +
    +
    + + +
    + v1.0.0 + 2026-05-24 +
    +
    +

    初始版本发布,完成核心库存管理功能。

    +
    +

    核心功能

    +
      +
    • 商品管理:多规格商品档案、图片、公开二维码扫码展示
    • +
    • 库存管理:入库审核、出库审核、库存盘点、流水记录
    • +
    • 财务管理:往来账目、对账单
    • +
    • 用户权限:管理员 / 成员 / 只读三级权限控制
    • +
    • 多租户隔离:门店数据完全独立
    • +
    +
    +
    + +
    +
    +
    + + + + + + + diff --git a/web/dist/docs/index.html b/web/dist/docs/index.html new file mode 100644 index 0000000..6e5c950 --- /dev/null +++ b/web/dist/docs/index.html @@ -0,0 +1,890 @@ + + + + + + +使用手册 · 岩美酒库管理系统 + + + + + + + + + + + + + + + + + +
    +
    + + + + +
    + + 版本 + v1.0.23 +
    +
    +
    + + +
    + + + + + +
    + +
    +

    1. 系统概述

    +

    岩美酒库管理系统专为酒行门店设计,将入库、出库、库存查询、财务往来等日常业务整合到一个平台,支持多人协同操作,数据实时同步。

    +

    核心功能一览

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    模块主要用途
    入库管理新建入库单、提交审核、审批通过后自动更新库存
    出库管理新建出库单、提交审核、审批时自动扣减库存
    库存管理查询实时库存、库存盘点、打印标签
    财务管理查看应付款(欠供应商)和应收款(客户欠款)、标记结清
    往来单位管理供应商和客户的基本信息
    基础数据维护商品名称、系列、规格字典
    系统设置用户管理、仓库管理、编号规则、数据导入
    +

    支持平台:Web 浏览器(现已上线);Windows、macOS、iOS、Android 客户端即将推出。

    +
    + +
    + +
    +

    2. 登录与退出

    +

    2.1 登录

    +
      +
    1. 打开系统,进入登录页面。
    2. +
    3. 在「门店编号」栏输入酒行的门店代号(例如 S001)。
    4. +
    5. 输入「用户名」和「密码」。
    6. +
    7. 点击「登录」按钮。
    8. +
    +

    登录成功后,系统自动跳转到「入库管理」页面。

    +

    提示:系统会记录最近登录过的用户名,点击输入框可从候选列表中快速选择。

    +

    2.2 退出登录

    +

    点击顶部右侧用户名旁的下拉箭头,选择「退出登录」。

    +

    2.3 查看当前登录信息

    +

    点击顶部左侧「岩美」标题或右侧「门店编号」区域,弹出门店信息面板,显示门店编号、登录账号、姓名、系统版本。

    +
    + +
    + +
    +

    3. 界面说明

    +

    系统主界面由三个区域组成:

    +
    ┌──────────────────────────────────────────────────────────┐
    +│  顶部导航栏(标题、门店编号、用户名、退出)              │
    +├──────────┬───────────────────────────────────────────────┤
    +│          │                                               │
    +│  左侧    │           主内容区域                         │
    +│  侧边栏  │                                               │
    +│          │                                               │
    +├──────────┴───────────────────────────────────────────────┤
    +│  状态栏(门店、用户、登录时间、当前时间、连接状态)       │
    +└──────────────────────────────────────────────────────────┘
    +
    +

    左侧侧边栏导航项

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    导航项功能
    入库管理入库单录入与审核
    出库管理出库单录入与审核
    库存管理库存查询与盘点
    财务管理应付款和应收款
    往来单位供应商与客户
    基础数据商品名称、系列、规格字典
    系统设置用户、仓库、编号规则等配置
    +

    点击侧边栏顶部的菜单图标可收起或展开侧边栏,节省屏幕空间。

    +

    更新提示:有新版本时,内容区顶部会显示黄色提示横幅;如果是必须更新的版本,会弹出对话框要求立即更新。

    +

    离线提示:网络断开时,顶部显示红色横幅「网络连接已断开」,状态栏变红,此时展示上次加载的缓存数据。

    +
    + +
    + +
    +

    4. 角色与权限

    +

    系统有四种角色,权限从高到低依次为:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    角色说明可执行操作
    超级管理员系统最高权限账号全部操作,含数据清空
    管理员门店管理人员全部操作,含用户管理、酒行信息编辑
    操作员日常录入审核人员新建、编辑、提交、审核单据,查询数据
    只读仅查看数据只能查看,不能新建、修改、删除任何数据
    +

    权限说明

    +
      +
    • 只读账号点击任何写操作按钮时,系统将直接提示「无权限」。
    • +
    • 新增或编辑用户、重置密码仅管理员可操作。
    • +
    • 修改酒行基本信息仅管理员可操作。
    • +
    • 数据清空仅超级管理员可操作。
    • +
    +
    + +
    + +
    +

    5. 入库管理

    +

    入库管理页面包含两个标签页:入库审核(新建和待审核)和入库单(已完成记录)。

    +

    5.1 入库单状态说明

    +

    单据状态按以下流程流转:

    +

    草稿待审核已审批(库存增加)

    +

    待审核阶段也可被拒绝,变为已拒绝状态(库存不变)。

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    状态含义
    草稿已保存但未提交,可继续编辑或删除
    待审核已提交等待审批,不可再编辑
    已审批审批通过,库存已增加,同时生成应付账款记录
    已拒绝审批不通过,库存不变
    +

    5.2 新建入库单

    +
      +
    1. 点击左侧「入库管理」,切换到「入库审核」标签页。
    2. +
    3. 点击右上角「新建入库审核单」按钮。
    4. +
    5. 填写入库基本信息: +
        +
      • 仓库(必填):选择货物入库的目标仓库。
      • +
      • 供应商(必填):选择供货的往来单位。
      • +
      • 入库日期(必填):默认为今天,可修改。
      • +
      • 备注(选填):填写本批次入库说明。
      • +
      +
    6. +
    7. 在商品明细区域填写每一行商品: +
        +
      • 商品名称(必填):从字典中选择或直接输入。
      • +
      • 系列(必填):选择商品系列。
      • +
      • 规格(必填):选择商品规格,如 500ml×6。
      • +
      • 生产日期(必填):点击日历图标选择。
      • +
      • 批次号(选填):填写批次编号,用于后续追踪查询。
      • +
      • 数量(必填):填写入库数量。
      • +
      • 单价(必填):填写进货单价,系统自动计算总金额。
      • +
      +
    8. +
    9. 点击「添加商品」可继续增加商品行,点击行末「删除」可移除该行。
    10. +
    11. 完成后选择操作: +
        +
      • 保存草稿:保存后可以继续修改。
      • +
      • 保存并提交审核:提交后进入待审核状态,不可再编辑。
      • +
      +
    12. +
    +

    5.3 提交审核

    +

    草稿状态的入库单,在列表中点击「提交」按钮,确认后单据进入「待审核」状态。

    +

    5.4 审批入库单

    +

    操作员及以上权限的用户均可审批。

    +
      +
    1. 在「入库审核」标签页中找到待审核的入库单。
    2. +
    3. 点击「通过」:弹窗确认,确认后系统自动将商品入库,库存增加,同时生成一笔应付账款记录。
    4. +
    5. 点击「拒绝」:弹窗确认,拒绝后库存不变,单据进入「已拒绝」状态。
    6. +
    +

    注意:审批通过后操作不可撤销,请仔细核对商品数量和单价后再确认。

    +

    5.5 查看入库单详情

    +

    点击入库单号(蓝色链接)可弹出详情页,显示完整的商品明细、数量、金额及审核信息。详情页右上角有打印按钮,可直接打印入库单。

    +

    5.6 打印入库单

    +

    在列表中点击对应行的「打印」按钮,直接调用打印机打印入库单据。

    +

    5.7 打印商品标签

    +
      +
    1. 在列表中点击对应行的「打标签」按钮。
    2. +
    3. 弹出商品标签打印对话框,列出本次入库的所有商品。
    4. +
    5. 勾选需要打印标签的商品(默认全选)。
    6. +
    7. 点击「打印选中」,系统逐张打印选中商品的标签。
    8. +
    +

    标签内容包括:商品名称、编码、系列、规格、批次号、生产日期、酒行名称及联系方式、二维码。

    +

    5.8 标记货款结清

    +

    审批通过的入库单会自动生成应付账款记录。货款付清后,在列表中点击「结清」按钮,确认后将对应财务记录标记为已结清。

    +

    5.9 筛选与导出

    +
      +
    • 仓库筛选:点击列头「仓库」的筛选图标,选择仓库进行过滤。
    • +
    • 供应商筛选:点击列头「供应商」的筛选图标,选择供应商进行过滤。
    • +
    • 日期筛选:点击「选择日期」按钮,选择日期范围。
    • +
    • 导出:点击「导出」按钮,将当前列表导出为 Excel 文件。
    • +
    +
    + +
    + +
    +

    6. 出库管理

    +

    出库管理与入库管理操作流程类似,包含出库审核(待处理)和出库单(已完成)两个标签页。

    +

    6.1 出库单状态说明

    +

    出库单状态流转与入库单相同:草稿 → 待审核 → 已审批或已拒绝。

    +

    审批通过后:

    +
      +
    • 系统会先检查库存是否充足,库存不足时审批失败并给出提示,库存不变。
    • +
    • 库存充足时自动扣减库存,并生成应收账款记录。
    • +
    +

    6.2 新建出库单

    +
      +
    1. 点击左侧「出库管理」,切换到「出库审核」标签页。
    2. +
    3. 点击右上角「新建出库审核单」按钮。
    4. +
    5. 填写基本信息: +
        +
      • 仓库(必填):选择出货仓库。
      • +
      • 客户(必填):选择购买方(往来单位中的客户类型)。
      • +
      • 出库日期(必填):默认今天,可修改。
      • +
      +
    6. +
    7. 填写商品明细:商品名称、系列、规格、数量、单价(操作方式同入库单)。
    8. +
    9. 保存草稿或保存并提交审核。
    10. +
    +

    注意:出库数量不能超过当前库存,审批时系统会自动检查,库存不足会提示失败。

    +

    6.3 审批出库单

    +

    操作步骤与入库审批相同。审批通过后库存自动扣减,同时生成应收账款记录。

    +

    6.4 打印出库单

    +

    在列表中点击「打印」按钮,打印出库单据。

    +

    6.5 标记货款结清

    +

    出库单审批通过后生成应收账款。收到货款后,在列表中点击「结清」按钮,将对应财务记录标记为已结清。

    +
    + +
    + +
    +

    7. 库存管理

    +

    7.1 查询库存

    +

    点击左侧「库存管理」进入库存列表。

    +

    列表显示每个商品的实时库存数量、所在仓库、单价、金额、生产日期、批次等信息。

    +
      +
    • 搜索:在搜索框输入商品名称关键字(也支持拼音或拼音首字母),实时过滤结果。
    • +
    • 仓库筛选:点击列头「仓库」的筛选图标,按仓库查看库存。
    • +
    • 导出:点击「导出」按钮,将当前库存列表导出为 Excel 文件。
    • +
    +

    7.2 修改备注

    +

    在库存列表中,点击「备注」列对应单元格(显示铅笔图标或现有备注内容),弹出编辑框,填写后点击「保存」即可。

    +

    7.3 打印商品标签

    +

    在库存列表中点击某商品行的「打印标签」按钮,可单独打印该商品的标签。

    +

    7.4 库存盘点

    +
      +
    1. 在库存管理页面切换到「库存盘点」标签页。
    2. +
    3. 选择要盘点的仓库,系统自动加载该仓库所有商品的账面库存数量。
    4. +
    5. 选择盘点类型(全盘)。
    6. +
    7. 逐行填写实际盘点数量(与账面不符时修改数量)。
    8. +
    9. 点击「提交盘点」完成。
    10. +
    +

    盘点单编号由系统自动生成。

    +

    7.5 库存流水

    +

    「库存流水」标签页可查看每次库存变动记录,包括入库、出库的时间、变动数量等。

    +
    + +
    + +
    +

    8. 财务管理

    +

    8.1 财务记录说明

    +

    系统在以下情况自动生成财务记录:

    +
      +
    • 入库单审批通过 → 自动生成应付账款(欠供应商的货款)
    • +
    • 出库单审批通过 → 自动生成应收账款(客户欠的货款)
    • +
    +

    点击左侧「财务管理」进入财务页面,包含三个标签:

    + + + + + + + + + + + + + + + + + + + + + +
    标签内容
    全部记录所有财务流水
    应付账款需要向供应商付款的记录
    应收账款客户尚未付款的记录
    +

    8.2 查看财务记录

    +
      +
    • 默认显示当前月份的记录,可通过月份选择器查看历史月份。
    • +
    • 支持按「类型」和「往来单位」列头筛选。
    • +
    • 点击「导出」可导出当月数据为 Excel 文件。
    • +
    +

    8.3 标记结清

    +

    方式一:在入库单或出库单列表中点击「结清」按钮,直接结清该单据对应的账款。

    +

    方式二:在财务管理列表中找到对应记录,点击「结清」按钮,单笔结清。

    +

    结清后该记录状态从「未结清」变为「已结清」。

    +

    8.4 财务汇总

    +

    财务管理页面显示当期应付和应收总额,便于掌握资金往来概况。

    +
    + +
    + +
    +

    9. 往来单位

    +

    往来单位管理供应商客户两类信息,新建入库单时选择供应商,新建出库单时选择客户。

    +

    9.1 查看往来单位

    +

    点击左侧「往来单位」,通过「供应商」和「客户」标签页分别查看。列表支持按名称搜索和导出。

    +

    9.2 新建往来单位

    +
      +
    1. 在对应标签页点击右上角「新建」按钮。
    2. +
    3. 填写信息: +
        +
      • 名称(必填)
      • +
      • 联系电话(选填)
      • +
      • 地址(选填)
      • +
      • 卡号(选填,如有账户绑定)
      • +
      • 初始余额(选填,导入历史数据时填写)
      • +
      • 备注(选填)
      • +
      +
    4. +
    5. 点击「保存」。
    6. +
    +

    9.3 编辑往来单位

    +

    在列表中点击「编辑」按钮,修改信息后保存。

    +

    9.4 删除往来单位

    +

    在列表中点击「删除」按钮,确认后删除。

    +

    注意:已关联入库单或出库单的往来单位不可删除。

    +
    + +
    + +
    +

    10. 基础数据(商品管理)

    +

    点击左侧「基础数据」,进入商品字典管理页面,包含三个标签:商品名称系列规格

    +

    这些字典数据是新建入库或出库单时选择商品的基础,需要先在此处维护好商品信息。

    +

    10.1 商品名称管理

    +

    商品名称是酒品的主名称,例如「茅台飞天 53°」。

    +
      +
    1. 在「商品名称」标签页,点击「新建」按钮。
    2. +
    3. 填写商品名称(必填)、编号(选填)、备注(选填)。
    4. +
    5. 点击「保存」。
    6. +
    +

    支持按名称或编号搜索,支持分页浏览,支持编辑和删除。

    +

    10.2 系列管理

    +

    系列是商品所属的系列或品牌线,例如「飞天系列」「王子系列」。操作步骤与商品名称相同。

    +

    10.3 规格管理

    +

    规格用于描述包装规格,例如「500ml×6」「1000ml×1」。新建时可填写「单品数量」(即一箱包含的单瓶数量)。

    +

    10.4 商品详情与二维码

    +

    每个商品都有唯一的二维码,可通过扫码访问商品公开信息页面。在商品详情页可查看或上传商品图片。

    +
    + +
    + +
    +

    11. 系统设置

    +

    点击左侧「系统设置」,包含七个标签页。

    +

    11.1 酒行信息

    +

    显示本门店的基本信息:门店编号、门店名称、地址、联系电话、负责人。

    +

    编辑(仅管理员):点击「编辑信息」按钮,修改门店名称、地址、电话、负责人后保存。门店编号不可修改。

    +

    11.2 用户管理(仅管理员)

    +

    查看用户:显示本门店所有用户的姓名、用户名、角色、启用状态。

    +

    新增用户

    +
      +
    1. 点击「新增用户」按钮。
    2. +
    3. 填写用户名(登录账号,不可重复)、姓名、手机号、初始密码。
    4. +
    5. 选择角色(操作员、管理员、只读、超级管理员)。
    6. +
    7. 点击「保存」。
    8. +
    +

    编辑用户:点击用户行的「编辑」按钮,可修改姓名、手机号、角色(用户名不可修改)。

    +

    重置密码:点击「重置密码」按钮,输入新密码后确认,下次登录时使用新密码。

    +

    启用或停用:在用户列表中拨动状态开关。停用后该用户无法登录。

    +

    11.3 仓库管理

    +

    查看仓库:显示所有仓库名称、位置、是否为默认仓库。

    +

    新建仓库

    +
      +
    1. 点击「新建」按钮。
    2. +
    3. 填写仓库名称(必填)、位置(选填)。
    4. +
    5. 可勾选「设为默认仓库」,新建单据时将自动选择此仓库。
    6. +
    7. 点击「保存」。
    8. +
    +

    编辑或删除:点击对应按钮操作。已有库存的仓库不可删除。

    +

    11.4 编号规则

    +

    系统为每类单据自动生成唯一编号,格式由前缀、日期和序号组成,例如入库单编号 RK20260523001

    +

    查看当前规则:列表显示每种单据的前缀、当前序号及下一编号示例。

    +

    修改规则

    +
      +
    1. 点击对应规则行的「编辑」按钮。
    2. +
    3. 可修改「前缀」和「当前序号」。
    4. +
    5. 点击「保存」,修改后对新建单据生效。
    6. +
    +

    注意:请勿将序号调小至已使用过的范围,否则可能导致编号重复。

    +

    11.5 系统参数

    +

    配置系统的全局参数:

    +
      +
    • 系统名称、货币单位、日期格式、时区(通常无需修改)
    • +
    • 入库单需要审核:关闭后提交即视为通过,无需审批
    • +
    • 出库单需要审核:关闭后同上
    • +
    • 允许超量出库:开启后,出库数量超过库存时仍可审批通过
    • +
    +

    修改后点击「保存设置」生效,点击「重置默认」恢复出厂默认值。

    +

    11.6 数据导入

    +

    通过 Excel 文件批量导入历史数据。支持以下数据类型:往来单位、商品名称、商品系列、商品规格、商品编码、库存。

    +

    各类型的 Excel 格式要求详见系统内「系统设置 → 数据导入」页面说明。

    +

    操作步骤

    +
      +
    1. 在对应数据类型行点击「选择文件」,选择 Excel(.xls 或 .xlsx)文件。
    2. +
    3. 全部文件选择完成后,点击「全部导入」按钮。
    4. +
    5. 系统依次处理每个文件并显示导入结果(新增、跳过重复、失败数量)。
    6. +
    7. 如有失败,根据错误提示修正文件后重新导入。
    8. +
    +

    导入规则:以名称去重,已存在的记录不重复导入。导入过程中请勿切换页面。

    +

    数据清空(仅超级管理员):在数据导入页面下方「危险操作」区域,选择要清空的数据表,点击确认后输入「确认清空」完成操作。此操作不可撤销,请务必提前做好数据备份。

    +

    11.7 关于

    +
      +
    • 版本信息:显示当前系统版本。有新版本时可点击「立即更新」。
    • +
    • 授权信息:显示授权类型(试用、月付、年付、买断)、授权状态、到期时间。授权剩余不足 30 天时会显示倒计时提醒。
    • +
    • 意见反馈:点击「反馈 Bug」或「功能建议」,通过邮件向开发团队反馈。
    • +
    +
    + +
    + +
    +

    12. 常见问题

    +

    Q:入库单提交后发现填错了,怎么办?

    +

    单据提交(待审核状态)后不可再修改。请联系管理员将该单据拒绝,然后重新新建一张正确的入库单。

    +

    Q:出库审批时提示「库存不足」,怎么处理?

    +

    出库数量超过当前仓库库存时,系统会拒绝审批。请检查出库数量,或确认对应商品的入库单是否已审批通过、库存已更新。

    +

    Q:结清了财务记录但发现结清错了,如何撤销?

    +

    目前系统不支持撤销结清操作。如需处理,请联系技术支持。

    +

    Q:如何查找某批商品是从哪张入库单入库的?

    +

    在库存管理列表中查看商品的批次号,然后在入库管理中按批次号搜索对应的入库单。

    +

    Q:导入数据时提示「格式错误」,怎么处理?

    +

    请检查 Excel 文件的列顺序是否与「系统设置 → 数据导入」页面说明的格式一致,且第一行为数据行(无需填写表头)。如问题持续,可将文件发送给技术支持排查。

    +

    Q:用户无法登录,怎么处理?

    +

    请管理员在「系统设置 → 用户管理」中检查该用户是否处于启用状态,并使用「重置密码」功能为其设置新密码。

    +

    Q:操作时提示「无权限」,是什么原因?

    +

    当前账号角色为「只读」,不允许执行写操作。如需操作,请联系管理员调整账号角色。

    +

    Q:系统显示「网络连接已断开」,数据还准确吗?

    +

    网络断开时,系统展示上次加载的缓存数据,可能不是最新状态。请恢复网络连接后刷新页面获取最新数据。

    +

    Q:如何联系技术支持?

    +

    进入「系统设置 → 关于」查看联系邮箱和技术支持时间。工作日(周一至周五)9:00 - 18:00 可获得响应。

    + +
    + + +
    + + +
    +
    + + + + +
    + + + + + + + + + + diff --git a/web/dist/download/index.html b/web/dist/download/index.html new file mode 100644 index 0000000..669e8f4 --- /dev/null +++ b/web/dist/download/index.html @@ -0,0 +1,872 @@ + + + + + + +下载 · 岩美酒库管理系统 + + + + + + + + + + + + + + + + + + + + +
    +
    +

    支持的平台

    +

    Web 版、Windows / macOS 桌面版与 Android 客户端现已可用,iOS 正在开发中。

    + +
    + +
    +
    +

    Web 版

    +

    浏览器直接访问,功能完整,无需安装,支持 PC 与平板。

    + ✓ 已上线 + + 立即使用 + +
    + + +
    +
    +

    Windows

    +

    原生桌面客户端,支持 Win 10/11(64 位),离线模式与本地打印。

    + ✓ 已支持 + + 下载 Windows 版 + +
    + + +
    +
    +

    macOS

    +

    支持 Apple Silicon 与 Intel,解压即用,首次运行右键→打开。

    + ✓ 已支持 + + 下载 macOS 版 + +
    + + +
    +
    +

    iOS

    +

    iPhone 与 iPad 通用,通过 TestFlight 安装。

    + 敬请期待 + + 即将推出 + +
    + + +
    +
    +

    Android

    +

    手机与平板通用,APK 直接安装,支持 Android 6.0 及以上。

    + ✓ 已支持 + + 下载 Android 版 + +
    +
    +
    +
    + + +
    +
    +

    系统要求

    +

    在以下环境中均经过测试与验证。

    +
    +

    Web 版(已上线)

    + + + + + + + + + + + + + + + + + + + + +
    要求最低推荐
    浏览器Chrome 90 / Firefox 90 / Safari 15 / Edge 90最新稳定版
    网络任意宽带10 Mbps+
    +

    Windows(已支持)

    + + + + + + + + + + + + + + + + + + + + + +
    要求版本
    系统Windows 10(64 位)及以上
    内存4 GB RAM
    存储500 MB 可用空间
    +

    macOS(敬请期待)

    + + + + + + + + + + + + + + + + + + + + + +
    要求版本
    系统macOS 12 及以上
    内存4 GB RAM
    存储500 MB 可用空间
    +

    iOS(敬请期待)

    + + + + + + + + + + + + + + + + + +
    要求版本
    系统iOS 15 及以上
    设备iPhone 8 / iPad 第 6 代及以上
    +

    Android(敬请期待)

    + + + + + + + + + + + + + + + + + +
    要求版本
    系统Android 9 及以上
    内存3 GB RAM
    + +
    +
    +
    + + +
    +
    +

    版本更新日志

    +

    最近 3 个版本。

    + +
    + +
    +
    +
    v1.0.23
    +
    2026-06-07
    + 当前版本 +
    +
    + + +
    +
    + + 问题修复 + +
    +
      + +
    • 官网功能详情页(库存管理/审核流)导航栏现与主站完全一致,不再缺少「库存」「审核流」入口
    • + +
    +
    + +
    +
    + + 改进 + +
    +
      + +
    • 官网功能详情页接入统一模板系统,导航/页脚/版权信息改一处自动同步全站
    • + +
    +
    + +
    +
    + +
    +
    +
    v1.0.22
    +
    2026-06-07
    + +
    +
    + + +
    +
    + + 新功能 + +
    +
      + +
    • 官网移动端适配:手机浏览器下导航折叠、首页各区块单列排版、features 详情页和页脚自适应窄屏
    • + +
    +
    + +
    +
    + + 改进 + +
    +
      + +
    • 客户端移动端布局优化:入库/出库详情页商品明细改为卡片式竖排,操作按钮收纳至溢出菜单,窄屏不再横向溢出
    • + +
    • 信息架构整理:仓库管理移入基础数据,系统设置新增授权 Tab 和数据管理组,关于我们补充帮助文档/法律信息/系统信息入口
    • + +
    +
    + +
    +
    + + 问题修复 + +
    +
      + +
    • 官网所有功能页死链修正(`/download.html` → `/download/`,`/docs.html` → `/docs/`)
    • + +
    • 官网删除未实现功能的虚假宣传(红冲、调拨单、库存推送通知、过期预警等),文案与实际功能对齐
    • + +
    • 官网客服邮箱更新为真实邮箱,移除假冒客服电话,页脚清除无目标死链
    • + +
    • 导航新增「库存」「审核流」功能页入口,首页模块卡加「了解更多」链接
    • + +
    • 下载页接口失败时按钮改为禁用态并提示,不再无响应
    • + +
    • 首页 iOS 平台说明改为「TestFlight 内测中」,与下载页状态一致
    • + +
    +
    + +
    +
    + +
    +
    +
    v1.0.21
    +
    2026-06-07
    + +
    +
    + + +
    +
    + + 新功能 + +
    +
      + +
    • 商品详情页添加照片时,手机端(Android/iOS)支持直接拍照或从相册选择
    • + +
    +
    + +
    +
    + +
    +
    +
    + + + + + + + + + + diff --git a/web/dist/features/approval.html b/web/dist/features/approval.html new file mode 100644 index 0000000..e10e359 --- /dev/null +++ b/web/dist/features/approval.html @@ -0,0 +1,720 @@ + + + + + + +审核驱动业务流 · 岩美酒库管理系统 + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + 首页 + + 产品功能 + + 审核驱动业务流 +
    +

    功能详情 · 审核驱动业务流

    +

    每一笔库存变动,
    都经过一次签字

    +

    + 入库、出库、盘点 —— 统一状态机,统一审批界面。审批不仅是一个按钮,是一笔事务:库存动了,账款也跟着动,全程留痕。 +

    + +
    +
    +
    单据类型
    +
    3 种
    +
    +
    +
    操作留痕
    +
    全程
    +
    +
    +
    审批联动
    +
    库存 + 账款
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    RK20260523000007
    +
    入库审核 · A 仓 · 茅台经销华东
    +
    +
    + 已审批 +
    +
    + +
    +
    茅台飞天 53° · 500ml×6
    4
    ¥8,000
    +
    +
    +
    五粮液第八代 52°
    20
    ¥18,400
    +
    +
    +
    剑南春水晶剑 52°
    2
    ¥4,200
    +
    +
    +
    拉菲传奇波尔多
    10
    ¥17,800
    +
    + +
    +
    合计
    36
    ¥48,400
    +
    + +
    + 审批人 李建国 · 2026-05-23 14:32:08 +
    +
    + + +
    + + + + + + 岩美 · 审批通过 · APPROVED · 岩美 · + + +
    +
    通过
    +
    APPROVED
    +
    2026.05.23
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    统一状态机
    +

    四种状态,
    覆盖所有业务单据

    +

    + 入库、出库、盘点 —— 全部走同一套状态:草稿 → 待审核 → 已审批 / 已拒绝。员工学一次,全员通用。 +

    +
      +
    • + +
      + 提交后即锁定 + 从「草稿」进入「待审核」即不可编辑,避免审批人看到的与录入人提交的不一致。 +
      +
    • +
    • + +
      + 状态机由后端事务驱动 + 状态变更与库存 / 账款变更在同一事务内,要么都成功,要么都回滚。 +
      +
    • +
    • + +
      + 一套界面,三种单据复用 + 前端审批界面统一,节省培训成本,避免分模块状态差异。 +
      +
    • +
    +
    + +
    +
    +
    +
    入库单
    +
    出库单
    +
    盘点单
    +
    +
    stock_in_orders.status
    + +
    +
    +
    + 草稿 +
    + draft +
    + +
    + 提交 + +
    + +
    +
    + 待审核 +
    + pending +
    + +
    + 审批 + +
    + +
    +
    +
    + 已审批 +
    + approved +
    +
    +
    + 已拒绝 +
    + rejected +
    +
    +
    + +
    + 同一状态机适用于: + 入库单 + 出库单 + 盘点单 +
    +
    +
    +
    +
    + + +
    +
    +
    +
    自动联动
    +

    按一次"通过",
    库存与账款都跟着动

    +

    + 审批通过不是一个"标记",而是一组真实的数据库写入。库存增减、应付应收、批次创建 —— 在同一事务内完成。 +

    +
      +
    • + +
      + 事务级一致性 + 底层用 FOR UPDATE 锁住库存行,杜绝并发超卖。 +
      +
    • +
    • + +
      + 账款自动落地 + 入库审批 → 自动生成应付;出库审批 → 自动生成应收。挂在对应往来单位名下,可逐月对账。 +
      +
    • +
    • + +
      + 批次自动建立 + 每笔入库审批通过即创建一个新批次,后续出库按 FIFO 自动扣减。 +
      +
    • +
    +
    + +
    +
    +
    +
    +
    +
    RK20260523000007
    +
    36 瓶 · ¥48,400 · 待审核
    +
    + +
    +
    + +
    + + 事务内同步执行 + +
    + +
    +
    +
    + 库存 +
    +
    +36 瓶
    +
    A 仓 · 2,780 → 2,816
    +
    +
    +
    + 应付账款 +
    +
    +¥48,400
    +
    茅台经销华东 · 新增 1 笔
    +
    +
    +
    + 批次 +
    +
    +4 个
    +
    L-2026-05-001 ~ L-2026-05-004
    +
    +
    +
    + 库存流水 +
    +
    +4 条
    +
    逐 SKU 写入 inventory_logs
    +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    出库库存校验
    +

    库存不足,
    审批直接被拦下

    +

    + 出库单审批前,系统按 SKU 实时核对库存。任一行不足,整单审批失败、库存与账款均不变。永远不会超卖。 +

    +
      +
    • + +
      + 逐行校验 + 按出库单每一行的 商品 × 仓库 × 数量 校验,失败明确指出是哪一行。 +
      +
    • +
    • + +
      + 整单回滚 + 校验失败时单据状态回到「待审核」,无需重新录入。 +
      +
    • +
    +
    + +
    +
    +
    +
    出库单 CK20260523000012 · 审批前校验
    +
    客户 北辰大酒店 · B 仓
    +
    +
    +
    +
    商品
    需出
    库存
    状态
    +
    +
    +
    茅台飞天 53° · 500ml×6
    +
    24
    +
    148
    +
    充足
    +
    +
    +
    剑南春水晶剑 52°
    +
    20
    +
    12
    +
    短缺 8
    +
    +
    +
    拉菲传奇波尔多 · 750ml
    +
    6
    +
    64
    +
    充足
    +
    + +
    + +
    +
    审批已拒绝 · 库存不足
    +
    + 第 2 行「剑南春水晶剑」B 仓库存仅 12 瓶,本单需 20 瓶,短缺 8 瓶。请补足库存后重新提交,或修改出库数量。 +
    +
    +
    + +
    + // HTTP/1.1 422 Unprocessable Entity
    +{
    +  "ok": false,
    +  "error": "insufficient_inventory",
    +  "items": [
    +    { "sku": "XJ-330-024", "required": 20, "available": 12 }
    +  ]
    +} +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    审计留痕
    +

    每一步操作,
    都签着人名、贴着时间

    +

    + 从录入到结清,每一次状态变更都记录经办人、时间、决策、备注。是单据的完整生命周期,也是合规审计的完整证据。 +

    +
      +
    • + +
      + 谁动的、什么时候动的 + 14 个字段:actor / role / device / IP / 时间 / 备注 / 旧值 / 新值 / 原因 … +
      +
    • +
    • + +
      + 永久保留 + 审计日志不会被任何角色(含超级管理员)删除或修改。 +
      +
    • +
    • + +
      + 可导出 + 按单据 / 时间段 / 经办人 任意组合筛选导出,应对税务、内审、合规检查。 +
      +
    • +
    +
    + +
    +
    +
    +
    RK20260523000007
    +
    已审批
    +
    +
    +
    +
    +
    +
    创建草稿
    +
    + 王芳 · 操作员 + 2026-05-23 11:24:08 + 192.168.10.42 · 入库 PC +
    +
    +
    + +
    +
    +
    +
    编辑明细
    +
    + 王芳 + 2026-05-23 13:02:51 + 修改 4 项 · 新增 1 项 +
    +
    +
    + +
    +
    +
    +
    提交审核
    +
    + 王芳 + 2026-05-23 13:15:22 + 状态 · 草稿 → 待审核 +
    +
    +
    + +
    +
    +
    +
    审批通过
    +
    + 李建国 · 管理员 + 2026-05-23 14:32:08 + 库存 +36 · 应付 +¥48,400 +
    +
    已核对数量与单价,可入库。
    +
    +
    + +
    +
    +
    +
    应付结清
    +
    + 张磊 · 财务 + 2026-05-26 10:08:33 + AP20260523000012 · 全额结清 +
    +
    +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    权限矩阵
    +

    四级角色,
    各干各的事

    +

    + 系统内置四个角色,按岗位职责拆分审批权。最小权限原则 —— 不该看的看不到,不该签的签不了。 +

    +
      +
    • + +
      + 角色绑定门店 + 一个用户只属于一个门店(shop_id),跨店访问数据天然隔离。 +
      +
    • +
    • + +
      + 角色升降随时生效 + 管理员调整角色后,下一次请求即按新权限校验,无需重新登录。 +
      +
    • +
    • + +
      + 只读角色可看不可改 + 适合财务、税务、内审岗位 —— 看见全部数据,但不能产生任何变更。 +
      +
    • +
    +
    + +
    +
    +
    +
    角色
    +
    查看
    +
    录入
    +
    审批
    +
    设置
    +
    +
    +
    超级管理员superadmin · 系统最高
    +
    +
    +
    +
    +
    +
    +
    管理员admin · 门店负责人
    +
    +
    +
    +
    +
    +
    +
    操作员operator · 日常录入
    +
    +
    +
    +
    +
    +
    +
    只读readonly · 财务 / 内审
    +
    +
    +
    +
    +
    +
    + +
    + + 允许 + + + 禁止 + +
    +
    +
    +
    + + +
    +
    +

    典型场景

    +

    + 审核驱动业务流,落到实际操作里是什么样 +

    +

    + 三个常见门店场景,看审核流如何把日常工作中的失误拦在事前。 +

    + +
    +
    + +

    避免超卖发不了货

    +

    大客户来订 24 瓶飞天,操作员录了出库单。审批时系统提示某 SKU 库存只剩 12 瓶 —— 提前发现,先补货后出库。

    +
    "以前是发了货才发现没库存,半夜紧急调货。现在审批就拦下,省事多了。"
    +
    +
    + +

    财务来对账,3 秒定位

    +

    财务问"这批拉菲是哪个供应商进的,谁审的",打开单据点击「审计链」,从草稿、提交、审批到结清的每一步都列得清清楚楚。

    +
    "以前要翻三个 Excel 表对照,现在一张图就讲完了。"
    +
    +
    + +

    录错了不慌

    +

    审批通过的单据不可撤销,但可补录一张方向相反的修正单提交审核,两笔记录都完整保留在审计链中,库存与账款同步修正。

    +
    "原始数据保留,修正也留痕,内审完全不会有问题。"
    +
    +
    +
    +
    + + +
    +
    +
    +
    +

    每一笔库存变动都有人负责,
    就从一次审批开始。

    +

    30 天免费试用,无需绑定支付方式。所有审批与审计数据可随时导出。

    +
    + +
    +
    +
    + + + + + + + + + diff --git a/web/dist/features/approval/index.html b/web/dist/features/approval/index.html new file mode 100644 index 0000000..1dddbed --- /dev/null +++ b/web/dist/features/approval/index.html @@ -0,0 +1,1743 @@ + + + + + +审核驱动业务流 · 岩美酒库管理系统 + + + + + + + + + + + + +
    +
    +
    +
    + 首页 + + 产品功能 + + 审核驱动业务流 +
    +

    功能详情 · 审核驱动业务流

    +

    每一笔库存变动,
    都经过一次签字

    +

    + 入库、出库、盘点、调拨 —— 统一状态机,统一审批界面。审批不仅是一个按钮,是一笔事务:库存动了,账款也跟着动,全程留痕。 +

    + +
    +
    +
    审批延迟
    +
    ≤ 1s
    +
    +
    +
    审计字段
    +
    14
    +
    +
    +
    回滚机制
    +
    红冲
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    RK20260523000007
    +
    入库审核 · A 仓 · 茅台经销华东
    +
    +
    + 已审批 +
    +
    + +
    +
    茅台飞天 53° · 500ml×6
    4
    ¥8,000
    +
    +
    +
    五粮液第八代 52°
    20
    ¥18,400
    +
    +
    +
    剑南春水晶剑 52°
    2
    ¥4,200
    +
    +
    +
    拉菲传奇波尔多
    10
    ¥17,800
    +
    + +
    +
    合计
    36
    ¥48,400
    +
    + +
    + 审批人 李建国 · 2026-05-23 14:32:08 +
    +
    + + +
    + + + + + + 岩美 · 审批通过 · APPROVED · 岩美 · + + +
    +
    通过
    +
    APPROVED
    +
    2026.05.23
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    统一状态机
    +

    四种状态,
    覆盖所有业务单据

    +

    + 入库、出库、盘点、调拨 —— 全部走同一套状态:草稿 → 待审核 → 已审批 / 已拒绝。员工学一次,全员通用。 +

    +
      +
    • + +
      + 提交后即锁定 + 从「草稿」进入「待审核」即不可编辑,避免审批人看到的与录入人提交的不一致。 +
      +
    • +
    • + +
      + 状态机由后端事务驱动 + 状态变更与库存 / 账款变更在同一事务内,要么都成功,要么都回滚。 +
      +
    • +
    • + +
      + 一套界面,四种单据复用 + 前端审批界面统一,节省培训成本,避免分模块状态差异。 +
      +
    • +
    +
    + +
    +
    +
    +
    入库单
    +
    出库单
    +
    盘点单
    +
    调拨单
    +
    +
    stock_in_orders.status
    + +
    +
    +
    + 草稿 +
    + draft +
    + +
    + 提交 + +
    + +
    +
    + 待审核 +
    + pending +
    + +
    + 审批 + +
    + +
    +
    +
    + 已审批 +
    + approved +
    +
    +
    + 已拒绝 +
    + rejected +
    +
    +
    + +
    + 同一状态机适用于: + 入库单 + 出库单 + 盘点单 + 调拨单 +
    +
    +
    +
    +
    + + +
    +
    +
    +
    自动联动
    +

    按一次"通过",
    库存与账款都跟着动

    +

    + 审批通过不是一个"标记",而是一组真实的数据库写入。库存增减、应付应收、批次创建 —— 在同一事务内完成。 +

    +
      +
    • + +
      + 事务级一致性 + 底层用 FOR UPDATE 锁住库存行,杜绝并发超卖。 +
      +
    • +
    • + +
      + 账款自动落地 + 入库审批 → 自动生成应付;出库审批 → 自动生成应收。挂在对应往来单位名下,可逐月对账。 +
      +
    • +
    • + +
      + 批次自动建立 + 每笔入库审批通过即创建一个新批次,后续出库按 FIFO 自动扣减。 +
      +
    • +
    +
    + +
    +
    +
    +
    +
    +
    RK20260523000007
    +
    36 瓶 · ¥48,400 · 待审核
    +
    + +
    +
    + +
    + + 事务内同步执行 + +
    + +
    +
    +
    + 库存 +
    +
    +36 瓶
    +
    A 仓 · 2,780 → 2,816
    +
    +
    +
    + 应付账款 +
    +
    +¥48,400
    +
    茅台经销华东 · 新增 1 笔
    +
    +
    +
    + 批次 +
    +
    +4 个
    +
    L-2026-05-001 ~ L-2026-05-004
    +
    +
    +
    + 库存流水 +
    +
    +4 条
    +
    逐 SKU 写入 inventory_logs
    +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    出库库存校验
    +

    库存不足,
    审批直接被拦下

    +

    + 出库单审批前,系统按 SKU 实时核对库存。任一行不足,整单审批失败、库存与账款均不变。永远不会超卖。 +

    +
      +
    • + +
      + 逐行校验 + 按出库单每一行的 商品 × 仓库 × 数量 校验,失败明确指出是哪一行。 +
      +
    • +
    • + +
      + 整单回滚 + 校验失败时单据状态回到「待审核」,无需重新录入。 +
      +
    • +
    • + +
      + 可配置宽松模式 + 系统设置中可开启「允许超量出库」(备货场景使用),缺省关闭。 +
      +
    • +
    +
    + +
    +
    +
    +
    出库单 CK20260523000012 · 审批前校验
    +
    客户 北辰大酒店 · B 仓
    +
    +
    +
    +
    商品
    需出
    库存
    状态
    +
    +
    +
    茅台飞天 53° · 500ml×6
    +
    24
    +
    148
    +
    充足
    +
    +
    +
    剑南春水晶剑 52°
    +
    20
    +
    12
    +
    短缺 8
    +
    +
    +
    拉菲传奇波尔多 · 750ml
    +
    6
    +
    64
    +
    充足
    +
    + +
    + +
    +
    审批已拒绝 · 库存不足
    +
    + 第 2 行「剑南春水晶剑」B 仓库存仅 12 瓶,本单需 20 瓶,短缺 8 瓶。请补足库存后重新提交,或修改出库数量。 +
    +
    +
    + +
    + // HTTP/1.1 422 Unprocessable Entity
    +{
    +  "ok": false,
    +  "error": "insufficient_inventory",
    +  "items": [
    +    { "sku": "XJ-330-024", "required": 20, "available": 12 }
    +  ]
    +} +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    审计留痕
    +

    每一步操作,
    都签着人名、贴着时间

    +

    + 从录入到结清,每一次状态变更都记录经办人、时间、决策、备注。是单据的完整生命周期,也是合规审计的完整证据。 +

    +
      +
    • + +
      + 谁动的、什么时候动的 + 14 个字段:actor / role / device / IP / 时间 / 备注 / 旧值 / 新值 / 原因 … +
      +
    • +
    • + +
      + 永久保留 + 审计日志不会被任何角色(含超级管理员)删除或修改。 +
      +
    • +
    • + +
      + 可导出 + 按单据 / 时间段 / 经办人 任意组合筛选导出,应对税务、内审、合规检查。 +
      +
    • +
    +
    + +
    +
    +
    +
    RK20260523000007
    +
    已审批
    +
    +
    +
    +
    +
    +
    创建草稿
    +
    + 王芳 · 操作员 + 2026-05-23 11:24:08 + 192.168.10.42 · 入库 PC +
    +
    +
    + +
    +
    +
    +
    编辑明细
    +
    + 王芳 + 2026-05-23 13:02:51 + 修改 4 项 · 新增 1 项 +
    +
    +
    + +
    +
    +
    +
    提交审核
    +
    + 王芳 + 2026-05-23 13:15:22 + 状态 · 草稿 → 待审核 +
    +
    +
    + +
    +
    +
    +
    审批通过
    +
    + 李建国 · 管理员 + 2026-05-23 14:32:08 + 库存 +36 · 应付 +¥48,400 +
    +
    已核对数量与单价,可入库。
    +
    +
    + +
    +
    +
    +
    应付结清
    +
    + 张磊 · 财务 + 2026-05-26 10:08:33 + AP20260523000012 · 全额结清 +
    +
    +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    红冲机制
    +

    审批不可撤销,
    但错误可以修正

    +

    + 审批一旦通过,原单据永远是历史的真实记录。如有错误,只能通过红冲(反向调整单)来修正 —— 既保留审计链,又能纠正库存与账款。 +

    +
      +
    • + +
      + 原单不动 + 原始单据完整保留,不被覆盖、不被删除,永久可查。 +
      +
    • +
    • + +
      + 反向调整自动生成 + 点击「红冲」一键生成反向单据,数量取反、关联原单据 ID、状态自动进入「待审核」。 +
      +
    • +
    • + +
      + 净库存为零 + 红冲单审批通过后,库存与账款回到红冲前的状态,但审计链上多了两笔记录而非清除。 +
      +
    • +
    +
    + +
    +
    +
    +
    已审批
    +
    RK20260523000007
    +
    2026-05-23 · 入库 · 茅台经销华东
    +
    茅台飞天 53°
    +4
    +
    五粮液第八代
    +20
    +
    剑南春水晶剑
    +2
    +
    拉菲传奇
    +10
    +
    合计
    +36 · ¥48,400
    +
    + +
    + + 红冲 +
    + +
    +
    红 冲
    +
    RK20260524000001
    +
    2026-05-24 · 反向调整 · 关联 ...000007
    +
    茅台飞天 53°
    −4
    +
    五粮液第八代
    −20
    +
    剑南春水晶剑
    −2
    +
    拉菲传奇
    −10
    +
    合计
    −36 · −¥48,400
    +
    +
    + +
    +
    +
    原单库存影响
    +
    +36 瓶
    +
    +
    +
    红冲库存影响
    +
    −36 瓶
    +
    +
    +
    净影响
    +
    0
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    权限矩阵
    +

    四级角色,
    各干各的事

    +

    + 系统内置四个角色,按岗位职责拆分审批权。最小权限原则 —— 不该看的看不到,不该签的签不了。 +

    +
      +
    • + +
      + 角色绑定门店 + 一个用户只属于一个门店(shop_id),跨店访问数据天然隔离。 +
      +
    • +
    • + +
      + 角色升降随时生效 + 管理员调整角色后,下一次请求即按新权限校验,无需重新登录。 +
      +
    • +
    • + +
      + 只读角色可看不可改 + 适合财务、税务、内审岗位 —— 看见全部数据,但不能产生任何变更。 +
      +
    • +
    +
    + +
    +
    +
    +
    角色
    +
    查看
    +
    录入
    +
    审批
    +
    设置
    +
    +
    +
    超级管理员superadmin · 系统最高
    +
    +
    +
    +
    +
    +
    +
    管理员admin · 门店负责人
    +
    +
    +
    +
    +
    +
    +
    操作员operator · 日常录入
    +
    +
    +
    +
    +
    +
    +
    只读readonly · 财务 / 内审
    +
    +
    +
    +
    +
    +
    + +
    + + 允许 + + + 禁止 + +
    +
    +
    +
    + + +
    +
    +

    典型场景

    +

    + 审核驱动业务流,落到实际操作里是什么样 +

    +

    + 三个常见门店场景,看审核流如何把日常工作中的失误拦在事前。 +

    + +
    +
    + +

    避免超卖发不了货

    +

    大客户来订 24 瓶飞天,操作员录了出库单。审批时系统提示某 SKU 库存只剩 12 瓶 —— 提前发现,先补货后出库。

    +
    "以前是发了货才发现没库存,半夜紧急调货。现在审批就拦下,省事多了。"
    +
    +
    + +

    财务来对账,3 秒定位

    +

    财务问"这批拉菲是哪个供应商进的,谁审的",打开单据点击「审计链」,从草稿、提交、审批到结清的每一步都列得清清楚楚。

    +
    "以前要翻三个 Excel 表对照,现在一张图就讲完了。"
    +
    +
    + +

    录错了不慌

    +

    新员工录错入库单一次性多写了 10 瓶,审批通过后才发现。点击「红冲」,反向调整单一键生成,1 分钟修正库存与账款。

    +
    "原始数据保留,红冲也留痕,内审完全不会有问题。"
    +
    +
    +
    +
    + + +
    +
    +
    +
    +

    每一笔库存变动都有人负责,
    就从一次审批开始。

    +

    30 天免费试用,无需绑定支付方式。所有审批与审计数据可随时导出。

    +
    + +
    +
    +
    + + + + + + + + diff --git a/web/dist/features/inventory.html b/web/dist/features/inventory.html new file mode 100644 index 0000000..ca457b8 --- /dev/null +++ b/web/dist/features/inventory.html @@ -0,0 +1,757 @@ + + + + + + +库存管理 · 岩美酒库管理系统 + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + 首页 + + 产品功能 + + 库存管理 +
    +

    功能详情 · 库存管理

    +

    实时库存,
    跨多仓追溯每一瓶酒。

    +

    + 从入库到售出,每一次库存变动都有记录、可追溯、可回放。多仓库统一管理、批次级追踪、账实差异自动核算 — 不止是库存表。 +

    + +
    +
    +
    SKU 上限
    +
    无限
    +
    +
    +
    仓库支持
    +
    多仓库
    +
    +
    +
    流水保留
    +
    永久
    +
    +
    +
    + +
    + +
    +
    +
    库存列表 · A 仓
    +
    +
    列表
    +
    流水
    +
    盘点
    +
    +
    +
    +
    +
    库存总量
    +
    2,816↑ 4.2%
    +
    +
    +
    库存金额
    +
    ¥486K↑ 2.8%
    +
    +
    +
    预警 SKU
    +
    7
    +
    +
    +
    +
    +
    SKU
    商品
    仓库
    库存
    批次
    状态
    +
    +
    +
    WT-501-006
    +
    茅台飞天 53°
    +
    A 仓
    +
    148
    +
    L-2026-04
    +
    充足
    +
    +
    +
    XJ-468-001
    +
    五粮液第八代
    +
    A 仓
    +
    92
    +
    L-2026-03
    +
    充足
    +
    +
    +
    XJ-330-024
    +
    剑南春水晶剑
    +
    B 仓
    +
    12
    +
    L-2026-02
    +
    偏低
    +
    +
    +
    PJ-750-012
    +
    拉菲传奇波尔多
    +
    A 仓
    +
    64
    +
    L-2026-05
    +
    充足
    +
    +
    +
    PJ-700-008
    +
    轩尼诗 VSOP
    +
    B 仓
    +
    3
    +
    L-2026-01
    +
    告急
    +
    +
    +
    + + +
    +
    + + 低库存商品 +
    +
    +
    轩尼诗 VSOP
    +
    仅 3 瓶
    +
    +
    +
    剑南春水晶剑
    +
    12 瓶
    +
    +
    +
    人头马 X.O
    +
    8 瓶
    +
    + +
    + + +
    +
    + + 批次追踪 · L-2026-05 +
    +
    +
    入库 04-28
    +
    初始 50 瓶
    +
    A 仓
    +
    +50
    +
    +
    +
    出库 05-12
    +
    客户 · 春和宴
    +
    8 瓶
    +
    -8
    +
    +
    +
    出库 05-19
    +
    客户 · 北辰大酒店
    +
    12 瓶
    +
    -12
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    实时库存查询
    +

    不止是库存表,是一个可筛选的工作面板

    +

    + 库存数据自动跟随入库、出库、盘点变动 — 每一次写入都是一次事务,不存在「待同步」状态。 +

    +
      +
    • + +
      + 多维筛选与列控制 + 按仓库、商品系列、库存状态、批次任意组合筛选,列可隐藏或重排。 +
      +
    • +
    • + +
      + 模糊搜索与拼音匹配 + 支持商品名、SKU、拼音首字母混合搜索,与你输入"飞天"同等结果。 +
      +
    • +
    • + +
      + 行内编辑备注 + 点击「备注」列即可弹出编辑框,不必进入详情页改字段。 +
      +
    • +
    • + +
      + 一键导出 Excel + 筛选后的视图与数据一同导出,可直接发给会计、税务。 +
      +
    • +
    +
    + +
    +
    +
    +
    库存列表 · 全部仓库
    +
    共 2,816 瓶 · ¥486,290
    +
    +
    +
    +
    SKU
    商品名称 / 规格
    仓库
    库存
    金额
    状态
    +
    +
    +
    WT-501-006
    +
    茅台飞天 53°500ml×6 · L-2026-04
    +
    A 仓
    +
    148
    +
    ¥298,400
    +
    充足
    +
    +
    +
    XJ-468-001
    +
    五粮液第八代 52°500ml · L-2026-03
    +
    A 仓
    +
    92
    +
    ¥92,920
    +
    充足
    +
    +
    +
    XJ-330-024
    +
    剑南春水晶剑 52°500ml×6 · L-2026-02
    +
    B 仓
    +
    12
    +
    ¥4,560
    +
    偏低
    +
    +
    +
    PJ-750-012
    +
    拉菲传奇波尔多750ml · L-2026-05
    +
    A 仓
    +
    64
    +
    ¥18,560
    +
    充足
    +
    +
    +
    PJ-700-008
    +
    轩尼诗 VSOP700ml · L-2026-01
    +
    B 仓
    +
    3
    +
    ¥1,770
    +
    告急
    +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    批次追踪
    +

    每一批货的命运,
    都可以回放给你看

    +

    + 每张审批通过的入库单都会自动形成一个独立批次,可追踪其后续被谁出库、剩余多少、还在哪个仓库。 +

    +
      +
    • + +
      + 批次自动生成 + 入库审批通过即建立批次,无需手动维护。 +
      +
    • +
    • + +
      + 逐瓶溯源 + 出库时按"先进先出"自动从最早批次扣减,留下完整的批次→客户对应关系。 +
      +
    • +
    • + +
      + 标签二维码 + 每个批次都可打印含二维码的标签,扫码即查批次详情。 +
      +
    • +
    +
    + +
    +
    +
    +
    +
    L-2026-05
    +
    茅台飞天 53°500ml×6 · A 仓
    +
    +
    +
    初始入库 50 瓶
    +
    累计出库 20 瓶
    +
    剩余 30 瓶
    +
    +
    +
    +
    +
    +
    + 已出库 60% + 40% 库存 +
    + +
    +
    +
    +
    2026-04-28
    +
    入库 · 供应商 茅台经销华东经办人:李建国
    +
    +50
    +
    RK0007
    +
    +
    +
    +
    2026-05-12
    +
    出库 · 客户 春和宴酒楼经办人:王芳
    +
    −8
    +
    CK0034
    +
    +
    +
    +
    2026-05-19
    +
    出库 · 客户 北辰大酒店经办人:王芳
    +
    −12
    +
    CK0041
    +
    +
    +
    +
    — 当前 —
    +
    剩余 30 瓶预计 6 月底前售完
    +
    30
    +
    +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    全仓盘点
    +

    账面 vs 实际,差异一目了然

    +

    + 逐 SKU 录入实盘数量,系统自动核算账实差异、损耗金额,并一键转为盘亏调整单。 +

    +
      +
    • + +
      + 跨多仓库联动 + 一次盘点可同步多仓库,避免分仓时数据不一致。 +
      +
    • +
    • + +
      + 差异自动核算 + 实盘填好后立即显示账面、实际、差异数量与金额。 +
      +
    • +
    • + +
      + 历史盘点对比 + 可对比上一次盘点结果,识别长期偏差最大的 SKU。 +
      +
    • +
    +
    + +
    +
    +
    +
    +
    盘点商品
    +
    128
    +
    +
    +
    账面合计
    +
    2,816
    +
    +
    +
    实际合计
    +
    2,808
    +
    +
    +
    损耗金额
    +
    −¥6,840
    +
    +
    +
    +
    商品
    账面
    实际
    差异
    损耗
    +
    +
    +
    茅台飞天 53° · 500ml×6
    +
    148
    +
    148
    +
    0
    +
    +
    +
    +
    五粮液第八代 52° · 500ml
    +
    92
    +
    90
    +
    −2
    +
    −¥2,020
    +
    +
    +
    剑南春水晶剑 52° · 500ml×6
    +
    12
    +
    12
    +
    0
    +
    +
    +
    +
    拉菲传奇波尔多 · 750ml
    +
    64
    +
    60
    +
    −4
    +
    −¥1,160
    +
    +
    +
    轩尼诗 VSOP · 700ml
    +
    3
    +
    3
    +
    0
    +
    +
    +
    +
    人头马 X.O · 700ml
    +
    40
    +
    38
    +
    −2
    +
    −¥3,660
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    库存流水审计
    +

    谁动了我的库存?
    每一次都查得清楚

    +

    + 所有库存变动都会自动写入流水表,包括入库、出库、盘点调整,附带时间戳与经办人。 +

    +
      +
    • + +
      + 按类型 / 时间 / SKU 任意筛选 + 排查异常时可秒级定位。 +
      +
    • +
    • + +
      + 关联原单据 + 每条流水都关联到对应入库单 / 出库单 / 盘点单,一键跳转。 +
      +
    • +
    • + +
      + 永久保留 + 流水数据永不自动清除,满足审计与合规要求。 +
      +
    • +
    +
    + +
    +
    +
    + 全部类型 + 入库 + 出库 + 盘点 + 本月 · 共 1,284 条 +
    +
    +
    05-23 14:32
    +
    入库
    +
    茅台飞天 53° · 500ml×6RK20260523000007 · A 仓
    +
    +4
    +
    李建国
    +
    +
    +
    05-23 11:48
    +
    出库
    +
    五粮液第八代 52°CK20260523000012 · 客户 春和宴
    +
    −6
    +
    王芳
    +
    +
    +
    05-23 10:15
    +
    盘点
    +
    拉菲传奇波尔多PD20260523001 · 账实差异
    +
    −2
    +
    张磊
    +
    +
    +
    05-22 17:20
    +
    出库
    +
    人头马 X.O · 700mlCK20260522000008 · 客户 北辰
    +
    −2
    +
    王芳
    +
    +
    +
    05-22 14:08
    +
    入库
    +
    轩尼诗 VSOP · 700mlRK20260522000005 · B 仓
    +
    +24
    +
    李建国
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    库存状态
    +

    一眼看出哪些商品
    需要补货

    +

    + 为每件商品设置最低库存量,系统根据当前库存自动标记「充足 / 偏低 / 告急」,无需手工比对。 +

    +
      +
    • + +
      + 按 SKU 设置最低库存 + 热销商品阈值高,冷门商品阈值低 — 每件单独配置。 +
      +
    • +
    • + +
      + 库存列表一目了然 + 库存状态标签跟随列表显示,随时筛选「偏低」「告急」的 SKU。 +
      +
    • +
    • + +
      + 商品二维码防伪 + 每件商品生成专属二维码,顾客扫码即可查看批次与防伪信息。 +
      +
    • +
    +
    + +
    +
    +

    库存状态一览

    +

    基于最低库存量 (min_stock) 自动标记状态。

    +
    +
    + 茅台飞天 53° + 充足 +
    +
    + 剑南春水晶剑 + 偏低 +
    +
    + 轩尼诗 VSOP + 告急 +
    +
    +
    +
    +
    +
    + + +
    +
    +

    典型场景

    +

    + 库存管理,落到实际操作里是什么样 +

    +

    + 三个常见门店场景,看库存管理如何省下你每天的时间。 +

    + +
    +
    + +

    客户来取货前,先看一眼批次

    +

    客户要 12 瓶飞天,先在批次追踪里看哪一批快到期;优先发出旧批次,新批次留着。

    +
    +
    + +

    月底盘点,2 小时变 30 分钟

    +

    用移动端扫码逐瓶录入,系统对比账面 → 实时显示差异。损耗自动转入应付,不用再算。

    +
    +
    + +

    财务来问"这瓶怎么少了",3 秒回答

    +

    打开库存流水,按 SKU 筛选,全部入库、出库、盘点变动一目了然,每条都关联到原始单据。

    +
    +
    +
    +
    + + +
    +
    +
    +
    +

    试试看你今天的库存有几瓶。

    +

    30 天免费试用,无需绑定支付。所有数据云端实时备份,可随时导出。

    +
    + +
    +
    +
    + + + + + + + + + diff --git a/web/dist/features/inventory/index.html b/web/dist/features/inventory/index.html new file mode 100644 index 0000000..c59b576 --- /dev/null +++ b/web/dist/features/inventory/index.html @@ -0,0 +1,1457 @@ + + + + + +库存管理 · 岩美酒库管理系统 + + + + + + + + + + + + +
    +
    +
    +
    + 首页 + + 产品功能 + + 库存管理 +
    +

    功能详情 · 库存管理

    +

    实时库存,
    跨多仓追溯每一瓶酒。

    +

    + 从入库到售出,每一次库存变动都有记录、可追溯、可回放。多仓库统一管理、批次级追踪、账实差异自动核算 — 不止是库存表。 +

    + +
    +
    +
    SKU 上限
    +
    无限
    +
    +
    +
    仓库支持
    +
    多仓库
    +
    +
    +
    流水保留
    +
    永久
    +
    +
    +
    + +
    + +
    +
    +
    库存列表 · A 仓
    +
    +
    列表
    +
    流水
    +
    盘点
    +
    +
    +
    +
    +
    库存总量
    +
    2,816↑ 4.2%
    +
    +
    +
    库存金额
    +
    ¥486K↑ 2.8%
    +
    +
    +
    预警 SKU
    +
    7
    +
    +
    +
    +
    +
    SKU
    商品
    仓库
    库存
    批次
    状态
    +
    +
    +
    WT-501-006
    +
    茅台飞天 53°
    +
    A 仓
    +
    148
    +
    L-2026-04
    +
    充足
    +
    +
    +
    XJ-468-001
    +
    五粮液第八代
    +
    A 仓
    +
    92
    +
    L-2026-03
    +
    充足
    +
    +
    +
    XJ-330-024
    +
    剑南春水晶剑
    +
    B 仓
    +
    12
    +
    L-2026-02
    +
    偏低
    +
    +
    +
    PJ-750-012
    +
    拉菲传奇波尔多
    +
    A 仓
    +
    64
    +
    L-2026-05
    +
    充足
    +
    +
    +
    PJ-700-008
    +
    轩尼诗 VSOP
    +
    B 仓
    +
    3
    +
    L-2026-01
    +
    告急
    +
    +
    +
    + + +
    +
    + + 库存预警 +
    +
    +
    轩尼诗 VSOP
    +
    仅 3 瓶
    +
    +
    +
    剑南春水晶剑
    +
    12 瓶
    +
    +
    +
    人头马 X.O
    +
    8 瓶
    +
    + +
    + + +
    +
    + + 批次追踪 · L-2026-05 +
    +
    +
    入库 04-28
    +
    初始 50 瓶
    +
    A 仓
    +
    +50
    +
    +
    +
    出库 05-12
    +
    客户 · 春和宴
    +
    8 瓶
    +
    -8
    +
    +
    +
    出库 05-19
    +
    客户 · 北辰大酒店
    +
    12 瓶
    +
    -12
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    实时库存查询
    +

    不止是库存表,是一个可筛选的工作面板

    +

    + 库存数据自动跟随入库、出库、盘点变动 — 每一次写入都是一次事务,不存在「待同步」状态。 +

    +
      +
    • + +
      + 多维筛选与列控制 + 按仓库、商品系列、库存状态、批次任意组合筛选,列可隐藏或重排。 +
      +
    • +
    • + +
      + 模糊搜索与拼音匹配 + 支持商品名、SKU、拼音首字母混合搜索,与你输入"飞天"同等结果。 +
      +
    • +
    • + +
      + 行内编辑备注 + 点击「备注」列即可弹出编辑框,不必进入详情页改字段。 +
      +
    • +
    • + +
      + 一键导出 Excel + 筛选后的视图与数据一同导出,可直接发给会计、税务。 +
      +
    • +
    +
    + +
    +
    +
    +
    库存列表 · 全部仓库
    +
    共 2,816 瓶 · ¥486,290
    +
    +
    +
    +
    SKU
    商品名称 / 规格
    仓库
    库存
    金额
    状态
    +
    +
    +
    WT-501-006
    +
    茅台飞天 53°500ml×6 · L-2026-04
    +
    A 仓
    +
    148
    +
    ¥298,400
    +
    充足
    +
    +
    +
    XJ-468-001
    +
    五粮液第八代 52°500ml · L-2026-03
    +
    A 仓
    +
    92
    +
    ¥92,920
    +
    充足
    +
    +
    +
    XJ-330-024
    +
    剑南春水晶剑 52°500ml×6 · L-2026-02
    +
    B 仓
    +
    12
    +
    ¥4,560
    +
    偏低
    +
    +
    +
    PJ-750-012
    +
    拉菲传奇波尔多750ml · L-2026-05
    +
    A 仓
    +
    64
    +
    ¥18,560
    +
    充足
    +
    +
    +
    PJ-700-008
    +
    轩尼诗 VSOP700ml · L-2026-01
    +
    B 仓
    +
    3
    +
    ¥1,770
    +
    告急
    +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    批次追踪
    +

    每一批货的命运,
    都可以回放给你看

    +

    + 每张审批通过的入库单都会自动形成一个独立批次,可追踪其后续被谁出库、剩余多少、还在哪个仓库。 +

    +
      +
    • + +
      + 批次自动生成 + 入库审批通过即建立批次,无需手动维护。 +
      +
    • +
    • + +
      + 逐瓶溯源 + 出库时按"先进先出"自动从最早批次扣减,留下完整的批次→客户对应关系。 +
      +
    • +
    • + +
      + 过期预警 + 按生产日期 + 保质期推算,临近到期前自动标记。 +
      +
    • +
    • + +
      + 标签二维码 + 每个批次都可打印含二维码的标签,扫码即查批次详情。 +
      +
    • +
    +
    + +
    +
    +
    +
    +
    L-2026-05
    +
    茅台飞天 53°500ml×6 · A 仓
    +
    +
    +
    初始入库 50 瓶
    +
    累计出库 20 瓶
    +
    剩余 30 瓶
    +
    +
    +
    +
    +
    +
    + 已出库 60% + 40% 库存 +
    + +
    +
    +
    +
    2026-04-28
    +
    入库 · 供应商 茅台经销华东经办人:李建国
    +
    +50
    +
    RK0007
    +
    +
    +
    +
    2026-05-12
    +
    出库 · 客户 春和宴酒楼经办人:王芳
    +
    −8
    +
    CK0034
    +
    +
    +
    +
    2026-05-19
    +
    出库 · 客户 北辰大酒店经办人:王芳
    +
    −12
    +
    CK0041
    +
    +
    +
    +
    — 当前 —
    +
    剩余 30 瓶预计 6 月底前售完
    +
    30
    +
    +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    全仓盘点
    +

    账面 vs 实际,差异一目了然

    +

    + 逐 SKU 录入实盘数量,系统自动核算账实差异、损耗金额,并一键转为盘亏调整单。 +

    +
      +
    • + +
      + 跨多仓库联动 + v1.6.2 新增 — 一次盘点可同步多仓库,避免分仓时数据不一致。 +
      +
    • +
    • + +
      + 差异自动核算 + 实盘填好后立即显示账面、实际、差异数量与金额。 +
      +
    • +
    • + +
      + 历史盘点对比 + 可对比上一次盘点结果,识别长期偏差最大的 SKU。 +
      +
    • +
    +
    + +
    +
    +
    +
    +
    盘点商品
    +
    128
    +
    +
    +
    账面合计
    +
    2,816
    +
    +
    +
    实际合计
    +
    2,808
    +
    +
    +
    损耗金额
    +
    −¥6,840
    +
    +
    +
    +
    商品
    账面
    实际
    差异
    损耗
    +
    +
    +
    茅台飞天 53° · 500ml×6
    +
    148
    +
    148
    +
    0
    +
    +
    +
    +
    五粮液第八代 52° · 500ml
    +
    92
    +
    90
    +
    −2
    +
    −¥2,020
    +
    +
    +
    剑南春水晶剑 52° · 500ml×6
    +
    12
    +
    12
    +
    0
    +
    +
    +
    +
    拉菲传奇波尔多 · 750ml
    +
    64
    +
    60
    +
    −4
    +
    −¥1,160
    +
    +
    +
    轩尼诗 VSOP · 700ml
    +
    3
    +
    3
    +
    0
    +
    +
    +
    +
    人头马 X.O · 700ml
    +
    40
    +
    38
    +
    −2
    +
    −¥3,660
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    库存流水审计
    +

    谁动了我的库存?
    每一次都查得清楚

    +

    + 所有库存变动都会自动写入流水表,包括入库、出库、盘点调整、单据红冲,附带时间戳与经办人。 +

    +
      +
    • + +
      + 按类型 / 时间 / SKU 任意筛选 + 排查异常时可秒级定位。 +
      +
    • +
    • + +
      + 关联原单据 + 每条流水都关联到对应入库单 / 出库单 / 盘点单,一键跳转。 +
      +
    • +
    • + +
      + 永久保留 + 流水数据永不自动清除,满足审计与合规要求。 +
      +
    • +
    +
    + +
    +
    +
    + 全部类型 + 入库 + 出库 + 盘点 + 本月 · 共 1,284 条 +
    +
    +
    05-23 14:32
    +
    入库
    +
    茅台飞天 53° · 500ml×6RK20260523000007 · A 仓
    +
    +4
    +
    李建国
    +
    +
    +
    05-23 11:48
    +
    出库
    +
    五粮液第八代 52°CK20260523000012 · 客户 春和宴
    +
    −6
    +
    王芳
    +
    +
    +
    05-23 10:15
    +
    盘点
    +
    拉菲传奇波尔多PD20260523001 · 账实差异
    +
    −2
    +
    张磊
    +
    +
    +
    05-22 17:20
    +
    出库
    +
    人头马 X.O · 700mlCK20260522000008 · 客户 北辰
    +
    −2
    +
    王芳
    +
    +
    +
    05-22 14:08
    +
    入库
    +
    轩尼诗 VSOP · 700mlRK20260522000005 · B 仓
    +
    +24
    +
    李建国
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    库存预警
    +

    该补货之前,
    系统已经替你看见了

    +

    + 每个 SKU 都可单独设置安全库存阈值,触发即在 Web 与移动端同步推送,永远不会错过补货时机。 +

    +
      +
    • + +
      + 按 SKU 灵活配置 + 热销商品阈值高,冷门商品阈值低 — 不需要一刀切。 +
      +
    • +
    • + +
      + 多渠道通知 + Web 顶栏、移动 App 推送、可选邮件 / 短信通知。 +
      +
    • +
    • + +
      + 智能补货建议 + 基于近 30 天销售速率 × 补货周期,给出建议补货量。v1.7 Beta +
      +
    • +
    +
    + +
    +
    +

    预警阈值 · 茅台飞天 53°

    +

    当库存低于阈值时,自动推送给指定操作员。

    + +
    +
    +
    +
    0
    +
    20
    +
    50
    +
    200
    +
    告急
    +
    偏低
    +
    充足
    +
    + +
    + 当前阈值 + 35 瓶 +
    + +
    +
    +
    低于 50 瓶 · 推送给 张磊(仓储)
    +
    +
    +
    +
    低于 20 瓶 · 短信通知 李建国(采购)
    +
    +
    +
    +
    临近过期 30 天 · 邮件提醒
    +
    +
    +
    +
    +
    +
    +
    + + +
    +
    +

    典型场景

    +

    + 库存管理,落到实际操作里是什么样 +

    +

    + 三个常见门店场景,看库存管理如何省下你每天的时间。 +

    + +
    +
    + +

    客户来取货前,先看一眼批次

    +

    客户要 12 瓶飞天,先在批次追踪里看哪一批快到期;优先发出旧批次,新批次留着。

    +
    +
    + +

    月底盘点,2 小时变 30 分钟

    +

    用移动端扫码逐瓶录入,系统对比账面 → 实时显示差异。损耗自动转入应付,不用再算。

    +
    +
    + +

    财务来问"这瓶怎么少了",3 秒回答

    +

    打开库存流水,按 SKU 筛选,全部入库、出库、盘点变动一目了然,每条都关联到原始单据。

    +
    +
    +
    +
    + + +
    +
    +
    +
    +

    试试看你今天的库存有几瓶。

    +

    30 天免费试用,无需绑定支付。所有数据云端实时备份,可随时导出。

    +
    + +
    +
    +
    + + + + + + + + diff --git a/web/dist/index.html b/web/dist/index.html new file mode 100644 index 0000000..81be373 --- /dev/null +++ b/web/dist/index.html @@ -0,0 +1,754 @@ + + + + + + +为酒行与酒店设计的库存管理平台 · 岩美酒库管理系统 + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + v1.0.23 + 2026-06-07 更新 · + 查看更新 +
    +

    从入库到出库,
    一套系统管到底。

    +

    岩美酒库管理系统,为酒行与酒店设计的库存、审核、财务一体化平台。审核驱动业务流,库存与账款自动同步,五端无缝接入。

    + +
    +
    无需安装
    +
    30 天免费
    +
    支持私有部署
    +
    +
    + +
    +
    +
    +
    +
    yanmei.app/inventory
    +
    +
    + +
    +
    +
    +
    库存列表
    +
    库存盘点
    +
    库存流水
    +
    +
    +
    导出
    +
    新建盘点
    +
    +
    +
    +
    +
    库存总量
    +
    2,816
    +
    ↑ 4.2% 较上月
    +
    +
    +
    库存金额
    +
    ¥486,290
    +
    ↑ 2.8% 较上月
    +
    +
    +
    本月入库
    +
    128
    +
    ↑ 12 单
    +
    +
    +
    预警 SKU
    +
    7
    +
    ↓ 库存不足
    +
    +
    +
    +
    +
    SKU
    商品名称
    仓库
    库存
    金额
    状态
    +
    +
    WT-501-006
    茅台飞天 53° · 500ml×6
    A 仓
    148
    ¥298,400
    充足
    +
    XJ-468-001
    五粮液第八代 52° · 500ml
    A 仓
    92
    ¥92,920
    充足
    +
    XJ-330-024
    剑南春水晶剑 52° · 500ml×6
    B 仓
    12
    ¥4,560
    偏低
    +
    PJ-750-012
    拉菲传奇波尔多 · 750ml
    A 仓
    64
    ¥18,560
    充足
    +
    PJ-700-008
    轩尼诗 VSOP · 700ml
    B 仓
    38
    ¥22,420
    入库中
    +
    +
    +
    +
    +
    +
    +
    +
    入库单已审批
    +
    RK20260523000007 库存 +24 瓶
    生成应付 ¥48,400
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    专为酒水经营场所设计
    +
    5
    Web / iOS / Android / Win / Mac
    +
    支持多仓库独立管理
    +
    FIFO
    批次先进先出追溯
    +
    0
    需安装依赖,Web 即用
    +
    +
    +
    + + +
    +
    +

    核心模块

    +

    全流程模块,覆盖酒水经营每一个环节

    +

    从商品建档到入库出库、从财务结算到扫码防伪,岩美一站式承载日常运营。

    +
    +
    +
    +

    入库管理

    +

    审核驱动的入库流程。草稿、提交、审批、库存更新、应付账款生成 — 一气呵成。

    +
      +
    • 多商品行明细录入,自动算金额
    • +
    • 审批通过即同步库存与应付账款
    • +
    • 支持单据打印、商品标签打印
    • +
    • 批次号追踪,生产日期可追溯
    • +
    + 了解审核流详情 → +
    +
    +
    +

    出库管理

    +

    出库前自动校验库存,审批通过即扣减库存并生成应收。库存不足,单据无法通过。

    +
    +
    +
    +

    库存管理

    +

    实时查询每个 SKU 的库存数量、所在仓库、批次。支持全仓盘点与库存流水。

    + 了解更多 → +
    +
    +
    +

    财务管理

    +

    审批同步生成应付应收,月度汇总。结清一键完成,可按往来单位筛选导出。

    +
    +
    +
    +

    往来单位

    +

    供应商与客户统一档案管理。卡号、初始余额、联系信息集中维护。

    +
    +
    +
    +

    基础数据

    +

    商品名称、系列、规格三级字典,单品数量配置。先建字典,后录单据。

    +
    +
    +
    +

    系统设置

    +

    用户与权限、多仓库、编号规则、参数与数据导入 — 自助配置,无需开发。

    +
    +
    +
    +

    扫码防伪

    +

    每件商品生成专属二维码,顾客扫码可查看商品名称、批次、出售门店与「已通过岩美防伪验证」标识。

    +
    +
    +
    +
    + + +
    +
    +

    业务流程

    +

    审核驱动业务流,每一笔交易都可追溯

    +

    从单据录入到库存变动、账款生成,每一步都有清晰状态与经办人记录。

    +
    +
    +

    一张入库单的完整生命周期

    +
    +
    1

    录入草稿

    选择仓库、供应商、入库日期,逐行录入商品明细。系统自动算金额,可随时保存草稿。

    +
    2

    提交审核

    确认无误后提交。单据进入「待审核」,此时不可再编辑,保证数据完整。

    +
    3

    审批通过

    操作员及以上权限审批。通过后库存自动 +N,同时生成一笔应付账款,账款挂在对应供应商名下。

    +
    4

    结清账款

    财务结算时一键「结清」,财务记录由「未结清」变为「已结清」。账目清晰,按月汇总。

    +
    +
    +
    +
    +
    +
    RK20260523000007
    +
    已审批
    +
    +
    商品
    规格
    数量
    金额
    +
    茅台飞天
    500ml×6
    4
    ¥8,000
    +
    五粮液
    500ml
    20
    ¥18,400
    +
    剑南春
    500ml×6
    2
    ¥4,200
    +
    拉菲传奇
    750ml
    10
    ¥17,800
    +
    合计
    36
    ¥48,400
    +
    +
    +
    +
    库存更新
    +36 瓶
    +
    应付账款
    ¥48,400
    +
    +
    +
    +
    +
    + + +
    +
    +

    多端覆盖

    +

    一个账号,五端同步

    +

    办公室开台账,仓库扫码盘点,老板出差查看实时报表。同一份数据,任意终端访问。

    +
    +

    Web

    主流浏览器,无需安装

    +

    Windows

    桌面客户端

    +

    macOS

    原生应用

    +

    iOS

    TestFlight 内测中

    +

    Android

    手机 / 平板

    +
    +
    +
    +

    仓库里也能用得顺手

    +

    移动端扫码即查库存、入库、出库,断网也能继续工作,恢复网络后自动同步。

    +
    +
    扫码即查商品 · 商品二维码防伪
    +
    离线缓存,断网继续作业
    +
    窄屏自动切换卡片流布局
    +
    手机拍照直接添加商品图片
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +
    +
    +

    数据洞察

    +

    把每一瓶酒的进出,转成可分析的数据

    +

    报表自动生成,可按日、按月、按往来单位维度切换。导出 Excel 一键完成。

    +
    +
    +
    +

    本月财务流水

    2026 年 5 月 · 应付与应收对比

    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + +
    + 应付账款 + 应收账款 +
    +
    +
    +
    本月应付
    ¥248,600↑ 12%
    +
    本月应收
    ¥182,400↑ 8%
    +
    已结清率
    86.4%↑ 4%
    +
    +
    +
    +
    +
    +

    财务汇总自动生成

    每月应付应收按往来单位、按时间维度自动汇总。无需手工统计,月底一键导出。

    +
    +
    +
    +

    损耗趋势可见

    每次盘点的账实差异自动累计为损耗数据,结合周转率帮你发现异常 SKU。

    +
    +
    +
    +

    Excel 进出自由

    历史数据可批量导入,月度报表可一键导出。与会计、税务系统无缝衔接。

    +
    +
    +
    +

    库存状态实时标识

    设置商品最低库存量,系统自动标记「充足 / 偏低 / 告急」,一眼识别需补货的 SKU。

    +
    +
    +
    +
    +
    + + +
    +
    +

    安全与权限

    +

    企业级权限控制,操作可追溯

    +

    四级角色细分权限,每一次单据操作都有经办人记录。数据备份与审批留痕,按合规要求设计。

    +
    +

    四级角色

    超级管理员、管理员、操作员、只读。按岗位分配,最小权限原则。

    +

    操作审计

    谁、什么时候、做了什么 — 每一笔单据都有经办人与时间戳。

    +

    审批留痕

    审批不可撤销,单据从草稿到结清的每一步状态完整保留。

    +

    每日备份

    云端每日自动备份,支持私有部署。数据始终在你的控制下。

    +
    +
    +
    +
    角色
    说明
    +
    查看
    录入
    +
    审批
    设置
    +
    +
    超级管理员
    系统最高权限,含数据清空
    +
    管理员
    门店管理人员,含用户与门店设置
    +
    操作员
    日常录入与审核单据
    +
    只读
    仅查看,不可修改任何数据
    +
    +
    +
    + + +
    +
    +

    价格

    +

    按门店付费,明码标价

    +

    所有方案均含全功能、五端同步、无限单据、技术支持。仅在用户数、门店数、部署方式上区分。

    +
    +
    +
    入门方案
    +
    试用版
    +
    ¥0/ 30 天
    +
    体验完整功能,无需绑卡
    +
      +
    • 单门店 · 最多 3 用户
    • +
    • 全部模块开放
    • +
    • Web 端 + 移动端
    • +
    • 邮件技术支持
    • +
    + 免费开通 +
    + +
    +
    企业方案
    +
    连锁版
    +
    定制
    +
    多门店连锁,含私有部署
    +
      +
    • 多门店 · 总部数据汇总
    • +
    • 不限用户数
    • +
    • 支持私有部署 / 内网
    • +
    • 专属实施与培训服务
    • +
    • 7×24 专属客户经理
    • +
    + 联系销售 +
    +
    +
    +
    + + +
    +
    +

    常见问题

    +

    购买前常见的问题

    +
    +
    + 支持哪些操作系统和设备? +
    系统支持 Windows、macOS 桌面客户端,iOS 与 Android 移动 App,以及主流浏览器的 Web 版本。同一账号可在五端同步使用,数据实时更新。
    +
    +
    + 没有网络时还能操作吗? +
    网络中断时,系统会自动切换到离线模式,展示上次加载的缓存数据。库存查询与单据录入可继续,恢复网络后自动同步至云端。审批与生成账款类操作需要网络。
    +
    +
    + 能否从原有 Excel / 旧系统迁移数据? +
    可以。「系统设置 → 数据导入」支持往来单位、商品名称/系列/规格、库存等数据的批量 Excel 导入,按提供的模板填写即可。导入过程中会显示成功条数与失败原因。
    +
    +
    + 审批通过后发现错误,怎么办? +
    审批通过后操作不可撤销。如发现录入错误,可由具备权限的用户新建一张反向单据(如:误入 10 箱则再出库 10 箱)来修正库存与应收应付,审批链完整保留。
    +
    +
    + 数据安全如何保障? +
    云端版采用每日自动备份策略,数据传输全程 HTTPS 加密。企业版支持私有部署,数据存放在你自己的服务器,岩美不接触任何业务数据。
    +
    +
    + 可以试用多长时间? +
    注册后即可免费试用 30 天,全部功能开放、五端可用,无需绑定支付方式。30 天到期后,升级到单店版(¥299/月)即可继续使用,已录入的数据完整保留。
    +
    +
    + 只读账号能做什么? +
    只读账号可查看全部数据,包括单据、库存、财务、报表,并可导出 Excel。但不能新建、修改、审批、删除任何数据。适合财务、税务、审计岗位的查阅需求。
    +
    +
    +
    +
    + + +
    +
    +
    +
    +

    用一杯咖啡的时间,
    看看你的酒库到底有多少瓶。

    +

    30 天免费试用,无需绑卡。任何时间可取消,已录入数据保留 90 天。

    +
    + +
    +
    +
    + + + + + + + + diff --git a/web/dist/privacy/index.html b/web/dist/privacy/index.html new file mode 100644 index 0000000..9512a65 --- /dev/null +++ b/web/dist/privacy/index.html @@ -0,0 +1,234 @@ + + + + + + +隐私政策 · 岩美酒库管理系统 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/dist/register/index.html b/web/dist/register/index.html new file mode 100644 index 0000000..f24f6f9 --- /dev/null +++ b/web/dist/register/index.html @@ -0,0 +1,433 @@ + + + + + + +注册新门店 · 岩美酒库管理系统 + + + + + + + + + + + + + + + + +
    +
    + +
    +

    注册新门店

    +

    填写以下信息,创建您的专属酒库管理账户。注册完成后系统自动分配门店编码,用于登录客户端。

    +
    + + +
    +
    + + +
    + 门店信息 + +
    + + +
    +
    您的酒行正式名称,将显示在所有单据和商品标签上
    +
    + +
    + + +
    +
    实际经营地址,打印标签和单据时展示
    +
    + +
    + + +
    +
    主要负责人真实姓名,也是首个管理员账号的姓名
    +
    + +
    + + +
    +
    对外联系电话,打印商品标签时会展示
    +
    + +
    + + +
    选填,最多 200 字;客户扫商品码时可见
    +
    +
    + + +
    + 管理员账号 + +
    + + +
    +
    登录账号(3–30 位,字母/数字/下划线),创建后不可修改
    +
    + +
    + + +
    +
    至少 6 位,建议字母数字组合
    +
    + +
    + + +
    +
    +
    + + + +
    + + +
    +
    + +
    +

    注册成功!

    +

    您的门店编码已生成,请妥善保存:

    + +
    + + +
    + + + +

    如忘记门店编码,登录后可在「系统设置 → 关于」中查看。

    + + 前往登录 + +
    + +
    +
    + + + + + + + + + + diff --git a/web/dist/terms/index.html b/web/dist/terms/index.html new file mode 100644 index 0000000..da11428 --- /dev/null +++ b/web/dist/terms/index.html @@ -0,0 +1,229 @@ + + + + + + +服务条款 · 岩美酒库管理系统 + + + + + + + + + + + + + + + + + + + + + + +