Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-platform
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
shenshaokai
jinfa-platform
Commits
31d64090
Commit
31d64090
authored
Nov 04, 2020
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
基本完成售后维护相关静态
parent
802a503f
Hide whitespace changes
Inline
Side-by-side
Showing
70 changed files
with
2828 additions
and
110 deletions
+2828
-110
index.ts
config/routes/afterServiceRoute/index.ts
+2
-2
repairHandleRoute.ts
config/routes/afterServiceRoute/repairHandleRoute.ts
+0
-44
repairManageRoute.ts
config/routes/afterServiceRoute/repairManageRoute.ts
+121
-0
repairRoute.ts
config/routes/afterServiceRoute/repairRoute.ts
+18
-1
menu.ts
src/locales/zh-CN/menu.ts
+18
-6
index.less
src/pages/afterService/components/AddressInfo/index.less
+0
-0
index.tsx
src/pages/afterService/components/AddressInfo/index.tsx
+0
-0
index.less
src/pages/afterService/components/FileList/index.less
+0
-0
index.tsx
src/pages/afterService/components/FileList/index.tsx
+0
-0
index.less
src/pages/afterService/components/IntroduceRow/index.less
+0
-0
index.tsx
src/pages/afterService/components/IntroduceRow/index.tsx
+35
-0
index.less
...pages/afterService/components/OuterCirculation/index.less
+0
-0
index.tsx
src/pages/afterService/components/OuterCirculation/index.tsx
+0
-3
index.less
...afterService/components/OuterCirculationRecord/index.less
+0
-0
index.tsx
.../afterService/components/OuterCirculationRecord/index.tsx
+0
-3
index.less
src/pages/afterService/components/ProductList/index.less
+0
-0
index.tsx
src/pages/afterService/components/ProductList/index.tsx
+0
-3
index.less
src/pages/afterService/components/Score/index.less
+0
-0
index.tsx
src/pages/afterService/components/Score/index.tsx
+0
-0
index.less
src/pages/afterService/components/VerifyModal/index.less
+0
-0
index.tsx
src/pages/afterService/components/VerifyModal/index.tsx
+66
-0
index.ts
...pages/afterService/components/VerifyModal/schema/index.ts
+43
-0
index.tsx
...Service/repairApplication/components/DetailInfo/index.tsx
+38
-48
index.less
...ice/repairApplication/components/FinishedModal/index.less
+0
-0
index.tsx
...vice/repairApplication/components/FinishedModal/index.tsx
+62
-0
index.ts
...epairApplication/components/FinishedModal/schema/index.ts
+47
-0
detail.less
...terService/repairApplication/repairPrFinished/detail.less
+0
-0
detail.tsx
...fterService/repairApplication/repairPrFinished/detail.tsx
+17
-0
index.less
...fterService/repairApplication/repairPrFinished/index.less
+0
-0
index.tsx
...afterService/repairApplication/repairPrFinished/index.tsx
+209
-0
index.ts
...ervice/repairApplication/repairPrFinished/schema/index.ts
+76
-0
verify.less
...terService/repairApplication/repairPrFinished/verify.less
+0
-0
verify.tsx
...fterService/repairApplication/repairPrFinished/verify.tsx
+54
-0
index.less
...fterService/repairManage/components/DetailInfo/index.less
+0
-0
index.tsx
...afterService/repairManage/components/DetailInfo/index.tsx
+185
-0
index.less
...terService/repairManage/components/FlowRecords/index.less
+0
-0
index.tsx
...fterService/repairManage/components/FlowRecords/index.tsx
+169
-0
detail.less
src/pages/afterService/repairManage/repairPr1/detail.less
+0
-0
detail.tsx
src/pages/afterService/repairManage/repairPr1/detail.tsx
+17
-0
index.less
src/pages/afterService/repairManage/repairPr1/index.less
+0
-0
index.tsx
src/pages/afterService/repairManage/repairPr1/index.tsx
+196
-0
index.ts
...pages/afterService/repairManage/repairPr1/schema/index.ts
+77
-0
verify.less
src/pages/afterService/repairManage/repairPr1/verify.less
+0
-0
verify.tsx
src/pages/afterService/repairManage/repairPr1/verify.tsx
+54
-0
detail.less
src/pages/afterService/repairManage/repairPr2/detail.less
+0
-0
detail.tsx
src/pages/afterService/repairManage/repairPr2/detail.tsx
+17
-0
index.less
src/pages/afterService/repairManage/repairPr2/index.less
+0
-0
index.tsx
src/pages/afterService/repairManage/repairPr2/index.tsx
+196
-0
index.ts
...pages/afterService/repairManage/repairPr2/schema/index.ts
+77
-0
verify.less
src/pages/afterService/repairManage/repairPr2/verify.less
+0
-0
verify.tsx
src/pages/afterService/repairManage/repairPr2/verify.tsx
+54
-0
detail.less
...ges/afterService/repairManage/repairPrConfirm/detail.less
+0
-0
detail.tsx
...ages/afterService/repairManage/repairPrConfirm/detail.tsx
+17
-0
index.less
...ages/afterService/repairManage/repairPrConfirm/index.less
+0
-0
index.tsx
...pages/afterService/repairManage/repairPrConfirm/index.tsx
+196
-0
index.ts
...afterService/repairManage/repairPrConfirm/schema/index.ts
+77
-0
verify.less
...ges/afterService/repairManage/repairPrConfirm/verify.less
+0
-0
verify.tsx
...ages/afterService/repairManage/repairPrConfirm/verify.tsx
+54
-0
detail.less
...ages/afterService/repairManage/repairPrSubmit/detail.less
+0
-0
detail.tsx
...pages/afterService/repairManage/repairPrSubmit/detail.tsx
+17
-0
index.less
...pages/afterService/repairManage/repairPrSubmit/index.less
+0
-0
index.tsx
src/pages/afterService/repairManage/repairPrSubmit/index.tsx
+196
-0
index.ts
.../afterService/repairManage/repairPrSubmit/schema/index.ts
+77
-0
verify.less
...ages/afterService/repairManage/repairPrSubmit/verify.less
+0
-0
verify.tsx
...pages/afterService/repairManage/repairPrSubmit/verify.tsx
+54
-0
detail.less
src/pages/afterService/repairManage/repairQuery/detail.less
+0
-0
detail.tsx
src/pages/afterService/repairManage/repairQuery/detail.tsx
+17
-0
index.less
src/pages/afterService/repairManage/repairQuery/index.less
+0
-0
index.tsx
src/pages/afterService/repairManage/repairQuery/index.tsx
+180
-0
index.ts
...ges/afterService/repairManage/repairQuery/schema/index.ts
+95
-0
No files found.
config/routes/afterServiceRoute/index.ts
View file @
31d64090
...
...
@@ -11,7 +11,7 @@ import ExchangeHandleRoute from './exchangeHandleRoute'
import
ReturnedRoute
from
'./returnedRoute'
import
ReturnedHandleRoute
from
'./returnHandleRoute'
import
RepairRoute
from
'./repairRoute'
import
Repair
HandleRoute
from
'./repairHandl
eRoute'
import
Repair
ManageRoute
from
'./repairManag
eRoute'
const
AfterServiceRoute
=
{
path
:
'/memberCenter/afterService'
,
...
...
@@ -23,7 +23,7 @@ const AfterServiceRoute = {
ReturnedRoute
,
ReturnedHandleRoute
,
RepairRoute
,
Repair
HandleRoute
Repair
ManageRoute
,
]
}
...
...
config/routes/afterServiceRoute/repairHandleRoute.ts
deleted
100644 → 0
View file @
802a503f
/*
* 维修处理路由
* @Author: ghua
* @Date: 2020-10-29 11:18:10
* @Last Modified by: ghua
* @Last Modified time: 2020-10-29 11:18:10
*/
import
{
RouterChild
}
from
'../../utils/index'
;
const
route
:
RouterChild
=
{
// 维修处理
path
:
'/memberCenter/afterService/handleRepair'
,
name
:
'handleRepair'
,
routes
:
[
{
// 维修申请单查询
path
:
'/memberCenter/afterService/handleRepair/orderList'
,
name
:
'orderList'
,
},
{
// 待提交审核维修申请单
path
:
'/memberCenter/afterService/handleRepair/waitSubmitExamineOrder'
,
name
:
'waitSubmitExamineOrder'
,
},
{
// 待审核维修申请单(一级)
path
:
'/memberCenter/afterService/handleRepair/waitExamineLevelOne'
,
name
:
'waitExamineLevelOne'
,
},
{
// 待审核维修申请单(二级)
path
:
'/memberCenter/afterService/handleRepair/waitExamineLevelTwo'
,
name
:
'waitExamineLevelTwo'
,
},
{
// 待确认维修申请单
path
:
'/memberCenter/afterService/handleRepair/waitConfirmOrder'
,
name
:
'waitConfirmOrder'
,
},
]
}
export
default
route
;
\ No newline at end of file
config/routes/afterServiceRoute/repairManageRoute.ts
0 → 100644
View file @
31d64090
/*
* 维修处理路由
* @Author: ghua
* @Date: 2020-10-29 11:18:10
* @Last Modified by: ghua
* @Last Modified time: 2020-10-29 11:18:10
*/
import
{
RouterChild
}
from
'../../utils/index'
;
// 维修处理
const
route
:
RouterChild
=
{
path
:
'/memberCenter/afterService/repairManage'
,
name
:
'repairManage'
,
routes
:
[
// 维修申请单查询
{
path
:
'/memberCenter/afterService/repairManage/repairQuery'
,
name
:
'repairQuery'
,
component
:
'@/pages/afterService/repairManage/repairQuery/index'
,
},
// 维修申请单查询-详情
{
path
:
'/memberCenter/afterService/repairManage/repairQuery/detail'
,
name
:
'repairQueryDetail'
,
component
:
'@/pages/afterService/repairManage/repairQuery/detail'
,
hideInMenu
:
true
,
noMargin
:
true
,
},
// 待提交审核维修申请单
{
path
:
'/memberCenter/afterService/repairManage/repairPrSubmit'
,
name
:
'repairPrSubmit'
,
component
:
'@/pages/afterService/repairManage/repairPrSubmit/index'
,
},
// 待提交审核维修申请单-详情
{
path
:
'/memberCenter/afterService/repairManage/repairPrSubmit/detail'
,
name
:
'repairPrSubmitDetail'
,
component
:
'@/pages/afterService/repairManage/repairPrSubmit/detail'
,
hideInMenu
:
true
,
noMargin
:
true
,
},
// 待提交审核维修申请单-审核
{
path
:
'/memberCenter/afterService/repairManage/repairPrSubmit/verify'
,
name
:
'verifyRepairPrSubmit'
,
component
:
'@/pages/afterService/repairManage/repairPrSubmit/verify'
,
hideInMenu
:
true
,
noMargin
:
true
,
},
// 待审核维修申请单(一级)
{
path
:
'/memberCenter/afterService/repairManage/repairPr1'
,
name
:
'repairPr1'
,
component
:
'@/pages/afterService/repairManage/repairPr1/index'
,
},
// 待审核维修申请单(一级)-详情
{
path
:
'/memberCenter/afterService/repairManage/repairPr1/detail'
,
name
:
'repairPr1Detail'
,
component
:
'@/pages/afterService/repairManage/repairPr1/detail'
,
hideInMenu
:
true
,
noMargin
:
true
,
},
// 待审核维修申请单(一级)-审核
{
path
:
'/memberCenter/afterService/repairManage/repairPr1/verify'
,
name
:
'verifyRepairPr1'
,
component
:
'@/pages/afterService/repairManage/repairPr1/verify'
,
hideInMenu
:
true
,
noMargin
:
true
,
},
// 待审核维修申请单(二级)
{
path
:
'/memberCenter/afterService/repairManage/repairPr2'
,
name
:
'repairPr2'
,
component
:
'@/pages/afterService/repairManage/repairPr2/index'
,
},
// 待审核维修申请单(二级)-详情
{
path
:
'/memberCenter/afterService/repairManage/repairPr2/detail'
,
name
:
'repairPr2Detail'
,
component
:
'@/pages/afterService/repairManage/repairPr2/detail'
,
hideInMenu
:
true
,
noMargin
:
true
,
},
// 待审核维修申请单(二级)-审核
{
path
:
'/memberCenter/afterService/repairManage/repairPr2/verify'
,
name
:
'verifyRepairPr2'
,
component
:
'@/pages/afterService/repairManage/repairPr2/verify'
,
hideInMenu
:
true
,
noMargin
:
true
,
},
// 待确认维修申请单
{
path
:
'/memberCenter/afterService/repairManage/repairPrConfirm'
,
name
:
'repairPrConfirm'
,
component
:
'@/pages/afterService/repairManage/repairPrConfirm/index'
,
},
// 待确认维修申请单-详情
{
path
:
'/memberCenter/afterService/repairManage/repairPrConfirm/detail'
,
name
:
'repairPrConfirmDetail'
,
component
:
'@/pages/afterService/repairManage/repairPrConfirm/detail'
,
hideInMenu
:
true
,
noMargin
:
true
,
},
// 待确认维修申请单-审核
{
path
:
'/memberCenter/afterService/repairManage/repairPrConfirm/verify'
,
name
:
'verifyRepairPrConfirm'
,
component
:
'@/pages/afterService/repairManage/repairPrConfirm/verify'
,
hideInMenu
:
true
,
noMargin
:
true
,
},
]
}
export
default
route
;
\ No newline at end of file
config/routes/afterServiceRoute/repairRoute.ts
View file @
31d64090
...
...
@@ -50,7 +50,24 @@ const route: RouterChild = {
// 待确认售后完成
{
path
:
'/memberCenter/afterService/repairApplication/repairPrFinished'
,
name
:
'repairPrFinished'
,
name
:
'repairPrFinished'
,
component
:
'@/pages/afterService/repairApplication/repairPrFinished/index'
,
},
// 待确认售后完成-详情
{
path
:
'/memberCenter/afterService/repairApplication/repairPrFinished/detail'
,
name
:
'repairPrFinishedDetail'
,
component
:
'@/pages/afterService/repairApplication/repairPrFinished/detail'
,
hideInMenu
:
true
,
noMargin
:
true
,
},
// 待确认售后完成-审核
{
path
:
'/memberCenter/afterService/repairApplication/repairPrFinished/verify'
,
name
:
'verifyRepairPrFinished'
,
component
:
'@/pages/afterService/repairApplication/repairPrFinished/verify'
,
hideInMenu
:
true
,
noMargin
:
true
,
},
]
}
...
...
src/locales/zh-CN/menu.ts
View file @
31d64090
...
...
@@ -533,13 +533,25 @@ export default {
'menu.afterService.repairApplication.repairPrSubmitDetail'
:
'查看维修申请单'
,
'menu.afterService.repairApplication.addRepair'
:
'新建维修申请单'
,
'menu.afterService.repairApplication.repairPrFinished'
:
'待确认售后完成'
,
'menu.afterService.repairApplication.repairPrFinishedDetail'
:
'查看维修申请单'
,
'menu.afterService.repairApplication.verifyRepairPrFinished'
:
'确认售后完成'
,
'menu.afterService.handleRepair'
:
'维修处理'
,
'menu.afterService.handleRepair.orderList'
:
'维修申请单查询'
,
'menu.afterService.handleRepair.waitSubmitExamineOrder'
:
'待提交审核维修申请单'
,
'menu.afterService.handleRepair.waitExamineLevelOne'
:
'待审核维修申请单(一级)'
,
'menu.afterService.handleRepair.waitExamineLevelTwo'
:
'待审核维修申请单(二级)'
,
'menu.afterService.handleRepair.waitConfirmOrder'
:
'待确认维修申请单'
,
'menu.afterService.repairManage'
:
'维修处理'
,
'menu.afterService.repairManage.repairQuery'
:
'维修申请单查询'
,
'menu.afterService.repairManage.repairQueryDetail'
:
'查看维修申请单'
,
'menu.afterService.repairManage.repairPrSubmit'
:
'待提交审核维修申请单'
,
'menu.afterService.repairManage.repairPrSubmitDetail'
:
'查看维修申请单'
,
'menu.afterService.repairManage.verifyRepairPrSubmit'
:
'审核维修申请单'
,
'menu.afterService.repairManage.repairPr1'
:
'待审核维修申请单(一级)'
,
'menu.afterService.repairManage.repairPr1Detail'
:
'查看维修申请单'
,
'menu.afterService.repairManage.verifyRepairPr1'
:
'审核维修申请单'
,
'menu.afterService.repairManage.repairPr2'
:
'待审核维修申请单(二级)'
,
'menu.afterService.repairManage.repairPr2Detail'
:
'查看维修申请单'
,
'menu.afterService.repairManage.verifyRepairPr2'
:
'审核维修申请单'
,
'menu.afterService.repairManage.repairPrConfirm'
:
'待确认维修申请单'
,
'menu.afterService.repairManage.repairPrConfirmDetail'
:
'查看维修申请单'
,
'menu.afterService.repairManage.verifyRepairPrConfirm'
:
'审核维修申请单'
,
// 结算能力
'menu.balance'
:
'结算'
,
'menu.balance.settleRules'
:
'结算规则配置'
,
...
...
src/pages/afterService/
repairApplication/
components/AddressInfo/index.less
→
src/pages/afterService/components/AddressInfo/index.less
View file @
31d64090
File moved
src/pages/afterService/
repairApplication/
components/AddressInfo/index.tsx
→
src/pages/afterService/components/AddressInfo/index.tsx
View file @
31d64090
File moved
src/pages/afterService/
repairApplication/
components/FileList/index.less
→
src/pages/afterService/components/FileList/index.less
View file @
31d64090
File moved
src/pages/afterService/
repairApplication/
components/FileList/index.tsx
→
src/pages/afterService/components/FileList/index.tsx
View file @
31d64090
File moved
src/pages/afterService/
repairApplication/components/OuterCirculation
/index.less
→
src/pages/afterService/
components/IntroduceRow
/index.less
View file @
31d64090
File moved
src/pages/afterService/components/IntroduceRow/index.tsx
0 → 100644
View file @
31d64090
import
React
,
{
Suspense
}
from
'react'
;
import
{
Row
,
Col
}
from
'antd'
;
const
FileList
=
React
.
lazy
(()
=>
import
(
'../FileList'
));
const
AddressInfo
=
React
.
lazy
(()
=>
import
(
'../AddressInfo'
));
const
Score
=
React
.
lazy
(()
=>
import
(
'../Score'
));
const
IntroduceRow
:
React
.
FC
=
()
=>
{
return
(
<
Row
gutter=
{
24
}
>
<
Col
span=
{
6
}
>
<
Suspense
fallback=
{
null
}
>
<
FileList
/>
</
Suspense
>
</
Col
>
<
Col
span=
{
12
}
>
<
Suspense
fallback=
{
null
}
>
<
AddressInfo
/>
</
Suspense
>
</
Col
>
<
Col
span=
{
6
}
>
<
Suspense
fallback=
{
null
}
>
<
Score
/>
</
Suspense
>
</
Col
>
</
Row
>
);
};
export
default
IntroduceRow
;
\ No newline at end of file
src/pages/afterService/
repairApplication/components/OuterCirculationRecord
/index.less
→
src/pages/afterService/
components/OuterCirculation
/index.less
View file @
31d64090
File moved
src/pages/afterService/
repairApplication/
components/OuterCirculation/index.tsx
→
src/pages/afterService/components/OuterCirculation/index.tsx
View file @
31d64090
...
...
@@ -30,9 +30,6 @@ const OuterCirculation: React.FC<OuterCirculation> = ({
return
(
<
MellowCard
title=
"外部流转"
style=
{
{
marginBottom
:
24
,
}
}
>
{
(
steps
&&
steps
.
length
>
0
)
?
(
<
Steps
style=
{
{
marginTop
:
30
}
}
progressDot
current=
{
current
}
>
...
...
src/pages/afterService/
repairApplication/components/ProductList
/index.less
→
src/pages/afterService/
components/OuterCirculationRecord
/index.less
View file @
31d64090
File moved
src/pages/afterService/
repairApplication/
components/OuterCirculationRecord/index.tsx
→
src/pages/afterService/components/OuterCirculationRecord/index.tsx
View file @
31d64090
...
...
@@ -75,9 +75,6 @@ const OuterCirculationRecord: React.FC<OuterCirculationRecordProps> = ({
return
(
<
MellowCard
title=
"外部流转记录"
style=
{
{
marginBottom
:
24
,
}
}
>
<
PolymericTable
rowKey=
"operateTime"
...
...
src/pages/afterService/
repairApplication/components/Score
/index.less
→
src/pages/afterService/
components/ProductList
/index.less
View file @
31d64090
File moved
src/pages/afterService/
repairApplication/
components/ProductList/index.tsx
→
src/pages/afterService/components/ProductList/index.tsx
View file @
31d64090
...
...
@@ -85,9 +85,6 @@ const ProductList: React.FC<HistoryListHistoryListProps> = ({
return
(
<
MellowCard
title=
"维修商品"
style=
{
{
marginBottom
:
24
,
}
}
>
<
PolymericTable
rowKey=
"id"
...
...
src/pages/afterService/components/Score/index.less
0 → 100644
View file @
31d64090
src/pages/afterService/
repairApplication/
components/Score/index.tsx
→
src/pages/afterService/components/Score/index.tsx
View file @
31d64090
File moved
src/pages/afterService/components/VerifyModal/index.less
0 → 100644
View file @
31d64090
src/pages/afterService/components/VerifyModal/index.tsx
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-10-28 17:29:14
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-10-28 17:38:06
* @Description: 提交审核 Modal
*/
import
React
from
'react'
;
import
{
Modal
}
from
'antd'
;
import
{
createFormActions
,
FormEffectHooks
,
FormPath
}
from
'@formily/antd'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
auditModalSchema
}
from
'./schema'
;
const
modalFormActions
=
createFormActions
();
const
{
onFieldValueChange$
,
onFieldInputChange$
,
}
=
FormEffectHooks
;
interface
VerifyModalProps
{
visible
:
boolean
;
confirmLoading
:
boolean
;
onSubmit
:
(
values
:
{
agree
:
0
|
1
,
reason
:
string
})
=>
void
;
onVisible
:
(
flag
:
boolean
)
=>
void
;
};
const
VerifyModal
:
React
.
FC
<
VerifyModalProps
>
=
({
visible
,
confirmLoading
,
onSubmit
,
onVisible
,
})
=>
{
const
handleSubmit
=
values
=>
{
if
(
onSubmit
)
{
onSubmit
(
values
);
}
};
return
(
<
Modal
title=
"提交审核"
visible=
{
visible
}
confirmLoading=
{
confirmLoading
}
onOk=
{
()
=>
modalFormActions
.
submit
()
}
onCancel=
{
()
=>
onVisible
(
false
)
}
destroyOnClose
>
<
NiceForm
effects=
{
(
$
,
{
setFieldState
})
=>
{
onFieldValueChange$
(
'agree'
).
subscribe
(
fieldState
=>
{
setFieldState
(
'reason'
,
state
=>
{
state
.
visible
=
!
fieldState
.
value
;
});
});
}
}
actions=
{
modalFormActions
}
schema=
{
auditModalSchema
}
onSubmit=
{
handleSubmit
}
/>
</
Modal
>
);
};
export
default
VerifyModal
;
\ No newline at end of file
src/pages/afterService/components/VerifyModal/schema/index.ts
0 → 100644
View file @
31d64090
import
{
ISchema
}
from
'@formily/antd'
;
export
const
auditModalSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
MEGA_LAYOUT
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
labelAlign
:
'top'
,
},
properties
:
{
agree
:
{
type
:
'string'
,
default
:
1
,
enum
:
[
{
label
:
'审核通过'
,
value
:
1
},
{
label
:
'审核不通过'
,
value
:
0
},
],
'x-component'
:
'radio'
,
'x-component-props'
:
{},
},
reason
:
{
type
:
'string'
,
title
:
'审核不通过原因'
,
'x-component'
:
'textarea'
,
required
:
true
,
'x-component-props'
:
{
placeholder
:
'在此输入你的内容,最长120个字符,60个汉字'
,
rows
:
5
,
},
'x-rules'
:
[
{
limitByte
:
true
,
// 自定义校验规则
maxByte
:
120
,
}
],
},
},
},
},
};
\ No newline at end of file
src/pages/afterService/repairApplication/components/DetailInfo/index.tsx
View file @
31d64090
...
...
@@ -21,12 +21,10 @@ import AvatarWrap from '@/components/AvatarWrap';
import
StatusTag
from
'@/components/StatusTag'
;
import
{
}
from
'../../../constants'
;
const
OuterCirculation
=
React
.
lazy
(()
=>
import
(
'../OuterCirculation'
));
const
ProductList
=
React
.
lazy
(()
=>
import
(
'../ProductList'
));
const
FileList
=
React
.
lazy
(()
=>
import
(
'../FileList'
));
const
AddressInfo
=
React
.
lazy
(()
=>
import
(
'../AddressInfo'
));
const
Score
=
React
.
lazy
(()
=>
import
(
'../Score'
));
const
OuterCirculationRecord
=
React
.
lazy
(()
=>
import
(
'../OuterCirculationRecord'
));
const
OuterCirculation
=
React
.
lazy
(()
=>
import
(
'../../../components/OuterCirculation'
));
const
ProductList
=
React
.
lazy
(()
=>
import
(
'../../../components/ProductList'
));
const
IntroduceRow
=
React
.
lazy
(()
=>
import
(
'../../../components/IntroduceRow'
));
const
OuterCirculationRecord
=
React
.
lazy
(()
=>
import
(
'../../../components/OuterCirculationRecord'
));
interface
DetailInfoProps
{
// 记录id
...
...
@@ -35,12 +33,15 @@ interface DetailInfoProps {
isEdit
?:
boolean
;
// 历史记录目标路径
target
?:
string
;
// 头部右侧拓展
headExtra
?:
React
.
ReactNode
;
};
const
DetailInfo
:
React
.
FC
<
DetailInfoProps
>
=
({
id
,
isEdit
=
false
,
target
,
headExtra
=
null
,
})
=>
{
const
[
detailInfo
,
setDetailInfo
]
=
useState
<
GetPayCreditApplyGetApplyDetailResponse
>
(
null
);
const
[
infoLoading
,
setInfoloading
]
=
useState
(
false
);
...
...
@@ -93,7 +94,7 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
}
extra=
{
(
<>
{
headExtra
}
</>
)
}
>
...
...
@@ -118,58 +119,47 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
</>
}
>
<
Suspense
fallback=
{
null
}
>
<
OuterCirculation
steps=
{
[
{
title
:
'提交维修申请单'
,
description
:
'采购商'
,
},
{
title
:
'确认维修申请单'
,
description
:
'供应商'
,
},
{
title
:
'确认售后完成'
,
description
:
'采购商'
,
},
]
}
current=
{
1
}
/>
</
Suspense
>
<
Suspense
fallback=
{
null
}
>
<
ProductList
dataSource=
{
[]
}
/>
</
Suspense
>
<
Row
gutter=
{
24
}
style=
{
{
marginBottom
:
24
,
}
}
>
<
Col
span=
{
6
}
>
<
Row
gutter=
{
[
24
,
24
]
}
>
<
Col
span=
{
24
}
>
<
Suspense
fallback=
{
null
}
>
<
FileList
/>
<
OuterCirculation
steps=
{
[
{
title
:
'提交维修申请单'
,
description
:
'采购商'
,
},
{
title
:
'确认维修申请单'
,
description
:
'供应商'
,
},
{
title
:
'确认售后完成'
,
description
:
'采购商'
,
},
]
}
current=
{
1
}
/>
</
Suspense
>
</
Col
>
<
Col
span=
{
12
}
>
<
Col
span=
{
24
}
>
<
Suspense
fallback=
{
null
}
>
<
AddressInfo
/>
<
ProductList
dataSource=
{
[]
}
/>
</
Suspense
>
</
Col
>
<
Col
span=
{
6
}
>
<
Col
span=
{
24
}
>
<
Suspense
fallback=
{
null
}
>
<
Score
/>
<
IntroduceRow
/>
</
Suspense
>
</
Col
>
</
Row
>
<
Suspense
fallback=
{
null
}
>
<
OuterCirculationRecord
dataSource=
{
[]
}
/>
</
Suspense
>
<
Col
span=
{
24
}
>
<
Suspense
fallback=
{
null
}
>
<
OuterCirculationRecord
dataSource=
{
[]
}
/>
</
Suspense
>
</
Col
>
</
Row
>
<
/
PageHeaderWrapper
>
</
Spin
>
);
...
...
src/pages/afterService/repairApplication/components/FinishedModal/index.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairApplication/components/FinishedModal/index.tsx
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-10-28 17:29:14
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 17:18:55
* @Description: 确认完成审核 Modal
*/
import
React
from
'react'
;
import
{
Modal
}
from
'antd'
;
import
{
createFormActions
,
FormEffectHooks
,
FormPath
}
from
'@formily/antd'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
auditModalSchema
}
from
'./schema'
;
const
modalFormActions
=
createFormActions
();
const
{
onFieldValueChange$
,
onFieldInputChange$
,
}
=
FormEffectHooks
;
interface
VerifyModalProps
{
visible
:
boolean
;
confirmLoading
:
boolean
;
onSubmit
:
(
values
:
{
agree
:
0
|
1
,
reason
:
string
})
=>
void
;
onVisible
:
(
flag
:
boolean
)
=>
void
;
};
const
FinishedModal
:
React
.
FC
<
VerifyModalProps
>
=
({
visible
,
confirmLoading
,
onSubmit
,
onVisible
,
})
=>
{
const
handleSubmit
=
values
=>
{
if
(
onSubmit
)
{
onSubmit
(
values
);
}
};
return
(
<
Modal
title=
"售后评价"
visible=
{
visible
}
confirmLoading=
{
confirmLoading
}
onOk=
{
()
=>
modalFormActions
.
submit
()
}
onCancel=
{
()
=>
onVisible
(
false
)
}
destroyOnClose
>
<
NiceForm
effects=
{
(
$
,
{
setFieldState
})
=>
{
}
}
actions=
{
modalFormActions
}
schema=
{
auditModalSchema
}
onSubmit=
{
handleSubmit
}
/>
</
Modal
>
);
};
export
default
FinishedModal
;
\ No newline at end of file
src/pages/afterService/repairApplication/components/FinishedModal/schema/index.ts
0 → 100644
View file @
31d64090
import
{
ISchema
}
from
'@formily/antd'
;
export
const
auditModalSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
MEGA_LAYOUT
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
labelAlign
:
'top'
,
},
properties
:
{
star
:
{
type
:
'string'
,
title
:
'售后满意度'
,
default
:
5
,
enum
:
[
{
label
:
'5分'
,
value
:
5
},
{
label
:
'4分'
,
value
:
4
},
{
label
:
'3分'
,
value
:
3
},
{
label
:
'2分'
,
value
:
2
},
{
label
:
'1分'
,
value
:
1
},
],
'x-component'
:
'radio'
,
'x-component-props'
:
{},
},
comment
:
{
type
:
'string'
,
title
:
'售后评价'
,
'x-component'
:
'textarea'
,
required
:
true
,
'x-component-props'
:
{
placeholder
:
'在此输入你的内容,最长120个字符,60个汉字'
,
rows
:
5
,
},
'x-rules'
:
[
{
limitByte
:
true
,
// 自定义校验规则
maxByte
:
120
,
}
],
},
},
},
},
};
\ No newline at end of file
src/pages/afterService/repairApplication/repairPrFinished/detail.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairApplication/repairPrFinished/detail.tsx
0 → 100644
View file @
31d64090
import
React
from
'react'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
DetailInfo
from
'../components/DetailInfo'
;
const
RepairPrFinishedDetail
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
return
(
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
/>
);
};
export
default
RepairPrFinishedDetail
;
\ No newline at end of file
src/pages/afterService/repairApplication/repairPrFinished/index.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairApplication/repairPrFinished/index.tsx
0 → 100644
View file @
31d64090
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
{
Card
,
Badge
,
Progress
,
Button
,
Popconfirm
,
Space
,
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
{
ClockCircleOutlined
,
PlusOutlined
,
}
from
'@ant-design/icons'
;
import
{
StandardTable
}
from
'god'
;
import
moment
from
'moment'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
coverColFiltersItem
}
from
'@/utils'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT_OUTER_STATUS_TAG_MAP
,
CREDIT_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
const
RepairPrFinished
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
defaultColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'申请单号'
,
dataIndex
:
'applyNo'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/repairApplication/repairPrFinished/detail?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
</>
),
},
{
title
:
'申请单摘要'
,
dataIndex
:
'parentMemberName'
,
align
:
'center'
,
},
{
title
:
'供应会员'
,
dataIndex
:
'supplier'
,
align
:
'center'
,
},
{
title
:
'单据时间'
,
dataIndex
:
'created'
,
align
:
'center'
,
},
{
title
:
'外部状态'
,
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
outerStatus
===
value
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
innerStatus
===
value
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
Button
type=
"link"
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/repairApplication/repairPrFinished/verify`
)
}
>
确认售后完成
</
Button
>
</>
),
},
];
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
fetchListData
=
(
params
:
any
)
=>
{
const
{
startTime
,
endTime
,
...
rest
}
=
params
;
// return new Promise((resolve, reject) => {
// PublicApi.getPayCreditApplyPageCreditApply({
// startTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// endTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// ...rest,
// })
// .then(res => {
// if (res.code === 1000) {
// resolve(res.data);
// }
// reject();
// })
// .catch(() => {
// reject();
// });
// });
return
Promise
.
resolve
({
data
:
[
{
id
:
1
,
applyNo
:
'123'
,
parentMemberName
:
'申请单摘要'
,
created
:
'2020-11-03 11:46:00'
,
},
],
total
:
10
,
});
};
// 初始化高级筛选选项
const
fetchSearchItems
=
async
()
=>
{
// const res = await PublicApi.getPayCreditApplyPageItemsByConsumer();
// if (res.code === 1000) {
// const { data } = res;
// const {
// outerStatusList = [],
// innerStatusList = [],
// } = data;
// const newColumns = columns.slice();
// // filter 0 过滤掉全部选项
// coverColFiltersItem(
// newColumns,
// 'outerStatusName',
// outerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// coverColFiltersItem(
// newColumns,
// 'innerStatusName',
// innerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// setColumns(newColumns);
// return {
// outerStatus: outerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// innerStatus: innerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// };
// }
return
{};
};
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'applyNo'
,
FORM_FILTER_PATH
,
);
useAsyncInitSelect
(
[
'innerStatus'
,
'outerStatus'
],
fetchSearchItems
,
);
}
}
schema=
{
listSearchSchema
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
);
};
export
default
RepairPrFinished
;
\ No newline at end of file
src/pages/afterService/repairApplication/repairPrFinished/schema/index.ts
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-11-04 10:03:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-02 13:47:58
* @Description:
*/
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
;
export
const
listSearchSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
applyNo
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
align
:
'flex-left'
,
tip
:
'输入 申请单号 进行搜索'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
abstract
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'申请单摘要'
,
allowClear
:
true
,
},
},
'[startTime, endTime]'
:
{
type
:
'string'
,
default
:
''
,
'x-component'
:
'dateSelect'
,
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
supplier
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'供应会员(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
\ No newline at end of file
src/pages/afterService/repairApplication/repairPrFinished/verify.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairApplication/repairPrFinished/verify.tsx
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 17:29:08
* @Description:
*/
import
React
,
{
useState
}
from
'react'
;
import
{
Button
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
FormOutlined
}
from
'@ant-design/icons'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
DetailInfo
from
'../components/DetailInfo'
;
import
FinishedModal
from
'../components/FinishedModal'
;
const
RepairPrFinishedDetailVerify
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
const
[
visible
,
setVisible
]
=
useState
(
false
);
const
[
confirmLoading
,
setConfirmLoading
]
=
useState
(
false
);
const
handleSubmit
=
values
=>
{
};
return
(
<>
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra=
{
(
<
Button
type=
"primary"
icon=
{
<
FormOutlined
/>
}
onClick=
{
()
=>
setVisible
(
true
)
}
>
提交
</
Button
>
)
}
isEdit
/>
<
FinishedModal
visible=
{
visible
}
confirmLoading=
{
confirmLoading
}
onSubmit=
{
handleSubmit
}
onVisible=
{
()
=>
setVisible
(
false
)
}
/>
</>
);
};
export
default
RepairPrFinishedDetailVerify
;
\ No newline at end of file
src/pages/afterService/repairManage/components/DetailInfo/index.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/components/DetailInfo/index.tsx
0 → 100644
View file @
31d64090
import
React
,
{
Suspense
,
useEffect
,
useState
}
from
'react'
;
import
{
PageHeader
,
Descriptions
,
Card
,
Spin
,
Button
,
Row
,
Col
,
Badge
,
message
,
}
from
'antd'
;
import
{
FormOutlined
}
from
'@ant-design/icons'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
history
}
from
'umi'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
GetPayCreditApplyGetApplyDetailResponse
}
from
'@/services/PayApi'
;
import
{
CREDIT_INNER_STATUS
,
CREDIT_OUTER_STATUS
,
CREDIT_STATUS
}
from
'@/constants'
;
import
{
normalizeFiledata
,
FileData
}
from
'@/utils'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
AuditProcess
from
'@/components/AuditProcess'
;
import
{
}
from
'../../../constants'
;
const
ProductList
=
React
.
lazy
(()
=>
import
(
'../../../components/ProductList'
));
const
IntroduceRow
=
React
.
lazy
(()
=>
import
(
'../../../components/IntroduceRow'
));
const
FlowRecords
=
React
.
lazy
(()
=>
import
(
'../FlowRecords'
));
interface
DetailInfoProps
{
// 记录id
id
:
string
;
// 是否是编辑的
isEdit
?:
boolean
;
// 历史记录目标路径
target
?:
string
;
// 头部右侧拓展
headExtra
?:
React
.
ReactNode
;
};
const
DetailInfo
:
React
.
FC
<
DetailInfoProps
>
=
({
id
,
isEdit
=
false
,
target
,
headExtra
=
null
,
})
=>
{
const
[
detailInfo
,
setDetailInfo
]
=
useState
<
GetPayCreditApplyGetApplyDetailResponse
>
(
null
);
const
[
infoLoading
,
setInfoloading
]
=
useState
(
false
);
// 获取授信详情
const
getDetailInfo
=
()
=>
{
if
(
!
id
)
{
return
;
}
// setInfoloading(true);
// PublicApi.getPayCreditApplyGetApplyDetail({
// applyId: id,
// }).then(res => {
// if (res.code === 1000) {
// setDetailInfo(res.data);
// setQuotaValues({
// applyQuota: res.data.apply.applyQuota,
// billDay: res.data.apply.billDay,
// repayPeriod: res.data.apply.repayPeriod,
// fileList: res.data.apply.fileList ? res.data.apply.fileList.map(item => normalizeFiledata(item.fileUrl)) : [],
// });
// }
// }).finally(() => {
// setInfoloading(false);
// });
};
useEffect
(()
=>
{
getDetailInfo
();
},
[]);
return
(
<
Spin
spinning=
{
infoLoading
}
>
<
PageHeaderWrapper
style=
{
{
padding
:
24
,
}
}
title=
{
<>
<
PageHeader
style=
{
{
padding
:
'0'
}
}
onBack=
{
()
=>
history
.
goBack
()
}
title=
{
<
AvatarWrap
info=
{
{
aloneTxt
:
'单'
,
name
:
`申请单号:FPTY12}`
,
}}
/>
}
extra=
{
(
<>
{
headExtra
}
</>
)
}
>
<
Descriptions
size=
"small"
column=
{
3
}
style=
{
{
padding
:
'0 32px'
,
}
}
>
<
Descriptions
.
Item
label=
"申请单摘要:"
>
进口头层黄牛皮荔枝纹
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"供应会员"
>
温州隆昌手袋有限公司
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"单据时间"
>
2020-09-09 12:58:25
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"外部状态"
>
<
StatusTag
type=
"success"
title=
{
'售后完成'
}
/>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"内部状态"
>
<
Badge
color=
{
'#41CC9E'
}
text=
{
'已确认售后完成'
}
/>
</
Descriptions
.
Item
>
</
Descriptions
>
</
PageHeader
>
</>
}
>
<
Row
gutter=
{
[
24
,
24
]
}
>
<
Col
span=
{
24
}
>
<
Suspense
fallback=
{
null
}
>
<
AuditProcess
outerVerifySteps=
{
[
{
step
:
1
,
stepName
:
'提交维修申请单'
,
roleName
:
'采购商'
},
{
step
:
2
,
stepName
:
'提交维修申请单'
,
roleName
:
'采购商'
},
{
step
:
3
,
stepName
:
'提交维修申请单'
,
roleName
:
'采购商'
},
]
}
outerVerifyCurrent=
{
1
}
innerVerifySteps=
{
[
{
step
:
1
,
stepName
:
'提交维修申请单'
,
roleName
:
'采购商'
},
{
step
:
2
,
stepName
:
'提交维修申请单'
,
roleName
:
'采购商'
},
]
}
innerVerifyCurrent=
{
0
}
/>
</
Suspense
>
</
Col
>
<
Col
span=
{
24
}
>
<
Suspense
fallback=
{
null
}
>
<
ProductList
dataSource=
{
[]
}
/>
</
Suspense
>
</
Col
>
<
Col
span=
{
24
}
>
<
Suspense
fallback=
{
null
}
>
<
IntroduceRow
/>
</
Suspense
>
</
Col
>
<
Col
span=
{
24
}
>
<
Suspense
fallback=
{
null
}
>
<
FlowRecords
innerHistory=
{
[]
}
/>
</
Suspense
>
</
Col
>
</
Row
>
<
/
PageHeaderWrapper
>
</
Spin
>
);
};
export
default
DetailInfo
;
\ No newline at end of file
src/pages/afterService/repairManage/components/FlowRecords/index.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/components/FlowRecords/index.tsx
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-11-04 18:22:57
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 18:30:47
* @Description: 内、外部流转记录
*/
import
React
from
'react'
;
import
{
Tabs
,
Badge
,
}
from
'antd'
;
import
PolymericTable
from
'@/components/PolymericTable'
;
import
{
EditableColumns
}
from
'@/components/PolymericTable/interface'
;
import
MellowCard
from
'@/components/MellowCard'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
{
CREDIT_INNER_STATUS
,
CREDIT_OUTER_STATUS
,
}
from
'@/constants'
;
// import {
// CREDIT_INNER_STATUS_BADGE_MAP,
// CREDIT_OUTER_STATUS_TAG_MAP,
// } from '../../../constant';
import
styles
from
'./index.less'
;
export
interface
InnerHistoryItem
{
step
:
number
;
operator
:
string
;
department
:
string
;
jobTitle
:
string
;
status
:
number
;
operate
:
string
;
operateTime
:
string
,
opinion
:
string
;
};
export
interface
OuterHistoryItem
{
roleName
:
string
;
status
:
number
;
operate
:
string
;
operateTime
:
string
;
opinion
:
string
;
};
interface
FlowRecordsProps
{
outerHistory
?:
OuterHistoryItem
[];
innerHistory
:
InnerHistoryItem
[];
};
const
FlowRecords
:
React
.
FC
<
FlowRecordsProps
>
=
({
outerHistory
=
[],
innerHistory
})
=>
{
const
outerColumns
:
EditableColumns
[]
=
[
{
title
:
'序号'
,
dataIndex
:
'index'
,
align
:
'center'
,
render
:
(
_
,
record
,
index
)
=>
index
+
1
,
},
{
title
:
'操作角色'
,
dataIndex
:
'roleName'
,
align
:
'center'
,
},
{
title
:
'状态'
,
dataIndex
:
'status'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"待确认售后完成"
/>
),
},
{
title
:
'操作'
,
dataIndex
:
'operate'
,
align
:
'center'
,
},
{
title
:
'操作时间'
,
dataIndex
:
'operateTime'
,
align
:
'center'
,
ellipsis
:
true
,
},
{
title
:
'审核意见'
,
dataIndex
:
'opinion'
,
align
:
'center'
,
ellipsis
:
true
,
},
];
const
innerColumns
:
EditableColumns
[]
=
[
{
title
:
'序号'
,
dataIndex
:
'step'
,
align
:
'center'
,
},
{
title
:
'操作人'
,
dataIndex
:
'operator'
,
align
:
'center'
,
},
{
title
:
'部门'
,
dataIndex
:
'department'
,
align
:
'center'
,
},
{
title
:
'职位'
,
dataIndex
:
'jobTitle'
,
align
:
'center'
,
},
{
title
:
'状态'
,
dataIndex
:
'status'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
Badge
color=
"#6C9CEB"
text=
"待确认售后完成"
/>
),
},
{
title
:
'操作'
,
dataIndex
:
'operate'
,
align
:
'center'
,
},
{
title
:
'操作时间'
,
dataIndex
:
'operateTime'
,
align
:
'center'
,
ellipsis
:
true
,
},
{
title
:
'审核意见'
,
dataIndex
:
'opinion'
,
align
:
'center'
,
ellipsis
:
true
,
},
];
return
(
<
MellowCard
>
<
Tabs
onChange=
{
()
=>
{}
}
>
{
outerHistory
?
(
<
Tabs
.
TabPane
tab=
"外部流转记录"
key=
"1"
>
<
PolymericTable
rowKey=
"operateTime"
dataSource=
{
outerHistory
}
columns=
{
outerColumns
}
loading=
{
false
}
pagination=
{
null
}
/>
</
Tabs
.
TabPane
>
)
:
null
}
<
Tabs
.
TabPane
tab=
"内部流转记录"
key=
"2"
>
<
PolymericTable
rowKey=
"operateTime"
dataSource=
{
innerHistory
}
columns=
{
innerColumns
}
loading=
{
false
}
pagination=
{
null
}
/>
</
Tabs
.
TabPane
>
</
Tabs
>
</
MellowCard
>
);
};
export
default
FlowRecords
;
\ No newline at end of file
src/pages/afterService/repairManage/repairPr1/detail.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairPr1/detail.tsx
0 → 100644
View file @
31d64090
import
React
from
'react'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
DetailInfo
from
'../components/DetailInfo'
;
const
RepairPr1Detail
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
return
(
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
/>
);
};
export
default
RepairPr1Detail
;
\ No newline at end of file
src/pages/afterService/repairManage/repairPr1/index.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairPr1/index.tsx
0 → 100644
View file @
31d64090
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
{
Card
,
Badge
,
Progress
,
Button
}
from
'antd'
;
import
{
ClockCircleOutlined
,
}
from
'@ant-design/icons'
;
import
{
history
}
from
'umi'
;
import
{
StandardTable
}
from
'god'
;
import
moment
from
'moment'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
coverColFiltersItem
}
from
'@/utils'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT_OUTER_STATUS_TAG_MAP
,
CREDIT_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
const
RepairPr1
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
defaultColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'申请单号'
,
dataIndex
:
'applyNo'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/repairManage/repairPr1/detail?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
</>
),
},
{
title
:
'申请单摘要'
,
dataIndex
:
'parentMemberName'
,
align
:
'center'
,
},
{
title
:
'单据时间'
,
dataIndex
:
'created'
,
align
:
'center'
,
},
{
title
:
'外部状态'
,
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
outerStatus
===
value
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
innerStatus
===
value
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
Button
type=
"link"
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/repairManage/repairPr1/verify?id=${record.id}`
)
}
>
提交审核
</
Button
>
</>
),
},
];
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
fetchListData
=
(
params
:
any
)
=>
{
const
{
startTime
,
endTime
,
...
rest
}
=
params
;
// return new Promise((resolve, reject) => {
// PublicApi.getPayCreditApplyPageCreditApply({
// startTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// endTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// ...rest,
// })
// .then(res => {
// if (res.code === 1000) {
// resolve(res.data);
// }
// reject();
// })
// .catch(() => {
// reject();
// });
// });
return
Promise
.
resolve
({
data
:
[
{
id
:
1
,
applyNo
:
'123'
,
parentMemberName
:
'申请单摘要'
,
created
:
'2020-11-03 11:46:00'
,
},
],
total
:
10
,
});
};
// 初始化高级筛选选项
const
fetchSearchItems
=
async
()
=>
{
// const res = await PublicApi.getPayCreditApplyPageItemsByConsumer();
// if (res.code === 1000) {
// const { data } = res;
// const {
// outerStatusList = [],
// innerStatusList = [],
// } = data;
// const newColumns = columns.slice();
// // filter 0 过滤掉全部选项
// coverColFiltersItem(
// newColumns,
// 'outerStatusName',
// outerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// coverColFiltersItem(
// newColumns,
// 'innerStatusName',
// innerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// setColumns(newColumns);
// return {
// outerStatus: outerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// innerStatus: innerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// };
// }
return
{};
};
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'applyNo'
,
FORM_FILTER_PATH
,
);
useAsyncInitSelect
(
[
'innerStatus'
,
'outerStatus'
],
fetchSearchItems
,
);
}
}
schema=
{
listSearchSchema
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
);
};
export
default
RepairPr1
;
\ No newline at end of file
src/pages/afterService/repairManage/repairPr1/schema/index.ts
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-09-29 10:03:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 18:43:24
* @Description:
*/
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
;
export
const
listSearchSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
applyNo
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
align
:
'flex-left'
,
tip
:
'输入 申请单号 进行搜索'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
abstract
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'申请单摘要'
,
allowClear
:
true
,
},
},
'[startTime, endTime]'
:
{
type
:
'string'
,
default
:
''
,
'x-component'
:
'dateSelect'
,
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
supplier
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'供应会员(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
\ No newline at end of file
src/pages/afterService/repairManage/repairPr1/verify.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairPr1/verify.tsx
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 17:29:08
* @Description:
*/
import
React
,
{
useState
}
from
'react'
;
import
{
Button
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
FormOutlined
}
from
'@ant-design/icons'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
DetailInfo
from
'../components/DetailInfo'
;
import
VerifyModal
from
'../../components/VerifyModal'
;
const
RepairPr1Verify
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
const
[
visible
,
setVisible
]
=
useState
(
false
);
const
[
confirmLoading
,
setConfirmLoading
]
=
useState
(
false
);
const
handleSubmit
=
values
=>
{
};
return
(
<>
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra=
{
(
<
Button
type=
"primary"
icon=
{
<
FormOutlined
/>
}
onClick=
{
()
=>
setVisible
(
true
)
}
>
提交审核
</
Button
>
)
}
isEdit
/>
<
VerifyModal
visible=
{
visible
}
confirmLoading=
{
confirmLoading
}
onSubmit=
{
handleSubmit
}
onVisible=
{
()
=>
setVisible
(
false
)
}
/>
</>
);
};
export
default
RepairPr1Verify
;
\ No newline at end of file
src/pages/afterService/repairManage/repairPr2/detail.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairPr2/detail.tsx
0 → 100644
View file @
31d64090
import
React
from
'react'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
DetailInfo
from
'../components/DetailInfo'
;
const
RepairPr2Detail
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
return
(
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
/>
);
};
export
default
RepairPr2Detail
;
\ No newline at end of file
src/pages/afterService/repairManage/repairPr2/index.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairPr2/index.tsx
0 → 100644
View file @
31d64090
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
{
Card
,
Badge
,
Progress
,
Button
}
from
'antd'
;
import
{
ClockCircleOutlined
,
}
from
'@ant-design/icons'
;
import
{
history
}
from
'umi'
;
import
{
StandardTable
}
from
'god'
;
import
moment
from
'moment'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
coverColFiltersItem
}
from
'@/utils'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT_OUTER_STATUS_TAG_MAP
,
CREDIT_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
const
RepairPr2
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
defaultColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'申请单号'
,
dataIndex
:
'applyNo'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/repairManage/repairPr2/detail?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
</>
),
},
{
title
:
'申请单摘要'
,
dataIndex
:
'parentMemberName'
,
align
:
'center'
,
},
{
title
:
'单据时间'
,
dataIndex
:
'created'
,
align
:
'center'
,
},
{
title
:
'外部状态'
,
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
outerStatus
===
value
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
innerStatus
===
value
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
Button
type=
"link"
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/repairManage/repairPr2/verify?id=${record.id}`
)
}
>
提交审核
</
Button
>
</>
),
},
];
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
fetchListData
=
(
params
:
any
)
=>
{
const
{
startTime
,
endTime
,
...
rest
}
=
params
;
// return new Promise((resolve, reject) => {
// PublicApi.getPayCreditApplyPageCreditApply({
// startTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// endTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// ...rest,
// })
// .then(res => {
// if (res.code === 1000) {
// resolve(res.data);
// }
// reject();
// })
// .catch(() => {
// reject();
// });
// });
return
Promise
.
resolve
({
data
:
[
{
id
:
1
,
applyNo
:
'123'
,
parentMemberName
:
'申请单摘要'
,
created
:
'2020-11-03 11:46:00'
,
},
],
total
:
10
,
});
};
// 初始化高级筛选选项
const
fetchSearchItems
=
async
()
=>
{
// const res = await PublicApi.getPayCreditApplyPageItemsByConsumer();
// if (res.code === 1000) {
// const { data } = res;
// const {
// outerStatusList = [],
// innerStatusList = [],
// } = data;
// const newColumns = columns.slice();
// // filter 0 过滤掉全部选项
// coverColFiltersItem(
// newColumns,
// 'outerStatusName',
// outerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// coverColFiltersItem(
// newColumns,
// 'innerStatusName',
// innerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// setColumns(newColumns);
// return {
// outerStatus: outerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// innerStatus: innerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// };
// }
return
{};
};
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'applyNo'
,
FORM_FILTER_PATH
,
);
useAsyncInitSelect
(
[
'innerStatus'
,
'outerStatus'
],
fetchSearchItems
,
);
}
}
schema=
{
listSearchSchema
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
);
};
export
default
RepairPr2
;
\ No newline at end of file
src/pages/afterService/repairManage/repairPr2/schema/index.ts
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-09-29 10:03:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 18:43:24
* @Description:
*/
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
;
export
const
listSearchSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
applyNo
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
align
:
'flex-left'
,
tip
:
'输入 申请单号 进行搜索'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
abstract
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'申请单摘要'
,
allowClear
:
true
,
},
},
'[startTime, endTime]'
:
{
type
:
'string'
,
default
:
''
,
'x-component'
:
'dateSelect'
,
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
supplier
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'供应会员(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
\ No newline at end of file
src/pages/afterService/repairManage/repairPr2/verify.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairPr2/verify.tsx
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 17:29:08
* @Description:
*/
import
React
,
{
useState
}
from
'react'
;
import
{
Button
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
FormOutlined
}
from
'@ant-design/icons'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
DetailInfo
from
'../components/DetailInfo'
;
import
VerifyModal
from
'../../components/VerifyModal'
;
const
RepairPr2Verify
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
const
[
visible
,
setVisible
]
=
useState
(
false
);
const
[
confirmLoading
,
setConfirmLoading
]
=
useState
(
false
);
const
handleSubmit
=
values
=>
{
};
return
(
<>
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra=
{
(
<
Button
type=
"primary"
icon=
{
<
FormOutlined
/>
}
onClick=
{
()
=>
setVisible
(
true
)
}
>
提交审核
</
Button
>
)
}
isEdit
/>
<
VerifyModal
visible=
{
visible
}
confirmLoading=
{
confirmLoading
}
onSubmit=
{
handleSubmit
}
onVisible=
{
()
=>
setVisible
(
false
)
}
/>
</>
);
};
export
default
RepairPr2Verify
;
\ No newline at end of file
src/pages/afterService/repairManage/repairPrConfirm/detail.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairPrConfirm/detail.tsx
0 → 100644
View file @
31d64090
import
React
from
'react'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
DetailInfo
from
'../components/DetailInfo'
;
const
RepairPrConfirmDetail
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
return
(
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
/>
);
};
export
default
RepairPrConfirmDetail
;
\ No newline at end of file
src/pages/afterService/repairManage/repairPrConfirm/index.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairPrConfirm/index.tsx
0 → 100644
View file @
31d64090
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
{
Card
,
Badge
,
Progress
,
Button
}
from
'antd'
;
import
{
ClockCircleOutlined
,
}
from
'@ant-design/icons'
;
import
{
history
}
from
'umi'
;
import
{
StandardTable
}
from
'god'
;
import
moment
from
'moment'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
coverColFiltersItem
}
from
'@/utils'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT_OUTER_STATUS_TAG_MAP
,
CREDIT_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
const
RepairPrConfirm
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
defaultColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'申请单号'
,
dataIndex
:
'applyNo'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/repairManage/repairPrConfirm/detail?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
</>
),
},
{
title
:
'申请单摘要'
,
dataIndex
:
'parentMemberName'
,
align
:
'center'
,
},
{
title
:
'单据时间'
,
dataIndex
:
'created'
,
align
:
'center'
,
},
{
title
:
'外部状态'
,
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
outerStatus
===
value
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
innerStatus
===
value
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
Button
type=
"link"
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/repairManage/repairPrConfirm/verify?id=${record.id}`
)
}
>
提交审核
</
Button
>
</>
),
},
];
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
fetchListData
=
(
params
:
any
)
=>
{
const
{
startTime
,
endTime
,
...
rest
}
=
params
;
// return new Promise((resolve, reject) => {
// PublicApi.getPayCreditApplyPageCreditApply({
// startTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// endTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// ...rest,
// })
// .then(res => {
// if (res.code === 1000) {
// resolve(res.data);
// }
// reject();
// })
// .catch(() => {
// reject();
// });
// });
return
Promise
.
resolve
({
data
:
[
{
id
:
1
,
applyNo
:
'123'
,
parentMemberName
:
'申请单摘要'
,
created
:
'2020-11-03 11:46:00'
,
},
],
total
:
10
,
});
};
// 初始化高级筛选选项
const
fetchSearchItems
=
async
()
=>
{
// const res = await PublicApi.getPayCreditApplyPageItemsByConsumer();
// if (res.code === 1000) {
// const { data } = res;
// const {
// outerStatusList = [],
// innerStatusList = [],
// } = data;
// const newColumns = columns.slice();
// // filter 0 过滤掉全部选项
// coverColFiltersItem(
// newColumns,
// 'outerStatusName',
// outerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// coverColFiltersItem(
// newColumns,
// 'innerStatusName',
// innerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// setColumns(newColumns);
// return {
// outerStatus: outerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// innerStatus: innerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// };
// }
return
{};
};
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'applyNo'
,
FORM_FILTER_PATH
,
);
useAsyncInitSelect
(
[
'innerStatus'
,
'outerStatus'
],
fetchSearchItems
,
);
}
}
schema=
{
listSearchSchema
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
);
};
export
default
RepairPrConfirm
;
\ No newline at end of file
src/pages/afterService/repairManage/repairPrConfirm/schema/index.ts
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-09-29 10:03:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 18:43:24
* @Description:
*/
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
;
export
const
listSearchSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
applyNo
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
align
:
'flex-left'
,
tip
:
'输入 申请单号 进行搜索'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
abstract
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'申请单摘要'
,
allowClear
:
true
,
},
},
'[startTime, endTime]'
:
{
type
:
'string'
,
default
:
''
,
'x-component'
:
'dateSelect'
,
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
supplier
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'供应会员(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
\ No newline at end of file
src/pages/afterService/repairManage/repairPrConfirm/verify.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairPrConfirm/verify.tsx
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 18:59:54
* @Description:
*/
import
React
,
{
useState
}
from
'react'
;
import
{
Button
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
FormOutlined
}
from
'@ant-design/icons'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
DetailInfo
from
'../components/DetailInfo'
;
import
VerifyModal
from
'../../components/VerifyModal'
;
const
RepairPrConfirmVerify
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
const
[
visible
,
setVisible
]
=
useState
(
false
);
const
[
confirmLoading
,
setConfirmLoading
]
=
useState
(
false
);
const
handleSubmit
=
values
=>
{
};
return
(
<>
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra=
{
(
<
Button
type=
"primary"
icon=
{
<
FormOutlined
/>
}
onClick=
{
()
=>
setVisible
(
true
)
}
>
提交审核
</
Button
>
)
}
isEdit
/>
<
VerifyModal
visible=
{
visible
}
confirmLoading=
{
confirmLoading
}
onSubmit=
{
handleSubmit
}
onVisible=
{
()
=>
setVisible
(
false
)
}
/>
</>
);
};
export
default
RepairPrConfirmVerify
;
\ No newline at end of file
src/pages/afterService/repairManage/repairPrSubmit/detail.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairPrSubmit/detail.tsx
0 → 100644
View file @
31d64090
import
React
from
'react'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
DetailInfo
from
'../components/DetailInfo'
;
const
RepairPrSubmitDetail
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
return
(
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
/>
);
};
export
default
RepairPrSubmitDetail
;
\ No newline at end of file
src/pages/afterService/repairManage/repairPrSubmit/index.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairPrSubmit/index.tsx
0 → 100644
View file @
31d64090
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
{
Card
,
Badge
,
Progress
,
Button
}
from
'antd'
;
import
{
ClockCircleOutlined
,
}
from
'@ant-design/icons'
;
import
{
history
}
from
'umi'
;
import
{
StandardTable
}
from
'god'
;
import
moment
from
'moment'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
coverColFiltersItem
}
from
'@/utils'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT_OUTER_STATUS_TAG_MAP
,
CREDIT_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
const
RepairPrSubmit
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
defaultColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'申请单号'
,
dataIndex
:
'applyNo'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/repairManage/repairPrSubmit/detail?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
</>
),
},
{
title
:
'申请单摘要'
,
dataIndex
:
'parentMemberName'
,
align
:
'center'
,
},
{
title
:
'单据时间'
,
dataIndex
:
'created'
,
align
:
'center'
,
},
{
title
:
'外部状态'
,
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
outerStatus
===
value
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
innerStatus
===
value
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
{
title
:
'操作'
,
dataIndex
:
'option'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
Button
type=
"link"
onClick=
{
()
=>
history
.
push
(
`/memberCenter/afterService/repairManage/repairPrSubmit/verify?id=${record.id}`
)
}
>
提交审核
</
Button
>
</>
),
},
];
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
fetchListData
=
(
params
:
any
)
=>
{
const
{
startTime
,
endTime
,
...
rest
}
=
params
;
// return new Promise((resolve, reject) => {
// PublicApi.getPayCreditApplyPageCreditApply({
// startTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// endTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// ...rest,
// })
// .then(res => {
// if (res.code === 1000) {
// resolve(res.data);
// }
// reject();
// })
// .catch(() => {
// reject();
// });
// });
return
Promise
.
resolve
({
data
:
[
{
id
:
1
,
applyNo
:
'123'
,
parentMemberName
:
'申请单摘要'
,
created
:
'2020-11-03 11:46:00'
,
},
],
total
:
10
,
});
};
// 初始化高级筛选选项
const
fetchSearchItems
=
async
()
=>
{
// const res = await PublicApi.getPayCreditApplyPageItemsByConsumer();
// if (res.code === 1000) {
// const { data } = res;
// const {
// outerStatusList = [],
// innerStatusList = [],
// } = data;
// const newColumns = columns.slice();
// // filter 0 过滤掉全部选项
// coverColFiltersItem(
// newColumns,
// 'outerStatusName',
// outerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// coverColFiltersItem(
// newColumns,
// 'innerStatusName',
// innerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// setColumns(newColumns);
// return {
// outerStatus: outerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// innerStatus: innerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// };
// }
return
{};
};
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'applyNo'
,
FORM_FILTER_PATH
,
);
useAsyncInitSelect
(
[
'innerStatus'
,
'outerStatus'
],
fetchSearchItems
,
);
}
}
schema=
{
listSearchSchema
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
);
};
export
default
RepairPrSubmit
;
\ No newline at end of file
src/pages/afterService/repairManage/repairPrSubmit/schema/index.ts
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-09-29 10:03:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 18:43:24
* @Description:
*/
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
;
export
const
listSearchSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
applyNo
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
align
:
'flex-left'
,
tip
:
'输入 申请单号 进行搜索'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
abstract
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'申请单摘要'
,
allowClear
:
true
,
},
},
'[startTime, endTime]'
:
{
type
:
'string'
,
default
:
''
,
'x-component'
:
'dateSelect'
,
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
supplier
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'供应会员(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
\ No newline at end of file
src/pages/afterService/repairManage/repairPrSubmit/verify.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairPrSubmit/verify.tsx
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 19:01:31
* @Description:
*/
import
React
,
{
useState
}
from
'react'
;
import
{
Button
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
FormOutlined
}
from
'@ant-design/icons'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
DetailInfo
from
'../components/DetailInfo'
;
import
VerifyModal
from
'../../components/VerifyModal'
;
const
RepairPrSubmitVerify
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
const
[
visible
,
setVisible
]
=
useState
(
false
);
const
[
confirmLoading
,
setConfirmLoading
]
=
useState
(
false
);
const
handleSubmit
=
values
=>
{
};
return
(
<>
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra=
{
(
<
Button
type=
"primary"
icon=
{
<
FormOutlined
/>
}
onClick=
{
()
=>
setVisible
(
true
)
}
>
单据确认
</
Button
>
)
}
isEdit
/>
<
VerifyModal
visible=
{
visible
}
confirmLoading=
{
confirmLoading
}
onSubmit=
{
handleSubmit
}
onVisible=
{
()
=>
setVisible
(
false
)
}
/>
</>
);
};
export
default
RepairPrSubmitVerify
;
\ No newline at end of file
src/pages/afterService/repairManage/repairQuery/detail.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairQuery/detail.tsx
0 → 100644
View file @
31d64090
import
React
from
'react'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
DetailInfo
from
'../components/DetailInfo'
;
const
RepairQueryDetail
:
React
.
FC
=
()
=>
{
const
{
id
,
creditId
}
=
usePageStatus
();
return
(
<
DetailInfo
id=
{
id
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
/>
);
};
export
default
RepairQueryDetail
;
\ No newline at end of file
src/pages/afterService/repairManage/repairQuery/index.less
0 → 100644
View file @
31d64090
src/pages/afterService/repairManage/repairQuery/index.tsx
0 → 100644
View file @
31d64090
import
React
,
{
useState
,
useRef
}
from
'react'
;
import
{
Card
,
Badge
,
Progress
,
Button
}
from
'antd'
;
import
{
ClockCircleOutlined
,
}
from
'@ant-design/icons'
;
import
{
StandardTable
}
from
'god'
;
import
moment
from
'moment'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
coverColFiltersItem
}
from
'@/utils'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
{
listSearchSchema
}
from
'./schema'
;
import
{
CREDIT_OUTER_STATUS_TAG_MAP
,
CREDIT_INNER_STATUS_BADGE_MAP
,
}
from
'../../contants'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
const
RepairManageQuery
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
defaultColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'申请单号'
,
dataIndex
:
'applyNo'
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<>
<
EyePreview
url=
{
`/memberCenter/afterService/repairManage/repairQuery/detail?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
</>
),
},
{
title
:
'申请单摘要'
,
dataIndex
:
'parentMemberName'
,
align
:
'center'
,
},
{
title
:
'单据时间'
,
dataIndex
:
'created'
,
align
:
'center'
,
},
{
title
:
'外部状态'
,
dataIndex
:
'outerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
outerStatus
===
value
,
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
"success"
title=
"售后完成"
/>
),
},
{
title
:
'内部状态'
,
dataIndex
:
'innerStatusName'
,
align
:
'center'
,
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
innerStatus
===
value
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
'#6C9CEB'
}
text=
"待确认售后完成"
/>,
},
];
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
defaultColumns
);
const
fetchListData
=
(
params
:
any
)
=>
{
const
{
startTime
,
endTime
,
...
rest
}
=
params
;
// return new Promise((resolve, reject) => {
// PublicApi.getPayCreditApplyPageCreditApply({
// startTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// endTime: startTime ? moment(startTime).format('YYYY-MM-DD') : null,
// ...rest,
// })
// .then(res => {
// if (res.code === 1000) {
// resolve(res.data);
// }
// reject();
// })
// .catch(() => {
// reject();
// });
// });
return
Promise
.
resolve
({
data
:
[
{
id
:
1
,
applyNo
:
'123'
,
parentMemberName
:
'申请单摘要'
,
created
:
'2020-11-03 11:46:00'
,
},
],
total
:
10
,
});
};
// 初始化高级筛选选项
const
fetchSearchItems
=
async
()
=>
{
// const res = await PublicApi.getPayCreditApplyPageItemsByConsumer();
// if (res.code === 1000) {
// const { data } = res;
// const {
// outerStatusList = [],
// innerStatusList = [],
// } = data;
// const newColumns = columns.slice();
// // filter 0 过滤掉全部选项
// coverColFiltersItem(
// newColumns,
// 'outerStatusName',
// outerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// coverColFiltersItem(
// newColumns,
// 'innerStatusName',
// innerStatusList.map(item => ({ text: item.name, value: item.status })).filter(item => item.value),
// );
// setColumns(newColumns);
// return {
// outerStatus: outerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// innerStatus: innerStatusList.map(item => ({ label: item.name, value: item.status })).filter(item => item.value),
// };
// }
return
{};
};
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'applyNo'
,
FORM_FILTER_PATH
,
);
useAsyncInitSelect
(
[
'innerStatus'
,
'outerStatus'
],
fetchSearchItems
,
);
}
}
schema=
{
listSearchSchema
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
);
};
export
default
RepairManageQuery
;
\ No newline at end of file
src/pages/afterService/repairManage/repairQuery/schema/index.ts
0 → 100644
View file @
31d64090
/*
* @Author: XieZhiXiong
* @Date: 2020-09-29 10:03:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-04 18:43:15
* @Description:
*/
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
;
export
const
listSearchSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
applyNo
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
align
:
'flex-left'
,
tip
:
'输入 申请单号 进行搜索'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
abstract
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'申请单摘要'
,
allowClear
:
true
,
},
},
'[startTime, endTime]'
:
{
type
:
'string'
,
default
:
''
,
'x-component'
:
'dateSelect'
,
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
supplier
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'供应会员(全部)'
,
allowClear
:
true
,
},
},
outerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'外部状态(全部)'
,
allowClear
:
true
,
},
},
innerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'内部状态(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment