refactor(ticket): move the config tab into the SPA ticket center
users.php → 工单管理 的「配置」Tab 只管理部门 / 状态 / 预设回复三块 DB 字典,与 SPA「工单中心」已有的 8 个标量配置分裂成两处;且同一套 CRUD 在 admin_post 与 TicketConfigRest 里各写了一遍,REST 侧此前 没有任何调用方。 - 删除原生 config tab:UsersMenusTicketsConfig.php 整份移除, UsersMenusTicketsCenter 由 512 行降到 251 行(六个写处理方法、 分发分支、十条提示码与 ticket_delete_button 一并清理) - SPA /users/ticket 改为 customPage:内嵌 SchemaPage 承载原有 8 字段, 三块字典改为 n-data-table + n-modal + n-dialog,取色器/管理员多选/ 拖拽排序替代原生手填表单 - TicketConfigRest 成为三块字典的唯一实现,新增 api/modules/tickets.js 封装 aksrt/v1/admin/tickets* - 双向深链:原生页跳 SPA 配置页,SPA 页跳回原生工单列表 契约测试同步更新,并新增 ticket-spa-config-contract 守护接线。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d32bdc0581
commit
e7ca0ee5df
19 files changed
+1074
-509
No files matched your search
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* 「工单中心」配置契约:
|
||||
* 1) PHP SchemaUsersTicket 分区与 SPA JS schema 的键、顺序、类型、默认值 1:1 对齐;
|
||||
* 2) SPA 页面已注册(/users/ticket 可达),且挂的是 schemaPage 而非自定义页;
|
||||
* 2) SPA 页面已注册(/users/ticket 可达),承载 schema 表单 + 三块字典 CRUD;
|
||||
* 3) 运行时 TicketSettings 缺键回退 schema 默认,数值边界被夹取;
|
||||
* 4) 前台入口三处均已注册:Center.php 面板定义 + sidebar-nav.php 侧栏项 +
|
||||
* aksrt-user-center.php 的 built_in_tabs 与 view map。
|
||||
@@ -67,7 +67,7 @@ test('ticket schema keys match between PHP and SPA JS', () => {
|
||||
'JS notice text must declare sanitize_type html');
|
||||
});
|
||||
|
||||
test('ticket schema is registered as a schema page under users', () => {
|
||||
test('ticket schema is registered under users', () => {
|
||||
const js = read('assets/admin/src/schema/sections/users/ticket.js');
|
||||
assert.equal(js.includes("key: 'users.ticket'"), true, 'schema key must be users.ticket');
|
||||
|
||||
|
||||
Reference in new issue
Block a user