fix(consignment): 二级分类默认展开并移除计数文案

This commit is contained in:
2026-11-09 16:03:35 +08:00
parent 89a3d23874
commit 2cf93824e4
4 changed files with 30 additions and 15 deletions
@@ -248,8 +248,9 @@ export default function ConsignmentTemplateCopyModal({
}, [open, hasPublished])
useEffect(() => {
setTreeExpandedKeys([])
}, [open, version, mode])
if (!open) return
setTreeExpandedKeys(treeGroupKeys)
}, [open, version, mode, treeGroupKeys])
useEffect(() => {
if (!open) return
@@ -305,15 +306,15 @@ export default function ConsignmentTemplateCopyModal({
}
value={selectedProfileId ?? undefined}
treeData={treeData}
treeDefaultExpandAll={false}
treeDefaultExpandAll
treeExpandedKeys={treeExpandedKeys}
onTreeExpand={(keys) => setTreeExpandedKeys(keys as Array<string | number>)}
showSearch={{
treeNodeFilterProp: 'title',
onSearch: (value) => setTreeExpandedKeys(value.trim() ? treeGroupKeys : []),
onSearch: () => setTreeExpandedKeys(treeGroupKeys),
}}
onOpenChange={(open) => {
if (!open) setTreeExpandedKeys([])
if (!open) setTreeExpandedKeys(treeGroupKeys)
}}
popupMatchSelectWidth={false}
listHeight={320}
@@ -267,6 +267,9 @@ export default function ConsignmentInventoryPanel() {
() => categoryTreeData.filter((node) => node.children?.length).map((node) => node.key),
[categoryTreeData],
)
useEffect(() => {
setCategoryExpandedKeys(categoryGroupKeys)
}, [categoryGroupKeys])
// 默认「苏尔南手枪」;该分类未开启寄卖时回退到第一个已开启分类
useEffect(() => {
@@ -968,17 +971,16 @@ export default function ConsignmentInventoryPanel() {
value={categoryId ?? undefined}
placeholder="寄卖分类"
treeData={categoryTreeData}
treeDefaultExpandAll={false}
treeDefaultExpandAll
treeExpandedKeys={categoryExpandedKeys}
onTreeExpand={(keys) => setCategoryExpandedKeys(keys as Array<string | number>)}
showSearch={{
treeNodeFilterProp: 'title',
onSearch: (value) => setCategoryExpandedKeys(value.trim() ? categoryGroupKeys : []),
onSearch: () => setCategoryExpandedKeys(categoryGroupKeys),
}}
onOpenChange={(open) => {
if (!open) setCategoryExpandedKeys([])
if (!open) setCategoryExpandedKeys(categoryGroupKeys)
}}
popupMatchSelectWidth={false}
listHeight={320}
treeTitleRender={(node) => {
const item = node as InventoryFilterTreeNode
@@ -321,6 +321,9 @@ export default function WorkerConsignmentPage() {
() => profileTreeData.filter((node) => node.children?.length).map((node) => node.key),
[profileTreeData],
)
useEffect(() => {
setProfileExpandedKeys(profileGroupKeys)
}, [profileGroupKeys])
const selectedProfile: WorkerConsignmentProfile | null =
orderedConsignmentProfiles.find((profile) => profile.profileId === selectedProfileId) ||
orderedConsignmentProfiles[0] ||
@@ -892,15 +895,15 @@ export default function WorkerConsignmentPage() {
value={selectedProfile?.profileId}
style={{ minWidth: 220 }}
treeData={profileTreeData}
treeDefaultExpandAll={false}
treeDefaultExpandAll
treeExpandedKeys={profileExpandedKeys}
onTreeExpand={(keys) => setProfileExpandedKeys(keys as Array<string | number>)}
showSearch={{
treeNodeFilterProp: 'title',
onSearch: (value) => setProfileExpandedKeys(value.trim() ? profileGroupKeys : []),
onSearch: () => setProfileExpandedKeys(profileGroupKeys),
}}
onOpenChange={(open) => {
if (!open) setProfileExpandedKeys([])
if (!open) setProfileExpandedKeys(profileGroupKeys)
}}
placeholder={profileTreeData.length === 0 ? '暂无可发布的寄卖分类' : '请选择寄卖分类'}
popupMatchSelectWidth={false}
@@ -150,7 +150,10 @@ test('寄卖配置:规格字段与联系方式区块提供复制模板配置
assert.ok(modal.includes('不影响价格、保证金、服务费、匹配和超时设置'), '复制只替换当前区块')
assert.ok(modal.includes('ruleKey'), '模板驱动规格必须提示 ruleKey 仍指向来源模板')
assert.ok(modal.includes('TreeSelect'), '来源选择必须使用折叠树')
assert.ok(modal.includes('treeDefaultExpandAll={false}'), '来源树默认必须折叠')
assert.ok(
modal.includes('treeDefaultExpandAll') && !modal.includes('treeDefaultExpandAll={false}'),
'来源树默认必须展开二级',
)
assert.ok(modal.includes('treeTitleRender'), '来源树必须自定义层级标题')
})
@@ -160,7 +163,10 @@ test('打手端:寄卖分类按一二级层级展示', () => {
assert.ok(page.includes('orderWorkerProfiles'), '必须按一级/二级排序')
assert.ok(page.includes('profileTreeData'), '必须构建一级/二级树')
assert.ok(page.includes('TreeSelect'), '必须使用可折叠的 TreeSelect')
assert.ok(page.includes('treeDefaultExpandAll={false}'), '默认必须折叠')
assert.ok(
page.includes('treeDefaultExpandAll') && !page.includes('treeDefaultExpandAll={false}'),
'默认必须展开二级',
)
assert.ok(page.includes('treeTitleRender'), '必须自定义层级标题')
assert.ok(page.includes('二级'), '二级分类必须有层级标签')
})
@@ -169,7 +175,10 @@ test('寄售仓库:寄卖分类筛选按一二级层级展示', () => {
const panel = read('../src/pages/admin/panels/ConsignmentInventoryPanel.tsx')
assert.ok(panel.includes('categoryTreeData'), '必须构建一级/二级树')
assert.ok(panel.includes('TreeSelect'), '必须使用可折叠的 TreeSelect')
assert.ok(panel.includes('treeDefaultExpandAll={false}'), '默认必须折叠')
assert.ok(
panel.includes('treeDefaultExpandAll') && !panel.includes('treeDefaultExpandAll={false}'),
'默认必须展开二级',
)
assert.ok(panel.includes('treeTitleRender'), '必须自定义层级标题')
assert.ok(panel.includes('继承'), '继承型二级分类必须有继承标记')
})