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
e989bf9a
Commit
e989bf9a
authored
Dec 06, 2021
by
前端-黄佳鑫
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 采购能力国际化
parent
95bc8620
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
63 changed files
with
311 additions
and
242 deletions
+311
-242
purchase.ts
src/locales/zh-CN/purchase.ts
+71
-2
index.tsx
...llForBids/addNewBid/components/productTableCell/index.tsx
+2
-2
index.tsx
...ages/procurement/callForBids/addNewBid/constant/index.tsx
+1
-1
index.tsx
...s/procurement/callForBids/addRemarkBidCommittee/index.tsx
+1
-1
index.ts
...ment/callForBids/readyCheckedConfirmFirst/schema/index.ts
+1
-1
index.tsx
...nd/components/bidConfirm/components/totalAmount/index.tsx
+2
-2
index.tsx
...readyCheckedConfirmSecond/components/bidConfirm/index.tsx
+2
-2
index.tsx
...CheckedConfirmSecond/components/participateInfo/index.tsx
+1
-1
useSelfTable.tsx
...lForBids/readyCheckedConfirmSecond/model/useSelfTable.tsx
+1
-1
index.ts
...ent/callForBids/readyCheckedConfirmSecond/schema/index.ts
+1
-1
index.tsx
...urement/callForBids/readyCheckedRegister/detail/index.tsx
+2
-2
useSelfTable.tsx
...t/callForBids/readyCheckedRegister/model/useSelfTable.tsx
+5
-5
index.tsx
...id/components/bidConfirm/components/totalAmount/index.tsx
+2
-2
index.tsx
...llForBids/readyConfirmBid/components/bidConfirm/index.tsx
+2
-2
index.tsx
...Bids/readyConfirmBid/components/participateInfo/index.tsx
+1
-1
index.tsx
...rocurement/callForBids/readyConfirmBid/constant/index.tsx
+4
-4
index.tsx
.../procurement/callForBids/readyConfirmBid/detail/index.tsx
+5
-5
useSelfTable.tsx
...rement/callForBids/readyConfirmBid/model/useSelfTable.tsx
+1
-1
index.ts
...s/procurement/callForBids/readyConfirmBid/schema/index.ts
+1
-1
index.tsx
...rBids/readyExpertRemark/components/onlineRemark/index.tsx
+17
-17
index.tsx
...ds/readyExpertRemark/components/remarkTableCell/index.tsx
+3
-3
index.tsx
...curement/callForBids/readyExpertRemark/constant/index.tsx
+9
-9
index.tsx
...rocurement/callForBids/readyExpertRemark/detail/index.tsx
+3
-3
useSelfTable.tsx
...ment/callForBids/readyExpertRemark/model/useSelfTable.tsx
+3
-3
index.ts
...procurement/callForBids/readyExpertRemark/schema/index.ts
+1
-1
index.tsx
...id/components/bidConfirm/components/totalAmount/index.tsx
+2
-2
index.tsx
.../callForBids/readyPassBid/components/bidConfirm/index.tsx
+2
-2
index.tsx
...ForBids/readyPassBid/components/participateInfo/index.tsx
+1
-1
index.tsx
...ges/procurement/callForBids/readyPassBid/detail/index.tsx
+2
-2
useSelfTable.tsx
...ocurement/callForBids/readyPassBid/model/useSelfTable.tsx
+1
-1
index.ts
...ages/procurement/callForBids/readyPassBid/schema/index.ts
+1
-1
index.tsx
...rement/callForBids/readyQualifityChecked/detail/index.tsx
+6
-6
useSelfTable.tsx
.../callForBids/readyQualifityChecked/model/useSelfTable.tsx
+4
-4
index.tsx
...urement/callForBids/readySendBidNotice/constant/index.tsx
+27
-27
index.tsx
...ocurement/callForBids/readySendBidNotice/detail/index.tsx
+38
-38
useSelfTable.tsx
...ent/callForBids/readySendBidNotice/model/useSelfTable.tsx
+1
-1
index.ts
...rocurement/callForBids/readySendBidNotice/schema/index.ts
+1
-1
index.tsx
src/pages/procurement/callForBids/readySubmitBid/index.tsx
+1
-1
useSelfTable.tsx
...urement/callForBids/readySubmitBid/model/useSelfTable.tsx
+1
-1
index.tsx
...ds/readySubmitReport/components/remarkBidReport/index.tsx
+18
-18
index.tsx
...ds/readySubmitReport/components/remarkTableCell/index.tsx
+1
-1
index.tsx
...curement/callForBids/readySubmitReport/constant/index.tsx
+15
-15
index.tsx
...rocurement/callForBids/readySubmitReport/detail/index.tsx
+2
-2
useSelfTable.tsx
...ment/callForBids/readySubmitReport/model/useSelfTable.tsx
+3
-3
index.ts
...procurement/callForBids/readySubmitReport/schema/index.ts
+1
-1
useSelfTable.tsx
...ent/callForBids/remarkBidCommittee/model/useSelfTable.tsx
+14
-14
useSelfTable.tsx
...ocurement/callForBids/tenderSearch/model/useSelfTable.tsx
+1
-1
index.tsx
...nt/components/bidConfirm/components/totalAmount/index.tsx
+2
-2
index.tsx
src/pages/procurement/components/bidConfirm/index.tsx
+1
-1
index.tsx
src/pages/procurement/components/descriptionsInfo/index.tsx
+0
-0
index.tsx
src/pages/procurement/components/participateInfo/index.tsx
+1
-1
index.tsx
src/pages/procurement/tender/addBidRegister/index.tsx
+1
-1
index.ts
src/pages/procurement/tender/addBidRegister/schema/index.ts
+5
-5
index.tsx
...nt/tender/addTender/components/productTableCell/index.tsx
+1
-1
index.tsx
...tender/addTender/components/relateProductDrawer/index.tsx
+1
-1
index.tsx
src/pages/procurement/tender/addTender/index.tsx
+1
-1
index.ts
src/pages/procurement/tender/addTender/schema/index.ts
+4
-4
modal.ts
src/pages/procurement/tender/addTender/schema/modal.ts
+2
-2
index.tsx
...ges/procurement/tender/callForBidsSearch/detail/index.tsx
+2
-2
useSelfTable.tsx
...ocurement/tender/callForBidsSearch/model/useSelfTable.tsx
+2
-2
index.tsx
...pages/procurement/tender/readyBidRegister/model/index.tsx
+1
-1
index.tsx
...procurement/tender/readyQualifityChecked/detail/index.tsx
+1
-1
useSelfTable.tsx
...ement/tender/readyQualifityChecked/model/useSelfTable.tsx
+1
-1
No files found.
src/locales/zh-CN/purchase.ts
View file @
e989bf9a
...
...
@@ -487,7 +487,7 @@ export default {
'detail.purchase.tips19'
:
'最长'
,
'detail.purchase.tips20'
:
'个字符,'
,
'detail.purchase.label'
:
'中标金额(含税
!
'
,
'detail.purchase.label'
:
'中标金额(含税
)
'
,
'detail.purchase.label1'
:
'中标理由'
,
'detail.purchase.label2'
:
'价格最低'
,
'detail.purchase.label3'
:
'至'
,
...
...
@@ -749,7 +749,7 @@ export default {
'table.purchase.gengduo'
:
'更多'
,
'table.purchase.xiugaidekaibiao'
:
'修改的开标时间必须大于等于投标截止时间且小于评标开始时间'
,
'table.purchase.dangqianid'
:
'当前id'
,
'table.purchase.zaicishuruni'
:
'在此输入你的原因, 最多50个汉字'
,
100
:
'在此输入你的原因, 最多50个汉字'
,
'table.purchase.feibiaoyuanyin'
:
'废标原因'
,
'table.purchase.qingshurufeibiao'
:
'请输入废标原因'
,
'table.purchase.xiugaikaibiaoshi'
:
'修改开标时间'
,
...
...
@@ -833,4 +833,73 @@ export default {
'table.purchase.shifoushenhetong'
:
'是否审核通过'
,
'table.purchase.zaicishuruni60'
:
'在此输入你的原因, 最多60个汉字'
,
'table.purchase.shenhedingbiao'
:
'审核定标'
,
'table.purchase.daishenhebaoming'
:
'待审核报名'
,
'table.purchase.qingshuruliyou'
:
'请输入理由'
,
'table.purchase.qingshoubiao'
:
'请授标'
,
'table.purchase.qingzhengqueshoubiao'
:
'请正确授标,授标比例为100%'
,
'table.purchase.tijiaodingbiao'
:
'提交定标'
,
'table.purchase.toubiaohuiyuanbei'
:
'投标会员备用'
,
'table.purchase.pingfenxizebei'
:
'评分细则备用'
,
'table.purchase.tijiaoshenhe'
:
'提交审核'
,
'table.purchase.tuijianzhongbiao'
:
'推荐中标'
,
'table.purchase.tuijianliyou'
:
'推荐理由'
,
'table.purchase.qingshurutuijian'
:
'请输入推荐理由'
,
'table.purchase.cixiangbixutian'
:
'此项必须填写'
,
'table.purchase.xiaoshudianhoumian'
:
'小数点后面仅限两位小数'
,
'table.purchase.pingbiaohuiyuan'
:
'评标会员'
,
'table.purchase.zongjidefen'
:
'总计得分'
,
'table.purchase.tijiaopingbiao'
:
'提交评标'
,
'table.purchase.qingzhengquetianxie'
:
'请正确填写评标分值'
,
'table.purchase.pingbiao'
:
'评标'
,
'table.purchase.querendingbiao'
:
'确认定标'
,
'table.purchase.zigezhengmingwen'
:
'资格证明文件'
,
'table.purchase.daishenhezige'
:
'待审核资格预审'
,
'table.purchase.huiyuanzhongbiaoxin'
:
'会员中标信息'
,
'table.purchase.fasongzhongbiaogong'
:
'发送中标公示'
,
'table.purchase.qingtianxiezhongbiao'
:
'请填写中标公示'
,
'table.purchase.zhongbiaogongshifu'
:
'中标公示附件'
,
'table.purchase.fasongzhongbiaotong'
:
'发送中标通知'
,
'table.purchase.qingtianxiezhongbiao1'
:
'请填写中标通知'
,
'table.purchase.zhongbiaotongzhifu'
:
'中标通知附件'
,
'table.purchase.fasongganxiehan'
:
'发送感谢函'
,
'table.purchase.qingtianxieganxie'
:
'请填写感谢函'
,
'table.purchase.zhongbiaohuiyuanxin'
:
'中标会员信息'
,
'table.purchase.zhongbiaohuiyuan'
:
'中标会员'
,
'table.purchase.yizhongbiao'
:
'已中标'
,
'table.purchase.pingbiaogongzuoyi'
:
'评标工作已经结束,中标人已经确定。现将中标结果公布如下'
,
'table.purchase.zhongbiaogongyingshang'
:
'中标供应商'
,
'table.purchase.guigongsicanyu'
:
'贵公司参与了我公司'
,
'table.purchase.jingbiaoaiwo'
:
'竞标。在我公司综合各投标单位的基本情况,并进行充分技术交流后,经评标委员会综合评定,贵公司未能中标。我公司对贵公司的积极参与和支持深表感谢!希望下次合作成功。'
,
'table.purchase.zhongbiaozongjine'
:
'中标总金额'
,
'table.purchase.shangchuanshibai'
:
'上传失败'
,
'table.purchase.wenjianmingguochang'
:
'文件名过长'
,
'table.purchase.zhuanjiatouxiang'
:
'专家头像'
,
'table.purchase.pingweizhuanjiabian'
:
'评委专家编号:'
,
'table.purchase.xinzengtuijianzhong'
:
'新增推荐中标'
,
'table.purchase.shangchuanfujian'
:
'上传附件'
,
'table.purchase.xinzengtuijianhui'
:
'新增推荐会员'
,
'table.purchase.shurutuijianzhong'
:
'输入推荐中标会员'
,
'table.purchase.shurutuijianren'
:
'输入推荐人'
,
'table.purchase.zaicishuruni100'
:
'在此输入你的理由, 最多100个字符'
,
'table.purchase.tijiaobaogao'
:
'提交报告'
,
'table.purchase.tijiaopinggubao'
:
'提交评估报告'
,
'table.purchase.toubiaobianhao'
:
'投标编号'
,
'table.purchase.toubiaoxiangmu'
:
'投标项目'
,
'table.purchase.toubiaozhaiyao'
:
'投标摘要'
,
'table.purchase.toubiaowenjian'
:
'投标文件'
,
'table.purchase.shiyongchengshi'
:
'适用城市'
,
'table.purchase.toubiaojiezhishi'
:
'投标截止时间'
,
'table.purchase.toubiaohuiyuan'
:
'投标会员'
,
'table.purchase.lianxirendianhua'
:
'联系人电话'
,
'table.purchase.zigeyushenyao1'
:
'资格预审要求附件'
,
'table.purchase.zhongbiaojine'
:
'中标金额'
,
'table.purchase.zhongbiaoshibai'
:
'中标失败'
,
'table.purchase.zhakanganxiehan'
:
'查看感谢函'
,
'table.purchase.weizhongjine'
:
'未中金额'
,
'table.purchase.pingbiaozhuanjialie'
:
'评标专家列表'
,
'table.purchase.guigongsicici'
:
'贵公司此次未中标!非常感谢贵公司的积极参与,希望下次合作成功!'
,
'table.purchase.fasongtongzhi'
:
'发送通知'
,
'table.purchase.quedingyaozhixing'
:
'确定要执行该操作?'
,
'table.purchase.zaicifasongtong'
:
'再次发送通知'
,
}
src/pages/procurement/callForBids/addNewBid/components/productTableCell/index.tsx
View file @
e989bf9a
...
...
@@ -62,7 +62,7 @@ export const ProductTableCell:React.FC<ProductTableCellProps> = ({
values
[
idx
]
=
idx
===
'count'
?
Number
(
values
.
count
)
:
values
[
idx
]
handleSave
({
...
record
,
...
values
});
}
catch
(
errInfo
)
{
console
.
log
(
'Save failed
:
'
,
errInfo
);
console
.
log
(
'Save failed'
,
errInfo
);
}
};
...
...
@@ -75,7 +75,7 @@ export const ProductTableCell:React.FC<ProductTableCellProps> = ({
values
[
'unitId'
]
=
op
[
'value'
]
handleSave
({
...
record
,
...
values
});
}
catch
(
errInfo
)
{
console
.
log
(
'Save failed
:
'
,
errInfo
);
console
.
log
(
'Save failed'
,
errInfo
);
}
}
...
...
src/pages/procurement/callForBids/addNewBid/constant/index.tsx
View file @
e989bf9a
...
...
@@ -166,7 +166,7 @@ export const paramsRenderFn = (value) => {
// export const memberColumns: any[] = [
// {
// title:
'会员ID'
,
// title:
intl.formatMessage({ id: 'detail.purchase.memberId' })
,
// dataIndex: 'memberId',
// align: 'center',
// key: 'memberId',
...
...
src/pages/procurement/callForBids/addRemarkBidCommittee/index.tsx
View file @
e989bf9a
...
...
@@ -88,7 +88,7 @@ const AddRemarkBidCommittee: React.FC<AddRemarkBidCommitteeProps> = (props) => {
initRender
.
code
=
data
[
'code'
]
initRender
.
projectName
=
data
[
'projectName'
]
initRender
.
openTenderTime
=
formatTimeString
(
data
[
'openTenderTime'
])
// initRender.status = data.status ?
'待发送' : '已发送'
// initRender.status = data.status ?
intl.formatMessage({ id: 'table.purchase.daifasong' }) : intl.formatMessage({ id: 'table.purchase.yifasong' })
initRender
.
status
=
intl
.
formatMessage
({
id
:
'table.purchase.daifasong'
})
initRender
.
expertExtractQueryList
=
initConditionData
initRender
.
inviteTender
=
{
id
:
code
}
...
...
src/pages/procurement/callForBids/readyCheckedConfirmFirst/schema/index.ts
View file @
e989bf9a
...
...
@@ -37,7 +37,7 @@ export const tableListSchema: ISchema = {
type
:
'array'
,
"x-component"
:
'DateRangePickerUnix'
,
'x-component-props'
:
{
placeholder
:
[
'评标开始时间'
,
'评标结束时间'
],
placeholder
:
[
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaokaishishi'
}),
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaojieshushi'
})
],
},
},
submit
:
{
...
...
src/pages/procurement/callForBids/readyCheckedConfirmSecond/components/bidConfirm/components/totalAmount/index.tsx
View file @
e989bf9a
...
...
@@ -29,7 +29,7 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.label34'
})
}
:
</
p
></
Col
>
<
Col
>
<
p
>
¥
{
(
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
含税
)
</
p
>
<
p
>
¥
{
(
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
>
</
Col
>
</
Row
>
</
div
>
...
...
@@ -57,7 +57,7 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shoubiaozonge'
})
}
:
</
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
>
<
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
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
></
Col
>
</
Row
>
</
div
>
</
Col
>)
:
null
)
...
...
src/pages/procurement/callForBids/readyCheckedConfirmSecond/components/bidConfirm/index.tsx
View file @
e989bf9a
...
...
@@ -235,7 +235,7 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.label34'
})
}
:
</
p
></
Col
>
<
Col
>
<
p
>
¥
{
(
tableDataSource
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
含税
)
</
p
>
<
p
>
¥
{
(
tableDataSource
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
>
</
Col
>
</
Row
>
</
div
>
...
...
@@ -269,7 +269,7 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shoubiaozonge'
})
}
:
</
p
></
Col
>
<
Col
><
p
>
¥
{
(
tableDataSource
.
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
>
<
Col
><
p
>
¥
{
(
tableDataSource
.
reduce
((
a
,
b
)
=>
a
+
(
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
(
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
*
b
[
item
.
dataIndex
][
'awardTenderRatio'
]
/
100
)
:
0
),
0
)).
toFixed
(
2
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
></
Col
>
</
Row
>
</
div
>
</
div
>
...
...
src/pages/procurement/callForBids/readyCheckedConfirmSecond/components/participateInfo/index.tsx
View file @
e989bf9a
...
...
@@ -49,7 +49,7 @@ const ParticipateInfo: React.FC<ParticipateInfoProps> = ({cardTitle}) => {
<
div
className=
{
style
.
participateContent
}
>
<
div
className=
{
style
.
topWrapper
}
>
<
h3
>
{
item
.
company
}
</
h3
>
<
p
className=
{
style
.
amount
}
>
¥
{
(
item
.
amount
).
toFixed
(
2
)
}
<
span
>
{
item
.
isTax
?
' (含税)'
:
' (不含税)'
}
</
span
></
p
>
<
p
className=
{
style
.
amount
}
>
¥
{
(
item
.
amount
).
toFixed
(
2
)
}
<
span
>
{
item
.
isTax
?
`(${intl.formatMessage({ id: 'detail.purchase.isTax' })})`
:
`(${intl.formatMessage({ id: 'table.purchase.buhanshui' })})`
}
</
span
></
p
>
</
div
>
<
div
className=
{
style
.
contentWrapper
}
>
<
Row
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/callForBids/readyCheckedConfirmSecond/model/useSelfTable.tsx
View file @
e989bf9a
...
...
@@ -89,7 +89,7 @@ export const useSelfTable = () => {
align
:
'left'
,
dataIndex
:
'ctl'
,
key
:
'ctl'
,
render
:
(
text
,
record
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
审核
</
Button
>
render
:
(
text
,
record
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shenhe'
})
}
</
Button
>
}
])
...
...
src/pages/procurement/callForBids/readyCheckedConfirmSecond/schema/index.ts
View file @
e989bf9a
...
...
@@ -38,7 +38,7 @@ export const tableListSchema: ISchema = {
type
:
'array'
,
"x-component"
:
'DateRangePickerUnix'
,
'x-component-props'
:
{
placeholder
:
[
'评标开始时间'
,
'评标结束时间'
],
placeholder
:
[
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaokaishishi'
}),
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaojieshushi'
})
],
},
},
submit
:
{
...
...
src/pages/procurement/callForBids/readyCheckedRegister/detail/index.tsx
View file @
e989bf9a
...
...
@@ -48,8 +48,8 @@ const ReadyCheckedRegisterDetail: React.FC = () => {
// { title: intl.formatMessage({ id: 'table.purchase.zhaobiaowuliao' }), id: 'bidMaterial', componentName: "BidMaterial" },
// { title: intl.formatMessage({ id: 'table.purchase.zhaobiaoyaoqiu' }), id: 'bidNeed', type: "bidNeed" },
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.baomingyaoqiu'
}),
id
:
'registerNeed'
,
type
:
"registerNeed"
},
{
title
:
'报名信息'
,
id
:
'registerInfo'
,
type
:
'registerInfo'
},
{
title
:
'报名文件'
,
id
:
'baseicInfo'
,
type
:
"registerFile"
},
{
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.signUpMsgLayout'
})
,
id
:
'registerInfo'
,
type
:
'registerInfo'
},
{
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.signUpFileLayout'
})
,
id
:
'baseicInfo'
,
type
:
"registerFile"
},
// { title: intl.formatMessage({ id: 'table.purchase.zigeyushenyao' }), id: 'checkNeed', type: "checkNeed" },
// { title: intl.formatMessage({ id: 'table.purchase.pingbiaoyaoqiu' }), id: 'remarkNeed', type: "remarkNeed" },
// { title: intl.formatMessage({ id: 'table.purchase.qitayaoqiu' }), id: 'otherNeed', type: "otherNeed" },
...
...
src/pages/procurement/callForBids/readyCheckedRegister/model/useSelfTable.tsx
View file @
e989bf9a
...
...
@@ -52,14 +52,14 @@ export const useSelfTable = () => {
render
:
(
t
,
r
)
=>
CALLFORBID_TYPE
[
r
.
inviteTender
.
inviteTenderType
]
},
{
title
:
'报名会员'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.inviteMemberName'
})
,
align
:
'left'
,
dataIndex
:
'inviteTender'
,
key
:
'inviteTender'
,
render
:
(
text
,
record
)
=>
record
.
memberName
,
},
{
title
:
'提交时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.inviteTenderCreateTime'
})
,
align
:
'left'
,
dataIndex
:
'inviteTender'
,
key
:
'inviteTender'
,
...
...
@@ -67,7 +67,7 @@ export const useSelfTable = () => {
width
:
180
},
{
title
:
'报名开始/截止时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.baomingkaishi/'
})
,
align
:
'left'
,
dataIndex
:
'memberRoleId'
,
key
:
'memberRoleId'
,
...
...
@@ -89,7 +89,7 @@ export const useSelfTable = () => {
align
:
'left'
,
dataIndex
:
'submitTenderInStatusValue'
,
key
:
'submitTenderInStatusValue'
,
render
:
(
text
,
r
)
=>
<
CustomBadge
text=
{
'待审核报名'
}
color=
{
r
.
submitTenderInStatusColor
}
/>
render
:
(
text
,
r
)
=>
<
CustomBadge
text=
{
intl
.
formatMessage
({
id
:
'table.purchase.daishenhebaoming'
})
}
color=
{
r
.
submitTenderInStatusColor
}
/>
},
]
...
...
@@ -99,7 +99,7 @@ export const useSelfTable = () => {
align
:
'left'
,
dataIndex
:
'ctl'
,
key
:
'ctl'
,
render
:
(
text
,
record
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
.
id
)
}
>
审核
</
Button
>
render
:
(
text
,
record
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
.
id
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shenhe'
})
}
</
Button
>
}
])
...
...
src/pages/procurement/callForBids/readyConfirmBid/components/bidConfirm/components/totalAmount/index.tsx
View file @
e989bf9a
...
...
@@ -41,7 +41,7 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.label34'
})
}
:
</
p
></
Col
>
<
Col
>
<
p
>
¥
{
(
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
含税
)
</
p
>
<
p
>
¥
{
(
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
>
</
Col
>
</
Row
>
</
div
>
...
...
@@ -79,7 +79,7 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shoubiaozonge'
})
}
:
</
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
>
<
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
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
></
Col
>
</
Row
>
</
div
>
</
Col
>)
:
null
)
...
...
src/pages/procurement/callForBids/readyConfirmBid/components/bidConfirm/index.tsx
View file @
e989bf9a
...
...
@@ -209,7 +209,7 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.label34'
})
}
:
</
p
></
Col
>
<
Col
>
<
p
>
¥
{
(
tableDataSource
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
含税
)
</
p
>
<
p
>
¥
{
(
tableDataSource
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
>
</
Col
>
</
Row
>
</
div
>
...
...
@@ -243,7 +243,7 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shoubiaozonge'
})
}
:
</
p
></
Col
>
<
Col
><
p
>
¥
{
(
tableDataSource
.
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
>
<
Col
><
p
>
¥
{
(
tableDataSource
.
reduce
((
a
,
b
)
=>
a
+
(
b
[
item
.
dataIndex
][
'isAward'
]
?
(
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
*
b
[
item
.
dataIndex
][
'awardRate'
]
/
100
)
:
0
),
0
)).
toFixed
(
2
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
></
Col
>
</
Row
>
</
div
>
</
div
>
...
...
src/pages/procurement/callForBids/readyConfirmBid/components/participateInfo/index.tsx
View file @
e989bf9a
...
...
@@ -50,7 +50,7 @@ const ParticipateInfo: React.FC<ParticipateInfoProps> = ({cardTitle}) => {
<
div
className=
{
style
.
participateContent
}
>
<
div
className=
{
style
.
topWrapper
}
>
<
h3
>
{
item
.
company
}
</
h3
>
<
p
className=
{
style
.
amount
}
>
¥
{
item
.
amount
.
toFixed
(
2
)
}
<
span
>
{
item
.
isTax
?
' (含税)'
:
' (不含税)'
}
</
span
></
p
>
<
p
className=
{
style
.
amount
}
>
¥
{
item
.
amount
.
toFixed
(
2
)
}
<
span
>
{
item
.
isTax
?
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
:
intl
.
formatMessage
({
id
:
'table.purchase.buhanshui'
})
}
</
span
></
p
>
</
div
>
<
div
className=
{
style
.
contentWrapper
}
>
<
Row
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/callForBids/readyConfirmBid/constant/index.tsx
View file @
e989bf9a
...
...
@@ -125,13 +125,13 @@ export const submitSchema = {
type
:
'textarea'
,
"x-component-props"
:
{
rows
:
4
,
placeholder
:
'在此输入你的理由, 最多50个汉字'
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.zaicishuruni'
})
},
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.label1'
}),
"x-rules"
:
[
{
required
:
true
,
message
:
'请输入理由'
message
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshuruliyou'
})
},
{
limitByte
:
true
,
...
...
@@ -154,10 +154,10 @@ export const submitSchema = {
'x-rules'
:
[
{
required
:
false
,
message
:
'请上传附件'
,
message
:
intl
.
formatMessage
({
id
:
'detail.purchase.message57'
})
,
},
],
description
:
'一次上传一个文件,每个附件大小不能超过20M'
,
description
:
intl
.
formatMessage
({
id
:
'table.purchase.yicishangchuanyi'
})
,
},
}
}
...
...
src/pages/procurement/callForBids/readyConfirmBid/detail/index.tsx
View file @
e989bf9a
...
...
@@ -50,10 +50,10 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
rigthRate
.
push
(
rate
===
100
)
})
if
(
!
errorValidate
)
{
return
message
.
error
(
'请授标'
)
return
message
.
error
(
intl
.
formatMessage
({
id
:
'table.purchase.qingshoubiao'
})
)
}
if
(
rigthRate
.
some
(
item
=>
!
item
))
{
return
message
.
error
(
'请正确授标,授标比例为100%'
)
return
message
.
error
(
intl
.
formatMessage
({
id
:
'table.purchase.qingzhengqueshoubiao'
})
)
}
currentRef
.
current
.
setVisible
(
true
)
}
...
...
@@ -108,7 +108,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
const
beforeUpload
=
file
=>
{
if
(
file
.
size
/
1024
/
1024
>
20
)
{
message
.
warning
(
'附件大小超过20M'
);
message
.
warning
(
intl
.
formatMessage
({
id
:
'table.purchase.yicishangchuanyi'
})
);
return
Promise
.
reject
();
}
}
...
...
@@ -121,7 +121,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
anchorList=
{
anchorTitleList
}
extraRight=
{
<
Button
type=
'primary'
onClick=
{
onSubmit
}
icon=
{
<
SendOutlined
/>
}
>
提交定标
{
intl
.
formatMessage
({
id
:
'table.purchase.tijiaodingbiao'
})
}
</
Button
>
}
/>
...
...
@@ -201,7 +201,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
</
OrderDetailWrapper
>
<
ModalForm
modalTitle=
'提交定标'
modalTitle=
{
intl
.
formatMessage
({
id
:
'table.purchase.tijiaodingbiao'
})
}
currentRef=
{
currentRef
}
confirm=
{
onConfirm
}
actions=
{
modalActions
}
...
...
src/pages/procurement/callForBids/readyConfirmBid/model/useSelfTable.tsx
View file @
e989bf9a
...
...
@@ -24,7 +24,7 @@ export const useSelfTable = () => {
align
:
'left'
,
dataIndex
:
'ctl'
,
key
:
'ctl'
,
render
:
(
text
,
record
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
提交审核
</
Button
>
render
:
(
text
,
record
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.tijiaoshenhe'
})
}
</
Button
>
}
])
...
...
src/pages/procurement/callForBids/readyConfirmBid/schema/index.ts
View file @
e989bf9a
...
...
@@ -37,7 +37,7 @@ export const tableListSchema: ISchema = {
type
:
'array'
,
"x-component"
:
'DateRangePickerUnix'
,
'x-component-props'
:
{
placeholder
:
[
'评标开始时间'
,
'评标结束时间'
],
placeholder
:
[
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaokaishishi'
}),
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaojieshushi'
})
],
},
},
submit
:
{
...
...
src/pages/procurement/callForBids/readyExpertRemark/components/onlineRemark/index.tsx
View file @
e989bf9a
...
...
@@ -11,7 +11,7 @@ import { getIntl } from 'umi';
/**
* 评标报告
*/
const
intl
=
getIntl
();
const
intl
=
getIntl
();
export
interface
RemarkBidReportProps
{
cardTitle
?:
string
;
...
...
@@ -20,8 +20,8 @@ export interface RemarkBidReportProps {
}
const
OnlineRemark
:
React
.
FC
<
RemarkBidReportProps
>
=
({
cardTitle
,
addSchemaAction
,
onConfirm
})
=>
{
const
{
formContext
,
id
}
=
useRemarkDetail
({
type
:
'callForBid'
})
const
OnlineRemark
:
React
.
FC
<
RemarkBidReportProps
>
=
({
cardTitle
,
addSchemaAction
,
onConfirm
})
=>
{
const
{
formContext
,
id
}
=
useRemarkDetail
({
type
:
'callForBid'
})
const
{
data
}
=
formContext
const
{
remarkColumns
,
remarkComponents
}
=
useRemarkTable
(
addSchemaAction
,
data
)
...
...
@@ -39,16 +39,16 @@ const OnlineRemark: React.FC<RemarkBidReportProps> = ({cardTitle, addSchemaActio
const
onBlurInput
=
(
v
,
index
)
=>
{
const
hasValues
=
addSchemaAction
.
getFieldValue
(
'evaluationTenderList'
)
if
(
hasValues
.
length
)
{
if
(
hasValues
.
length
)
{
addSchemaAction
.
setFieldValue
(
'evaluationTenderList'
,
hasValues
.
map
((
item
,
_i
)
=>
{
if
(
index
===
_i
)
{
if
(
index
===
_i
)
{
return
{
...
item
,
isRecommend
:
true
,
reason
:
v
.
target
.
value
}
}
else
{
return
{
...
item
}
return
{
...
item
}
}
}))
}
...
...
@@ -57,7 +57,7 @@ const OnlineRemark: React.FC<RemarkBidReportProps> = ({cardTitle, addSchemaActio
const
chanegChecked
=
(
e
)
=>
{
const
ev
:
any
=
window
.
event
||
e
;
const
path
=
ev
.
path
||
(
ev
.
composedPath
&&
ev
.
composedPath
());
if
(
e
.
target
.
checked
)
{
if
(
e
.
target
.
checked
)
{
path
[
6
].
style
.
border
=
'1px solid #00B37A'
path
[
6
].
nextSibling
.
style
.
display
=
'inline-block'
}
else
{
...
...
@@ -69,7 +69,7 @@ const OnlineRemark: React.FC<RemarkBidReportProps> = ({cardTitle, addSchemaActio
return
(
<
MellowCard
title=
{
cardTitle
}
style=
{
{
marginTop
:
24
}
}
style=
{
{
marginTop
:
24
}
}
bordered=
{
false
}
fullHeight
>
...
...
@@ -99,12 +99,12 @@ const OnlineRemark: React.FC<RemarkBidReportProps> = ({cardTitle, addSchemaActio
},
memberList
:
{
type
:
'array'
,
title
:
'投标会员备用'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaohuiyuanbei'
})
,
visible
:
false
,
},
templateContentList
:
{
type
:
'array'
,
title
:
'评分细则备用'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingfenxizebei'
})
,
visible
:
false
,
}
}
...
...
@@ -131,22 +131,22 @@ const OnlineRemark: React.FC<RemarkBidReportProps> = ({cardTitle, addSchemaActio
evaluationTenderList
?.
length
?
evaluationTenderList
.
map
((
item
,
index
)
=>
(<
Col
span=
{
4
}
key=
{
item
.
memberId
}
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
20
}
><
p
style=
{
{
fontWeight
:
"bold"
}
}
>
{
item
.
memberName
}
</
p
></
Col
>
<
Col
><
p
style=
{
{
fontWeight
:
"bold"
}
}
>
{
item
.
totalScore
}
</
p
></
Col
>
<
Col
span=
{
20
}
><
p
style=
{
{
fontWeight
:
"bold"
}
}
>
{
item
.
memberName
}
</
p
></
Col
>
<
Col
><
p
style=
{
{
fontWeight
:
"bold"
}
}
>
{
item
.
totalScore
}
</
p
></
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
20
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
推荐中标
:
</
p
></
Col
>
<
Col
span=
{
20
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.tuijianzhongbiao'
})
}
:
</
p
></
Col
>
<
Col
>
<
p
>
<
Checkbox
defaultChecked=
{
false
}
style=
{
{
marginRight
:
16
}
}
onChange=
{
chanegChecked
}
/>
<
Checkbox
defaultChecked=
{
false
}
style=
{
{
marginRight
:
16
}
}
onChange=
{
chanegChecked
}
/>
</
p
>
</
Col
>
</
Row
>
</
div
>
<
div
style=
{
{
marginTop
:
12
,
display
:
'none'
,
width
:
'100%'
}
}
>
<
p
className=
{
style
[
'card-list_title'
]
}
>
推荐理由
:
</
p
>
<
div
style=
{
{
marginTop
:
12
,
display
:
'none'
,
width
:
'100%'
}
}
>
<
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.tuijianliyou'
})
}
:
</
p
>
<
Input
placeholder=
"请输入推荐理由"
placeholder=
{
intl
.
formatMessage
({
id
:
'table.purchase.qingshurutuijian'
})
}
onChange=
{
(
e
)
=>
onChangeInput
(
e
,
index
)
}
onBlur=
{
(
e
)
=>
onBlurInput
(
e
,
index
)
}
/>
...
...
src/pages/procurement/callForBids/readyExpertRemark/components/remarkTableCell/index.tsx
View file @
e989bf9a
...
...
@@ -57,7 +57,7 @@ export const RemarkTableCell:React.FC<TableCellProps> = ({
values
.
totalScore
=
Number
(
score
).
toFixed
(
2
)
handleSave
({
...
record
,
...
values
})
}
catch
(
errInfo
)
{
console
.
log
(
'Save failed
:
'
,
errInfo
)
console
.
log
(
'Save failed'
,
errInfo
)
handleSave
({
...
record
,
...
errInfo
.
values
})
}
};
...
...
@@ -89,11 +89,11 @@ export const RemarkTableCell:React.FC<TableCellProps> = ({
rules=
{
[
{
required
:
true
,
message
:
'此项必须填写'
,
message
:
intl
.
formatMessage
({
id
:
'table.purchase.cixiangbixutian'
})
,
},
{
pattern
:
/^
\d
+
(\.\d
{1,2}
)?
$/
,
message
:
'小数点后面仅限两位小数'
,
message
:
intl
.
formatMessage
({
id
:
'table.purchase.xiaoshudianhoumian'
})
,
},
]
}
>
...
...
src/pages/procurement/callForBids/readyExpertRemark/constant/index.tsx
View file @
e989bf9a
...
...
@@ -41,15 +41,15 @@ export const evaluationColumnList = [
{
span
:
8
,
fieldList
:
[
{
title
:
'评标要求时间:'
,
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'evaluationStartTime'
])
+
'至'
+
formatTimeString
(
r
[
'evaluationEndTime'
])},
{
title
:
'评标要求:'
,
name
:
'evaluationRequirement'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaoyaoqiushi'
})
,
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'evaluationStartTime'
])
+
'至'
+
formatTimeString
(
r
[
'evaluationEndTime'
])},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaoyaoqiu'
})
,
name
:
'evaluationRequirement'
},
]
},
{
span
:
8
,
fieldList
:
[
{
title
:
'评标要求附件:'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaoyaoqiufu'
})
,
name
:
'evaluationFile'
,
render
:
(
t
,
r
)
=>
(<
div
>
{
...
...
@@ -62,8 +62,8 @@ export const evaluationColumnList = [
{
span
:
8
,
fieldList
:
[
{
title
:
'是否在线评标:'
,
name
:
'isOnlineEvaluation'
,
render
:
(
text
)
=>
text
?
intl
.
formatMessage
({
id
:
'table.purchase.shi'
})
:
intl
.
formatMessage
({
id
:
'table.purchase.fou'
})
},
{
title
:
'评标项模板:'
,
name
:
'templateName'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.shifouzaixianping'
})
,
name
:
'isOnlineEvaluation'
,
render
:
(
text
)
=>
text
?
intl
.
formatMessage
({
id
:
'table.purchase.shi'
})
:
intl
.
formatMessage
({
id
:
'table.purchase.fou'
})
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaoxiangmuban'
})
,
name
:
'templateName'
},
]
},
]
...
...
@@ -172,10 +172,10 @@ export const insideRecordCols: any[] = [
export
const
generateRemarkTable
=
(
memeberList
,
contentList
)
=>
{
// 初始列
const
columns
:
any
[]
=
[
{
title
:
'会员ID'
,
dataIndex
:
'memberId'
,
key
:
'memberId'
,
className
:
'commonHide'
},
{
title
:
'评标会员'
,
dataIndex
:
'memberName'
,
key
:
'memberName'
},
{
title
:
'总计得分'
,
dataIndex
:
'totalScore'
,
key
:
'totalScore'
},
{
title
:
'评标分类'
,
dataIndex
:
'sort'
,
key
:
'sort'
,
className
:
'commonHide'
},
{
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.memberId'
})
,
dataIndex
:
'memberId'
,
key
:
'memberId'
,
className
:
'commonHide'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaohuiyuan'
})
,
dataIndex
:
'memberName'
,
key
:
'memberName'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zongjidefen'
})
,
dataIndex
:
'totalScore'
,
key
:
'totalScore'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaofenlei'
})
,
dataIndex
:
'sort'
,
key
:
'sort'
,
className
:
'commonHide'
},
]
// 新增字段以 字符term+细则id组合而成
...
...
src/pages/procurement/callForBids/readyExpertRemark/detail/index.tsx
View file @
e989bf9a
...
...
@@ -67,7 +67,7 @@ const ReadyExpertRemarkDetail: React.FC = () => {
let
content
=
templateContentList
.
filter
(
_
=>
_
.
id
===
Number
(
contentId
))[
0
]
// 判断分值是否有null或者""
if
(
item
[
_item
]
===
null
||
item
[
_item
]
===
""
)
{
throw
"请正确填写评标分值"
throw
intl
.
formatMessage
({
id
:
'table.purchase.qingzhengquetianxie'
})
}
evaluationList
.
push
({
inviteTenderMemberId
:
item
.
memberId
,
...
...
@@ -104,7 +104,7 @@ const ReadyExpertRemarkDetail: React.FC = () => {
anchorList=
{
anchorTitleList
}
extraRight=
{
<
Button
type=
'primary'
onClick=
{
()
=>
addSchemaAction
.
submit
()
}
icon=
{
<
SendOutlined
rotate=
{
-
45
}
/>
}
>
提交评标
{
intl
.
formatMessage
({
id
:
'table.purchase.tijiaopingbiao'
})
}
</
Button
>
}
/>
...
...
@@ -157,7 +157,7 @@ const ReadyExpertRemarkDetail: React.FC = () => {
</
div
>
{
/* 在线评标 */
}
<
div
id=
"remarkBidReport"
>
<
OnlineRemark
cardTitle=
"在线评标"
addSchemaAction=
{
addSchemaAction
}
onConfirm=
{
onConfirm
}
/>
<
OnlineRemark
cardTitle=
{
intl
.
formatMessage
({
id
:
'table.purchase.zaixianpingbiao'
})
}
addSchemaAction=
{
addSchemaAction
}
onConfirm=
{
onConfirm
}
/>
</
div
>
{
/* 在线评标 */
}
<
div
id=
"transferRecord"
>
...
...
src/pages/procurement/callForBids/readyExpertRemark/model/useSelfTable.tsx
View file @
e989bf9a
...
...
@@ -30,13 +30,13 @@ const baseBidListColumns: any[] = [
</>
},
{
title
:
'专家号码'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.expertNumber'
})
,
align
:
'left'
,
dataIndex
:
'id'
,
key
:
'id'
,
},
{
title
:
'评标开始/结束时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.evaluationStartTime'
})
,
align
:
'left'
,
dataIndex
:
[
'inviteTender'
,
'evaluationStartTime'
],
key
:
[
'inviteTender'
,
'evaluationEndTime'
],
...
...
@@ -76,7 +76,7 @@ export const useSelfTable = () => {
align
:
'left'
,
dataIndex
:
'ctl'
,
key
:
'ctl'
,
render
:
(
text
,
record
)
=>
new
Date
().
getTime
()
<
record
.
inviteTender
.
evaluationEndTime
&&
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
评标
</
Button
>
render
:
(
text
,
record
)
=>
new
Date
().
getTime
()
<
record
.
inviteTender
.
evaluationEndTime
&&
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.pingbiao'
})
}
</
Button
>
}
])
...
...
src/pages/procurement/callForBids/readyExpertRemark/schema/index.ts
View file @
e989bf9a
...
...
@@ -37,7 +37,7 @@ export const tableListSchema: ISchema = {
type
:
'array'
,
"x-component"
:
'DateRangePickerUnix'
,
'x-component-props'
:
{
placeholder
:
[
'评标开始时间'
,
'评标结束时间'
],
placeholder
:
[
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaokaishishi'
}),
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaojieshushi'
})
],
},
},
submit
:
{
...
...
src/pages/procurement/callForBids/readyPassBid/components/bidConfirm/components/totalAmount/index.tsx
View file @
e989bf9a
...
...
@@ -29,7 +29,7 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.label34'
})
}
:
</
p
></
Col
>
<
Col
>
<
p
>
¥
{
(
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
含税
)
</
p
>
<
p
>
¥
{
(
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
>
</
Col
>
</
Row
>
</
div
>
...
...
@@ -57,7 +57,7 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shoubiaozonge'
})
}
:
</
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
>
<
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
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
></
Col
>
</
Row
>
</
div
>
</
Col
>)
:
null
)
...
...
src/pages/procurement/callForBids/readyPassBid/components/bidConfirm/index.tsx
View file @
e989bf9a
...
...
@@ -237,7 +237,7 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.label34'
})
}
:
</
p
></
Col
>
<
Col
>
<
p
>
¥
{
(
tableDataSource
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
含税
)
</
p
>
<
p
>
¥
{
(
tableDataSource
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
>
</
Col
>
</
Row
>
</
div
>
...
...
@@ -271,7 +271,7 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shoubiaozonge'
})
}
:
</
p
></
Col
>
<
Col
><
p
>
¥
{
(
tableDataSource
.
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
>
<
Col
><
p
>
¥
{
(
tableDataSource
.
reduce
((
a
,
b
)
=>
a
+
(
b
[
item
.
dataIndex
][
'isAwardTender'
]
?
(
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
*
b
[
item
.
dataIndex
][
'awardTenderRatio'
]
/
100
)
:
0
),
0
)).
toFixed
(
2
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
></
Col
>
</
Row
>
</
div
>
</
div
>
...
...
src/pages/procurement/callForBids/readyPassBid/components/participateInfo/index.tsx
View file @
e989bf9a
...
...
@@ -49,7 +49,7 @@ const ParticipateInfo: React.FC<ParticipateInfoProps> = ({cardTitle}) => {
<
div
className=
{
style
.
participateContent
}
>
<
div
className=
{
style
.
topWrapper
}
>
<
h3
>
{
item
.
company
}
</
h3
>
<
p
className=
{
style
.
amount
}
>
¥
{
item
.
amount
.
toFixed
(
2
)
}
<
span
>
{
item
.
isTax
?
' (含税)'
:
' (不含税)'
}
</
span
></
p
>
<
p
className=
{
style
.
amount
}
>
¥
{
item
.
amount
.
toFixed
(
2
)
}
<
span
>
{
item
.
isTax
?
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
:
intl
.
formatMessage
({
id
:
'table.purchase.buhanshui'
})
}
</
span
></
p
>
</
div
>
<
div
className=
{
style
.
contentWrapper
}
>
<
Row
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/callForBids/readyPassBid/detail/index.tsx
View file @
e989bf9a
...
...
@@ -40,7 +40,7 @@ const ReadyPassBidDetail: React.FC = () => {
// })
// })
// if(!validate) {
// return message.error(
'请授标'
)
// return message.error(
intl.formatMessage({ id: 'table.purchase.qingshoubiao' })
)
// }
setLoading
(
true
)
...
...
@@ -89,7 +89,7 @@ const ReadyPassBidDetail: React.FC = () => {
anchorList=
{
anchorTitleList
}
extraRight=
{
<
Button
type=
'primary'
onClick=
{
onSubmit
}
icon=
{
<
SendOutlined
rotate=
{
-
45
}
/>
}
loading=
{
loading
}
>
确认定标
{
intl
.
formatMessage
({
id
:
'table.purchase.querendingbiao'
})
}
</
Button
>
}
/>
...
...
src/pages/procurement/callForBids/readyPassBid/model/useSelfTable.tsx
View file @
e989bf9a
...
...
@@ -24,7 +24,7 @@ export const useSelfTable = () => {
align
:
'left'
,
dataIndex
:
'ctl'
,
key
:
'ctl'
,
render
:
(
text
,
record
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
确认定标
</
Button
>
render
:
(
text
,
record
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.querendingbiao'
})
}
</
Button
>
}
])
...
...
src/pages/procurement/callForBids/readyPassBid/schema/index.ts
View file @
e989bf9a
...
...
@@ -37,7 +37,7 @@ export const tableListSchema: ISchema = {
type
:
'array'
,
"x-component"
:
'DateRangePickerUnix'
,
'x-component-props'
:
{
placeholder
:
[
'评标开始时间'
,
'评标结束时间'
],
placeholder
:
[
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaokaishishi'
}),
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaojieshushi'
})
],
},
},
submit
:
{
...
...
src/pages/procurement/callForBids/readyQualifityChecked/detail/index.tsx
View file @
e989bf9a
...
...
@@ -66,7 +66,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjindu'
}),
id
:
'transferProcess'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.jibenxinxi'
}),
id
:
'baseicInfo'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zigeyushenyao'
}),
id
:
'checkNeed'
},
{
title
:
'资格证明文件'
,
id
:
'qualifityNeed'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zigezhengmingwen'
})
,
id
:
'qualifityNeed'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjilu'
}),
id
:
'transferRecord'
},
]
...
...
@@ -139,7 +139,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
<
PreLoading
loading=
{
!
formContext
.
data
}
active
paragraph=
{
{
rows
:
6
}
}
>
<
div
id=
"transferProcess"
>
<
TransferProcess
cardTitle=
"流转进度"
cardTitle=
{
intl
.
formatMessage
({
id
:
'detail.purchase.progressLayout'
})
}
customTitleKey=
'name'
customKey=
'id'
outerVerifyCurrent=
{
findLastIndexFlowState
(
formContext
?.
externalWorkflowFlowRecordLogResponses
||
[])
}
...
...
@@ -166,18 +166,18 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
<
DescriptionsInfo
cardTitle=
{
intl
.
formatMessage
({
id
:
'table.purchase.jibenxinxi'
})
}
type=
"basicInfo"
/>
</
div
>
<
div
id=
"checkNeed"
>
<
DescriptionsInfo
cardTitle=
"资格预审要求"
type=
"checkNeed"
/>
<
DescriptionsInfo
cardTitle=
{
intl
.
formatMessage
({
id
:
'table.purchase.zigeyushenyao'
})
}
type=
"checkNeed"
/>
</
div
>
<
div
id=
"qualifityNeed"
>
<
MellowCard
title=
"资格证明文件"
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.zigezhengmingwen'
})
}
style=
{
{
marginTop
:
24
}
}
bordered=
{
false
}
fullHeight
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
2
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
资格证明文件
:
</
p
></
Col
>
<
Col
span=
{
2
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.zigezhengmingwen'
})
}
:
</
p
></
Col
>
<
Col
>
{
data
&&
data
.
qualificationsFile
.
map
(
item
=>
(<
div
key=
{
item
.
id
}
>
...
...
@@ -190,7 +190,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
</
MellowCard
>
</
div
>
<
div
id=
"transferRecord"
>
<
BidTransformRecord
cardTitle=
"流转记录"
/>
<
BidTransformRecord
cardTitle=
{
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjilu'
})
}
/>
</
div
>
</
PreLoading
>
</
OrderDetailWrapper
>
...
...
src/pages/procurement/callForBids/readyQualifityChecked/model/useSelfTable.tsx
View file @
e989bf9a
...
...
@@ -45,7 +45,7 @@ export const useSelfTable = () => {
render
:
(
t
,
r
)
=>
CALLFORBID_TYPE
[
r
.
inviteTender
.
inviteTenderType
]
},
{
title
:
'资格预审会员/提交时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.submitQualificationsCheckTime'
})
,
align
:
'left'
,
dataIndex
:
'inviteTender'
,
key
:
'inviteTender'
,
...
...
@@ -56,7 +56,7 @@ export const useSelfTable = () => {
width
:
180
},
{
title
:
'资格预审开始/截止时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zigeyushenkai'
})
,
align
:
'left'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
...
...
@@ -78,7 +78,7 @@ export const useSelfTable = () => {
align
:
'left'
,
dataIndex
:
'submitTenderInStatusValue'
,
key
:
'submitTenderInStatusValue'
,
render
:
(
text
,
r
)
=>
<
CustomBadge
text=
{
'待审核资格预审'
}
color=
{
r
.
submitTenderInStatusColor
}
/>
render
:
(
text
,
r
)
=>
<
CustomBadge
text=
{
intl
.
formatMessage
({
id
:
'table.purchase.daishenhezige'
})
}
color=
{
r
.
submitTenderInStatusColor
}
/>
},
]
...
...
@@ -89,7 +89,7 @@ export const useSelfTable = () => {
dataIndex
:
'ctl'
,
key
:
'ctl'
,
render
:
(
text
,
record
)
=>
<>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
资格预审
</
Button
>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.zigeyushen'
})
}
</
Button
>
</>
}
])
...
...
src/pages/procurement/callForBids/readySendBidNotice/constant/index.tsx
View file @
e989bf9a
...
...
@@ -8,21 +8,21 @@ const intl = getIntl();
export
const
anchorTitleList
=
[
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjindu'
}),
id
:
'transferProcess'
,
componentName
:
'TransferProcess'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.jibenxinxi'
}),
id
:
'baseicInfo'
,
type
:
'basicInfo'
},
{
title
:
'会员中标信息'
,
id
:
'memberWinInfo'
,
componentName
:
'MemberWinInfo'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.huiyuanzhongbiaoxin'
})
,
id
:
'memberWinInfo'
,
componentName
:
'MemberWinInfo'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjilu'
}),
id
:
'transferRecord'
,
componentName
:
"BidTransformRecord"
},
]
export
const
dataIdList
=
[
{
title
:
'中标公示'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.awardResults'
})
,
idName
:
'bidNotice'
,
},
{
title
:
'中标通知'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.bidLayout1'
})
,
idName
:
'bidMessage'
,
},
{
title
:
'感谢函'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.thanks'
})
,
idName
:
'thankLetter'
,
}
]
...
...
@@ -41,8 +41,8 @@ export const basicColumnList = [
span
:
8
,
fieldList
:
[
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.projectName'
}),
name
:
'projectName'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaohuiyuan'
}),
name
:
'memberName'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaozhaiyao'
}),
name
:
'remark'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaohuiyuan'
}),
name
:
'memberName'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaozhaiyao'
}),
name
:
'remark'
},
]
},
{
...
...
@@ -50,13 +50,13 @@ export const basicColumnList = [
fieldList
:
[
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.bidCreateTime'
}),
name
:
'createTime'
,
render
:
(
text
)
=>
formatTimeString
(
text
)
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.shiyongdizhi'
}),
title
:
intl
.
formatMessage
({
id
:
'table.purchase.shiyongdizhi'
}),
name
:
'inviteTenderAreaList'
,
render
:
(
t
,
r
)
=>
<
p
>
{
t
.
map
((
_item
,
_i
)
=>
<
p
key=
{
`address${_i}`
}
>
{
_item
.
provinceName
+
'/'
+
(
_item
.
cityName
||
''
)
}
</
p
>)
}
</
p
>
{
t
.
map
((
_item
,
_i
)
=>
<
p
key=
{
`address${_i}`
}
>
{
_item
.
provinceName
+
'/'
+
(
_item
.
cityName
||
''
)
}
</
p
>)
}
</
p
>
},
]
},
...
...
@@ -167,7 +167,7 @@ export const noticeSchema: ISchema = {
type
:
"object"
,
"x-component"
:
"CustomTitle"
,
"x-component-props"
:
{
text
:
"中标公示"
text
:
intl
.
formatMessage
({
id
:
'detail.purchase.awardResults'
})
},
properties
:
{
NO_SUBMIT_LAYOUT_1
:
{
...
...
@@ -177,11 +177,11 @@ export const noticeSchema: ISchema = {
labelAlign
:
"top"
,
full
:
true
},
properties
:{
properties
:
{
winTenderAnnounce
:
{
type
:
'string'
,
"x-component-props"
:
{
children
:
"发送中标公示"
children
:
intl
.
formatMessage
({
id
:
'table.purchase.fasongzhongbiaogong'
})
},
"x-component"
:
"checkboxsingle"
,
default
:
true
,
...
...
@@ -192,12 +192,12 @@ export const noticeSchema: ISchema = {
title
:
''
,
required
:
true
,
'x-component-props'
:
{
placeholder
:
'请填写中标公示'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingtianxiezhongbiao'
})
,
rows
:
4
}
},
winTenderAnnounceFile
:
{
title
:
'中标公示附件'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaogongshifu'
})
,
'x-component'
:
'FixUpload'
,
'x-component-props'
:
{
action
:
'/api/file/file/upload/prefix'
,
...
...
@@ -211,10 +211,10 @@ export const noticeSchema: ISchema = {
'x-rules'
:
[
{
required
:
false
,
message
:
'请上传附件'
,
message
:
intl
.
formatMessage
({
id
:
'detail.purchase.message57'
})
,
},
],
// description:
'一次上传一个文件,每个附件大小不能超过20M'
,
// description:
intl.formatMessage({ id: 'table.purchase.yicishangchuanyi' })
,
},
}
}
...
...
@@ -224,13 +224,13 @@ export const noticeSchema: ISchema = {
type
:
"object"
,
"x-component"
:
"CustomTitle"
,
"x-component-props"
:
{
text
:
"中标通知"
text
:
intl
.
formatMessage
({
id
:
'detail.purchase.bidLayout1'
})
},
properties
:
{
winTenderNotice
:
{
type
:
'string'
,
"x-component-props"
:
{
children
:
"发送中标通知"
children
:
intl
.
formatMessage
({
id
:
'table.purchase.fasongzhongbiaotong'
})
},
"x-component"
:
"checkboxsingle"
,
default
:
true
,
...
...
@@ -239,12 +239,12 @@ export const noticeSchema: ISchema = {
type
:
'textarea'
,
title
:
''
,
'x-component-props'
:
{
placeholder
:
'请填写中标通知'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingtianxiezhongbiao1'
})
,
rows
:
4
}
},
winTenderNoticeFile
:
{
title
:
'中标通知附件'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaotongzhifu'
})
,
'x-component'
:
'FixUpload'
,
'x-component-props'
:
{
action
:
'/api/file/file/upload/prefix'
,
...
...
@@ -258,10 +258,10 @@ export const noticeSchema: ISchema = {
'x-rules'
:
[
{
required
:
false
,
message
:
'请上传附件'
,
message
:
intl
.
formatMessage
({
id
:
'detail.purchase.message57'
})
,
},
],
// description:
'一次上传一个文件,每个附件大小不能超过20M'
,
// description:
intl.formatMessage({ id: 'table.purchase.yicishangchuanyi' })
,
},
}
},
...
...
@@ -269,13 +269,13 @@ export const noticeSchema: ISchema = {
type
:
"object"
,
"x-component"
:
"CustomTitle"
,
"x-component-props"
:
{
text
:
"感谢函"
text
:
intl
.
formatMessage
({
id
:
'detail.purchase.thanks'
})
},
properties
:
{
winTenderThanks
:
{
type
:
'string'
,
"x-component-props"
:
{
children
:
"发送感谢函"
children
:
intl
.
formatMessage
({
id
:
'table.purchase.fasongganxiehan'
})
},
"x-component"
:
"checkboxsingle"
,
default
:
true
,
...
...
@@ -284,7 +284,7 @@ export const noticeSchema: ISchema = {
type
:
'textarea'
,
title
:
''
,
'x-component-props'
:
{
placeholder
:
'请填写感谢函'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingtianxieganxie'
})
,
rows
:
4
}
},
...
...
src/pages/procurement/callForBids/readySendBidNotice/detail/index.tsx
View file @
e989bf9a
...
...
@@ -22,7 +22,7 @@ const intl = getIntl();
const
formActions
=
createFormActions
();
const
ReadySendBidNoticeDetail
:
React
.
FC
=
()
=>
{
const
{
formContext
,
id
}
=
useNoticeDetail
({
type
:
'callForBid'
})
const
{
formContext
,
id
}
=
useNoticeDetail
({
type
:
'callForBid'
})
const
{
data
,
externalProcurementOrderLogResponses
,
interiorProcurementOrderLogResponses
}
=
formContext
const
{
action
,
// 1操作 null查看
...
...
@@ -35,7 +35,7 @@ const ReadySendBidNoticeDetail: React.FC = () => {
const
RenderBasicInfoColumns
=
({
infoList
=
[],
dataSource
})
=>
<
Row
>
{
infoList
.
map
(({
span
,
fieldList
=
[]
},
index
)
=>
(<
Col
key=
{
index
}
span=
{
span
}
>
infoList
.
map
(({
span
,
fieldList
=
[]
},
index
)
=>
(<
Col
key=
{
index
}
span=
{
span
}
>
{
fieldList
.
length
?
fieldList
.
map
((
_v
,
_i
)
=>
<
Row
key=
{
_v
.
name
}
className=
{
style
[
'card-list'
]
}
style=
{
_v
.
rowStyle
}
>
{
_v
?.
noTitle
?
null
:
<
Col
span=
{
6
}
className=
{
style
[
'card-list_title'
]
}
>
{
_v
.
title
}
</
Col
>
}
...
...
@@ -54,10 +54,10 @@ const ReadySendBidNoticeDetail: React.FC = () => {
// setVisible(false)
setLoading
(
true
)
formActions
.
validate
().
then
((
res
)
=>
{
if
(
res
[
'errors'
][
'length'
]
===
0
)
{
if
(
res
[
'errors'
][
'length'
]
===
0
)
{
formActions
.
submit
(
async
v
=>
{
const
{
code
}
=
await
postPurchaseInviteTenderWinTenderNotice
({
id
,
...
v
})
if
(
code
===
1000
)
{
const
{
code
}
=
await
postPurchaseInviteTenderWinTenderNotice
({
id
,
...
v
})
if
(
code
===
1000
)
{
history
.
goBack
()
}
setLoading
(
false
)
...
...
@@ -68,7 +68,7 @@ const ReadySendBidNoticeDetail: React.FC = () => {
const
beforeUpload
=
file
=>
{
if
(
file
.
size
/
1024
/
1024
>
20
)
{
message
.
warning
(
'附件大小超过20M'
)
message
.
warning
(
intl
.
formatMessage
({
id
:
'table.purchase.yicishangchuanyi'
})
)
return
Promise
.
reject
()
}
}
...
...
@@ -78,11 +78,11 @@ const ReadySendBidNoticeDetail: React.FC = () => {
textAlign
:
'right'
,
}
}
>
<
Button
onClick=
{
()
=>
setVisible
(
false
)
}
style=
{
{
marginRight
:
8
}
}
>
取消
<
Button
onClick=
{
()
=>
setVisible
(
false
)
}
style=
{
{
marginRight
:
8
}
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.quxiao'
})
}
</
Button
>
<
Button
onClick=
{
confirmSubmit
}
type=
"primary"
loading=
{
loading
}
>
确定
{
intl
.
formatMessage
({
id
:
'detail.purchase.confirm'
})
}
</
Button
>
</
div
>)
...
...
@@ -93,19 +93,19 @@ const ReadySendBidNoticeDetail: React.FC = () => {
<
BidDetailHeader
formContext=
{
formContext
}
anchorList=
{
anchorTitleList
}
extraRight=
{
action
&&
[
<
Button
type=
'primary'
onClick=
{
()
=>
setVisible
(
true
)
}
icon=
{
<
SendOutlined
rotate=
{
-
45
}
/>
}
>
发送中标公示
</
Button
>
]
extraRight=
{
action
&&
[
<
Button
type=
'primary'
onClick=
{
()
=>
setVisible
(
true
)
}
icon=
{
<
SendOutlined
rotate=
{
-
45
}
/>
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.fasongzhongbiaogong'
})
}
</
Button
>
]
}
/>
<
OrderDetailWrapper
>
<
PreLoading
loading=
{
!
formContext
.
data
}
active
paragraph=
{
{
rows
:
6
}
}
>
<
PreLoading
loading=
{
!
formContext
.
data
}
active
paragraph=
{
{
rows
:
6
}
}
>
<
div
id=
"transferProcess"
>
<
TransferProcess
cardTitle=
{
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjindu'
})
}
customTitleKey=
'name'
}
customTitleKey=
'name'
customKey=
'id'
outerVerifyCurrent=
{
findLastIndexFlowState
(
formContext
.
externalWorkflowFlowRecordLogResponses
)
}
innerVerifyCurrent=
{
findLastIndexFlowState
(
formContext
.
interiorWorkflowFlowRecordLogResponses
)
}
...
...
@@ -130,7 +130,7 @@ const ReadySendBidNoticeDetail: React.FC = () => {
<
div
id=
"baseicInfo"
>
<
MellowCard
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.jibenxinxi'
})
}
style=
{
{
marginTop
:
24
}
}
style=
{
{
marginTop
:
24
}
}
bordered=
{
false
}
fullHeight
>
...
...
@@ -139,24 +139,24 @@ const ReadySendBidNoticeDetail: React.FC = () => {
</
div
>
<
div
id=
"memberWinInfo"
>
<
MellowCard
title=
"中标会员信息"
style=
{
{
marginTop
:
24
}
}
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaohuiyuanxin'
})
}
style=
{
{
marginTop
:
24
}
}
bordered=
{
false
}
fullHeight
>
<
div
className=
{
style
.
winBidWrapper
}
>
<
div
className=
{
style
.
winBidContainer
}
>
<
h3
className=
"commonPanelTitle"
>
中标会员
</
h3
>
<
h3
className=
"commonPanelTitle"
>
{
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaohuiyuan'
})
}
</
h3
>
<
Row
gutter=
{
[
16
,
0
]
}
>
{
data
?.
memberList
?.
length
?
data
.
memberList
.
map
((
item
,
index
)
=>
<
Col
span=
{
6
}
key=
{
item
.
memberId
}
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
h4
>
{
item
.
memberName
}
</
h4
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
中标总金额(含税)
:
</
p
></
Col
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.message25'
})
}
:
</
p
></
Col
>
<
Col
><
p
className=
{
style
.
amount
}
>
¥
{
(
item
.
amount
).
toFixed
(
2
)
}
</
p
></
Col
>
</
Row
>
<
img
src=
{
winBid
}
alt=
"已中标"
/>
<
img
src=
{
winBid
}
alt=
{
intl
.
formatMessage
({
id
:
'table.purchase.yizhongbiao'
})
}
/>
</
div
>
</
Col
>)
:
null
}
...
...
@@ -190,7 +190,7 @@ const ReadySendBidNoticeDetail: React.FC = () => {
<
div
id=
"transferRecord"
>
<
MellowCard
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjilu'
})
}
style=
{
{
marginTop
:
24
}
}
style=
{
{
marginTop
:
24
}
}
bordered=
{
false
}
extra=
{
<
Radio
.
Group
value=
{
transferRadio
}
buttonStyle=
"solid"
size=
"small"
onChange=
{
handleChangeType
}
>
...
...
@@ -224,38 +224,38 @@ const ReadySendBidNoticeDetail: React.FC = () => {
</
OrderDetailWrapper
>
<
AnchorDrawer
title=
"发送中标公示"
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.fasongzhongbiaogong'
})
}
visible=
{
visible
}
dataIdList=
{
dataIdList
}
footer=
{
footer
}
onClose=
{
()
=>
setVisible
(
false
)
}
isForm
=
{
true
}
isForm
=
{
true
}
actions=
{
formActions
}
schema=
{
noticeSchema
}
expressionScope=
{
{
beforeUpload
}
}
effects=
{
(
$
,
ctx
)
=>
{
const
applyBuines
=
data
.
memberList
.
map
(
item
=>
`${item.memberName}(中标总金额
¥${item.amount})`
)
const
text
=
`${data.memberName}《${data.projectName}》评标工作已经结束,中标人已经确定。现将中标结果公布如下
:
中标供应商
:${applyBuines.toString()}。
const
applyBuines
=
data
.
memberList
.
map
(
item
=>
`${item.memberName}(${intl.formatMessage({ id: 'table.purchase.zhongbiaozongjine' })}
¥${item.amount})`
)
const
text
=
`${data.memberName}《${data.projectName}》${intl.formatMessage({ id: 'table.purchase.pingbiaogongzuoyi' })}
:
${intl.formatMessage({ id: 'table.purchase.zhongbiaogongyingshang' })}
:${applyBuines.toString()}。
{intl.formatMessage({ id: 'detail.purchase.label1' })}:${data.winTenderReason}。`
$
(
'onFieldInit'
,
'winTenderAnnounceContent'
).
subscribe
(()
=>
{
ctx
.
setFieldValue
(
'winTenderAnnounceContent'
,
text
)
})
$
(
'onFieldInit'
,
'winTenderAnnounceContent'
).
subscribe
(()
=>
{
ctx
.
setFieldValue
(
'winTenderAnnounceContent'
,
text
)
})
ctx
.
setFieldValue
(
'winTenderAnnounceContent'
,
text
)
$
(
'onFieldInit'
,
'winTenderNoticeContent'
).
subscribe
(()
=>
{
ctx
.
setFieldValue
(
'winTenderNoticeContent'
,
text
)
})
$
(
'onFieldInit'
,
'winTenderNoticeContent'
).
subscribe
(()
=>
{
ctx
.
setFieldValue
(
'winTenderNoticeContent'
,
text
)
})
ctx
.
setFieldValue
(
'winTenderNoticeContent'
,
text
)
const
thinkText
=
`贵公司参与了我公司《${data.projectName}》竞标。在我公司综合各投标单位的基本情况,并进行充分技术交流后,经评标委员会综合评定,贵公司未能中标。我公司对贵公司的积极参与和支持深表感谢!希望下次合作成功。`
$
(
'onFieldInit'
,
'winTenderThanksContent'
).
subscribe
(()
=>
{
ctx
.
setFieldValue
(
'winTenderThanksContent'
,
thinkText
)
})
const
thinkText
=
`${intl.formatMessage({ id: 'table.purchase.guigongsicanyu' })}《${data.projectName}》${intl.formatMessage({ id: 'table.purchase.jingbiaoaiwo' })}`
$
(
'onFieldInit'
,
'winTenderThanksContent'
).
subscribe
(()
=>
{
ctx
.
setFieldValue
(
'winTenderThanksContent'
,
thinkText
)
})
ctx
.
setFieldValue
(
'winTenderThanksContent'
,
thinkText
)
}
}
/>
</
ReadySendBidNoticeContext
.
Provider
>
...
...
src/pages/procurement/callForBids/readySendBidNotice/model/useSelfTable.tsx
View file @
e989bf9a
...
...
@@ -64,7 +64,7 @@ export const useSelfTable = () => {
align
:
'left'
,
dataIndex
:
'ctl'
,
key
:
'ctl'
,
render
:
(
text
,
record
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
发送中标公示
</
Button
>
render
:
(
text
,
record
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.fasongzhongbiaogong'
})
}
</
Button
>
}
])
...
...
src/pages/procurement/callForBids/readySendBidNotice/schema/index.ts
View file @
e989bf9a
...
...
@@ -37,7 +37,7 @@ export const tableListSchema: ISchema = {
// type: 'array',
// "x-component": 'DateRangePickerUnix',
// 'x-component-props': {
// placeholder: [
'评标开始时间','评标结束时间'
],
// placeholder: [
intl.formatMessage({ id: 'table.purchase.pingbiaokaishishi' }),intl.formatMessage({ id: 'table.purchase.pingbiaojieshushi' })
],
// },
// },
submit
:
{
...
...
src/pages/procurement/callForBids/readySubmitBid/index.tsx
View file @
e989bf9a
...
...
@@ -37,7 +37,7 @@ const ReadySubmitBid:React.FC<ReadySubmitBidProps> = (props) => {
const
handleSubmitBatch
=
async
()
=>
{
if
(
rowSelectionCtl
.
selectRow
.
length
===
0
)
{
message
.
error
(
'请先选择招标'
)
message
.
error
(
intl
.
formatMessage
({
id
:
'table.purchase.qingxianxuanzezhao'
})
)
return
;
}
// const canBitch = !rowSelectionCtl.selectRow.some(v => v.inviteTenderInStatus !== BidInsideWorkState.Tender_Check_Pass)
...
...
src/pages/procurement/callForBids/readySubmitBid/model/useSelfTable.tsx
View file @
e989bf9a
...
...
@@ -19,7 +19,7 @@ export const useSelfTable = () => {
align
:
'left'
,
dataIndex
:
'ctl'
,
key
:
'ctl'
,
render
:
(
text
,
record
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
提交
</
Button
>
render
:
(
text
,
record
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.submit'
})
}
</
Button
>
}
])
...
...
src/pages/procurement/callForBids/readySubmitReport/components/remarkBidReport/index.tsx
View file @
e989bf9a
...
...
@@ -295,17 +295,17 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({editable}) => {
name
:
item
.
response
.
data
.
name
.
split
(
'/'
).
pop
()
})))
}
else
if
(
info
.
file
.
status
===
'error'
)
{
message
.
error
(
`
${
info
.
file
.
name
}
上传失败
`
);
message
.
error
(
`
${
info
.
file
.
name
}
${
intl
.
formatMessage
({
id
:
'table.purchase.shangchuanshibai'
})}
`
);
}
},
beforeUpload
(
file
)
{
if
(
file
.
name
.
length
>
100
)
{
message
.
warning
(
'文件名过长'
);
return
Promise
.
reject
(
'文件名过长'
);
message
.
warning
(
intl
.
formatMessage
({
id
:
'table.purchase.wenjianmingguochang'
})
);
return
Promise
.
reject
(
intl
.
formatMessage
({
id
:
'table.purchase.wenjianmingguochang'
})
);
}
if
(
file
.
size
/
1024
/
1024
>
20
)
{
message
.
warning
(
'附件大小超过20M'
);
return
Promise
.
reject
(
'附件大小超过20M'
);
message
.
warning
(
intl
.
formatMessage
({
id
:
'table.purchase.yicishangchuanyi'
})
);
return
Promise
.
reject
(
intl
.
formatMessage
({
id
:
'table.purchase.yicishangchuanyi'
})
);
}
},
}
...
...
@@ -383,7 +383,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({editable}) => {
return
(<>
<
div
id=
"extractExpertList"
>
<
MellowCard
title=
'专家抽取列表'
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.zhuanjiachouqulie'
})
}
style=
{
{
marginTop
:
24
}
}
bordered=
{
false
}
fullHeight
...
...
@@ -393,10 +393,10 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({editable}) => {
data
?.
expertExtractList
.
length
?
data
.
expertExtractList
.
map
(
item
=>
(<
Col
span=
{
4
}
key=
{
item
.
id
}
>
<
div
className=
{
style
.
committeeItem
}
>
<
div
className=
{
style
.
avater
}
>
<
img
src=
{
imgLink
}
alt=
"专家头像"
/>
<
p
>
{
item
.
source
===
1
?
'系统抽取'
:
'人工抽取'
}
</
p
>
<
img
src=
{
imgLink
}
alt=
{
intl
.
formatMessage
({
id
:
'table.purchase.zhuanjiatouxiang'
})
}
/>
<
p
>
{
item
.
source
===
1
?
intl
.
formatMessage
({
id
:
'table.purchase.xitongchouqu'
})
:
intl
.
formatMessage
({
id
:
'table.purchase.rengongchouqu'
})
}
</
p
>
</
div
>
<
p
><
span
className=
{
style
[
'card-list_title'
]
}
>
评委专家编号
:
</
span
>
{
item
.
id
}
</
p
>
<
p
><
span
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.pingweizhuanjiabian'
})
}
:
</
span
>
{
item
.
id
}
</
p
>
{
item
.
status
===
2
?
<
span
className=
{
cx
(
style
.
status
,
style
.
statusInfo
)
}
>
{
ExpertRectractStatus
[
item
.
status
]
}
</
span
>
:
null
}
...
...
@@ -418,7 +418,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({editable}) => {
</
div
>
<
div
id=
"remarkBidRecord"
className=
{
style
.
remarkRecordContainer
}
>
<
MellowCard
title=
'评标记录'
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaojilu'
})
}
style=
{
{
marginTop
:
24
}
}
bordered=
{
false
}
fullHeight
...
...
@@ -498,7 +498,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({editable}) => {
</
div
>
<
div
id=
'recommandBidMember'
>
<
MellowCard
title=
'推荐中标会员'
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.tuijianzhongbiaohui'
})
}
style=
{
{
marginTop
:
24
}
}
bordered=
{
false
}
fullHeight
...
...
@@ -531,15 +531,15 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({editable}) => {
<
div
className=
{
style
[
'card-list-dash'
]
}
onClick=
{
handleAddMember
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
></
p
></
Col
>
<
Col
><
p
style=
{
{
opacity
:
0
}
}
>
新增推荐中标
</
p
></
Col
>
<
Col
><
p
style=
{
{
opacity
:
0
}
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.xinzengtuijianzhong'
})
}
</
p
></
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
></
p
></
Col
>
<
Col
><
p
><
PlusOutlined
/>
新增推荐中标
</
p
></
Col
>
<
Col
><
p
><
PlusOutlined
/>
{
intl
.
formatMessage
({
id
:
'table.purchase.xinzengtuijianzhong'
})
}
</
p
></
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
></
p
></
Col
>
<
Col
><
p
style=
{
{
opacity
:
0
}
}
>
新增推荐中标
</
p
></
Col
>
<
Col
><
p
style=
{
{
opacity
:
0
}
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.xinzengtuijianzhong'
})
}
</
p
></
Col
>
</
Row
>
</
div
>
</
Col
>
}
...
...
@@ -548,19 +548,19 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({editable}) => {
</
div
>
<
div
id=
'remarkBidFiles'
>
<
MellowCard
title=
'评标附件'
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaofujian'
})
}
style=
{
{
marginTop
:
24
}
}
bordered=
{
false
}
fullHeight
>
<
Row
>
<
Col
span=
{
2
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
评标附件
:
</
p
></
Col
>
<
Col
span=
{
2
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaofujian'
})
}
:
</
p
></
Col
>
<
Col
>
{
editable
&&
<
Upload
{
...
uploadProps
}
>
<
Button
icon=
{
<
UploadOutlined
/>
}
>
上传附件
</
Button
>
<
Button
icon=
{
<
UploadOutlined
/>
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shangchuanfujian'
})
}
</
Button
>
</
Upload
>
}
</
Col
>
...
...
@@ -569,7 +569,7 @@ const RemarkBidReport: React.FC<RemarkBidReportProps> = ({editable}) => {
</
div
>
{
/* 新增推荐会员 */
}
<
ModalForm
modalTitle=
'新增推荐会员'
modalTitle=
{
intl
.
formatMessage
({
id
:
'table.purchase.xinzengtuijianhui'
})
}
currentRef=
{
currentRef
}
confirm=
{
onConfirm
}
onSubmit=
{
handleSubmit
}
...
...
src/pages/procurement/callForBids/readySubmitReport/components/remarkTableCell/index.tsx
View file @
e989bf9a
...
...
@@ -46,7 +46,7 @@ export const EditableCell: React.FC<EditableCellProps> = ({
const
values
=
await
form
.
validateFields
()
handleSave
({
...
record
,
...
values
})
}
catch
(
errInfo
)
{
console
.
log
(
'Save failed
:
'
,
errInfo
)
console
.
log
(
'Save failed'
,
errInfo
)
}
};
...
...
src/pages/procurement/callForBids/readySubmitReport/constant/index.tsx
View file @
e989bf9a
...
...
@@ -12,10 +12,10 @@ export const anchorTitleList = [
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.jibenxinxi'
}),
id
:
'baseicInfo'
,
type
:
"basicInfo"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaoyaoqiu'
}),
id
:
'remarkNeed'
,
type
:
"remarkNeed"
},
// { title: intl.formatMessage({ id: 'table.purchase.pingbiaobaogao' }), id: 'remarkBidReport', componentName: "RemarkBidReport" },
{
title
:
'专家抽取列表'
,
id
:
'extractExpertList'
,
componentName
:
"ExtractExpertList"
},
{
title
:
'评标记录'
,
id
:
'remarkBidRecord'
,
componentName
:
"RemarkBidRecord"
},
{
title
:
'推荐中标会员'
,
id
:
'recommandBidMember'
,
componentName
:
"RecommandBidMember"
},
{
title
:
'评标附件'
,
id
:
'remarkBidFiles'
,
componentName
:
"RemarkBidFiles"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhuanjiachouqulie'
})
,
id
:
'extractExpertList'
,
componentName
:
"ExtractExpertList"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaojilu'
})
,
id
:
'remarkBidRecord'
,
componentName
:
"RemarkBidRecord"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.tuijianzhongbiaohui'
})
,
id
:
'recommandBidMember'
,
componentName
:
"RecommandBidMember"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaofujian'
})
,
id
:
'remarkBidFiles'
,
componentName
:
"RemarkBidFiles"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjilu'
}),
id
:
'transferRecord'
,
componentName
:
"BidTransformRecord"
},
]
...
...
@@ -47,15 +47,15 @@ export const evaluationColumnList = [
{
span
:
8
,
fieldList
:
[
{
title
:
'评标要求时间:'
,
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'evaluationStartTime'
])
+
'至'
+
formatTimeString
(
r
[
'evaluationEndTime'
])},
{
title
:
'评标要求:'
,
name
:
'evaluationRequirement'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaoyaoqiushi'
})
,
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'evaluationStartTime'
])
+
'至'
+
formatTimeString
(
r
[
'evaluationEndTime'
])},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaoyaoqiu'
})
,
name
:
'evaluationRequirement'
},
]
},
{
span
:
8
,
fieldList
:
[
{
title
:
'评标要求附件:'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaoyaoqiufu'
})
,
name
:
'evaluationFile'
,
render
:
(
t
,
r
)
=>
(<
div
>
{
...
...
@@ -68,8 +68,8 @@ export const evaluationColumnList = [
{
span
:
8
,
fieldList
:
[
{
title
:
'是否在线评标:'
,
name
:
'isOnlineEvaluation'
,
render
:
(
text
)
=>
text
?
intl
.
formatMessage
({
id
:
'table.purchase.shi'
})
:
intl
.
formatMessage
({
id
:
'table.purchase.fou'
})
},
{
title
:
'评标项模板:'
,
name
:
'templateName'
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.shifouzaixianping'
})
,
name
:
'isOnlineEvaluation'
,
render
:
(
text
)
=>
text
?
intl
.
formatMessage
({
id
:
'table.purchase.shi'
})
:
intl
.
formatMessage
({
id
:
'table.purchase.fou'
})
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaoxiangmuban'
})
,
name
:
'templateName'
},
]
},
]
...
...
@@ -184,31 +184,31 @@ export const addRecommandMemberSchema: ISchema = {
properties
:
{
memberName
:
{
type
:
'string'
,
title
:
'推荐中标会员'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.tuijianzhongbiaohui'
})
,
required
:
true
,
"x-component-props"
:
{
placeholder
:
'输入推荐中标会员'
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.shurutuijianzhong'
})
},
},
userName
:
{
type
:
'string'
,
title
:
'推荐人'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.tuijianren'
})
,
required
:
true
,
"x-component-props"
:
{
placeholder
:
'输入推荐人'
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.shurutuijianren'
})
},
},
reason
:
{
type
:
'textarea'
,
"x-component-props"
:
{
rows
:
4
,
placeholder
:
'在此输入你的理由, 最多100个字符'
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.zaicishuruni100'
})
},
title
:
intl
.
formatMessage
({
id
:
'table.purchase.tuijianzhongbiaoli'
}),
"x-rules"
:
[
{
required
:
true
,
message
:
'请输入理由'
message
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshuruliyou'
})
},
{
limitByte
:
true
,
...
...
src/pages/procurement/callForBids/readySubmitReport/detail/index.tsx
View file @
e989bf9a
...
...
@@ -85,7 +85,7 @@ const readySubmitReportDetail: React.FC = () => {
anchorList=
{
anchorTitleList
}
extraRight=
{
action
&&
<
Button
type=
'primary'
onClick=
{
handleSubmit
}
loading=
{
loading
}
icon=
{
<
SendOutlined
rotate=
{
-
45
}
/>
}
>
提交报告
{
intl
.
formatMessage
({
id
:
'table.purchase.tijiaobaogao'
})
}
</
Button
>
}
/>
...
...
@@ -137,7 +137,7 @@ const readySubmitReportDetail: React.FC = () => {
</
MellowCard
>
</
div
>
{
/* 评标报告 */
}
<
RemarkBidReport
cardTitle=
"在线评标"
addSchemaAction=
{
addSchemaAction
}
editable=
{
!!
action
}
/>
<
RemarkBidReport
cardTitle=
{
intl
.
formatMessage
({
id
:
'table.purchase.zaixianpingbiao'
})
}
addSchemaAction=
{
addSchemaAction
}
editable=
{
!!
action
}
/>
{
/* 评标报告 */
}
<
div
id=
"transferRecord"
>
<
MellowCard
...
...
src/pages/procurement/callForBids/readySubmitReport/model/useSelfTable.tsx
View file @
e989bf9a
...
...
@@ -73,7 +73,7 @@ const baseBidListColumns: any[] = [
export
const
useSelfTable
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
const
[
rowSelection
,
rowSelectionCtl
]
=
useRowSelectionTable
({
customKey
:
'id'
})
const
[
rowSelection
,
rowSelectionCtl
]
=
useRowSelectionTable
({
customKey
:
'id'
})
const
handleSubmit
=
async
(
record
)
=>
{
history
.
push
(
`/memberCenter/procurementAbility/callForBids/readySubmitReport/detail?id=
${
record
.
id
}
&action=1`
)
...
...
@@ -90,8 +90,8 @@ export const useSelfTable = () => {
dataIndex
:
'ctl'
,
key
:
'ctl'
,
render
:
(
text
,
record
)
=>
<>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
提交评估报告
</
Button
>
<
Button
type=
"link"
onClick=
{
()
=>
handlePreview
(
record
)
}
>
查看
</
Button
>
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.tijiaopinggubao'
})
}
</
Button
>
<
Button
type=
"link"
onClick=
{
()
=>
handlePreview
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.zhakan'
})
}
</
Button
>
</>
}
])
...
...
src/pages/procurement/callForBids/readySubmitReport/schema/index.ts
View file @
e989bf9a
...
...
@@ -35,7 +35,7 @@ export const tableListSchema: ISchema = {
type
:
'array'
,
"x-component"
:
'DateRangePickerUnix'
,
'x-component-props'
:
{
placeholder
:
[
'评标开始时间'
,
'评标结束时间'
],
placeholder
:
[
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaokaishishi'
}),
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaojieshushi'
})
],
},
},
submit
:
{
...
...
src/pages/procurement/callForBids/remarkBidCommittee/model/useSelfTable.tsx
View file @
e989bf9a
...
...
@@ -51,7 +51,7 @@ export const useSelfTable = () => {
render
:
(
t
,
r
,
i
)
=>
++
i
},
{
title
:
'主题名称'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhutimingcheng'
})
,
align
:
'left'
,
dataIndex
:
'name'
,
key
:
'name'
,
...
...
@@ -62,13 +62,13 @@ export const useSelfTable = () => {
</>
},
{
title
:
'招标编号'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.numbering'
})
,
align
:
'left'
,
dataIndex
:
[
'inviteTender'
,
'code'
],
key
:
[
'inviteTender'
,
'code'
],
},
{
title
:
'开标时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.kaibiaoshijian'
})
,
align
:
'left'
,
dataIndex
:
[
'inviteTender'
,
'openTenderTime'
],
key
:
[
'inviteTender'
,
'openTenderTime'
],
...
...
@@ -76,7 +76,7 @@ export const useSelfTable = () => {
width
:
200
},
{
title
:
'评标开始/截止时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaokaishi/'
})
,
align
:
'left'
,
dataIndex
:
[
'inviteTender'
,
'evaluationStartTime'
],
key
:
[
'inviteTender'
,
'evaluationEndTime'
],
...
...
@@ -87,13 +87,13 @@ export const useSelfTable = () => {
width
:
200
},
{
title
:
'专家抽取数'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.expertCount'
})
,
align
:
'left'
,
dataIndex
:
'expertCount'
,
key
:
'expertCount'
,
},
{
title
:
'专家确认数'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.expertConfirmCount'
})
,
align
:
'left'
,
dataIndex
:
'expertConfirmCount'
,
key
:
'expertConfirmCount'
,
...
...
@@ -103,7 +103,7 @@ export const useSelfTable = () => {
align
:
'left'
,
dataIndex
:
'status'
,
key
:
'status'
,
render
:
(
t
,
r
)
=>
t
?
'已发送'
:
'待发送'
render
:
(
t
,
r
)
=>
t
?
intl
.
formatMessage
({
id
:
'table.purchase.yifasong'
})
:
intl
.
formatMessage
({
id
:
'table.purchase.daifasong'
})
},
]
...
...
@@ -118,20 +118,20 @@ export const useSelfTable = () => {
!
record
.
status
?
<>
<
Button
type=
'link'
onClick=
{
()
=>
handelSend
(
record
.
id
)
}
>
发送通知
</
Button
>
<
Button
type=
'link'
onClick=
{
()
=>
handelSend
(
record
.
id
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.fasongtongzhi'
})
}
</
Button
>
<
Popconfirm
title=
"确定要执行该操作?"
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.quedingyaozhixing'
})
}
onConfirm=
{
()
=>
handleDelete
(
record
.
id
)
}
okText=
"是"
cancelText=
"否"
okText=
{
intl
.
formatMessage
({
id
:
'table.purchase.shi'
})
}
cancelText=
{
intl
.
formatMessage
({
id
:
'table.purchase.fou'
})
}
>
<
Button
type=
'link'
>
删除
</
Button
>
<
Button
type=
'link'
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shanchu'
})
}
</
Button
>
</
Popconfirm
>
</>
:
<
Button
type=
'link'
onClick=
{
()
=>
handleAgainMessage
(
record
.
id
)
}
>
再次发送通知
</
Button
>
<
Button
type=
'link'
onClick=
{
()
=>
handleAgainMessage
(
record
.
id
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.zaicifasongtong'
})
}
</
Button
>
}
<
Button
type=
'link'
onClick=
{
()
=>
handelEdit
(
record
.
id
)
}
>
编辑
</
Button
>
<
Button
type=
'link'
onClick=
{
()
=>
handelEdit
(
record
.
id
)
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.edit'
})
}
</
Button
>
</>
}
])
...
...
src/pages/procurement/callForBids/tenderSearch/model/useSelfTable.tsx
View file @
e989bf9a
...
...
@@ -50,7 +50,7 @@ export const useSelfTable = () => {
width
:
200
},
{
title
:
'开标时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.kaibiaoshijian'
})
,
align
:
'left'
,
dataIndex
:
'inviteTender'
,
key
:
'inviteTender'
,
...
...
src/pages/procurement/components/bidConfirm/components/totalAmount/index.tsx
View file @
e989bf9a
...
...
@@ -29,7 +29,7 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.label34'
})
}
:
</
p
></
Col
>
<
Col
>
<
p
>
¥
{
(
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
含税
)
</
p
>
<
p
>
¥
{
(
datas
.
reduce
((
a
,
b
)
=>
a
+
b
[
item
.
dataIndex
][
'price'
]
*
b
.
count
,
0
)).
toFixed
(
2
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
>
</
Col
>
</
Row
>
</
div
>
...
...
@@ -57,7 +57,7 @@ export const TotalAmount:React.FC<TotalAmountProps> = ({
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shoubiaozonge'
})
}
:
</
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
>
<
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
)
}
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
)
</
p
></
Col
>
</
Row
>
</
div
>
</
Col
>)
:
null
)
...
...
src/pages/procurement/components/bidConfirm/index.tsx
View file @
e989bf9a
...
...
@@ -130,7 +130,7 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
<
div
className=
{
style
[
'card-list'
]
}
>
<
h4
>
{
item
.
memberName
}
</
h4
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
中标总金额(
含税
):
</
p
></
Col
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
中标总金额(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
):
</
p
></
Col
>
<
Col
><
p
className=
{
style
.
amount
}
>
¥
{
item
.
submitTender
.
submitTenderMateriel
.
reduce
((
a
,
b
)
=>
a
+
b
.
price
*
b
.
inviteTenderMateriel
.
count
,
0
)
}
</
p
></
Col
>
...
...
src/pages/procurement/components/descriptionsInfo/index.tsx
View file @
e989bf9a
This diff is collapsed.
Click to expand it.
src/pages/procurement/components/participateInfo/index.tsx
View file @
e989bf9a
...
...
@@ -94,7 +94,7 @@ const ParticipateInfo: React.FC<ParticipateInfoProps> = ({cardTitle}) => {
<
div
className=
{
style
.
participateContent
}
>
<
div
className=
{
style
.
topWrapper
}
>
<
h3
>
{
item
.
company
}
</
h3
>
<
p
className=
{
style
.
amount
}
>
¥
{
item
.
amount
}
<
span
>
{
item
.
isTax
?
' (含税)'
:
' (不含税)'
}
</
span
></
p
>
<
p
className=
{
style
.
amount
}
>
¥
{
item
.
amount
}
<
span
>
{
item
.
isTax
?
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
:
intl
.
formatMessage
({
id
:
'table.purchase.buhanshui'
})
}
</
span
></
p
>
</
div
>
<
div
className=
{
style
.
contentWrapper
}
>
<
Row
className=
{
style
[
'card-list'
]
}
>
...
...
src/pages/procurement/tender/addBidRegister/index.tsx
View file @
e989bf9a
...
...
@@ -67,7 +67,7 @@ const AddBidRegister:React.FC<AddBidRegisterProps> = (props) => {
const
beforeUpload
=
file
=>
{
if
(
file
.
size
/
1024
/
1024
>
20
)
{
message
.
warning
(
'附件大小超过20M'
);
message
.
warning
(
intl
.
formatMessage
({
id
:
'table.purchase.yicishangchuanyi'
})
);
return
Promise
.
reject
();
}
}
...
...
src/pages/procurement/tender/addBidRegister/schema/index.ts
View file @
e989bf9a
...
...
@@ -40,7 +40,7 @@ export const formSchema: ISchema = {
},
inviteTenderCode
:
{
type
:
'string'
,
title
:
'招标编号'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.numbering'
})
,
readOnly
:
true
,
},
remark
:
{
...
...
@@ -135,7 +135,7 @@ export const formSchema: ISchema = {
properties
:
{
inviteTenderMember
:
{
type
:
'string'
,
title
:
'报名会员'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.inviteMemberName'
})
,
readOnly
:
true
,
},
name
:
{
...
...
@@ -290,7 +290,7 @@ export const formSchema: ISchema = {
},
properties
:
{
registerFile
:
{
title
:
'报名文件'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.signUpFileLayout'
})
,
'x-component'
:
'FixUpload'
,
'x-component-props'
:
{
action
:
'/api/file/file/upload/prefix'
,
...
...
@@ -304,10 +304,10 @@ export const formSchema: ISchema = {
'x-rules'
:
[
{
required
:
false
,
message
:
'请上传附件'
,
message
:
intl
.
formatMessage
({
id
:
'detail.purchase.message57'
})
,
},
],
description
:
'一次上传一个文件,每个附件大小不能超过20M'
,
description
:
intl
.
formatMessage
({
id
:
'table.purchase.yicishangchuanyi'
})
,
},
}
}
...
...
src/pages/procurement/tender/addTender/components/productTableCell/index.tsx
View file @
e989bf9a
...
...
@@ -56,7 +56,7 @@ export const ProductTableCell:React.FC<ProductTableCellProps> = ({
values
.
price
=
Number
(
values
.
price
)
||
0
handleSave
({
...
record
,
...
values
});
}
catch
(
errInfo
)
{
console
.
log
(
'Save failed
:
'
,
errInfo
);
console
.
log
(
'Save failed'
,
errInfo
);
}
};
...
...
src/pages/procurement/tender/addTender/components/relateProductDrawer/index.tsx
View file @
e989bf9a
...
...
@@ -248,7 +248,7 @@ export const RelevanceTenderProduct: React.FC<RelateProductDrawerProps> = ({
const
beforeUpload
=
file
=>
{
if
(
file
.
size
/
1024
/
1024
>
20
)
{
message
.
warning
(
'附件大小超过20M'
);
message
.
warning
(
intl
.
formatMessage
({
id
:
'table.purchase.yicishangchuanyi'
})
);
return
Promise
.
reject
();
}
}
...
...
src/pages/procurement/tender/addTender/index.tsx
View file @
e989bf9a
...
...
@@ -109,7 +109,7 @@ const AddTender:React.FC<AddTenderProps> = (props) => {
const
beforeUpload
=
file
=>
{
if
(
file
.
size
/
1024
/
1024
>
20
)
{
message
.
warning
(
'附件大小超过20M'
);
message
.
warning
(
intl
.
formatMessage
({
id
:
'table.purchase.yicishangchuanyi'
})
);
return
Promise
.
reject
();
}
}
...
...
src/pages/procurement/tender/addTender/schema/index.ts
View file @
e989bf9a
...
...
@@ -44,7 +44,7 @@ export const formSchema: ISchema = {
},
inviterTenderCode
:
{
type
:
'string'
,
title
:
'招标编号'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.numbering'
})
,
readOnly
:
true
,
'x-component'
:
'InviterCodeJump'
,
},
...
...
@@ -147,7 +147,7 @@ export const formSchema: ISchema = {
// 'x-rules': [
// {
// required: false,
// message:
'请上传附件'
,
// message:
intl.formatMessage({ id: 'detail.purchase.message57' })
,
// },
// ],
// readOnly: true,
...
...
@@ -292,10 +292,10 @@ export const formSchema: ISchema = {
'x-rules'
:
[
{
required
:
false
,
message
:
'请上传附件'
,
message
:
intl
.
formatMessage
({
id
:
'detail.purchase.message57'
})
,
},
],
description
:
'一次上传一个文件,每个附件大小不能超过20M'
,
description
:
intl
.
formatMessage
({
id
:
'table.purchase.yicishangchuanyi'
})
,
},
}
}
...
...
src/pages/procurement/tender/addTender/schema/modal.ts
View file @
e989bf9a
...
...
@@ -70,10 +70,10 @@ export const relevanceSchema: ISchema = {
'x-rules'
:
[
{
required
:
false
,
message
:
'请上传附件'
,
message
:
intl
.
formatMessage
({
id
:
'detail.purchase.message57'
})
,
},
],
// description:
'一次上传一个文件,每个附件大小不能超过20M'
,
// description:
intl.formatMessage({ id: 'table.purchase.yicishangchuanyi' })
,
},
}
},
...
...
src/pages/procurement/tender/callForBidsSearch/detail/index.tsx
View file @
e989bf9a
...
...
@@ -21,8 +21,8 @@ const CallForBidsSearchDetailInTender: React.FC = () => {
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaowuliao'
}),
id
:
'bidMaterial'
,
componentName
:
"BidMaterial"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaoyaoqiu'
}),
id
:
'bidNeed'
,
type
:
"bidNeed"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.baomingyaoqiu'
}),
id
:
'registerNeed'
,
type
:
"registerNeed"
},
{
title
:
'报名信息'
,
id
:
'registerInfo'
,
type
:
"registerInfo"
},
{
title
:
'报名文件'
,
id
:
'registerFile'
,
type
:
"registerFile"
},
{
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.signUpMsgLayout'
})
,
id
:
'registerInfo'
,
type
:
"registerInfo"
},
{
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.signUpFileLayout'
})
,
id
:
'registerFile'
,
type
:
"registerFile"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zigeyushenyao'
}),
id
:
'checkNeed'
,
type
:
"checkNeed"
},
{
title
:
'资格证明文件'
,
id
:
'checkQualifyFile'
,
type
:
"checkQualifyFile"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.qitayaoqiu'
}),
id
:
'otherNeed'
,
type
:
"otherNeed"
},
...
...
src/pages/procurement/tender/callForBidsSearch/model/useSelfTable.tsx
View file @
e989bf9a
...
...
@@ -52,7 +52,7 @@ export const useSelfTable = () => {
key
:
'memberName'
,
},
{
title
:
'开标时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.kaibiaoshijian'
})
,
align
:
'left'
,
dataIndex
:
'openTenderTime'
,
key
:
'openTenderTime'
,
...
...
@@ -67,7 +67,7 @@ export const useSelfTable = () => {
width
:
180
},
{
title
:
'报名开始/截止时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.baomingkaishi/'
})
,
align
:
'left'
,
dataIndex
:
'registerStartTime'
,
key
:
'registerStartTime'
,
...
...
src/pages/procurement/tender/readyBidRegister/model/index.tsx
View file @
e989bf9a
...
...
@@ -50,7 +50,7 @@ export const useSelfTable = () => {
width
:
180
},
{
title
:
'报名开始/截止时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.baomingkaishi/'
})
,
align
:
'left'
,
dataIndex
:
'memberRoleId'
,
key
:
'memberRoleId'
,
...
...
src/pages/procurement/tender/readyQualifityChecked/detail/index.tsx
View file @
e989bf9a
...
...
@@ -103,7 +103,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
return
Promise
.
reject
();
}
if
(
file
.
size
/
1024
/
1024
>
20
)
{
message
.
warning
(
'附件大小超过20M'
);
message
.
warning
(
intl
.
formatMessage
({
id
:
'table.purchase.yicishangchuanyi'
})
);
return
Promise
.
reject
();
}
},
...
...
src/pages/procurement/tender/readyQualifityChecked/model/useSelfTable.tsx
View file @
e989bf9a
...
...
@@ -49,7 +49,7 @@ export const useSelfTable = () => {
width
:
180
},
// {
// title:
'报名开始/截止时间'
,
// title:
intl.formatMessage({ id: 'table.purchase.baomingkaishi/' })
,
// align: 'left',
// dataIndex: 'memberRoleId',
// key: 'memberRoleId',
...
...
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