feat(web): 前端 SPA 化 + 工具页任务面板统一与历史批量删除

- SPA 化:22 个 MPA html 入口与 *-main.ts 合并为 index.html + vue-router(URL 无 .html 后缀),
  页面跳转全部 router-link,/new_web_source/xxx.html 旧路径归一为 /xxx
- 任务面板统一:共享 TaskCenterPanel/TaskItemCard/TaskStatCards/HistoryTaskLayer,
  16 个工具页右侧统一为统计卡 + 当前任务 + 历史任务弹层(任务ID/开始/结束/状态必展示)
- 历史记录支持单条删除 + 批量勾选删除(确认框/全选/失败提示)
- Java 7 模块(dedupe/convert/split/productrisk/shopmatch/pricetrack/deletebrand)
  history 接口补齐任务时间字段(VO+Service,复用 biz_file_task 列)
- 图片工作台/API 层(brand/permission/user)既有未提交改动一并提交
This commit is contained in:
2026-09-08 10:02:55 +08:00
parent abcfa5bef7
commit e248b6e43a
125 changed files with 7482 additions and 4304 deletions
@@ -66,14 +66,14 @@ test('权限过滤:工作流时间线按工具权限截断', () => {
test('工具目录:页面链接与现有 BrandTopBar 导航映射一致', () => {
const expectHref = new Map<string, string>([
['collect', '/new_web_source/collect-data.html'],
['dedupe', '/new_web_source/dedupe.html'],
['source', '/new_web_source/similar-asin.html'],
['collect', '/collect-data'],
['dedupe', '/dedupe'],
['source', '/similar-asin'],
['brand', '/brand'],
['list', '/new_web_source/publish.html'],
['follow', '/new_web_source/price-track.html'],
['scrape', '/new_web_source/shop-data-crawl.html'],
['cash', '/new_web_source/withdraw.html'],
['list', '/publish'],
['follow', '/price-track'],
['scrape', '/shop-data-crawl'],
['cash', '/withdraw'],
])
for (const [id, href] of expectHref) {
assert.equal(TOOL_MAP.get(id)?.href, href, `工具 ${id} 应指向 ${href}`)