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
黄庭坚
jinfa-platform
Commits
396b639d
Commit
396b639d
authored
Apr 22, 2021
by
前端-黄佳鑫
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
🐞
fix: 修复多次报价的显示
parent
bb2d4276
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
173 additions
and
82 deletions
+173
-82
index.tsx
...lity/components/detail/components/contrastLyout/index.tsx
+87
-44
index.tsx
.../transaction/purchaseAbility/confirmOffer/quote/index.tsx
+2
-2
index.ts
src/pages/transaction/purchaseAbility/constants/index.ts
+2
-2
add.tsx
...ages/transaction/purchaseAbility/offter/addOffter/add.tsx
+3
-2
offer.tsx
...ion/purchaseAbility/offter/addOffter/components/offer.tsx
+79
-32
No files found.
src/pages/transaction/purchaseAbility/components/detail/components/contrastLyout/index.tsx
View file @
396b639d
import
React
,
{
useContext
,
useEffect
,
useState
}
from
'react'
;
import
{
Space
,
Button
,
Tabs
,
Divider
,
Skeleton
,
Typography
,
message
,
Row
,
Col
}
from
'antd'
;
import
React
,
{
useContext
,
useEffect
,
useState
,
useRef
}
from
'react'
;
import
{
Space
,
Button
,
Tabs
,
Divider
,
Skeleton
,
Typography
,
message
,
Row
,
Col
,
Tooltip
}
from
'antd'
;
import
{
StandardTable
}
from
'god'
;
import
{
history
}
from
'umi'
;
import
moment
from
'moment'
;
...
...
@@ -10,9 +10,9 @@ import EyePreview from '@/components/EyePreview';
import
{
PublicApi
}
from
'@/services/api'
;
import
BidTable
from
'../bidTable'
;
import
{
Context
,
BidDetailContext
}
from
'../context'
;
import
{
useBidTable
}
from
'../../../effects/useBidTable'
;
import
{
FilePdfOutlined
}
from
'@ant-design/icons'
;
import
ModalOperate
from
'../../../modalOperate'
;
import
{
useBidTable
}
from
'../../../effects/useBidTable'
;
export
interface
ContrastProps
{
effect
?:
any
,
...
...
@@ -20,6 +20,18 @@ export interface ContrastProps {
preview
?:
boolean
}
const
chNum
:
{
[
key
:
number
]:
string
}
=
{
1
:
'一'
,
2
:
'二'
,
3
:
'三'
,
4
:
'四'
,
5
:
'五'
,
6
:
'六'
,
7
:
'七'
,
8
:
'八'
,
9
:
'九'
,
}
const
ContrastLyout
:
React
.
FC
<
ContrastProps
>
=
(
props
:
any
)
=>
{
const
{
effect
:
{
...
...
@@ -35,11 +47,17 @@ const ContrastLyout: React.FC<ContrastProps> = (props: any) => {
ctl
:
{
setDataSource
}
}
}
=
useBidTable
();
const
ref
=
useRef
<
any
>
({});
const
context
=
useContext
(
Context
);
const
[
loading
,
setLoading
]
=
useState
<
boolean
>
(
false
);
const
[
disabled
,
setDisabled
]
=
useState
<
boolean
>
(
false
);
const
[
type
,
setType
]
=
useState
<
string
>
(
''
);
const
[
visible
,
setVisible
]
=
useState
<
boolean
>
(
false
);
const
[
iturn
,
setTurn
]
=
useState
<
Array
<
number
>>
([]);
const
[
isDecrypt
,
setIsDecrypt
]
=
useState
<
number
>
();
/** 当前的轮次 */
const
[
count
,
setCount
]
=
useState
<
number
>
(
turn
);
const
format
=
(
text
)
=>
{
return
<>
{
moment
(
text
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
}
</>
}
...
...
@@ -50,8 +68,8 @@ const ContrastLyout: React.FC<ContrastProps> = (props: any) => {
dataIndex
:
'quotedPriceNo'
,
render
:
(
text
:
any
,
record
:
any
)
=>
(
<
Space
direction=
'vertical'
>
{
context
.
priceContrast
===
PRICECONTRAST_TYPE
.
UNENCRYPTED
&&
<
EyePreview
url=
{
`/memberCenter/procurementAbility/confirmOffer/quote/detail?id=${record.id}&number=${record.quotedPriceNo}`
}
>
{
text
}
</
EyePreview
>
}
{
context
.
priceContrast
===
PRICECONTRAST_TYPE
.
UNDECRYPTED
&&
<
Typography
.
Text
type=
'success'
>
{
text
}
</
Typography
.
Text
>
}
{
record
.
isDecrypt
===
PRICECONTRAST_TYPE
.
UNENCRYPTED
&&
<
EyePreview
url=
{
`/memberCenter/procurementAbility/confirmOffer/quote/detail?id=${record.id}&number=${record.quotedPriceNo}&turn=${record.turn}`
}
>
{
text
}
</
EyePreview
>
}
{
record
.
isDecrypt
===
PRICECONTRAST_TYPE
.
UNDECRYPTED
&&
<
Tooltip
placement=
"topLeft"
title=
'当前报价为密封报价,请先解密报价单'
><
Typography
.
Text
type=
'success'
>
{
text
}
</
Typography
.
Text
></
Tooltip
>
}
<
Typography
.
Text
>
{
record
.
details
}
</
Typography
.
Text
>
</
Space
>
)
...
...
@@ -89,17 +107,29 @@ const ContrastLyout: React.FC<ContrastProps> = (props: any) => {
title
:
'解密状态'
,
key
:
'isDecrypt'
,
dataIndex
:
'isDecrypt'
,
render
:
(
text
:
any
,
record
:
any
)
=>
(
<
Typography
.
Text
>
{
text
===
1
?
'
未加
密'
:
'未解密'
}
</
Typography
.
Text
>
render
:
(
text
:
any
)
=>
(
<
Typography
.
Text
>
{
text
===
1
?
'
已解
密'
:
'未解密'
}
</
Typography
.
Text
>
)
},
]
/** 轮次 */
const
handleTurn
=
(
num
:
number
)
=>
{
let
isTurn
:
Array
<
number
>
=
[];
for
(
let
i
=
0
;
i
<
num
;
i
+=
1
)
{
isTurn
.
push
(
i
+
1
)
}
setTurn
(
isTurn
.
reverse
());
}
const
fetchTableData
=
(
params
:
any
)
=>
{
return
new
Promise
(
resolve
=>
{
PublicApi
.
getPurchaseConfirmQuotedPriceQuotedPriceInfo
({
...
params
,
id
,
turn
}).
then
(
res
=>
{
PublicApi
.
getPurchaseConfirmQuotedPriceQuotedPriceInfo
({
...
params
,
id
,
turn
:
count
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
)
if
(
res
.
data
.
data
.
length
>
0
)
{
setIsDecrypt
(
res
.
data
.
data
[
0
].
isDecrypt
);
}
}
})
})
...
...
@@ -158,19 +188,20 @@ const ContrastLyout: React.FC<ContrastProps> = (props: any) => {
setDataSource
(
params
);
if
(
preview
)
{
redux
(
params
)
console
.
log
(
params
,
data
)
}
}
/** 立即比价 */
const
atonceContrast
=
()
=>
{
const
PRICECONTRAST
=
context
.
priceContras
t
;
const
atonceContrast
=
async
()
=>
{
const
PRICECONTRAST
=
isDecryp
t
;
if
(
PRICECONTRAST
===
PRICECONTRAST_TYPE
.
UNENCRYPTED
)
{
setBoolean
(
true
);
const
params
=
{
id
,
turn
turn
:
count
.
toString
()
}
PublicApi
.
getPurchaseConfirmQuotedPriceRightOffContrastPrice
({...
params
},
{
ctrlType
:
'none'
}).
then
((
res
:
any
)
=>
{
await
PublicApi
.
getPurchaseConfirmQuotedPriceRightOffContrastPrice
({
...
params
},
{
ctrlType
:
'none'
}).
then
((
res
:
any
)
=>
{
if
(
res
.
code
===
1000
)
{
const
{
data
}
=
res
;
if
(
data
.
length
>
0
)
{
...
...
@@ -198,17 +229,23 @@ const ContrastLyout: React.FC<ContrastProps> = (props: any) => {
useEffect
(()
=>
{
if
(
preview
&&
Object
.
keys
(
context
).
length
>
0
)
{
if
(
context
.
priceContras
t
===
PRICECONTRAST_TYPE
.
UNENCRYPTED
)
{
if
(
isDecryp
t
===
PRICECONTRAST_TYPE
.
UNENCRYPTED
)
{
atonceContrast
()
}
handleTurn
(
turn
)
}
},
[
context
])
},
[
context
,
isDecrypt
])
const
handleSubmit
=
(
type
:
string
)
=>
{
setVisible
(
true
)
setType
(
type
)
}
const
handleOnChang
=
(
e
:
any
)
=>
{
console
.
log
(
ref
.
current
)
setCount
(
e
)
}
return
(
<
BidDetailContext
.
Provider
value=
{
dataSource
}
>
<
Card
...
...
@@ -218,7 +255,7 @@ const ContrastLyout: React.FC<ContrastProps> = (props: any) => {
preview
?
null
:
<
Space
>
<
Button
onClick=
{
()
=>
handleSubmit
(
'next'
)
}
>
发起下轮报价
</
Button
>
{
context
.
priceContras
t
===
PRICECONTRAST_TYPE
.
UNDECRYPTED
&&
{
isDecryp
t
===
PRICECONTRAST_TYPE
.
UNDECRYPTED
&&
<
Button
onClick=
{
()
=>
handleSubmit
(
'key'
)
}
>
解密报价单
</
Button
>
}
...
...
@@ -232,37 +269,43 @@ const ContrastLyout: React.FC<ContrastProps> = (props: any) => {
</
Space
>
}
>
<
Tabs
>
<
Tabs
.
TabPane
key=
'1'
tab=
'第一轮'
>
<
div
className=
{
style
.
divider
}
>
<
Divider
type=
'vertical'
className=
{
style
.
vertical
}
/>
供应商信息
</
div
>
<
StandardTable
columns=
{
columns
}
tableProps=
{
{
rowKew
:
'id'
}
}
fetchTableData=
{
(
params
:
any
)
=>
fetchTableData
(
params
)
}
/>
<
Skeleton
active
loading=
{
loading
}
/>
{
dataSource
.
length
>
0
&&
(
<>
<
div
className=
{
style
.
divider
}
>
<
Divider
type=
'vertical'
className=
{
style
.
vertical
}
/>
<
Tabs
onChange=
{
handleOnChang
}
>
{
iturn
.
map
((
item
:
any
)
=>
(
<
Tabs
.
TabPane
key=
{
item
}
tab=
{
`第${chNum[item]}轮`
}
>
<
div
className=
{
style
.
divider
}
>
<
Divider
type=
'vertical'
className=
{
style
.
vertical
}
/>
供应商信息
</
div
>
<
StandardTable
currentRef=
{
ref
}
columns=
{
columns
}
tableProps=
{
{
rowKew
:
'id'
}
}
fetchTableData=
{
(
params
:
any
)
=>
fetchTableData
(
params
)
}
/>
<
Skeleton
active
loading=
{
loading
}
/>
{
dataSource
.
length
>
0
&&
(
<>
<
div
className=
{
style
.
divider
}
>
<
Divider
type=
'vertical'
className=
{
style
.
vertical
}
/>
比价信息
</
div
>
<
BidTable
preview=
{
preview
}
redux=
{
reduxFetch
}
/>
</>
)
}
</
Tabs
.
TabPane
>
<
BidTable
preview=
{
preview
}
redux=
{
reduxFetch
}
/>
</>
)
}
</
Tabs
.
TabPane
>
))
}
</
Tabs
>
{
preview
&&
{
preview
&&
<
Row
gutter=
{
[
0
,
4
]
}
style=
{
{
marginTop
:
'1em'
}
}
>
<
Col
span=
{
24
}
>
<
div
className=
{
style
[
'card-list'
]
}
>
...
...
@@ -296,7 +339,7 @@ const ContrastLyout: React.FC<ContrastProps> = (props: any) => {
visible=
{
visible
}
fetch=
{
type
===
'next'
?
PublicApi
.
postPurchaseConfirmQuotedPriceLaunchTurnQuotedPrice
:
PublicApi
.
postPurchaseConfirmQuotedPriceDecryptQuotedPrice
PublicApi
.
postPurchaseConfirmQuotedPriceDecryptQuotedPrice
}
onCancel=
{
()
=>
setVisible
(
false
)
}
onOk=
{
()
=>
history
.
goBack
()
}
...
...
src/pages/transaction/purchaseAbility/confirmOffer/quote/index.tsx
View file @
396b639d
...
...
@@ -25,7 +25,7 @@ const QuoteDetails = () => {
const
format
=
(
text
)
=>
{
return
<>
{
moment
(
text
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
}
</>
}
const
{
query
:
{
id
,
number
},
pathname
}
=
history
.
location
;
const
{
query
:
{
id
,
number
,
turn
},
pathname
}
=
history
.
location
;
const
[
dataSource
,
setDataSource
]
=
useState
<
any
>
({});
const
[
basicEffect
,
setBasicEffect
]
=
useState
<
any
>
([]);
const
[
otherEffect
,
setOtherEffect
]
=
useState
<
any
>
([]);
...
...
@@ -107,7 +107,7 @@ const QuoteDetails = () => {
<
BasicLayout
effect=
{
basicEffect
}
/>
<
BidInfoLayout
fetch=
{
PublicApi
.
getPurchaseConfirmQuotedPriceMaterielDetailed
}
effect=
{
{
turn
:
dataSource
.
count
,
id
}
}
effect=
{
{
turn
,
id
}
}
/>
<
OtherLayout
effect=
{
otherEffect
}
/>
</
Fragment
>
...
...
src/pages/transaction/purchaseAbility/constants/index.ts
View file @
396b639d
...
...
@@ -294,7 +294,7 @@ export const OFFTER_CONFIRMINTERIORSTATE_COLOR = {
export
enum
PRICECONTRAST_TYPE
{
/** 未解密 */
UNDECRYPTED
=
1
,
/**
未加
密 */
UNDECRYPTED
=
0
,
/**
已解
密 */
UNENCRYPTED
}
src/pages/transaction/purchaseAbility/offter/addOffter/add.tsx
View file @
396b639d
...
...
@@ -21,7 +21,7 @@ const AddForm = () => {
/** 基本信息 */
const
[
basic
,
setbasic
]
=
useState
<
any
>
({});
/** 报价信息 */
const
[
offer
,
setoffer
]
=
useState
<
any
>
(
[]
);
const
[
offer
,
setoffer
]
=
useState
<
any
>
(
{}
);
/** 报价说明 */
const
[
explain
,
setexplain
]
=
useState
<
any
>
({});
/** 附件 */
...
...
@@ -62,7 +62,8 @@ const AddForm = () => {
basicInfo
.
createTime
=
params
.
createTime
;
basicInfo
.
externalState
=
params
.
externalState
;
basicInfo
.
interiorState
=
params
.
interiorState
;
offerInfo
.
count
=
params
.
count
||
1
;
offerInfo
.
count
=
params
.
count
||
0
;
offerInfo
.
id
=
params
.
id
;
if
(
params
.
count
)
{
offerInfo
.
materiels
=
params
.
quotedPriceProducts
;
}
else
{
...
...
src/pages/transaction/purchaseAbility/offter/addOffter/components/offer.tsx
View file @
396b639d
...
...
@@ -13,6 +13,7 @@ import {
import
{
CaretDownOutlined
,
CaretRightOutlined
}
from
'@ant-design/icons'
;
import
style
from
'./index.less'
;
import
CrossSellProducts
from
'../modal/crossSellProducts'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
{
Text
}
=
Typography
;
const
{
Option
}
=
Select
;
...
...
@@ -34,23 +35,27 @@ const OfferInfo: React.FC<IProps> = (props: any) => {
const
[
visible
,
setVisible
]
=
useState
<
boolean
>
(
false
);
const
[
record
,
setRecord
]
=
useState
<
any
>
({});
const
[
index
,
setIndex
]
=
useState
<
number
>
();
const
[
dataSource
,
setDataSource
]
=
useState
<
any
>
(
fetchdata
.
materiels
)
const
[
data
,
setData
]
=
useState
<
any
>
({});
const
[
dataSource
,
setDataSource
]
=
useState
<
any
>
([]);
const
[
idx
,
setIdx
]
=
useState
<
number
>
(
0
);
/** 修改税率&单价 */
const
handleEdit
=
(
e
,
name
,
idx
)
=>
{
const
data
=
[...
dataSource
];
const
handleEdit
=
(
e
,
name
,
index
)
=>
{
const
params
=
{
...
data
}
const
query
=
[...
params
[
idx
]];
switch
(
name
)
{
case
'isTax'
:
data
[
id
x
].
isTax
=
Number
(
e
)
query
[
inde
x
].
isTax
=
Number
(
e
)
break
;
case
'taxProbability'
:
data
[
id
x
].
taxProbability
=
e
.
target
.
value
;
query
[
inde
x
].
taxProbability
=
e
.
target
.
value
;
break
;
case
'taxUnitPrice'
:
data
[
id
x
].
taxUnitPrice
=
e
.
target
.
value
;
query
[
inde
x
].
taxUnitPrice
=
e
.
target
.
value
;
break
;
}
setDataSource
(
data
)
params
[
idx
]
=
[...
query
];
setData
(
params
)
}
/** 用于展示有第几轮的TABS */
const
[
count
,
setCount
]
=
useState
<
number
>
()
...
...
@@ -108,7 +113,7 @@ const OfferInfo: React.FC<IProps> = (props: any) => {
<
Select
style=
{
{
width
:
100
}
}
onChange=
{
(
e
)
=>
handleEdit
(
e
,
'isTax'
,
index
)
}
disabled=
{
fetchdata
&&
(
fetchdata
.
count
!==
tabs
[
0
])
}
disabled=
{
fetchdata
&&
(
count
!==
tabs
[
0
])
}
>
<
Option
value=
{
1
}
>
是
</
Option
>
<
Option
value=
{
0
}
>
否
</
Option
>
...
...
@@ -129,7 +134,7 @@ const OfferInfo: React.FC<IProps> = (props: any) => {
>
<
Input
onChange=
{
(
e
)
=>
handleEdit
(
e
,
'taxProbability'
,
index
)
}
disabled=
{
fetchdata
&&
(
fetchdata
.
count
!==
tabs
[
0
])
}
disabled=
{
fetchdata
&&
(
count
!==
tabs
[
0
])
}
addonAfter=
"%"
/>
</
Form
.
Item
>
...
...
@@ -149,7 +154,7 @@ const OfferInfo: React.FC<IProps> = (props: any) => {
>
<
Input
onChange=
{
(
e
)
=>
handleEdit
(
e
,
'taxUnitPrice'
,
index
)
}
disabled=
{
fetchdata
&&
(
fetchdata
.
count
!==
tabs
[
0
])
}
disabled=
{
fetchdata
&&
(
count
!==
tabs
[
0
])
}
addonBefore=
"¥"
/>
</
Form
.
Item
>
...
...
@@ -182,29 +187,59 @@ const OfferInfo: React.FC<IProps> = (props: any) => {
/** 确定关联商品 */
const
handleConfirm
=
(
params
:
any
)
=>
{
console
.
log
(
params
,
10086
)
const
productAttributeJson
=
params
.
product
.
name
.
split
(
'/'
).
filter
((
_item
,
index
)
=>
index
!==
0
).
join
(
'/'
);
const
data
=
[...
dataSource
];
data
[
index
].
productId
=
params
.
product
.
id
;
data
[
index
].
customerCategoryName
=
params
.
product
.
customerCategoryName
;
data
[
index
].
productName
=
params
.
product
.
name
;
data
[
index
].
productBrand
=
params
.
product
.
brandName
;
data
[
index
].
productAttributeJson
=
productAttributeJson
;
data
[
index
].
enclosureUrls
=
params
.
files
;
setDataSource
(
data
)
const
param
=
{
...
data
};
const
query
=
[...
param
[
idx
]];
query
[
index
].
productId
=
params
.
product
.
id
;
query
[
index
].
customerCategoryName
=
params
.
product
.
customerCategoryName
;
query
[
index
].
productName
=
params
.
product
.
name
;
query
[
index
].
productBrand
=
params
.
product
.
brandName
;
query
[
index
].
productAttributeJson
=
productAttributeJson
;
query
[
index
].
enclosureUrls
=
params
.
files
;
param
[
idx
]
=
[...
query
];
setData
(
param
)
setVisible
(
false
);
}
const
fetchTableData
=
(
turn
:
any
,
index
:
number
)
=>
{
const
params
=
{
id
:
fetchdata
.
id
,
turn
,
current
:
'1'
,
pageSize
:
'100'
,
}
PublicApi
.
getPurchaseQuotedPriceMaterielDetailed
({
...
params
}).
then
((
res
:
any
)
=>
{
if
(
res
.
code
!==
1000
)
{
return
}
const
param
=
{
...
data
};
param
[
index
]
=
[...
res
.
data
.
data
];
console
.
log
(
param
,
10086
)
setData
({
...
param
});
setDataSource
(
res
.
data
.
data
)
})
}
useEffect
(()
=>
{
if
(
fetchdata
.
materiels
)
{
setDataSource
(
fetchdata
.
materiels
)
if
(
fetchdata
.
id
)
{
const
isTurn
=
fetchdata
.
count
?
fetchdata
.
count
:
1
;
fetchTableData
(
isTurn
,
0
)
}
if
(
fetchdata
.
count
)
{
console
.
log
(
fetchdata
.
count
,
10086
)
if
(
fetchdata
.
count
||
fetchdata
.
count
===
0
)
{
let
aCount
=
0
;
if
(
name
===
'edit'
)
{
aCount
=
fetchdata
.
count
?
(
fetchdata
.
count
+
1
)
:
1
;
}
else
if
(
name
===
'quote'
)
{
aCount
=
fetchdata
.
count
?
(
fetchdata
.
count
+
1
)
:
1
;
}
form
.
setFieldsValue
({
count
:
fetchdata
.
c
ount
count
:
aC
ount
})
setCount
(
fetchdata
.
count
)
handleTabs
(
fetchdata
.
count
||
1
)
setCount
(
aCount
);
handleTabs
(
aCount
);
}
},
[
fetchdata
])
...
...
@@ -213,7 +248,7 @@ const OfferInfo: React.FC<IProps> = (props: any) => {
get
:
()
=>
new
Promise
((
resolve
:
any
)
=>
{
form
.
validateFields
().
then
(
res
=>
{
const
detailss
:
any
=
[];
data
Source
.
forEach
(
item
=>
{
data
[
0
]
.
forEach
(
item
=>
{
console
.
log
(
item
,
10086
)
detailss
.
push
({
purchaseInquiryDetailsId
:
name
===
'quote'
?
item
.
id
:
item
.
purchaseInquiryDetailsId
,
...
...
@@ -224,7 +259,7 @@ const OfferInfo: React.FC<IProps> = (props: any) => {
productId
:
item
.
productId
,
goodsId
:
item
.
goodsId
,
productBrand
:
item
.
productBrand
,
productAttributeJson
:
''
,
productAttributeJson
:
item
.
productAttributeJson
,
})
})
resolve
({
...
...
@@ -239,7 +274,19 @@ const OfferInfo: React.FC<IProps> = (props: any) => {
})
})
}
},
[
dataSource
])
},
[
data
])
const
handleRadioGroup
=
(
e
)
=>
{
const
params
=
{
...
data
};
const
{
value
}
=
e
.
target
;
const
index
=
e
.
target
[
'data-index'
]
setCount
(
value
);
setIdx
(
index
);
if
(
!
params
[
index
])
{
const
isTurn
=
value
===
1
?
1
:
value
-
1
fetchTableData
(
isTurn
,
index
)
}
}
return
(
<
Form
...
...
@@ -247,17 +294,17 @@ const OfferInfo: React.FC<IProps> = (props: any) => {
className=
{
style
.
offerStyle
}
>
<
Form
.
Item
name=
'count'
>
<
Radio
.
Group
>
{
tabs
.
length
>
0
&&
tabs
.
map
(
item
=>
{
<
Radio
.
Group
onChange=
{
handleRadioGroup
}
>
{
tabs
.
length
>
0
&&
tabs
.
map
(
(
item
,
index
:
any
)
=>
{
return
(
<
Radio
.
Button
key=
{
item
}
value=
{
item
}
>
第
{
item
}
轮
</
Radio
.
Button
>
<
Radio
.
Button
key=
{
item
}
value=
{
item
}
data
-
index=
{
index
}
>
第
{
item
}
轮
</
Radio
.
Button
>
)
})
}
</
Radio
.
Group
>
</
Form
.
Item
>
<
Table
columns=
{
columns
}
dataSource=
{
data
Source
}
dataSource=
{
data
[
idx
]
}
rowClassName=
{
style
.
editableRow
}
pagination=
{
{
size
:
"small"
}
}
rowKey=
'id'
...
...
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