a7d1aa170e
fix: billing.ui用{% set %}变量替代"转义,避免Jinja2报错
2026-06-30 17:24:20 +08:00
d3310bfcc1
fix: 修正刷新目标为 app.sage_main_content
...
Sage 主内容区 ID 是 sage_main_content 而非 main_content。
global_menu.ui 确认: target = app.sage_main_content
2026-06-29 13:24:43 +08:00
982b0ad7a7
fix: 授信表单提交成功后自动刷新客户额度管理页面
...
set_credit_form.ui 添加 submited 事件绑定:
Form 提交成功 → 替换 main_content 为最新 credit_manage.ui
PopupWindow 同时因 dismiss_events:["submited"] 自动关闭
适用于新增授信和调整授信两个场景
2026-06-29 13:18:44 +08:00
bda9e7fc00
feat: credit_limit 加 grant_orgid 授予机构字段,支持多租户
...
credit_limit 新增 grant_orgid 字段,区分「客户所属机构(orgid)」
与「授予信用的机构(grant_orgid)」。多租户下,操作员为客户授信时:
- orgid = 客户机构ID
- grant_orgid = 操作员所属机构ID
修改:
- models/credit_limit.json: 加 grant_orgid 字段(VARCHAR(32), default 0) + 索引
- creditlimit.py:
get_credit_stats/get_all_customer_credits: WHERE orgid → WHERE grant_orgid
set_credit_limit: 加 grant_orgid 参数
- set_customer_credit.dspy: 写入时 orgid=客户orgid, grant_orgid=操作员orgid;
三处UPDATE同步加 grant_orgid
- credit_summary.dspy: WHERE orgid → WHERE grant_orgid
get_my_credit_list(客户自看)保持按 cl.orgid 过滤不变。
2026-06-29 12:46:49 +08:00
17554a1038
bugfix
2026-06-29 12:14:04 +08:00
b880673d79
fix: credit_manage 弹窗提交后不关闭导致重复提交
...
set_credit_form.ui 用了无效的 actiontype:'close' 来关闭弹窗,
表单提交后弹窗不关,操作员以为失败重复提交。
修复:
- set_credit_form.ui: 移除无效的 actiontype:'close' bind
- credit_manage.ui: popup_options.dismiss_events 加上'submited',
Form 提交成功后自动关闭弹窗(2处弹窗:新增授信 + 调整)
2026-06-29 11:55:39 +08:00
77fd157ab7
fix: revert get_credit_limit.dspy to CRUD auto-generated, add to .gitignore
...
The file was manually rewritten in cd26eb1 instead of modifying the
CRUD definition (json/credit_limit.json) and regenerating.
Changes:
- Reverted get_credit_limit.dspy to xls2crud-generated version
(includes JOINs for _text fields from model codes, DBFilter pattern)
- Re-generated index.ui via xls2crud
- Added auto-generated credit_limit files to .gitignore
(index.ui, get/add/update/delete_credit_limit.dspy)
- Removed them from git tracking
Future modifications should go through json/credit_limit.json
or models/credit_limit.json, then regenerate.
2026-06-29 11:35:24 +08:00
cd26eb1852
fix: 重写get_credit_limit移除default_filterjson; set_customer_credit加try/except防Duplicate 500
2026-06-29 10:55:12 +08:00
4ca0243506
fix: 新增授信改为UPSERT,避免accountid唯一约束冲突;uuid改为getID
2026-06-29 10:51:16 +08:00
31ef3531c8
fix: add dismiss_events to all PopupWindows in accounting module
...
All PopupWindows loading Form widgets now include 'dismiss_events: ["cancel"]'
so the Form Cancel button properly closes the popup instead of doing nothing.
- credit_manage.ui: '新增授信' and '调整' popups
- error_accounting.ui: '报告错帐' popup
- myaccounts.ui: '充值' and '明细' popups
Ref: bricks-framework skill — PopupWindow dismiss_events pattern
2026-06-29 10:48:29 +08:00
40f037c517
fix: proxy_recharge.ui Form Cancel button now resets form fields
...
The Form's Cancel button dispatches a 'cancel' event but no handler
existed. Added a bind to call reset_data() when Cancel is clicked,
which clears the form fields (username and amount inputs).
2026-06-29 10:43:31 +08:00
d8cfd06c4c
fix: 新增客户授信表单移除id字段,编辑时id通过URL query参数传递
2026-06-29 10:42:28 +08:00
Hermes Agent
503ae5434d
fix: credit_limit.orgid存操作员orgid非客户orgid
...
- accountid已关联客户,orgid应为创建者(reseller)的orgid
- 修复credit_manage.ui查询0条记录问题
2026-06-24 17:41:27 +08:00
Hermes Agent
d04fbedee6
fix: 为所有CRUD json添加editable配置(default值)
2026-06-24 13:12:24 +08:00
Hermes Agent
b17272d9d7
fix: 恢复editable配置(使用default值) - xls2ui必须配置此字段
2026-06-24 12:56:31 +08:00
Hermes Agent
583babdd4a
refactor: 移除手写CRUD dspy文件 - 改由build.sh自动生成
...
- 删除手写的add/update/delete_credit_limit.dspy
- json/credit_limit.json移除editable配置(使用默认CRUD API)
- 避免build.sh重新生成时覆盖手写代码
2026-06-24 12:36:54 +08:00
Hermes Agent
03bf5fcde0
fix: 修复datetime.now()错误 - dspy预加载datetime模块非datetime.datetime
...
- set_customer_credit.dspy: datetime.now() → datetime.datetime.now()
- add_credit_limit.dspy: 删除import, 用datetime.datetime.now()
- update_credit_limit.dspy: 删除import, 用datetime.datetime.now()
2026-06-24 12:07:19 +08:00
Hermes Agent
afb9dd5d88
fix: 修复授信表单提交 - 使用submit_url替代url, 移除手动buttons
...
- url → submit_url (Form正确的属性名)
- 移除手动buttons配置 (Form自动生成Submit/Reset工具栏)
- 移除method:POST (Form默认POST)
2026-06-24 11:36:00 +08:00
Hermes Agent
77624b1ef5
fix: 修正授信表单按钮bind target
...
- 保存按钮 submit target: self → credit_form
- 取消按钮 close target: self → PopupWindow
2026-06-24 10:56:04 +08:00
Hermes Agent
625c6b6873
fix: 修复新增客户授信表单submit无响应
...
- 添加 Form id: credit_form
- 保存按钮添加 submit binds
- 取消按钮添加 close binds
- Form 添加 submit 事件 bind 关闭弹窗
2026-06-24 10:42:52 +08:00
Hermes Agent
511f4b0720
fix: 充值金额用rules校验(min+number)替代无效的min属性 + 后端NaN防护
2026-06-23 15:29:51 +08:00
Hermes Agent
e17a9ac58b
bugfix
2026-06-23 15:21:42 +08:00
Hermes Agent
dbbe553857
bugfix
2026-06-23 15:20:07 +08:00
Hermes Agent
b4ed9e1a8b
fix: proxy_recharge 去掉submit_url,仅保留bind处理,修复双重提交导致充值两次的问题
2026-06-23 15:15:12 +08:00
Hermes Agent
febde765fa
fix: proxy_recharge 充值金额添加min=0.01前端校验,防止负数提交
2026-06-23 15:05:30 +08:00
Hermes Agent
4cf4d0f6b4
fix: proxy_recharge actiontype urldata→urlwidget, 后端返回widget descriptor需用urlwidget模式渲染
2026-06-23 14:39:36 +08:00
Hermes Agent
bc58cbffda
fix: 代客充值结果bind target加app.前缀(兄弟控件)
2026-06-23 14:27:19 +08:00
Hermes Agent
6f6ae6b66a
bugfix
2026-06-23 14:13:42 +08:00
Hermes Agent
56ae61a992
fix: 授信表单改为客户名称查找模式 + 代客充值RBAC路径注册
...
1. 授信表单: accountid改为customer_name文本输入,后端先精确后模糊查找客户
2. 代客充值: load_path.py添加proxy_recharge.ui和proxy_recharge_submit.dspy路径
2026-06-22 17:26:03 +08:00
Hermes Agent
f00057bb75
移除临时文件,添加/更新.gitignore
2026-06-22 15:00:22 +08:00
Hermes Agent
f9bc45b97c
feat: add i18n translations (zh/en/jp/ko) for all modules
2026-06-19 15:01:15 +08:00
Hermes Agent
656fe2fc51
feat: 新增代客充值和错帐处理页面
...
- proxy_recharge.ui: Form表单输入客户用户名+充值金额
- proxy_recharge_submit.dspy: 查找用户+创建payment_log+调用recharge_accounting
- error_accounting.ui: 错帐处理管理页面(placeholder,含设计文档)
2026-06-18 13:33:16 +08:00
Hermes Agent
029a76f960
bugfix
2026-06-16 17:32:38 +08:00
Hermes Agent
4a20509490
fix(P0): 修正accounting CRUD JSON格式,添加.gitignore排除自动生成的CRUD目录
2026-06-16 10:45:25 +08:00
1de6fbcf9b
chore: remove vim swap file, add .swp to gitignore
2026-06-12 15:08:38 +08:00
65a735764c
feat: add credit_status codes to init/data.yaml for credit_limit table
2026-06-12 15:08:25 +08:00
2c6c0570f2
bugfix
2026-06-12 15:06:13 +08:00
414efa7e8f
bugfix
2026-06-11 14:02:39 +08:00
72b42cb654
bugfix
2026-06-10 18:28:30 +08:00
7475b30527
bugfix
2026-06-10 17:59:36 +08:00
c637d76a25
fix: replace wildcard patterns with explicit per-file entries in load_path.py
2026-06-04 13:03:27 +08:00
c4a869c9ff
fix: billing 500 error (sqlExe returns list not dict) + enlarge popup windows (recharge 600x500, detail 700x550)
2026-05-31 14:36:27 +08:00
434cfe950c
feat: billing - add stats summary and Excel download
2026-05-31 14:18:53 +08:00
f62e397c5a
chore: remove vim swap file
2026-05-31 14:11:20 +08:00
c141134001
fix: use this.render(params) instead of this.loadData for Tabular (DataViewer API)
2026-05-31 14:11:14 +08:00
dd12be3833
bugix
2026-05-31 14:08:52 +08:00
7fbc826330
bugix
2026-05-31 14:06:32 +08:00
1029078b56
bugix
2026-05-31 14:05:05 +08:00
0080bbd7c4
fix: IconBar click not working - add id and reference in binds instead of self
2026-05-31 14:00:08 +08:00
8d447b90ea
refactor: billing - use Form title, Tabular always present, form submit loadData via script
2026-05-31 13:56:56 +08:00