task-116: 后台管理新增/导入表单弹窗化 + 分组管理独立菜单与UI优化 + 轻量进度端点
Build Backend JAR / build (push) Has been cancelled
Build Backend JAR / build (push) Has been cancelled
- 后台管理页(admin)所有面板的新增/导入表单改为弹窗操作,原有字段 ID 全部保留、提交逻辑不变;导入删除入口不再触发二次确认拦截 - 分组管理升级为独立菜单(V102 + schema initializer),移除 5 个面板内的管理分组按钮;分组列表改为蓝白主题、增加权限分组横幅 - Python 侧 group-manage 权限守卫(_ensure_backend_menu_access 补充 group-manage) - 引入 V101(biz_task_file_job 复合索引)+ 新增 TaskProgressLight/TaskFileJob 轻量端点与进度聚合作 - 前端 progress-light / page-separated-loads / dispatch-guard 共享模块及单元测试
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
rows=8
|
||||
row: idx=2 sourceId=2_1 displayId=2_1 asin=B01A country=US price=19.90 sku=SKU-1 url=http://img/a.jpg title=title a groupKey=uploads/main.xlsx::2@2 rowToken=uploads/main.xlsx::row::2 values.size=9
|
||||
row: idx=3 sourceId=2_2 displayId=2_2 asin=B01B country=DE price=29.90 sku=SKU-2 url=http://img/b.jpg title=title a groupKey=uploads/main.xlsx::2@2 rowToken=uploads/main.xlsx::row::3 values.size=9
|
||||
row: idx=4 sourceId=2_3 displayId=2_3 asin=B01C country=FR price= sku=SKU-1 url=http://img/c.jpg title=title a groupKey=uploads/main.xlsx::2@2 rowToken=uploads/main.xlsx::row::4 values.size=9
|
||||
row: idx=5 sourceId=5 displayId=5 asin=B01D country=UK price=9.90 sku=SKU-4 url=http://img/d.jpg title=title d groupKey=uploads/main.xlsx::5@5 rowToken=uploads/main.xlsx::row::5 values.size=9
|
||||
row: idx=6 sourceId=6 displayId=6 asin=B01E country=US price=1.00 sku=SKU-5 url=http://img/e.jpg title=title e groupKey=uploads/main.xlsx::6@6 rowToken=uploads/main.xlsx::row::6 values.size=9
|
||||
row: idx=5 sourceId=11 displayId=11 asin=B02C country=FR price= sku= url= title= groupKey=uploads/error.xlsx::11@5 rowToken=uploads/error.xlsx::row::5 values.size=9
|
||||
row: idx=6 sourceId=12 displayId=12 asin=B02D country=FR price= sku= url= title= groupKey=uploads/error.xlsx::12@6 rowToken=uploads/error.xlsx::row::6 values.size=9
|
||||
row: idx=7 sourceId=13 displayId=13 asin=B02E country=FR price= sku= url= title= groupKey=uploads/error.xlsx::13@7 rowToken=uploads/error.xlsx::row::7 values.size=9
|
||||
@@ -0,0 +1,16 @@
|
||||
total=5
|
||||
task id=5 no=T5 status=SUCCESS src=1 ok=1 fail=0 comp=1 rows=15/15 pct=100 err=null
|
||||
file id=501 key=key501 shop=Shop 0/SHOP0 matched=true status=SUCCESS rows=15/15 pct=100
|
||||
task id=4 no=T4 status=FAILED src=1 ok=0 fail=1 comp=1 rows=9/4 pct=100 err=null
|
||||
file id=401 key=key401 shop=Shop 2/SHOP2 matched=true status=FAILED rows=9/4 pct=100
|
||||
result id=904 ready=true url=https://ossresult/publish/904/out.xlsx job=804/FAILED retry=2 joberr=assemble failed err=boom
|
||||
task id=3 no=T3 status=PENDING src=1 ok=0 fail=0 comp=0 rows=8/0 pct=0 err=null
|
||||
file id=301 key=key301 shop=Shop 1/SHOP1 matched=true status=PENDING rows=8/0 pct=0
|
||||
task id=2 no=T2 status=RUNNING src=2 ok=0 fail=1 comp=1 rows=35/15 pct=70 err=null
|
||||
file id=201 key=key201 shop=Shop 0/SHOP0 matched=true status=RUNNING rows=30/12 pct=40
|
||||
file id=202 key=key202 shop=Shop 1/SHOP1 matched=true status=FAILED rows=5/3 pct=100
|
||||
result id=902 ready=true url=https://ossresult/publish/902/out.xlsx job=802/RUNNING retry=1 joberr=null err=still running
|
||||
task id=1 no=T1 status=SUCCESS src=2 ok=2 fail=0 comp=2 rows=30/30 pct=100 err=null
|
||||
file id=101 key=key101 shop=Shop 2/SHOP2 matched=true status=SUCCESS rows=10/10 pct=100
|
||||
file id=102 key=key102 shop=Shop 0/SHOP0 matched=true status=SUCCESS rows=20/20 pct=100
|
||||
result id=901 ready=true url=https://ossresult/publish/901/out.xlsx job=801/SUCCESS retry=0 joberr=null err=null
|
||||
@@ -0,0 +1,9 @@
|
||||
group: country=UK rows=1
|
||||
asin=B01
|
||||
group: country=DE rows=1
|
||||
asin=B02
|
||||
group: country=FR rows=1
|
||||
asin=B03
|
||||
group: country=ES rows=0
|
||||
group: country=IT rows=1
|
||||
asin=B05
|
||||
@@ -0,0 +1,3 @@
|
||||
rows=2
|
||||
日期=2026-07-25;ASIN=B012345678;商品图片=;库存销量=128;销售排名=#1,245;页面浏览量=3560;售出件数=42;价格=GBP 19.99;推荐报价=GBP 18.99;品牌=Example Brand;
|
||||
日期=;ASIN=B099999999;商品图片=;库存销量=;销售排名=;页面浏览量=;售出件数=;价格=;推荐报价=;品牌= Brand With Spaces ;
|
||||
@@ -0,0 +1,7 @@
|
||||
rows=3
|
||||
row: idx=2 sourceId=1 displayId=1 asin=B10A country=US sku= price= url= title= groupKey=uploads/groups.xlsx::1@2 rowToken=uploads/groups.xlsx::row::2 values.size=7
|
||||
row: idx=3 sourceId=2_1 displayId=2_1 asin=B11A country=DE sku= price= url= title= groupKey=uploads/groups.xlsx::2@3 rowToken=uploads/groups.xlsx::row::3 values.size=7
|
||||
row: idx=4 sourceId=2_2 displayId=2_2 asin=B11B country=FR sku= price= url= title= groupKey=uploads/groups.xlsx::2@3 rowToken=uploads/groups.xlsx::row::4 values.size=7
|
||||
groups=2
|
||||
group: fileKey=uploads/groups.xlsx filename=groups.xlsx groupKey=uploads/groups.xlsx::1@2 baseId=1 displayId=1 itemCount=1 range=[0,1)
|
||||
group: fileKey=uploads/groups.xlsx filename=groups.xlsx groupKey=uploads/groups.xlsx::2@3 baseId=2 displayId=2_1 itemCount=2 range=[1,3)
|
||||
@@ -0,0 +1,16 @@
|
||||
rows=8
|
||||
row: idx=2 sourceId=2_1 displayId=2_1 asin=B01A country=US sku=SKU-1 price=19.90 url=http://img/a.jpg title=title a groupKey=uploads/main.xlsx::2@2 rowToken=uploads/main.xlsx::row::2 values.size=7
|
||||
row: idx=3 sourceId=2_2 displayId=2_2 asin=B01B country=DE sku=SKU-2 price=29.90 url=http://img/b.jpg title=title b groupKey=uploads/main.xlsx::2@2 rowToken=uploads/main.xlsx::row::3 values.size=7
|
||||
row: idx=4 sourceId=2_3 displayId=2_3 asin=B01C country=FR sku=SKU-3 price= url=http://img/c.jpg title= groupKey=uploads/main.xlsx::2@2 rowToken=uploads/main.xlsx::row::4 values.size=7
|
||||
row: idx=5 sourceId=5 displayId=5 asin=B01-ABC country=UK sku=SKU-4 price=9.90 url=http://img/d.jpg title=title d groupKey=uploads/main.xlsx::5@5 rowToken=uploads/main.xlsx::row::5 values.size=7
|
||||
row: idx=6 sourceId=6 displayId=6 asin=B01D country=US sku=SKU-5 price=1.00 url=http://img/e.jpg title=title e groupKey=uploads/main.xlsx::6@6 rowToken=uploads/main.xlsx::row::6 values.size=7
|
||||
row: idx=5 sourceId=11 displayId=11 asin=B02-ABC country=FR sku= price= url= title= groupKey=uploads/error.xlsx::11@5 rowToken=uploads/error.xlsx::row::5 values.size=7
|
||||
row: idx=6 sourceId=12 displayId=12 asin=B02C country=FR sku= price= url= title= groupKey=uploads/error.xlsx::12@6 rowToken=uploads/error.xlsx::row::6 values.size=7
|
||||
row: idx=7 sourceId=13 displayId=13 asin=B02C country=FR sku= price= url= title= groupKey=uploads/error.xlsx::13@7 rowToken=uploads/error.xlsx::row::7 values.size=7
|
||||
groups=6
|
||||
group: fileKey=uploads/main.xlsx filename=main.xlsx groupKey=uploads/main.xlsx::2@2 baseId=2 displayId=2_1 itemCount=3 range=[0,3)
|
||||
group: fileKey=uploads/main.xlsx filename=main.xlsx groupKey=uploads/main.xlsx::5@5 baseId=5 displayId=5 itemCount=1 range=[3,4)
|
||||
group: fileKey=uploads/main.xlsx filename=main.xlsx groupKey=uploads/main.xlsx::6@6 baseId=6 displayId=6 itemCount=1 range=[4,5)
|
||||
group: fileKey=uploads/error.xlsx filename=error.xlsx groupKey=uploads/error.xlsx::11@5 baseId=11 displayId=11 itemCount=1 range=[5,6)
|
||||
group: fileKey=uploads/error.xlsx filename=error.xlsx groupKey=uploads/error.xlsx::12@6 baseId=12 displayId=12 itemCount=1 range=[6,7)
|
||||
group: fileKey=uploads/error.xlsx filename=error.xlsx groupKey=uploads/error.xlsx::13@7 baseId=13 displayId=13 itemCount=1 range=[7,8)
|
||||
Reference in New Issue
Block a user