151 lines
5.2 KiB
JavaScript
151 lines
5.2 KiB
JavaScript
import React, {PureComponent} from 'react';
|
||
import {Divider,Button,Form,Card,Tabs,Table,Tooltip,Input,Select,Row,Col,message} from 'antd';
|
||
import './index.less';
|
||
import { connect } from "dva";
|
||
import { getProId,getProMethod,getDefId, getQuotationMethodById } from '@/utils/session';
|
||
import { routerRedux } from 'dva/router';
|
||
import { getURLInformation } from '@/utils/CommonUtils';
|
||
import { btnAuthority } from '@/utils/authority';
|
||
@connect(({ bidev,loading }) => ({
|
||
...bidev,
|
||
supplierlistLoading:loading.effects['bidev/fetchSupplierList'],
|
||
}))
|
||
class supplier extends PureComponent {
|
||
state={
|
||
pageNo:1,
|
||
pageSize:10,
|
||
tpId: getProId(),
|
||
sectionName:"采购包",
|
||
sectionType:"评审",
|
||
defId: getDefId(),
|
||
loading: false,
|
||
}
|
||
componentDidMount(){
|
||
//确定显示字段名称
|
||
let sectionName = "采购包";
|
||
let sectionType = "评审";
|
||
let proMethod = getProMethod();
|
||
if(proMethod == "procurement_mode_1" || proMethod == "procurement_mode_2") {
|
||
sectionName= "标段";
|
||
sectionType= "评标";
|
||
} else if(proMethod == "procurement_mode_5" || proMethod == "procurement_mode_6") {
|
||
sectionName= "采购包";
|
||
sectionType= "谈判";
|
||
} else if(proMethod == "procurement_mode_4") {
|
||
sectionName= "包件";
|
||
}
|
||
this.setState({
|
||
sectionName,
|
||
sectionType
|
||
})
|
||
|
||
this.setState({
|
||
tpId: getProId()
|
||
})
|
||
const { dispatch }=this.props;
|
||
// const {pageNo,pageSize}=this.state;
|
||
const params={
|
||
pageNo:1,
|
||
pageSize:10,
|
||
// roomType:this.props.match.params.roomType,
|
||
roomType: getURLInformation('roomType'),
|
||
tpId:getProId()//项目id
|
||
}
|
||
dispatch({
|
||
type:"bidev/fetchSupplierList",
|
||
payload:{...params}
|
||
})
|
||
}
|
||
|
||
handleRedirect=async(record)=>{
|
||
sessionStorage.setItem("roomId",record.id)
|
||
sessionStorage.setItem("roomStatus",record.status)
|
||
sessionStorage.setItem("groupId",record.chatGroupId)
|
||
sessionStorage.setItem("expertGroupId",record.expertChatGroupId)
|
||
this.setState({loading: true})
|
||
await getQuotationMethodById(record.id)
|
||
this.setState({loading: false})
|
||
// this.props.dispatch(routerRedux.push('/ProjectLayout/EvaRoom'))
|
||
window.open('/EvaRoom')
|
||
}
|
||
render(){
|
||
const { supplierList,supplierlistLoading}=this.props;
|
||
const { pageNo,pageSize,tpId ,sectionType,sectionName,defId,loading}=this.state;
|
||
const pagination = {
|
||
current: pageNo,
|
||
total: supplierList && supplierList.total ,
|
||
// showSizeChanger: true,
|
||
showQuickJumper:true,
|
||
showTotal: (total,range) => `共 ${total} 条记录,第${range.slice(',')[0]}-${range.slice(',')[1]}条`,
|
||
onChange:(page, pageSize)=>{
|
||
this.setState({
|
||
pageNo:page,
|
||
pageSize:pageSize,
|
||
});
|
||
const params={
|
||
pageNo:page,
|
||
pageSize:pageSize,
|
||
// roomType:this.props.match.params.roomType,
|
||
roomType: getURLInformation('roomType'),
|
||
tpId:tpId//项目id
|
||
}
|
||
this.props.dispatch({
|
||
type:"bidev/fetchSupplierList",
|
||
payload:{...params}
|
||
})
|
||
},
|
||
onShowSizeChange: (current, pageSize) => {
|
||
this.setState({
|
||
pageNo:1,
|
||
pageSize:pageSize,
|
||
});
|
||
const params={
|
||
pageNo:1,
|
||
pageSize:pageSize,
|
||
// roomType:this.props.match.params.roomType,
|
||
roomType: getURLInformation('roomType'),
|
||
tpId:tpId//项目id
|
||
}
|
||
this.props.dispatch({
|
||
type:"bidev/fetchSupplierList",
|
||
payload:{...params}
|
||
})
|
||
}
|
||
}
|
||
const columns=[
|
||
{ title: '序号', dataIndex: 'id', width: '10%',
|
||
render:(text, record, index)=>{
|
||
return (index+1)
|
||
}},
|
||
{ title: `${sectionName}名称`, dataIndex: 'sectionName', width: '10%'},
|
||
{ title: `${sectionName}编号`, dataIndex: 'sectionNum', width: '10%'},
|
||
{ title: `${sectionType}次数`, dataIndex: 'roomSort', width: '10%',
|
||
render:(text, record, index)=>{
|
||
return defId == "recruit_multi" ? <>第{text}轮</> : record.reviewMark == 1 ? <>第{text + record.reviewSort}次{sectionType}</> : <>第{text}次{sectionType}</>
|
||
}},
|
||
{ title: `${sectionType}开始时间`, dataIndex: 'openTime', width: '10%'},
|
||
{ title: '状态', dataIndex: 'status', width: '10%',
|
||
render:(text, record, index)=>{
|
||
let txt = record.status
|
||
return txt == 0 || txt == 1 ? `准备${sectionType}` : (txt == 2 ? `正在${sectionType}` : (txt == 3 ? `${sectionType}结束`: null))
|
||
}},
|
||
{ title: '操作', dataIndex: 'operation', width: '10%',
|
||
render:(text, record, index)=>{
|
||
return <><Button type="text" onClick={()=>{this.handleRedirect(record)}} hidden={btnAuthority(["ebtp-supplier"])}>进入{sectionType}室</Button></>
|
||
}}
|
||
]
|
||
|
||
return <>
|
||
<Card bodyStyle={{ padding: '24px 24px 0px' }} style={{ borderRadius: 6 }} bordered={false}>
|
||
<Table
|
||
loading={supplierlistLoading || loading}
|
||
columns={columns}
|
||
dataSource={supplierList!="" && supplierList.records}
|
||
pagination={pagination}
|
||
size="small"
|
||
/>
|
||
</Card>
|
||
</>
|
||
}
|
||
}
|
||
export default supplier; |