Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
admin
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
admin
Commits
1813a388
提交
1813a388
authored
8月 05, 2023
作者:
龚洪江
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop'
上级
4a8646e9
59067fe9
隐藏空白字符变更
内嵌
并排
正在显示
37 个修改的文件
包含
1606 行增加
和
74 行删除
+1606
-74
kustomization.yaml
kustomization/overlays/dev/kustomization.yaml
+1
-1
index.ts
src/api/index.ts
+2
-0
commonType.ts
src/api/interface/commonType.ts
+10
-0
customManageType.ts
src/api/interface/customManageType.ts
+35
-1
flyerCenterType.ts
src/api/interface/flyerCenterType.ts
+71
-0
resourceManageType.ts
src/api/interface/resourceManageType.ts
+27
-0
common.ts
src/api/modules/common.ts
+4
-0
customManage.ts
src/api/modules/customManage.ts
+12
-0
flyerCenterAPI.ts
src/api/modules/flyerCenterAPI.ts
+31
-0
resourceManageAPI.ts
src/api/modules/resourceManageAPI.ts
+4
-0
index.scss
src/components/layout/index.scss
+1
-5
index.tsx
src/components/layout/title/index.tsx
+10
-2
index.tsx
src/components/uploader/index.tsx
+21
-35
index.tsx
...lCategoryList/components/addOrEditCategoryModal/index.tsx
+0
-0
index.scss
src/pages/categoryManage/mallCategoryList/index.scss
+0
-0
index.tsx
src/pages/categoryManage/mallCategoryList/index.tsx
+0
-1
index.tsx
...e/serviceCategoryList/components/addOrEditModal/index.tsx
+29
-0
index.tsx
src/pages/categoryManage/serviceCategoryList/index.tsx
+83
-0
index.tsx
src/pages/common/login/index.tsx
+1
-0
index.tsx
...s/customManage/customIdentity/comp/addEditModal/index.tsx
+68
-2
index.tsx
src/pages/customManage/customList/index.tsx
+16
-11
index.tsx
src/pages/customManage/customVerification/details/index.tsx
+53
-0
index.tsx
.../customVerification/list/components/remarkModal/index.tsx
+46
-0
index.tsx
src/pages/customManage/customVerification/list/index.tsx
+170
-0
index.tsx
src/pages/flyerCenter/flyerManage/flyerAuthDaily/index.tsx
+122
-0
index.tsx
...flyerManage/flyerDetail/components/approveModal/index.tsx
+80
-0
index.scss
src/pages/flyerCenter/flyerManage/flyerDetail/index.scss
+24
-0
index.tsx
src/pages/flyerCenter/flyerManage/flyerDetail/index.tsx
+148
-0
index.tsx
...erManage/flyerList/components/updateRemarkModal/index.tsx
+45
-0
index.tsx
src/pages/flyerCenter/flyerManage/flyerList/index.tsx
+270
-0
index.tsx
...pages/mallManage/courseManage/comp/addEditModal/index.tsx
+1
-1
index.tsx
...sAddOrEditOrDetail/components/skuAddOrEditModal/index.tsx
+2
-2
index.scss
...ourceManage/requirementsGathering/gatherDetail/index.scss
+4
-0
index.tsx
...sourceManage/requirementsGathering/gatherDetail/index.tsx
+73
-0
index.scss
...esourceManage/requirementsGathering/gatherList/index.scss
+0
-0
index.tsx
...resourceManage/requirementsGathering/gatherList/index.tsx
+11
-1
router.tsx
src/router/router.tsx
+131
-12
没有找到文件。
kustomization/overlays/dev/kustomization.yaml
浏览文件 @
1813a388
...
@@ -14,4 +14,4 @@ patches:
...
@@ -14,4 +14,4 @@ patches:
images
:
images
:
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/admin
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/admin
newTag
:
063cc3527bbd3e1199f9aec0d902b1c76c712a0a
newTag
:
e8642a205674071202d22ba8f884dd9dd226bc36
src/api/index.ts
浏览文件 @
1813a388
...
@@ -13,6 +13,7 @@ import { MallManageAPI } from './modules/mallManage';
...
@@ -13,6 +13,7 @@ import { MallManageAPI } from './modules/mallManage';
import
{
ResourceManageAPI
}
from
'./modules/resourceManageAPI'
;
import
{
ResourceManageAPI
}
from
'./modules/resourceManageAPI'
;
import
{
ForumManageAPI
}
from
'./modules/forumManageAPI'
;
import
{
ForumManageAPI
}
from
'./modules/forumManageAPI'
;
import
{
PilotTrainAPI
}
from
'./modules/pilotTrainAPI'
;
import
{
PilotTrainAPI
}
from
'./modules/pilotTrainAPI'
;
import
{
FlyerCenterAPI
}
from
'./modules/flyerCenterAPI'
;
export
{
export
{
CommonAPI
,
CommonAPI
,
...
@@ -30,4 +31,5 @@ export {
...
@@ -30,4 +31,5 @@ export {
ResourceManageAPI
,
ResourceManageAPI
,
ForumManageAPI
,
ForumManageAPI
,
PilotTrainAPI
,
PilotTrainAPI
,
FlyerCenterAPI
,
};
};
src/api/interface/commonType.ts
浏览文件 @
1813a388
...
@@ -169,3 +169,13 @@ export type getUserAccountByPhoneNumType = InterFunction<
...
@@ -169,3 +169,13 @@ export type getUserAccountByPhoneNumType = InterFunction<
export
type
appletQRCodeType
=
InterFunction
<
{
page
:
string
;
scene
:
string
},
string
>
;
export
type
appletQRCodeType
=
InterFunction
<
{
page
:
string
;
scene
:
string
},
string
>
;
//登录信息-获取
//登录信息-获取
export
type
getLoginInfoType
=
InterFunction
<
{
randomLoginCode
:
string
},
any
>
;
export
type
getLoginInfoType
=
InterFunction
<
{
randomLoginCode
:
string
},
any
>
;
//地区-获取
type
locationType
=
{
id
:
number
;
name
:
string
;
level
:
number
;
childInfo
:
locationType
[];
};
export
type
getSecondDistrictInfoType
=
InterFunction
<
any
,
locationType
[]
>
;
src/api/interface/customManageType.ts
浏览文件 @
1813a388
import
{
InterFunction
,
InterListFunction
}
from
'~/api/interface'
;
import
{
InterFunction
,
Inter
ItemFunction
,
Inter
ListFunction
}
from
'~/api/interface'
;
// 客户列表
// 客户列表
export
type
listAppUserType
=
InterListFunction
<
export
type
listAppUserType
=
InterListFunction
<
...
@@ -8,6 +8,7 @@ export type listAppUserType = InterListFunction<
...
@@ -8,6 +8,7 @@ export type listAppUserType = InterListFunction<
keyword
?:
string
;
keyword
?:
string
;
phoneNum
?:
string
;
phoneNum
?:
string
;
startTime
?:
string
;
startTime
?:
string
;
realAuthStatus
?:
number
;
},
},
{
{
id
:
number
;
id
:
number
;
...
@@ -28,6 +29,7 @@ export type listAppUserType = InterListFunction<
...
@@ -28,6 +29,7 @@ export type listAppUserType = InterListFunction<
companyAuthStatus
:
number
;
companyAuthStatus
:
number
;
cooperationTagId
:
number
;
cooperationTagId
:
number
;
companyName
:
null
;
companyName
:
null
;
realAuthStatus
:
number
;
tagName
:
null
;
tagName
:
null
;
cooperationTagVOS
:
{
cooperationTagVOS
:
{
createTime
:
string
;
createTime
:
string
;
...
@@ -189,6 +191,9 @@ export type editUserApplyTagDetails = InterFunction<
...
@@ -189,6 +191,9 @@ export type editUserApplyTagDetails = InterFunction<
lon
:
number
;
lon
:
number
;
name
:
string
;
name
:
string
;
score
:
number
;
score
:
number
;
licenseImg
:
string
;
remark
:
string
;
attachmentList
?:
{
userApplyTagId
:
number
;
url
:
string
;
type
:
number
}[];
}
}
>
;
>
;
// 后台-编辑服务商信息
// 后台-编辑服务商信息
...
@@ -233,3 +238,32 @@ export type listUserRcdType = InterListFunction<
...
@@ -233,3 +238,32 @@ export type listUserRcdType = InterListFunction<
userSex
:
null
;
userSex
:
null
;
}
}
>
;
>
;
//实名认证列表返回类型
export
type
listAuthPageType
=
InterItemFunction
<
{
keyword
?:
string
},
{
id
:
number
;
nickName
:
string
;
phoneNum
:
string
;
uid
:
string
;
userName
:
string
;
createTime
:
string
;
remark
:
string
;
}[]
>
;
//实名认证详情返回类型
export
type
authDetailType
=
InterFunction
<
{
id
:
number
},
{
backIdImg
:
string
;
checkStatus
:
number
;
frontIdImg
:
string
;
id
:
number
;
idNumber
:
string
;
userAccountId
:
number
;
userName
:
string
;
}
>
;
//实名认证-更新备注
export
type
authRemarkType
=
InterFunction
<
{
id
:
number
;
remark
:
string
},
any
>
;
src/api/interface/flyerCenterType.ts
0 → 100644
浏览文件 @
1813a388
import
{
InterFunction
,
InterItemFunction
}
from
'~/api/interface'
;
//飞手列表
type
flyerItemType
=
{
abilityUrl
:
string
;
age
:
number
;
areaNumber
:
number
;
auditStatus
:
number
;
createTime
:
string
;
id
:
number
;
individualResume
:
string
;
licenseNumber
:
number
;
licenseType
:
string
;
licenseUrl
:
string
;
phoneNum
:
number
;
pilotAbility
:
{
abilityId
:
number
;
abilityName
:
string
;
id
:
number
;
}[];
remark
:
string
;
residentCity
:
string
;
sex
:
number
;
timeOfApplication
:
string
;
updateTime
:
string
;
userAccountId
:
number
;
userName
:
number
;
yearsOfWorking
:
number
;
reason
:
string
;
};
export
type
backListPilotType
=
InterItemFunction
<
{
abilityId
?:
number
;
accountNumber
?:
string
;
areaNumber
?:
any
;
auditStatus
?:
number
;
id
?:
number
;
licenseType
?:
string
;
},
flyerItemType
[]
>
;
//修改备注
export
type
updateRemarkType
=
InterFunction
<
{
id
:
number
;
remark
:
string
},
any
>
;
//能力类型
export
type
abilityListType
=
InterFunction
<
any
,
{
abilityId
:
number
;
abilityName
:
string
}[]
>
;
//飞手认证日志类型
export
type
backPilotLogListType
=
InterItemFunction
<
{
accountNumber
?:
string
},
{
certificationDate
:
number
;
certificationMessage
:
number
;
createTime
:
string
;
id
:
number
;
operatorUserAccount
:
number
;
operatorUserId
:
number
;
operatorUserName
:
number
;
phoneNum
:
number
;
updateTime
:
string
;
userAccountId
:
number
;
userName
:
number
;
}[]
>
;
//飞手详情
export
type
backDetailPilotType
=
InterFunction
<
{
id
:
number
},
flyerItemType
>
;
//飞手审批
export
type
updateAuditStatusType
=
InterFunction
<
{
auditStatus
:
number
;
reasonId
?:
number
;
id
:
number
},
any
>
;
//飞手审批不通过原因列表
export
type
backListReasonType
=
InterFunction
<
any
,
{
id
:
number
;
reason
:
string
}[]
>
;
src/api/interface/resourceManageType.ts
浏览文件 @
1813a388
...
@@ -16,6 +16,33 @@ export type listPublishPageType = InterItemFunction<
...
@@ -16,6 +16,33 @@ export type listPublishPageType = InterItemFunction<
export
type
requirementsListType
=
InterFunction
<
any
,
{
id
:
number
;
typeName
:
string
}[]
>
;
export
type
requirementsListType
=
InterFunction
<
any
,
{
id
:
number
;
typeName
:
string
}[]
>
;
//需求-强制删除
//需求-强制删除
export
type
deleteRequirementsType
=
InterFunction
<
{
requirementsInfoId
:
number
},
any
>
;
export
type
deleteRequirementsType
=
InterFunction
<
{
requirementsInfoId
:
number
},
any
>
;
//需求-详情
export
type
backDetailPublishType
=
InterFunction
<
{
id
:
number
},
{
cityCode
:
number
;
districtCode
:
number
;
id
:
number
;
latitude
:
number
;
longitude
:
number
;
orderNumber
:
string
;
paramMoney
:
number
;
provinceCode
:
number
;
publishAccountId
:
number
;
publishName
:
string
;
publishPhone
:
number
;
publisherNumber
:
string
;
requireDescription
:
string
;
requireUrl
:
string
;
requirementTypeId
:
number
;
solved
:
boolean
;
taskAddress
:
string
;
taskEndTime
:
string
;
taskStartTime
:
string
;
taskTitle
:
string
;
requirementTypeName
:
string
;
}
>
;
// 查询招标快讯列表-分页
// 查询招标快讯列表-分页
export
type
releaseTenderNews
=
InterListFunction
<
export
type
releaseTenderNews
=
InterListFunction
<
...
...
src/api/modules/common.ts
浏览文件 @
1813a388
...
@@ -5,6 +5,7 @@ import {
...
@@ -5,6 +5,7 @@ import {
batchRemoveBannerInfo
,
batchRemoveBannerInfo
,
exchangeBannerInfo
,
exchangeBannerInfo
,
getLoginInfoType
,
getLoginInfoType
,
getSecondDistrictInfoType
,
getUserAccountByPhoneNumType
,
getUserAccountByPhoneNumType
,
insertBannerInfo
,
insertBannerInfo
,
insertModuleInfo
,
insertModuleInfo
,
...
@@ -84,4 +85,7 @@ export class CommonAPI {
...
@@ -84,4 +85,7 @@ export class CommonAPI {
//获取登录信息
//获取登录信息
static
getLoginInfo
:
getLoginInfoType
=
(
params
)
=>
static
getLoginInfo
:
getLoginInfoType
=
(
params
)
=>
axios
.
get
(
'/userapp/temp-auth/getLoginInfo'
,
{
params
});
axios
.
get
(
'/userapp/temp-auth/getLoginInfo'
,
{
params
});
// 获取地域
static
getSecondDistrictInfo
:
getSecondDistrictInfoType
=
()
=>
axios
.
get
(
'/pms/appDevice/getSecondDistrictInfo'
);
}
}
src/api/modules/customManage.ts
浏览文件 @
1813a388
...
@@ -2,6 +2,8 @@ import axios from '../request';
...
@@ -2,6 +2,8 @@ import axios from '../request';
import
{
import
{
applyTagDetails
,
applyTagDetails
,
approvalApplyTag
,
approvalApplyTag
,
authDetailType
,
authRemarkType
,
changeUserTagNew
,
changeUserTagNew
,
changeUserTagType
,
changeUserTagType
,
CompanyListTag
,
CompanyListTag
,
...
@@ -10,6 +12,7 @@ import {
...
@@ -10,6 +12,7 @@ import {
editUserApplyTag
,
editUserApplyTag
,
editUserApplyTagDetails
,
editUserApplyTagDetails
,
listAppUserType
,
listAppUserType
,
listAuthPageType
,
listUserApplyTag
,
listUserApplyTag
,
listUserRcdType
,
listUserRcdType
,
userAccountUpdateType
,
userAccountUpdateType
,
...
@@ -55,4 +58,13 @@ export class CustomManageAPI {
...
@@ -55,4 +58,13 @@ export class CustomManageAPI {
// 裂变-邀请列表
// 裂变-邀请列表
static
listUserRcd
:
listUserRcdType
=
(
data
)
=>
static
listUserRcd
:
listUserRcdType
=
(
data
)
=>
axios
.
post
(
'/userapp/user-account/listUserRcd'
,
data
);
axios
.
post
(
'/userapp/user-account/listUserRcd'
,
data
);
// 客户-实名认证列表
static
getListAuth
:
listAuthPageType
=
(
data
)
=>
axios
.
post
(
'/userapp/real-name-auth/listPage'
,
data
);
// 客户-实名认证详情
static
getAuthDetail
:
authDetailType
=
(
params
)
=>
axios
.
get
(
'/userapp/real-name-auth/detail'
,
{
params
});
// 客户-实名认证更新备注
static
updateRemark
:
authRemarkType
=
(
params
)
=>
axios
.
get
(
'/userapp/real-name-auth/updateRemark'
,
{
params
});
}
}
src/api/modules/flyerCenterAPI.ts
0 → 100644
浏览文件 @
1813a388
import
{
abilityListType
,
backDetailPilotType
,
backListPilotType
,
backListReasonType
,
backPilotLogListType
,
updateAuditStatusType
,
updateRemarkType
,
}
from
'~/api/interface/flyerCenterType'
;
import
axios
from
'../request'
;
export
class
FlyerCenterAPI
{
//飞手列表
static
getBackListPilot
:
backListPilotType
=
(
data
)
=>
axios
.
post
(
'/userapp/pilot/backListPilot'
,
data
);
//修改备注
static
updateRemark
:
updateRemarkType
=
(
data
)
=>
axios
.
post
(
'/userapp/pilot/updateRemark'
,
data
);
// 飞手能力类型
static
getAbilityList
:
abilityListType
=
()
=>
axios
.
get
(
'/userapp/pilot/abilityList'
);
// 飞手认证日志
static
getBackPilotLogList
:
backPilotLogListType
=
(
data
)
=>
axios
.
post
(
'/userapp/pilot/backPilotLogList'
,
data
);
// 飞手详情
static
getBackDetailPilot
:
backDetailPilotType
=
(
params
)
=>
axios
.
get
(
'/userapp/pilot/backDetailPilot'
,
{
params
});
// 飞手审批
static
updateAuditStatus
:
updateAuditStatusType
=
(
data
)
=>
axios
.
post
(
'/userapp/pilot/updateAuditStatus'
,
data
);
// 飞手审批不通过原因
static
getBackListReason
:
backListReasonType
=
()
=>
axios
.
get
(
'/userapp/pilot/backListReason'
);
}
src/api/modules/resourceManageAPI.ts
浏览文件 @
1813a388
...
@@ -18,6 +18,7 @@ import {
...
@@ -18,6 +18,7 @@ import {
industryCaseDeleteDetails
,
industryCaseDeleteDetails
,
deleteIndustryNewsType
,
deleteIndustryNewsType
,
deleteRequirementsType
,
deleteRequirementsType
,
backDetailPublishType
,
}
from
'~/api/interface/resourceManageType'
;
}
from
'~/api/interface/resourceManageType'
;
import
axios
from
'../request'
;
import
axios
from
'../request'
;
...
@@ -31,6 +32,9 @@ export class ResourceManageAPI {
...
@@ -31,6 +32,9 @@ export class ResourceManageAPI {
//需求-强制删除
//需求-强制删除
static
deleteRequirement
:
deleteRequirementsType
=
(
params
)
=>
static
deleteRequirement
:
deleteRequirementsType
=
(
params
)
=>
axios
.
get
(
'/release/requirements/deleteRequire'
,
{
params
});
axios
.
get
(
'/release/requirements/deleteRequire'
,
{
params
});
//需求-详情
static
getDetailPublish
:
backDetailPublishType
=
(
params
)
=>
axios
.
get
(
'/release/requirements/backDetailPublish'
,
{
params
});
// 查询招标快讯列表-分页
// 查询招标快讯列表-分页
static
releaseTenderNews
:
releaseTenderNews
=
(
params
)
=>
static
releaseTenderNews
:
releaseTenderNews
=
(
params
)
=>
...
...
src/components/layout/index.scss
浏览文件 @
1813a388
...
@@ -110,11 +110,6 @@ $page-background: #f3f6ff;
...
@@ -110,11 +110,6 @@ $page-background: #f3f6ff;
justify-content
:
space-between
;
justify-content
:
space-between
;
align-items
:
center
;
align-items
:
center
;
.logo-img
{
width
:
32px
;
height
:
32px
;
border-radius
:
4px
;
}
.logo-text
{
.logo-text
{
min-width
:
100px
;
min-width
:
100px
;
...
@@ -187,6 +182,7 @@ $page-background: #f3f6ff;
...
@@ -187,6 +182,7 @@ $page-background: #f3f6ff;
.ant-layout-header
{
.ant-layout-header
{
padding
:
0
10px
;
padding
:
0
10px
;
//line-height: normal;
}
}
.ant-layout-sider-collapsed
{
.ant-layout-sider-collapsed
{
...
...
src/components/layout/title/index.tsx
浏览文件 @
1813a388
import
React
,
{
useState
}
from
'react'
;
import
React
,
{
useState
}
from
'react'
;
import
{
Header
}
from
'antd/es/layout/layout'
;
import
{
Header
}
from
'antd/es/layout/layout'
;
import
{
DownOutlined
,
UpOutlined
}
from
'@ant-design/icons'
;
import
{
DownOutlined
,
UpOutlined
}
from
'@ant-design/icons'
;
import
{
Button
,
Dropdown
,
MenuProps
,
Modal
}
from
'antd'
;
import
{
Button
,
Dropdown
,
Image
,
MenuProps
,
Modal
}
from
'antd'
;
import
Logo
from
'../../../assets/icon/logo_big.png'
;
import
Logo
from
'../../../assets/icon/logo_big.png'
;
import
'./index.scss'
;
import
'./index.scss'
;
import
{
REMOVE_MENU
,
REMOVE_MENU_ID
,
SET_COLLAPSE
}
from
'~/store/module/menu'
;
import
{
REMOVE_MENU
,
REMOVE_MENU_ID
,
SET_COLLAPSE
}
from
'~/store/module/menu'
;
...
@@ -60,7 +60,15 @@ export function TitleView() {
...
@@ -60,7 +60,15 @@ export function TitleView() {
}
}
}
}
>
>
<
div
className=
'layout-logo'
>
<
div
className=
'layout-logo'
>
<
img
src=
{
userInfo
.
companyInfoVO
.
brandLogo
||
Logo
}
className=
'logo-img'
alt=
'云享飞'
/>
<
div
className=
'logo-img'
>
<
Image
preview=
{
false
}
src=
{
userInfo
.
companyInfoVO
.
brandLogo
||
Logo
}
alt=
'云享飞'
width=
{
32
}
height=
{
32
}
/>
</
div
>
<
div
className=
'logo-text'
>
{
userInfo
.
companyInfoVO
.
brandName
||
'云享飞管理后台'
}
</
div
>
<
div
className=
'logo-text'
>
{
userInfo
.
companyInfoVO
.
brandName
||
'云享飞管理后台'
}
</
div
>
<
div
onClick=
{
setMenuCollapsed
}
>
<
div
onClick=
{
setMenuCollapsed
}
>
<
svg
<
svg
...
...
src/components/uploader/index.tsx
浏览文件 @
1813a388
...
@@ -29,8 +29,6 @@ export const Uploader: React.FC<PropsType> = (props) => {
...
@@ -29,8 +29,6 @@ export const Uploader: React.FC<PropsType> = (props) => {
fileSize
:
2
,
fileSize
:
2
,
fileLength
:
1
,
fileLength
:
1
,
fileType
:
[
'image/png'
,
'image/jpeg'
,
'image/jpg'
,
'image/gif'
],
fileType
:
[
'image/png'
,
'image/jpeg'
,
'image/jpg'
,
'image/gif'
],
// eslint-disable-next-line @typescript-eslint/no-empty-function
onChange
:
()
=>
{},
defaultFileList
:
[],
defaultFileList
:
[],
disabled
:
false
,
disabled
:
false
,
};
};
...
@@ -56,7 +54,7 @@ export const Uploader: React.FC<PropsType> = (props) => {
...
@@ -56,7 +54,7 @@ export const Uploader: React.FC<PropsType> = (props) => {
listType
,
listType
,
fileList
,
fileList
,
beforeUpload
:
(
res
)
=>
{
beforeUpload
:
(
res
)
=>
{
// console.log(fileType, res.type
);
console
.
log
(
'文件类型-->'
,
res
);
const
isType
=
fileType
?.
includes
(
res
.
type
);
const
isType
=
fileType
?.
includes
(
res
.
type
);
const
isSize
=
res
.
size
/
1024
/
1024
<
(
fileSize
||
2
);
const
isSize
=
res
.
size
/
1024
/
1024
<
(
fileSize
||
2
);
if
(
!
isType
)
{
if
(
!
isType
)
{
...
@@ -79,38 +77,26 @@ export const Uploader: React.FC<PropsType> = (props) => {
...
@@ -79,38 +77,26 @@ export const Uploader: React.FC<PropsType> = (props) => {
// 上传到服务器
// 上传到服务器
const
formData
=
new
FormData
();
const
formData
=
new
FormData
();
formData
.
append
(
'uploadFile'
,
res
.
file
);
formData
.
append
(
'uploadFile'
,
res
.
file
);
CommonAPI
.
uploadOssBP
(
formData
).
then
(
CommonAPI
.
uploadOssBP
(
formData
).
then
(({
result
})
=>
{
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
setFileList
([
// @ts-ignore
...
fileList
,
//(val: { result: { filePath: string } }) => {
{
({
result
})
=>
{
id
:
new
Date
().
getTime
(),
// console.log(result);
uid
:
new
Date
().
getTime
(),
setFileList
([
name
:
(
res
.
file
as
any
).
name
,
...
fileList
,
url
:
result
,
{
},
id
:
new
Date
().
getTime
(),
]);
uid
:
new
Date
().
getTime
(),
onChange
?.([
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
...
fileList
,
// @ts-ignore
{
name
:
res
.
file
.
name
,
id
:
new
Date
().
getTime
(),
// url: val.result.filePath,
uid
:
new
Date
().
getTime
(),
url
:
result
,
name
:
(
res
.
file
as
any
).
name
,
},
url
:
result
,
]);
},
onChange
?.([
]);
...
fileList
,
});
{
id
:
new
Date
().
getTime
(),
uid
:
new
Date
().
getTime
(),
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
name
:
res
.
file
.
name
,
// url: val.result.filePath,
url
:
result
,
},
]);
},
);
}
else
{
}
else
{
setFileList
([...
fileList
,
res
.
file
]);
setFileList
([...
fileList
,
res
.
file
]);
onChange
?.([...
fileList
,
res
.
file
]);
onChange
?.([...
fileList
,
res
.
file
]);
...
...
src/pages/categoryManage/
c
ategoryList/components/addOrEditCategoryModal/index.tsx
→
src/pages/categoryManage/
mallC
ategoryList/components/addOrEditCategoryModal/index.tsx
浏览文件 @
1813a388
File moved
src/pages/categoryManage/
c
ategoryList/index.scss
→
src/pages/categoryManage/
mallC
ategoryList/index.scss
浏览文件 @
1813a388
File moved
src/pages/categoryManage/
c
ategoryList/index.tsx
→
src/pages/categoryManage/
mallC
ategoryList/index.tsx
浏览文件 @
1813a388
...
@@ -410,7 +410,6 @@ const CategoryList = () => {
...
@@ -410,7 +410,6 @@ const CategoryList = () => {
hideSelectAll
:
true
,
hideSelectAll
:
true
,
selectedRowKeys
,
selectedRowKeys
,
renderCell
:
(
checked
:
boolean
,
record
:
categoryType
[
0
])
=>
{
renderCell
:
(
checked
:
boolean
,
record
:
categoryType
[
0
])
=>
{
console
.
log
(
'选中-->'
,
checked
);
return
(
return
(
<>
<>
{
record
.
subDTOList
?
(
{
record
.
subDTOList
?
(
...
...
src/pages/categoryManage/serviceCategoryList/components/addOrEditModal/index.tsx
0 → 100644
浏览文件 @
1813a388
import
{
FC
}
from
'react'
;
import
{
Form
,
Input
,
Modal
,
ModalProps
}
from
'antd'
;
interface
selfProps
{
onCancel
:
()
=>
void
;
onOk
:
()
=>
void
;
}
const
AddOrEditModal
:
FC
<
ModalProps
&
selfProps
>
=
({
open
,
onCancel
,
onOk
})
=>
{
const
handleCancel
=
()
=>
{
onCancel
();
};
const
handleOk
=
()
=>
{
onOk
();
};
return
(
<
Modal
title=
'新增分类'
open=
{
open
}
onCancel=
{
handleCancel
}
onOk=
{
handleOk
}
>
<
Form
>
<
Form
.
Item
label=
'分类名称'
>
<
Input
placeholder=
'请输入分类名称'
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'分类图标'
></
Form
.
Item
>
<
Form
.
Item
label=
'分类描述'
></
Form
.
Item
>
</
Form
>
</
Modal
>
);
};
export
default
AddOrEditModal
;
src/pages/categoryManage/serviceCategoryList/index.tsx
0 → 100644
浏览文件 @
1813a388
import
{
Button
,
Table
}
from
'antd'
;
import
{
ArrowDownOutlined
,
ArrowUpOutlined
,
PlusOutlined
}
from
'@ant-design/icons'
;
import
{
ColumnsType
}
from
'antd/es/table'
;
import
AddOrEditModal
from
'./components/addOrEditModal'
;
import
{
useState
}
from
'react'
;
const
ServiceCategoryList
=
()
=>
{
const
tableColumns
:
ColumnsType
<
any
>
=
[
{
title
:
'分类名称'
,
align
:
'center'
,
},
{
title
:
'图片'
,
align
:
'center'
,
},
{
title
:
'描述'
,
align
:
'center'
,
},
{
title
:
'业务案例图片'
,
align
:
'center'
,
},
{
title
:
'业务案例视频'
,
align
:
'center'
,
},
{
title
:
'创建时间'
,
align
:
'center'
,
},
{
title
:
'操作'
,
align
:
'center'
,
render
:
()
=>
(
<>
<
Button
type=
'link'
>
新增子分类
</
Button
>
<
Button
type=
'link'
>
编辑
</
Button
>
<
Button
type=
'link'
>
删除
</
Button
>
</>
),
},
];
const
[
tableData
,
setTableData
]
=
useState
<
any
>
([{
id
:
1
}]);
const
[
addOrEditModalShow
,
setAddOrEditModalShow
]
=
useState
<
boolean
>
(
false
);
//新增分类弹窗
const
addOrEditModalClick
=
()
=>
{
setAddOrEditModalShow
(
true
);
};
const
addOrEditModalOk
=
()
=>
{
setAddOrEditModalShow
(
false
);
};
const
addOrEditModalCancel
=
()
=>
{
setAddOrEditModalShow
(
false
);
};
return
(
<
div
className=
'service-category-list'
>
<
div
className=
'list-operate'
style=
{
{
marginBottom
:
'10px'
}
}
>
<
Button
type=
'primary'
icon=
{
<
PlusOutlined
/>
}
style=
{
{
marginRight
:
'10px'
}
}
onClick=
{
addOrEditModalClick
}
>
新增分类
</
Button
>
<
Button
icon=
{
<
ArrowUpOutlined
/>
}
style=
{
{
marginRight
:
'10px'
}
}
type=
'primary'
></
Button
>
<
Button
icon=
{
<
ArrowDownOutlined
/>
}
type=
'primary'
></
Button
>
</
div
>
<
Table
columns=
{
tableColumns
}
bordered
rowKey=
'id'
/>
<
AddOrEditModal
open=
{
addOrEditModalShow
}
onOk=
{
addOrEditModalOk
}
onCancel=
{
addOrEditModalCancel
}
/>
</
div
>
);
};
export
default
ServiceCategoryList
;
src/pages/common/login/index.tsx
浏览文件 @
1813a388
...
@@ -131,6 +131,7 @@ function LoginView() {
...
@@ -131,6 +131,7 @@ function LoginView() {
{
qrCodeUrl
?
(
{
qrCodeUrl
?
(
<
Image
src=
{
qrCodeUrl
}
alt=
''
width=
{
200
}
height=
{
200
}
preview=
{
false
}
/>
<
Image
src=
{
qrCodeUrl
}
alt=
''
width=
{
200
}
height=
{
200
}
preview=
{
false
}
/>
)
:
(
)
:
(
// 加载二维码
<
QRCode
value=
'https://ant.design/'
status=
'loading'
/>
<
QRCode
value=
'https://ant.design/'
status=
'loading'
/>
)
}
)
}
</
div
>
</
div
>
...
...
src/pages/customManage/customIdentity/comp/addEditModal/index.tsx
浏览文件 @
1813a388
...
@@ -5,9 +5,11 @@ import {
...
@@ -5,9 +5,11 @@ import {
listUserApplyTag
,
listUserApplyTag
,
}
from
'~/api/interface/customManageType'
;
}
from
'~/api/interface/customManageType'
;
import
{
InterDataType
,
InterListType
,
InterReqType
}
from
'~/api/interface'
;
import
{
InterDataType
,
InterListType
,
InterReqType
}
from
'~/api/interface'
;
import
{
Button
,
Form
,
Input
,
message
,
Modal
,
Rate
,
Select
}
from
'antd'
;
import
{
Button
,
Form
,
I
mage
,
I
nput
,
message
,
Modal
,
Rate
,
Select
}
from
'antd'
;
import
{
CustomManageAPI
}
from
'~/api'
;
import
{
CustomManageAPI
}
from
'~/api'
;
import
SelectMapModal
from
'~/components/select-map'
;
import
SelectMapModal
from
'~/components/select-map'
;
import
{
Uploader
}
from
'~/components/uploader'
;
import
{
UploadOutlined
}
from
'@ant-design/icons'
;
// 数据类型
// 数据类型
type
DataType
=
InterDataType
<
editUserApplyTagDetails
>
;
type
DataType
=
InterDataType
<
editUserApplyTagDetails
>
;
...
@@ -36,6 +38,10 @@ const AddEditModal: FC<propType> = (props) => {
...
@@ -36,6 +38,10 @@ const AddEditModal: FC<propType> = (props) => {
const
[
cooperationList
,
setCooperationList
]
=
useState
<
{
label
:
string
;
value
:
number
}[]
>
([]);
const
[
cooperationList
,
setCooperationList
]
=
useState
<
{
label
:
string
;
value
:
number
}[]
>
([]);
// 选择的地址
// 选择的地址
const
[
address
,
setAddress
]
=
useState
<
{
lat
:
number
;
lon
:
number
;
address
:
string
}
>
();
const
[
address
,
setAddress
]
=
useState
<
{
lat
:
number
;
lon
:
number
;
address
:
string
}
>
();
//附件
const
[
fileList
,
setFileList
]
=
useState
<
{
id
:
number
;
uid
:
number
;
url
:
string
;
name
:
string
}[]
>
([]);
// 关闭弹窗
// 关闭弹窗
const
handleCancel
=
()
=>
{
const
handleCancel
=
()
=>
{
form
.
resetFields
();
form
.
resetFields
();
...
@@ -51,9 +57,17 @@ const AddEditModal: FC<propType> = (props) => {
...
@@ -51,9 +57,17 @@ const AddEditModal: FC<propType> = (props) => {
...
res
.
result
,
...
res
.
result
,
name
:
res
.
result
.
name
||
data
?.
companyName
,
name
:
res
.
result
.
name
||
data
?.
companyName
,
address
:
res
.
result
.
address
||
detail
?.
address
,
address
:
res
.
result
.
address
||
detail
?.
address
,
attachmentList
:
res
.
result
.
attachmentList
||
undefined
,
});
});
setDetail
(
res
.
result
);
setDetail
(
res
.
result
);
// console.log('获取审批详情 -->', res.result);
const
fileList
=
res
.
result
.
attachmentList
?.
map
((
v
)
=>
({
id
:
Math
.
random
(),
uid
:
Math
.
random
(),
name
:
v
.
url
.
split
(
'/'
)[
v
.
url
.
split
(
'/'
).
length
-
1
],
url
:
v
.
url
,
}))
||
[];
setFileList
(
fileList
);
}
}
};
};
// 获取加盟列表
// 获取加盟列表
...
@@ -64,6 +78,24 @@ const AddEditModal: FC<propType> = (props) => {
...
@@ -64,6 +78,24 @@ const AddEditModal: FC<propType> = (props) => {
setCooperationList
(
list
.
map
((
i
)
=>
({
label
:
i
.
tagName
,
value
:
i
.
id
})));
setCooperationList
(
list
.
map
((
i
)
=>
({
label
:
i
.
tagName
,
value
:
i
.
id
})));
}
}
};
};
//附件上传成功
const
attachmentUploadSuccess
=
(
value
:
{
id
:
number
;
uid
:
number
;
url
:
string
;
name
:
string
}[],
)
=>
{
setFileList
(
value
);
form
.
setFieldValue
(
'attachmentList'
,
value
.
map
((
v
)
=>
({
type
:
[
'.doc'
,
'.docx'
,
'.xls'
,
'.xlsx'
,
'.ppt'
,
'.pptx'
,
'.pdf'
].
includes
(
v
.
url
.
match
(
/
\.[^
.
]
+$/
)?.[
0
]
as
any
,
)
?
1
:
0
,
url
:
v
.
url
,
})),
);
};
// 确认事件
// 确认事件
const
handleOk
=
()
=>
{
const
handleOk
=
()
=>
{
form
form
...
@@ -157,6 +189,40 @@ const AddEditModal: FC<propType> = (props) => {
...
@@ -157,6 +189,40 @@ const AddEditModal: FC<propType> = (props) => {
>
>
<
Rate
allowClear
/>
<
Rate
allowClear
/>
</
Form
.
Item
>
</
Form
.
Item
>
<
Form
.
Item
label=
'营业执照'
>
<
Image
src=
{
detail
?.
licenseImg
}
width=
{
50
}
height=
{
50
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'附件'
name=
'attachmentList'
>
<
Uploader
fileUpload
listType=
'text'
defaultFileList=
{
fileList
}
fileLength=
{
10
}
fileSize=
{
50
}
onChange=
{
attachmentUploadSuccess
}
fileType=
{
[
'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
,
'application/msword'
,
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
,
'application/vnd.ms-excel'
,
'application/pdf'
,
'application/vnd.ms-powerpoint'
,
'application/vnd.openxmlformats-officedocument.presentationml.presentation'
,
'image/png'
,
'image/jpeg'
,
'image/jpg'
,
'image/gif'
,
'image/bmp'
,
]
}
>
<
Button
type=
'primary'
icon=
{
<
UploadOutlined
/>
}
>
上传
</
Button
>
</
Uploader
>
</
Form
.
Item
>
<
Form
.
Item
label=
'备注'
name=
'remark'
>
<
Input
.
TextArea
placeholder=
'请输入备注'
maxLength=
{
70
}
showCount
rows=
{
4
}
/>
</
Form
.
Item
>
</
Form
>
</
Form
>
</
Modal
>
</
Modal
>
<
SelectMapModal
<
SelectMapModal
...
...
src/pages/customManage/customList/index.tsx
浏览文件 @
1813a388
...
@@ -60,7 +60,6 @@ function CustomListView() {
...
@@ -60,7 +60,6 @@ function CustomListView() {
totalPage
,
totalPage
,
});
});
setTableData
(
list
);
setTableData
(
list
);
// console.log('加载列表 --->', list);
}
}
};
};
// 翻页
// 翻页
...
@@ -124,6 +123,12 @@ function CustomListView() {
...
@@ -124,6 +123,12 @@ function CustomListView() {
align
:
'center'
,
align
:
'center'
,
},
},
{
{
title
:
'实名认证'
,
dataIndex
:
'realNameAuthStatus'
,
align
:
'center'
,
render
:
(
text
:
number
)
=>
(
text
?
'已认证'
:
'未认证'
),
},
{
title
:
'认证企业'
,
title
:
'认证企业'
,
dataIndex
:
'companyName'
,
dataIndex
:
'companyName'
,
align
:
'center'
,
align
:
'center'
,
...
@@ -264,16 +269,16 @@ function CustomListView() {
...
@@ -264,16 +269,16 @@ function CustomListView() {
{ value: 1, label: '已认证' },
{ value: 1, label: '已认证' },
],
],
},
},
//
{
{
// label: '电子签约
认证',
label: '实名
认证',
// name: 'contract
',
name: 'realAuthStatus
',
//
type: 'Select',
type: 'Select',
// placeholder: '请选择是否认证
',
placeholder: '请选择认证状态
',
//
options: [
options: [
// { value: 1
, label: '未认证' },
{ value: 0
, label: '未认证' },
// { value: 2
, label: '已认证' },
{ value: 1
, label: '已认证' },
//
],
],
//
},
},
]}
]}
searchData={onFinish}
searchData={onFinish}
/>
/>
...
...
src/pages/customManage/customVerification/details/index.tsx
0 → 100644
浏览文件 @
1813a388
import
{
CustomManageAPI
}
from
'~/api'
;
import
{
useSearchParams
,
useNavigate
}
from
'react-router-dom'
;
import
{
useEffect
,
useState
}
from
'react'
;
import
{
InterDataType
}
from
'~/api/interface'
;
import
{
authDetailType
}
from
'~/api/interface/customManageType'
;
import
{
Button
,
Descriptions
,
Image
}
from
'antd'
;
//实名认证详情返回类信息
type
detailType
=
InterDataType
<
authDetailType
>
;
const
CustomVerificationDetail
=
()
=>
{
const
[
searchParams
]
=
useSearchParams
();
const
navigate
=
useNavigate
();
const
[
detail
,
setDetail
]
=
useState
<
detailType
>
();
const
getAuthDetail
=
(
id
:
number
)
=>
{
CustomManageAPI
.
getAuthDetail
({
id
}).
then
(({
result
})
=>
{
setDetail
(
result
);
});
};
//返回
const
backRoute
=
()
=>
{
navigate
(
-
1
);
};
useEffect
(()
=>
{
getAuthDetail
(
Number
(
searchParams
.
get
(
'id'
)));
},
[]);
return
(
<
div
className=
'custom-verification-detail'
>
<
Descriptions
title=
'认证信息'
bordered
column=
{
2
}
extra=
{
<
Button
type=
'primary'
onClick=
{
backRoute
}
>
返回
</
Button
>
}
>
<
Descriptions
.
Item
label=
'姓名'
>
{
detail
?.
userName
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'身份证号码'
>
{
detail
?.
idNumber
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'身份证正面'
>
<
Image
src=
{
detail
?.
frontIdImg
}
width=
{
50
}
/>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'身份证反面'
>
<
Image
src=
{
detail
?.
backIdImg
}
width=
{
50
}
/>
</
Descriptions
.
Item
>
</
Descriptions
>
</
div
>
);
};
export
default
CustomVerificationDetail
;
src/pages/customManage/customVerification/list/components/remarkModal/index.tsx
0 → 100644
浏览文件 @
1813a388
import
{
Form
,
Input
,
message
,
Modal
,
ModalProps
}
from
'antd'
;
import
{
FC
,
useEffect
}
from
'react'
;
import
{
InterDataType
}
from
'~/api/interface'
;
import
{
listAuthPageType
}
from
'~/api/interface/customManageType'
;
import
{
CustomManageAPI
}
from
'~/api'
;
type
listAuthType
=
InterDataType
<
listAuthPageType
>
[
'list'
];
interface
selfProps
{
onOk
:
()
=>
void
;
currentAuthItem
:
listAuthType
[
0
]
|
undefined
;
}
//实名认证列表返回类型
const
RemarkModal
:
FC
<
ModalProps
&
selfProps
>
=
({
open
,
onCancel
,
onOk
,
currentAuthItem
})
=>
{
const
[
form
]
=
Form
.
useForm
<
{
remark
:
string
}
>
();
const
handleOk
=
()
=>
{
if
(
currentAuthItem
)
{
form
.
validateFields
().
then
((
values
)
=>
{
CustomManageAPI
.
updateRemark
({
id
:
currentAuthItem
.
id
,
...
values
}).
then
(({
code
})
=>
{
if
(
code
===
'200'
)
{
message
.
success
(
'更新备注成功'
);
onOk
();
}
});
});
}
};
useEffect
(()
=>
{
if
(
currentAuthItem
)
{
form
.
setFieldValue
(
'remark'
,
currentAuthItem
.
remark
||
undefined
);
}
},
[
currentAuthItem
]);
return
(
<
Modal
open=
{
open
}
onCancel=
{
onCancel
}
onOk=
{
handleOk
}
title=
'备注弹窗'
>
<
Form
form=
{
form
}
>
<
Form
.
Item
label=
'备注'
name=
'remark'
>
<
Input
.
TextArea
placeholder=
'请输入备注'
maxLength=
{
70
}
showCount
rows=
{
4
}
/>
</
Form
.
Item
>
</
Form
>
</
Modal
>
);
};
export
default
RemarkModal
;
src/pages/customManage/customVerification/list/index.tsx
0 → 100644
浏览文件 @
1813a388
import
SearchBox
,
{
searchColumns
as
searchColumnsType
}
from
'~/components/search-box'
;
import
{
Button
,
Table
}
from
'antd'
;
import
{
ColumnsType
}
from
'antd/es/table'
;
import
{
useEffect
,
useState
}
from
'react'
;
import
{
CustomManageAPI
}
from
'~/api'
;
import
{
InterDataType
,
InterReqListType
,
PaginationProps
}
from
'~/api/interface'
;
import
{
listAuthPageType
}
from
'~/api/interface/customManageType'
;
import
{
useNavigate
}
from
'react-router-dom'
;
import
RemarkModal
from
'~/pages/customManage/customVerification/list/components/remarkModal'
;
//实名认证列表返回类型
type
listAuthType
=
InterDataType
<
listAuthPageType
>
[
'list'
];
//实名认证列表请求类型
type
listAuthParametersType
=
InterReqListType
<
listAuthPageType
>
;
const
CustomVerification
=
()
=>
{
const
navigate
=
useNavigate
();
const
searchColumns
:
searchColumnsType
[]
=
[
{
name
:
'keyword'
,
label
:
'用户信息'
,
type
:
'input'
,
placeholder
:
'请输入UID,姓名或手机号'
,
},
];
const
tableColumns
:
ColumnsType
<
listAuthType
[
0
]
>
=
[
{
title
:
'UID'
,
align
:
'center'
,
dataIndex
:
'uid'
,
},
{
title
:
'昵称'
,
align
:
'center'
,
dataIndex
:
'nickName'
,
},
{
title
:
'姓名'
,
align
:
'center'
,
dataIndex
:
'userName'
,
},
{
title
:
'手机号'
,
align
:
'center'
,
dataIndex
:
'phoneNum'
,
},
{
title
:
'时间'
,
align
:
'center'
,
dataIndex
:
'createTime'
,
},
{
title
:
'备注'
,
align
:
'center'
,
dataIndex
:
'remark'
,
width
:
'20%'
,
ellipsis
:
true
,
render
:
(
text
:
string
,
record
)
=>
(
<
div
onClick=
{
()
=>
remarkModalShowClick
(
record
)
}
style=
{
{
whiteSpace
:
'nowrap'
,
textOverflow
:
'ellipsis'
,
width
:
'100%'
,
overflow
:
'hidden'
,
cursor
:
'pointer'
,
color
:
'#1677ff'
,
}
}
>
{
text
||
'--'
}
</
div
>
),
},
{
title
:
'操作'
,
align
:
'center'
,
render
:
(
_text
:
string
,
record
)
=>
(
<
Button
type=
'link'
onClick=
{
()
=>
toCustomVerificationDetail
(
record
)
}
>
详情
</
Button
>
),
},
];
const
[
tableData
,
setTableData
]
=
useState
<
listAuthType
>
([]);
const
[
query
,
setQuery
]
=
useState
<
listAuthParametersType
>
();
const
[
pagination
,
setPagination
]
=
useState
<
PaginationProps
&
{
totalCount
:
number
}
>
({
pageNo
:
1
,
pageSize
:
10
,
totalCount
:
0
,
});
//备注弹窗
const
[
remarkModalShow
,
setRemarkModalShow
]
=
useState
<
boolean
>
(
false
);
const
[
currentAuthItem
,
setCurrentAuthItem
]
=
useState
<
listAuthType
[
0
]
>
();
const
getAuthList
=
(
query
?:
listAuthParametersType
)
=>
{
CustomManageAPI
.
getListAuth
({
pageNo
:
pagination
.
pageNo
,
pageSize
:
pagination
.
pageSize
,
...
query
,
}).
then
(({
result
})
=>
{
pagination
.
totalCount
=
result
.
totalCount
;
setPagination
(
pagination
);
setTableData
(
result
.
list
||
[]);
});
};
//分页
const
paginationChange
=
(
pageNo
:
number
,
pageSize
:
number
)
=>
{
pagination
.
pageNo
=
pageNo
;
pagination
.
pageSize
=
pageSize
;
getAuthList
(
query
);
};
//筛选成功
const
searchSuccess
=
(
value
:
listAuthParametersType
)
=>
{
pagination
.
pageNo
=
1
;
pagination
.
pageSize
=
10
;
setQuery
(
value
);
getAuthList
(
value
);
};
//认证详情
const
toCustomVerificationDetail
=
(
record
:
listAuthType
[
0
])
=>
{
navigate
({
pathname
:
'/customManage/customVerificationDetail'
,
search
:
`id=
${
record
.
id
}
`
});
};
//修改备注操作
const
remarkModalShowClick
=
(
record
:
listAuthType
[
0
])
=>
{
setCurrentAuthItem
({
...
record
});
setRemarkModalShow
(
true
);
};
const
remarkModalCancel
=
()
=>
{
setRemarkModalShow
(
false
);
};
const
remarkModalOk
=
()
=>
{
getAuthList
(
query
);
setRemarkModalShow
(
false
);
};
useEffect
(()
=>
{
getAuthList
();
},
[]);
return
(
<
div
className=
'custom-verification'
>
<
SearchBox
search=
{
searchColumns
}
searchData=
{
searchSuccess
}
/>
<
Table
columns=
{
tableColumns
}
bordered
dataSource=
{
tableData
}
rowKey=
'id'
pagination=
{
{
total
:
pagination
.
totalCount
,
pageSize
:
pagination
.
pageSize
,
current
:
pagination
.
pageNo
,
showSizeChanger
:
true
,
showQuickJumper
:
true
,
onChange
:
(
page
:
number
,
pageSize
:
number
)
=>
paginationChange
(
page
,
pageSize
),
showTotal
:
(
total
,
range
)
=>
`当前 ${range[0]}-${range[1]} 条记录 / 共 ${total} 条数据`
,
}
}
/>
<
RemarkModal
open=
{
remarkModalShow
}
onCancel=
{
remarkModalCancel
}
onOk=
{
remarkModalOk
}
currentAuthItem=
{
currentAuthItem
}
/>
</
div
>
);
};
export
default
CustomVerification
;
src/pages/flyerCenter/flyerManage/flyerAuthDaily/index.tsx
0 → 100644
浏览文件 @
1813a388
import
SearchBox
,
{
searchColumns
as
searchColumnsType
}
from
'~/components/search-box'
;
import
{
Button
,
Table
}
from
'antd'
;
import
{
ColumnsType
}
from
'antd/es/table'
;
import
{
FlyerCenterAPI
}
from
'~/api'
;
import
{
useEffect
,
useState
}
from
'react'
;
import
{
InterDataType
,
InterReqListType
,
PaginationProps
}
from
'~/api/interface'
;
import
{
backPilotLogListType
}
from
'~/api/interface/flyerCenterType'
;
import
{
useNavigate
}
from
'react-router-dom'
;
//日志列表返回类型
type
logListType
=
InterDataType
<
backPilotLogListType
>
[
'list'
];
//日志列表请求类型
type
logParametersType
=
InterReqListType
<
backPilotLogListType
>
;
const
FlyerAuthDaily
=
()
=>
{
const
navigate
=
useNavigate
();
const
searchColumns
:
searchColumnsType
[]
=
[
{
label
:
'账号'
,
type
:
'input'
,
placeholder
:
'请输入姓名,手机号'
,
name
:
'accountNumber'
,
},
];
const
tableColumns
:
ColumnsType
<
logListType
[
0
]
>
=
[
{
title
:
'审批及认证时间'
,
align
:
'center'
,
dataIndex
:
'certificationDate'
,
},
{
title
:
'账号'
,
align
:
'center'
,
dataIndex
:
'userName'
,
},
{
title
:
'手机号'
,
align
:
'center'
,
dataIndex
:
'phoneNum'
,
},
{
title
:
'申请及审批信息'
,
align
:
'center'
,
dataIndex
:
'certificationMessage'
,
},
{
title
:
'操作人员'
,
align
:
'center'
,
dataIndex
:
'operatorUserName'
,
},
];
const
[
tableData
,
setTableData
]
=
useState
<
logListType
>
([]);
const
[
pagination
,
setPagination
]
=
useState
<
PaginationProps
&
{
totalCount
:
number
}
>
({
pageNo
:
1
,
pageSize
:
10
,
totalCount
:
0
,
});
const
[
query
,
setQuery
]
=
useState
<
logParametersType
>
();
//认证日志列表
const
getBackPilotLogList
=
(
query
?:
logParametersType
)
=>
{
FlyerCenterAPI
.
getBackPilotLogList
({
pageNo
:
pagination
.
pageNo
,
pageSize
:
pagination
.
pageSize
,
...
query
,
}).
then
(({
result
})
=>
{
pagination
.
totalCount
=
result
.
totalCount
;
setPagination
(
pagination
);
setTableData
(
result
.
list
||
[]);
});
};
//分页
const
paginationChange
=
(
pageNo
:
number
,
pageSize
:
number
)
=>
{
pagination
.
pageNo
=
pageNo
;
pagination
.
pageSize
=
pageSize
;
getBackPilotLogList
(
query
);
};
//筛选成功
const
searchSuccess
=
(
value
:
logParametersType
)
=>
{
pagination
.
pageNo
=
1
;
pagination
.
pageSize
=
10
;
setQuery
(
value
);
getBackPilotLogList
(
value
);
};
//返回
const
backRoute
=
()
=>
{
navigate
(
-
1
);
};
useEffect
(()
=>
{
getBackPilotLogList
();
},
[]);
return
(
<
div
className=
'flyer-auth-daily'
>
<
SearchBox
search=
{
searchColumns
}
searchData=
{
searchSuccess
}
otherChild=
{
<
Button
type=
'primary'
onClick=
{
backRoute
}
>
返回
</
Button
>
}
/>
<
Table
columns=
{
tableColumns
}
dataSource=
{
tableData
}
pagination=
{
{
total
:
pagination
.
totalCount
,
pageSize
:
pagination
.
pageSize
,
current
:
pagination
.
pageNo
,
showSizeChanger
:
true
,
showQuickJumper
:
true
,
onChange
:
(
page
:
number
,
pageSize
:
number
)
=>
paginationChange
(
page
,
pageSize
),
showTotal
:
(
total
,
range
)
=>
`当前 ${range[0]}-${range[1]} 条记录 / 共 ${total} 条数据`
,
}
}
/>
</
div
>
);
};
export
default
FlyerAuthDaily
;
src/pages/flyerCenter/flyerManage/flyerDetail/components/approveModal/index.tsx
0 → 100644
浏览文件 @
1813a388
import
{
Form
,
message
,
Modal
,
ModalProps
,
Radio
,
RadioChangeEvent
,
Select
}
from
'antd'
;
import
{
FC
,
useState
}
from
'react'
;
import
{
FlyerCenterAPI
}
from
'~/api'
;
import
{
InterDataType
}
from
'~/api/interface'
;
import
{
backListReasonType
}
from
'~/api/interface/flyerCenterType'
;
interface
selfProps
{
onCancel
:
()
=>
void
;
onOk
:
()
=>
void
;
flyerId
:
number
;
}
//原因列表返回类型
type
reasonType
=
InterDataType
<
backListReasonType
>
;
const
ApproveModal
:
FC
<
ModalProps
&
selfProps
>
=
({
open
,
onCancel
,
onOk
,
flyerId
})
=>
{
const
[
form
]
=
Form
.
useForm
();
const
[
auditStatus
,
setAuditStatus
]
=
useState
<
number
>
(
1
);
const
[
reasonList
,
setReasonList
]
=
useState
<
reasonType
>
([]);
const
handleCancel
=
()
=>
{
form
.
resetFields
();
setAuditStatus
(
-
1
);
onCancel
();
};
const
handleOk
=
()
=>
{
form
.
validateFields
().
then
((
values
)
=>
{
FlyerCenterAPI
.
updateAuditStatus
({
...
values
,
id
:
flyerId
}).
then
(({
code
})
=>
{
if
(
code
===
'200'
)
{
message
.
success
(
'审批成功'
);
onOk
();
form
.
resetFields
();
setAuditStatus
(
-
1
);
}
});
});
};
const
radioChange
=
(
e
:
RadioChangeEvent
)
=>
{
if
(
e
.
target
.
value
===
2
)
{
getBackListReason
();
}
setAuditStatus
(
e
.
target
.
value
);
};
//不通过原因列表
const
getBackListReason
=
()
=>
{
FlyerCenterAPI
.
getBackListReason
().
then
(({
result
})
=>
{
setReasonList
(
result
||
[]);
});
};
return
(
<
Modal
open=
{
open
}
onCancel=
{
handleCancel
}
onOk=
{
handleOk
}
title=
'审批飞手'
>
<
Form
form=
{
form
}
initialValues=
{
{
auditStatus
:
1
}
}
>
<
Form
.
Item
label=
'状态'
name=
'auditStatus'
>
<
Radio
.
Group
onChange=
{
radioChange
}
>
<
Radio
value=
{
1
}
>
已通过
</
Radio
>
<
Radio
value=
{
2
}
>
未通过
</
Radio
>
</
Radio
.
Group
>
</
Form
.
Item
>
{
auditStatus
!==
2
?
(
''
)
:
(
<
Form
.
Item
label=
'原因'
name=
'reasonId'
rules=
{
[{
required
:
true
,
message
:
'请选择原因'
}]
}
>
<
Select
placeholder=
'请选择原因'
>
{
reasonList
.
map
((
v
)
=>
(
<
Select
.
Option
value=
{
v
.
id
}
key=
{
v
.
id
}
>
{
v
.
reason
}
</
Select
.
Option
>
))
}
</
Select
>
</
Form
.
Item
>
)
}
</
Form
>
</
Modal
>
);
};
export
default
ApproveModal
;
src/pages/flyerCenter/flyerManage/flyerDetail/index.scss
0 → 100644
浏览文件 @
1813a388
.flyer-detail
{
height
:
100%
;
padding
:
20px
;
box-sizing
:
border-box
;
.ant-row
{
height
:
100%
;
}
&
-header
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
margin-bottom
:
20px
;
}
&
-auth
{
}
&
-ability
{
.ability-img
{
margin-right
:
10px
;
margin-bottom
:
10px
;
}
}
}
src/pages/flyerCenter/flyerManage/flyerDetail/index.tsx
0 → 100644
浏览文件 @
1813a388
import
{
FlyerCenterAPI
}
from
'~/api'
;
import
{
useSearchParams
,
useNavigate
}
from
'react-router-dom'
;
import
{
useEffect
,
useState
}
from
'react'
;
import
{
InterDataType
}
from
'~/api/interface'
;
import
{
backDetailPilotType
}
from
'~/api/interface/flyerCenterType'
;
import
{
Badge
,
Button
,
Col
,
Descriptions
,
Image
,
Row
,
Tag
}
from
'antd'
;
import
'./index.scss'
;
import
ApproveModal
from
'./components/approveModal'
;
//飞手详情返回类型
type
flyerDetailType
=
InterDataType
<
backDetailPilotType
>
;
const
FlyerDetail
=
()
=>
{
const
[
searchParams
]
=
useSearchParams
();
const
navigate
=
useNavigate
();
const
[
isApprove
,
setIsApprove
]
=
useState
<
boolean
>
(
false
);
const
[
flyerId
,
setFlyerId
]
=
useState
<
number
>
(
-
1
);
const
[
flyerDetail
,
setFlyerDetail
]
=
useState
<
flyerDetailType
>
();
const
[
approveModalShow
,
setApproveModalShow
]
=
useState
<
boolean
>
(
false
);
const
getFlyerDetail
=
(
id
:
number
)
=>
{
FlyerCenterAPI
.
getBackDetailPilot
({
id
}).
then
(({
result
})
=>
{
setFlyerDetail
(
result
);
});
};
//审批弹窗
const
approveFlyerClick
=
()
=>
{
setApproveModalShow
(
true
);
};
const
approveModalCancel
=
()
=>
{
setApproveModalShow
(
false
);
};
const
approveModalOk
=
()
=>
{
setApproveModalShow
(
false
);
getFlyerDetail
(
flyerId
);
};
//返回
const
backRoute
=
()
=>
{
navigate
(
-
1
);
};
useEffect
(()
=>
{
getFlyerDetail
(
Number
(
searchParams
.
get
(
'id'
)));
setFlyerId
(
Number
(
searchParams
.
get
(
'id'
)));
setIsApprove
(
!!
searchParams
.
get
(
'isApprove'
));
},
[]);
return
(
<
div
className=
'flyer-detail'
>
<
div
className=
'flyer-detail-header'
>
<
div
className=
'header-info'
>
{
flyerDetail
?.
userAccountId
}
(
{
flyerDetail
?.
userName
}
)
</
div
>
<
div
className=
'header-operate'
>
{
isApprove
&&
flyerDetail
?.
auditStatus
===
0
?
(
<
Button
type=
'primary'
style=
{
{
marginRight
:
'10px'
}
}
onClick=
{
approveFlyerClick
}
>
审批
</
Button
>
)
:
(
''
)
}
<
Button
type=
'primary'
onClick=
{
backRoute
}
>
返回
</
Button
>
</
div
>
</
div
>
<
Row
justify=
'space-between'
>
<
Col
span=
{
11
}
>
<
div
className=
'flyer-detail-auth'
>
<
Descriptions
title=
'执照认证'
bordered
column=
{
1
}
labelStyle=
{
{
width
:
'100px'
}
}
>
<
Descriptions
.
Item
label=
'执照类型'
>
{
flyerDetail
?.
licenseType
===
'OTHER'
?
'其它'
:
flyerDetail
?.
licenseType
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'执照编号'
>
{
flyerDetail
?.
licenseNumber
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'认证状态'
>
<
Badge
status=
{
flyerDetail
?.
auditStatus
===
0
?
'processing'
:
flyerDetail
?.
auditStatus
===
1
?
'success'
:
'error'
}
text=
{
flyerDetail
?.
auditStatus
===
0
?
'审核中'
:
flyerDetail
?.
auditStatus
===
1
?
'已通过'
:
'未通过'
}
/>
{
flyerDetail
?.
auditStatus
===
2
?
(
<
span
style=
{
{
color
:
'red'
}
}
>
(
{
flyerDetail
?.
reason
}
)
</
span
>
)
:
(
''
)
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'个人简介'
>
{
flyerDetail
?.
individualResume
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'执照图片'
>
<
Image
src=
{
flyerDetail
?.
licenseUrl
}
width=
{
100
}
/>
</
Descriptions
.
Item
>
</
Descriptions
>
</
div
>
</
Col
>
<
Col
span=
{
11
}
>
<
div
className=
'flyer-detail-ability'
>
<
Descriptions
title=
'能力认证'
bordered
column=
{
1
}
labelStyle=
{
{
minWidth
:
'100px'
}
}
>
<
Descriptions
.
Item
label=
'常驻地'
>
{
flyerDetail
?.
residentCity
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'工作年限'
>
{
flyerDetail
?.
yearsOfWorking
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'能力'
>
{
flyerDetail
?.
pilotAbility
.
map
((
v
)
=>
(
<
Tag
key=
{
v
.
id
}
>
{
v
.
abilityName
}
</
Tag
>
))
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'业务案例'
>
{
flyerDetail
?.
abilityUrl
?
(
<
Image
.
PreviewGroup
>
{
JSON
.
parse
(
flyerDetail
?.
abilityUrl
).
map
((
v
:
string
,
index
:
number
)
=>
(
<
Image
src=
{
v
}
key=
{
index
}
width=
{
100
}
height=
{
100
}
rootClassName=
'ability-img'
/>
))
}
</
Image
.
PreviewGroup
>
)
:
(
''
)
}
</
Descriptions
.
Item
>
</
Descriptions
>
</
div
>
</
Col
>
</
Row
>
{
/* 审批弹窗*/
}
<
ApproveModal
open=
{
approveModalShow
}
onCancel=
{
approveModalCancel
}
onOk=
{
approveModalOk
}
flyerId=
{
flyerId
}
/>
</
div
>
);
};
export
default
FlyerDetail
;
src/pages/flyerCenter/flyerManage/flyerList/components/updateRemarkModal/index.tsx
0 → 100644
浏览文件 @
1813a388
import
{
Form
,
Input
,
message
,
Modal
,
ModalProps
}
from
'antd'
;
import
{
FC
,
useEffect
}
from
'react'
;
import
{
InterDataType
}
from
'~/api/interface'
;
import
{
backListPilotType
}
from
'~/api/interface/flyerCenterType'
;
import
{
FlyerCenterAPI
}
from
'~/api'
;
//飞手列表返回类型
type
flyerListType
=
InterDataType
<
backListPilotType
>
[
'list'
];
interface
selfProps
{
onOk
:
()
=>
void
;
flyerItem
:
flyerListType
[
0
]
|
undefined
;
}
const
UpdateRemarkModal
:
FC
<
ModalProps
&
selfProps
>
=
({
open
,
onCancel
,
onOk
,
flyerItem
})
=>
{
const
[
form
]
=
Form
.
useForm
<
{
remark
:
string
}
>
();
const
handleOk
=
()
=>
{
if
(
flyerItem
)
{
form
.
validateFields
().
then
((
values
)
=>
{
FlyerCenterAPI
.
updateRemark
({
id
:
flyerItem
.
id
,
...
values
}).
then
(({
code
})
=>
{
if
(
code
===
'200'
)
{
message
.
success
(
'编辑备注成功'
);
onOk
();
}
});
});
}
};
useEffect
(()
=>
{
if
(
flyerItem
)
{
form
.
setFieldValue
(
'remark'
,
flyerItem
.
remark
);
}
},
[
flyerItem
]);
return
(
<
Modal
open=
{
open
}
onCancel=
{
onCancel
}
onOk=
{
handleOk
}
title=
'备注修改'
>
<
Form
form=
{
form
}
>
<
Form
.
Item
label=
'备注'
name=
'remark'
>
<
Input
.
TextArea
placeholder=
'请输入备注'
maxLength=
{
70
}
showCount
rows=
{
4
}
/>
</
Form
.
Item
>
</
Form
>
</
Modal
>
);
};
export
default
UpdateRemarkModal
;
src/pages/flyerCenter/flyerManage/flyerList/index.tsx
0 → 100644
浏览文件 @
1813a388
import
SearchBox
,
{
searchColumns
as
searchColumnsType
}
from
'~/components/search-box'
;
import
{
Button
,
Table
,
Tag
}
from
'antd'
;
import
{
ColumnsType
}
from
'antd/es/table'
;
import
{
CommonAPI
,
FlyerCenterAPI
}
from
'~/api'
;
import
{
useEffect
,
useState
}
from
'react'
;
import
{
InterDataType
,
InterReqListType
,
PaginationProps
}
from
'~/api/interface'
;
import
{
backListPilotType
}
from
'~/api/interface/flyerCenterType'
;
import
{
getSecondDistrictInfoType
}
from
'~/api/interface/commonType'
;
import
{
useNavigate
}
from
'react-router-dom'
;
import
UpdateRemarkModal
from
'./components/updateRemarkModal'
;
//飞手列表返回类型
type
flyerListType
=
InterDataType
<
backListPilotType
>
[
'list'
];
//飞手列表请求类型
type
flyerListParameters
=
InterReqListType
<
backListPilotType
>
;
//地址返回数据
type
locationType
=
InterDataType
<
getSecondDistrictInfoType
>
;
const
FlyerList
=
()
=>
{
const
navigate
=
useNavigate
();
const
[
searchColumns
,
setSearchColumns
]
=
useState
<
searchColumnsType
[]
>
([
{
name
:
'accountNumber'
,
label
:
'账号'
,
placeholder
:
'请输入UID,姓名或手机号'
,
type
:
'input'
,
},
{
name
:
'auditStatus'
,
label
:
'执照认证状态'
,
placeholder
:
'请选择执照认证状态'
,
type
:
'select'
,
options
:
[
{
id
:
0
,
name
:
'审核中'
},
{
id
:
1
,
name
:
'已通过'
},
{
id
:
2
,
name
:
'未通过'
},
],
},
{
name
:
'abilityId'
,
label
:
'能力认证'
,
placeholder
:
'请选择能力认证'
,
type
:
'select'
,
options
:
[],
},
{
name
:
'areaNumber'
,
label
:
'常驻城市'
,
placeholder
:
'请选择常驻城市'
,
type
:
'Cascader'
,
options
:
[],
},
]);
const
tableColumns
:
ColumnsType
<
flyerListType
[
0
]
>
=
[
{
title
:
'UID'
,
dataIndex
:
'userAccountId'
,
align
:
'center'
,
},
{
title
:
'姓名'
,
align
:
'center'
,
dataIndex
:
'userName'
,
},
{
title
:
'执照认证状态'
,
align
:
'center'
,
dataIndex
:
'auditStatus'
,
render
:
(
text
:
number
)
=>
(
text
===
0
?
'审核中'
:
text
===
1
?
'已通过'
:
'未通过'
),
},
{
title
:
'能力认证'
,
align
:
'center'
,
dataIndex
:
'pilotAbility'
,
width
:
'20%'
,
render
:
(
text
:
flyerListType
[
0
][
'pilotAbility'
])
=>
text
?
text
.
map
((
v
)
=>
<
Tag
key=
{
v
.
abilityId
}
>
{
v
.
abilityName
}
</
Tag
>)
:
''
,
},
{
title
:
'常驻城市'
,
align
:
'center'
,
dataIndex
:
'residentCity'
,
},
{
title
:
'手机号'
,
align
:
'center'
,
dataIndex
:
'phoneNum'
,
},
{
title
:
'申请认证时间'
,
align
:
'center'
,
dataIndex
:
'createTime'
,
},
{
title
:
'备注'
,
align
:
'center'
,
dataIndex
:
'remark'
,
width
:
'20%'
,
ellipsis
:
true
,
render
:
(
text
:
string
,
record
)
=>
(
<
div
onClick=
{
()
=>
updateRemarkClick
(
record
)
}
style=
{
{
whiteSpace
:
'nowrap'
,
textOverflow
:
'ellipsis'
,
width
:
'100%'
,
overflow
:
'hidden'
,
cursor
:
'pointer'
,
color
:
'#1677ff'
,
}
}
>
{
text
||
'--'
}
</
div
>
),
},
{
title
:
'操作'
,
align
:
'center'
,
render
:
(
_text
:
string
,
record
)
=>
(
<>
<
Button
type=
'link'
danger
disabled=
{
record
.
auditStatus
!==
0
}
onClick=
{
()
=>
toFlyerApprove
(
record
)
}
>
审批
</
Button
>
<
Button
type=
'link'
onClick=
{
()
=>
toFlyerDetail
(
record
)
}
>
详情
</
Button
>
</>
),
},
];
const
[
tableData
,
setTableData
]
=
useState
<
flyerListType
>
([]);
const
[
currentTableItem
,
setCurrentTableItem
]
=
useState
<
flyerListType
[
0
]
>
();
const
[
query
,
setQuery
]
=
useState
<
flyerListParameters
>
();
const
[
pagination
,
setPagination
]
=
useState
<
PaginationProps
&
{
totalCount
:
number
}
>
({
pageNo
:
1
,
pageSize
:
10
,
totalCount
:
0
,
});
const
[
loading
,
setLoading
]
=
useState
<
boolean
>
(
false
);
//修改备注弹窗
const
[
updateRemarkModalShow
,
setUpdateRemarkModalShow
]
=
useState
<
boolean
>
(
false
);
//飞手列表
const
getFlyerList
=
(
query
?:
flyerListParameters
)
=>
{
setLoading
(
true
);
FlyerCenterAPI
.
getBackListPilot
({
pageNo
:
pagination
.
pageNo
,
pageSize
:
pagination
.
pageSize
,
...
query
,
}).
then
(({
result
})
=>
{
setLoading
(
false
);
pagination
.
totalCount
=
result
.
totalCount
;
setTableData
(
result
.
list
||
[]);
setPagination
(
pagination
);
});
};
//飞手能力列表
const
getAbilityList
=
()
=>
{
FlyerCenterAPI
.
getAbilityList
().
then
(({
result
})
=>
{
searchColumns
[
2
].
options
=
(
result
||
[]).
map
((
v
)
=>
({
id
:
v
.
abilityId
,
name
:
v
.
abilityName
,
}));
setSearchColumns
([...
searchColumns
]);
});
};
//分页
const
paginationChange
=
(
pageNo
:
number
,
pageSize
:
number
)
=>
{
pagination
.
pageNo
=
pageNo
;
pagination
.
pageSize
=
pageSize
;
getFlyerList
(
query
);
};
//筛选成功
const
searchSuccess
=
(
value
:
flyerListParameters
)
=>
{
pagination
.
pageNo
=
1
;
pagination
.
pageSize
=
10
;
setQuery
({
...
value
,
areaNumber
:
value
.
areaNumber
?
value
.
areaNumber
[
1
]
:
undefined
});
getFlyerList
({
...
value
,
areaNumber
:
value
.
areaNumber
?
value
.
areaNumber
[
1
]
:
undefined
});
};
//获取地域数据
const
getSecondDistrictInfo
=
()
=>
{
CommonAPI
.
getSecondDistrictInfo
().
then
(({
result
})
=>
{
const
covertLocationData
:
any
=
(
list
:
locationType
)
=>
{
return
list
.
map
((
v
)
=>
({
label
:
v
.
name
,
value
:
v
.
id
,
children
:
v
.
childInfo
?
covertLocationData
(
v
.
childInfo
)
:
[],
}));
};
searchColumns
[
3
].
options
=
covertLocationData
(
result
);
setSearchColumns
([...
searchColumns
]);
});
};
//认证日志页面
const
toFlyerAuthDaily
=
()
=>
{
navigate
(
'/flyerCenter/flyerAuthDaily'
);
};
//飞手审批页面
const
toFlyerApprove
=
(
record
:
flyerListType
[
0
])
=>
{
navigate
({
pathname
:
'/flyerCenter/flyerDetail'
,
search
:
`id=
${
record
.
id
}
&isApprove=1`
});
};
//飞手详情页面
const
toFlyerDetail
=
(
record
:
flyerListType
[
0
])
=>
{
navigate
({
pathname
:
'/flyerCenter/flyerApprove'
,
search
:
`id=
${
record
.
id
}
`
});
};
//修改备注
const
updateRemarkClick
=
(
record
:
flyerListType
[
0
])
=>
{
setCurrentTableItem
(
record
);
setUpdateRemarkModalShow
(
true
);
};
const
updateRemarkModalCancel
=
()
=>
{
setUpdateRemarkModalShow
(
false
);
};
const
updateRemarkModalOk
=
()
=>
{
getFlyerList
(
query
);
setUpdateRemarkModalShow
(
false
);
};
useEffect
(()
=>
{
getFlyerList
();
getAbilityList
();
getSecondDistrictInfo
();
},
[]);
return
(
<
div
className=
'flyer-list'
>
<
SearchBox
search=
{
searchColumns
}
searchData=
{
searchSuccess
}
child=
{
<
Button
type=
'primary'
onClick=
{
toFlyerAuthDaily
}
>
认证日志
</
Button
>
}
/>
<
Table
bordered
columns=
{
tableColumns
}
dataSource=
{
tableData
}
loading=
{
loading
}
rowKey=
'id'
pagination=
{
{
total
:
pagination
.
totalCount
,
pageSize
:
pagination
.
pageSize
,
current
:
pagination
.
pageNo
,
showSizeChanger
:
true
,
showQuickJumper
:
true
,
onChange
:
(
page
:
number
,
pageSize
:
number
)
=>
paginationChange
(
page
,
pageSize
),
showTotal
:
(
total
,
range
)
=>
`当前 ${range[0]}-${range[1]} 条记录 / 共 ${total} 条数据`
,
}
}
/>
{
/*修改备注*/
}
<
UpdateRemarkModal
open=
{
updateRemarkModalShow
}
onOk=
{
updateRemarkModalOk
}
onCancel=
{
updateRemarkModalCancel
}
flyerItem=
{
currentTableItem
}
/>
</
div
>
);
};
export
default
FlyerList
;
src/pages/mallManage/courseManage/comp/addEditModal/index.tsx
浏览文件 @
1813a388
...
@@ -202,7 +202,7 @@ const AddEditModal: React.FC<propType> = (props) => {
...
@@ -202,7 +202,7 @@ const AddEditModal: React.FC<propType> = (props) => {
wrapperCol=
{
{
span
:
20
}
}
wrapperCol=
{
{
span
:
20
}
}
>
>
<
RichText
<
RichText
value
=
{
form
.
getFieldValue
(
'detailContent'
)
}
richTextContent
=
{
form
.
getFieldValue
(
'detailContent'
)
}
onChange=
{
(
e
)
=>
form
.
setFieldValue
(
'detailContent'
,
e
)
}
onChange=
{
(
e
)
=>
form
.
setFieldValue
(
'detailContent'
,
e
)
}
height=
{
250
}
height=
{
250
}
/>
/>
...
...
src/pages/mallManage/mallGoods/goodsAddOrEditOrDetail/components/skuAddOrEditModal/index.tsx
浏览文件 @
1813a388
...
@@ -79,7 +79,7 @@ const SkuAddOrEditModal: FC<ModalProps & selfProps> = ({
...
@@ -79,7 +79,7 @@ const SkuAddOrEditModal: FC<ModalProps & selfProps> = ({
return
Promise
.
reject
(
new
Error
(
'请输入正整数'
));
return
Promise
.
reject
(
new
Error
(
'请输入正整数'
));
}
}
}
else
{
}
else
{
return
Promise
.
re
ject
(
new
Error
(
'请输入库存'
)
);
return
Promise
.
re
solve
(
);
}
}
};
};
...
@@ -153,7 +153,7 @@ const SkuAddOrEditModal: FC<ModalProps & selfProps> = ({
...
@@ -153,7 +153,7 @@ const SkuAddOrEditModal: FC<ModalProps & selfProps> = ({
editable
:
true
,
editable
:
true
,
align
:
'center'
,
align
:
'center'
,
dataIndex
:
'stock'
,
dataIndex
:
'stock'
,
rules
:
[{
required
:
tru
e
,
validator
:
stockPriceValidator
}],
rules
:
[{
required
:
fals
e
,
validator
:
stockPriceValidator
}],
inputType
:
'number'
,
inputType
:
'number'
,
},
},
{
{
...
...
src/pages/resourceManage/requirementsGathering/gatherDetail/index.scss
0 → 100644
浏览文件 @
1813a388
.gather-detail-img
{
margin-right
:
10px
;
margin-bottom
:
10px
;
}
src/pages/resourceManage/requirementsGathering/gatherDetail/index.tsx
0 → 100644
浏览文件 @
1813a388
import
{
useSearchParams
}
from
'react-router-dom'
;
import
{
ResourceManageAPI
}
from
'~/api'
;
import
{
useEffect
,
useState
}
from
'react'
;
import
{
InterDataType
}
from
'~/api/interface'
;
import
{
backDetailPublishType
}
from
'~/api/interface/resourceManageType'
;
import
{
Button
,
Descriptions
,
Image
}
from
'antd'
;
import
{
useNavigate
}
from
'react-router-dom'
;
import
'./index.scss'
;
//需求详情返回类型
type
detailType
=
InterDataType
<
backDetailPublishType
>
;
const
GatherDetail
=
()
=>
{
const
navigate
=
useNavigate
();
const
[
searchParams
]
=
useSearchParams
();
const
[
publishDetails
,
setPublishDetails
]
=
useState
<
detailType
>
();
const
getPublishDetail
=
(
id
:
number
)
=>
{
ResourceManageAPI
.
getDetailPublish
({
id
}).
then
(({
result
})
=>
{
setPublishDetails
(
result
);
});
};
//返回
const
backRoute
=
()
=>
{
navigate
(
-
1
);
};
useEffect
(()
=>
{
getPublishDetail
(
Number
(
searchParams
.
get
(
'id'
)));
},
[]);
return
(
<
div
className=
'gather-detail'
>
<
Descriptions
title=
'需求信息'
bordered
extra=
{
<
Button
type=
'primary'
onClick=
{
backRoute
}
>
返回
</
Button
>
}
column=
{
4
}
labelStyle=
{
{
minWidth
:
'100px'
}
}
>
<
Descriptions
.
Item
label=
'需求类型'
>
{
publishDetails
?.
requirementTypeName
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'任务标题'
>
{
publishDetails
?.
taskTitle
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'任务结束时间'
>
{
publishDetails
?.
taskEndTime
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'任务开始时间'
>
{
publishDetails
?.
taskStartTime
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'任务地址'
>
{
publishDetails
?.
taskAddress
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'描述图片'
span=
{
3
}
>
<
Image
.
PreviewGroup
>
{
publishDetails
?.
requireUrl
?
JSON
.
parse
(
publishDetails
?.
requireUrl
).
map
((
url
:
string
,
index
:
number
)
=>
(
<
Image
src=
{
url
}
width=
{
50
}
height=
{
50
}
key=
{
index
}
rootClassName=
'gather-detail-img'
/>
))
:
''
}
</
Image
.
PreviewGroup
>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
'需求描述'
span=
{
4
}
>
{
publishDetails
?.
requireDescription
}
</
Descriptions
.
Item
>
</
Descriptions
>
</
div
>
);
};
export
default
GatherDetail
;
src/pages/resourceManage/requirementsGathering/index.scss
→
src/pages/resourceManage/requirementsGathering/
gatherList/
index.scss
浏览文件 @
1813a388
File moved
src/pages/resourceManage/requirementsGathering/index.tsx
→
src/pages/resourceManage/requirementsGathering/
gatherList/
index.tsx
浏览文件 @
1813a388
...
@@ -6,12 +6,15 @@ import { ResourceManageAPI } from '~/api';
...
@@ -6,12 +6,15 @@ import { ResourceManageAPI } from '~/api';
import
{
InterDataType
,
InterReqType
,
PaginationProps
}
from
'~/api/interface'
;
import
{
InterDataType
,
InterReqType
,
PaginationProps
}
from
'~/api/interface'
;
import
'./index.scss'
;
import
'./index.scss'
;
import
{
listPublishPageType
}
from
'~/api/interface/resourceManageType'
;
import
{
listPublishPageType
}
from
'~/api/interface/resourceManageType'
;
import
{
useNavigate
}
from
'react-router-dom'
;
//需求列表返回类型
//需求列表返回类型
type
requirementsType
=
InterDataType
<
listPublishPageType
>
[
'list'
];
type
requirementsType
=
InterDataType
<
listPublishPageType
>
[
'list'
];
type
requirementsParameter
=
Omit
<
InterReqType
<
listPublishPageType
>
,
'pageSize'
|
'pageNo'
>
;
type
requirementsParameter
=
Omit
<
InterReqType
<
listPublishPageType
>
,
'pageSize'
|
'pageNo'
>
;
const
RequirementsGathering
=
()
=>
{
const
RequirementsGathering
=
()
=>
{
const
navigate
=
useNavigate
();
const
[
searchColumnsData
,
setSearchColumnsData
]
=
useState
<
searchColumns
[]
>
([
const
[
searchColumnsData
,
setSearchColumnsData
]
=
useState
<
searchColumns
[]
>
([
{
{
label
:
'需求类型'
,
label
:
'需求类型'
,
...
@@ -63,7 +66,9 @@ const RequirementsGathering = () => {
...
@@ -63,7 +66,9 @@ const RequirementsGathering = () => {
<
Button
type=
'link'
danger
onClick=
{
()
=>
deleteRequirements
(
record
)
}
>
<
Button
type=
'link'
danger
onClick=
{
()
=>
deleteRequirements
(
record
)
}
>
强制删除
强制删除
</
Button
>
</
Button
>
<
Button
type=
'link'
>
联系客户
</
Button
>
<
Button
type=
'link'
onClick=
{
()
=>
toGatherDetail
(
record
)
}
>
详情
</
Button
>
</>
</>
),
),
},
},
...
@@ -129,6 +134,11 @@ const RequirementsGathering = () => {
...
@@ -129,6 +134,11 @@ const RequirementsGathering = () => {
},
},
});
});
};
};
//跳转需求详情
const
toGatherDetail
=
(
record
:
requirementsType
[
0
])
=>
{
navigate
({
pathname
:
'/resourceManage/gatherDetail'
,
search
:
`id=
${
record
.
id
}
`
});
};
useEffect
(()
=>
{
useEffect
(()
=>
{
getRequirementsList
();
getRequirementsList
();
getRequirementsTypeList
();
getRequirementsTypeList
();
...
...
src/router/router.tsx
浏览文件 @
1813a388
...
@@ -56,12 +56,23 @@ import LoginView from '~/pages/common/login';
...
@@ -56,12 +56,23 @@ import LoginView from '~/pages/common/login';
import
CustomListView
from
'~/pages/customManage/customList'
;
import
CustomListView
from
'~/pages/customManage/customList'
;
import
CustomMoneyView
from
'~/pages/customManage/customMoney'
;
import
CustomMoneyView
from
'~/pages/customManage/customMoney'
;
import
CustomMoneyDetail
from
'~/pages/customManage/customMoney/detail'
;
import
CustomMoneyDetail
from
'~/pages/customManage/customMoney/detail'
;
const
CustomVerificationView
=
React
.
lazy
(
()
=>
import
(
'~/pages/customManage/customVerification/list'
),
);
//实名认证
const
CustomVerificationDetailView
=
React
.
lazy
(
()
=>
import
(
'~/pages/customManage/customVerification/details'
),
);
//资源管理
//资源管理
import
MaterielManageView
from
'~/pages/resourceManage/materielManage'
;
import
MaterielManageView
from
'~/pages/resourceManage/materielManage'
;
import
MaterielManageDetail
from
'~/pages/resourceManage/materielManage/detail'
;
import
MaterielManageDetail
from
'~/pages/resourceManage/materielManage/detail'
;
const
RequirementsGatheringView
=
React
.
lazy
(
const
GatheringListView
=
React
.
lazy
(
()
=>
import
(
'~/pages/resourceManage/requirementsGathering'
),
()
=>
import
(
'~/pages/resourceManage/requirementsGathering/gatherList'
),
);
//需求收集
);
//需求收集列表
const
GatherDetailView
=
React
.
lazy
(
()
=>
import
(
'~/pages/resourceManage/requirementsGathering/gatherDetail'
),
);
const
TagManageView
=
React
.
lazy
(()
=>
import
(
'~/pages/resourceManage/tagManage'
));
//标签管理
const
TagManageView
=
React
.
lazy
(()
=>
import
(
'~/pages/resourceManage/tagManage'
));
//标签管理
const
IndustryNewsView
=
React
.
lazy
(()
=>
import
(
'~/pages/resourceManage/industryNews'
));
const
IndustryNewsView
=
React
.
lazy
(()
=>
import
(
'~/pages/resourceManage/industryNews'
));
//论坛管理
//论坛管理
...
@@ -100,20 +111,29 @@ const ProduceDetailView = React.lazy(
...
@@ -100,20 +111,29 @@ const ProduceDetailView = React.lazy(
);
//产品详情
);
//产品详情
const
MakeListView
=
React
.
lazy
(()
=>
import
(
'~/pages/mallManage/makeManage/makeList'
));
const
MakeListView
=
React
.
lazy
(()
=>
import
(
'~/pages/mallManage/makeManage/makeList'
));
// 分类管理
// 分类管理
const
CategoryListView
=
React
.
lazy
(()
=>
import
(
'~/pages/categoryManage/categoryList'
));
const
MallCategoryListView
=
React
.
lazy
(()
=>
import
(
'~/pages/categoryManage/mallCategoryList'
));
//商城分类
const
ServiceCategoryListView
=
React
.
lazy
(
()
=>
import
(
'~/pages/categoryManage/serviceCategoryList'
),
);
//服务分类
const
CategoryManage
=
React
.
lazy
(()
=>
import
(
'~/pages/categoryManage/category'
));
const
CategoryManage
=
React
.
lazy
(()
=>
import
(
'~/pages/categoryManage/category'
));
const
CategoryDetail
=
React
.
lazy
(()
=>
import
(
'~/pages/categoryManage/category/detail'
));
const
CategoryDetail
=
React
.
lazy
(()
=>
import
(
'~/pages/categoryManage/category/detail'
));
// 目录管理
// 目录管理
const
DirectoryManage
=
React
.
lazy
(()
=>
import
(
'~/pages/categoryManage/directoryManage'
));
const
DirectoryManage
=
React
.
lazy
(()
=>
import
(
'~/pages/categoryManage/directoryManage'
));
//
飞手
培训
//
执照
培训
const
InstitutionsListView
=
React
.
lazy
(
const
InstitutionsListView
=
React
.
lazy
(
()
=>
import
(
'~/pages/pilotTraining/ licensureExamination/institutionsList'
),
()
=>
import
(
'~/pages/pilotTraining/ licensureExamination/institutionsList'
),
);
);
//机构列表
//机构上传
const
AddInstitutionsView
=
React
.
lazy
(
const
AddInstitutionsView
=
React
.
lazy
(
()
=>
import
(
'~/pages/pilotTraining/ licensureExamination/addOrEditInstitution'
),
()
=>
import
(
'~/pages/pilotTraining/ licensureExamination/addOrEditInstitution'
),
);
);
//机构上传
//飞手中心
const
FlyerListView
=
React
.
lazy
(()
=>
import
(
'~/pages/flyerCenter/flyerManage/flyerList'
));
//飞手列表
const
FlyerAuthDailyView
=
React
.
lazy
(
()
=>
import
(
'~/pages/flyerCenter/flyerManage/flyerAuthDaily'
),
);
//飞手认证日志;
const
FlyerDetailsView
=
React
.
lazy
(()
=>
import
(
'~/pages/flyerCenter/flyerManage/flyerDetail'
));
//飞手详情、飞手审批
// 系统管理
// 系统管理
import
AccountManageView
from
'~/pages/systemManage/accountManage'
;
import
AccountManageView
from
'~/pages/systemManage/accountManage'
;
...
@@ -128,7 +148,7 @@ const CompanyDetailView = React.lazy(
...
@@ -128,7 +148,7 @@ const CompanyDetailView = React.lazy(
);
);
import
AccountLimit
from
'~/pages/systemManage/limitManage/roleList'
;
//账号权限
import
AccountLimit
from
'~/pages/systemManage/limitManage/roleList'
;
//账号权限
import
LimitInfo
from
'~/pages/systemManage/limitManage/limitInfo'
;
import
LimitInfo
from
'~/pages/systemManage/limitManage/limitInfo'
;
import
CustomListDetail
from
'~/pages/customManage/customList/detail'
;
//权限信息
import
CustomListDetail
from
'~/pages/customManage/customList/detail'
;
// const IndustryListView = React.lazy(() => import('~/pages/mallManage/industryManage/industryList')); //行业列表
// const IndustryListView = React.lazy(() => import('~/pages/mallManage/industryManage/industryList')); //行业列表
// const IndustryDetailView = React.lazy(
// const IndustryDetailView = React.lazy(
...
@@ -206,6 +226,27 @@ export const routerList: Array<RouteObjectType> = [
...
@@ -206,6 +226,27 @@ export const routerList: Array<RouteObjectType> = [
},
},
},
},
{
{
path
:
'/customManage/customVerification'
,
element
:
withLoadingComponent
(<
CustomVerificationView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
260
,
title
:
'实名认证'
,
icon
:
<
SolutionOutlined
/>,
},
},
{
path
:
'/customManage/customVerificationDetail'
,
element
:
withLoadingComponent
(<
CustomVerificationDetailView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
250
,
title
:
'实名认证详情'
,
hidden
:
true
,
icon
:
<
SolutionOutlined
/>,
},
},
{
path
:
'/customManage/customList/detail'
,
path
:
'/customManage/customList/detail'
,
element
:
withLoadingComponent
(<
CustomListDetail
/>),
element
:
withLoadingComponent
(<
CustomListDetail
/>),
errorElement
:
<
ErrorPage
/>,
errorElement
:
<
ErrorPage
/>,
...
@@ -251,6 +292,61 @@ export const routerList: Array<RouteObjectType> = [
...
@@ -251,6 +292,61 @@ export const routerList: Array<RouteObjectType> = [
],
],
},
},
{
{
path
:
'/flyerCenter'
,
element
:
<
LayoutView
/>,
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
1800
,
icon
:
<
UserOutlined
/>,
title
:
'飞手中心'
,
},
children
:
[
{
path
:
'/flyerCenter/flyerList'
,
element
:
withLoadingComponent
(<
FlyerListView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
1810
,
title
:
'飞手管理'
,
icon
:
<
UserOutlined
/>,
},
},
{
path
:
'/flyerCenter/flyerAuthDaily'
,
element
:
withLoadingComponent
(<
FlyerAuthDailyView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
1815
,
title
:
'认证日志'
,
hidden
:
true
,
icon
:
<
UserOutlined
/>,
},
},
{
path
:
'/flyerCenter/flyerDetail'
,
element
:
withLoadingComponent
(<
FlyerDetailsView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
1816
,
title
:
'飞手详情'
,
hidden
:
true
,
icon
:
<
UserOutlined
/>,
},
},
{
path
:
'/flyerCenter/flyerApprove'
,
element
:
withLoadingComponent
(<
FlyerDetailsView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
1817
,
title
:
'飞手审批'
,
hidden
:
true
,
icon
:
<
UserOutlined
/>,
},
},
],
},
{
path
:
'/resourceManage'
,
path
:
'/resourceManage'
,
element
:
<
LayoutView
/>,
element
:
<
LayoutView
/>,
errorElement
:
<
ErrorPage
/>,
errorElement
:
<
ErrorPage
/>,
...
@@ -262,7 +358,7 @@ export const routerList: Array<RouteObjectType> = [
...
@@ -262,7 +358,7 @@ export const routerList: Array<RouteObjectType> = [
children
:
[
children
:
[
{
{
path
:
'/resourceManage/requirementsGathering'
,
path
:
'/resourceManage/requirementsGathering'
,
element
:
withLoadingComponent
(<
RequirementsGathering
View
/>),
element
:
withLoadingComponent
(<
GatheringList
View
/>),
errorElement
:
<
ErrorPage
/>,
errorElement
:
<
ErrorPage
/>,
meta
:
{
meta
:
{
id
:
410
,
id
:
410
,
...
@@ -271,6 +367,17 @@ export const routerList: Array<RouteObjectType> = [
...
@@ -271,6 +367,17 @@ export const routerList: Array<RouteObjectType> = [
},
},
},
},
{
{
path
:
'/resourceManage/gatherDetail'
,
element
:
withLoadingComponent
(<
GatherDetailView
/>),
errorElement
:
<
ErrorPage
/>,
meta
:
{
id
:
415
,
title
:
'需求详情'
,
hidden
:
true
,
icon
:
<
MonitorOutlined
/>,
},
},
{
path
:
'/resourceManage/materielManage'
,
path
:
'/resourceManage/materielManage'
,
element
:
withLoadingComponent
(<
MaterielManageView
/>),
element
:
withLoadingComponent
(<
MaterielManageView
/>),
errorElement
:
<
ErrorPage
/>,
errorElement
:
<
ErrorPage
/>,
...
@@ -662,6 +769,17 @@ export const routerList: Array<RouteObjectType> = [
...
@@ -662,6 +769,17 @@ export const routerList: Array<RouteObjectType> = [
icon
:
<
SendOutlined
/>,
icon
:
<
SendOutlined
/>,
},
},
},
},
// 作业服务分类(新)
// {
// path: '/categoryManage/serviceCategoryList',
// element: withLoadingComponent(<ServiceCategoryListView />),
// errorElement: <ErrorPage />,
// meta: {
// id: 1210,
// title: '作业服务分类',
// icon: <SendOutlined />,
// },
// },
{
{
path
:
'/categoryManage/jobServicesCategory/2'
,
path
:
'/categoryManage/jobServicesCategory/2'
,
element
:
withLoadingComponent
(<
CategoryManage
/>),
element
:
withLoadingComponent
(<
CategoryManage
/>),
...
@@ -682,9 +800,10 @@ export const routerList: Array<RouteObjectType> = [
...
@@ -682,9 +800,10 @@ export const routerList: Array<RouteObjectType> = [
icon
:
<
AppstoreAddOutlined
/>,
icon
:
<
AppstoreAddOutlined
/>,
},
},
},
},
// 产品商城分类(新)
{
{
path
:
'/categoryManage/
c
ategoryList'
,
path
:
'/categoryManage/
mallC
ategoryList'
,
element
:
withLoadingComponent
(<
CategoryListView
/>),
element
:
withLoadingComponent
(<
Mall
CategoryListView
/>),
errorElement
:
<
ErrorPage
/>,
errorElement
:
<
ErrorPage
/>,
meta
:
{
meta
:
{
id
:
1240
,
id
:
1240
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论