262 Commits

Author SHA1 Message Date
a3fd6cf194 feat: 租户品牌名改用brand_name字段,不从orgname取 2026-07-09 12:23:33 +08:00
81ed08ebe7 fix: tenant_brand_data.dspy加return result 2026-07-09 12:08:17 +08:00
0dd7414d06 fix: index.ui用JS动态获取租户品牌数据,替代Jinja DB查询 2026-07-09 12:05:30 +08:00
ec51ff30da feat: 租户品牌设置页面(tenant_brand.ui) + 保存端点 2026-07-09 12:03:31 +08:00
09bf64378f fix: index.ui用db.sqlorContext()替代request._run_ns 2026-07-09 12:02:54 +08:00
876d9ff59e feat: 租户自定义左上角图标和系统名称,读取organization.iconid+orgname 2026-07-09 12:02:12 +08:00
4a1535563b feat: add 租户管理 to Sage global menu 2026-07-09 11:57:20 +08:00
d8bd26d37b chore: remove module wwwroot symlinks from git tracking
These are intermediate symlinks created by build.sh, not source files.
2026-07-07 13:26:21 +08:00
9e3b05d3f7 chore: rebuild merged migration SQL 2026-07-06 14:31:04 +08:00
ef44700203 chore: gitignore deploy artifacts (config, pid, symlinks) 2026-07-03 17:28:44 +08:00
12af8e9ac8 fix: CRUD endpoint return format - remove json.dumps, use widgettype format 2026-07-03 14:51:19 +08:00
aceac58764 bugfix 2026-06-30 16:42:29 +08:00
6c94376b3d bugfix 2026-06-29 13:50:45 +08:00
df0f50e4f7 fix: 恢复 language.ui 为原版 Text widget
VBox 是布局容器不支持 click 事件,导致:
- 语言代码不显示(VBox 无 otext)
- 点击无反应(VBox 不触发 click bind)
- 语言切换后代码不更新(缺少 app lang bind)

恢复为 Text widget + Popup click + lang event bind
2026-06-29 13:26:29 +08:00
ed7cd6ba54 chore: 停止追踪生成的 i18n 文件,添加语言切换图标
- 从 git 删除 wwwroot/i18n/{zh,en,jp,ko}/ 生成文件(由 merge_i18n.py 生成)
- 添加 .gitignore 排除生成目录
- 新增 language.svg (globe icon) 替换纯文字语言切换器
- language.ui 改为 VBox: globe图标 + 语言代码标签
2026-06-29 11:46:15 +08:00
7d6362b1d4 chore: remove committed symlink wwwroot/bugfix 2026-06-29 11:31:26 +08:00
6493b636a7 fix: i18n_getmsgs.dspy 读取路径缺少 i18n/ 前缀
原代码: os.path.dirname(__file__) + lang → wwwroot/{lang}/i18n.json (不存在)
修正为: + 'i18n' + lang → wwwroot/i18n/{lang}/i18n.json (正确)
同时重跑 merge_i18n.py 确保生成最新合并文件
2026-06-29 11:31:13 +08:00
3948f623ac feat(i18n): 添加DataViewer弹窗国际化翻译
新增key:
- Search Filter (搜索过滤/検索フィルター/검색 필터)
- Delete conform (删除确认/削除確認/삭제 확인)
- Are you sure to delete this record?
2026-06-26 11:05:29 +08:00
f4a5a66929 fix: i18n_getmsgs.dspy 移到 wwwroot 根目录 2026-06-25 14:20:48 +08:00
9f66377222 fix: i18n_getmsgs.dspy 返回扁平字典格式 2026-06-25 14:13:23 +08:00
156767b1e8 fix: i18n_getmsgs.dspy 移到 i18n 目录下 2026-06-25 14:07:00 +08:00
d3befb972d feat: 添加 i18n_getmsgs 端点支持多语言翻译 2026-06-25 14:03:16 +08:00
e5450225aa i18n: 添加文件上传控件提示翻译(zh/ko/jp/en) 2026-06-25 13:53:23 +08:00
Hermes Agent
0c4269fd06 fix: discount CRUD路径改为tablename/index.ui格式 2026-06-24 01:25:00 +08:00
Hermes Agent
dce3348bf6 feat: 添加折扣管理菜单到global_menu
- 管理员侧新增'折扣管理'菜单(定价管理后面)
- 子菜单: 折扣方案/折扣产品明细/营销方案/促销码/客户归属
- 新增percent.svg图标
2026-06-24 00:58:40 +08:00
Hermes Agent
6225ce06c9 Revert "fix: root VBox height:100% instead of cheight:40"
This reverts commit c4450d2a6c26ae38aea2c2edf4ada073421b2898.
2026-06-19 14:26:33 +08:00
Hermes Agent
c4450d2a6c fix: root VBox height:100% instead of cheight:40 2026-06-19 14:25:11 +08:00
Hermes Agent
cee55d0a59 feat: 重构账务中心菜单为四级层次结构
菜单结构:
- 账务配置: 科目设置/账务设置/会计分录配置
- 财务处理: 客户信用额度/代客充值/错帐处理
- 分销商结算: 分销商对账/明细对账/分销商结算
- 供应商财务: 供应商充值/供应商对账/供应商明细对账/供应商结算

同时修正CRUD JSON output_dir指向accounting模块
2026-06-18 13:33:14 +08:00
Hermes Agent
612b23f540 bugfix 2026-06-18 10:46:23 +08:00
Hermes Agent
a1a646eadb i18n: update en/jp/ko translations for all extracted keys 2026-06-18 08:45:26 +08:00
Hermes Agent
eddda651da fix: product_management menu items point directly to CRUD lists instead of iframe wrappers 2026-06-17 16:14:23 +08:00
Hermes Agent
80ae28fd2a feat: 大模型API调用菜单对所有用户可见 2026-06-17 15:26:14 +08:00
Hermes Agent
978f540e57 feat: 供应链管理菜单扩展 — 新增供销协议/分销商/分销协议管理入口,分销商指向supplychain模块 2026-06-17 15:18:36 +08:00
Hermes Agent
a4229cff61 feat: 在global_menu.ui添加产品管理菜单入口(还原menu.ui误改) 2026-06-17 15:07:53 +08:00
Hermes Agent
895a389583 feat: 添加产品管理菜单入口,指向product_management模块 2026-06-17 15:05:33 +08:00
3d289d52f5 bugfix 2026-06-11 16:18:59 +08:00
7870e5351c bugfix 2026-06-10 14:42:45 +08:00
7d5c7bb798 fix: API Key管理菜单移到endif后, 所有登录用户可见(customer+owner) 2026-06-05 11:47:51 +08:00
c008056184 feat: 主菜单添加系统权限管理(角色/权限/角色权限CRUD), 仅owner可见 2026-06-05 11:45:49 +08:00
397dbb67d3 feat: apikey菜单项移至所有登录用户可见,不再限制customer.admin 2026-06-05 11:44:33 +08:00
a8652c326f fix: 定价管理菜单直接进入pricing_program CRUD,跳过index.ui 2026-06-01 15:55:18 +08:00
4aaf6a334d refactor: 简化上位系统管理菜单,只保留上位系统和数据IO 2026-05-31 15:20:18 +08:00
ba3769856c feat: 添加上位系统管理菜单(uapi) 2026-05-31 15:11:46 +08:00
09ac4660d7 fix: 修正供应商管理菜单指向supplychain模块 2026-05-31 15:08:19 +08:00
39e597755d feat: add supply chain menu (provider, reseller) to non-customer sidebar 2026-05-31 15:01:36 +08:00
927a223582 feat: add non-customer admin menu items (llmage, pricing, charge, accounting, financial, harnessed_agent, harnessed_reasoning, users) 2026-05-31 14:53:48 +08:00
d179aeb9ed fix: user_logined handler checks Router before loading dashboard
Changed the user_logined bind from urlwidget action to script action
that calls sageOnLogin(dashboardUrl). This prevents the dashboard from
overwriting the Router-restored page when the URL has a ?page= param.

Fixes: F5 refresh on deep links (e.g. ?page=/rbac/users) always showing
dashboard instead of the intended page.
2026-05-31 13:08:37 +08:00
b28a2b4a76 docs: merge reallife_asset API into unified api_zh.md 2026-05-31 13:00:16 +08:00
c1ff952cef feat: 客户API Key管理菜单指向dapi模块,添加edit/delete/newkey/copy图标
1. global_menu.ui: API Key管理URL改为/dapi/downapp/
2. imgs/: 添加edit.svg, delete.svg, newkey.svg, copy.svg图标
2026-05-31 12:10:00 +08:00
e6e732227f fix: 客户菜单添加仪表盘入口, 修复已登录用户右侧内容不加载问题
1. global_menu.ui: 客户菜单首位添加dashboard菜单项
2. index.ui: sage_main_content默认子组件改为urlwidget直接加载dashboard,
   解决已登录用户页面加载时user_logined事件不触发导致内容区空白的问题
2026-05-31 11:58:31 +08:00