From 1d43a430f064356017c9467a3b6c62c633074cc3 Mon Sep 17 00:00:00 2001 From: jl-zhoujl2 Date: Fri, 17 Feb 2023 16:21:15 +0800 Subject: [PATCH] =?UTF-8?q?2.17=20=E4=BF=AE=E6=94=B9=E6=AF=94=E9=80=89?= =?UTF-8?q?=E4=B8=80=E9=98=B6=E6=AE=B5=E4=BA=8C=E6=AC=A1=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=B5=81=E7=A8=8B=E7=9A=84=E4=BE=9B?= =?UTF-8?q?=E5=BA=94=E5=95=86=E6=8A=A5=E4=BB=B7=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/BiddingRoom/index.js | 4 +- src/components/LayLeftMenu/index.tsx | 3 + src/pages/BidEvaluation/components/service.ts | 10 + src/pages/BidEvaluation/supplier.js | 205 ++++++++++-------- 4 files changed, 125 insertions(+), 97 deletions(-) diff --git a/src/components/BiddingRoom/index.js b/src/components/BiddingRoom/index.js index 0a8ef57..777bfb9 100644 --- a/src/components/BiddingRoom/index.js +++ b/src/components/BiddingRoom/index.js @@ -31,6 +31,8 @@ const BiddingRoom = (props) => { const IPassDecode = getIPassDecode(); //获取用户数据 let data = getSessionUserData(); + //获取比选一阶段二次项目,自定义流程,当前供应商 + const isBxOneSecondCustom = sessionStorage.getItem("isBxOneSecondCustom"); //获取评审室id const roomId = getRoomId(); const [list, setList] = useState(); @@ -289,7 +291,7 @@ const BiddingRoom = (props) => { //供应商是否用ipass解密判断 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) //专家算数错误调整判断 diff --git a/src/components/LayLeftMenu/index.tsx b/src/components/LayLeftMenu/index.tsx index de0c803..ef6e4e5 100644 --- a/src/components/LayLeftMenu/index.tsx +++ b/src/components/LayLeftMenu/index.tsx @@ -43,6 +43,8 @@ const Index: React.FC<{}> = () => { const [singUserId, singUserIdSet] = useState([]); //评审专家id const userId = getSessionUserData().userId; const role = getSessionRoleData().roleCode; + //获取比选一阶段二次项目,自定义流程,当前供应商 + const isBxOneSecondCustom = sessionStorage.getItem("isBxOneSecondCustom"); function showConfirm(mes?: any, confirmFlag?: boolean) { //环节流转提示 mes == '是否开启' ? (mes = mes + instTurnName + '?') : mes; @@ -454,6 +456,7 @@ const Index: React.FC<{}> = () => { selectedKeys={selectedKeysTransfer} onChange={onChange} onSelectChange={onSelectChange} + disabled={isBxOneSecondCustom == "1"} selectAllLabels={[, (info: { selectedCount: number, totalCount: number }) => <> { info.selectedCount != 0 && `${info.selectedCount}/` diff --git a/src/pages/BidEvaluation/components/service.ts b/src/pages/BidEvaluation/components/service.ts index 23564fc..0527149 100644 --- a/src/pages/BidEvaluation/components/service.ts +++ b/src/pages/BidEvaluation/components/service.ts @@ -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', + }); +} + diff --git a/src/pages/BidEvaluation/supplier.js b/src/pages/BidEvaluation/supplier.js index 6fb2826..eab5bf8 100644 --- a/src/pages/BidEvaluation/supplier.js +++ b/src/pages/BidEvaluation/supplier.js @@ -1,150 +1,163 @@ -import React, {PureComponent} from 'react'; -import {Divider,Button,Form,Card,Tabs,Table,Tooltip,Input,Select,Row,Col,message} from 'antd'; +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 { getProId, getProMethod, getDefId, getQuotationMethodById, getSessionUserData } from '@/utils/session'; import { routerRedux } from 'dva/router'; import { getURLInformation } from '@/utils/CommonUtils'; import { btnAuthority } from '@/utils/authority'; -@connect(({ bidev,loading }) => ({ +import { getMaxTurnSortSupplier } from './components/service'; +@connect(({ bidev, loading }) => ({ ...bidev, - supplierlistLoading:loading.effects['bidev/fetchSupplierList'], + supplierlistLoading: loading.effects['bidev/fetchSupplierList'], })) class supplier extends PureComponent { - state={ - pageNo:1, - pageSize:10, - tpId: getProId(), - sectionName:"采购包", - sectionType:"评审", + 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 - }) + 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() + tpId: getProId() }) - const { dispatch }=this.props; + const { dispatch } = this.props; // const {pageNo,pageSize}=this.state; - const params={ - pageNo:1, - pageSize:10, + const params = { + pageNo: 1, + pageSize: 10, // roomType:this.props.match.params.roomType, roomType: getURLInformation('roomType'), - tpId:getProId()//项目id + tpId: getProId()//项目id } dispatch({ - type:"bidev/fetchSupplierList", - payload:{...params} + 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}) + 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}) + 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')) window.open('/EvaRoom') } - render(){ - const { supplierList,supplierlistLoading}=this.props; - const { pageNo,pageSize,tpId ,sectionType,sectionName,defId,loading}=this.state; + render() { + const { supplierList, supplierlistLoading } = this.props; + const { pageNo, pageSize, tpId, sectionType, sectionName, defId, loading } = this.state; const pagination = { current: pageNo, - total: supplierList && supplierList.total , + total: supplierList && supplierList.total, // showSizeChanger: true, - showQuickJumper:true, - showTotal: (total,range) => `共 ${total} 条记录,第${range.slice(',')[0]}-${range.slice(',')[1]}条`, - onChange:(page, pageSize)=>{ + showQuickJumper: true, + showTotal: (total, range) => `共 ${total} 条记录,第${range.slice(',')[0]}-${range.slice(',')[1]}条`, + onChange: (page, pageSize) => { this.setState({ - pageNo:page, - pageSize:pageSize, + pageNo: page, + pageSize: pageSize, }); - const params={ - pageNo:page, - pageSize:pageSize, + const params = { + pageNo: page, + pageSize: pageSize, // roomType:this.props.match.params.roomType, roomType: getURLInformation('roomType'), - tpId:tpId//项目id + tpId: tpId//项目id } this.props.dispatch({ - type:"bidev/fetchSupplierList", - payload:{...params} + type: "bidev/fetchSupplierList", + payload: { ...params } }) }, onShowSizeChange: (current, pageSize) => { this.setState({ - pageNo:1, - pageSize:pageSize, + pageNo: 1, + pageSize: pageSize, }); - const params={ - pageNo:1, - pageSize:pageSize, + const params = { + pageNo: 1, + pageSize: pageSize, // roomType:this.props.match.params.roomType, roomType: getURLInformation('roomType'), - tpId:tpId//项目id + tpId: tpId//项目id } this.props.dispatch({ - type:"bidev/fetchSupplierList", - payload:{...params} + 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)=>{ + 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 <> - }} + return txt == 0 || txt == 1 ? `准备${sectionType}` : (txt == 2 ? `正在${sectionType}` : (txt == 3 ? `${sectionType}结束` : null)) + } + }, + { + title: '操作', dataIndex: 'operation', width: '10%', + render: (text, record, index) => { + return <> + } + } ] return <> - - - + +
+ } }