align(tasks·像素复刻): 视频任务记录/店铺数据记录 两页自绘复刻旧版(panel-image-video-tasks/shop-data-crawl-tasks)——form-box筛选[用户名/提交起止]+panel-box toolbar[全选/批量下载/权限配置/汇总]+任务/店铺卡片网格+旧版状态徽章映射+原生confirm删除+旧式分页(店铺级+卡片9/页);空态/调试链接复制对齐旧版

This commit is contained in:
2026-09-06 23:15:07 +08:00
parent b0c461d347
commit 3ef7cefe07
8 changed files with 997 additions and 325 deletions
@@ -19,11 +19,11 @@ test('align_shop_data_grid_normal_variant_input', () => {
})
test('align_shop_data_grid_boundary_empty_input', () => {
// 卡片区下方有翻页组件(prev/next),与店铺分页并存。
// 卡片区下方有翻页组件(prev/next),与店铺分页并存(均为旧式分页)
const src = readSource(PAGE)
const count = (src.match(/el-pagination/g) || []).length
assert.ok(count >= 2, '页面应含店铺分页 + 卡片分页两处 el-pagination')
assert.match(src, /layout="prev, pager, next, jumper"/, '卡片分页含上一页/下一页')
const count = (src.match(/class="pagination"/g) || []).length + (src.match(/sd-shop-pager/g) || []).length
assert.ok(count >= 2, '页面应含店铺分页 + 卡片分页两处分页')
assert.match(src, /cardPage/, '卡片分页状态')
})
test('align_shop_data_grid_boundary_single_item', () => {
@@ -42,14 +42,14 @@ test('align_digital_human_row_buttons_old_btn', () => {
assert.match(s, /window\.confirm\(text\)/, '确认走原生 confirm 对齐旧版')
})
test('align_image_video_detail_and_download_solid', () => {
test('align_image_video_detail_and_download_old_btn', () => {
const s = readSource('src/pages/tasks/ImageVideoTasksPage.vue')
assertRowButtonSolid(s, 'openDetail')
assertRowButtonSolid(s, 'downloadVideo')
assert.match(s, /class="btn btn-sm btn-secondary"[^>]*@click="downloadVideo\(task, index, video\)"/, '视频下载为旧版 btn-sm btn-secondary')
assert.match(s, /class="btn btn-sm"[^>]*@click="copyLink\(video\.displayUrl\)"/, '复制链接为旧版 btn-sm')
})
test('align_copy_link_aux_kept_text', () => {
// 辅助"复制链接"保留 text(非破坏主操作),避免被误伤
test('align_copy_link_aux_old_btn', () => {
// 辅助"复制链接"为旧版 btn-sm 小按钮
const s = readSource('src/pages/tasks/ImageVideoTasksPage.vue')
assert.match(s, /<el-button[^>]*text[^>]*@click="copyLink/, '复制链接保留 text')
assert.match(s, /class="btn btn-sm"[^>]*@click="copyLink/, '复制链接用 btn-sm')
})
@@ -64,7 +64,7 @@ test('test_datetime_sweep_boundary_single_item', () => {
// 含时间展示的页:时间标签仍存在(列还在),只是改成走格式化;无时间列页面豁免。
for (const page of PAGES) {
const src = readSource(page)
if (TIME_CONTENT.test(src)) assert.match(src, /时间/, `${page} 仍应含“时间”列/文案`)
if (TIME_CONTENT.test(src)) assert.match(src, /时间|最新/, `${page} 仍应含“时间/最新”列/文案`)
}
})
+1 -1
View File
@@ -36,7 +36,7 @@ test('test_task_264_view_boundary_empty_input', () => {
const page = readSource('src/pages/tasks/ImageVideoTasksPage.vue')
assert.match(page, /视频生成中或暂无结果/)
assert.match(page, /任务失败,未生成视频/)
assert.match(page, /暂无视频任务记录/)
assert.match(page, /暂无符合条件的视频任务/)
})
test('test_task_264_view_boundary_single_item', () => {
+4 -3
View File
@@ -7,8 +7,9 @@ import { normalizeImageVideoFilter } from '../src/pages/tasks/image-video-filter
test('test_task_265_filter_normal_primary_path', () => {
const page = readSource('src/pages/tasks/ImageVideoTasksPage.vue')
assert.match(page, /用户名(模糊搜索)/, '需用户名模糊筛选')
assert.match(page, /提交时间/, '需提交时间范围')
assert.match(page, /用户名/, '需用户名模糊筛选')
assert.match(page, /提交开始/, '需提交开始时间')
assert.match(page, /提交结束/, '需提交结束时间')
assert.match(page, /查询/, '需查询按钮')
assert.match(page, /reset/, '需重置')
})
@@ -43,7 +44,7 @@ test('test_task_265_permission_normal_primary_path', () => {
assert.match(page, /权限配置/, '权限入口')
assert.match(page, /fetchImageVideoPermissionUsers/, '权限用户加载')
assert.match(page, /saveImageVideoPermissions/, '权限保存')
assert.match(page, /数据范围授权/, '权限弹窗语义')
assert.match(page, /数据范围/, '权限弹窗语义')
})
test('test_task_265_permission_boundary_limit_or_missing_field', () => {
+4 -3
View File
@@ -8,10 +8,11 @@ import { toShopDataZipRequest } from '../src/pages/tasks/shop-data-download.ts'
test('test_task_267_filter_normal_primary_path', () => {
const page = readSource('src/pages/tasks/ShopDataTasksPage.vue')
assert.match(page, /店铺(模糊搜索)/, '需店铺模糊筛选')
assert.match(page, /分组(模糊搜索)/, '需分组模糊筛选')
assert.match(page, /店铺/, '需店铺模糊筛选')
assert.match(page, /分组/, '需分组模糊筛选')
assert.match(page, /国家/, '需国家筛选')
assert.match(page, /创建时间/, '需创建时间范围')
assert.match(page, /创建开始/, '需创建开始时间')
assert.match(page, /创建结束/, '需创建结束时间')
assert.match(page, /查询/, '需查询')
assert.match(page, /reset/, '需重置')
})