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
5b5f4796
Commit
5b5f4796
authored
Dec 06, 2021
by
前端-黄佳鑫
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 采购能力国际化
parent
1735357f
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
53 changed files
with
447 additions
and
372 deletions
+447
-372
purchase.ts
src/locales/zh-CN/purchase.ts
+73
-1
index.tsx
...ages/procurement/callForBids/addNewBid/constant/index.tsx
+5
-5
index.tsx
...s/procurement/callForBids/readySubmitBid/detail/index.tsx
+1
-1
index.ts
...rocurement/callForBids/remarkBidCommittee/schema/index.ts
+2
-2
index.tsx
src/pages/procurement/callForBids/remarkBidExpert/index.tsx
+4
-4
useSelfTable.tsx
...rement/callForBids/remarkBidExpert/model/useSelfTable.tsx
+13
-12
index.ts
...s/procurement/callForBids/remarkBidExpert/schema/index.ts
+9
-7
index.tsx
...pages/procurement/callForBids/remarkBidTemplate/index.tsx
+1
-1
useSelfTable.tsx
...ment/callForBids/remarkBidTemplate/model/useSelfTable.tsx
+15
-15
index.ts
...procurement/callForBids/remarkBidTemplate/schema/index.ts
+1
-1
index.tsx
src/pages/procurement/callForBids/secondCheckedBid/index.tsx
+10
-10
index.tsx
...ges/procurement/callForBids/tenderSearch/detail/index.tsx
+3
-3
useSelfTable.tsx
...ocurement/callForBids/tenderSearch/model/useSelfTable.tsx
+1
-1
index.ts
...ages/procurement/callForBids/tenderSearch/schema/index.ts
+3
-3
index.tsx
src/pages/procurement/components/approvedModal/index.tsx
+2
-2
index.tsx
src/pages/procurement/components/bidConfirm/index.tsx
+3
-3
index.tsx
src/pages/procurement/components/bidMaterial/index.tsx
+11
-11
index.tsx
src/pages/procurement/components/bidMethod/index.tsx
+7
-7
constant.tsx
src/pages/procurement/components/bidParticulars/constant.tsx
+8
-8
index.tsx
src/pages/procurement/components/bidParticulars/index.tsx
+25
-25
index.tsx
src/pages/procurement/components/descriptionsInfo/index.tsx
+6
-6
index.tsx
src/pages/procurement/components/memberWinInfo/index.tsx
+10
-10
index.tsx
src/pages/procurement/components/registerInfoList/index.tsx
+29
-29
index.tsx
src/pages/procurement/components/transferProcess/index.tsx
+1
-1
index.tsx
src/pages/procurement/constants/index.tsx
+2
-2
index.ts
...pages/procurement/tender/addBidRegister/constant/index.ts
+4
-4
index.tsx
src/pages/procurement/tender/addBidRegister/index.tsx
+3
-3
index.ts
src/pages/procurement/tender/addBidRegister/schema/index.ts
+25
-25
modal.ts
src/pages/procurement/tender/addBidRegister/schema/modal.ts
+1
-1
index.tsx
...nt/tender/addTender/components/productTableCell/index.tsx
+3
-3
index.tsx
...tender/addTender/components/relateProductDrawer/index.tsx
+77
-77
index.tsx
src/pages/procurement/tender/addTender/constant/index.tsx
+13
-13
index.tsx
src/pages/procurement/tender/addTender/index.tsx
+5
-5
useProductTable.tsx
...es/procurement/tender/addTender/model/useProductTable.tsx
+7
-7
index.ts
src/pages/procurement/tender/addTender/schema/index.ts
+9
-9
modal.ts
src/pages/procurement/tender/addTender/schema/modal.ts
+7
-7
index.tsx
...ges/procurement/tender/callForBidsSearch/detail/index.tsx
+2
-2
useSelfTable.tsx
...ocurement/tender/callForBidsSearch/model/useSelfTable.tsx
+3
-3
index.tsx
...es/procurement/tender/firstCheckedTender/detail/index.tsx
+1
-1
index.tsx
src/pages/procurement/tender/firstCheckedTender/index.tsx
+10
-10
useSelfTable.tsx
...curement/tender/firstCheckedTender/model/useSelfTable.tsx
+1
-1
index.tsx
src/pages/procurement/tender/readyAddTender/index.tsx
+1
-1
index.tsx
src/pages/procurement/tender/readyAddTender/model/index.tsx
+2
-2
index.tsx
...pages/procurement/tender/readyBidRegister/model/index.tsx
+3
-3
index.tsx
...procurement/tender/readyQualifityChecked/detail/index.tsx
+11
-11
useSelfTable.tsx
...ement/tender/readyQualifityChecked/model/useSelfTable.tsx
+4
-4
index.tsx
...ges/procurement/tender/readySubmitTender/detail/index.tsx
+1
-1
index.tsx
src/pages/procurement/tender/readySubmitTender/index.tsx
+2
-2
useSelfTable.tsx
...ocurement/tender/readySubmitTender/model/useSelfTable.tsx
+1
-1
index.tsx
...s/procurement/tender/secondCheckedTender/detail/index.tsx
+1
-1
index.tsx
src/pages/procurement/tender/secondCheckedTender/index.tsx
+1
-1
useSelfTable.tsx
...urement/tender/secondCheckedTender/model/useSelfTable.tsx
+1
-1
index.tsx
src/pages/procurement/tender/tenderSearch/detail/index.tsx
+3
-3
No files found.
src/locales/zh-CN/purchase.ts
View file @
5b5f4796
...
...
@@ -871,7 +871,7 @@ export default {
'table.purchase.guigongsicanyu'
:
'贵公司参与了我公司'
,
'table.purchase.jingbiaoaiwo'
:
'竞标。在我公司综合各投标单位的基本情况,并进行充分技术交流后,经评标委员会综合评定,贵公司未能中标。我公司对贵公司的积极参与和支持深表感谢!希望下次合作成功。'
,
'
table.purchase.zhongbiaozongjine
'
:
'中标总金额'
,
'
1
'
:
'中标总金额'
,
'table.purchase.shangchuanshibai'
:
'上传失败'
,
'table.purchase.wenjianmingguochang'
:
'文件名过长'
,
'table.purchase.zhuanjiatouxiang'
:
'专家头像'
,
...
...
@@ -902,4 +902,76 @@ export default {
'table.purchase.fasongtongzhi'
:
'发送通知'
,
'table.purchase.quedingyaozhixing'
:
'确定要执行该操作?'
,
'table.purchase.zaicifasongtong'
:
'再次发送通知'
,
'table.purchase.tijiaozhaobiao'
:
'提交招标'
,
'table.purchase.qingshuruzhuti'
:
'请输入主题名称'
,
'table.purchase.qingshuruzhaobiao'
:
'请输入招标编码'
,
'table.purchase.daoru'
:
'导入'
,
'table.purchase.qingxuanzezhuanjia1'
:
'请选择专家类型'
,
'table.purchase.zhongbiaomingxi'
:
'中标明细'
,
'table.purchase.toubiaowuliao'
:
'投标物料'
,
'table.purchase.toubiaoshangpin'
:
'投标商品'
,
'table.purchase.qingxiangouxuandan'
:
'请先勾选单据'
,
'table.purchase.piliangtijiaotou'
:
'批量提交投标'
,
'table.purchase.qingxianxuanzetou'
:
'请先选择投标'
,
'table.purchase.chongxintijiao'
:
'重新提交'
,
'table.purchase.qingshangchuanzige'
:
'请上传资格证明文件'
,
'table.purchase.gaipingbiaomuban'
:
'该评标模板已经被使用,不能删除'
,
'table.purchase.gaipingbiaomuban1'
:
'该评标模板已经被使用,不能修改'
,
'table.purchase.bianji'
:
'编辑'
,
'table.purchase.quedingyaozhixing1'
:
'确定要执行该操作?'
,
'table.purchase.caigoushuliangdanwei'
:
'采购数量/单位'
,
'table.purchase.duiyingzhaobiaowu'
:
'对应招标物料'
,
'table.purchase.toubiaoqitaxin'
:
'投标其他信息'
,
'table.purchase.qingxiangouxuanding'
:
'请先勾选订单'
,
'table.purchase.wuliaobianhao'
:
'物料编号'
,
'table.purchase.wuliaomingcheng'
:
'物料名称'
,
'table.purchase.queding'
:
'确定'
,
'table.purchase.wuliaoxiangqing'
:
'物料详情'
,
'table.purchase.guanliantoubiaoshang'
:
'关联投标商品'
,
'table.purchase.zongji'
:
'总计'
,
'table.purchase.shangpinbianhao'
:
'商品编号'
,
'table.purchase.shangpinmingcheng'
:
'商品名称'
,
'table.purchase.xuanzeshangpin'
:
'选择商品'
,
'table.purchase.shangpinbianma'
:
'商品编码'
,
'table.purchase.bixutianxie'
:
'必须填写'
,
'table.purchase.danjiajinxiansi'
:
'单价仅限四位小数'
,
'table.purchase.shuilüjinxianliang'
:
'税率仅限两位小数'
,
'table.purchase.xinjiantoubiao'
:
'新建投标'
,
'table.purchase.qingtianxieshangpin'
:
'请填写商品单价'
,
'table.purchase.baomingwenjian'
:
'报名文件'
,
'table.purchase.qingtianxiexiangxi'
:
'请填写详细地址'
,
'table.purchase.xuanzedanweidi'
:
'选择单位地址'
,
'table.purchase.dizhi'
:
'地址'
,
'table.purchase.qingshuruzhengque'
:
'请输入正确格式的邮箱'
,
'table.purchase.qingshurudianzi'
:
'请输入电子邮箱'
,
'table.purchase.dianziyouxiang'
:
'电子邮箱'
,
'table.purchase.qingshuruzhengque1'
:
'请输入正确格式的手机号'
,
'table.purchase.qingshurushouji'
:
'请输入手机号码'
,
'table.purchase.qingxuanze'
:
'请选择'
,
'table.purchase.qingtianxielianxi'
:
'请填写联系人姓名,最长12个字符'
,
'table.purchase.qingtianxielianxi2'
:
'请填写联系人姓名'
,
'table.purchase.lianxirenxingming'
:
'联系人姓名'
,
'table.purchase.baomingyaoqiufu'
:
'报名要求附件'
,
'table.purchase.baomingyaoqiushuo'
:
'报名要求说明'
,
'table.purchase.baomingshijianyao'
:
'报名时间要求'
,
'table.purchase.zhaobiaoID'
:
'招标ID'
,
'table.purchase.zhaobiaobaoming'
:
'招标报名'
,
'table.purchase.waibuliuzhuan'
:
'外部流转'
,
'table.purchase.lianxirenshouji'
:
'联系人手机'
,
'table.purchase.lianxirenyouxiang'
:
'联系人邮箱'
,
'table.purchase.zigeyushenwen'
:
'资格预审文件'
,
'table.purchase.toubiaobianhao/'
:
'投标编号/会员'
,
'table.purchase.qingshurutoubiao1'
:
'请输入投标项目'
,
'table.purchase.qingshurutoubiao2'
:
'请输入投标会员'
,
'table.purchase.qingshurushenhe'
:
'请输入审核不通过原因'
,
'table.purchase.tishi'
:
'提示'
,
'table.purchase.dakaikaiguan'
:
'打开开关,审核通过后,将招标发至对应的会员'
,
'table.purchase.fabushangcheng'
:
'发布商城'
,
'table.purchase.guangzhoushijiange'
:
'广州室间隔度过后工地'
,
'table.purchase.zhongbiaozongjine1'
:
'中标总金额(含税)'
,
'table.purchase.qitianwuliyou'
:
'七天无理由中标'
,
'table.purchase.hanshui/shuilü'
:
'含税/税率'
,
'table.purchase.zhongbiaoshuliang'
:
'中标数量'
,
'table.purchase.duiying'
:
'对应'
,
'table.purchase.zhi'
:
'至'
,
}
src/pages/procurement/callForBids/addNewBid/constant/index.tsx
View file @
5b5f4796
...
...
@@ -172,7 +172,7 @@ export const paramsRenderFn = (value) => {
// key: 'memberId',
// },
// {
// title:
'会员名称'
,
// title:
intl.formatMessage({ id: 'detail.purchase.memberName' })
,
// dataIndex: 'name',
// align: 'center',
// key: 'name',
...
...
@@ -338,25 +338,25 @@ export const inviteMemberColumns: any[] = [
// key: 'memberId',
// },
// {
// title:
'会员名称'
,
// title:
intl.formatMessage({ id: 'detail.purchase.memberName' })
,
// dataIndex: 'name',
// align: 'center',
// key: 'name',
// },
// {
// title:
'会员类型'
,
// title:
intl.formatMessage({ id: 'detail.purchase.memberType' })
,
// dataIndex: 'memberTypeName',
// align: 'center',
// key: 'memberTypeName',
// },
// {
// title:
'会员角色'
,
// title:
intl.formatMessage({ id: 'detail.purchase.role' })
,
// dataIndex: 'roleName',
// align: 'center',
// key: 'roleName',
// },
// {
// title:
'会员等级'
,
// title:
intl.formatMessage({ id: 'detail.purchase.leveTag' })
,
// dataIndex: 'levelTag',
// align: 'center',
// key: 'levelTag',
...
...
src/pages/procurement/callForBids/readySubmitBid/detail/index.tsx
View file @
5b5f4796
...
...
@@ -76,7 +76,7 @@ const ReadySubmitBidDetail: React.FC = () => {
anchorList=
{
anchorTitleList
}
extraRight=
{
action
?
<
Button
type=
'primary'
onClick=
{
handleClick
}
icon=
{
<
SendOutlined
rotate=
{
-
45
}
/>
}
>
提交招标
{
intl
.
formatMessage
({
id
:
'table.purchase.tijiaozhaobiao'
})
}
</
Button
>
:
null
}
/>
...
...
src/pages/procurement/callForBids/remarkBidCommittee/schema/index.ts
View file @
5b5f4796
...
...
@@ -10,7 +10,7 @@ export const tableListSchema: ISchema = {
type
:
'string'
,
"x-component"
:
'SearchFilter'
,
'x-component-props'
:
{
placeholder
:
'请输入主题名称'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshuruzhuti'
})
,
align
:
'flex-end'
,
},
},
...
...
@@ -27,7 +27,7 @@ export const tableListSchema: ISchema = {
inviteTenderCode
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'请输入招标编码'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshuruzhaobiao'
})
,
}
},
submit
:
{
...
...
src/pages/procurement/callForBids/remarkBidExpert/index.tsx
View file @
5b5f4796
...
...
@@ -16,14 +16,14 @@ const intl = getIntl();
// 评标专家库 招标
export
interface
RemarkBidExpertProps
{}
export
interface
RemarkBidExpertProps
{
}
const
fetchTableData
=
async
(
params
)
=>
{
const
{
data
}
=
await
getPurchaseExpertGetExpertList
(
params
)
return
data
}
const
RemarkBidExpert
:
React
.
FC
<
RemarkBidExpertProps
>
=
(
props
)
=>
{
const
RemarkBidExpert
:
React
.
FC
<
RemarkBidExpertProps
>
=
(
props
)
=>
{
const
{
columns
,
ref
,
...
...
@@ -64,13 +64,13 @@ const RemarkBidExpert:React.FC<RemarkBidExpertProps> = (props) => {
formilyChilds=
{
{
children
:
<
Space
>
<
Button
icon=
{
<
PlusCircleOutlined
/>
}
icon=
{
<
PlusCircleOutlined
/>
}
type=
'primary'
onClick=
{
()
=>
history
.
push
(
'/memberCenter/procurementAbility/callForBids/remarkBidExpert/add'
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.added'
})
}
</
Button
>
<
Button
>
导入
</
Button
>
<
Button
>
{
intl
.
formatMessage
({
id
:
'table.purchase.daoru'
})
}
</
Button
>
</
Space
>,
layouts
:
{
span
:
8
...
...
src/pages/procurement/callForBids/remarkBidExpert/model/useSelfTable.tsx
View file @
5b5f4796
...
...
@@ -19,13 +19,13 @@ export const useSelfTable = () => {
render
:
(
t
,
r
,
i
)
=>
++
i
},
{
title
:
'专家'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.expert'
})
,
align
:
'left'
,
dataIndex
:
'name'
,
key
:
'name'
,
},
{
title
:
'所属机构'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.orgName'
})
,
align
:
'left'
,
dataIndex
:
'userOrgName'
,
key
:
'userOrgName'
,
...
...
@@ -37,32 +37,32 @@ export const useSelfTable = () => {
key
:
'userJobTitle'
,
},
{
title
:
'专业类别'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.speciality'
})
,
align
:
'left'
,
dataIndex
:
'speciality'
,
key
:
'speciality'
,
render
:
(
t
,
r
)
=>
SpecialityTypeMap
[
t
]
},
{
title
:
'资格证书'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.qualification'
})
,
align
:
'left'
,
dataIndex
:
'qualification'
,
key
:
'qualification'
,
},
{
title
:
'专业职称'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.title'
})
,
align
:
'left'
,
dataIndex
:
'title'
,
key
:
'title'
,
},
{
title
:
'从事年限'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.years'
})
,
align
:
'left'
,
dataIndex
:
'years'
,
key
:
'years'
,
},
{
title
:
'专家类型'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.type'
})
,
align
:
'left'
,
dataIndex
:
'type'
,
key
:
'type'
,
...
...
@@ -109,17 +109,18 @@ export const useSelfTable = () => {
dataIndex
:
'ctl'
,
key
:
'ctl'
,
render
:
(
text
,
record
)
=>
<>
<
Button
type=
'link'
onClick=
{
()
=>
handleEdit
(
record
.
id
)
}
>
编辑
</
Button
>
<
Button
type=
'link'
onClick=
{
()
=>
handleEdit
(
record
.
id
)
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.edit'
})
}
</
Button
>
<
Popconfirm
title=
"确定要执行该操作?"
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.quedingyaozhixing'
})
}
onConfirm=
{
()
=>
handleDelete
(
record
.
id
)
}
okText=
"是"
cancelText=
"否"
okText=
{
intl
.
formatMessage
({
id
:
'table.purchase.okText'
})
}
cancelText=
{
intl
.
formatMessage
({
id
:
'table.purchase.cancelText'
})
}
>
<
Button
type=
'link'
// onClick={() => handleDelete(record.id)}
>
删除
</
Button
>
>
{
intl
.
formatMessage
({
id
:
'table.purchase.delete'
})
}
</
Button
>
</
Popconfirm
>
</>
}
...
...
src/pages/procurement/callForBids/remarkBidExpert/schema/index.ts
View file @
5b5f4796
...
...
@@ -11,7 +11,8 @@ export const tableListSchema: ISchema = {
type
:
'string'
,
"x-component"
:
'SearchFilter'
,
'x-component-props'
:
{
placeholder
:
'请输入专家名称'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshuruzhuanjia'
})
,
align
:
'flex-end'
,
},
},
...
...
@@ -28,19 +29,19 @@ export const tableListSchema: ISchema = {
userOrgName
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'请输入所属机构'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshurusuoshu1'
})
,
}
},
userJobTitle
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
'请输入职位'
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshuruzhiwei'
})
}
},
speciality
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
'请选择专业类别'
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingxuanzezhuanye'
})
},
enum
:
Object
.
keys
(
SpecialityTypeMap
).
map
(
item
=>
({
label
:
SpecialityTypeMap
[
item
],
...
...
@@ -50,19 +51,20 @@ export const tableListSchema: ISchema = {
qualification
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
'请输入资格证书'
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshuruzige'
})
}
},
title
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
'请输入专业职称'
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshuruzhuanye'
})
}
},
type
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
'请选择专家类型'
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingxuanzezhuanjia1'
})
},
enum
:
Object
.
keys
(
ExpertTypeMap
).
map
(
item
=>
({
label
:
ExpertTypeMap
[
item
],
...
...
src/pages/procurement/callForBids/remarkBidTemplate/index.tsx
View file @
5b5f4796
...
...
@@ -52,7 +52,7 @@ const RemarkBidTemplate:React.FC<RemarkBidTemplateProps> = (props) => {
name
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'模板名称'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.name'
})
,
},
'x-component'
:
'Search'
}
...
...
src/pages/procurement/callForBids/remarkBidTemplate/model/useSelfTable.tsx
View file @
5b5f4796
...
...
@@ -19,7 +19,7 @@ export const useSelfTable = () => {
render
:
(
t
,
r
,
i
)
=>
++
i
},
{
title
:
'模板名称'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.name'
})
,
align
:
'left'
,
dataIndex
:
'name'
,
key
:
'name'
,
...
...
@@ -32,13 +32,13 @@ export const useSelfTable = () => {
),
},
{
title
:
'版本号'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.version'
})
,
align
:
'left'
,
dataIndex
:
'version'
,
key
:
'version'
,
},
{
title
:
'模板说明'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.remark'
})
,
align
:
'left'
,
dataIndex
:
'remark'
,
key
:
'remark'
,
...
...
@@ -61,34 +61,34 @@ export const useSelfTable = () => {
const
handleUpdateState
=
(
record
)
=>
{
postPurchaseTemplateUpdateTemplateStatus
({
id
:
record
.
id
,
status
:
!
record
.
status
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
()
}
})
}
const
handleDelete
=
(
id
)
=>
{
if
(
!
verifyCorrelation
(
id
))
{
if
(
!
verifyCorrelation
(
id
))
{
postPurchaseTemplateDeleteBatchTemplate
({
idList
:
[
id
]
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
()
}
})
}
else
{
return
message
.
error
(
'该评标模板已经被使用,不能删除'
)
return
message
.
error
(
intl
.
formatMessage
({
id
:
'table.purchase.gaipingbiaomuban'
})
)
}
}
const
handleEdit
=
(
id
)
=>
{
if
(
!
verifyCorrelation
(
id
))
{
if
(
!
verifyCorrelation
(
id
))
{
history
.
push
(
`/memberCenter/procurementAbility/callForBids/remarkBidTemplate/edit?id=
${
id
}
`
)
}
else
{
return
message
.
error
(
'该评标模板已经被使用,不能修改'
)
return
message
.
error
(
intl
.
formatMessage
({
id
:
'table.purchase.gaipingbiaomuban1'
})
)
}
}
const
verifyCorrelation
=
async
(
id
)
=>
{
const
{
data
}
=
await
getPurchaseTemplateGetTemplateIsUse
({
id
})
const
{
data
}
=
await
getPurchaseTemplateGetTemplateIsUse
({
id
})
return
data
}
...
...
@@ -99,16 +99,16 @@ export const useSelfTable = () => {
dataIndex
:
'ctl'
,
key
:
'ctl'
,
render
:
(
text
,
record
)
=>
<>
<
Button
type=
'link'
onClick=
{
()
=>
handleEdit
(
record
.
id
)
}
>
编辑
</
Button
>
<
Button
type=
'link'
onClick=
{
()
=>
handleEdit
(
record
.
id
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.bianji'
})
}
</
Button
>
<
Popconfirm
title=
"确定要执行该操作?"
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.quedingyaozhixing1'
})
}
onConfirm=
{
()
=>
handleDelete
(
record
.
id
)
}
okText=
"是"
cancelText=
"否"
okText=
{
intl
.
formatMessage
({
id
:
'table.purchase.okText'
})
}
cancelText=
{
intl
.
formatMessage
({
id
:
'table.purchase.cancelText'
})
}
>
<
Button
type=
'link'
>
删除
</
Button
>
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.detele'
})
}
</
Button
>
</
Popconfirm
>
</>
}
...
...
src/pages/procurement/callForBids/remarkBidTemplate/schema/index.ts
View file @
5b5f4796
...
...
@@ -26,7 +26,7 @@ export const tableListSchema: ISchema = {
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'模板名称'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.name'
})
,
advanced
:
false
,
},
},
...
...
src/pages/procurement/callForBids/secondCheckedBid/index.tsx
View file @
5b5f4796
...
...
@@ -16,7 +16,7 @@ const intl = getIntl();
// 二级待审核 招标
export
interface
SecondCheckedBidProps
{}
export
interface
SecondCheckedBidProps
{
}
const
fetchTableData
=
async
(
params
)
=>
{
const
{
data
}
=
await
postPurchaseInviteTenderGetCheckInviteTenderList2
(
params
,
{
ctlType
:
"none"
})
...
...
@@ -24,7 +24,7 @@ const fetchTableData = async (params) => {
}
// TODO
const
SecondCheckedBid
:
React
.
FC
<
SecondCheckedBidProps
>
=
(
props
)
=>
{
const
SecondCheckedBid
:
React
.
FC
<
SecondCheckedBidProps
>
=
(
props
)
=>
{
const
{
columns
,
ref
,
...
...
@@ -36,17 +36,17 @@ const SecondCheckedBid:React.FC<SecondCheckedBidProps> = (props) => {
const
handleSubmitBatch
=
async
()
=>
{
if
(
rowSelectionCtl
.
selectRow
.
length
===
0
)
{
message
.
error
(
'请先勾选订单'
)
return
;
message
.
error
(
intl
.
formatMessage
({
id
:
'table.purchase.qingxiangouxuanding'
})
)
return
;
}
// const canBitch = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ONE_LEVEL_AUDIT_ORDER)
// if (canBitch) {
const
{
code
}
=
await
run
({
idList
:
rowSelectionCtl
.
selectedRowKeys
})
if
(
code
===
1000
)
{
ref
.
current
.
reload
()
rowSelectionCtl
.
setSelectRow
([])
rowSelectionCtl
.
setSelectedRowKeys
([])
}
const
{
code
}
=
await
run
({
idList
:
rowSelectionCtl
.
selectedRowKeys
})
if
(
code
===
1000
)
{
ref
.
current
.
reload
()
rowSelectionCtl
.
setSelectRow
([])
rowSelectionCtl
.
setSelectedRowKeys
([])
}
// } else {
// message.error('只能批量提交内部状态为审核中的订单')
// }
...
...
src/pages/procurement/callForBids/tenderSearch/detail/index.tsx
View file @
5b5f4796
...
...
@@ -19,12 +19,12 @@ const TenderSearchDetail: React.FC = () => {
const
anchorTitleList
=
[
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjindu'
}),
id
:
'transferProcess'
,
componentName
:
"TransferProcess"
},
{
title
:
'中标结果'
,
id
:
'bidResult'
,
type
:
"bidResult"
},
{
title
:
'中标明细'
,
id
:
'bidParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.winBidResultLayout'
})
,
id
:
'bidResult'
,
type
:
"bidResult"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaomingxi'
})
,
id
:
'bidParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.jibenxinxi'
}),
id
:
'baseicInfo'
,
type
:
"basicInfo"
},
// { title: '投标要求', id: 'tenderNeed', type: "bidNeed" },
// { title: '投标其他要求', id: 'tenderOtherNeed', type: "otherNeed" },
{
title
:
'投标物料'
,
id
:
'tenderParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaowuliao'
})
,
id
:
'tenderParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjilu'
}),
id
:
'transferRecord'
,
componentName
:
"BidTransformRecord"
},
]
...
...
src/pages/procurement/callForBids/tenderSearch/model/useSelfTable.tsx
View file @
5b5f4796
...
...
@@ -30,7 +30,7 @@ export const useSelfTable = () => {
</>
},
{
title
:
'投标编号/会员'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaobianhao/'
})
,
align
:
'left'
,
dataIndex
:
'code'
,
key
:
'code'
,
...
...
src/pages/procurement/callForBids/tenderSearch/schema/index.ts
View file @
5b5f4796
...
...
@@ -39,7 +39,7 @@ export const tableListSchema: any = () => {
projectName
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'请输入投标项目'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshurutoubiao1'
})
,
}
},
submitTenderCode
:
{
...
...
@@ -52,14 +52,14 @@ export const tableListSchema: any = () => {
type
:
'string'
,
"x-component"
:
'data'
,
'x-component-props'
:
{
placeholder
:
'开标开始时间'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.kaibiaokaishishi'
})
,
showTime
:
true
,
},
},
submitTenderMemberName
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'请输入投标会员'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshurutoubiao2'
})
,
}
},
submitTenderOutStatusList
:
{
...
...
src/pages/procurement/components/approvedModal/index.tsx
View file @
5b5f4796
...
...
@@ -51,7 +51,7 @@ const ApproveSchema = {
"x-rules"
:
[
{
required
:
true
,
message
:
'请输入审核不通过原因'
message
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshurushenhe'
})
},
{
limitByte
:
true
,
...
...
@@ -78,7 +78,7 @@ const ApprovedModal:React.FC<ApprovedModalProps> = (props) => {
},
[
currentRef
])
return
<
ModalForm
modalTitle=
{
title
||
'提示'
}
modalTitle=
{
title
||
intl
.
formatMessage
({
id
:
'table.purchase.tishi'
})
}
currentRef=
{
currentRef
}
confirm=
{
onConfirm
}
actions=
{
approvedActions
}
...
...
src/pages/procurement/components/bidConfirm/index.tsx
View file @
5b5f4796
...
...
@@ -123,19 +123,19 @@ const BidConfirm: React.FC<BidConfirmProps> = ({cardTitle}) => {
fullHeight
>
<
div
className=
{
style
[
'winContainer'
]
}
>
<
h3
className=
"commonPanelTitle"
>
中标会员
</
h3
>
<
h3
className=
"commonPanelTitle"
>
{
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaohuiyuan'
})
}
</
h3
>
<
Row
gutter=
{
[
16
,
0
]
}
>
{
data
.
memberList
.
filter
(
m
=>
m
.
isWin
).
map
(
item
=>
(<
Col
key=
{
item
.
id
}
span=
{
6
}
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
h4
>
{
item
.
memberName
}
</
h4
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
中标总金额
(
{
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
}
):
</
p
></
Col
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaozongjine'
})
}
(
{
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
>
</
Row
>
<
img
src=
{
winBid
}
alt=
"已中标"
/>
<
img
src=
{
winBid
}
alt=
{
intl
.
formatMessage
({
id
:
'table.purchase.yizhongbiao'
})
}
/>
</
div
>
</
Col
>))
}
...
...
src/pages/procurement/components/bidMaterial/index.tsx
View file @
5b5f4796
...
...
@@ -141,7 +141,7 @@ const BidMaterial: React.FC<BidMaterialProps> = ({cardTitle}) => {
// </>)
// },
{
title
:
'附件'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.fujian'
})
,
name
:
''
,
id
:
'file'
,
render
:
(
data
)
=>
(<>
...
...
@@ -161,7 +161,7 @@ const BidMaterial: React.FC<BidMaterialProps> = ({cardTitle}) => {
id
:
'purchaseAmount'
,
render
:
(
data
)
=>
(<>
<
Row
className=
{
style
[
'card-list'
]
}
>
<
Col
span=
{
4
}
className=
{
style
[
'card-list_title'
]
}
>
单位
:
</
Col
>
<
Col
span=
{
4
}
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.danwei'
})
}
:
</
Col
>
<
Col
>
{
currentRow
[
'unitName'
]
}
</
Col
>
</
Row
>
<
Row
className=
{
style
[
'card-list'
]
}
>
...
...
@@ -174,7 +174,7 @@ const BidMaterial: React.FC<BidMaterialProps> = ({cardTitle}) => {
const
columns
=
[
{
title
:
'物料编号'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.wuliaobianhao'
})
,
dataIndex
:
'code'
,
key
:
'code'
,
render
:
(
text
,
record
)
=>
<>
...
...
@@ -184,27 +184,27 @@ const BidMaterial: React.FC<BidMaterialProps> = ({cardTitle}) => {
</>
},
{
title
:
'物料名称'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.wuliaomingcheng'
})
,
dataIndex
:
'name'
,
key
:
'name'
,
},
{
title
:
'规格型号'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.guigexinghao'
})
,
dataIndex
:
'type'
,
key
:
'type'
,
},
{
title
:
'品类'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pinlei'
})
,
dataIndex
:
'categoryName'
,
key
:
'categoryName'
,
},
{
title
:
'品牌'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pinpai'
})
,
dataIndex
:
'brandName'
,
key
:
'brandName'
,
},
{
title
:
'单位'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.danwei'
})
,
dataIndex
:
'unitName'
,
key
:
'unitName'
,
},
...
...
@@ -227,10 +227,10 @@ const BidMaterial: React.FC<BidMaterialProps> = ({cardTitle}) => {
}
}
>
<
Button
onClick=
{
()
=>
setVisible
(
false
)
}
style=
{
{
marginRight
:
8
}
}
>
取消
{
intl
.
formatMessage
({
id
:
'table.purchase.quxiao'
})
}
</
Button
>
<
Button
onClick=
{
()
=>
setVisible
(
false
)
}
type=
"primary"
>
确定
{
intl
.
formatMessage
({
id
:
'table.purchase.queding'
})
}
</
Button
>
</
div
>)
...
...
@@ -245,7 +245,7 @@ const BidMaterial: React.FC<BidMaterialProps> = ({cardTitle}) => {
</
MellowCard
>
<
AnchorDrawer
title=
"物料详情"
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.wuliaoxiangqing'
})
}
visible=
{
visible
}
dataRenderList=
{
dataList
}
footer=
{
footer
}
...
...
src/pages/procurement/components/bidMethod/index.tsx
View file @
5b5f4796
...
...
@@ -34,28 +34,28 @@ const BidMethod: React.FC<BidMethodProps> = ({cardTitle}) => {
render
:
(
t
,
r
,
i
)
=>
++
i
},
{
title
:
'会员名称'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.memberName'
})
,
dataIndex
:
'memberName'
,
key
:
'memberName'
,
},
{
title
:
'会员类型'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.memberType'
})
,
dataIndex
:
'memberTypeName'
,
key
:
'memberTypeName'
,
},
{
title
:
'会员角色'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.role'
})
,
dataIndex
:
'memberRoleName'
,
key
:
'memberRoleName'
,
},
{
title
:
'是否归属会员'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.isSubMember'
})
,
dataIndex
:
'isSubMember'
,
key
:
'isSubMember'
,
render
:
(
t
,
r
)
=>
t
?
intl
.
formatMessage
({
id
:
'table.purchase.shi'
})
:
intl
.
formatMessage
({
id
:
'table.purchase.fou'
}),
},
{
title
:
<>
状态
<
Tooltip
title=
"打开开关,审核通过后,将招标发至对应的会员"
><
span
>
<
QuestionCircleOutlined
/></
span
></
Tooltip
></>,
title
:
<>
{
intl
.
formatMessage
({
id
:
'table.purchase.zhuangtai'
})
}
<
Tooltip
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.dakaikaiguan'
})
}
><
span
>
<
QuestionCircleOutlined
/></
span
></
Tooltip
></>,
dataIndex
:
'isSend'
,
key
:
'isSend'
,
render
:
(
text
,
record
)
=>
<
Switch
disabled
defaultChecked=
{
text
}
onChange=
{
()
=>
onChange
(
record
)
}
/>
...
...
@@ -81,7 +81,7 @@ const BidMethod: React.FC<BidMethodProps> = ({cardTitle}) => {
>
<
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.zhaobiaofangshi'
})
}
</
p
></
Col
>
<
Col
><
p
>
{
CALLFORBID_TYPE
[
data
.
inviteTenderType
]
}
</
p
></
Col
>
</
Row
>
</
div
>
...
...
@@ -91,7 +91,7 @@ const BidMethod: React.FC<BidMethodProps> = ({cardTitle}) => {
:
<
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.fabushangcheng'
})
}
</
p
></
Col
>
<
Col
>
<
p
>
{
...
...
src/pages/procurement/components/bidParticulars/constant.tsx
View file @
5b5f4796
...
...
@@ -4,40 +4,40 @@ const intl = getIntl();
export
const
columns
=
[
{
title
:
'物料编号/名称'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.type'
})
,
dataIndex
:
'name'
,
key
:
'name'
,
render
:
(
t
,
r
)
=>
<><
div
>
{
r
.
code
}
</
div
><
div
>
{
t
}
</
div
></>
},
{
title
:
'规格型号'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.guigexinghao'
})
,
dataIndex
:
'type'
,
key
:
'type'
},
{
title
:
'品类'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pinlei'
})
,
dataIndex
:
'categoryName'
,
key
:
'categoryName'
},
{
title
:
'品牌'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pinpai'
})
,
dataIndex
:
'brandName'
,
key
:
'brandName'
},
{
title
:
'采购数量/单位'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.caigoushuliangdanwei'
})
,
dataIndex
:
'count'
,
key
:
'count'
,
render
:
(
t
,
r
)
=>
<><
div
>
{
t
}
</
div
><
div
>
{
r
.
unitName
}
</
div
></>
},
{
title
:
'含税/税率'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.hanshui/shuilü'
})
,
dataIndex
:
'isTax'
,
key
:
'isTax'
,
render
:
(
t
,
r
)
=>
<><
div
>
{
t
?
intl
.
formatMessage
({
id
:
'table.purchase.shi'
})
:
intl
.
formatMessage
({
id
:
'table.purchase.fou'
})
}
</
div
><
div
>
{
r
.
taxRate
}
%
</
div
></>
},
{
title
:
'单价(含税)'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.taxUnitPrice'
})
,
dataIndex
:
'price'
,
key
:
'price'
,
render
:
t
=>
`¥
${
t
}
`
...
...
@@ -49,7 +49,7 @@ export const columns = [
// render: (t, r) => (Number(t)/100 * Number(r.count)).toFixed(2)
// },
{
title
:
'金额(含税)'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.taxPrice'
})
,
dataIndex
:
'money'
,
key
:
'money'
,
render
:
(
t
,
r
)
=>
`¥
${
Number
((
r
.
price
*
r
.
count
).
toFixed
(
2
))}
`
...
...
src/pages/procurement/components/bidParticulars/index.tsx
View file @
5b5f4796
...
...
@@ -17,7 +17,7 @@ export interface BidParticularsProps {
cardTitle
?:
string
;
}
const
BidParticulars
:
React
.
FC
<
BidParticularsProps
>
=
({
cardTitle
})
=>
{
const
BidParticulars
:
React
.
FC
<
BidParticularsProps
>
=
({
cardTitle
})
=>
{
const
bidDetailContext
=
useContext
(
BidDetailContext
)
const
{
data
,
ctl
}
=
bidDetailContext
...
...
@@ -49,28 +49,28 @@ const BidParticulars: React.FC<BidParticularsProps> = ({cardTitle}) => {
const
[
tableColumn
,
setTableColumn
]
=
useState
<
any
>
(()
=>
{
let
totalMoney
=
0
;
data
.
submitTender
?
data
.
submitTender
.
submitTenderMateriel
.
forEach
(
item
=>
{
if
(
cardTitle
===
'中标明细'
)
{
totalMoney
+=
(
item
.
isAwardTender
?
item
.
price
*
item
.
inviteTenderMateriel
.
count
*
Number
(
item
.
awardTenderRatio
)
/
100
:
0
)
if
(
cardTitle
===
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaomingxi'
})
)
{
totalMoney
+=
(
item
.
isAwardTender
?
item
.
price
*
item
.
inviteTenderMateriel
.
count
*
Number
(
item
.
awardTenderRatio
)
/
100
:
0
)
}
else
{
totalMoney
+=
item
.
price
*
item
.
inviteTenderMateriel
.
count
}
})
:
[]
let
tempCol
:
any
=
[...
columns
]
// 中标数量
if
(
cardTitle
===
'中标明细'
)
{
tempCol
[
tempCol
.
length
-
1
]
=
{
title
:
'中标数量'
,
if
(
cardTitle
===
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaomingxi'
})
)
{
tempCol
[
tempCol
.
length
-
1
]
=
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaoshuliang'
})
,
dataIndex
:
'awardTenderRatio'
,
key
:
'awardTenderRatio'
,
render
:
(
t
,
r
)
=>
(
Number
(
t
)
/
100
*
Number
(
r
.
count
)).
toFixed
(
2
)
render
:
(
t
,
r
)
=>
(
Number
(
t
)
/
100
*
Number
(
r
.
count
)).
toFixed
(
2
)
}
}
// 总计
tempCol
[
tempCol
.
length
]
=
{
title
:
<
span
>
{
cardTitle
===
'中标明细'
?
'中标金额(含税)'
:
'金额(含税)'
}
<
br
/>
合计
: ¥
{
totalMoney
.
toFixed
(
2
)
}
</
span
>,
title
:
<
span
>
{
cardTitle
===
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaomingxi'
})
?
intl
.
formatMessage
({
id
:
'detail.purchase.label'
})
:
intl
.
formatMessage
({
id
:
'detail.purchase.taxPrice'
})
}
<
br
/>
{
intl
.
formatMessage
({
id
:
'detail.purchase.totalAmount'
})
}
: ¥
{
totalMoney
.
toFixed
(
2
)
}
</
span
>,
dataIndex
:
'money'
,
key
:
'money'
,
render
:
(
t
,
r
)
=>
cardTitle
===
'中标明细'
?
`¥
${
Number
((
r
.
price
*
Number
(
r
.
awardTenderRatio
)
/
100
*
r
.
count
).
toFixed
(
2
))}
`
:
`¥
${
Number
((
r
.
price
*
r
.
count
).
toFixed
(
2
))}
`
render
:
(
t
,
r
)
=>
cardTitle
===
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaomingxi'
})
?
`¥
${
Number
((
r
.
price
*
Number
(
r
.
awardTenderRatio
)
/
100
*
r
.
count
).
toFixed
(
2
))}
`
:
`¥
${
Number
((
r
.
price
*
r
.
count
).
toFixed
(
2
))}
`
}
return
tempCol
})
...
...
@@ -78,11 +78,11 @@ const BidParticulars: React.FC<BidParticularsProps> = ({cardTitle}) => {
const
renderDescription
=
async
(
record
)
=>
{
// 商品信息
let
res
=
await
getProductCommodityGetCommodity
({
id
:
record
.
commodityId
})
let
res
=
await
getProductCommodityGetCommodity
({
id
:
record
.
commodityId
})
// 商品规格信息
let
spec
=
await
getProductCommodityGetCommodityAttributeByUnitPriceAndPicId
({
unitPriceAndPicId
:
record
.
commoditySkuId
})
const
{
code
,
data
}
=
res
if
(
code
===
1000
)
{
const
{
code
,
data
}
=
res
if
(
code
===
1000
)
{
const
newData
=
[...
tableData
];
const
index
=
newData
.
findIndex
(
item
=>
record
.
id
===
item
.
id
);
const
item
=
newData
[
index
];
...
...
@@ -90,22 +90,22 @@ const BidParticulars: React.FC<BidParticularsProps> = ({cardTitle}) => {
<
Row
>
<
Col
span=
{
3
}
>
<
div
className=
{
style
.
childrenTitle
}
>
<
p
>
对应
</
p
>
<
p
>
投标商品
</
p
>
<
p
>
{
intl
.
formatMessage
({
id
:
'table.purchase.duiying'
})
}
</
p
>
<
p
>
{
intl
.
formatMessage
({
id
:
'table.purchase.toubiaoshangpin'
})
}
</
p
>
</
div
>
</
Col
>
<
Col
span=
{
6
}
>
<
div
className=
{
style
.
childrenContent
}
>
<
p
><
span
>
商品编号
:
</
span
>
{
data
.
code
}
</
p
>
<
p
><
span
>
商品名称
:
</
span
>
{
data
.
name
}
</
p
>
<
p
><
span
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shangpinbianhao'
})
}
:
</
span
>
{
data
.
code
}
</
p
>
<
p
><
span
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shangpinmingcheng'
})
}
:
</
span
>
{
data
.
name
}
</
p
>
</
div
>
</
Col
>
<
Col
span=
{
6
}
>
<
div
className=
{
style
.
childrenContent
}
>
<
p
><
span
>
{
intl
.
formatMessage
({
id
:
'table.purchase.guigexinghao'
})
}
:
</
span
>
{
spec
.
data
.
length
?
spec
.
data
.
map
(
item
=>
item
.
customerAttributeValueList
[
0
].
value
).
join
(
'/'
)
:
null
}
{
spec
.
data
.
length
?
spec
.
data
.
map
(
item
=>
item
.
customerAttributeValueList
[
0
].
value
).
join
(
'/'
)
:
null
}
</
p
>
<
p
><
span
>
{
intl
.
formatMessage
({
id
:
'table.purchase.pinlei'
})
}
:
</
span
>
{
data
.
customerCategory
.
fullName
}
</
p
>
</
div
>
...
...
@@ -132,12 +132,12 @@ const BidParticulars: React.FC<BidParticularsProps> = ({cardTitle}) => {
bordered=
{
false
}
fullHeight
className=
{
style
.
particulars
}
style=
{
{
marginTop
:
24
}
}
style=
{
{
marginTop
:
24
}
}
>
<
Table
columns=
{
tableColumn
}
expandable=
{
{
expandedRowRender
:
record
=>
<
p
style=
{
{
margin
:
0
}
}
>
{
record
?.
commodityId
?
(
record
.
description
||
<
Spin
size=
"small"
style=
{
{
margin
:
'15px auto'
,
width
:
'100%'
}
}
/>)
:
null
}
</
p
>,
expandedRowRender
:
record
=>
<
p
style=
{
{
margin
:
0
}
}
>
{
record
?.
commodityId
?
(
record
.
description
||
<
Spin
size=
"small"
style=
{
{
margin
:
'15px auto'
,
width
:
'100%'
}
}
/>)
:
null
}
</
p
>,
rowExpandable
:
record
=>
record
.
name
!==
'Not Expandable'
,
expandIcon
:
({
expanded
,
onExpand
,
record
})
=>
expanded
?
(
...
...
@@ -147,18 +147,18 @@ const BidParticulars: React.FC<BidParticularsProps> = ({cardTitle}) => {
),
onExpand
:
(
expanded
,
record
)
=>
{
console
.
log
(
'通过商品Id 查询商品信息显示在嵌套中'
,
record
,
expanded
)
if
(
!
record
?.
commodityId
&&
expanded
)
{
if
(
!
record
?.
commodityId
&&
expanded
)
{
// return message.error('您没有关联商品')
return
null
}
if
(
expanded
)
{
if
(
expanded
)
{
renderDescription
(
record
)
}
}
}
}
dataSource=
{
cardTitle
===
'中标明细'
?
tableData
.
filter
(
item
=>
item
.
isAwardTender
)
:
tableData
}
dataSource=
{
cardTitle
===
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaomingxi'
})
?
tableData
.
filter
(
item
=>
item
.
isAwardTender
)
:
tableData
}
rowKey=
"id"
pagination=
{
{
size
:
"small"
}
}
pagination=
{
{
size
:
"small"
}
}
/>
</
MellowCard
>
</>)
...
...
src/pages/procurement/components/descriptionsInfo/index.tsx
View file @
5b5f4796
...
...
@@ -160,7 +160,7 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({ cardTitle, type }) => {
{
span
:
8
,
fieldList
:
[
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaojiezhishi'
}),
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'inviteTenderStartTime'
])
+
'至'
+
formatTimeString
(
r
[
'inviteTenderEndTime'
])
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaojiezhishi'
}),
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'inviteTenderStartTime'
])
+
intl
.
formatMessage
({
id
:
'table.purchase.zhi'
})
+
formatTimeString
(
r
[
'inviteTenderEndTime'
])
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.openTenderTime'
}),
name
:
'openTenderTime'
,
render
:
(
text
)
=>
formatTimeString
(
text
)
},
]
},
...
...
@@ -196,7 +196,7 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({ cardTitle, type }) => {
{
span
:
8
,
fieldList
:
[
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaojiezhishi'
}),
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'inviteTenderStartTime'
])
+
'至'
+
formatTimeString
(
r
[
'inviteTenderEndTime'
])
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaojiezhishi'
}),
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'inviteTenderStartTime'
])
+
intl
.
formatMessage
({
id
:
'table.purchase.zhi'
})
+
formatTimeString
(
r
[
'inviteTenderEndTime'
])
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.openTenderTime'
}),
name
:
'openTenderTime'
,
render
:
(
text
)
=>
formatTimeString
(
text
)
},
]
},
...
...
@@ -229,7 +229,7 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({ cardTitle, type }) => {
{
span
:
8
,
fieldList
:
[
{
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.startSignUp'
}),
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'registerStartTime'
])
+
'至'
+
formatTimeString
(
r
[
'registerEndTime'
])
},
{
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.startSignUp'
}),
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'registerStartTime'
])
+
intl
.
formatMessage
({
id
:
'table.purchase.zhi'
})
+
formatTimeString
(
r
[
'registerEndTime'
])
},
{
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.signUpLayout'
}),
name
:
'registerRequirement'
},
]
},
...
...
@@ -292,7 +292,7 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({ cardTitle, type }) => {
{
span
:
8
,
fieldList
:
[
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zigeyushenshi'
}),
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'preCheckStartTime'
])
+
'至'
+
formatTimeString
(
r
[
'preCheckEndTime'
])
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zigeyushenshi'
}),
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'preCheckStartTime'
])
+
intl
.
formatMessage
({
id
:
'table.purchase.zhi'
})
+
formatTimeString
(
r
[
'preCheckEndTime'
])
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zigeyushenyao1'
}),
name
:
'preCheckRequirement'
},
]
},
...
...
@@ -318,7 +318,7 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({ cardTitle, type }) => {
span
:
8
,
fieldList
:
[
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zigeyushenyao'
,
defaultMessage
:
'资格预审要求附件'
}),
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zigeyushenyao'
}),
name
:
'qualificationsFile'
,
render
:
(
t
,
r
)
=>
(<
div
>
{
...
...
@@ -335,7 +335,7 @@ const DescriptionsInfo: React.FC<BasicInfoProps> = ({ cardTitle, type }) => {
{
span
:
8
,
fieldList
:
[
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaoyaoqiushi'
}),
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'evaluationStartTime'
])
+
'至'
+
formatTimeString
(
r
[
'evaluationEndTime'
])
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaoyaoqiushi'
}),
name
:
'createTime'
,
render
:
(
t
,
r
)
=>
formatTimeString
(
r
[
'evaluationStartTime'
])
+
intl
.
formatMessage
({
id
:
'table.purchase.zhi'
})
+
formatTimeString
(
r
[
'evaluationEndTime'
])
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pingbiaoyaoqiu'
}),
name
:
'evaluationRequirement'
},
]
},
...
...
src/pages/procurement/components/memberWinInfo/index.tsx
View file @
5b5f4796
...
...
@@ -16,7 +16,7 @@ export interface MemberWinInfoProps {
cardTitle
?:
string
;
}
const
MemberWinInfo
:
React
.
FC
<
MemberWinInfoProps
>
=
({
cardTitle
})
=>
{
const
MemberWinInfo
:
React
.
FC
<
MemberWinInfoProps
>
=
({
cardTitle
})
=>
{
const
bidDetailContext
=
useContext
(
BidDetailContext
)
const
{
data
,
ctl
}
=
bidDetailContext
...
...
@@ -25,32 +25,32 @@ const MemberWinInfo: React.FC<MemberWinInfoProps> = ({cardTitle}) => {
return
(
<
MellowCard
title=
{
cardTitle
}
style=
{
{
marginTop
:
24
}
}
style=
{
{
marginTop
:
24
}
}
bordered=
{
false
}
fullHeight
>
<
div
className=
{
style
.
remarkBidReportWrapper
}
>
<
div
className=
{
style
.
bidMemberContainer
}
>
<
h3
className=
"commonPanelTitle"
>
中标会员
</
h3
>
<
h3
className=
"commonPanelTitle"
>
{
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaohuiyuan'
})
}
</
h3
>
<
Row
gutter=
{
[
16
,
0
]
}
>
<
Col
span=
{
6
}
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
h4
>
广州室间隔度过后工地
</
h4
>
<
h4
>
{
intl
.
formatMessage
({
id
:
'table.purchase.guangzhoushijiange'
})
}
</
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
:
'table.purchase.zhongbiaozongjine1'
})
}
:
</
p
></
Col
>
<
Col
><
p
className=
{
style
.
amount
}
>
¥160,000.00
</
p
></
Col
>
</
Row
>
<
img
src=
{
winBid
}
alt=
"已中标"
/>
<
img
src=
{
winBid
}
alt=
{
intl
.
formatMessage
({
id
:
'table.purchase.yizhongbiao'
})
}
/>
</
div
>
</
Col
>
<
Col
span=
{
6
}
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
h4
>
广州室间隔度过后工地
</
h4
>
<
h4
>
{
intl
.
formatMessage
({
id
:
'table.purchase.guangzhoushijiange'
})
}
</
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
:
'table.purchase.zhongbiaozongjine1'
})
}
:
</
p
></
Col
>
<
Col
><
p
className=
{
style
.
amount
}
>
¥160,000.00
</
p
></
Col
>
</
Row
>
<
img
src=
{
winBid
}
alt=
"已中标"
/>
<
img
src=
{
winBid
}
alt=
{
intl
.
formatMessage
({
id
:
'table.purchase.yizhongbiao'
})
}
/>
</
div
>
</
Col
>
</
Row
>
...
...
@@ -63,7 +63,7 @@ const MemberWinInfo: React.FC<MemberWinInfoProps> = ({cardTitle}) => {
<
div
className=
{
style
[
'card-list'
]
}
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.label1'
})
}
</
p
></
Col
>
<
Col
><
p
>
七天无理由中标
</
p
></
Col
>
<
Col
><
p
>
{
intl
.
formatMessage
({
id
:
'table.purchase.qitianwuliyou'
})
}
</
p
></
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaofujian'
})
}
</
p
></
Col
>
...
...
src/pages/procurement/components/registerInfoList/index.tsx
View file @
5b5f4796
...
...
@@ -16,14 +16,14 @@ export interface RegisterInfoListProps {
type
?:
string
;
}
const
RegisterInfoList
:
React
.
FC
<
RegisterInfoListProps
>
=
({
cardTitle
,
type
=
"registerList"
})
=>
{
const
RegisterInfoList
:
React
.
FC
<
RegisterInfoListProps
>
=
({
cardTitle
,
type
=
"registerList"
})
=>
{
const
bidDetailContext
=
useContext
(
BidDetailContext
)
const
{
data
,
ctl
}
=
bidDetailContext
return
(
<
MellowCard
title=
{
cardTitle
}
style=
{
{
marginTop
:
24
}
}
style=
{
{
marginTop
:
24
}
}
bordered=
{
false
}
fullHeight
>
...
...
@@ -36,23 +36,23 @@ const RegisterInfoList: React.FC<RegisterInfoListProps> = ({cardTitle, type="reg
<
div
className=
{
style
[
'card-list'
]
}
>
<
h4
><
span
className=
{
style
[
'badge'
]
}
>
{
++
index
}
</
span
>
{
item
.
memberName
}
</
h4
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
联系人姓名
:
</
p
></
Col
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.lianxirenxingming'
})
}
:
</
p
></
Col
>
<
Col
><
p
>
{
item
.
submitTenderRegister
.
name
}
</
p
></
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
联系人手机
:
</
p
></
Col
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.lianxirenshouji'
})
}
:
</
p
></
Col
>
<
Col
><
p
>
{
item
.
submitTenderRegister
.
phone
}
</
p
></
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
联系人邮箱
:
</
p
></
Col
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.lianxirenyouxiang'
})
}
:
</
p
></
Col
>
<
Col
><
p
>
{
item
.
submitTenderRegister
.
email
}
</
p
></
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
地址
:
</
p
></
Col
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.dizhi'
})
}
:
</
p
></
Col
>
<
Col
><
p
>
{
`${item.submitTenderRegister.provinceName}${item.submitTenderRegister.cityName}${item.submitTenderRegister.regionName}${item.submitTenderRegister.address}`
}
</
p
></
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
报名文件
:
</
p
></
Col
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.baomingwenjian'
})
}
:
</
p
></
Col
>
<
Col
>
<
p
>
{
...
...
@@ -66,28 +66,28 @@ const RegisterInfoList: React.FC<RegisterInfoListProps> = ({cardTitle, type="reg
}
</
Row
>
</
div
>
:
<
div
className=
{
style
.
bidMemberContainer
}
>
<
Row
gutter=
{
[
16
,
0
]
}
>
{
data
&&
data
.
memberList
.
length
?
data
.
memberList
.
map
((
item
,
index
)
=>
(<
Col
span=
{
6
}
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
h4
><
span
className=
{
style
[
'badge'
]
}
>
{
++
index
}
</
span
>
{
item
.
memberName
}
</
h4
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
资格预审文件
:
</
p
></
Col
>
<
Col
>
<
p
>
{
item
?.
qualificationsFile
?.
length
?
item
.
qualificationsFile
.
map
(
_item
=>
(<
a
key=
{
_item
.
id
}
href=
{
_item
.
url
}
target=
"_blank"
>
{
_item
.
name
}
</
a
>))
:
null
}
</
p
>
</
Col
>
</
Row
>
</
div
>
</
Col
>))
:
null
}
</
Row
>
</
div
>
:
<
div
className=
{
style
.
bidMemberContainer
}
>
<
Row
gutter=
{
[
16
,
0
]
}
>
{
data
&&
data
.
memberList
.
length
?
data
.
memberList
.
map
((
item
,
index
)
=>
(<
Col
span=
{
6
}
>
<
div
className=
{
style
[
'card-list'
]
}
>
<
h4
><
span
className=
{
style
[
'badge'
]
}
>
{
++
index
}
</
span
>
{
item
.
memberName
}
</
h4
>
<
Row
>
<
Col
span=
{
8
}
><
p
className=
{
style
[
'card-list_title'
]
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.zigeyushenwen'
})
}
:
</
p
></
Col
>
<
Col
>
<
p
>
{
item
?.
qualificationsFile
?.
length
?
item
.
qualificationsFile
.
map
(
_item
=>
(<
a
key=
{
_item
.
id
}
href=
{
_item
.
url
}
target=
"_blank"
>
{
_item
.
name
}
</
a
>))
:
null
}
</
p
>
</
Col
>
</
Row
>
</
div
>
</
Col
>))
:
null
}
</
Row
>
</
div
>
}
</
div
>
</
MellowCard
>)
...
...
src/pages/procurement/components/transferProcess/index.tsx
View file @
5b5f4796
...
...
@@ -72,7 +72,7 @@ const TransferProcess: React.FC<TransferProcessProp> = ({
bordered=
{
false
}
extra=
{
<
Radio
.
Group
value=
{
transferRadio
}
buttonStyle=
"solid"
size=
"small"
onChange=
{
handleChangeType
}
>
{
outerVerifySteps
?.
length
?
<
Radio
.
Button
value=
{
TransferEnum
.
Outer
}
>
外部流转
</
Radio
.
Button
>
:
null
}
{
outerVerifySteps
?.
length
?
<
Radio
.
Button
value=
{
TransferEnum
.
Outer
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.waibuliuzhuan'
})
}
</
Radio
.
Button
>
:
null
}
{
innerVerifySteps
?.
length
?
<
Radio
.
Button
value=
{
TransferEnum
.
Interior
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.interiorLogStates'
})
}
</
Radio
.
Button
>
:
null
}
</
Radio
.
Group
>
}
...
...
src/pages/procurement/constants/index.tsx
View file @
5b5f4796
...
...
@@ -119,7 +119,7 @@ export const baseBidListColumns: any[] = [
width
:
200
},
{
title
:
'投标开始/截止时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.inviteTenderStartTime'
})
,
align
:
'left'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
...
...
@@ -172,7 +172,7 @@ export const baseTenderListColumns: any[] = [
</>
},
{
title
:
'投标开始/截止时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.inviteTenderStartTime'
})
,
align
:
'left'
,
dataIndex
:
'inviteTender'
,
key
:
'inviteTender'
,
...
...
src/pages/procurement/tender/addBidRegister/constant/index.ts
View file @
5b5f4796
...
...
@@ -49,25 +49,25 @@ export const columnsSetMember: any[] = [
key
:
'memberId'
,
},
{
title
:
'会员名称'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.memberName'
})
,
dataIndex
:
'name'
,
align
:
'center'
,
key
:
'name'
,
},
{
title
:
'会员类型'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.memberType'
})
,
dataIndex
:
'memberTypeName'
,
align
:
'center'
,
key
:
'memberTypeName'
,
},
{
title
:
'会员角色'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.role'
})
,
dataIndex
:
'roleName'
,
align
:
'center'
,
key
:
'roleName'
,
},
{
title
:
'会员等级'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.leveTag'
})
,
dataIndex
:
'levelTag'
,
align
:
'center'
,
key
:
'levelTag'
,
...
...
src/pages/procurement/tender/addBidRegister/index.tsx
View file @
5b5f4796
...
...
@@ -76,11 +76,11 @@ const AddBidRegister:React.FC<AddBidRegisterProps> = (props) => {
<
PageHeaderWrapper
style=
{
{
margin
:
0
}
}
onBack=
{
()
=>
history
.
goBack
()
}
backIcon=
{
<
ReutrnEle
description=
"返回"
/>
}
title=
"招标报名"
backIcon=
{
<
ReutrnEle
description=
{
intl
.
formatMessage
({
id
:
'table.purchase.fanhui'
})
}
/>
}
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaobaoming'
})
}
extra=
{
[
<
Button
key=
"1"
onClick=
{
()
=>
addSchemaAction
.
submit
()
}
loading=
{
btnLoading
}
type=
"primary"
icon=
{
<
SaveOutlined
/>
}
>
保存
{
intl
.
formatMessage
({
id
:
'table.purchase.baocun'
})
}
</
Button
>,
]
}
>
...
...
src/pages/procurement/tender/addBidRegister/schema/index.ts
View file @
5b5f4796
...
...
@@ -34,7 +34,7 @@ export const formSchema: ISchema = {
properties
:
{
inviteTenderId
:
{
type
:
'string'
,
title
:
'招标ID'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaoID'
})
,
readOnly
:
true
,
visible
:
false
,
},
...
...
@@ -45,17 +45,17 @@ export const formSchema: ISchema = {
},
remark
:
{
type
:
'string'
,
title
:
'招标摘要'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaozhaiyao'
})
,
readOnly
:
true
,
},
memberName
:
{
type
:
'string'
,
title
:
'招标会员'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaohuiyuan'
})
,
readOnly
:
true
,
},
inviteTenderArea
:
{
type
:
'string'
,
title
:
'适用城市'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.shiyongchengshi'
})
,
readOnly
:
true
,
},
createTime
:
{
...
...
@@ -81,7 +81,7 @@ export const formSchema: ISchema = {
"type"
:
"object"
,
"x-component"
:
"tabpane"
,
"x-component-props"
:
{
"tab"
:
"报名要求"
"tab"
:
intl
.
formatMessage
({
id
:
'table.purchase.baomingyaoqiu'
})
},
properties
:
{
MEGA_LAYOUT2
:
{
...
...
@@ -95,7 +95,7 @@ export const formSchema: ISchema = {
properties
:
{
'[registerStartTime, registerEndTime]'
:
{
type
:
'string'
,
title
:
'报名时间要求'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.baomingshijianyao'
})
,
"x-component"
:
'daterange'
,
"x-component-props"
:
{
showTime
:
true
,
...
...
@@ -105,11 +105,11 @@ export const formSchema: ISchema = {
},
registerRequirement
:
{
type
:
'string'
,
title
:
'报名要求说明'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.baomingyaoqiushuo'
})
,
readOnly
:
true
,
},
registerNeedFile
:
{
title
:
'报名要求附件'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.baomingyaoqiufu'
})
,
'x-component'
:
'FixUpload'
,
readOnly
:
true
,
},
...
...
@@ -121,7 +121,7 @@ export const formSchema: ISchema = {
type
:
"object"
,
"x-component"
:
"tabpane"
,
"x-component-props"
:
{
"tab"
:
"报名信息"
"tab"
:
intl
.
formatMessage
({
id
:
'table.purchase.baomingxinxi'
})
},
properties
:
{
MEGA_LAYOUT3
:
{
...
...
@@ -140,11 +140,11 @@ export const formSchema: ISchema = {
},
name
:
{
type
:
'string'
,
title
:
'联系人姓名'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.lianxirenxingming'
})
,
"x-rules"
:
[
{
required
:
true
,
message
:
'请填写联系人姓名'
message
:
intl
.
formatMessage
({
id
:
'table.purchase.qingtianxielianxi2'
})
},
{
limitByte
:
true
,
...
...
@@ -152,14 +152,14 @@ export const formSchema: ISchema = {
}
],
"x-component-props"
:
{
placeholder
:
"请填写联系人姓名,最长12个字符"
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingtianxielianxi'
})
,
}
},
MEGA_LAYOUT3_1
:
{
type
:
'object'
,
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
label
:
'联系人电话'
,
label
:
intl
.
formatMessage
({
id
:
'table.purchase.lianxirendianhua'
})
,
required
:
true
,
wrapperCol
:
24
,
className
:
"clearParentMargin"
...
...
@@ -177,7 +177,7 @@ export const formSchema: ISchema = {
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'请选择'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingxuanze'
})
,
},
required
:
true
,
},
...
...
@@ -188,13 +188,13 @@ export const formSchema: ISchema = {
span
:
2
,
},
'x-component-props'
:
{
placeholder
:
'请输入手机号码'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshurushouji'
})
,
maxLength
:
11
,
},
'x-rules'
:
[
{
pattern
:
PATTERN_MAPS
.
phone
,
message
:
'请输入正确格式的手机号'
,
message
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshuruzhengque1'
})
,
},
],
},
...
...
@@ -204,15 +204,15 @@ export const formSchema: ISchema = {
},
email
:
{
type
:
'string'
,
title
:
'电子邮箱'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.dianziyouxiang'
})
,
required
:
true
,
'x-component-props'
:
{
placeholder
:
'请输入电子邮箱'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshurudianzi'
})
,
},
'x-rules'
:
[
{
pattern
:
PATTERN_MAPS
.
email
,
message
:
'请输入正确格式的邮箱'
,
message
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshuruzhengque'
})
,
},
],
},
...
...
@@ -220,7 +220,7 @@ export const formSchema: ISchema = {
type
:
'object'
,
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
label
:
'地址'
,
label
:
intl
.
formatMessage
({
id
:
'table.purchase.dizhi'
})
,
required
:
true
,
wrapperCol
:
24
,
},
...
...
@@ -239,8 +239,8 @@ export const formSchema: ISchema = {
},
'x-component'
:
'CustomAddress'
,
'x-component-props'
:
{
placeholder
:
'选择单位地址'
,
warningText
:
'请完善所在地区'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.xuanzedanweidi'
})
,
warningText
:
intl
.
formatMessage
({
id
:
'table.purchase.qingwanshansuozai'
})
,
},
// default: [{ provinceCode: null, province: null, cityCode: null, city: null, areaCode: null, area: null }],
required
:
true
,
...
...
@@ -251,13 +251,13 @@ export const formSchema: ISchema = {
span
:
1
},
'x-component-props'
:
{
placeholder
:
'请填写详细地址,路名、门牌号等,最长100个字符,50个汉字'
,
placeholder
:
intl
.
formatMessage
({
id
:
'detail.purchase.placeholder15'
})
,
},
required
:
true
,
"x-rules"
:
[
{
required
:
true
,
message
:
'请填写详细地址'
,
message
:
intl
.
formatMessage
({
id
:
'table.purchase.qingtianxiexiangxi'
})
,
},
{
limitByte
:
true
,
...
...
@@ -277,7 +277,7 @@ export const formSchema: ISchema = {
type
:
"object"
,
"x-component"
:
"tabpane"
,
"x-component-props"
:
{
"tab"
:
"报名文件"
"tab"
:
intl
.
formatMessage
({
id
:
'table.purchase.baomingwenjian'
})
},
properties
:
{
MEGA_LAYOUT4
:
{
...
...
src/pages/procurement/tender/addBidRegister/schema/modal.ts
View file @
5b5f4796
...
...
@@ -11,7 +11,7 @@ export const formSearch: ISchema = {
type
:
'string'
,
'x-component'
:
'ModalSearch'
,
'x-component-props'
:
{
placeholder
:
'请输入会员名字'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.qingshuruhuiyuan'
})
,
align
:
'flex-left'
,
advanced
:
false
,
},
...
...
src/pages/procurement/tender/addTender/components/productTableCell/index.tsx
View file @
5b5f4796
...
...
@@ -87,14 +87,14 @@ export const ProductTableCell:React.FC<ProductTableCellProps> = ({
rules=
{
[
{
required
:
true
,
message
:
`${title}
必须填写
`
,
message
:
`${title}
${intl.formatMessage({ id: 'table.purchase.bixutianxie' })}}
`
,
}
,
dataIndex
===
'
price
'
?
{
pattern
:
/^\
d
+(\
.
\
d
{1,4})?
$
/,
message
:
`单价仅限四位小数`
,
message
:
intl
.
formatMessage
({
id
:
'
table
.
purchase
.
danjiajinxiansi
'
})
,
}
:
{
pattern
:
/^\
d
+(\
.
\
d
{1,2})?
$
/,
message
:
`税率仅限两位小数`
,
message
:
intl
.
formatMessage
({
id
:
'
table
.
purchase
.
shuil
ü
jinxianliang
'
})
,
},
]}
>
...
...
src/pages/procurement/tender/addTender/components/relateProductDrawer/index.tsx
View file @
5b5f4796
This diff is collapsed.
Click to expand it.
src/pages/procurement/tender/addTender/constant/index.tsx
View file @
5b5f4796
...
...
@@ -70,25 +70,25 @@ export const columnsSetMember: any[] = [
key
:
'memberId'
,
},
{
title
:
'会员名称'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.memberName'
})
,
dataIndex
:
'name'
,
align
:
'center'
,
key
:
'name'
,
},
{
title
:
'会员类型'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.memberType'
})
,
dataIndex
:
'memberTypeName'
,
align
:
'center'
,
key
:
'memberTypeName'
,
},
{
title
:
'会员角色'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.role'
})
,
dataIndex
:
'roleName'
,
align
:
'center'
,
key
:
'roleName'
,
},
{
title
:
'会员等级'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.leveTag'
})
,
dataIndex
:
'levelTag'
,
align
:
'center'
,
key
:
'levelTag'
,
...
...
@@ -107,46 +107,46 @@ export const productInfoColumns: any[] = [
className
:
'commonHide'
,
},
{
title
:
'物料编号/名称'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.type'
})
,
dataIndex
:
'code'
,
align
:
'left'
,
key
:
'code'
,
render
:
(
t
,
r
)
=>
<><
div
>
{
t
}
</
div
><
div
>
{
r
.
name
}
</
div
></>
},
{
title
:
'规格'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.size'
})
,
dataIndex
:
'type'
,
align
:
'left'
,
key
:
'type'
,
},
{
title
:
'品类'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pinlei'
})
,
dataIndex
:
'categoryName'
,
align
:
'left'
,
key
:
'categoryName'
,
},
{
title
:
'品牌'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.pinpai'
})
,
dataIndex
:
'brandName'
,
align
:
'left'
,
key
:
'brandName'
,
},
{
title
:
'采购数量/单位'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.caigoushuliangdanwei'
})
,
dataIndex
:
'count'
,
align
:
'left'
,
key
:
'count'
,
render
:
(
t
,
r
)
=>
<><
div
>
{
t
}
</
div
><
div
>
{
r
.
unitName
}
</
div
></>
},
{
title
:
'含税'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.isTax'
})
,
dataIndex
:
'isTax'
,
align
:
'left'
,
key
:
'isTax'
,
render
:
(
t
,
r
)
=>
t
?
intl
.
formatMessage
({
id
:
'table.purchase.shi'
})
:
intl
.
formatMessage
({
id
:
'table.purchase.fou'
})
},
{
title
:
'税率'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.taxProbability'
})
,
dataIndex
:
'taxRate'
,
align
:
'left'
,
key
:
'taxRate'
,
...
...
@@ -158,7 +158,7 @@ export const productInfoColumns: any[] = [
},
},
{
title
:
'单价(含税)'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.taxUnitPrice'
})
,
dataIndex
:
'price'
,
align
:
'left'
,
key
:
'price'
,
...
...
@@ -170,7 +170,7 @@ export const productInfoColumns: any[] = [
},
},
{
title
:
'金额(含税)'
,
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.taxPrice'
})
,
dataIndex
:
'money'
,
align
:
'left'
,
key
:
'money'
,
...
...
src/pages/procurement/tender/addTender/index.tsx
View file @
5b5f4796
...
...
@@ -93,7 +93,7 @@ const AddTender:React.FC<AddTenderProps> = (props) => {
})
if
(
!
judgementByCount
||
judgementByCount
.
includes
(
false
)){
setBtnLoading
(
false
)
return
message
.
error
(
'请填写商品单价'
)
return
message
.
error
(
intl
.
formatMessage
({
id
:
'table.purchase.qingtianxieshangpin'
})
)
}
if
(
value
?.
id
)
params
.
id
=
value
.
id
const
res
=
await
postPurchaseSubmitTenderSaveSubmitTender
(
params
)
...
...
@@ -120,11 +120,11 @@ const AddTender:React.FC<AddTenderProps> = (props) => {
<
PageHeaderWrapper
style=
{
{
margin
:
0
}
}
onBack=
{
()
=>
history
.
goBack
()
}
backIcon=
{
<
ReutrnEle
description=
"返回"
/>
}
title=
"新建投标"
backIcon=
{
<
ReutrnEle
description=
{
intl
.
formatMessage
({
id
:
'table.purchase.fanhui'
})
}
/>
}
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.xinjiantoubiao'
})
}
extra=
{
[
<
Button
key=
"1"
onClick=
{
()
=>
addSchemaAction
.
submit
()
}
loading=
{
btnLoading
}
type=
"primary"
icon=
{
<
SaveOutlined
/>
}
>
保存
{
intl
.
formatMessage
({
id
:
'table.purchase.baocun'
})
}
</
Button
>,
]
}
>
...
...
@@ -170,7 +170,7 @@ const AddTender:React.FC<AddTenderProps> = (props) => {
{
/* 关联投标商品 */
}
<
RelevanceTenderProduct
title=
"关联投标商品"
title=
{
intl
.
formatMessage
({
id
:
'table.purchase.guanliantoubiaoshang'
})
}
currentRef=
{
productRef
}
schemaAction=
{
addSchemaAction
}
/>
...
...
src/pages/procurement/tender/addTender/model/useProductTable.tsx
View file @
5b5f4796
...
...
@@ -42,7 +42,7 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
const
[
productColumns
,
setProductColumns
]
=
useState
(()
=>
{
productInfoColumns
[
productInfoColumns
.
length
-
1
].
render
=
(
t
,
r
)
=>
{
return
<
Button
type=
'link'
onClick=
{
()
=>
clickRelevance
(
r
)
}
>
关联投标商品
</
Button
>
return
<
Button
type=
'link'
onClick=
{
()
=>
clickRelevance
(
r
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.guanliantoubiaoshang'
})
}
</
Button
>
}
return
productInfoColumns
...
...
@@ -70,8 +70,8 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
// thead总计变动
let
_
=
[...
productInfoColumns
]
_
[
_
.
length
-
2
][
'title'
]
=
<>
<
div
>
金额(含税)
</
div
>
<
div
>
总计
:¥
<
span
style=
{
{
fontWeight
:
'bolder'
}
}
>
{
newData
.
reduce
((
prev
,
next
)
=>
(
prev
*
100
+
(
next
.
money
||
0
)
*
100
)
/
100
,
0
)
}
</
span
></
div
>
<
div
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.taxPrice'
})
}
</
div
>
<
div
>
{
intl
.
formatMessage
({
id
:
'table.purchase.zongji'
})
}
:¥
<
span
style=
{
{
fontWeight
:
'bolder'
}
}
>
{
newData
.
reduce
((
prev
,
next
)
=>
(
prev
*
100
+
(
next
.
money
||
0
)
*
100
)
/
100
,
0
)
}
</
span
></
div
>
</>
setProductColumns
(
_
)
...
...
@@ -114,14 +114,14 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
<
Row
>
<
Col
span=
{
3
}
>
<
div
className=
{
style
.
childrenTitle
}
>
<
p
>
对应
</
p
>
<
p
>
投标商品
</
p
>
<
p
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.correspondence'
})
}
</
p
>
<
p
>
{
intl
.
formatMessage
({
id
:
'table.purchase.toubiaoshangpin'
})
}
</
p
>
</
div
>
</
Col
>
<
Col
span=
{
6
}
>
<
div
className=
{
style
.
childrenContent
}
>
<
p
><
span
>
商品编号
:
</
span
>
{
data
.
code
}
</
p
>
<
p
><
span
>
商品名称
:
</
span
>
{
data
.
name
}
</
p
>
<
p
><
span
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shangpinbianhao'
})
}
:
</
span
>
{
data
.
code
}
</
p
>
<
p
><
span
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shangpinmingcheng'
})
}
:
</
span
>
{
data
.
name
}
</
p
>
</
div
>
</
Col
>
<
Col
span=
{
6
}
>
...
...
src/pages/procurement/tender/addTender/schema/index.ts
View file @
5b5f4796
...
...
@@ -34,12 +34,12 @@ export const formSchema: ISchema = {
properties
:
{
submitTenderCode
:
{
type
:
'string'
,
title
:
'投标编号'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaobianhao'
})
,
readOnly
:
true
,
},
projectName
:
{
type
:
'string'
,
title
:
'投标项目'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaoxiangmu'
})
,
readOnly
:
true
,
},
inviterTenderCode
:
{
...
...
@@ -50,7 +50,7 @@ export const formSchema: ISchema = {
},
memberName
:
{
type
:
'string'
,
title
:
'招标会员'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaohuiyuan'
})
,
readOnly
:
true
,
},
// inviteTenderAreaList: {
...
...
@@ -66,7 +66,7 @@ export const formSchema: ISchema = {
// },
inviteTenderAreaList
:
{
type
:
'string'
,
title
:
'适用城市'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.shiyongchengshi'
})
,
readOnly
:
true
,
},
inviteTenderOutStatus
:
{
...
...
@@ -221,7 +221,7 @@ export const formSchema: ISchema = {
type
:
"object"
,
"x-component"
:
"tabpane"
,
"x-component-props"
:
{
"tab"
:
"投标商品"
"tab"
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaoshangpin'
})
},
properties
:
{
MEGA_LAYOUT4
:
{
...
...
@@ -252,7 +252,7 @@ export const formSchema: ISchema = {
type
:
"object"
,
"x-component"
:
"tabpane"
,
"x-component-props"
:
{
"tab"
:
"投标其他信息"
"tab"
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaoqitaxin'
})
},
properties
:
{
MEGA_LAYOUT5
:
{
...
...
@@ -265,10 +265,10 @@ export const formSchema: ISchema = {
},
properties
:
{
remark
:
{
title
:
'投标摘要'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaozhaiyao'
})
,
type
:
'textarea'
,
'x-component-props'
:
{
placeholder
:
'最长200个字符,100个汉字'
placeholder
:
intl
.
formatMessage
({
id
:
'detail.purchase.placeholder8'
})
},
"x-rules"
:
[
{
...
...
@@ -278,7 +278,7 @@ export const formSchema: ISchema = {
]
},
file
:
{
title
:
'投标文件'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaowenjian'
})
,
'x-component'
:
'FixUpload'
,
'x-component-props'
:
{
action
:
'/api/file/file/upload/prefix'
,
...
...
src/pages/procurement/tender/addTender/schema/modal.ts
View file @
5b5f4796
...
...
@@ -25,7 +25,7 @@ export const relevanceSchema: ISchema = {
properties
:{
bidMaterial
:
{
type
:
"object"
,
title
:
"对应招标物料"
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.duiyingzhaobiaowu'
})
,
"x-component"
:
"CustomLayout"
,
"x-component-props"
:
{
headerBackgroundColor
:
'#E4F7EF'
,
...
...
@@ -34,7 +34,7 @@ export const relevanceSchema: ISchema = {
},
tenderProduct
:
{
type
:
"object"
,
title
:
"投标商品"
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaoshangpin'
})
,
"x-component"
:
"CustomLayout"
,
"x-component-props"
:
{
showStar
:
true
,
...
...
@@ -52,11 +52,11 @@ export const relevanceSchema: ISchema = {
"x-index"
:
99
,
"x-component"
:
"CustomTitle"
,
"x-component-props"
:
{
text
:
"附件"
text
:
intl
.
formatMessage
({
id
:
'table.purchase.fujian'
})
},
properties
:
{
file
:
{
title
:
'附件'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.fujian'
})
,
'x-component'
:
'FixUpload'
,
'x-component-props'
:
{
action
:
'/api/file/file/upload/prefix'
,
...
...
@@ -88,7 +88,7 @@ export const productSearch: ISchema = {
type
:
'string'
,
'x-component'
:
'ModalSearch'
,
'x-component-props'
:
{
placeholder
:
'商品名称'
,
placeholder
:
intl
.
formatMessage
({
id
:
'detail.purchase.goodstName'
})
,
align
:
'flex-left'
,
},
},
...
...
@@ -113,7 +113,7 @@ export const productSearch: ISchema = {
type
:
'string'
,
'x-component'
:
'CustomInputSearch'
,
'x-component-props'
:
{
placeholder
:
'商品品牌'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.shangpinpinpai'
})
,
showSearch
:
true
,
showArrow
:
true
,
defaultActiveFirstOption
:
false
,
...
...
@@ -128,7 +128,7 @@ export const productSearch: ISchema = {
type
:
'string'
,
'x-component'
:
'CustomCategorySearch'
,
'x-component-props'
:
{
placeholder
:
'商品品类'
,
placeholder
:
intl
.
formatMessage
({
id
:
'table.purchase.shangpinpinlei'
})
,
showSearch
:
true
,
notFoundContent
:
null
,
style
:
{
width
:
'174px'
},
...
...
src/pages/procurement/tender/callForBidsSearch/detail/index.tsx
View file @
5b5f4796
...
...
@@ -24,7 +24,7 @@ const CallForBidsSearchDetailInTender: React.FC = () => {
{
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.zigezhengmingwen'
})
,
id
:
'checkQualifyFile'
,
type
:
"checkQualifyFile"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.qitayaoqiu'
}),
id
:
'otherNeed'
,
type
:
"otherNeed"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjilu'
}),
id
:
'transferRecord'
,
componentName
:
"BidTransformRecord"
},
]
...
...
@@ -37,7 +37,7 @@ const CallForBidsSearchDetailInTender: React.FC = () => {
// 勾选资格预审 才有资格预审信息
if
(
!
data
?.
inviteTender
?.
isQualificationCheck
)
{
anchorTitleList
.
forEach
((
ele
,
index
)
=>
ele
[
'title'
]
===
intl
.
formatMessage
({
id
:
'table.purchase.zigeyushenyao'
})
&&
anchorTitleList
.
splice
(
index
,
1
))
anchorTitleList
.
forEach
((
ele
,
index
)
=>
ele
[
'title'
]
===
'资格证明文件'
&&
anchorTitleList
.
splice
(
index
,
1
))
anchorTitleList
.
forEach
((
ele
,
index
)
=>
ele
[
'title'
]
===
intl
.
formatMessage
({
id
:
'table.purchase.zigezhengmingwen'
})
&&
anchorTitleList
.
splice
(
index
,
1
))
}
return
(
...
...
src/pages/procurement/tender/callForBidsSearch/model/useSelfTable.tsx
View file @
5b5f4796
...
...
@@ -46,7 +46,7 @@ export const useSelfTable = () => {
// render: (t) => CALLFORBID_TYPE[t]
// },
{
title
:
'招标会员'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaohuiyuan'
})
,
align
:
'left'
,
dataIndex
:
'memberName'
,
key
:
'memberName'
,
...
...
@@ -78,7 +78,7 @@ export const useSelfTable = () => {
width
:
180
},
// {
// title:
'资格预审开始/截止时间'
,
// title:
intl.formatMessage({ id: 'table.purchase.preCheckStartTime' })
,
// align: 'left',
// dataIndex: 'checkStartTime',
// key: 'checkStartTime',
...
...
@@ -89,7 +89,7 @@ export const useSelfTable = () => {
// width: 180
// },
{
title
:
'投标开始/截止时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.inviteTenderStartTime'
})
,
align
:
'left'
,
dataIndex
:
'inviteTenderStartTime'
,
key
:
'inviteTenderStartTime'
,
...
...
src/pages/procurement/tender/firstCheckedTender/detail/index.tsx
View file @
5b5f4796
...
...
@@ -24,7 +24,7 @@ const FirstCheckedTenderDetail: React.FC = () => {
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.jibenxinxi'
}),
id
:
'baseicInfo'
,
type
:
"basicInfo"
},
// { title: '投标要求', id: 'bidNeed', type: "bidNeed" },
// { title: '投标其他要求', id: 'otherNeed', type: "otherNeed" },
{
title
:
'投标商品'
,
id
:
'bidParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaoshangpin'
})
,
id
:
'bidParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjilu'
}),
id
:
'transferRecord'
,
componentName
:
"BidTransformRecord"
},
]
...
...
src/pages/procurement/tender/firstCheckedTender/index.tsx
View file @
5b5f4796
...
...
@@ -16,7 +16,7 @@ const intl = getIntl();
// 一级待审核 投标
export
interface
FirstCheckedTenderProps
{}
export
interface
FirstCheckedTenderProps
{
}
const
fetchTableData
=
async
(
params
)
=>
{
const
{
data
}
=
await
postPurchaseSubmitTenderGetCheckSubmitTenderList
({
...
...
@@ -25,7 +25,7 @@ const fetchTableData = async (params) => {
return
data
}
const
FirstCheckedTender
:
React
.
FC
<
FirstCheckedTenderProps
>
=
(
props
)
=>
{
const
FirstCheckedTender
:
React
.
FC
<
FirstCheckedTenderProps
>
=
(
props
)
=>
{
const
{
columns
,
ref
,
...
...
@@ -37,17 +37,17 @@ const FirstCheckedTender:React.FC<FirstCheckedTenderProps> = (props) => {
const
handleSubmitBatch
=
async
()
=>
{
if
(
rowSelectionCtl
.
selectRow
.
length
===
0
)
{
message
.
error
(
'请先选择投标'
)
return
;
message
.
error
(
intl
.
formatMessage
({
id
:
'table.purchase.qingxianxuanzetou'
})
)
return
;
}
// const canBitch = !rowSelectionCtl.selectRow.some(v => v.submitTenderInStatus !== TenderInsideWorkState.Submitted_Check_Submit_Tender)
// if (canBitch) {
const
{
code
}
=
await
run
({
idList
:
rowSelectionCtl
.
selectedRowKeys
})
if
(
code
===
1000
)
{
ref
.
current
.
reload
()
rowSelectionCtl
.
setSelectRow
([])
rowSelectionCtl
.
setSelectedRowKeys
([])
}
const
{
code
}
=
await
run
({
idList
:
rowSelectionCtl
.
selectedRowKeys
})
if
(
code
===
1000
)
{
ref
.
current
.
reload
()
rowSelectionCtl
.
setSelectRow
([])
rowSelectionCtl
.
setSelectedRowKeys
([])
}
// } else {
// message.error('只能批量提交内部状态为已提交审核投标的招标')
// }
...
...
src/pages/procurement/tender/firstCheckedTender/model/useSelfTable.tsx
View file @
5b5f4796
...
...
@@ -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.audit'
})
}
</
Button
>
}
])
...
...
src/pages/procurement/tender/readyAddTender/index.tsx
View file @
5b5f4796
...
...
@@ -33,7 +33,7 @@ const ReadyAddTender:React.FC<ReadyAddTenderProps> = () => {
const
handleBitchPush
=
async
()
=>
{
// const canBitch = !rowSelectionCtl.selectRow.some(v => v.submitTenderInStatus !== TenderInsideWorkState.Not_Submitted_Check_Submit_Tender)
if
(
!
rowSelectionCtl
.
selectRow
.
length
)
return
message
.
error
(
'请先选择投标'
)
if
(
!
rowSelectionCtl
.
selectRow
.
length
)
return
message
.
error
(
intl
.
formatMessage
({
id
:
'table.purchase.qingxianxuanzetou'
})
)
// if (canBitch) {
const
{
code
}
=
await
run
({
idList
:
rowSelectionCtl
.
selectedRowKeys
})
if
(
code
===
1000
)
{
...
...
src/pages/procurement/tender/readyAddTender/model/index.tsx
View file @
5b5f4796
...
...
@@ -36,9 +36,9 @@ export const useSelfTable = () => {
return
<>
{
record
.
isSubmitCheck
&&
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
提交
</
Button
>
record
.
isSubmitCheck
&&
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.submit'
})
}
</
Button
>
}
<
Button
type=
'link'
onClick=
{
()
=>
handleEdit
(
record
)
}
>
修改
</
Button
>
<
Button
type=
'link'
onClick=
{
()
=>
handleEdit
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.eidt'
})
}
</
Button
>
</>
}
}
...
...
src/pages/procurement/tender/readyBidRegister/model/index.tsx
View file @
5b5f4796
...
...
@@ -35,7 +35,7 @@ export const useSelfTable = () => {
</>
},
{
title
:
'招标会员'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaohuiyuan'
})
,
align
:
'left'
,
dataIndex
:
'inviteTender'
,
key
:
'inviteTender'
,
...
...
@@ -90,10 +90,10 @@ export const useSelfTable = () => {
render
:
(
text
,
record
)
=>
{
return
<>
{
record
.
isRegister
&&
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
.
inviteTender
.
id
)
}
>
报名
</
Button
>
record
.
isRegister
&&
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
.
inviteTender
.
id
)
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.label14'
})
}
</
Button
>
}
{
record
.
isReRegister
&&
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
.
inviteTender
.
id
)
}
>
重新报名
</
Button
>
record
.
isReRegister
&&
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
.
inviteTender
.
id
)
}
>
{
intl
.
formatMessage
({
id
:
'detail.purchase.label15'
})
}
</
Button
>
}
</>
}
...
...
src/pages/procurement/tender/readyQualifityChecked/detail/index.tsx
View file @
5b5f4796
...
...
@@ -64,7 +64,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'
},
]
...
...
@@ -82,7 +82,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
fileList
,
onChange
(
info
)
{
if
(
info
.
file
.
status
===
'error'
)
{
message
.
error
(
`
${
info
.
file
.
name
}
上传失败
`
);
message
.
error
(
`
${
info
.
file
.
name
}
${
intl
.
formatMessage
({
id
:
'table.purchase.shangchuanshibai'
})}
`
);
}
setFileList
(()
=>
info
.
fileList
.
map
(
item
=>
{
if
(
item
?.
response
)
{
...
...
@@ -99,7 +99,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
},
beforeUpload
(
file
)
{
if
(
file
.
name
.
length
>
100
)
{
message
.
warning
(
'文件名过长'
);
message
.
warning
(
intl
.
formatMessage
({
id
:
'table.purchase.wenjianmingguochang'
})
);
return
Promise
.
reject
();
}
if
(
file
.
size
/
1024
/
1024
>
20
)
{
...
...
@@ -123,7 +123,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
}
}).
finally
(()
=>
setLoading
(
false
))
}
else
{
message
.
error
(
'请上传资格证明文件'
)
message
.
error
(
intl
.
formatMessage
({
id
:
'table.purchase.qingshangchuanzige'
})
)
}
}
...
...
@@ -162,7 +162,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
</
Col
>
<
Col
span=
{
2
}
>
<
Button
type=
'primary'
onClick=
{
handleSubmit
}
loading=
{
loading
}
>
提交
{
intl
.
formatMessage
({
id
:
'table.purchase.tijiao'
})
}
</
Button
>
</
Col
>
</>
...
...
@@ -176,7 +176,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
<
PreLoading
loading=
{
!
formContext
.
data
}
active
paragraph=
{
{
rows
:
6
}
}
>
<
div
id=
"transferProcess"
>
<
TransferProcess
cardTitle=
"流转进度"
cardTitle=
{
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjindu'
})
}
customTitleKey=
'name'
customKey=
'id'
outerVerifyCurrent=
{
findLastIndexFlowState
(
formContext
?.
externalWorkflowFlowRecordLogResponses
||
[])
}
...
...
@@ -203,18 +203,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
>
{
fileList
.
map
((
item
,
index
)
=>
(<
p
key=
{
index
}
className=
{
style
.
fileItem
}
><
a
href=
{
item
.
url
}
><
FileFilled
/>
{
item
.
name
}
</
a
>
<
span
onClick=
{
()
=>
removeItem
(
item
)
}
><
DeleteOutlined
/></
span
></
p
>))
...
...
@@ -222,7 +222,7 @@ const ReadyQualifityCheckedDetail: React.FC = () => {
<
Upload
{
...
uploadProps
}
>
<
Button
icon=
{
<
UploadOutlined
/>
}
>
上传附件
</
Button
>
<
Button
icon=
{
<
UploadOutlined
/>
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.shangchuanfujian'
})
}
</
Button
>
</
Upload
>
</
Col
>
</
Row
>
...
...
@@ -230,7 +230,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/tender/readyQualifityChecked/model/useSelfTable.tsx
View file @
5b5f4796
...
...
@@ -34,7 +34,7 @@ export const useSelfTable = () => {
</>
},
{
title
:
'招标会员'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhaobiaohuiyuan'
})
,
align
:
'left'
,
dataIndex
:
'inviteTender'
,
key
:
'inviteTender'
,
...
...
@@ -60,7 +60,7 @@ export const useSelfTable = () => {
// width: 180
// },
{
title
:
'资格预审开始/截止时间'
,
title
:
intl
.
formatMessage
({
id
:
'table.purchase.preCheckStartTime'
})
,
align
:
'left'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
...
...
@@ -100,10 +100,10 @@ export const useSelfTable = () => {
render
:
(
text
,
record
)
=>
{
return
<>
{
record
.
isSubmitQualifications
&&
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
.
id
)
}
>
提交
</
Button
>
record
.
isSubmitQualifications
&&
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
.
id
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.tijiao'
})
}
</
Button
>
}
{
record
.
isReSubmitQualifications
&&
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
.
id
)
}
>
重新提交
</
Button
>
record
.
isReSubmitQualifications
&&
<
Button
type=
'link'
onClick=
{
()
=>
handleSubmit
(
record
.
id
)
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.chongxintijiao'
})
}
</
Button
>
}
</>
}
...
...
src/pages/procurement/tender/readySubmitTender/detail/index.tsx
View file @
5b5f4796
...
...
@@ -23,7 +23,7 @@ const ReadySubmitTenderDetail: React.FC = () => {
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.jibenxinxi'
}),
id
:
'baseicInfo'
,
type
:
"basicInfo"
},
// { title: '投标要求', id: 'bidNeed', type: "bidNeed" },
// { title: '投标其他要求', id: 'otherNeed', type: "otherNeed" },
{
title
:
'投标商品'
,
id
:
'bidParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaoshangpin'
})
,
id
:
'bidParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjilu'
}),
id
:
'transferRecord'
,
componentName
:
"BidTransformRecord"
},
]
...
...
src/pages/procurement/tender/readySubmitTender/index.tsx
View file @
5b5f4796
...
...
@@ -37,7 +37,7 @@ const ReadySubmitTender:React.FC<ReadySubmitTenderProps> = (props) => {
const
handleSubmitBatch
=
async
()
=>
{
if
(
rowSelectionCtl
.
selectRow
.
length
===
0
)
{
message
.
error
(
'请先选择投标'
)
message
.
error
(
intl
.
formatMessage
({
id
:
'table.purchase.qingxianxuanzetou'
})
)
return
;
}
// const canBitch = !rowSelectionCtl.selectRow.some(v => v.submitTenderInStatus !== TenderInsideWorkState.Not_Submitted_Submit_Tender)
...
...
@@ -87,7 +87,7 @@ const ReadySubmitTender:React.FC<ReadySubmitTenderProps> = (props) => {
}
}
formilyChilds=
{
{
children
:
<
Space
>
<
Button
onClick=
{
handleSubmitBatch
}
loading=
{
loading
}
>
批量提交投标
</
Button
>
<
Button
onClick=
{
handleSubmitBatch
}
loading=
{
loading
}
>
{
intl
.
formatMessage
({
id
:
'table.purchase.piliangtijiaotou'
})
}
</
Button
>
</
Space
>,
layouts
:
{
span
:
8
...
...
src/pages/procurement/tender/readySubmitTender/model/useSelfTable.tsx
View file @
5b5f4796
...
...
@@ -20,7 +20,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/tender/secondCheckedTender/detail/index.tsx
View file @
5b5f4796
...
...
@@ -25,7 +25,7 @@ const SecondCheckedTenderDetail: React.FC = () => {
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.jibenxinxi'
}),
id
:
'baseicInfo'
,
type
:
"basicInfo"
},
// { title: '投标要求', id: 'bidNeed', type: "bidNeed" },
// { title: '投标其他要求', id: 'otherNeed', type: "otherNeed" },
{
title
:
'投标商品'
,
id
:
'bidParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaoshangpin'
})
,
id
:
'bidParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjilu'
}),
id
:
'transferRecord'
,
componentName
:
"BidTransformRecord"
},
]
...
...
src/pages/procurement/tender/secondCheckedTender/index.tsx
View file @
5b5f4796
...
...
@@ -35,7 +35,7 @@ const SecondCheckedTender:React.FC<SecondCheckedTenderProps> = (props) => {
const
handleSubmitBatch
=
async
()
=>
{
if
(
rowSelectionCtl
.
selectRow
.
length
===
0
)
{
message
.
error
(
'请先勾选单据'
)
message
.
error
(
intl
.
formatMessage
({
id
:
'table.purchase.qingxiangouxuandan'
})
)
return
;
}
// const canBitch = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ONE_LEVEL_AUDIT_ORDER)
...
...
src/pages/procurement/tender/secondCheckedTender/model/useSelfTable.tsx
View file @
5b5f4796
...
...
@@ -23,7 +23,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.audit'
})
}
</
Button
>
}
])
...
...
src/pages/procurement/tender/tenderSearch/detail/index.tsx
View file @
5b5f4796
...
...
@@ -18,12 +18,12 @@ const TenderSearchDetail: React.FC = () => {
const
anchorTitleList
=
[
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjindu'
}),
id
:
'transferProcess'
,
componentName
:
"TransferProcess"
},
{
title
:
'中标结果'
,
id
:
'bidResult'
,
type
:
"bidResult"
},
{
title
:
'中标明细'
,
id
:
'bidParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'detail.purchase.winBidResultLayout'
})
,
id
:
'bidResult'
,
type
:
"bidResult"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.zhongbiaomingxi'
})
,
id
:
'bidParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.jibenxinxi'
}),
id
:
'baseicInfo'
,
type
:
"basicInfo"
},
// { title: '投标要求', id: 'tenderNeed', type: "bidNeed" },
// { title: '投标其他要求', id: 'tenderOtherNeed', type: "otherNeed" },
{
title
:
'投标物料'
,
id
:
'tenderParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.toubiaowuliao'
})
,
id
:
'tenderParticulars'
,
componentName
:
"BidParticulars"
},
{
title
:
intl
.
formatMessage
({
id
:
'table.purchase.liuzhuanjilu'
}),
id
:
'transferRecord'
,
componentName
:
"BidTransformRecord"
},
]
...
...
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