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
9e12c735
Commit
9e12c735
authored
May 25, 2021
by
前端-钟卫鹏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 招投标补全详情缺块内容
parent
3b1dddb3
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
298 additions
and
73 deletions
+298
-73
index.ts
src/constants/index.ts
+0
-6
index.tsx
...es/procurement/callForBids/addRemarkBidTemplate/index.tsx
+2
-0
index.tsx
...rocurement/callForBids/callForBidsSearch/detail/index.tsx
+26
-4
index.tsx
src/pages/procurement/callForBids/readyAddBid/index.tsx
+1
-1
index.tsx
...t/components/bidConfirm/components/givenBidItem/index.tsx
+1
-1
index.tsx
...st/components/bidConfirm/components/totalAmount/index.tsx
+2
-2
index.tsx
.../readyCheckedConfirmFirst/components/bidConfirm/index.tsx
+9
-4
index.tsx
...yCheckedConfirmFirst/components/participateInfo/index.tsx
+3
-6
index.tsx
...d/components/bidConfirm/components/givenBidItem/index.tsx
+1
-1
index.tsx
...nd/components/bidConfirm/components/totalAmount/index.tsx
+2
-2
index.tsx
...readyCheckedConfirmSecond/components/bidConfirm/index.tsx
+9
-4
index.tsx
...CheckedConfirmSecond/components/participateInfo/index.tsx
+2
-2
index.tsx
...d/components/bidConfirm/components/givenBidItem/index.tsx
+1
-1
index.tsx
...id/components/bidConfirm/components/totalAmount/index.tsx
+14
-3
index.tsx
...Bids/readyConfirmBid/components/participateInfo/index.tsx
+1
-1
index.tsx
...d/components/bidConfirm/components/givenBidItem/index.tsx
+1
-1
index.tsx
...id/components/bidConfirm/components/totalAmount/index.tsx
+2
-2
index.tsx
.../callForBids/readyPassBid/components/bidConfirm/index.tsx
+9
-4
index.tsx
...ForBids/readyPassBid/components/participateInfo/index.tsx
+2
-2
useSelfTable.tsx
.../callForBids/readyQualifityChecked/model/useSelfTable.tsx
+2
-2
index.ts
...ages/procurement/callForBids/tenderSearch/schema/index.ts
+2
-2
index.tsx
...t/components/bidConfirm/components/givenBidItem/index.tsx
+5
-7
index.tsx
...nt/components/bidConfirm/components/totalAmount/index.tsx
+2
-2
index.less
src/pages/procurement/components/bidConfirm/index.less
+28
-0
index.tsx
src/pages/procurement/components/bidConfirm/index.tsx
+31
-5
index.tsx
src/pages/procurement/components/bidDetailSection/index.tsx
+6
-0
index.tsx
src/pages/procurement/components/descriptionsInfo/index.tsx
+2
-2
index.tsx
src/pages/procurement/components/participateInfo/index.tsx
+1
-1
index.less
src/pages/procurement/components/registerInfoList/index.less
+30
-0
index.tsx
src/pages/procurement/components/registerInfoList/index.tsx
+96
-0
useSelfTable.tsx
...ocurement/tender/callForBidsSearch/model/useSelfTable.tsx
+1
-1
useSelfTable.tsx
...es/procurement/tender/tenderSearch/model/useSelfTable.tsx
+4
-4
No files found.
src/constants/index.ts
View file @
9e12c735
...
...
@@ -2227,10 +2227,6 @@ export enum TenderInsideWorkState {
Not_Submitted_Submit_Tender
,
/** 已提交投标 */
Submitted_Submit_Tender
,
/** 已评标 */
Finish_Evaluation_Submit_Tender
,
/** 已废标 */
Discard_Tender
,
}
/** 投标 内部状态 */
...
...
@@ -2245,8 +2241,6 @@ export const TenderInStateTexts = {
8
:
"投标审核不通过"
,
9
:
"待提交投标"
,
10
:
"已提交投标"
,
11
:
"已评标"
,
12
:
"已废标"
,
}
/** 投标 外部状态工作流状态 */
...
...
src/pages/procurement/callForBids/addRemarkBidTemplate/index.tsx
View file @
9e12c735
...
...
@@ -40,6 +40,8 @@ const AddRemarkBidTemplate:React.FC<AddRemarkBidTemplateProps> = (props) => {
if
(
!
value
?.
templateContentList
?.
length
)
{
setBtnLoading
(
false
)
return
message
.
error
(
'请填写评标内容'
)
}
else
{
value
.
templateContentList
=
value
.
templateContentList
.
filter
(
item
=>
Object
.
keys
(
item
).
length
>
0
)
}
PublicApi
.
postPurchaseTemplateSaveOrUpdateTemplate
(
value
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
...
...
src/pages/procurement/callForBids/callForBidsSearch/detail/index.tsx
View file @
9e12c735
...
...
@@ -5,6 +5,7 @@ import { BidDetailContext } from '@/pages/procurement/_public/bid/context';
import
{
useBidDetail
}
from
'@/pages/procurement/_public/bid/effects/useBidDetail'
;
import
BidDetailHeader
from
'@/pages/procurement/components/bidDetailHeader'
;
import
BidDetailSection
from
'@/pages/procurement/components/bidDetailSection'
;
import
{
BidOuterWorkState
}
from
'@/constants'
;
const
CallForBidsSearchDetail
:
React
.
FC
=
()
=>
{
const
{
formContext
,
id
}
=
useBidDetail
({
type
:
'callForBid'
})
...
...
@@ -18,18 +19,39 @@ const CallForBidsSearchDetail: React.FC = () => {
{
title
:
'招标物料'
,
id
:
'bidMaterial'
,
componentName
:
"BidMaterial"
},
{
title
:
'招标要求'
,
id
:
'bidNeed'
,
type
:
"bidNeed"
},
{
title
:
'报名要求'
,
id
:
'registerNeed'
,
type
:
"registerNeed"
},
// // 多条 @需后台返回对应字段才可显示确实模块信息
// { title: '报名信息', id: 'registerInfo', type: "registerInfo" },
{
title
:
'报名信息'
,
id
:
'registerInfoList'
,
componentName
:
"RegisterInfoList"
,
type
:
"registerList"
},
{
title
:
'资格预审要求'
,
id
:
'checkNeed'
,
type
:
"checkNeed"
},
// { title: '资格预审信息', id: 'registerInfo', type: "registerInfo
" },
{
title
:
'资格预审信息'
,
id
:
'preCheckInfoList'
,
componentName
:
"RegisterInfoList"
,
type
:
"preCheckList
"
},
{
title
:
'评标要求'
,
id
:
'remarkNeed'
,
type
:
"remarkNeed"
},
{
title
:
'评标报告'
,
id
:
'remarkBidReport'
,
componentName
:
"RemarkBidReport"
},
{
title
:
'其他要求'
,
id
:
'otherNeed'
,
type
:
"otherNeed"
},
{
title
:
'招标方式'
,
id
:
'bidWay'
,
componentName
:
"BidMethod"
},
//
{ title: '招标结果', id: 'bidConfirm', componentName: "BidConfirm" },
{
title
:
'招标结果'
,
id
:
'bidConfirm'
,
componentName
:
"BidConfirm"
},
{
title
:
'流转记录'
,
id
:
'transferRecord'
,
componentName
:
"BidTransformRecord"
},
]
// 已经报名 才有报名信息
if
(
data
?.
inviteTenderOutStatus
<
BidOuterWorkState
.
Not_Submitted_Qualifications_Check
)
{
anchorTitleList
.
splice
(
5
,
1
)
}
// 已经资格预审 才有资格预审信息
if
(
data
?.
inviteTenderOutStatus
<
BidOuterWorkState
.
Not_Submit_Tender
&&
!
data
?.
isQualificationCheck
)
{
// anchorTitleList.splice(7, 1)
anchorTitleList
.
forEach
((
ele
,
index
)
=>
ele
[
'title'
]
===
'资格预审信息'
&&
anchorTitleList
.
splice
(
index
,
1
))
}
// 已经评标 才有评标报告
if
(
data
?.
inviteTenderOutStatus
<
BidOuterWorkState
.
Not_Finish_Notice
)
{
// anchorTitleList.splice(9, 1)
anchorTitleList
.
forEach
((
ele
,
index
)
=>
ele
[
'title'
]
===
'评标报告'
&&
anchorTitleList
.
splice
(
index
,
1
))
}
// 已经完成招标 才有招标结果
if
(
data
?.
inviteTenderOutStatus
<
BidOuterWorkState
.
Finish_Invite_Tender
)
{
anchorTitleList
.
splice
(
-
2
,
1
)
}
return
(
<
div
>
<
BidDetailContext
.
Provider
value=
{
formContext
}
>
...
...
src/pages/procurement/callForBids/readyAddBid/index.tsx
View file @
9e12c735
...
...
@@ -23,7 +23,7 @@ export interface ReadyAddBidProps {}
const
fetchTableData
=
async
(
params
)
=>
{
const
{
data
}
=
await
PublicApi
.
postPurchaseInviteTenderGetInviteTenderList
({
...
params
,
inviteTenderOutStatusList
:
[
BidOuterWorkState
.
Submitted_Invite_Tender
],
inviteTenderOutStatusList
:
[
BidOuterWorkState
.
Submitted_Invite_Tender
,
BidOuterWorkState
.
Platform_Not_Check_Invite_Tender
],
inviteTenderInStatusList
:
[
BidInsideWorkState
.
Not_Submitted_Check_Invite_Tender
,
BidInsideWorkState
.
Tender_Check_Not_Pass
]
},
{
ctlType
:
"none"
})
return
data
...
...
src/pages/procurement/callForBids/readyCheckedConfirmFirst/components/bidConfirm/components/givenBidItem/index.tsx
View file @
9e12c735
...
...
@@ -87,7 +87,7 @@ export const GivenBidItem:React.FC<GivenBidItemProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
税率:
</
p
></
Col
>
<
Col
><
p
>
{
currentData
[
currentColumn
.
dataIndex
][
'taxRate'
]
}
</
p
></
Col
>
<
Col
><
p
>
{
`${currentData[currentColumn.dataIndex]['taxRate']}%`
}
</
p
></
Col
>
</
Row
>
</
div
>
<
div
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/callForBids/readyCheckedConfirmFirst/components/bidConfirm/components/totalAmount/index.tsx
View file @
9e12c735
...
...
@@ -49,13 +49,13 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
授标数量:
</
p
></
Col
>
<
Col
><
p
>
{
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
1
:
0
,
0
)
}
</
p
></
Col
>
<
Col
><
p
>
{
datas
.
reduce
((
a
,
b
)
=>
a
+
(
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
1
:
0
)
,
0
)
}
</
p
></
Col
>
</
Row
>
</
div
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
授标总额:
</
p
></
Col
>
<
Col
><
p
>
¥
{
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
(
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
*
b
[
item
.
dataIndex
][
'awardRate'
]
/
100
).
toFixed
(
2
)
:
0
,
0
)
}
(含税)
</
p
></
Col
>
<
Col
><
p
>
¥
{
(
datas
.
reduce
((
a
,
b
)
=>
a
+
(
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
(
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
*
b
[
item
.
dataIndex
][
'awardRate'
]
/
100
)
:
0
),
0
)).
toFixed
(
2
)
}
(含税)
</
p
></
Col
>
</
Row
>
</
div
>
</
Col
>)
:
null
)
...
...
src/pages/procurement/callForBids/readyCheckedConfirmFirst/components/bidConfirm/index.tsx
View file @
9e12c735
...
...
@@ -29,10 +29,15 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
useEffect
(()
=>
{
if
(
data
?.
memberList
.
length
)
{
const
{
memberList
}
=
data
const
_memberList
=
memberList
.
map
(
item
=>
({
...
item
,
totalAmount
:
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
})).
sort
((
a
,
b
)
=>
b
.
totalAmount
-
a
.
totalAmount
)
const
_memberList
=
memberList
.
map
(
item
=>
{
// 投过标的才显示
if
(
item
.
submitTender
)
{
return
{
...
item
,
totalAmount
:
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
}
}
}).
filter
(
Boolean
).
sort
((
a
,
b
)
=>
b
.
totalAmount
-
a
.
totalAmount
)
/** 组合table列 */
let
columns
:
any
[]
=
[
...
...
src/pages/procurement/callForBids/readyCheckedConfirmFirst/components/participateInfo/index.tsx
View file @
9e12c735
import
React
,
{
useContext
,
useState
}
from
'react'
import
{
Table
,
Button
,
Radio
,
Tooltip
,
Row
,
Col
}
from
'antd'
import
{
Row
,
Col
}
from
'antd'
import
MellowCard
from
'@/components/MellowCard'
import
{
ReadyConfirmBidContext
}
from
'@/pages/procurement/_public/bid/context'
;
import
{
QuestionCircleOutlined
,
UserOutlined
}
from
'@ant-design/icons'
;
import
style
from
'./index.less'
import
CustomTag
from
'@/pages/procurement/components/CustomTag'
;
import
{
formatTimeString
}
from
'@/utils'
;
...
...
@@ -18,12 +17,10 @@ export interface ParticipateInfoProps {
const
ParticipateInfo
:
React
.
FC
<
ParticipateInfoProps
>
=
({
cardTitle
})
=>
{
const
{
data
,
ctl
}
=
useContext
(
ReadyConfirmBidContext
)
console
.
log
(
data
)
const
[
participateList
,
setParticipateList
]
=
useState
<
any
>
(()
=>
{
return
data
.
memberList
.
map
(
item
=>
({
company
:
item
.
memberName
,
amount
:
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
,
amount
:
item
.
submitTender
?
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
:
0
,
// @todo 多物料下有问题,一个含税一个不含税,如何显示? 先写死
isTax
:
true
,
status
:
item
.
submitTenderOutStatus
,
...
...
@@ -53,7 +50,7 @@ const ParticipateInfo: React.FC<ParticipateInfoProps> = ({cardTitle}) => {
<
Row
className=
{
style
[
'card-list'
]
}
>
<
Col
span=
{
8
}
className=
{
style
[
'card-list_title'
]
}
>
环节状态:
</
Col
>
<
Col
>
<
CustomTag
type=
"
o
ut"
status=
{
item
.
status
}
/>
<
CustomTag
type=
"
tenderO
ut"
status=
{
item
.
status
}
/>
</
Col
>
</
Row
>
<
Row
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/callForBids/readyCheckedConfirmSecond/components/bidConfirm/components/givenBidItem/index.tsx
View file @
9e12c735
...
...
@@ -87,7 +87,7 @@ export const GivenBidItem:React.FC<GivenBidItemProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
税率:
</
p
></
Col
>
<
Col
><
p
>
{
currentData
[
currentColumn
.
dataIndex
][
'taxRate'
]
}
</
p
></
Col
>
<
Col
><
p
>
{
`${currentData[currentColumn.dataIndex]['taxRate']}%`
}
</
p
></
Col
>
</
Row
>
</
div
>
<
div
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/callForBids/readyCheckedConfirmSecond/components/bidConfirm/components/totalAmount/index.tsx
View file @
9e12c735
...
...
@@ -49,13 +49,13 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
授标数量:
</
p
></
Col
>
<
Col
><
p
>
{
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
1
:
0
,
0
)
}
</
p
></
Col
>
<
Col
><
p
>
{
datas
.
reduce
((
a
,
b
)
=>
a
+
(
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
1
:
0
)
,
0
)
}
</
p
></
Col
>
</
Row
>
</
div
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
授标总额:
</
p
></
Col
>
<
Col
><
p
>
¥
{
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
(
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
*
b
[
item
.
dataIndex
][
'awardRate'
]
/
100
).
toFixed
(
2
)
:
0
,
0
)
}
(含税)
</
p
></
Col
>
<
Col
><
p
>
¥
{
(
datas
.
reduce
((
a
,
b
)
=>
a
+
(
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
(
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
*
b
[
item
.
dataIndex
][
'awardRate'
]
/
100
)
:
0
),
0
)).
toFixed
(
2
)
}
(含税)
</
p
></
Col
>
</
Row
>
</
div
>
</
Col
>)
:
null
)
...
...
src/pages/procurement/callForBids/readyCheckedConfirmSecond/components/bidConfirm/index.tsx
View file @
9e12c735
...
...
@@ -29,10 +29,15 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
useEffect
(()
=>
{
if
(
data
?.
memberList
.
length
)
{
const
{
memberList
}
=
data
const
_memberList
=
memberList
.
map
(
item
=>
({
...
item
,
totalAmount
:
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
})).
sort
((
a
,
b
)
=>
b
.
totalAmount
-
a
.
totalAmount
)
const
_memberList
=
memberList
.
map
(
item
=>
{
// 投过标的才显示
if
(
item
.
submitTender
)
{
return
{
...
item
,
totalAmount
:
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
}
}
}).
filter
(
Boolean
).
sort
((
a
,
b
)
=>
b
.
totalAmount
-
a
.
totalAmount
)
/** 组合table列 */
let
columns
:
any
[]
=
[
...
...
src/pages/procurement/callForBids/readyCheckedConfirmSecond/components/participateInfo/index.tsx
View file @
9e12c735
...
...
@@ -23,7 +23,7 @@ const ParticipateInfo: React.FC<ParticipateInfoProps> = ({cardTitle}) => {
const
[
participateList
,
setParticipateList
]
=
useState
<
any
>
(()
=>
{
return
data
.
memberList
.
map
(
item
=>
({
company
:
item
.
memberName
,
amount
:
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
,
amount
:
item
.
submitTender
?
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
:
0
,
// @todo 多物料下有问题,一个含税一个不含税,如何显示? 先写死
isTax
:
true
,
status
:
item
.
submitTenderOutStatus
,
...
...
@@ -53,7 +53,7 @@ const ParticipateInfo: React.FC<ParticipateInfoProps> = ({cardTitle}) => {
<
Row
className=
{
style
[
'card-list'
]
}
>
<
Col
span=
{
8
}
className=
{
style
[
'card-list_title'
]
}
>
环节状态:
</
Col
>
<
Col
>
<
CustomTag
type=
"
o
ut"
status=
{
item
.
status
}
/>
<
CustomTag
type=
"
tenderO
ut"
status=
{
item
.
status
}
/>
</
Col
>
</
Row
>
<
Row
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/callForBids/readyConfirmBid/components/bidConfirm/components/givenBidItem/index.tsx
View file @
9e12c735
...
...
@@ -86,7 +86,7 @@ export const GivenBidItem:React.FC<GivenBidItemProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
税率:
</
p
></
Col
>
<
Col
><
p
>
{
currentData
[
currentColumn
.
dataIndex
][
'taxRate'
]
}
</
p
></
Col
>
<
Col
><
p
>
{
`${currentData[currentColumn.dataIndex]['taxRate']}%`
}
</
p
></
Col
>
</
Row
>
</
div
>
<
div
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/callForBids/readyConfirmBid/components/bidConfirm/components/totalAmount/index.tsx
View file @
9e12c735
import
React
from
'react'
import
React
,
{
useEffect
}
from
'react'
import
{
Divider
,
Row
,
Col
}
from
'antd'
;
import
style
from
'../../index.less'
...
...
@@ -17,6 +17,17 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
columns
,
})
=>
{
// useEffect(() => {
// columns.forEach((item, i) => {
// if(i > 1) {
// let a = datas.reduce((a, b) => {
// return a + (b[item.dataIndex]['isAward'] ? (b[item.dataIndex]['price'] * b.count * b[item.dataIndex]['awardRate'] / 100) : 0)
// }, 0)
// console.log(a)
// }
// })
// }, [datas])
return
<
div
className=
{
style
.
totalWrapper
}
>
<
Row
>
<
Col
span=
{
4
}
></
Col
>
...
...
@@ -49,13 +60,13 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
授标数量:
</
p
></
Col
>
<
Col
><
p
>
{
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'isAward'
]
?
1
:
0
,
0
)
}
</
p
></
Col
>
<
Col
><
p
>
{
datas
.
reduce
((
a
,
b
)
=>
a
+
(
b
[
item
.
dataIndex
][
'isAward'
]
?
1
:
0
)
,
0
)
}
</
p
></
Col
>
</
Row
>
</
div
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
授标总额:
</
p
></
Col
>
<
Col
><
p
>
¥
{
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'isAward'
]
?
(
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
*
b
[
item
.
dataIndex
][
'awardRate'
]
/
100
).
toFixed
(
2
)
:
0
,
0
)
}
(含税)
</
p
></
Col
>
<
Col
><
p
>
¥
{
(
datas
.
reduce
((
a
,
b
)
=>
a
+
(
b
[
item
.
dataIndex
][
'isAward'
]
?
(
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
*
b
[
item
.
dataIndex
][
'awardRate'
]
/
100
)
:
0
),
0
)).
toFixed
(
2
)
}
(含税)
</
p
></
Col
>
</
Row
>
</
div
>
</
Col
>)
:
null
)
...
...
src/pages/procurement/callForBids/readyConfirmBid/components/participateInfo/index.tsx
View file @
9e12c735
...
...
@@ -54,7 +54,7 @@ const ParticipateInfo: React.FC<ParticipateInfoProps> = ({cardTitle}) => {
<
Row
className=
{
style
[
'card-list'
]
}
>
<
Col
span=
{
8
}
className=
{
style
[
'card-list_title'
]
}
>
环节状态:
</
Col
>
<
Col
>
<
CustomTag
type=
"
o
ut"
status=
{
item
.
status
}
/>
<
CustomTag
type=
"
tenderO
ut"
status=
{
item
.
status
}
/>
</
Col
>
</
Row
>
<
Row
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/callForBids/readyPassBid/components/bidConfirm/components/givenBidItem/index.tsx
View file @
9e12c735
...
...
@@ -86,7 +86,7 @@ export const GivenBidItem:React.FC<GivenBidItemProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
税率:
</
p
></
Col
>
<
Col
><
p
>
{
currentItemData
[
'taxRate'
]
}
</
p
></
Col
>
<
Col
><
p
>
{
`${currentItemData['taxRate']}%`
}
</
p
></
Col
>
</
Row
>
</
div
>
<
div
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/callForBids/readyPassBid/components/bidConfirm/components/totalAmount/index.tsx
View file @
9e12c735
...
...
@@ -49,13 +49,13 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
授标数量:
</
p
></
Col
>
<
Col
><
p
>
{
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
1
:
0
,
0
)
}
</
p
></
Col
>
<
Col
><
p
>
{
datas
.
reduce
((
a
,
b
)
=>
a
+
(
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
1
:
0
)
,
0
)
}
</
p
></
Col
>
</
Row
>
</
div
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
授标总额:
</
p
></
Col
>
<
Col
><
p
>
¥
{
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
(
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
*
b
[
item
.
dataIndex
][
'awardTenderRatio'
]
/
100
).
toFixed
(
2
)
:
0
,
0
)
}
(含税)
</
p
></
Col
>
<
Col
><
p
>
¥
{
(
datas
.
reduce
((
a
,
b
)
=>
a
+
(
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
(
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
*
b
[
item
.
dataIndex
][
'awardTenderRatio'
]
/
100
)
:
0
),
0
)).
toFixed
(
2
)
}
(含税)
</
p
></
Col
>
</
Row
>
</
div
>
</
Col
>)
:
null
)
...
...
src/pages/procurement/callForBids/readyPassBid/components/bidConfirm/index.tsx
View file @
9e12c735
...
...
@@ -29,10 +29,15 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
useEffect
(()
=>
{
if
(
data
?.
memberList
.
length
)
{
const
{
memberList
}
=
data
const
_memberList
=
memberList
.
map
(
item
=>
({
...
item
,
totalAmount
:
(
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)).
toFixed
(
2
)
})).
sort
((
a
,
b
)
=>
b
.
totalAmount
-
a
.
totalAmount
)
const
_memberList
=
memberList
.
map
(
item
=>
{
// 投过标的才显示
if
(
item
.
submitTender
)
{
return
{
...
item
,
totalAmount
:
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
}
}
}).
filter
(
Boolean
).
sort
((
a
,
b
)
=>
b
.
totalAmount
-
a
.
totalAmount
)
/** 组合table列 */
let
columns
:
any
[]
=
[
...
...
src/pages/procurement/callForBids/readyPassBid/components/participateInfo/index.tsx
View file @
9e12c735
...
...
@@ -23,7 +23,7 @@ const ParticipateInfo: React.FC<ParticipateInfoProps> = ({cardTitle}) => {
const
[
participateList
,
setParticipateList
]
=
useState
<
any
>
(()
=>
{
return
data
.
memberList
.
map
(
item
=>
({
company
:
item
.
memberName
,
amount
:
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
,
amount
:
item
.
submitTender
?
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
:
0
,
// @todo 多物料下有问题,一个含税一个不含税,如何显示? 先写死
isTax
:
true
,
status
:
item
.
submitTenderOutStatus
,
...
...
@@ -53,7 +53,7 @@ const ParticipateInfo: React.FC<ParticipateInfoProps> = ({cardTitle}) => {
<
Row
className=
{
style
[
'card-list'
]
}
>
<
Col
span=
{
8
}
className=
{
style
[
'card-list_title'
]
}
>
环节状态:
</
Col
>
<
Col
>
<
CustomTag
type=
"
o
ut"
status=
{
item
.
status
}
/>
<
CustomTag
type=
"
tenderO
ut"
status=
{
item
.
status
}
/>
</
Col
>
</
Row
>
<
Row
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/callForBids/readyQualifityChecked/model/useSelfTable.tsx
View file @
9e12c735
...
...
@@ -23,7 +23,7 @@ export const useSelfTable = () => {
dataIndex
:
'id'
,
key
:
'id'
,
render
:
(
text
,
record
)
=>
<>
<
EyePreview
url=
{
`/memberCenter/procurementAbility/callForBids/callForBidsSearch/detail?id=${record.id}`
}
>
<
EyePreview
url=
{
`/memberCenter/procurementAbility/callForBids/callForBidsSearch/detail?id=${record.i
nviteTender.i
d}`
}
>
{
record
.
inviteTender
.
code
}
</
EyePreview
>
<
div
>
{
record
.
inviteTender
.
projectName
}
</
div
>
...
...
@@ -49,7 +49,7 @@ export const useSelfTable = () => {
dataIndex
:
'inviteTender'
,
key
:
'inviteTender'
,
render
:
(
text
,
record
)
=>
<>
<
div
>
{
record
.
inviteTender
.
memberName
}
</
div
>
<
div
>
{
record
.
memberName
}
</
div
>
<
div
>
{
formatTimeString
(
record
.
submitQualificationsCheckTime
)
}
</
div
>
</>,
width
:
180
...
...
src/pages/procurement/callForBids/tenderSearch/schema/index.ts
View file @
9e12c735
...
...
@@ -55,13 +55,13 @@ export const tableListSchema: ISchema = {
placeholder
:
'请输入投标会员'
,
}
},
submit
e
TenderOutStatusList
:
{
submitTenderOutStatusList
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
'请选择外部状态'
},
enum
:
Object
.
keys
(
TenderOutStateTexts
).
filter
(
_item
=>
Number
(
_item
)
>=
7
).
map
(
item
=>
({
label
:
Bid
OutStateTexts
[
item
],
label
:
Tender
OutStateTexts
[
item
],
value
:
item
,
}))
},
...
...
src/pages/procurement/components/bidConfirm/components/givenBidItem/index.tsx
View file @
9e12c735
import
React
,
{
useState
,
useRef
,
useContext
,
useEffect
}
from
'react'
import
{
Form
,
Input
,
Checkbox
,
Row
,
Col
,
InputNumber
}
from
'antd'
;
import
style
from
'../../index.less'
import
{
ReadyConfirmBidContext
}
from
'@/pages/procurement/_public/bid/context'
;
import
{
BidDetailContext
,
ReadyConfirmBidContext
}
from
'@/pages/procurement/_public/bid/context'
;
import
checkmark
from
'@/assets/imgs/checkmark_circle.png'
/**
...
...
@@ -29,9 +29,9 @@ export const GivenBidItem:React.FC<GivenBidItemProps> = ({
currentIndex
})
=>
{
const
{
submitData
,
submitCtl
}
=
useContext
(
ReadyConfirmBid
Context
)
// const { paramsTableData: tableDataSource, simulateColumn: tableColumns } = submitData
const
{
setParamsTableData
:
setTableDataSource
,
setSimulateColumn
:
setTableColumns
}
=
submitCtl
const
{
data
,
ctl
}
=
useContext
(
BidDetail
Context
)
const
[
tableDataSource
,
setTableDataSource
]
=
useState
<
any
>
([])
const
[
tableColumns
,
setTableColumns
]
=
useState
<
any
>
([])
const
onChangeInput
=
(
v
)
=>
{
setTableDataSource
(()
=>
{
...
...
@@ -43,8 +43,6 @@ export const GivenBidItem:React.FC<GivenBidItemProps> = ({
})
}
console
.
log
(
currentData
,
'current'
)
const
chanegChecked
=
(
e
)
=>
{
setTableDataSource
(()
=>
{
const
newData
=
[...
datas
]
...
...
@@ -87,7 +85,7 @@ export const GivenBidItem:React.FC<GivenBidItemProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
税率:
</
p
></
Col
>
<
Col
><
p
>
{
currentData
[
currentColumn
.
dataIndex
][
'taxRate'
]
}
</
p
></
Col
>
<
Col
><
p
>
{
`${currentData[currentColumn.dataIndex]['taxRate']}%`
}
</
p
></
Col
>
</
Row
>
</
div
>
<
div
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/components/bidConfirm/components/totalAmount/index.tsx
View file @
9e12c735
...
...
@@ -49,13 +49,13 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
授标数量:
</
p
></
Col
>
<
Col
><
p
>
{
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
1
:
0
,
0
)
}
</
p
></
Col
>
<
Col
><
p
>
{
datas
.
reduce
((
a
,
b
)
=>
a
+
(
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
1
:
0
)
,
0
)
}
</
p
></
Col
>
</
Row
>
</
div
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
授标总额:
</
p
></
Col
>
<
Col
><
p
>
¥
{
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
(
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
*
b
[
item
.
dataIndex
][
'awardRate'
]
/
100
).
toFixed
(
2
)
:
0
,
0
)
}
(含税)
</
p
></
Col
>
<
Col
><
p
>
¥
{
(
datas
.
reduce
((
a
,
b
)
=>
a
+
(
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
(
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
*
b
[
item
.
dataIndex
][
'awardRate'
]
/
100
)
:
0
),
0
)).
toFixed
(
2
)
}
(含税)
</
p
></
Col
>
</
Row
>
</
div
>
</
Col
>)
:
null
)
...
...
src/pages/procurement/components/bidConfirm/index.less
View file @
9e12c735
...
...
@@ -75,3 +75,31 @@
padding-right: 6px;
}
}
.winContainer {
.card-list {
font-size: 12px;
line-height: 20px;
margin-top: 16px;
border: 1px solid #F4F5F7;
padding: 12px;
background-color: #FAFBFC;
position: relative;
img {
display: block;
position: absolute;
top: 0;
right: 8px;
}
}
.card-list_title {
font-size: 12px;
color: #909399;
}
.amount {
font-size: 16px;
font-weight: 500;
color: #303133;
}
}
src/pages/procurement/components/bidConfirm/index.tsx
View file @
9e12c735
...
...
@@ -8,6 +8,7 @@ import level2 from '@/assets/imgs/rank2.png'
import
level3
from
'@/assets/imgs/rank3.png'
import
TotalAmount
from
'./components/totalAmount'
;
import
GivenBidItem
from
'./components/givenBidItem'
;
import
winBid
from
'@/assets/imgs/winBid.png'
;
/**
* 招标结果/招标定标
...
...
@@ -26,10 +27,15 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
useEffect
(()
=>
{
if
(
data
?.
memberList
.
length
)
{
const
{
memberList
}
=
data
const
_memberList
=
memberList
.
map
(
item
=>
({
...
item
,
totalAmount
:
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
})).
sort
((
a
,
b
)
=>
b
.
totalAmount
-
a
.
totalAmount
)
const
_memberList
=
memberList
.
map
(
item
=>
{
// 投过标的才显示
if
(
item
.
submitTender
)
{
return
{
...
item
,
totalAmount
:
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
}
}
}).
filter
(
Boolean
).
sort
((
a
,
b
)
=>
b
.
totalAmount
-
a
.
totalAmount
)
/** 组合table列 */
let
columns
:
any
[]
=
[
...
...
@@ -56,7 +62,7 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
/** 组合table所需data */
let
tempData
:
any
=
[]
// 只需取一个投标会员的物料项 决定table的行数
_memberList
[
0
].
submitTender
.
submitTenderMateriel
.
forEach
((
item
,
index
)
=>
{
_memberList
[
0
]
?.
submitTender
&&
_memberList
[
0
]
.
submitTender
.
submitTenderMateriel
.
forEach
((
item
,
index
)
=>
{
tempData
.
push
({
inviteTenderMateriel
:
item
.
inviteTenderMateriel
,
count
:
item
.
inviteTenderMateriel
.
count
,
...
...
@@ -114,6 +120,26 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
bordered=
{
false
}
fullHeight
>
<
div
className=
{
style
[
'winContainer'
]
}
>
<
h3
className=
"commonPanelTitle"
>
中标会员
</
h3
>
<
Row
gutter=
{
[
16
,
0
]
}
>
{
data
.
memberList
.
filter
(
m
=>
m
.
isWin
).
map
(
item
=>
(<
Col
key=
{
item
.
id
}
span=
{
6
}
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
h4
>
{
item
.
memberName
}
</
h4
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
中标总金额(含税):
</
p
></
Col
>
<
Col
><
p
className=
{
style
.
amount
}
>
¥
{
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
}
</
p
></
Col
>
</
Row
>
<
img
src=
{
winBid
}
alt=
"已中标"
/>
</
div
>
</
Col
>))
}
</
Row
>
</
div
>
<
Divider
/>
<
div
>
<
h3
className=
"commonPanelTitle"
>
中标理由
</
h3
>
<
div
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/components/bidDetailSection/index.tsx
View file @
9e12c735
...
...
@@ -11,6 +11,7 @@ import RemarkBidReport from '../remarkBidReport'
import
ParticipateInfo
from
'../participateInfo'
import
BidConfirm
from
'../bidConfirm'
import
MemberWinInfo
from
'../memberWinInfo'
import
RegisterInfoList
from
'../registerInfoList'
export
interface
BidDetailSectionProps
{
formContext
:
any
,
...
...
@@ -58,6 +59,8 @@ const BidDetailSection:React.FC<BidDetailSectionProps> = ({
"BidConfirm"
:
BidConfirm
,
// 会员中标信息
"MemberWinInfo"
:
MemberWinInfo
,
// 报名信息列表
"RegisterInfoList"
:
RegisterInfoList
,
}
const
RenderDetailSection
=
({
componentList
})
=>
{
...
...
@@ -123,6 +126,9 @@ const BidDetailSection:React.FC<BidDetailSectionProps> = ({
case
"MemberWinInfo"
:
RcDom
=
(<
MemberWinInfo
cardTitle=
{
title
}
/>)
break
;
case
"RegisterInfoList"
:
RcDom
=
(<
RegisterInfoList
cardTitle=
{
title
}
type=
{
type
}
/>)
break
;
default
:
RcDom
=
(<
DescriptionsInfo
cardTitle=
{
title
}
type=
{
type
}
/>)
}
...
...
src/pages/procurement/components/descriptionsInfo/index.tsx
View file @
9e12c735
...
...
@@ -364,7 +364,7 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({cardTitle, type}) => {
</
Col
>
</
Row
>,
},
{
title
:
'中标理由:'
,
name
:
'
r
eason'
},
{
title
:
'中标理由:'
,
name
:
'
winTenderR
eason'
},
]
},
{
...
...
@@ -440,7 +440,7 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({cardTitle, type}) => {
/** 类型数据映射 */
const
Type_Data_Map
=
{
// 当详情模式为投标详情并且投标外部状态投完标才有对应的投标基本信息显示
'basicInfo'
:
apiType
[
apiType
.
length
-
1
]
===
'r'
&&
_data
[
'inviteTenderOutStatus'
]
>=
BidOuterWorkState
.
Not_Open_Tender
?
basicTenderColumnList
:
basicColumnList
,
'basicInfo'
:
apiType
[
apiType
.
length
-
1
]
===
'r'
?
basicTenderColumnList
:
basicColumnList
,
'bidNeed'
:
callForNeedList
,
'registerNeed'
:
registerNeedList
,
'checkNeed'
:
checkNeedList
,
...
...
src/pages/procurement/components/participateInfo/index.tsx
View file @
9e12c735
...
...
@@ -98,7 +98,7 @@ const ParticipateInfo: React.FC<ParticipateInfoProps> = ({cardTitle}) => {
<
Row
className=
{
style
[
'card-list'
]
}
>
<
Col
span=
{
8
}
className=
{
style
[
'card-list_title'
]
}
>
环节状态:
</
Col
>
<
Col
>
<
CustomTag
type=
"
o
ut"
status=
{
item
.
status
}
/>
<
CustomTag
type=
"
tenderO
ut"
status=
{
item
.
status
}
/>
</
Col
>
</
Row
>
<
Row
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/components/registerInfoList/index.less
0 → 100644
View file @
9e12c735
.card-list {
font-size: 12px;
line-height: 20px;
margin-top: 16px;
border: 1px solid #F4F5F7;
padding: 12px;
background-color: #FAFBFC;
position: relative;
img {
display: block;
position: absolute;
top: 0;
right: 8px;
}
}
.card-list_title {
font-size: 12px;
color: #909399;
}
.badge {
display: inline-block;
width: 16px;
height: 16px;
line-height: 16px;
text-align: center;
background: #EBEDF0;
border-radius: 50%;
margin-right: 4px;
color: #909399;
}
src/pages/procurement/components/registerInfoList/index.tsx
0 → 100644
View file @
9e12c735
import
React
,
{
useContext
,
useState
}
from
'react'
import
{
Row
,
Col
}
from
'antd'
import
MellowCard
from
'@/components/MellowCard'
import
{
BidDetailContext
}
from
'@/pages/procurement/_public/bid/context'
;
import
style
from
'./index.less'
/**
* 招标详情 报名信息列表/资格预审信息列表
*/
export
interface
RegisterInfoListProps
{
cardTitle
?:
string
;
/** registerList 报名信息列表 preCheckList 资格预审列表 */
type
?:
string
;
}
const
RegisterInfoList
:
React
.
FC
<
RegisterInfoListProps
>
=
({
cardTitle
,
type
=
"registerList"
})
=>
{
const
bidDetailContext
=
useContext
(
BidDetailContext
)
const
{
data
,
ctl
}
=
bidDetailContext
return
(
<
MellowCard
title=
{
cardTitle
}
style=
{
{
marginTop
:
24
}
}
bordered=
{
false
}
fullHeight
>
<
div
className=
{
style
.
remarkBidReportWrapper
}
>
{
type
===
'registerList'
?
<
div
className=
{
style
.
bidMemberContainer
}
>
<
Row
gutter=
{
[
16
,
0
]
}
>
{
data
&&
data
.
memberList
.
length
?
data
.
memberList
.
map
((
item
,
index
)
=>
(
item
?.
submitTenderRegister
&&
<
Col
key=
{
item
.
id
}
span=
{
6
}
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
h4
><
span
className=
{
style
[
'badge'
]
}
>
{
++
index
}
</
span
>
{
item
.
memberName
}
</
h4
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
联系人姓名:
</
p
></
Col
>
<
Col
><
p
>
{
item
.
submitTenderRegister
.
name
}
</
p
></
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
联系人手机:
</
p
></
Col
>
<
Col
><
p
>
{
item
.
submitTenderRegister
.
phone
}
</
p
></
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
联系人邮箱:
</
p
></
Col
>
<
Col
><
p
>
{
item
.
submitTenderRegister
.
email
}
</
p
></
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
地址:
</
p
></
Col
>
<
Col
><
p
>
{
`${item.submitTenderRegister.provinceName}${item.submitTenderRegister.cityName}${item.submitTenderRegister.regionName}${item.submitTenderRegister.address}`
}
</
p
></
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
报名文件:
</
p
></
Col
>
<
Col
>
<
p
>
{
item
?.
registerFile
?.
length
?
item
.
registerFile
.
map
(
_item
=>
(<
a
key=
{
_item
.
id
}
href=
{
_item
.
url
}
>
{
_item
.
name
}
</
a
>))
:
null
}
</
p
>
</
Col
>
</
Row
>
</
div
>
</
Col
>))
:
null
}
</
Row
>
</
div
>
:
<
div
className=
{
style
.
bidMemberContainer
}
>
<
Row
gutter=
{
[
16
,
0
]
}
>
{
data
&&
data
.
memberList
.
length
?
data
.
memberList
.
map
((
item
,
index
)
=>
(<
Col
span=
{
6
}
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
h4
><
span
className=
{
style
[
'badge'
]
}
>
{
++
index
}
</
span
>
{
item
.
memberName
}
</
h4
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
资格预审文件:
</
p
></
Col
>
<
Col
>
<
p
>
{
item
?.
qualificationsFile
?.
length
?
item
.
qualificationsFile
.
map
(
_item
=>
(<
a
key=
{
_item
.
id
}
href=
{
_item
.
url
}
>
{
_item
.
name
}
</
a
>))
:
null
}
</
p
>
</
Col
>
</
Row
>
</
div
>
</
Col
>))
:
null
}
</
Row
>
</
div
>
}
</
div
>
</
MellowCard
>)
}
RegisterInfoList
.
defaultProps
=
{}
export
default
RegisterInfoList
src/pages/procurement/tender/callForBidsSearch/model/useSelfTable.tsx
View file @
9e12c735
...
...
@@ -55,7 +55,7 @@ export const useSelfTable = () => {
align
:
'left'
,
dataIndex
:
'openTenderTime'
,
key
:
'openTenderTime'
,
render
:
(
text
,
record
)
=>
formatTimeString
(
record
.
create
Time
),
render
:
(
text
,
record
)
=>
formatTimeString
(
record
.
openTender
Time
),
},
{
title
:
'发布时间'
,
...
...
src/pages/procurement/tender/tenderSearch/model/useSelfTable.tsx
View file @
9e12c735
...
...
@@ -25,7 +25,7 @@ export const useSelfTable = () => {
render
:
(
text
,
record
,
index
)
=>
index
+
1
},
{
title
:
'投标编号/
会员
'
,
title
:
'投标编号/
项目
'
,
align
:
'left'
,
dataIndex
:
'code'
,
key
:
'code'
,
...
...
@@ -33,11 +33,11 @@ export const useSelfTable = () => {
{
text
?
<
EyePreview
url=
{
`/memberCenter/procurementAbility/tender/tenderSearch/detail?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
:
null
}
<
div
>
{
record
.
member
Name
}
</
div
>
<
div
>
{
record
.
inviteTender
.
project
Name
}
</
div
>
</>
},
{
title
:
'招标编号/
项目
'
,
title
:
'招标编号/
会员
'
,
align
:
'left'
,
dataIndex
:
'inviteTender'
,
key
:
'inviteTender'
,
...
...
@@ -45,7 +45,7 @@ export const useSelfTable = () => {
<
EyePreview
url=
{
`/memberCenter/procurementAbility/tender/callForBidsSearch/detail?id=${record.inviteTender.id}`
}
>
{
record
.
inviteTender
.
code
}
</
EyePreview
>
<
div
>
{
record
.
inviteTender
.
project
Name
}
</
div
>
<
div
>
{
record
.
inviteTender
.
member
Name
}
</
div
>
</>
},
{
...
...
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