align(撞款): 店铺数据重复按登录角色区分范围——超管看全分组、管理员只看本组
撞款控制台角色收口:前端读会话角色(isSuperAdmin),非超管隐藏筛选「分组」下拉、 「分组撞款」分段与「分组说明」按钮(分组专属交互仅超管需要);普通管理员数据已由 后端 resolveVisibleShopKeys 裁剪到所管分组店铺(超管 null=全量)。前端 1554 测试全绿 + build 通过。
This commit is contained in:
@@ -56,3 +56,22 @@ test('align_dup_console_matrix_sticky', () => {
|
||||
assert.match(page, /table\.matrix th\s*\{[^}]*position:\s*sticky/, '矩阵表头吸顶')
|
||||
assert.match(page, /\.matrix-wrap\s*\{[^}]*max-height/, '矩阵容器限高滚动')
|
||||
})
|
||||
|
||||
test('align_dup_console_role_scope_group_filter_only_super', () => {
|
||||
// 角色范围:分组筛选下拉仅超管需要;管理员数据由后端裁到本组。
|
||||
const page = readSource('src/pages/tasks/DuplicateCheckPage.vue')
|
||||
assert.match(page, /useAdminSessionStore/, '页面读取登录会话取角色')
|
||||
assert.match(page, /const isSuper = computed\(\(\) => session\.isSuperAdmin\)/, 'isSuper 由会话角色推导')
|
||||
assert.match(page, /<div v-if="isSuper" class="f-group">\s*<label>分组<\/label>/s, '分组筛选仅超管可见')
|
||||
assert.match(page, /group: filter\.group\.trim\(\)/, '分组筛选仍参与查询参数')
|
||||
})
|
||||
|
||||
test('align_dup_console_role_scope_group_controls_only_super', () => {
|
||||
// 分组撞款/分组说明为超管专属交互;后端超管全量、普通管理员所管分组店铺。
|
||||
const page = readSource('src/pages/tasks/DuplicateCheckPage.vue')
|
||||
assert.match(page, /<div v-if="isSuper" class="scope-bar">/, '分组撞款分段仅超管可见')
|
||||
assert.match(page, /v-if="isSuper" class="btn btn-ghost btn-sm" type="button" @click="groupInfoVisible = true"/, '分组说明按钮仅超管可见')
|
||||
const service = readSource('../backend-java/src/main/java/com/nanri/aiimage/modules/shopduplicatecheck/service/ShopDataDuplicateCheckQueryService.java')
|
||||
assert.match(service, /if \(superAdmin\) \{\s*return null;/, '超管可见范围=全量(null)')
|
||||
assert.match(service, /selectManagedShopNames\(operatorId\)/, '普通管理员可见范围=所管分组店铺')
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user