Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-admin
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
project
jinfa-admin
Commits
ca5b6a32
Commit
ca5b6a32
authored
Nov 12, 2020
by
前端-黄佳鑫
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into test
parents
d950896b
cfcfb367
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
673 additions
and
122 deletions
+673
-122
RightContent.tsx
src/layouts/RightContent.tsx
+25
-13
index.less
src/layouts/index.less
+31
-1
index.less
src/pages/home/component/MemberStatistics/index.less
+30
-0
index.tsx
src/pages/home/component/MemberStatistics/index.tsx
+88
-0
lineChart.tsx
src/pages/home/component/MemberStatistics/lineChart.tsx
+0
-0
columnChart.tsx
src/pages/home/component/OrderStatistics/columnChart.tsx
+0
-0
index.less
src/pages/home/component/OrderStatistics/index.less
+30
-0
index.tsx
src/pages/home/component/OrderStatistics/index.tsx
+89
-0
index.less
src/pages/home/component/StatisticsColumn/index.less
+52
-0
index.tsx
src/pages/home/component/StatisticsColumn/index.tsx
+78
-0
index.less
src/pages/home/component/TodayAdd/index.less
+32
-0
index.tsx
src/pages/home/component/TodayAdd/index.tsx
+69
-0
index.less
src/pages/home/index.less
+23
-23
index.tsx
src/pages/home/index.tsx
+0
-0
index.tsx
src/pages/message/index.tsx
+1
-1
tableStatusList.tsx
src/pages/requisition/common/tableStatusList.tsx
+13
-11
index.tsx
src/pages/requisition/schema/index.tsx
+74
-36
index.tsx
src/pages/rfq/details/index.tsx
+37
-36
settingIndex.tsx
src/pages/ruleSettingManage/paySetting/settingIndex.tsx
+1
-1
No files found.
src/layouts/RightContent.tsx
View file @
ca5b6a32
import
React
from
'react'
import
{
Link
,
history
}
from
'umi'
import
{
Menu
,
Dropdown
,
List
,
Typography
,
Badge
,
Button
,
Card
}
from
'antd'
import
{
Menu
,
Dropdown
,
List
,
Typography
,
Badge
,
Button
,
Avatar
}
from
'antd'
import
{
BellOutlined
,
CaretDownOutlined
}
from
'@ant-design/icons'
import
styles
from
'./index.less'
import
{
removeAuth
,
getAuth
}
from
'@/utils/auth'
import
messageIcon1
from
'@/asserts/home-icon-1.png'
const
RightContent
:
React
.
FC
<
{}
>
=
(
props
)
=>
{
const
toLogin
=
()
=>
{
...
...
@@ -35,20 +35,32 @@ const RightContent: React.FC<{}> = (props) => {
];
const
menuMessage
=
(
<
div
title=
"消息列表"
className=
{
styles
.
noticeBox
}
>
<
h3
>
消息列表
</
h3
>
<
div
className=
{
styles
.
noticeBox
}
>
<
div
className=
{
styles
.
header
}
>
消息列表
</
div
>
<
List
itemLayout=
"horizontal"
dataSource=
{
data
}
footer=
{
<
p
className=
{
styles
.
noticeFooter
}
>
<
span
>
清空通知
</
span
>
<
span
>
查看更多
</
span
>
</
p
>
}
renderItem=
{
item
=>
(
<
List
.
Item
>
{
item
}
</
List
.
Item
>
)
}
footer=
{
<
a
className=
{
styles
.
messageFooter
}
>
{
"查看更多 ->"
}
</
a
>
}
renderItem=
{
item
=>
{
console
.
log
(
item
);
return
(
<
List
.
Item
>
<
div
className=
{
styles
.
msgContainer
}
>
<
div
className=
{
styles
.
msgItemIcon
}
>
<
Avatar
src=
{
messageIcon1
}
/>
</
div
>
<
div
>
<
div
className=
{
styles
.
msgTitle
}
>
订单支付
</
div
>
<
div
className=
{
styles
.
msgTime
}
>
2020-08-25 12:58
</
div
>
</
div
>
</
div
>
</
List
.
Item
>
)
}
}
/>
</
div
>
)
...
...
src/layouts/index.less
View file @
ca5b6a32
...
...
@@ -94,13 +94,43 @@
padding: 0;
}
.ant-list-item{
padding:
12px 24px
;
padding:
0
;
}
}
h4{
padding-left: 24px;
border-bottom: 1px solid #f0f0f0;
}
.header {
padding: 17px 24px;
font-size: 14px;
font-weight: 500;
color: #303133;
border-bottom: 1px solid #EEF0F3;
}
.messageFooter {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 16px 0;
}
.msgContainer {
display: flex;
flex-direction: row;
padding: 16px 32px 16px 18px;
width: 320px;
.msgItemIcon {
margin-right: 8px;
}
.msgTime {
color: #909399;
}
}
}
.topMessage{
...
...
src/pages/home/component/MemberStatistics/index.less
0 → 100644
View file @
ca5b6a32
.lineDesc{
display: flex;
align-items: center;
margin-top: 14px;
.icon {
display: block;
width: 48px;
height: 48px;
margin: 24px 16px 24px 24px;
}
.lineDescText{
p{
margin-bottom: 8px;
line-height: 1;
}
.lineDescTitle{
font-size: 24px;
font-weight: 500;
color: #303133;
}
.lineDescTip{
font-size: 12px;
font-weight: 400;
color: #909399;
}
}
}
\ No newline at end of file
src/pages/home/component/MemberStatistics/index.tsx
0 → 100644
View file @
ca5b6a32
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
Card
,
Radio
,
Row
,
Col
}
from
'antd'
;
import
LineChart
from
'./lineChart'
;
import
styles
from
'./index.less'
;
// 折线图描述
import
todayIcon
from
'@/asserts/home-icon-24.png'
import
weekIcon
from
'@/asserts/home-icon-25.png'
import
monthIcon
from
'@/asserts/home-icon-26.png'
import
totalIcon
from
'@/asserts/home-icon-27.png'
export
enum
TimeEnum
{
WEEK
=
1
,
MONTH
=
2
,
YEAR
=
3
}
const
MemberStatistics
:
React
.
FC
=
()
=>
{
const
[
timeRadio
,
setTimeRadio
]
=
useState
<
TimeEnum
>
(
TimeEnum
.
WEEK
)
const
handleChangeTime
=
(
e
)
=>
{
setTimeRadio
(
e
.
target
.
value
)
}
const
data
=
[
{
icon
:
todayIcon
,
value
:
86
,
tips
:
'今日注册'
},
{
icon
:
weekIcon
,
value
:
867
,
tips
:
'最近7日注册'
},
{
icon
:
monthIcon
,
value
:
1280
,
tips
:
'最近30日注册'
},
{
icon
:
totalIcon
,
value
:
5686
,
tips
:
'累计注册'
}
]
return
(
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"会员统计"
bordered=
{
false
}
extra=
{
<
Radio
.
Group
value=
{
timeRadio
}
buttonStyle=
"solid"
size=
"small"
onChange=
{
handleChangeTime
}
>
<
Radio
.
Button
value=
{
TimeEnum
.
WEEK
}
>
周
</
Radio
.
Button
>
<
Radio
.
Button
value=
{
TimeEnum
.
MONTH
}
>
月
</
Radio
.
Button
>
<
Radio
.
Button
value=
{
TimeEnum
.
YEAR
}
>
日
</
Radio
.
Button
>
</
Radio
.
Group
>
}
>
<
Row
>
<
Col
span=
{
24
}
>
{
/* 折线图 */
}
<
LineChart
currentIndex=
{
1
}
/>
</
Col
>
<
Col
span=
{
24
}
>
<
Row
>
{
data
.
map
((
item
)
=>
{
return
(
<
Col
span=
{
6
}
key=
{
item
.
value
}
>
<
div
className=
{
styles
.
lineDesc
}
>
<
img
src=
{
item
.
icon
}
className=
{
styles
.
icon
}
alt=
""
/>
<
div
className=
{
styles
.
lineDescText
}
>
<
p
className=
{
styles
.
lineDescTitle
}
>
{
item
.
value
}
</
p
>
<
p
className=
{
styles
.
lineDescTip
}
>
{
item
.
tips
}
</
p
>
</
div
>
</
div
>
</
Col
>
)
})
}
</
Row
>
</
Col
>
</
Row
>
</
Card
>
)
}
export
default
MemberStatistics
;
\ No newline at end of file
src/pages/home/component/lineChart.tsx
→
src/pages/home/component/
MemberStatistics/
lineChart.tsx
View file @
ca5b6a32
File moved
src/pages/home/component/columnChart.tsx
→
src/pages/home/component/
OrderStatistics/
columnChart.tsx
View file @
ca5b6a32
File moved
src/pages/home/component/OrderStatistics/index.less
0 → 100644
View file @
ca5b6a32
.lineDesc{
display: flex;
align-items: center;
margin-top: 14px;
.icon {
display: block;
width: 48px;
height: 48px;
margin: 24px 16px 24px 24px;
}
.lineDescText{
p{
margin-bottom: 8px;
line-height: 1;
}
.lineDescTitle{
font-size: 24px;
font-weight: 500;
color: #303133;
}
.lineDescTip{
font-size: 12px;
font-weight: 400;
color: #909399;
}
}
}
\ No newline at end of file
src/pages/home/component/OrderStatistics/index.tsx
0 → 100644
View file @
ca5b6a32
import
React
,
{
useState
}
from
'react'
;
import
{
Card
,
Radio
,
Row
,
Col
}
from
'antd'
;
import
styles
from
'./index.less'
import
ColumnChart
from
'./columnChart'
;
// 折线图描述
import
todayIcon
from
'@/asserts/home-icon-24.png'
import
weekIcon
from
'@/asserts/home-icon-25.png'
import
monthIcon
from
'@/asserts/home-icon-26.png'
import
totalIcon
from
'@/asserts/home-icon-27.png'
export
enum
TimeEnum
{
WEEK
=
1
,
MONTH
=
2
,
YEAR
=
3
}
const
OrderStatistics
=
()
=>
{
const
[
timeRadio
,
setTimeRadio
]
=
useState
<
TimeEnum
>
(
TimeEnum
.
WEEK
)
const
handleChangeTime
=
(
e
)
=>
{
setTimeRadio
(
e
.
target
.
value
)
}
const
data
=
[
{
icon
:
todayIcon
,
value
:
86
,
tips
:
'今日注册'
},
{
icon
:
weekIcon
,
value
:
867
,
tips
:
'最近7日注册'
},
{
icon
:
monthIcon
,
value
:
1280
,
tips
:
'最近30日注册'
},
{
icon
:
totalIcon
,
value
:
5686
,
tips
:
'累计注册'
}
]
return
(
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
style=
{
{
height
:
'100%'
}
}
title=
"会员统计"
bordered=
{
false
}
extra=
{
<
Radio
.
Group
value=
{
timeRadio
}
buttonStyle=
"solid"
size=
"small"
onChange=
{
handleChangeTime
}
>
<
Radio
.
Button
value=
{
TimeEnum
.
WEEK
}
>
周
</
Radio
.
Button
>
<
Radio
.
Button
value=
{
TimeEnum
.
MONTH
}
>
月
</
Radio
.
Button
>
<
Radio
.
Button
value=
{
TimeEnum
.
YEAR
}
>
日
</
Radio
.
Button
>
</
Radio
.
Group
>
}
>
<
Row
style=
{
{
margin
:
'36px 0 0 0'
}
}
>
<
Col
span=
{
24
}
>
{
/* 折线图 */
}
<
ColumnChart
currentIndex=
{
1
}
/>
</
Col
>
<
Col
span=
{
24
}
>
<
Row
>
{
data
.
map
((
item
)
=>
{
return
(
<
Col
span=
{
6
}
key=
{
item
.
value
}
>
<
div
className=
{
styles
.
lineDesc
}
>
<
img
src=
{
item
.
icon
}
className=
{
styles
.
icon
}
alt=
""
/>
<
div
className=
{
styles
.
lineDescText
}
>
<
p
className=
{
styles
.
lineDescTitle
}
>
{
item
.
value
}
</
p
>
<
p
className=
{
styles
.
lineDescTip
}
>
{
item
.
tips
}
</
p
>
</
div
>
</
div
>
</
Col
>
)
})
}
</
Row
>
</
Col
>
</
Row
>
</
Card
>
)
}
export
default
OrderStatistics
\ No newline at end of file
src/pages/home/component/StatisticsColumn/index.less
0 → 100644
View file @
ca5b6a32
.commodityTotalTitle{
text-align: center;
span{
font-size: 12px;
font-weight: 400;
color: #909399;
}
p{
height: 72px;
font-size: 24px;
font-weight: 500;
color: #303133;
line-height: 72px;
}
}
.commodityTotalDesc{
display: flex;
justify-content: space-between;
.container {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
flex: 1;
&:first-child {
margin-right: 15px;
}
.left {
display: flex;
flex-direction: row;
align-items: center;
.lineDescText {
margin-left: 15px;
.lineDescTitle {
font-size: 24px;
font-weight: 500;
margin-bottom: 0;
}
.lineDescTip {
font-size: 12px;
font-weight: 400;
color: #909399;
}
}
}
}
}
src/pages/home/component/StatisticsColumn/index.tsx
0 → 100644
View file @
ca5b6a32
import
React
from
'react'
;
import
{
Row
,
Col
,
Card
,
Space
}
from
'antd'
import
styles
from
'./index.less'
;
import
cx
from
'classnames'
;
import
{
RightOutlined
}
from
'@ant-design/icons'
import
totalIcona3
from
'@/asserts/home-icon-10.png'
import
totalCommdity
from
'@/asserts/home-icon-13.png'
import
totalBrand1
from
'@/asserts/home-icon-21.png'
import
totalBrand2
from
'@/asserts/home-icon-22.png'
const
StatisticsColumn
=
()
=>
{
const
data
=
[
{
title
:
'商品统计'
,
value
:
'124,754'
,
icon
:
totalCommdity
,
addIcon
:
totalIcona3
,
},
{
title
:
'品牌统计'
,
value
:
'124,754'
,
icon
:
totalBrand1
,
addIcon
:
totalBrand2
,
}
]
return
(
<
Row
gutter=
{
[
24
,
12
]
}
>
{
data
.
map
((
item
,
key
)
=>
{
return
(
<
Col
span=
{
12
}
key=
{
key
}
>
<
Row
>
<
Col
span=
{
24
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
{
item
.
title
}
bordered=
{
false
}
>
<
div
className=
{
styles
.
commodityTotalTitle
}
>
<
span
>
全部商品
</
span
>
<
p
>
124,754
</
p
>
</
div
>
<
div
className=
{
styles
.
commodityTotalDesc
}
>
<
div
className=
{
styles
.
container
}
>
<
div
className=
{
styles
.
left
}
>
<
img
src=
{
item
.
icon
}
alt=
""
/>
<
div
className=
{
styles
.
lineDescText
}
>
<
p
className=
{
styles
.
lineDescTitle
}
>
86
</
p
>
<
p
className=
{
styles
.
lineDescTip
}
>
待审核商品
</
p
>
</
div
>
</
div
>
<
a
key=
"list-loadmore-more"
>
查看
<
RightOutlined
/></
a
>
</
div
>
<
div
className=
{
styles
.
container
}
>
<
div
className=
{
styles
.
left
}
>
<
img
src=
{
item
.
addIcon
}
alt=
""
/>
<
div
className=
{
styles
.
lineDescText
}
>
<
p
className=
{
styles
.
lineDescTitle
}
>
86
</
p
>
<
p
className=
{
styles
.
lineDescTip
}
>
待审核商品
</
p
>
</
div
>
</
div
>
<
a
key=
"list-loadmore-more"
>
查看
<
RightOutlined
/></
a
>
</
div
>
</
div
>
</
Card
>
</
Col
>
</
Row
>
</
Col
>
)
})
}
</
Row
>
)
}
export
default
StatisticsColumn
\ No newline at end of file
src/pages/home/component/TodayAdd/index.less
0 → 100644
View file @
ca5b6a32
.homeCard{
padding: 24px;
border-radius: 3px;
background: #fff;
.body {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
margin-bottom: 40px;
.content {
.title {
font-size: 12px;
color: #909399;
margin-bottom: 24px;
}
.number {
font-size: 32px;
font-weight: 500;
color: #303133;
}
}
.icon{
height: 48px;
width: 48px;
}
}
}
\ No newline at end of file
src/pages/home/component/TodayAdd/index.tsx
0 → 100644
View file @
ca5b6a32
import
React
from
'react'
;
import
{
Row
,
Col
,
Card
}
from
'antd'
;
import
{
CaretUpOutlined
}
from
'@ant-design/icons'
;
import
StatusTag
from
'@/components/StatusTag'
import
styles
from
'./index.less'
;
// 图标图片集
import
orderIcon
from
'@/asserts/home-icon-23.png'
import
memberIcon
from
'@/asserts/home-icon-12.png'
import
productIcon
from
'@/asserts/home-icon-10.png'
import
brandIcon
from
'@/asserts/home-icon-11.png'
const
TodayAdd
:
React
.
FC
=
()
=>
{
const
data
=
[
{
title
:
'今日新增订单(元)'
,
number
:
'102,086.00'
,
icon
:
orderIcon
,
percent
:
'3.4%'
},
{
title
:
'今日新增会员'
,
number
:
'45.00'
,
icon
:
memberIcon
,
percent
:
'3.4%'
},
{
title
:
'今日新增商品'
,
number
:
'88.00'
,
icon
:
productIcon
,
percent
:
'3.4%'
},
{
title
:
'今日新增品牌'
,
number
:
'20'
,
icon
:
brandIcon
,
percent
:
'3.4%'
}
]
return
(
<
Row
gutter=
{
[
24
,
12
]
}
>
{
data
.
map
((
item
,
key
)
=>
{
return
(
<
Col
span=
{
6
}
key=
{
key
}
>
<
div
className=
{
styles
.
homeCard
}
>
<
div
className=
{
styles
.
body
}
>
<
div
className=
{
styles
.
content
}
>
<
div
className=
{
styles
.
title
}
>
{
item
.
title
}
</
div
>
<
div
className=
{
styles
.
number
}
>
{
item
.
number
}
</
div
>
</
div
>
<
div
className=
{
styles
.
icon
}
>
<
img
src=
{
item
.
icon
}
alt=
""
/>
</
div
>
</
div
>
<
div
className=
{
styles
.
footer
}
>
<
StatusTag
title=
{
<><
CaretUpOutlined
/>
{
item
.
percent
}
</>
}
type=
"success"
/>
<
span
>
相比昨日
</
span
>
</
div
>
</
div
>
</
Col
>
)
})
}
</
Row
>
)
}
export
default
TodayAdd
\ No newline at end of file
src/pages/home/index.less
View file @
ca5b6a32
...
...
@@ -70,7 +70,7 @@
}
.sideAdBox{
height: 100px;
margin: 22px
24px 13px
;
margin: 22px
0px 13px 0
;
border-radius: 5px;
background-color: #6C9CEB;
position: relative;
...
...
@@ -89,28 +89,28 @@
}
}
.commodityTotalTitle{
text-align: center;
span{
font-size: 12px;
font-weight: 400;
color: #909399;
}
p{
height: 72px;
font-size: 24px;
font-weight: 500;
color: #303133;
line-height: 72px;
}
}
.commodityTotalDesc{
display: flex;
flex: 1;
.aHalfOfWidth {
width: 50%;
}
}
//
.commodityTotalTitle{
//
text-align: center;
//
span{
//
font-size: 12px;
//
font-weight: 400;
//
color: #909399;
//
}
//
p{
//
height: 72px;
//
font-size: 24px;
//
font-weight: 500;
//
color: #303133;
//
line-height: 72px;
//
}
//
}
//
.commodityTotalDesc{
//
display: flex;
//
flex: 1;
//
.aHalfOfWidth {
//
width: 50%;
//
}
//
}
// 便签样式
.notePaperBox{
...
...
src/pages/home/index.tsx
View file @
ca5b6a32
This diff is collapsed.
Click to expand it.
src/pages/message/index.tsx
View file @
ca5b6a32
...
...
@@ -103,7 +103,7 @@ const Message: React.FC<{}> = () => {
pageSize
:
pagation
.
pageSize
,
size
:
"small"
,
showQuickJumper
:
true
,
total
:
dataSource
.
totalCount
,
total
:
dataSource
?.
totalCount
||
0
,
showTotal
:
showTotal
}
}
renderItem=
{
item
=>
(
...
...
src/pages/requisition/common/tableStatusList.tsx
View file @
ca5b6a32
...
...
@@ -37,15 +37,16 @@ export const interiorStateTwo = (text:any) => {
* @return {type} 内
*/
export
const
enquirySearchInteriorState
=
(
text
:
any
)
=>
{
export
const
enquirySearchInteriorState
=
(
text
:
any
)
=>
{
//内部状态:1.新增需求单 2.审核通过 3.审核通过 4.待提交需求单 5.审核通过 6.审核不通过 7.取消报价单
let
component
:
ReactNode
=
null
;
text
===
1
?
component
=
<
Badge
status=
'default'
text=
"新增需求单"
/>:
text
===
2
?
component
=
<
Badge
color=
"#FFC400"
text=
"审核
需求单一级
"
/>:
text
===
3
?
component
=
<
Badge
color=
"#FFC400"
text=
"审核
需求单二级
"
/>:
text
===
2
?
component
=
<
Badge
color=
"#FFC400"
text=
"审核
通过
"
/>:
text
===
3
?
component
=
<
Badge
color=
"#FFC400"
text=
"审核
通过
"
/>:
text
===
4
?
component
=
<
Badge
status=
'processing'
text=
"待提交需求单"
/>:
text
===
5
?
component
=
<
Badge
status=
'success'
text=
"
完成
"
/>:
text
===
5
?
component
=
<
Badge
status=
'success'
text=
"
审核通过
"
/>:
text
===
6
?
component
=
<
Badge
status=
'error'
text=
"审核不通过"
/>:
component
=
<
Badge
status=
"default"
text=
"取消
需求
单"
/>
component
=
<
Badge
status=
"default"
text=
"取消
报价
单"
/>
return
component
;
}
/**
...
...
@@ -65,14 +66,15 @@ export const enquirySearchexternalState = (text:any) => {
return
component
;
}
export
const
enquirySearchexternalState2
=
(
text
:
any
)
=>
{
export
const
enquirySearchexternalState2
=
(
text
:
any
)
=>
{
//外部状态:1.待提交需求单 2.待审核需求单 3.待提交报价单 4.待确认报价单 5.接受报价 6.不接受报价 7.取消报价单
let
component
:
ReactNode
=
null
;
text
===
1
?
component
=
<
span
style=
{
statuStyle
.
default
}
>
待提交需求单
</
span
>:
text
===
2
?
component
=
<
span
style=
{
statuStyle
.
warn
}
>
提交报价
单
</
span
>:
text
===
3
?
component
=
<
span
style=
{
statuStyle
.
confirm
}
>
提交报价单
</
span
>:
text
===
4
?
component
=
<
span
style=
{
statuStyle
.
confirm
}
>
确认报价单
</
span
>:
text
===
5
?
component
=
<
span
style=
{
statuStyle
.
success
}
>
完成
</
span
>:
text
===
6
?
component
=
<
span
style=
{
statuStyle
.
Error
}
>
审核不通过
</
span
>:
text
===
2
?
component
=
<
span
style=
{
statuStyle
.
warn
}
>
待审核需求
单
</
span
>:
text
===
3
?
component
=
<
span
style=
{
statuStyle
.
confirm
}
>
待
提交报价单
</
span
>:
text
===
4
?
component
=
<
span
style=
{
statuStyle
.
confirm
}
>
待
确认报价单
</
span
>:
text
===
5
?
component
=
<
span
style=
{
statuStyle
.
success
}
>
接受报价
</
span
>:
text
===
6
?
component
=
<
span
style=
{
statuStyle
.
Error
}
>
不接受报价
</
span
>:
component
=
<
span
style=
{
statuStyle
.
default
}
>
取消报价单
</
span
>
return
component
;
}
...
...
src/pages/requisition/schema/index.tsx
View file @
ca5b6a32
...
...
@@ -31,7 +31,7 @@ export const enquierySchema: ISchema = {
},
"x-component-props"
:{
placeholder
:
'
搜索
'
placeholder
:
'
需求单号
'
}
}
}
...
...
@@ -64,11 +64,17 @@ export const enquierySchema: ISchema = {
placeholder
:
'需求摘要'
}
},
demandMembers
:{
type
:
'string'
,
"x-component-props"
:{
placeholder
:
'需求会员'
}
},
category
:{
type
:
'string'
,
'x-component'
:
'CustomInputSearch'
,
'x-component-props'
:
{
placeholder
:
'
商品
品类'
,
placeholder
:
'品类'
,
showSearch
:
true
,
showArrow
:
true
,
defaultActiveFirstOption
:
false
,
...
...
@@ -83,13 +89,12 @@ export const enquierySchema: ISchema = {
// },
// enum:[]
},
voucherTime
:{
type
:
'string'
,
default
:
0
,
"x-component-props"
:{
placeholder
:
'请选择单据时间'
},
enum
:
TimeList
"[startVoucherTime,endVoucherTime]"
:
{
type
:
'string'
,
"x-component"
:
"dateSelect"
,
"x-component-props"
:
{
placeholder
:
'单据时间'
,
}
},
}
},
...
...
@@ -247,7 +252,7 @@ export const enquierySearchSchema: ISchema = {
},
"x-component-props"
:{
placeholder
:
'
搜索
'
,
placeholder
:
'
需求单号
'
,
align
:
'flex-left'
,
}
}
...
...
@@ -276,38 +281,73 @@ export const enquierySearchSchema: ISchema = {
inline
:
true
},
properties
:{
details
:{
type
:
'string'
,
"x-component-props"
:{
placeholder
:
'需求摘要'
}
},
demandMembers
:{
type
:
'string'
,
"x-component-props"
:{
placeholder
:
'
询价
会员'
placeholder
:
'
需求
会员'
}
},
// category:{
// type:'string',
// 'x-component': 'CustomInputSearch',
// 'x-component-props': {
// placeholder: '商品品类',
// showSearch: true,
// showArrow: true,
// defaultActiveFirstOption: false,
// filterOption: false,
// notFoundContent: null,
// style: { width: '174px', lineHeight: '32px' },
// searchValue: null,
// dataoption: []
// }
// // "x-component-props":{
// // placeholder:'请选择品类'
// // },
// // enum:[]
// },
voucherTime
:{
category
:{
type
:
'string'
,
'x-component'
:
'CustomInputSearch'
,
'x-component-props'
:
{
placeholder
:
'品类'
,
showSearch
:
true
,
showArrow
:
true
,
defaultActiveFirstOption
:
false
,
filterOption
:
false
,
notFoundContent
:
null
,
style
:
{
width
:
'174px'
,
lineHeight
:
'32px'
},
searchValue
:
null
,
dataoption
:
[]
}
// "x-component-props":{
// placeholder:'请选择品类'
// },
// enum:[]
},
"[startVoucherTime,endVoucherTime]"
:
{
type
:
'string'
,
"x-component"
:
"dateSelect"
,
"x-component-props"
:
{
placeholder
:
'单据时间'
,
}
},
externalState
:{
type
:
'string'
,
default
:
0
,
"x-component-props"
:{
placeholder
:
'
请选择单据时间
'
placeholder
:
'
外部状态
'
},
enum
:
TimeList
enum
:
[
{
label
:
'待提交需求单'
,
value
:
1
},
{
label
:
'待审核需求单'
,
value
:
2
},
{
label
:
'待提交报价单'
,
value
:
3
},
{
label
:
'待确认报价单'
,
value
:
4
},
{
label
:
'接受报价'
,
value
:
5
},
{
label
:
'不接受报价'
,
value
:
6
},
{
label
:
'取消报价单'
,
value
:
7
},
]
},
interiorState
:{
type
:
'string'
,
"x-component-props"
:{
placeholder
:
'外部状态'
},
enum
:
[
{
label
:
'新增需求单'
,
value
:
1
},
{
label
:
'审核通过'
,
value
:
2
},
{
label
:
'审核通过'
,
value
:
3
},
{
label
:
'待提交需求单'
,
value
:
4
},
{
label
:
'审核通过'
,
value
:
5
},
{
label
:
'审核不通过'
,
value
:
6
},
{
label
:
'取消报价单'
,
value
:
7
},
]
},
}
},
...
...
@@ -526,5 +566,3 @@ export const enquieryOfferSearchSchema: ISchema = {
}
}
}
src/pages/rfq/details/index.tsx
View file @
ca5b6a32
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
import
React
,
{
useState
,
useEffect
,
ReactNode
}
from
'react'
;
import
style
from
'./index.less'
import
{
history
}
from
'umi'
;
import
{
Button
,
Card
,
Tabs
,
Steps
,
Table
}
from
'antd'
;
import
{
Card
,
Tabs
,
Steps
,
Table
,
Tag
}
from
'antd'
;
import
{
LinkOutlined
}
from
'@ant-design/icons'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
EyeOutlined
,
ClockCircleOutlined
,
UpOutlined
,
DownOutlined
,
StopOutlined
,
CheckSquareOutlined
}
from
'@ant-design/icons'
import
ReutrnEle
from
'@/components/ReturnEle'
;
import
{
StandardTable
}
from
'god'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
{
PublicApi
}
from
'@/services/api'
;
...
...
@@ -14,19 +11,8 @@ import { PublicApi } from '@/services/api';
const
{
TabPane
}
=
Tabs
;
const
{
Step
}
=
Steps
;
export
interface
parmas
{
page_type
?:
any
,
id
?:
any
,
view
?:
any
}
const
Details
:
React
.
FC
<
parmas
>
=
(
props
)
=>
{
const
[
visible
,
setvisible
]
=
useState
(
false
)
const
ref
=
useRef
<
any
>
({});
//page_type: 1.待确认报价单,2.待审核报价单1级,3.待审核报价单2级,4.报价单查询,5.待提交审核报价单
//view: 1.询价单号,2.报价单号
const
{
id
,
page_type
}
=
props
;
const
[
headerWrapperData
,
setheaderWrapperData
]
=
useState
<
Array
<
any
>>
([]);
const
Details
:
React
.
FC
<
{}
>
=
(
props
)
=>
{
const
{
id
}
=
history
.
location
.
query
;
// 拿到pathname,通过判断来显示询价单号或报价单号
const
{
pathname
}
=
history
.
location
;
const
type
=
pathname
.
split
(
'/'
)[
pathname
.
split
(
'/'
).
length
-
2
];
...
...
@@ -99,24 +85,24 @@ const Details: React.FC<parmas> = (props) => {
render
:
(
text
:
any
,
record
:
any
)
=>
<
EyePreview
>
{
text
}
</
EyePreview
>
},
{
title
:
'品类'
,
key
:
'
inquiryListNo
'
,
dataIndex
:
'
inquiryListNo
'
,
key
:
'
category
'
,
dataIndex
:
'
category
'
,
},
{
title
:
'品牌'
,
key
:
'brand'
,
dataIndex
:
'brand'
,
},
{
title
:
'单位'
,
key
:
'
nu
it'
,
dataIndex
:
'
nu
it'
,
key
:
'
un
it'
,
dataIndex
:
'
un
it'
,
},
{
title
:
'采购数量'
,
key
:
'purchase
Quantity
'
,
dataIndex
:
'purchase
Quantity
'
,
key
:
'purchase
Count
'
,
dataIndex
:
'purchase
Count
'
,
},
{
title
:
'报价单价'
,
key
:
'pric'
,
dataIndex
:
'pric'
,
key
:
'pric
e
'
,
dataIndex
:
'pric
e
'
,
},
{
title
:
'金额'
,
key
:
'money'
,
...
...
@@ -230,6 +216,16 @@ const Details: React.FC<parmas> = (props) => {
})
},
[])
const
ExternalState
=
(
text
:
any
)
=>
{
let
component
:
ReactNode
=
null
;
text
===
1
?
component
=
<
Tag
color=
"default"
>
提交询价单
</
Tag
>:
text
===
2
?
component
=
<
Tag
color=
"processing"
>
提交报价单
</
Tag
>:
text
===
3
?
component
=
<
Tag
color=
"warning"
>
确认报价单
</
Tag
>:
text
===
4
?
component
=
<
Tag
color=
"success"
>
报价通过
</
Tag
>:
component
=
<
Tag
color=
"error"
>
报价不通过
</
Tag
>
return
component
;
}
return
(
<
PageHeaderWrapper
className=
{
style
.
header
}
...
...
@@ -239,7 +235,7 @@ const Details: React.FC<parmas> = (props) => {
<
div
className=
{
style
[
'headerTop'
]
}
>
<
div
className=
{
style
[
'headerTop-prefix'
]
}
>
单
</
div
>
<
div
className=
{
style
[
'headerTop-name'
]
}
>
报价单号 : 100000000
询价单号 :
{
data
.
inquiryListNo
}
</
div
>
<
div
className=
{
style
[
`levelIcon${'1'}`
]
}
></
div
>
</
div
>
...
...
@@ -248,16 +244,21 @@ const Details: React.FC<parmas> = (props) => {
content=
{
<
div
className=
{
style
[
'headerMain'
]
}
>
<
div
className=
{
style
[
'headerMain-left'
]
}
>
{
Number
(
page_type
)
!==
4
&&
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
询价单号:
</
div
>
<
div
><
a
>
123132132132
</
a
>
</
div
>
</
div
>
}
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
询价会员:
</
div
>
<
div
><
a
>
123132132132
</
a
>
</
div
>
<
div
><
a
>
{
data
.
inquiryListMemberName
}
</
a
>
</
div
>
</
div
>
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
询价摘要
</
div
>
<
div
>
{
data
.
details
}
</
div
>
</
div
>
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
单据时间
</
div
>
<
div
>
{
data
.
voucherTime
}
</
div
>
</
div
>
<
div
className=
{
style
[
'headerMain-left-option'
]
}
>
<
div
>
外部状态
</
div
>
<
div
>
{
ExternalState
(
data
.
externalState
)
}
</
div
>
</
div
>
</
div
>
</
div
>
...
...
@@ -286,7 +287,7 @@ const Details: React.FC<parmas> = (props) => {
<
Table
columns=
{
inquiryGoods
}
pagination=
{
false
}
rowKey=
'id'
dataSource=
{
data
.
inquiryListProductRequests
}
/>
</
Card
>
<
Card
className=
{
style
.
item_wrap
}
>
<
div
className=
{
style
.
mainCol_title
}
>
{
infoTem
[
(
Number
(
page_type
)
===
1
||
Number
(
page_type
)
===
5
)
?
'freight'
:
'base'
].
title
}
</
div
>
<
div
className=
{
style
.
mainCol_title
}
>
{
infoTem
[
'base'
].
title
}
</
div
>
<
div
className=
{
style
[
'mainCol-rows'
]
}
>
<
div
className=
{
style
[
'mainCol-rows-cols'
]
}
>
{
infoTem
[
'base'
].
leftElem
.
map
(
...
...
src/pages/ruleSettingManage/paySetting/settingIndex.tsx
View file @
ca5b6a32
...
...
@@ -197,7 +197,7 @@ const PaySetting: React.FC<{}> = () => {
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
setTimeout
(()
=>
{
history
.
push
(
'/home'
)
history
.
push
(
`/ruleSettingManager/paySetting`
)
},
1500
)
}
})
...
...
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