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
005483de
Commit
005483de
authored
Apr 21, 2021
by
前端-钟卫鹏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 添加抽取专家通知管理页面
parent
d9d2867b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
579 additions
and
19 deletions
+579
-19
index.ts
config/routes/index.ts
+3
-3
callForBids.ts
config/routes/procurementRoute/callForBids.ts
+32
-4
index.tsx
...ages/procurement/callForBids/addNewBid/constant/index.tsx
+3
-3
index.ts
...ement/callForBids/addRemarkBidCommittee/constant/index.ts
+199
-0
index.tsx
...s/procurement/callForBids/addRemarkBidCommittee/index.tsx
+0
-0
index.ts
...urement/callForBids/addRemarkBidCommittee/schema/index.ts
+12
-7
modal.ts
...urement/callForBids/addRemarkBidCommittee/schema/modal.ts
+56
-0
index.less
...urement/callForBids/extractNoticeManage/detail/index.less
+0
-0
index.tsx
...curement/callForBids/extractNoticeManage/detail/index.tsx
+12
-0
index.tsx
...ges/procurement/callForBids/extractNoticeManage/index.tsx
+84
-0
useSelfTable.tsx
...nt/callForBids/extractNoticeManage/model/useSelfTable.tsx
+110
-0
index.ts
...ocurement/callForBids/extractNoticeManage/schema/index.ts
+67
-0
index.tsx
...ages/procurement/callForBids/remarkBidCommittee/index.tsx
+1
-2
No files found.
config/routes/index.ts
View file @
005483de
...
...
@@ -15,7 +15,7 @@
// import AfterService from './afterServiceRoute' // 售后
// import HandlingRoute from './handlingRoute'; // 加工能力
import
asyncRoutes
from
'../router.config.json'
;
//
import ProcurementRoute from './procurementRoute';
import
ProcurementRoute
from
'./procurementRoute'
;
// import { callForBidsRoute } from './procurementRoute/callForBids';
// import { purchaseInquiryRoute } from './procurementRoute/purchaseInquiry';
// import contracRoute from './contracRoute';
...
...
@@ -57,12 +57,12 @@ const memberCenterRoute = {
// ShopRoute,
// CommodityRoute,
// srm开发临时使用...
//
ProcurementRoute,
ProcurementRoute
,
// // 合同能力
// contracRoute,
//...
// AuthConfigRoute,
...
asyncRoutes
,
//
...asyncRoutes,
{
path
:
'/memberCenter/noAuth'
,
auth
:
false
,
...
...
config/routes/procurementRoute/callForBids.ts
View file @
005483de
...
...
@@ -296,20 +296,48 @@ export const callForBidsRoute = [
hideInMenu
:
true
,
noMargin
:
true
,
},
// 评标委员会
// // 评标委员会
// {
// path: '/memberCenter/procurementAbility/callForBids/remarkBidCommittee',
// name: '评标委员会',
// component: '@/pages/procurement/callForBids/remarkBidCommittee',
// },
// // 评标委员会-新建
// {
// path: '/memberCenter/procurementAbility/callForBids/remarkBidCommittee/add',
// name: '新建评标委员会',
// component: '@/pages/procurement/callForBids/addRemarkBidCommittee',
// hideInMenu: true,
// noMargin: true,
// },
// 专家抽取管理
{
path
:
'/memberCenter/procurementAbility/callForBids/remarkBidCommittee'
,
name
:
'
评标委员会
'
,
name
:
'
专家抽取管理
'
,
component
:
'@/pages/procurement/callForBids/remarkBidCommittee'
,
},
//
评标委员会
-新建
//
专家抽取管理
-新建
{
path
:
'/memberCenter/procurementAbility/callForBids/remarkBidCommittee/add'
,
name
:
'新建
评标委员会
'
,
name
:
'新建
专家抽取
'
,
component
:
'@/pages/procurement/callForBids/addRemarkBidCommittee'
,
hideInMenu
:
true
,
noMargin
:
true
,
},
// 专家抽取通知管理
{
path
:
'/memberCenter/procurementAbility/callForBids/extractNoticeManage'
,
name
:
'专家抽取通知管理'
,
component
:
'@/pages/procurement/callForBids/extractNoticeManage'
,
},
// 专家抽取通知
{
path
:
'/memberCenter/procurementAbility/callForBids/extractNoticeManage/detail'
,
name
:
'专家抽取通详情'
,
component
:
'@/pages/procurement/callForBids/extractNoticeManage/detail'
,
hideInMenu
:
true
,
noMargin
:
true
,
},
]
},
]
src/pages/procurement/callForBids/addNewBid/constant/index.tsx
View file @
005483de
...
...
@@ -9,7 +9,7 @@ const { pageStatus, id } = usePageStatus()
export
const
dataChangeUnix
=
(
t
)
=>
moment
(
t
).
valueOf
()
/** 时间戳转datapicker所需格式 */
export
const
unixChangeRender
=
(
t
)
=>
moment
(
t
).
format
(
'YYYY-MM-DD HH:mm:ss'
)
export
const
unixChangeRender
=
(
t
)
=>
t
?
moment
(
t
).
format
(
'YYYY-MM-DD HH:mm:ss'
)
:
null
/** 文件数组转url字符串数组 */
export
const
fileChangeStringArray
=
(
arr
)
=>
arr
.
map
(
item
=>
{
...
...
@@ -104,8 +104,8 @@ export const paramsConversionFn = (value) => {
/** 回显 数据转换 */
export
const
paramsRenderFn
=
(
value
)
=>
{
const
_value
=
{...
value
}
value
[
'evaluationStartTime'
]
=
unixChangeRender
(
_value
[
'evaluationStartTime'
])
value
[
'evaluationEndTime'
]
=
unixChangeRender
(
_value
[
'evaluationEndTime'
])
value
[
'evaluationStartTime'
]
=
unixChangeRender
(
_value
[
'evaluationStartTime'
]
||
null
)
value
[
'evaluationEndTime'
]
=
unixChangeRender
(
_value
[
'evaluationEndTime'
]
||
null
)
value
[
'inviteTenderStartTime'
]
=
unixChangeRender
(
_value
[
'inviteTenderStartTime'
])
value
[
'inviteTenderEndTime'
]
=
unixChangeRender
(
_value
[
'inviteTenderEndTime'
])
value
[
'hopeDate'
]
=
unixChangeRender
(
_value
[
'hopeDate'
])
...
...
src/pages/procurement/callForBids/addRemarkBidCommittee/constant/index.ts
View file @
005483de
import
{
formatTimeString
}
from
"@/utils"
// 选择商品和会员弹框的列
export
const
columnsSetMember
:
any
[]
=
[
{
...
...
@@ -31,3 +33,200 @@ export const columnsSetMember: any[] = [
key
:
'levelTag'
,
}
]
// 组件条件列表 @又名组建条件
export
const
buildColumns
:
any
[]
=
[
{
dataIndex
:
'id'
,
title
:
'ID'
,
align
:
'center'
,
className
:
'commonHide'
,
},
{
dataIndex
:
'id'
,
title
:
'序号'
,
align
:
'center'
,
render
:
(
r
,
t
,
i
)
=>
i
++
},
{
dataIndex
:
'name'
,
align
:
'center'
,
title
:
'专家类型'
},
{
dataIndex
:
'memberTypeName'
,
title
:
'专家专业级别'
,
align
:
'center'
},
{
dataIndex
:
'roleName'
,
title
:
'专家资格证书'
,
align
:
'center'
},
{
dataIndex
:
'orderThe'
,
title
:
'专家专业职称'
,
align
:
'center'
},
{
dataIndex
:
'receiverName'
,
title
:
'从事年限'
,
align
:
'center'
},
{
dataIndex
:
'supplyMembersName'
,
title
:
'所属行业'
,
align
:
'center'
},
{
dataIndex
:
'supplyMembersName'
,
title
:
'要求地区'
,
align
:
'center'
},
{
dataIndex
:
'supplyMembersName'
,
title
:
'排除地区'
,
align
:
'center'
},
{
dataIndex
:
'supplyMembersName'
,
title
:
'工作单位'
,
align
:
'center'
},
{
dataIndex
:
'supplyMembersName'
,
title
:
'抽取人数'
,
align
:
'center'
},
// {
// dataIndex: 'ctl',
// title: '操作',
// align: 'center',
// render: (r, t) => <>
// <Button type="link" onClick={() => editCondition(r, t)}>
// 编辑组件条件
// </Button>
// </>
// }
]
// 委员会成员 @又名专家抽取列表
export
const
expertColumns
:
any
[]
=
[
{
dataIndex
:
'id'
,
title
:
'ID'
,
align
:
'center'
,
className
:
'commonHide'
},
{
dataIndex
:
'id'
,
title
:
'序号'
,
align
:
'center'
,
render
:
(
r
,
t
,
i
)
=>
i
++
},
{
dataIndex
:
'name'
,
align
:
'center'
,
title
:
'专家类型'
},
{
dataIndex
:
'memberTypeName'
,
title
:
'专家专业级别'
,
align
:
'center'
},
{
dataIndex
:
'roleName'
,
title
:
'专家资格证书'
,
align
:
'center'
},
{
dataIndex
:
'orderThe'
,
title
:
'专家专业职称'
,
align
:
'center'
},
{
dataIndex
:
'receiverName'
,
title
:
'从事年限'
,
align
:
'center'
},
{
dataIndex
:
'supplyMembersName'
,
title
:
'所属行业'
,
align
:
'center'
},
{
dataIndex
:
'supplyMembersName'
,
title
:
'地区'
,
align
:
'center'
},
{
dataIndex
:
'supplyMembersName'
,
title
:
'工作单位'
,
align
:
'center'
},
{
dataIndex
:
'supplyMembersName'
,
title
:
'来源'
,
align
:
'center'
},
{
dataIndex
:
'supplyMembersName'
,
title
:
'状态'
,
align
:
'center'
},
// {
// dataIndex: 'ctl',
// title: '操作',
// align: 'center',
// render: (r, t) => <>
// <Button type="link">
// 查看
// </Button>
// <Button type="link">
// 删除
// </Button>
// </>
// }
]
// 选择项目弹框列
export
const
selectItemColumns
:
any
[]
=
[
{
title
:
'序号'
,
dataIndex
:
'id'
,
key
:
'id'
,
render
:
(
t
,
r
,
i
)
=>
++
i
},
{
title
:
'招标编号'
,
dataIndex
:
'code'
,
key
:
'code'
,
},
{
title
:
'招标项目'
,
dataIndex
:
'projectName'
,
key
:
'projectName'
,
},
{
title
:
'开标时间'
,
dataIndex
:
'openTenderTime'
,
key
:
'openTenderTime'
,
render
:
(
text
,
record
)
=>
formatTimeString
(
text
),
},
{
title
:
'评标开始时间'
,
dataIndex
:
'evaluationStartTime'
,
key
:
'evaluationStartTime'
,
render
:
(
text
,
record
)
=>
formatTimeString
(
text
),
},
{
title
:
'评标截止时间'
,
dataIndex
:
'evaluationEndTime'
,
key
:
'evaluationEndTime'
,
render
:
(
text
,
record
)
=>
formatTimeString
(
text
),
},
]
src/pages/procurement/callForBids/addRemarkBidCommittee/index.tsx
View file @
005483de
This diff is collapsed.
Click to expand it.
src/pages/procurement/callForBids/addRemarkBidCommittee/schema/index.ts
View file @
005483de
...
...
@@ -2,7 +2,7 @@ import React from 'react'
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
// 新增专家抽取
export
const
formSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
...
...
@@ -31,14 +31,14 @@ export const formSchema: ISchema = {
properties
:
{
name
:
{
type
:
'string'
,
title
:
'
评标委员会
名称'
,
title
:
'
主题
名称'
,
"x-component-props"
:
{
placeholder
:
'最长50个字符,25字汉字'
},
"x-rules"
:
[
{
required
:
true
,
message
:
'请填写
评标委员
会名称'
message
:
'请填写
主题
会名称'
},
{
limitByte
:
true
,
...
...
@@ -58,12 +58,17 @@ export const formSchema: ISchema = {
},
required
:
true
},
remarkNo
:
{
inviteTenderInStatus
:
{
type
:
'string'
,
title
:
'内部状态'
,
readOnly
:
true
,
},
code
:
{
type
:
'string'
,
title
:
'
评标
招标编号'
,
title
:
'招标编号'
,
readOnly
:
true
,
},
start
Time
:
{
openTender
Time
:
{
type
:
'string'
,
title
:
'开标时间'
,
readOnly
:
true
,
...
...
@@ -129,7 +134,7 @@ export const formSchema: ISchema = {
"x-component"
:
'MultTable'
,
"x-component-props"
:
{
rowKey
:
'id'
,
columns
:
"{{mem
e
berColumns}}"
,
columns
:
"{{memberColumns}}"
,
prefix
:
"{{selectExpertButton}}"
,
}
}
...
...
src/pages/procurement/callForBids/addRemarkBidCommittee/schema/modal.ts
View file @
005483de
...
...
@@ -42,3 +42,59 @@ export const formSearch: ISchema = {
}
}
}
// 选择评标项目schema
export
const
selectBidSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
inviteTenderCode
:
{
type
:
'string'
,
"x-component"
:
'SearchFilter'
,
'x-component-props'
:
{
placeholder
:
'请输入招标编号'
,
align
:
'flex-start'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
inline
:
false
,
rowStyle
:
{
justifyContent
:
'start'
,
},
colStyle
:
{
marginRight
:
20
}
},
properties
:
{
projectName
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'请输入招标项目'
,
}
},
"[openTenderStartTime,openTenderEndTime]"
:
{
type
:
'array'
,
"x-component"
:
'DateRangePickerUnix'
,
'x-component-props'
:
{
placeholder
:
[
'开标开始时间'
,
'开标结束时间'
],
},
},
"[evaluationStartTime,evaluationEndTime]"
:
{
type
:
'array'
,
"x-component"
:
'DateRangePickerUnix'
,
'x-component-props'
:
{
placeholder
:
[
'评标开始时间'
,
'评标结束时间'
],
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
}
}
src/pages/procurement/callForBids/extractNoticeManage/detail/index.less
0 → 100644
View file @
005483de
src/pages/procurement/callForBids/extractNoticeManage/detail/index.tsx
0 → 100644
View file @
005483de
import
React
from
'react'
;
const
ExtractNoticeManageDetail
:
React
.
FC
=
()
=>
{
return
(
<
div
>
</
div
>
);
};
export
default
ExtractNoticeManageDetail
;
src/pages/procurement/callForBids/extractNoticeManage/index.tsx
0 → 100644
View file @
005483de
import
React
,
{
useRef
}
from
'react'
import
{
history
}
from
'umi'
import
{
Card
,
Button
,
Space
}
from
'antd'
import
{
StandardTable
}
from
'god'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
PublicApi
}
from
'@/services/api'
import
{
useSelfTable
}
from
'./model/useSelfTable'
import
{
PlusCircleOutlined
}
from
'@ant-design/icons'
import
{
tableListSchema
}
from
'./schema'
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
import
Submit
from
'@/components/NiceForm/components/Submit'
import
DateRangePickerUnix
from
'@/components/NiceForm/components/DateRangePickerUnix'
import
'../../constants/index.less'
// @专家抽取通知管理 招标
export
interface
ExtractNoticeManageProps
{}
const
fetchTableData
=
async
(
params
)
=>
{
const
{
data
}
=
await
PublicApi
.
getOrderProcurementReviewedListOne
(
params
)
return
data
}
const
ExtractNoticeManage
:
React
.
FC
<
ExtractNoticeManageProps
>
=
(
props
)
=>
{
const
{
columns
,
ref
,
}
=
useSelfTable
()
return
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
fetchTableData=
{
params
=>
fetchTableData
(
params
)
}
columns=
{
columns
}
currentRef=
{
ref
}
rowKey=
{
'id'
}
formilyLayouts=
{
{
justify
:
'end'
}
}
formilyProps=
{
{
ctx
:
{
inline
:
false
,
schema
:
tableListSchema
,
effects
:
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'orderNo'
,
FORM_FILTER_PATH
,
);
},
components
:
{
DateRangePickerUnix
,
Submit
}
},
layouts
:
{
order
:
2
,
span
:
16
}
}
}
// formilyChilds={{
// children: <Space>
// <Button
// icon={<PlusCircleOutlined/>}
// type='primary'
// onClick={() => history.push('/memberCenter/procurementAbility/callForBids/remarkBidCommittee/add')}
// >
// 新建
// </Button>
// </Space>,
// layouts: {
// span: 8
// }
// }}
/>
</
Card
>
</
PageHeaderWrapper
>
}
ExtractNoticeManage
.
defaultProps
=
{}
export
default
ExtractNoticeManage
src/pages/procurement/callForBids/extractNoticeManage/model/useSelfTable.tsx
0 → 100644
View file @
005483de
import
React
,
{
useRef
}
from
'react'
import
{
Button
}
from
'antd'
import
{
history
}
from
'umi'
import
StatusSwitch
from
'@/components/StatusSwitch'
import
EyePreview
from
'@/components/EyePreview'
import
{
formatTimeString
}
from
'@/utils'
import
{
PlayCircleOutlined
,
PoweroffOutlined
}
from
'@ant-design/icons'
// 评标委员会 招标
export
const
useSelfTable
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
const
baseBidListColumns
:
any
[]
=
[
{
title
:
'序号'
,
align
:
'left'
,
dataIndex
:
'id'
,
key
:
'id'
,
render
:
(
t
,
r
,
i
)
=>
++
i
},
{
title
:
'评标委员会名称'
,
align
:
'left'
,
dataIndex
:
'receiverName'
,
key
:
'receiverName'
,
render
:
(
text
,
record
)
=>
<>
<
EyePreview
url=
{
`${history.location.pathname}/detail?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
</>
},
{
title
:
'评标招标编号'
,
align
:
'left'
,
dataIndex
:
'orderNo'
,
key
:
'orderNo'
,
},
{
title
:
'开标时间'
,
align
:
'left'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
render
:
(
text
,
record
)
=>
formatTimeString
(
record
.
createTime
),
width
:
200
},
{
title
:
'评标开始/截止时间'
,
align
:
'left'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
render
:
(
text
,
record
)
=>
<>
<
div
><
PlayCircleOutlined
/>
{
formatTimeString
(
record
.
createTime
)
}
</
div
>
<
div
><
PoweroffOutlined
/>
{
formatTimeString
(
record
.
createTime
)
}
</
div
>
</>,
width
:
200
},
{
title
:
'创建时间'
,
align
:
'left'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
render
:
(
text
,
record
)
=>
formatTimeString
(
record
.
createTime
),
width
:
200
},
{
title
:
'参与评标人数'
,
align
:
'left'
,
dataIndex
:
'sum'
,
key
:
'sum'
,
},
// {
// title: '状态',
// align: 'left',
// dataIndex: 'externalState',
// key: 'externalState',
// render: (text: any, record: any) => (
// <StatusSwitch
// handleConfirm={() => handleUpdateState(record)}
// record={record}
// fieldNames="isEnable"
// expectTrueValue={true}
// />
// ),
// },
]
// const handleUpdateState = (record) => {
// console.log(record, 'update')
// }
const
secondColumns
:
any
[]
=
baseBidListColumns
.
concat
([
{
title
:
'操作'
,
align
:
'left'
,
dataIndex
:
'ctl'
,
key
:
'ctl'
,
render
:
(
text
,
record
)
=>
<>
<
Button
type=
'link'
>
编辑
</
Button
>
<
Button
type=
'link'
>
发送通知
</
Button
>
<
Button
type=
'link'
>
删除
</
Button
>
</>
}
])
return
{
columns
:
secondColumns
,
ref
,
}
}
src/pages/procurement/callForBids/extractNoticeManage/schema/index.ts
0 → 100644
View file @
005483de
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
OrderTypeMap
,
PurchaseOrderInsideWorkStateTexts
,
PurchaseOrderOutWorkStateTexts
}
from
'@/constants'
;
/**
* 除了订单必填字段, 默认
*/
export
const
tableListSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
orderNo
:
{
type
:
'string'
,
"x-component"
:
'SearchFilter'
,
'x-component-props'
:
{
placeholder
:
'请输入订单编号'
,
align
:
'flex-end'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
inline
:
true
,
colStyle
:
{
marginLeft
:
20
}
},
properties
:
{
orderThe
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'请输入订单摘要'
,
}
},
"supplyMembersName"
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
'请输入供应会员名称'
}
},
"type"
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
'请选择订单类型'
},
enum
:
Object
.
keys
(
OrderTypeMap
).
map
(
item
=>
({
label
:
OrderTypeMap
[
item
],
value
:
item
,
}))
},
"[startCreateTime,endCreateTime]"
:
{
type
:
'array'
,
"x-component"
:
'DateRangePickerUnix'
,
'x-component-props'
:
{
placeholder
:
[
'开始时间'
,
'结束时间'
],
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
}
}
src/pages/procurement/callForBids/remarkBidCommittee/index.tsx
View file @
005483de
...
...
@@ -13,8 +13,7 @@ import Submit from '@/components/NiceForm/components/Submit'
import
DateRangePickerUnix
from
'@/components/NiceForm/components/DateRangePickerUnix'
import
'../../constants/index.less'
// 评标委员会 招标
// 评标委员会 招标 @@又名 专家抽取管理
export
interface
RemarkBidCommitteeProps
{}
const
fetchTableData
=
async
(
params
)
=>
{
...
...
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