diff --git a/admin-frontend-vue/src/pages/tasks/ImageVideoTasksPage.vue b/admin-frontend-vue/src/pages/tasks/ImageVideoTasksPage.vue index 84efb346..2333c6fa 100644 --- a/admin-frontend-vue/src/pages/tasks/ImageVideoTasksPage.vue +++ b/admin-frontend-vue/src/pages/tasks/ImageVideoTasksPage.vue @@ -1,6 +1,7 @@ - -

勾选允许查看/操作视频任务的用户(仅数据范围)。当前已授权 {{ permissionGrantedCount }} 人。

+ +

勾选允许查看视频任务记录的用户(仅数据范围)。当前已授权 {{ permissionGrantedCount }} 人。

@@ -375,34 +408,315 @@ onMounted(load) diff --git a/admin-frontend-vue/src/pages/tasks/ShopDataTasksPage.vue b/admin-frontend-vue/src/pages/tasks/ShopDataTasksPage.vue index ea8f32dd..039bbb6a 100644 --- a/admin-frontend-vue/src/pages/tasks/ShopDataTasksPage.vue +++ b/admin-frontend-vue/src/pages/tasks/ShopDataTasksPage.vue @@ -1,9 +1,9 @@ diff --git a/admin-frontend-vue/tests/align-shop-data-grid.test.ts b/admin-frontend-vue/tests/align-shop-data-grid.test.ts index 6a7c3012..e5b864fe 100644 --- a/admin-frontend-vue/tests/align-shop-data-grid.test.ts +++ b/admin-frontend-vue/tests/align-shop-data-grid.test.ts @@ -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', () => { diff --git a/admin-frontend-vue/tests/align-shop-records-row-buttons.test.ts b/admin-frontend-vue/tests/align-shop-records-row-buttons.test.ts index 9d3acf73..707b2e0b 100644 --- a/admin-frontend-vue/tests/align-shop-records-row-buttons.test.ts +++ b/admin-frontend-vue/tests/align-shop-records-row-buttons.test.ts @@ -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, /]*text[^>]*@click="copyLink/, '复制链接保留 text') + assert.match(s, /class="btn btn-sm"[^>]*@click="copyLink/, '复制链接用 btn-sm') }) diff --git a/admin-frontend-vue/tests/datetime-sweep.test.ts b/admin-frontend-vue/tests/datetime-sweep.test.ts index 96b68514..b366e3ba 100644 --- a/admin-frontend-vue/tests/datetime-sweep.test.ts +++ b/admin-frontend-vue/tests/datetime-sweep.test.ts @@ -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} 仍应含“时间/最新”列/文案`) } }) diff --git a/admin-frontend-vue/tests/task-264.test.ts b/admin-frontend-vue/tests/task-264.test.ts index a278ded8..584eac45 100644 --- a/admin-frontend-vue/tests/task-264.test.ts +++ b/admin-frontend-vue/tests/task-264.test.ts @@ -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', () => { diff --git a/admin-frontend-vue/tests/task-265.test.ts b/admin-frontend-vue/tests/task-265.test.ts index 1593bd21..222f8e33 100644 --- a/admin-frontend-vue/tests/task-265.test.ts +++ b/admin-frontend-vue/tests/task-265.test.ts @@ -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', () => { diff --git a/admin-frontend-vue/tests/task-267.test.ts b/admin-frontend-vue/tests/task-267.test.ts index 20cc26f1..2fb6778d 100644 --- a/admin-frontend-vue/tests/task-267.test.ts +++ b/admin-frontend-vue/tests/task-267.test.ts @@ -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/, '需重置') })