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
392194ba
Commit
392194ba
authored
Apr 07, 2021
by
前端-钟卫鹏
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev-srm' of
http://10.0.0.22:3000/lingxi/lingxi-business-paltform
into dev-srm
parents
609dbd68
615fe43a
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
360 additions
and
4 deletions
+360
-4
package.json
package.json
+1
-1
index.less
...es/transaction/purchaseAbility/components/card/index.less
+0
-0
index.tsx
...ges/transaction/purchaseAbility/components/card/index.tsx
+32
-0
index.tsx
...on/purchaseAbility/confirmOffer/auditResultsOne/index.tsx
+5
-1
index.tsx
...on/purchaseAbility/confirmOffer/auditResultsTwo/index.tsx
+4
-1
index.tsx
...ion/purchaseAbility/confirmOffer/confirmResults/index.tsx
+4
-1
index.less
...bility/confirmOffer/detail/components/bidTable/index.less
+83
-0
index.tsx
...Ability/confirmOffer/detail/components/bidTable/index.tsx
+0
-0
context.ts
...purchaseAbility/confirmOffer/detail/components/context.ts
+4
-0
index.less
...seAbility/confirmOffer/detail/components/modal/index.less
+34
-0
index.tsx
...aseAbility/confirmOffer/detail/components/modal/index.tsx
+174
-0
useBidTable.tsx
...rchaseAbility/confirmOffer/detail/effects/useBidTable.tsx
+17
-0
index.tsx
...transaction/purchaseAbility/confirmOffer/detail/index.tsx
+0
-0
index.tsx
...ction/purchaseAbility/confirmOffer/offerInquire/index.tsx
+1
-0
index.tsx
...on/purchaseAbility/confirmOffer/toComparePrices/index.tsx
+1
-0
No files found.
package.json
View file @
392194ba
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
"start:dev"
:
"umi dev "
,
"start:dev"
:
"umi dev "
,
"start:analyze"
:
"ANALYZE=1 umi dev"
,
"start:analyze"
:
"ANALYZE=1 umi dev"
,
"clean"
:
"rimraf node_modules"
,
"clean"
:
"rimraf node_modules"
,
"start"
:
"yarn api && yarn scripts:build && umi dev"
,
"start"
:
"yarn api && yarn scripts:build &&
cross-env NODE_OPTIONS=--max_old_space_size=4096
umi dev"
,
"build"
:
"yarn api && yarn scripts:build && yarn build:clean"
,
"build"
:
"yarn api && yarn scripts:build && yarn build:clean"
,
"build:yxc"
:
"yarn api && yarn scripts:build-yxc && umi build"
,
"build:yxc"
:
"yarn api && yarn scripts:build-yxc && umi build"
,
"build:analyze"
:
"cross-env NODE_OPTIONS=--max_old_space_size=4096 ANALYZE=1 umi build"
,
"build:analyze"
:
"cross-env NODE_OPTIONS=--max_old_space_size=4096 ANALYZE=1 umi build"
,
...
...
src/pages/transaction/purchaseAbility/components/card/index.less
0 → 100644
View file @
392194ba
src/pages/transaction/purchaseAbility/components/card/index.tsx
0 → 100644
View file @
392194ba
import
React
from
'react'
;
export
interface
CardType
{
id
?:
string
,
title
?:
string
,
extra
?:
React
.
ReactNode
,
}
const
Card
:
React
.
FC
<
CardType
>
=
(
props
:
any
)
=>
{
const
{
id
,
title
,
extra
,
children
}
=
props
;
return
(
<
div
id=
{
id
}
className=
'ant-card ant-card-bordered'
>
<
div
className=
'ant-card-head'
>
<
div
className=
'ant-card-head-wrapper'
>
<
div
className=
'ant-card-head-wrapper'
>
{
title
}
</
div
>
{
extra
&&
<
div
className=
'ant-card-extra'
>
{
extra
}
</
div
>
}
</
div
>
</
div
>
<
div
className=
'ant-card-body'
>
{
children
}
</
div
>
</
div
>
)
}
export
default
Card
;
src/pages/transaction/purchaseAbility/confirmOffer/auditResultsOne/index.tsx
View file @
392194ba
...
@@ -91,7 +91,11 @@ const AuditResultsOne = () => {
...
@@ -91,7 +91,11 @@ const AuditResultsOne = () => {
key
:
'operate'
,
key
:
'operate'
,
dataIndex
:
'operate'
,
dataIndex
:
'operate'
,
render
:
(
text
:
any
,
record
:
any
)
=>
render
:
(
text
:
any
,
record
:
any
)
=>
<
Button
type=
'link'
>
审核
</
Button
>
<>
<
Button
type=
'link'
>
审核
</
Button
>
<
Button
type=
'link'
>
查看
</
Button
>
</>
}];
}];
/** 多选操作 */
/** 多选操作 */
...
...
src/pages/transaction/purchaseAbility/confirmOffer/auditResultsTwo/index.tsx
View file @
392194ba
...
@@ -91,7 +91,10 @@ const AuditResultsTwo = () => {
...
@@ -91,7 +91,10 @@ const AuditResultsTwo = () => {
key
:
'operate'
,
key
:
'operate'
,
dataIndex
:
'operate'
,
dataIndex
:
'operate'
,
render
:
(
text
:
any
,
record
:
any
)
=>
render
:
(
text
:
any
,
record
:
any
)
=>
<
Button
type=
'link'
>
审核
</
Button
>
<>
<
Button
type=
'link'
>
审核
</
Button
>
<
Button
type=
'link'
>
查看
</
Button
>
</>
}];
}];
/** 多选操作 */
/** 多选操作 */
...
...
src/pages/transaction/purchaseAbility/confirmOffer/confirmResults/index.tsx
View file @
392194ba
...
@@ -92,7 +92,10 @@ const ConfirmResults = () => {
...
@@ -92,7 +92,10 @@ const ConfirmResults = () => {
key
:
'operate'
,
key
:
'operate'
,
dataIndex
:
'operate'
,
dataIndex
:
'operate'
,
render
:
(
text
:
any
,
record
:
any
)
=>
render
:
(
text
:
any
,
record
:
any
)
=>
<
Button
type=
'link'
>
确认授标结果
</
Button
>
<>
<
Button
type=
'link'
>
确认授标结果
</
Button
>
<
Button
type=
'link'
>
查看
</
Button
>
</>
}];
}];
return
(
return
(
...
...
src/pages/transaction/purchaseAbility/confirmOffer/detail/components/bidTable/index.less
0 → 100644
View file @
392194ba
.card-list {
font-size: 12px;
// line-height: 20px;
// margin-top: 24px;
// border: 1px solid #F4F5F7;
// padding: 12px;
p {
margin-bottom: 8px;
}
}
.card-list_title {
font-size: 12px;
color: #909399;
}
.bidConfirmWrapper {
overflow-x: scroll;
.bidRowWrapper {
min-width: 1300px;
}
:global {
.ant-row {
.ant-col {
.ant-row {
.ant-col-4 {
padding-top: 0;
padding-bottom: 0;
margin-bottom: 2px;
margin-top: 2px;
background-color: #FFFFFF;
}
}
}
}
}
background: #F4F5F7;
.bidTableHead {
height: 40px;
line-height: 32px;
background: #F4F5F7;
border: 4px solid #F4F5F7;
color: #303133;
padding-left: 16px;
margin-bottom: 0;
img {
width: 24px;
height: 24px;
}
.levelCircle {
display: inline-block;
width: 20px;
height: 20px;
line-height: 20px;
background: #EBECF0;
border-radius: 50%;
color: #909399;
margin-right: 8px;
text-align: center;
}
}
.materialInfo, .amountInfo, .throwBidInfo, .totalWrapper {
height: 162px;
background-color: #fff;
padding: 16px;
position: relative;
overflow: hidden;
}
.rankNumber {
width: 32px;
height: 32px;
font-size: 12px;
font-weight: 500;
color: #606266;
line-height: 44px;
border-radius: 50%;
background-color: #F4F5F7;
position: absolute;
top: -16px;
left: -16px;
text-align: right;
padding-right: 6px;
}
}
src/pages/transaction/purchaseAbility/confirmOffer/detail/components/bidTable/index.tsx
0 → 100644
View file @
392194ba
This diff is collapsed.
Click to expand it.
src/pages/transaction/purchaseAbility/confirmOffer/detail/components/context.ts
0 → 100644
View file @
392194ba
import
{
createContext
}
from
'react'
;
// 招标详情 Context
export
const
BidDetailContext
=
createContext
<
any
>
({})
src/pages/transaction/purchaseAbility/confirmOffer/detail/components/modal/index.less
0 → 100644
View file @
392194ba
.upload_item {
padding: 5px 8px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #FAFBFC;
.upload_left {
display: flex;
align-items: center;
color: #303133;
:global {
.anticon-file-word {
color: #4279df;
font-size: 20px;
margin-right: 8px;
}
}
}
.upload_right {
color: #00B37A;
cursor: pointer;
:global {
.anticon-delete {
margin-left: 19px;
color: #C0C4CC;
}
}
}
}
src/pages/transaction/purchaseAbility/confirmOffer/detail/components/modal/index.tsx
0 → 100644
View file @
392194ba
import
React
,
{
useEffect
,
useState
,
useContext
}
from
'react'
;
import
{
Modal
,
Form
,
Input
,
Button
,
Upload
,
message
}
from
'antd'
;
import
{
BidDetailContext
}
from
'../context'
import
{
UploadOutlined
,
LinkOutlined
,
DeleteOutlined
}
from
'@ant-design/icons'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
import
style
from
'./index.less'
import
{
PublicApi
}
from
'@/services/api'
;
const
{
TextArea
}
=
Input
;
export
interface
IProps
{
id
:
number
,
turn
:
number
,
visible
:
boolean
,
handleConfirm
:
()
=>
void
,
onCancel
:
()
=>
void
,
}
const
BidModal
:
React
.
FC
<
IProps
>
=
(
props
:
any
)
=>
{
const
[
form
]
=
Form
.
useForm
();
const
{
id
,
turn
,
visible
,
handleConfirm
,
onCancel
}
=
props
;
const
bidDetailContext
=
useContext
(
BidDetailContext
);
const
[
files
,
setFiles
]
=
useState
([]);
const
[
loading
,
setloading
]
=
useState
(
false
);
const
[
priceParityInfos
,
setPriceParityInfos
]
=
useState
<
any
>
([]);
/**判断文件类型和大小 */
const
beforeDocUpload
=
(
file
:
any
)
=>
{
const
isLt20M
=
file
.
size
/
1024
/
1024
<
20
;
if
(
!
isLt20M
)
{
message
.
error
(
'上传文件大小不超过 20M!'
);
}
return
isLt20M
;
}
// 上传回调
const
handleChange
=
({
file
})
=>
{
const
arr
:
any
=
files
;
setloading
(
true
);
if
(
file
.
response
)
{
if
(
file
.
response
.
code
===
1000
)
{
arr
.
push
({
name
:
file
.
name
,
url
:
file
.
response
.
data
})
setloading
(
false
);
}
}
setFiles
([...
arr
])
}
// 删除附件
const
removeFiles
=
(
index
:
any
)
=>
{
const
arr
=
[...
files
];
arr
.
splice
(
index
,
1
);
setFiles
(
arr
);
}
useEffect
(()
=>
{
if
(
bidDetailContext
.
length
>
0
)
{
const
arr
:
any
=
bidDetailContext
[
0
].
company
||
[];
const
params
:
any
=
[];
arr
.
forEach
((
it
:
any
,
idx
:
number
)
=>
{
let
item
=
{
awardCount
:
it
.
awardCount
,
id
:
it
.
id
,
memberId
:
it
.
memberId
,
memberName
:
it
.
memberName
,
memberRoleId
:
it
.
memberRoleId
,
minimum
:
it
.
minimum
,
ranking
:
it
.
ranking
,
subtotal
:
it
.
subtotal
,
sumPrice
:
it
.
sumPrice
,
awardInfoResponses
:
[],
}
console
.
log
(
item
)
let
awardInfoResponses
=
[];
bidDetailContext
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
let
cItem
=
{
brand
:
item
.
brand
,
category
:
item
.
category
,
goodsId
:
item
.
goodsId
,
id
:
item
.
id
,
unit
:
item
.
unit
,
model
:
item
.
model
,
name
:
item
.
name
,
number
:
item
.
number
,
purchaseCount
:
item
.
purchaseCount
,
awardTaxProbability
:
item
.
company
[
idx
].
awardTaxProbability
,
taxPrice
:
item
.
company
[
idx
].
taxPrice
,
taxProbability
:
item
.
company
[
idx
].
taxProbability
,
taxUnitPrice
:
item
.
company
[
idx
].
taxUnitPrice
,
isPrize
:
item
.
company
[
idx
].
isPrize
,
isTax
:
item
.
company
[
idx
].
isTax
,
}
awardInfoResponses
.
push
(
cItem
)
})
item
.
awardInfoResponses
=
awardInfoResponses
params
.
push
(
item
)
})
setPriceParityInfos
(
params
)
}
},
[
visible
])
const
handleSubmit
=
async
()
=>
{
try
{
const
values
=
await
form
.
validateFields
();
const
params
=
{
id
,
turn
,
awardComments
:
values
.
awardComments
,
urls
:
files
,
priceParityInfos
,
}
PublicApi
.
postPurchaseConfirmQuotedPriceSubmitContrastPrice
(
params
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
handleConfirm
();
}
})
}
catch
(
errInfo
)
{
console
.
log
(
'Save failed:'
,
errInfo
);
}
}
return
(
<
Modal
title=
'提交审核'
visible=
{
visible
}
width=
{
600
}
onCancel=
{
onCancel
}
onOk=
{
handleSubmit
}
>
<
Form
form=
{
form
}
layout=
"vertical"
>
<
Form
.
Item
name=
'awardComments'
label=
'授标意见'
>
<
TextArea
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'附件'
name=
'upload'
>
<
div
className=
{
style
.
upload_data
}
>
{
files
.
length
>
0
&&
files
.
map
((
v
,
index
)
=>
(
<
div
key=
{
index
}
className=
{
style
.
upload_item
}
>
<
div
className=
{
style
.
upload_left
}
>
<
LinkOutlined
/>
<
span
>
{
v
.
name
}
</
span
>
</
div
>
<
div
className=
{
style
.
upload_right
}
onClick=
{
()
=>
removeFiles
(
index
)
}
>
<
DeleteOutlined
/>
</
div
>
</
div
>
))
}
</
div
>
<
Upload
action=
"/api/file/file/upload"
data=
{
{
fileType
:
UPLOAD_TYPE
}
}
showUploadList=
{
false
}
accept=
'.doc,.docx,.pdf,.ppt,.pptx,.xls,.xlsx'
beforeUpload=
{
beforeDocUpload
}
onChange=
{
handleChange
}
>
<
Button
loading=
{
loading
}
icon=
{
<
UploadOutlined
/>
}
>
上传文件
</
Button
>
<
div
style=
{
{
marginTop
:
'8px'
}
}
>
一次上传一个文件,每个附件大小不能超过 20M
</
div
>
</
Upload
>
</
Form
.
Item
>
</
Form
>
</
Modal
>
)
}
export
default
BidModal
;
src/pages/transaction/purchaseAbility/confirmOffer/detail/effects/useBidTable.tsx
0 → 100644
View file @
392194ba
import
{
useState
}
from
'react'
export
const
useBidTable
=
()
=>
{
const
[
dataSource
,
setDataSource
]
=
useState
<
any
>
([]);
const
formContext
=
{
dataSource
:
dataSource
,
ctl
:
{
dataSource
:
dataSource
,
setDataSource
:
setDataSource
,
},
}
return
{
formContext
}
}
src/pages/transaction/purchaseAbility/confirmOffer/detail/index.tsx
View file @
392194ba
This diff is collapsed.
Click to expand it.
src/pages/transaction/purchaseAbility/confirmOffer/offerInquire/index.tsx
View file @
392194ba
...
@@ -111,6 +111,7 @@ const OfferInquire = () => {
...
@@ -111,6 +111,7 @@ const OfferInquire = () => {
调整截止时间
调整截止时间
</
Button
>
</
Button
>
)
}
)
}
<
Button
type=
'link'
>
查看
</
Button
>
</>
</>
)
)
}];
}];
...
...
src/pages/transaction/purchaseAbility/confirmOffer/toComparePrices/index.tsx
View file @
392194ba
...
@@ -107,6 +107,7 @@ const ToComparePrices = () => {
...
@@ -107,6 +107,7 @@ const ToComparePrices = () => {
record
.
confirmInteriorState
===
OFFTER_CONFIRMINTERNALSTATE_TYPE
.
AUDITNOPASS2_TYPE
record
.
confirmInteriorState
===
OFFTER_CONFIRMINTERNALSTATE_TYPE
.
AUDITNOPASS2_TYPE
)
&&
<
Button
type=
'link'
>
修改授标结果
</
Button
>
)
&&
<
Button
type=
'link'
>
修改授标结果
</
Button
>
}
}
<
Button
type=
'link'
>
查看
</
Button
>
</>
</>
}];
}];
...
...
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