2.17 修改比选一阶段二次项目自定义流程的供应商报价逻辑

This commit is contained in:
jl-zhoujl2
2023-02-17 16:21:15 +08:00
parent ee8c88bf40
commit 1d43a430f0
4 changed files with 125 additions and 97 deletions

View File

@ -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)
//专家算数错误调整判断 //专家算数错误调整判断

View File

@ -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}/`

View File

@ -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',
});
}

View File

@ -2,10 +2,11 @@ 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';
import { getMaxTurnSortSupplier } from './components/service';
@connect(({ bidev, loading }) => ({ @connect(({ bidev, loading }) => ({
...bidev, ...bidev,
supplierlistLoading: loading.effects['bidev/fetchSupplierList'], supplierlistLoading: loading.effects['bidev/fetchSupplierList'],
@ -14,7 +15,7 @@ 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(),
@ -40,7 +41,7 @@ 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;
@ -64,6 +65,10 @@ class supplier extends PureComponent {
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)
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.setState({ loading: false })
// this.props.dispatch(routerRedux.push('/ProjectLayout/EvaRoom')) // this.props.dispatch(routerRedux.push('/ProjectLayout/EvaRoom'))
window.open('/EvaRoom') window.open('/EvaRoom')
@ -113,26 +118,34 @@ class supplier extends PureComponent {
} }
} }
const columns = [ const columns = [
{ title: '序号', dataIndex: 'id', width: '10%', {
title: '序号', dataIndex: 'id', width: '10%',
render: (text, record, index) => { render: (text, record, index) => {
return (index + 1) return (index + 1)
}}, }
},
{ title: `${sectionName}名称`, dataIndex: 'sectionName', width: '10%' }, { title: `${sectionName}名称`, dataIndex: 'sectionName', width: '10%' },
{ title: `${sectionName}编号`, dataIndex: 'sectionNum', width: '10%' }, { title: `${sectionName}编号`, dataIndex: 'sectionNum', width: '10%' },
{ title: `${sectionType}次数`, dataIndex: 'roomSort', width: '10%', {
title: `${sectionType}次数`, dataIndex: 'roomSort', width: '10%',
render: (text, record, index) => { 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: `${sectionType}开始时间`, dataIndex: 'openTime', width: '10%' },
{ title: '状态', dataIndex: 'status', width: '10%', {
title: '状态', dataIndex: 'status', width: '10%',
render: (text, record, index) => { 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%', },
{
title: '操作', dataIndex: 'operation', width: '10%',
render: (text, record, index) => { render: (text, record, index) => {
return <><Button type="text" onClick={() => { this.handleRedirect(record) }} hidden={btnAuthority(["ebtp-supplier"])}>进入{sectionType}</Button></> return <><Button type="text" onClick={() => { this.handleRedirect(record) }} hidden={btnAuthority(["ebtp-supplier"])}>进入{sectionType}</Button></>
}} }
}
] ]
return <> return <>