Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
admin-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
admin-ci-test
Commits
43f628eb
提交
43f628eb
authored
8月 10, 2023
作者:
龚洪江
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
功能:商品sku新增编辑
上级
65a8690f
全部展开
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
121 行增加
和
172 行删除
+121
-172
index.tsx
...Goods/goodsAddOrEditOrDetail/components/skuInfo/index.tsx
+0
-0
index.tsx
...ges/mallManage/mallGoods/goodsAddOrEditOrDetail/index.tsx
+46
-105
index.scss
...ges/rentManage/rentGoods/rentAddOrEditOrDetail/index.scss
+0
-0
index.tsx
src/pages/rentManage/rentGoods/rentList/index.tsx
+3
-3
router.tsx
src/router/router.tsx
+72
-64
没有找到文件。
src/pages/mallManage/mallGoods/goodsAddOrEditOrDetail/components/skuInfo/index.tsx
浏览文件 @
43f628eb
差异被折叠。
点击展开。
src/pages/mallManage/mallGoods/goodsAddOrEditOrDetail/index.tsx
浏览文件 @
43f628eb
...
@@ -3,19 +3,13 @@ import { useEffect, useRef, useState } from 'react';
...
@@ -3,19 +3,13 @@ import { useEffect, useRef, useState } from 'react';
import
BaseInfo
from
'./components/baseInfo'
;
import
BaseInfo
from
'./components/baseInfo'
;
import
SkuInfo
from
'./components/skuInfo'
;
import
SkuInfo
from
'./components/skuInfo'
;
import
IntroduceInfo
from
'./components/introduceInfo'
;
import
IntroduceInfo
from
'./components/introduceInfo'
;
import
SkuAddOrEditModal
from
'./components/skuAddOrEditModal'
;
import
'./index.scss'
;
import
'./index.scss'
;
import
{
useNavigate
,
useSearchParams
}
from
'react-router-dom'
;
import
{
useNavigate
,
useSearchParams
}
from
'react-router-dom'
;
import
{
baseInfoType
}
from
'./components/baseInfo'
;
import
{
InterDataType
}
from
'~/api/interface'
;
import
{
InterDataType
,
InterReqType
}
from
'~/api/interface'
;
import
{
mallGoodsDetailsType
}
from
'~/api/interface/goodsType'
;
import
{
addMallGoodsType
,
mallGoodsDetailsType
,
skuUnitType
}
from
'~/api/interface/goodsType'
;
import
GoodsAPI
from
'~/api/modules/goodsAPI'
;
import
GoodsAPI
from
'~/api/modules/goodsAPI'
;
import
{
filterObjAttr
}
from
'~/utils'
;
import
{
filterObjAttr
}
from
'~/utils'
;
//商品sku规格类型
type
goodsSpecType
=
Exclude
<
InterReqType
<
addMallGoodsType
>
,
undefined
>
[
'goodsSpecList'
][
0
];
//单位返回类型
type
unitType
=
InterDataType
<
skuUnitType
>
;
//商品详情-返回类型
//商品详情-返回类型
type
goodsDetailType
=
InterDataType
<
mallGoodsDetailsType
>
;
type
goodsDetailType
=
InterDataType
<
mallGoodsDetailsType
>
;
...
@@ -23,16 +17,9 @@ const GoodsAddOrEditOrDetail = () => {
...
@@ -23,16 +17,9 @@ const GoodsAddOrEditOrDetail = () => {
const
baseInfoRef
=
useRef
<
any
>
();
const
baseInfoRef
=
useRef
<
any
>
();
const
navigate
=
useNavigate
();
const
navigate
=
useNavigate
();
const
[
searchParams
]
=
useSearchParams
();
const
[
searchParams
]
=
useSearchParams
();
const
skuInfoRef
=
useRef
<
any
>
();
//单位列表
const
[
skuUnitList
,
setSkuUnitList
]
=
useState
<
unitType
>
([]);
const
[
tabSelectKeys
,
setTabSelectKeys
]
=
useState
<
string
>
(
'1'
);
const
[
tabSelectKeys
,
setTabSelectKeys
]
=
useState
<
string
>
(
'1'
);
//新增、编辑sku弹窗
const
[
addOrEditSkuModalShow
,
setAddOrEditSkuModalShow
]
=
useState
<
boolean
>
(
false
);
//当前编辑sku
const
[
currentSku
,
setCurrentSku
]
=
useState
<
goodsSpecType
>
();
//skuTable数据
const
[
skuTable
,
setSkuTable
]
=
useState
<
goodsSpecType
[]
>
([]);
//商品介绍详情
//商品介绍详情
const
[
goodsDetails
,
setGoodsDetails
]
=
useState
<
string
>
(
''
);
const
[
goodsDetails
,
setGoodsDetails
]
=
useState
<
string
>
(
''
);
//商品id
//商品id
...
@@ -40,30 +27,6 @@ const GoodsAddOrEditOrDetail = () => {
...
@@ -40,30 +27,6 @@ const GoodsAddOrEditOrDetail = () => {
//商品详情
//商品详情
const
[
goodsDetailsInfo
,
setGoodsDetailsInfo
]
=
useState
<
goodsDetailType
>
();
const
[
goodsDetailsInfo
,
setGoodsDetailsInfo
]
=
useState
<
goodsDetailType
>
();
//新增、编辑sku弹窗显示
// const addOrEditSkuClick = (record?: goodsSpecType) => {
// setCurrentSku(record ? { ...record } : undefined);
// setAddOrEditSkuModalShow(true);
// };
const
addOrEditSkuModalCancel
=
()
=>
{
setAddOrEditSkuModalShow
(
false
);
};
const
addOrEditSkuModalOk
=
(
values
:
goodsSpecType
)
=>
{
setAddOrEditSkuModalShow
(
false
);
const
skuTableIndex
:
number
=
skuTable
.
findIndex
((
v
)
=>
v
.
id
===
values
.
id
);
if
(
skuTableIndex
!==
-
1
)
{
skuTable
.
splice
(
skuTableIndex
,
1
,
values
);
setSkuTable
([...
skuTable
]);
}
else
{
setSkuTable
([...
skuTable
,
{
...
values
}]);
}
};
//sku删除
// const deleteSkuClick = (record: goodsSpecType) => {
// const skuIndex: number = skuTable.findIndex((v) => v.id === record.id);
// skuTable.splice(skuIndex, 1);
// setSkuTable([...skuTable]);
// };
//商品详情获取
//商品详情获取
const
getIntroduceInfo
=
(
richText
:
string
)
=>
{
const
getIntroduceInfo
=
(
richText
:
string
)
=>
{
setGoodsDetails
(
richText
);
setGoodsDetails
(
richText
);
...
@@ -78,18 +41,7 @@ const GoodsAddOrEditOrDetail = () => {
...
@@ -78,18 +41,7 @@ const GoodsAddOrEditOrDetail = () => {
{
{
key
:
'2'
,
key
:
'2'
,
label
:
`商品规格`
,
label
:
`商品规格`
,
children
:
(
children
:
<
SkuInfo
ref=
{
skuInfoRef
}
goodsDetailsInfo=
{
goodsDetailsInfo
}
/>,
// (旧)
// <SkuInfo
// addOrEditSkuClick={addOrEditSkuClick}
// skuTableData={skuTable}
// skuUnitList={skuUnitList}
// deleteSkuClick={deleteSkuClick}
// editSkuClick={addOrEditSkuClick}
// />
//(新)
<
SkuInfo
/>
),
},
},
{
{
key
:
'3'
,
key
:
'3'
,
...
@@ -117,11 +69,14 @@ const GoodsAddOrEditOrDetail = () => {
...
@@ -117,11 +69,14 @@ const GoodsAddOrEditOrDetail = () => {
});
});
break
;
break
;
case
'2'
:
case
'2'
:
if
(
skuTable
.
length
)
{
skuInfoRef
.
current
.
submitSku
()
.
then
(()
=>
{
setTabSelectKeys
((
Number
(
tabSelectKeys
)
+
1
).
toString
());
setTabSelectKeys
((
Number
(
tabSelectKeys
)
+
1
).
toString
());
}
else
{
})
.
catch
(()
=>
{
message
.
warning
(
'请添加规格'
);
message
.
warning
(
'请添加规格'
);
}
});
break
;
break
;
case
'3'
:
case
'3'
:
break
;
break
;
...
@@ -136,62 +91,45 @@ const GoodsAddOrEditOrDetail = () => {
...
@@ -136,62 +91,45 @@ const GoodsAddOrEditOrDetail = () => {
const
backRoute
=
()
=>
{
const
backRoute
=
()
=>
{
navigate
(
-
1
);
navigate
(
-
1
);
};
};
//单位列表
const
getSkuUnit
=
()
=>
{
GoodsAPI
.
getSkuUnit
().
then
(({
result
})
=>
{
setSkuUnitList
(
result
||
[]);
});
};
//商品保存
//商品保存
const
saveGoods
=
()
=>
{
const
saveGoods
=
()
=>
{
baseInfoRef
.
current
Promise
.
all
([
.
getForm
()
baseInfoRef
.
current
.
getForm
().
validateFields
(),
.
validateFields
()
skuInfoRef
.
current
?
skuInfoRef
.
current
.
submitSku
()
:
getDefaultSku
(),
.
then
((
values
:
baseInfoType
)
=>
{
])
if
(
skuTable
.
length
)
{
.
then
((
values
:
any
)
=>
{
const
skuList
=
skuTable
.
map
((
v
)
=>
({
...
v
,
id
:
goodsDetailsInfo
?
goodsDetailsInfo
.
goodsSpecList
.
find
((
i
)
=>
i
.
id
===
v
.
id
)?.
id
:
undefined
,
goodsSpecValuesList
:
v
.
goodsSpecValuesList
.
map
((
i
)
=>
({
...
i
,
id
:
goodsDetailsInfo
?
goodsDetailsInfo
.
goodsSpecList
.
find
((
j
)
=>
j
.
id
===
v
.
id
)
?.
goodsSpecValuesList
.
find
((
k
)
=>
k
.
id
===
i
.
id
)?.
id
:
undefined
,
goodsSpecId
:
goodsDetailsInfo
?
goodsDetailsInfo
.
goodsSpecList
.
find
((
i
)
=>
i
.
id
===
v
.
id
)?.
id
:
undefined
,
})),
}));
const
addGoodsEditReq
=
{
const
addGoodsEditReq
=
{
...
filterObjAttr
(
values
,
[
'mainImgList'
,
'subImgList'
,
'videoList'
,
'categoryId'
]),
...
filterObjAttr
(
values
[
0
]
,
[
'mainImgList'
,
'subImgList'
,
'videoList'
,
'categoryId'
]),
resourcesList
:
[
resourcesList
:
[
...
values
.
mainImgList
.
map
((
v
)
=>
({
type
:
0
,
url
:
v
.
url
})),
...
values
[
0
].
mainImgList
.
map
((
v
:
any
)
=>
({
type
:
0
,
url
:
v
.
url
})),
...(
values
.
subImgList
?.
map
((
v
)
=>
({
type
:
1
,
url
:
v
.
url
}))
||
[]),
...(
values
[
0
].
subImgList
?.
map
((
v
:
any
)
=>
({
type
:
1
,
url
:
v
.
url
}))
||
[]),
...(
values
.
videoList
?.
map
((
v
)
=>
({
type
:
2
,
url
:
v
.
url
}))
||
[]),
...(
values
[
0
].
videoList
?.
map
((
v
:
any
)
=>
({
type
:
2
,
url
:
v
.
url
}))
||
[]),
],
],
categoryPrimaryId
:
values
.
categoryId
[
0
],
categoryPrimaryId
:
values
[
0
]
.
categoryId
[
0
],
categorySubId
:
values
.
categoryId
.
length
===
2
?
values
.
categoryId
[
1
]
:
undefined
,
categorySubId
:
values
[
0
].
categoryId
.
length
===
2
?
values
[
0
]
.
categoryId
[
1
]
:
undefined
,
goodsDetails
,
goodsDetails
,
goodsSpecList
:
skuList
,
...
values
[
1
]
,
id
:
goodsId
||
undefined
,
id
:
goodsId
||
undefined
,
};
};
GoodsAPI
[
goodsId
?
'editMallGoods'
:
'addMallGoods'
](
addGoodsEditReq
).
then
(({
code
})
=>
{
GoodsAPI
[
goodsId
?
'editMallGoods'
:
'addMallGoods'
](
addGoodsEditReq
).
then
(({
code
})
=>
{
if
(
code
===
'200'
)
{
if
(
code
===
'200'
)
{
message
.
success
(
goodsId
?
'编辑商城
成功'
:
'新增商品成功'
);
message
.
success
(
goodsId
?
'编辑商品
成功'
:
'新增商品成功'
);
navigate
(
-
1
);
navigate
(
-
1
);
}
}
});
});
}
else
{
message
.
warning
(
'商品规格未添加'
);
}
})
})
.
catch
((
error
:
any
)
=>
{
.
catch
((
error
:
any
)
=>
{
message
.
error
(
error
.
errorFields
[
0
].
errors
[
0
]);
baseInfoRef
.
current
.
getForm
()
.
validateFields
()
.
then
(()
=>
{
setTabSelectKeys
(
'2'
);
})
.
catch
(()
=>
{
setTabSelectKeys
(
'1'
);
});
message
.
error
(
error
?.
errorFields
?.[
0
].
errors
[
0
]
||
error
);
});
});
};
};
//商品详情
//商品详情
...
@@ -207,7 +145,6 @@ const GoodsAddOrEditOrDetail = () => {
...
@@ -207,7 +145,6 @@ const GoodsAddOrEditOrDetail = () => {
.
filter
((
v
)
=>
v
.
type
===
2
)
.
filter
((
v
)
=>
v
.
type
===
2
)
.
map
((
v
)
=>
({
id
:
v
.
id
,
name
:
'video'
,
uid
:
v
.
id
,
url
:
v
.
url
}));
.
map
((
v
)
=>
({
id
:
v
.
id
,
name
:
'video'
,
uid
:
v
.
id
,
url
:
v
.
url
}));
setGoodsDetailsInfo
(
JSON
.
parse
(
JSON
.
stringify
(
result
)));
setGoodsDetailsInfo
(
JSON
.
parse
(
JSON
.
stringify
(
result
)));
setSkuTable
(
result
.
goodsSpecList
);
setGoodsDetails
(
result
.
goodsDetails
||
''
);
setGoodsDetails
(
result
.
goodsDetails
||
''
);
baseInfoRef
.
current
.
getForm
().
setFieldsValue
({
baseInfoRef
.
current
.
getForm
().
setFieldsValue
({
tradeName
:
result
.
tradeName
,
tradeName
:
result
.
tradeName
,
...
@@ -228,9 +165,21 @@ const GoodsAddOrEditOrDetail = () => {
...
@@ -228,9 +165,21 @@ const GoodsAddOrEditOrDetail = () => {
baseInfoRef
.
current
.
mediaData
.
setVideoFileList
(
videoList
);
baseInfoRef
.
current
.
mediaData
.
setVideoFileList
(
videoList
);
});
});
};
};
//编辑未点击规格时数据处理
const
getDefaultSku
=
()
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
goodsDetailsInfo
)
{
resolve
({
priceStock
:
goodsDetailsInfo
.
priceStock
,
specAttrList
:
goodsDetailsInfo
.
specAttrList
,
});
}
else
{
reject
(
'请上传商品规格'
);
}
});
};
useEffect
(()
=>
{
useEffect
(()
=>
{
getSkuUnit
();
if
(
searchParams
.
get
(
'id'
))
{
if
(
searchParams
.
get
(
'id'
))
{
setGoodsId
(
Number
(
searchParams
.
get
(
'id'
)));
setGoodsId
(
Number
(
searchParams
.
get
(
'id'
)));
getMallGoodsDetails
(
Number
(
searchParams
.
get
(
'id'
)));
getMallGoodsDetails
(
Number
(
searchParams
.
get
(
'id'
)));
...
@@ -258,14 +207,6 @@ const GoodsAddOrEditOrDetail = () => {
...
@@ -258,14 +207,6 @@ const GoodsAddOrEditOrDetail = () => {
返回
返回
</
Button
>
</
Button
>
</
div
>
</
div
>
{
/*新增、编辑sku弹窗*/
}
<
SkuAddOrEditModal
open=
{
addOrEditSkuModalShow
}
onCancel=
{
addOrEditSkuModalCancel
}
onHandleOk=
{
addOrEditSkuModalOk
}
skuUnitList=
{
skuUnitList
}
currentSku=
{
currentSku
}
/>
</
div
>
</
div
>
);
);
};
};
...
...
src/pages/
mall
Manage/rentGoods/rentAddOrEditOrDetail/index.scss
→
src/pages/
rent
Manage/rentGoods/rentAddOrEditOrDetail/index.scss
浏览文件 @
43f628eb
File moved
src/pages/
mall
Manage/rentGoods/rentList/index.tsx
→
src/pages/
rent
Manage/rentGoods/rentList/index.tsx
浏览文件 @
43f628eb
...
@@ -188,19 +188,19 @@ const RentList = () => {
...
@@ -188,19 +188,19 @@ const RentList = () => {
};
};
//新增商品
//新增商品
const
toAddRentGoods
=
()
=>
{
const
toAddRentGoods
=
()
=>
{
navigate
({
pathname
:
'/
mall
Manage/rentGoods/add'
});
navigate
({
pathname
:
'/
rent
Manage/rentGoods/add'
});
};
};
//编辑商品
//编辑商品
const
toEditGoods
=
(
id
:
number
)
=>
{
const
toEditGoods
=
(
id
:
number
)
=>
{
navigate
({
navigate
({
pathname
:
'/
mall
Manage/rentGoods/edit'
,
pathname
:
'/
rent
Manage/rentGoods/edit'
,
search
:
`id=
${
id
}
`
,
search
:
`id=
${
id
}
`
,
});
});
};
};
//商品详情
//商品详情
const
toRentGoodsDetail
=
(
id
:
number
)
=>
{
const
toRentGoodsDetail
=
(
id
:
number
)
=>
{
navigate
({
navigate
({
pathname
:
'/
mall
Manage/rentGoods/detail'
,
pathname
:
'/
rent
Manage/rentGoods/detail'
,
search
:
`id=
${
id
}
&isDetail=1`
,
search
:
`id=
${
id
}
&isDetail=1`
,
});
});
};
};
...
...
src/router/router.tsx
浏览文件 @
43f628eb
...
@@ -96,10 +96,13 @@ const ServiceDetailView = React.lazy(
...
@@ -96,10 +96,13 @@ const ServiceDetailView = React.lazy(
const
ServiceIntroduceView
=
React
.
lazy
(
const
ServiceIntroduceView
=
React
.
lazy
(
()
=>
import
(
'~/pages/mallManage/serviceManage/serviceIntroduce'
),
()
=>
import
(
'~/pages/mallManage/serviceManage/serviceIntroduce'
),
);
//服务介绍
);
//服务介绍
const
RentListView
=
React
.
lazy
(()
=>
import
(
'~/pages/mallManage/rentGoods/rentList'
));
//租赁列表
const
RentListView
=
React
.
lazy
(()
=>
import
(
'~/pages/rentManage/rentGoods/rentList'
));
//租赁列表
const
RentAddOrEditOrDetailView
=
React
.
lazy
(
const
RentAddOrEditOrDetailView
=
React
.
lazy
(
()
=>
import
(
'~/pages/
mall
Manage/rentGoods/rentAddOrEditOrDetail'
),
()
=>
import
(
'~/pages/
rent
Manage/rentGoods/rentAddOrEditOrDetail'
),
);
//租赁新增、编辑、详情
);
//租赁新增、编辑、详情
const
RentTypeView
=
React
.
lazy
(()
=>
import
(
'~/pages/rentManage/rentType'
));
//类型管理
const
MallGoodsView
=
React
.
lazy
(()
=>
import
(
'~/pages/mallManage/mallGoods/goodsList'
));
//商城商品
const
MallGoodsView
=
React
.
lazy
(()
=>
import
(
'~/pages/mallManage/mallGoods/goodsList'
));
//商城商品
const
MallAddOrEditOrDetailView
=
React
.
lazy
(
const
MallAddOrEditOrDetailView
=
React
.
lazy
(
()
=>
import
(
'~/pages/mallManage/mallGoods/goodsAddOrEditOrDetail'
),
()
=>
import
(
'~/pages/mallManage/mallGoods/goodsAddOrEditOrDetail'
),
...
@@ -614,49 +617,6 @@ export const routerList: Array<RouteObjectType> = [
...
@@ -614,49 +617,6 @@ export const routerList: Array<RouteObjectType> = [
},
},
},
},
{
{
path
:
'/mallManage/rentGoods'
,
element
:
withLoadingComponent
(<
RentListView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
1030
,
icon
:
<
SmileOutlined
/>,
title
:
'租赁商品'
,
},
},
{
path
:
'/mallManage/rentGoods/add'
,
element
:
withLoadingComponent
(<
RentAddOrEditOrDetailView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
10135
,
icon
:
<
SmileOutlined
/>,
title
:
'租赁商品新增'
,
hidden
:
true
,
},
},
{
path
:
'/mallManage/rentGoods/edit'
,
element
:
withLoadingComponent
(<
RentAddOrEditOrDetailView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
10136
,
icon
:
<
SmileOutlined
/>,
title
:
'租赁商品编辑'
,
hidden
:
true
,
},
},
{
path
:
'/mallManage/rentGoods/detail'
,
element
:
withLoadingComponent
(<
RentAddOrEditOrDetailView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
10136
,
icon
:
<
SmileOutlined
/>,
title
:
'租赁商品详情'
,
hidden
:
true
,
},
},
{
path
:
'/mallManage/mallGoods'
,
path
:
'/mallManage/mallGoods'
,
element
:
withLoadingComponent
(<
MallGoodsView
/>),
element
:
withLoadingComponent
(<
MallGoodsView
/>),
errorElement
:
<
ErrorPage
/>,
errorElement
:
<
ErrorPage
/>,
...
@@ -730,25 +690,73 @@ export const routerList: Array<RouteObjectType> = [
...
@@ -730,25 +690,73 @@ export const routerList: Array<RouteObjectType> = [
title
:
'品牌管理'
,
title
:
'品牌管理'
,
},
},
},
},
// {
],
// path: '/mallManage/industryList',
},
// element: withLoadingComponent(<IndustryListView />),
{
// meta: {
path
:
'/rentManage'
,
// id: 10180,
element
:
<
LayoutView
/>,
// icon: <SmileOutlined />,
errorElement
:
<
ErrorPage
/>,
// title: '行业方案',
meta
:
{
// },
id
:
10001
,
// },
icon
:
<
ShopOutlined
/>,
// {
title
:
'租赁管理'
,
// path: '/mallManage/industryDetail',
develop
:
true
,
// element: withLoadingComponent(<IndustryDetailView />),
},
// meta: {
children
:
[
// id: 10190,
{
// icon: <SmileOutlined />,
path
:
'/rentManage/rentGoods'
,
// title: '行业详情',
element
:
withLoadingComponent
(<
RentListView
/>),
// hidden: true,
errorElement
:
<
ErrorPage
/>,
// },
meta
:
{
// },
id
:
1030
,
icon
:
<
SmileOutlined
/>,
title
:
'租赁商品'
,
},
},
{
path
:
'/rentManage/rentGoods/add'
,
element
:
withLoadingComponent
(<
RentAddOrEditOrDetailView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
10135
,
icon
:
<
SmileOutlined
/>,
title
:
'租赁商品新增'
,
hidden
:
true
,
},
},
{
path
:
'/rentManage/rentGoods/edit'
,
element
:
withLoadingComponent
(<
RentAddOrEditOrDetailView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
10136
,
icon
:
<
SmileOutlined
/>,
title
:
'租赁商品编辑'
,
hidden
:
true
,
},
},
{
path
:
'/rentManage/rentGoods/detail'
,
element
:
withLoadingComponent
(<
RentAddOrEditOrDetailView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
10136
,
icon
:
<
SmileOutlined
/>,
title
:
'租赁商品详情'
,
hidden
:
true
,
},
},
{
path
:
'/rentManage/rentType'
,
element
:
withLoadingComponent
(<
RentTypeView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
10137
,
icon
:
<
SmileOutlined
/>,
title
:
'类型管理'
,
develop
:
true
,
},
},
],
],
},
},
{
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论