Files
fe_service_ebtp_frontend/src/pages/BidEvaluation/supplier.js
jl-zhoujl2 344276ab43 3.17 修改
2023-03-17 17:13:11 +08:00

166 lines
5.8 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, getSessionUserData } from '@/utils/session';
import { routerRedux } from 'dva/router';
import { getURLInformation } from '@/utils/CommonUtils';
import { btnAuthority } from '@/utils/authority';
import { getMaxTurnSortSupplier } from './components/service';
@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)
const res = await getMaxTurnSortSupplier(record.id);//获取最新轮次的供应商信息
if (record.bxOneSecondProjectStatus && (record.instFlowType == 2) && (getSessionUserData()?.userId == res?.data[0].bidUserId)) {//比选一阶段二次项目,选择自定义流程
sessionStorage.setItem("isBxOneSecondCustom", "1")
} else {
sessionStorage.setItem("isBxOneSecondCustom", "0")
}
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;