Files
fe_service_ebtp_frontend/src/pages/BidEvaluation/supplier.js
2022-03-10 14:24:13 +08:00

151 lines
5.2 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;