2.17 修改比选一阶段二次项目自定义流程的供应商报价逻辑
This commit is contained in:
@ -31,6 +31,8 @@ const BiddingRoom = (props) => {
|
|||||||
const IPassDecode = getIPassDecode();
|
const IPassDecode = getIPassDecode();
|
||||||
//获取用户数据
|
//获取用户数据
|
||||||
let data = getSessionUserData();
|
let data = getSessionUserData();
|
||||||
|
//获取比选一阶段二次项目,自定义流程,当前供应商
|
||||||
|
const isBxOneSecondCustom = sessionStorage.getItem("isBxOneSecondCustom");
|
||||||
//获取评审室id
|
//获取评审室id
|
||||||
const roomId = getRoomId();
|
const roomId = getRoomId();
|
||||||
const [list, setList] = useState();
|
const [list, setList] = useState();
|
||||||
@ -289,7 +291,7 @@ const BiddingRoom = (props) => {
|
|||||||
//供应商是否用ipass解密判断
|
//供应商是否用ipass解密判断
|
||||||
IPassDecode == 0 ? null : supplierList.splice(2, 1)
|
IPassDecode == 0 ? null : supplierList.splice(2, 1)
|
||||||
//供应商是否显示评审进展判断(招标类不显示)
|
//供应商是否显示评审进展判断(招标类不显示)
|
||||||
isBidProcess ? supplierList.splice(1, 1) : null
|
isBidProcess && (isBxOneSecondCustom != "1") ? supplierList.splice(1, 1) : null
|
||||||
//项目经理澄清说明判断
|
//项目经理澄清说明判断
|
||||||
NoClarification.findIndex(item => item == defId) == -1 ? null : managerList.splice(5, 1)
|
NoClarification.findIndex(item => item == defId) == -1 ? null : managerList.splice(5, 1)
|
||||||
//专家算数错误调整判断
|
//专家算数错误调整判断
|
||||||
|
@ -43,6 +43,8 @@ const Index: React.FC<{}> = () => {
|
|||||||
const [singUserId, singUserIdSet] = useState<any>([]); //评审专家id
|
const [singUserId, singUserIdSet] = useState<any>([]); //评审专家id
|
||||||
const userId = getSessionUserData().userId;
|
const userId = getSessionUserData().userId;
|
||||||
const role = getSessionRoleData().roleCode;
|
const role = getSessionRoleData().roleCode;
|
||||||
|
//获取比选一阶段二次项目,自定义流程,当前供应商
|
||||||
|
const isBxOneSecondCustom = sessionStorage.getItem("isBxOneSecondCustom");
|
||||||
function showConfirm(mes?: any, confirmFlag?: boolean) {
|
function showConfirm(mes?: any, confirmFlag?: boolean) {
|
||||||
//环节流转提示
|
//环节流转提示
|
||||||
mes == '是否开启' ? (mes = mes + instTurnName + '?') : mes;
|
mes == '是否开启' ? (mes = mes + instTurnName + '?') : mes;
|
||||||
@ -454,6 +456,7 @@ const Index: React.FC<{}> = () => {
|
|||||||
selectedKeys={selectedKeysTransfer}
|
selectedKeys={selectedKeysTransfer}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
onSelectChange={onSelectChange}
|
onSelectChange={onSelectChange}
|
||||||
|
disabled={isBxOneSecondCustom == "1"}
|
||||||
selectAllLabels={[, (info: { selectedCount: number, totalCount: number }) => <>
|
selectAllLabels={[, (info: { selectedCount: number, totalCount: number }) => <>
|
||||||
{
|
{
|
||||||
info.selectedCount != 0 && `${info.selectedCount}/`
|
info.selectedCount != 0 && `${info.selectedCount}/`
|
||||||
|
@ -93,5 +93,15 @@ export async function saveClosingReason(param: any) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 比选一阶段二次项目,获取最新轮的供应商
|
||||||
|
* @param param
|
||||||
|
*/
|
||||||
|
export async function getMaxTurnSortSupplier(param: any) {
|
||||||
|
return request(`/api/biz-service-ebtp-tender/v1/supplier_register/turnSort/max/${param}`, {
|
||||||
|
method: 'GET',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,38 +1,39 @@
|
|||||||
import React, {PureComponent} from 'react';
|
import React, { PureComponent } from 'react';
|
||||||
import {Divider,Button,Form,Card,Tabs,Table,Tooltip,Input,Select,Row,Col,message} from 'antd';
|
import { Divider, Button, Form, Card, Tabs, Table, Tooltip, Input, Select, Row, Col, message } from 'antd';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
import { connect } from "dva";
|
import { connect } from "dva";
|
||||||
import { getProId,getProMethod,getDefId, getQuotationMethodById } from '@/utils/session';
|
import { getProId, getProMethod, getDefId, getQuotationMethodById, getSessionUserData } from '@/utils/session';
|
||||||
import { routerRedux } from 'dva/router';
|
import { routerRedux } from 'dva/router';
|
||||||
import { getURLInformation } from '@/utils/CommonUtils';
|
import { getURLInformation } from '@/utils/CommonUtils';
|
||||||
import { btnAuthority } from '@/utils/authority';
|
import { btnAuthority } from '@/utils/authority';
|
||||||
@connect(({ bidev,loading }) => ({
|
import { getMaxTurnSortSupplier } from './components/service';
|
||||||
|
@connect(({ bidev, loading }) => ({
|
||||||
...bidev,
|
...bidev,
|
||||||
supplierlistLoading:loading.effects['bidev/fetchSupplierList'],
|
supplierlistLoading: loading.effects['bidev/fetchSupplierList'],
|
||||||
}))
|
}))
|
||||||
class supplier extends PureComponent {
|
class supplier extends PureComponent {
|
||||||
state={
|
state = {
|
||||||
pageNo:1,
|
pageNo: 1,
|
||||||
pageSize:10,
|
pageSize: 10,
|
||||||
tpId: getProId(),
|
tpId: getProId(),
|
||||||
sectionName:"采购包",
|
sectionName: "采购包",
|
||||||
sectionType:"评审",
|
sectionType: "评审",
|
||||||
defId: getDefId(),
|
defId: getDefId(),
|
||||||
loading: false,
|
loading: false,
|
||||||
}
|
}
|
||||||
componentDidMount(){
|
componentDidMount() {
|
||||||
//确定显示字段名称
|
//确定显示字段名称
|
||||||
let sectionName = "采购包";
|
let sectionName = "采购包";
|
||||||
let sectionType = "评审";
|
let sectionType = "评审";
|
||||||
let proMethod = getProMethod();
|
let proMethod = getProMethod();
|
||||||
if(proMethod == "procurement_mode_1" || proMethod == "procurement_mode_2") {
|
if (proMethod == "procurement_mode_1" || proMethod == "procurement_mode_2") {
|
||||||
sectionName= "标段";
|
sectionName = "标段";
|
||||||
sectionType= "评标";
|
sectionType = "评标";
|
||||||
} else if(proMethod == "procurement_mode_5" || proMethod == "procurement_mode_6") {
|
} else if (proMethod == "procurement_mode_5" || proMethod == "procurement_mode_6") {
|
||||||
sectionName= "采购包";
|
sectionName = "采购包";
|
||||||
sectionType= "谈判";
|
sectionType = "谈判";
|
||||||
} else if(proMethod == "procurement_mode_4") {
|
} else if (proMethod == "procurement_mode_4") {
|
||||||
sectionName= "包件";
|
sectionName = "包件";
|
||||||
}
|
}
|
||||||
this.setState({
|
this.setState({
|
||||||
sectionName,
|
sectionName,
|
||||||
@ -40,99 +41,111 @@ class supplier extends PureComponent {
|
|||||||
})
|
})
|
||||||
|
|
||||||
this.setState({
|
this.setState({
|
||||||
tpId: getProId()
|
tpId: getProId()
|
||||||
})
|
})
|
||||||
const { dispatch }=this.props;
|
const { dispatch } = this.props;
|
||||||
// const {pageNo,pageSize}=this.state;
|
// const {pageNo,pageSize}=this.state;
|
||||||
const params={
|
const params = {
|
||||||
pageNo:1,
|
pageNo: 1,
|
||||||
pageSize:10,
|
pageSize: 10,
|
||||||
// roomType:this.props.match.params.roomType,
|
// roomType:this.props.match.params.roomType,
|
||||||
roomType: getURLInformation('roomType'),
|
roomType: getURLInformation('roomType'),
|
||||||
tpId:getProId()//项目id
|
tpId: getProId()//项目id
|
||||||
}
|
}
|
||||||
dispatch({
|
dispatch({
|
||||||
type:"bidev/fetchSupplierList",
|
type: "bidev/fetchSupplierList",
|
||||||
payload:{...params}
|
payload: { ...params }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
handleRedirect=async(record)=>{
|
handleRedirect = async (record) => {
|
||||||
sessionStorage.setItem("roomId",record.id)
|
sessionStorage.setItem("roomId", record.id)
|
||||||
sessionStorage.setItem("roomStatus",record.status)
|
sessionStorage.setItem("roomStatus", record.status)
|
||||||
sessionStorage.setItem("groupId",record.chatGroupId)
|
sessionStorage.setItem("groupId", record.chatGroupId)
|
||||||
sessionStorage.setItem("expertGroupId",record.expertChatGroupId)
|
sessionStorage.setItem("expertGroupId", record.expertChatGroupId)
|
||||||
this.setState({loading: true})
|
this.setState({ loading: true })
|
||||||
await getQuotationMethodById(record.id)
|
await getQuotationMethodById(record.id)
|
||||||
this.setState({loading: false})
|
const res = await getMaxTurnSortSupplier(record.id);//获取最新轮次的供应商信息
|
||||||
|
if (record.bxOneSecondProjectStatus && (record.instFlowType == 2) && (getSessionUserData()?.userId == res?.data[0].bidUserId)) {//比选一阶段二次项目,选择自定义流程
|
||||||
|
sessionStorage.setItem("isBxOneSecondCustom", "1")
|
||||||
|
}
|
||||||
|
this.setState({ loading: false })
|
||||||
// this.props.dispatch(routerRedux.push('/ProjectLayout/EvaRoom'))
|
// this.props.dispatch(routerRedux.push('/ProjectLayout/EvaRoom'))
|
||||||
window.open('/EvaRoom')
|
window.open('/EvaRoom')
|
||||||
}
|
}
|
||||||
render(){
|
render() {
|
||||||
const { supplierList,supplierlistLoading}=this.props;
|
const { supplierList, supplierlistLoading } = this.props;
|
||||||
const { pageNo,pageSize,tpId ,sectionType,sectionName,defId,loading}=this.state;
|
const { pageNo, pageSize, tpId, sectionType, sectionName, defId, loading } = this.state;
|
||||||
const pagination = {
|
const pagination = {
|
||||||
current: pageNo,
|
current: pageNo,
|
||||||
total: supplierList && supplierList.total ,
|
total: supplierList && supplierList.total,
|
||||||
// showSizeChanger: true,
|
// showSizeChanger: true,
|
||||||
showQuickJumper:true,
|
showQuickJumper: true,
|
||||||
showTotal: (total,range) => `共 ${total} 条记录,第${range.slice(',')[0]}-${range.slice(',')[1]}条`,
|
showTotal: (total, range) => `共 ${total} 条记录,第${range.slice(',')[0]}-${range.slice(',')[1]}条`,
|
||||||
onChange:(page, pageSize)=>{
|
onChange: (page, pageSize) => {
|
||||||
this.setState({
|
this.setState({
|
||||||
pageNo:page,
|
pageNo: page,
|
||||||
pageSize:pageSize,
|
pageSize: pageSize,
|
||||||
});
|
});
|
||||||
const params={
|
const params = {
|
||||||
pageNo:page,
|
pageNo: page,
|
||||||
pageSize:pageSize,
|
pageSize: pageSize,
|
||||||
// roomType:this.props.match.params.roomType,
|
// roomType:this.props.match.params.roomType,
|
||||||
roomType: getURLInformation('roomType'),
|
roomType: getURLInformation('roomType'),
|
||||||
tpId:tpId//项目id
|
tpId: tpId//项目id
|
||||||
}
|
}
|
||||||
this.props.dispatch({
|
this.props.dispatch({
|
||||||
type:"bidev/fetchSupplierList",
|
type: "bidev/fetchSupplierList",
|
||||||
payload:{...params}
|
payload: { ...params }
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
onShowSizeChange: (current, pageSize) => {
|
onShowSizeChange: (current, pageSize) => {
|
||||||
this.setState({
|
this.setState({
|
||||||
pageNo:1,
|
pageNo: 1,
|
||||||
pageSize:pageSize,
|
pageSize: pageSize,
|
||||||
});
|
});
|
||||||
const params={
|
const params = {
|
||||||
pageNo:1,
|
pageNo: 1,
|
||||||
pageSize:pageSize,
|
pageSize: pageSize,
|
||||||
// roomType:this.props.match.params.roomType,
|
// roomType:this.props.match.params.roomType,
|
||||||
roomType: getURLInformation('roomType'),
|
roomType: getURLInformation('roomType'),
|
||||||
tpId:tpId//项目id
|
tpId: tpId//项目id
|
||||||
}
|
}
|
||||||
this.props.dispatch({
|
this.props.dispatch({
|
||||||
type:"bidev/fetchSupplierList",
|
type: "bidev/fetchSupplierList",
|
||||||
payload:{...params}
|
payload: { ...params }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const columns=[
|
const columns = [
|
||||||
{ title: '序号', dataIndex: 'id', width: '10%',
|
{
|
||||||
render:(text, record, index)=>{
|
title: '序号', dataIndex: 'id', width: '10%',
|
||||||
return (index+1)
|
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%',
|
{ title: `${sectionName}名称`, dataIndex: 'sectionName', width: '10%' },
|
||||||
render:(text, record, index)=>{
|
{ 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}</>
|
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%',
|
{ title: `${sectionType}开始时间`, dataIndex: 'openTime', width: '10%' },
|
||||||
render:(text, record, index)=>{
|
{
|
||||||
|
title: '状态', dataIndex: 'status', width: '10%',
|
||||||
|
render: (text, record, index) => {
|
||||||
let txt = record.status
|
let txt = record.status
|
||||||
return txt == 0 || txt == 1 ? `准备${sectionType}` : (txt == 2 ? `正在${sectionType}` : (txt == 3 ? `${sectionType}结束`: null))
|
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></>
|
title: '操作', dataIndex: 'operation', width: '10%',
|
||||||
}}
|
render: (text, record, index) => {
|
||||||
|
return <><Button type="text" onClick={() => { this.handleRedirect(record) }} hidden={btnAuthority(["ebtp-supplier"])}>进入{sectionType}室</Button></>
|
||||||
|
}
|
||||||
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
return <>
|
return <>
|
||||||
@ -140,7 +153,7 @@ class supplier extends PureComponent {
|
|||||||
<Table
|
<Table
|
||||||
loading={supplierlistLoading || loading}
|
loading={supplierlistLoading || loading}
|
||||||
columns={columns}
|
columns={columns}
|
||||||
dataSource={supplierList!="" && supplierList.records}
|
dataSource={supplierList != "" && supplierList.records}
|
||||||
pagination={pagination}
|
pagination={pagination}
|
||||||
size="small"
|
size="small"
|
||||||
/>
|
/>
|
||||||
|
Reference in New Issue
Block a user