3.9 供应商关联关系疑似违规行为
This commit is contained in:
@ -0,0 +1,273 @@
|
||||
import { getLeader } from "@/components/BiddingRoom/service";
|
||||
import EquityRelation from "@/components/EquityRelation";
|
||||
import { getURLInformation } from "@/utils/CommonUtils";
|
||||
import { getRoomId, getSessionProjectData, getSessionRoleData } from "@/utils/session";
|
||||
import { ExclamationCircleOutlined } from "@ant-design/icons";
|
||||
import ProTable, { EditableProTable, ProColumns } from "@ant-design/pro-table";
|
||||
import { Button, Col, Collapse, Form, Input, message, Modal, Radio, RadioChangeEvent, Row, Spin, Typography } from "antd";
|
||||
import React, { Fragment, useEffect, useState } from "react";
|
||||
import { getSuspectedViolation, leaderConfirm } from "../service";
|
||||
|
||||
/**
|
||||
* 智企查-供应商关联关系疑似违规行为
|
||||
* @param props
|
||||
* @returns
|
||||
*/
|
||||
const ZhiQiCha: React.FC<{}> = (props) => {
|
||||
const title_style = { color: "#b30000", fontWeight: 700 };
|
||||
const options = [
|
||||
{ label: '确认无风险', value: 0 },
|
||||
{ label: '确认有风险', value: 1 },
|
||||
];
|
||||
//是否展开智企查疑似关联关系
|
||||
const defaultZQCKey = getURLInformation('n') == '1' ? ['zhiqicha'] : []
|
||||
const { Paragraph, Text } = Typography;
|
||||
const { TextArea } = Input;
|
||||
const { confirm } = Modal;
|
||||
const [form] = Form.useForm();
|
||||
//项目id 标段id 评审室id
|
||||
const projectId = getSessionProjectData()?.id;
|
||||
const sessionId = sessionStorage.getItem("sectionId");
|
||||
const roomId = getRoomId();
|
||||
//获取角色
|
||||
const role = getSessionRoleData().roleCode;
|
||||
//专家组长填写的表格的供应商
|
||||
const [supplierTableData, setSupplierTableData] = useState<any[]>([]);
|
||||
//查询的供应商股权关系数据,确认数据。
|
||||
const [warningsData, setWarningsData] = useState<any>();
|
||||
//是否是专家组长
|
||||
const [isLeader, setIsLeader] = useState<boolean>(false);//true-是组长 false-不是组长或者不是专家
|
||||
//是否有风险
|
||||
const [isRisk, setIsRisk] = useState<boolean>(false);//true-有风险 false-无风险
|
||||
//radio选择
|
||||
const [radioValue, setRadioValue] = useState<string>("");
|
||||
//loading
|
||||
const [loading, setLoading] = useState<boolean>(true);
|
||||
|
||||
const columns: ProColumns<any>[] = [
|
||||
{
|
||||
title: <Text strong>供应商</Text>,
|
||||
dataIndex: 'companyName',
|
||||
key: 'companyName',
|
||||
editable: false,
|
||||
},
|
||||
{
|
||||
title: <Text strong>是否有风险</Text>,
|
||||
dataIndex: 'isRisk',
|
||||
key: 'isRisk',
|
||||
valueType: 'radio',
|
||||
valueEnum: {
|
||||
"0": { text: '否' },
|
||||
"1": { text: '是' },
|
||||
},
|
||||
},
|
||||
{
|
||||
title: <Text strong>说明</Text>,
|
||||
dataIndex: 'memo',
|
||||
key: 'memo',
|
||||
tooltip: "此项为选填",
|
||||
fieldProps: {
|
||||
maxLength: 100,
|
||||
}
|
||||
},
|
||||
];
|
||||
const readOnlyColumns: ProColumns<any>[] = [
|
||||
{
|
||||
title: <Text strong>供应商</Text>,
|
||||
dataIndex: 'companyName',
|
||||
key: 'companyName',
|
||||
},
|
||||
{
|
||||
title: <Text strong>是否有风险</Text>,
|
||||
dataIndex: 'isRisk',
|
||||
key: 'isRisk',
|
||||
render: (_: any, record: any) => (
|
||||
<span style={{ color: record.isRisk == 1 ? "red" : "" }}>{record.isRisk == 1 ? "是" : record.isRisk == 0 ? "否" : "-"}</span>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: <Text strong>说明</Text>,
|
||||
dataIndex: 'memo',
|
||||
key: 'memo',
|
||||
},
|
||||
];
|
||||
//获取智企查数据
|
||||
const getZQCData = () => {
|
||||
let params = {
|
||||
"tpId": projectId,
|
||||
"sectionId": sessionId,
|
||||
"assessRoomId": roomId,
|
||||
}
|
||||
// let params = { "tpId": "1625300469640114176", "sectionId": "1625300469648502784", "assessRoomId": "1628212227869454336" }
|
||||
getSuspectedViolation(params).then(async res => {//获取数据
|
||||
if (res?.success) {
|
||||
if (role == "ebtp-expert") {
|
||||
const resp = await getLeader(roomId)//判断是否是专家组长
|
||||
setIsLeader(resp?.data == "ReviewLeader");
|
||||
}
|
||||
setWarningsData(res?.data);
|
||||
setSupplierTableData(res?.data?.riskSupplier != null ? res?.data?.riskSupplier.supplist?.map((item: any) => { item.isRisk = String(item.isRisk); return item }) : []);
|
||||
setIsRisk(res?.data?.riskSupplier != null);
|
||||
form.setFieldsValue(res?.data);
|
||||
}
|
||||
}).finally(() => {
|
||||
setLoading(false);
|
||||
})
|
||||
}
|
||||
//专家组长保存
|
||||
const handleSave = () => {
|
||||
let values = form.getFieldsValue();
|
||||
values["riskSupplier"] = { supplist: supplierTableData };
|
||||
values["headmanConfirmStatus"] = "0";//保存参数
|
||||
setLoading(true);
|
||||
leaderConfirm(values).then(res => {//专家组长保存
|
||||
if (res?.success) {
|
||||
message.success("保存成功!");
|
||||
getZQCData();
|
||||
}
|
||||
}).finally(() => {
|
||||
setLoading(false);
|
||||
})
|
||||
}
|
||||
//专家组长提交
|
||||
const handleSubmit = () => {
|
||||
form.validateFields().then(values => {
|
||||
let emptyItem = -1;
|
||||
let yesLength = 0;
|
||||
for (let i = 0, length = supplierTableData.length; i < length; i++) {
|
||||
const item = supplierTableData[i];
|
||||
if (item.isRisk == null) {
|
||||
emptyItem = i;
|
||||
break;
|
||||
}
|
||||
if (item.isRisk == "1") {
|
||||
yesLength += 1;
|
||||
}
|
||||
}
|
||||
if (emptyItem != -1) {
|
||||
message.warning(`供应商【${supplierTableData[emptyItem].companyName}】的【是否有风险】项未填写`);
|
||||
return;
|
||||
}
|
||||
if ((values.headmanConfirm == 1) && (yesLength == 0)) {
|
||||
message.warning("【确认有风险】情况下,需至少一家供应商的【是否有风险】项选择【是】");
|
||||
return;
|
||||
}
|
||||
values["riskSupplier"] = { supplist: supplierTableData };
|
||||
values["headmanConfirmStatus"] = "1";//确认参数
|
||||
confirm({
|
||||
title: '提交后不可修改,确认是否提交?',
|
||||
icon: <ExclamationCircleOutlined />,
|
||||
content: <></>,
|
||||
centered: true,
|
||||
okText: "是",
|
||||
cancelText: "否",
|
||||
onOk() {
|
||||
setLoading(true);
|
||||
return leaderConfirm(values).then(res => {//专家组长提交
|
||||
if (res?.success) {
|
||||
message.success("提交成功!");
|
||||
getZQCData();
|
||||
}
|
||||
}).finally(() => {
|
||||
setLoading(false);
|
||||
})
|
||||
},
|
||||
onCancel() { },
|
||||
});
|
||||
});
|
||||
}
|
||||
const onRadioChange = (e: RadioChangeEvent) => {
|
||||
setRadioValue(e.target.value);
|
||||
}
|
||||
useEffect(() => {
|
||||
getZQCData();
|
||||
}, [])
|
||||
return (
|
||||
<Collapse defaultActiveKey={defaultZQCKey}>
|
||||
<Collapse.Panel header="供应商关联关系疑似违规行为" key="zhiqicha">
|
||||
<Spin spinning={loading}>
|
||||
<Fragment>
|
||||
<h3 className="first-title" style={title_style}>供应商关联关系疑似违规行为</h3>
|
||||
<div style={{ display: "flex", justifyContent: "flex-start", alignItems: "flex-start" }}>
|
||||
<div style={{ width: "50vw" }}>
|
||||
<EquityRelation result={warningsData?.riskData} suppCodeList={isRisk ? warningsData?.riskSupplier?.supplist : []} />
|
||||
</div>
|
||||
<div style={{ width: "calc(50vw - 60px)", paddingLeft: "40px", paddingTop: "42px" }}>
|
||||
<Paragraph>
|
||||
<Text strong>《中华人民共和国招标投标法》第三十二条规定:”投标人不得相互串通投标报价,不得排挤其他投标人的公平竞争,损害招标人或者其他投标人的合法权益。投标人不得与招标人串通投标,损害国家利益、社会公共利益或者他人的合法权益。”</Text>
|
||||
</Paragraph>
|
||||
<Paragraph>
|
||||
<Text strong>《中华人民共和国招标投标法实施条例》第三十四条规定:“与招标人存在利害关系可能影响招标公正性的法人、其它组织或者个人,不得参加投标。单位负责人为同一人或者存在控股关系、管理关系的不同单位,不得参加同一标段投标或者未划分标段的同一招标项目投标。违反前两款规定的,相关投标无效。”</Text>
|
||||
</Paragraph>
|
||||
<Paragraph>
|
||||
<Text strong>控股超过51%或股权关系分散的占股最大的股东都属于控股,请项目经理与评委给予注意!</Text>
|
||||
</Paragraph>
|
||||
{isRisk && (<Paragraph>
|
||||
<Text strong>经智企查分析,{warningsData?.riskSupplier?.riskSuppInfoList?.map((item: any, index: any) => <Text strong>{index != 0 && <span>和</span>}<span style={{ color: "#f39800" }}>{item}</span></Text>)}存在疑似关联关系,具体见左图。</Text>
|
||||
</Paragraph>)}
|
||||
{isRisk && isLeader && (
|
||||
<Form layout="vertical" form={form} name="control-hooks">
|
||||
<Form.Item name="id" hidden>
|
||||
<Input />
|
||||
</Form.Item>
|
||||
<Form.Item name="headmanConfirm" rules={[{ required: true, message: "请确认风险" }]}>
|
||||
<Radio.Group options={options} onChange={onRadioChange} disabled={warningsData?.headmanConfirmStatus == "1"} />
|
||||
</Form.Item>
|
||||
<Form.Item name="headmanConfirmDesc" label="说明" rules={[{ required: radioValue == "0", message: "请填写说明" }, { max: 200, message: "说明需少于200个字" }]} tooltip="确认风险的具体说明,选择【确认无风险】必须填写此项">
|
||||
<TextArea rows={6} readOnly={warningsData?.headmanConfirmStatus == "1"} />
|
||||
</Form.Item>
|
||||
</Form>)}
|
||||
</div>
|
||||
</div>
|
||||
</Fragment>
|
||||
{isRisk && <>
|
||||
{isLeader && <Fragment>
|
||||
<div style={{ margin: "20px 0" }}>
|
||||
<EditableProTable
|
||||
rowKey="companyId"
|
||||
// 关闭默认的新建按钮
|
||||
recordCreatorProps={false}
|
||||
columns={columns}
|
||||
value={supplierTableData}
|
||||
editable={{
|
||||
type: 'multiple',
|
||||
editableKeys: warningsData?.headmanConfirmStatus == "1" ? [] : supplierTableData.map(item => item.companyId),
|
||||
// onChange: setEditableRowKeys,
|
||||
onValuesChange: (record, recordList) => {
|
||||
setSupplierTableData(recordList);
|
||||
},
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
<div style={{ marginBottom: "20px", textAlign: "center" }}>
|
||||
<Button key="save" onClick={handleSave} disabled={loading || warningsData?.headmanConfirmStatus == "1"} style={{ marginRight: 8 }}>保存</Button>
|
||||
<Button key="submit" type="primary" onClick={handleSubmit} disabled={loading || warningsData?.headmanConfirmStatus == "1"}>提交</Button>
|
||||
</div>
|
||||
</Fragment>}
|
||||
{(warningsData?.headmanConfirmStatus == "1") && !isLeader && <Fragment>
|
||||
<h3 className="first-title" style={title_style}>供应商关联关系确认情况</h3>
|
||||
<Form labelCol={{ flex: "42px" }} form={form} name="control-hooks">
|
||||
<Form.Item name="headmanConfirm">
|
||||
<Radio.Group options={options} disabled />
|
||||
</Form.Item>
|
||||
<Form.Item name="headmanConfirmDesc" label="说明">
|
||||
<TextArea autoSize readOnly bordered={false} />
|
||||
</Form.Item>
|
||||
</Form>
|
||||
<h3 className="first-title" style={title_style}>专家确认股权关联关系疑似违规情况汇总表</h3>
|
||||
<ProTable
|
||||
rowKey="companyId"
|
||||
pagination={false}
|
||||
search={false}
|
||||
options={false}
|
||||
columns={readOnlyColumns}
|
||||
dataSource={supplierTableData}
|
||||
/>
|
||||
</Fragment>}
|
||||
</>}
|
||||
</Spin>
|
||||
</Collapse.Panel>
|
||||
</Collapse>
|
||||
)
|
||||
}
|
||||
export default ZhiQiCha;
|
@ -8,6 +8,7 @@ import ViewJuryScoringAnalysisFormModal from './components/ViewJuryScoringAnalys
|
||||
import ViewRiskSupplierModal from './components/ViewRiskSupplierModal';
|
||||
import BidDocSmartCheckFormModal from './components/BidDocSmartCheckFormModal';
|
||||
import ViewEvalFormModal from './components/ViewEvalFormModal';
|
||||
import ZhiQiCha from './components/ZhiQiCha';
|
||||
|
||||
const Sing: React.FC<{}> = () => {
|
||||
//ip mac
|
||||
@ -43,18 +44,20 @@ const Sing: React.FC<{}> = () => {
|
||||
const [BidRiskSupplierVisible, setBidRiskSupplierVisible] = useState<any>(false);
|
||||
//风控中心-风险限定供应商record
|
||||
const [BidRiskSupplierValues, setRiskSupplierValues] = useState<any>({});
|
||||
|
||||
|
||||
//投标文件智能审查
|
||||
const [BidDocSmartCheckFormVisible, setBidDocSmartCheckFormVisible] = useState<any>(false);
|
||||
//查看详情窗口record
|
||||
const [BidDocSmartCheckValues, setBidDocSmartCheckValues] = useState<any>({});
|
||||
|
||||
|
||||
//投标文件智能审查
|
||||
const [ViewEvalFormVisible, setViewEvalFormVisible] = useState<any>(false);
|
||||
//查看详情窗口record
|
||||
const [ViewEvalCheckValues, setViewEvalCheckValues] = useState<any>({});
|
||||
return (
|
||||
return (
|
||||
<>
|
||||
{/**智企查-供应商关联关系疑似违规行为 */}
|
||||
<ZhiQiCha />
|
||||
{
|
||||
ViewRishFormModal ? (
|
||||
<ViewRishFormModal
|
||||
@ -79,100 +82,100 @@ const Sing: React.FC<{}> = () => {
|
||||
}}
|
||||
>
|
||||
|
||||
</ViewQuoteWarningFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewBlacklistFormModal ? (
|
||||
<ViewBlacklistFormModal
|
||||
modalVisible={ViewBlacklistFormVisible}
|
||||
values={ViewBlacklistValues}
|
||||
onCancel={() => {
|
||||
setViewBlacklistFormVisible(!ViewBlacklistFormVisible);
|
||||
setViewBlacklistValues({});
|
||||
}}
|
||||
>
|
||||
</ViewBlacklistFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewReviewResultFormModal ? (
|
||||
<ViewReviewResultFormModal
|
||||
modalVisible={ViewReviewResultFormVisible}
|
||||
values={ViewReviewResultValues}
|
||||
onCancel={() => {
|
||||
setViewReviewResultFormVisible(!ViewReviewResultFormVisible);
|
||||
setViewReviewResultValues({});
|
||||
}}
|
||||
>
|
||||
</ViewReviewResultFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewJuryScoringRemindFormModal ? (
|
||||
<ViewJuryScoringRemindFormModal
|
||||
modalVisible={ViewJuryScoringRemindFormVisible}
|
||||
values={ViewJuryScoringRemindValues}
|
||||
onCancel={() => {
|
||||
setViewJuryScoringRemindFormVisible(!ViewJuryScoringRemindFormVisible);
|
||||
setViewJuryScoringRemindValues({});
|
||||
}}
|
||||
>
|
||||
</ViewJuryScoringRemindFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewJuryScoringAnalysisFormModal ? (
|
||||
<ViewJuryScoringAnalysisFormModal
|
||||
modalVisible={ViewJuryScoringAnalysisFormVisible}
|
||||
values={ViewJuryScoringAnalysisValues}
|
||||
onCancel={() => {
|
||||
setViewJuryScoringAnalysisFormVisible(!ViewJuryScoringAnalysisFormVisible);
|
||||
setViewJuryScoringAnalysisValues({});
|
||||
}}
|
||||
>
|
||||
</ViewJuryScoringAnalysisFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
BidDocSmartCheckFormModal ? (
|
||||
<BidDocSmartCheckFormModal
|
||||
modalVisible={BidDocSmartCheckFormVisible}
|
||||
values={BidDocSmartCheckValues}
|
||||
onCancel={() => {
|
||||
setBidDocSmartCheckFormVisible(!BidDocSmartCheckFormVisible);
|
||||
setBidDocSmartCheckValues({});
|
||||
}}
|
||||
>
|
||||
</BidDocSmartCheckFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewRiskSupplierModal ? (
|
||||
<ViewRiskSupplierModal
|
||||
modalVisible={BidRiskSupplierVisible}
|
||||
values={BidRiskSupplierValues}
|
||||
onCancel={() => {
|
||||
setBidRiskSupplierVisible(!BidRiskSupplierVisible);
|
||||
setRiskSupplierValues({});
|
||||
}}
|
||||
>
|
||||
</ViewRiskSupplierModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewEvalFormModal ? (
|
||||
<ViewEvalFormModal
|
||||
modalVisible={ViewEvalFormVisible}
|
||||
values={ViewEvalCheckValues}
|
||||
onCancel={() => {
|
||||
setViewEvalFormVisible(!ViewEvalFormVisible);
|
||||
setViewEvalCheckValues({});
|
||||
}}
|
||||
>
|
||||
</ViewEvalFormModal>
|
||||
) : null
|
||||
}
|
||||
</ViewQuoteWarningFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewBlacklistFormModal ? (
|
||||
<ViewBlacklistFormModal
|
||||
modalVisible={ViewBlacklistFormVisible}
|
||||
values={ViewBlacklistValues}
|
||||
onCancel={() => {
|
||||
setViewBlacklistFormVisible(!ViewBlacklistFormVisible);
|
||||
setViewBlacklistValues({});
|
||||
}}
|
||||
>
|
||||
</ViewBlacklistFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewReviewResultFormModal ? (
|
||||
<ViewReviewResultFormModal
|
||||
modalVisible={ViewReviewResultFormVisible}
|
||||
values={ViewReviewResultValues}
|
||||
onCancel={() => {
|
||||
setViewReviewResultFormVisible(!ViewReviewResultFormVisible);
|
||||
setViewReviewResultValues({});
|
||||
}}
|
||||
>
|
||||
</ViewReviewResultFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewJuryScoringRemindFormModal ? (
|
||||
<ViewJuryScoringRemindFormModal
|
||||
modalVisible={ViewJuryScoringRemindFormVisible}
|
||||
values={ViewJuryScoringRemindValues}
|
||||
onCancel={() => {
|
||||
setViewJuryScoringRemindFormVisible(!ViewJuryScoringRemindFormVisible);
|
||||
setViewJuryScoringRemindValues({});
|
||||
}}
|
||||
>
|
||||
</ViewJuryScoringRemindFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewJuryScoringAnalysisFormModal ? (
|
||||
<ViewJuryScoringAnalysisFormModal
|
||||
modalVisible={ViewJuryScoringAnalysisFormVisible}
|
||||
values={ViewJuryScoringAnalysisValues}
|
||||
onCancel={() => {
|
||||
setViewJuryScoringAnalysisFormVisible(!ViewJuryScoringAnalysisFormVisible);
|
||||
setViewJuryScoringAnalysisValues({});
|
||||
}}
|
||||
>
|
||||
</ViewJuryScoringAnalysisFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
BidDocSmartCheckFormModal ? (
|
||||
<BidDocSmartCheckFormModal
|
||||
modalVisible={BidDocSmartCheckFormVisible}
|
||||
values={BidDocSmartCheckValues}
|
||||
onCancel={() => {
|
||||
setBidDocSmartCheckFormVisible(!BidDocSmartCheckFormVisible);
|
||||
setBidDocSmartCheckValues({});
|
||||
}}
|
||||
>
|
||||
</BidDocSmartCheckFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewRiskSupplierModal ? (
|
||||
<ViewRiskSupplierModal
|
||||
modalVisible={BidRiskSupplierVisible}
|
||||
values={BidRiskSupplierValues}
|
||||
onCancel={() => {
|
||||
setBidRiskSupplierVisible(!BidRiskSupplierVisible);
|
||||
setRiskSupplierValues({});
|
||||
}}
|
||||
>
|
||||
</ViewRiskSupplierModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewEvalFormModal ? (
|
||||
<ViewEvalFormModal
|
||||
modalVisible={ViewEvalFormVisible}
|
||||
values={ViewEvalCheckValues}
|
||||
onCancel={() => {
|
||||
setViewEvalFormVisible(!ViewEvalFormVisible);
|
||||
setViewEvalCheckValues({});
|
||||
}}
|
||||
>
|
||||
</ViewEvalFormModal>
|
||||
) : null
|
||||
}
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ export async function getBlackList(projectId: any, assessRoomId: any) { //黑名
|
||||
|
||||
|
||||
export async function getBidDocSmartCheckList(assessRoomId: any) { //投标文件智能审查
|
||||
return request('/api/biz-service-ebtp-resps/v1/tfilewarning/getBidDocSmartCheck?assessRoomId='+`${assessRoomId}`, {
|
||||
return request('/api/biz-service-ebtp-resps/v1/tfilewarning/getBidDocSmartCheck?assessRoomId=' + `${assessRoomId}`, {
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
@ -127,7 +127,7 @@ export async function replace(a: any, b: any, c: any) {
|
||||
}
|
||||
|
||||
//风险限定供应商
|
||||
export async function getRiskSupplierList(projectId: any, assessRoomId: any) {
|
||||
export async function getRiskSupplierList(projectId: any, assessRoomId: any) {
|
||||
return request('/api/biz-service-ebtp-rsms/v1/riskcenter/querySupplierLimit', {
|
||||
method: 'post',
|
||||
data: {
|
||||
@ -138,7 +138,7 @@ export async function getRiskSupplierList(projectId: any, assessRoomId: any) {
|
||||
}
|
||||
|
||||
export async function getEvalRoomByAssessId(id: any) { // 评标室告警信息-查询评标室id
|
||||
return request('/api/biz-service-ebtp-evaluation/v1/screen/getEvalRoomByAssessId/?assessId='+`${id}`, {
|
||||
return request('/api/biz-service-ebtp-evaluation/v1/screen/getEvalRoomByAssessId/?assessId=' + `${id}`, {
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
@ -147,14 +147,36 @@ export async function getEvalRoomByAssessId(id: any) { // 评标室告警信息-
|
||||
export async function getEvalRoomPage(params: any) { // 评标室告警信息-查询告警
|
||||
return request('/api/biz-service-ebtp-evaluation/v1/eval/room/alarm/getRiskPointPage', {
|
||||
method: 'post',
|
||||
data: {...params}
|
||||
data: { ...params }
|
||||
});
|
||||
}
|
||||
|
||||
export async function saveUpdateEvalRoom(params: any) { // 评标室告警信息-处理告警
|
||||
return request('/api/biz-service-ebtp-evaluation/v1/eval/room/alarm/update/status', {
|
||||
method: 'post',
|
||||
data: {...params}
|
||||
data: { ...params }
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 供应商关联关系疑似违规行为-获取疑似违规行为
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export async function getSuspectedViolation(params: any) {
|
||||
return request('/api/biz-service-ebtp-resps/v1/risktendererwarning/find/warnings', {
|
||||
method: 'post',
|
||||
data: { ...params }
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 供应商关联关系疑似违规行为-提交组长确认情况
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export async function leaderConfirm(params: any) {
|
||||
return request('/api/biz-service-ebtp-resps/v1/risktendererwarning/saveHeadmanConfirmAndDesc', {
|
||||
method: 'post',
|
||||
data: { ...params }
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -1,23 +1,24 @@
|
||||
import React, { useState,useRef, useEffect } from 'react';
|
||||
import { Tabs,Table, Spin, message, Popconfirm,Card,Collapse, Modal, Button} from 'antd';
|
||||
import React, { useState, useRef, useEffect } from 'react';
|
||||
import { Tabs, Table, Spin, message, Popconfirm, Card, Collapse, Modal, Button } from 'antd';
|
||||
import ProTable, { ActionType, ProColumns } from '@ant-design/pro-table';
|
||||
import ViewRishFormModal from '../BidControlManager/components/ViewRishFormModal';
|
||||
import ViewQuoteWarningFormModal from '../BidControlManager/components/ViewQuoteWarningFormModal';
|
||||
import ViewReviewResultFormModal from '../BidControlManager/components/ViewReviewResultFormModal';
|
||||
import ViewJuryScoringAnalysisFormModal from '../BidControlManager/components/ViewJuryScoringAnalysisFormModal';
|
||||
import ViewJuryScoringRemindFormModal from '../BidControlManager/components/ViewJuryScoringRemindFormModal';
|
||||
import ZhiQiCha from '../BidControlManager/components/ZhiQiCha';
|
||||
|
||||
function callback(key) {
|
||||
//getSessionUserData.roleIds;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
const Sing: React.FC<{}> = () => {
|
||||
//ip mac
|
||||
const [ViewRishFormVisible, setViewRishFormVisible] = useState<any>(false);
|
||||
//查看详情窗口record
|
||||
const [ViewRishValues, setViewRishValues] = useState<any>({});
|
||||
|
||||
|
||||
//一致性
|
||||
const [ViewQuoteWarningFormVisible, setViewQuoteWarningFormVisible] = useState<any>(false);
|
||||
//查看详情窗口record
|
||||
@ -32,83 +33,84 @@ const Sing: React.FC<{}> = () => {
|
||||
const [ViewJuryScoringRemindFormVisible, setViewJuryScoringRemindFormVisible] = useState<any>(false);
|
||||
//查看详情窗口record
|
||||
const [ViewJuryScoringRemindValues, setViewJuryScoringRemindValues] = useState<any>({});
|
||||
|
||||
|
||||
//评审专家打分偏离度分析
|
||||
const [ViewJuryScoringAnalysisFormVisible, setViewJuryScoringAnalysisFormVisible] = useState<any>(false);
|
||||
//查看详情窗口record
|
||||
const [ViewJuryScoringAnalysisValues, setViewJuryScoringAnalysisValues] = useState<any>({});
|
||||
|
||||
|
||||
const getWarningList = async() => {
|
||||
const getWarningList = async () => {
|
||||
}
|
||||
return (
|
||||
<>
|
||||
|
||||
{//投标文件制作地址日志信息查看
|
||||
ViewRishFormModal ? (
|
||||
<ViewRishFormModal
|
||||
modalVisible={ViewRishFormVisible}
|
||||
values={ViewRishValues}
|
||||
onCancel={() => {
|
||||
setViewRishFormVisible(!ViewRishFormVisible);
|
||||
setViewRishValues({});
|
||||
}}
|
||||
>
|
||||
</ViewRishFormModal>
|
||||
) : null
|
||||
}
|
||||
{//供应商报价完全一致或存在规律性差异预警
|
||||
ViewQuoteWarningFormModal ? (
|
||||
<ViewQuoteWarningFormModal
|
||||
modalVisible={ViewQuoteWarningFormVisible}
|
||||
values={ViewQuoteWarningValues}
|
||||
onCancel={() => {
|
||||
setViewQuoteWarningFormVisible(!ViewQuoteWarningFormVisible);
|
||||
setViewQuoteWarningValues({});
|
||||
}}
|
||||
>
|
||||
</ViewQuoteWarningFormModal>
|
||||
) : null
|
||||
}
|
||||
{//评审结果展示及预警
|
||||
ViewReviewResultFormModal ? (
|
||||
<ViewReviewResultFormModal
|
||||
modalVisible={ViewReviewResultFormVisible}
|
||||
values={ViewReviewResultValues}
|
||||
onCancel={() => {
|
||||
setViewReviewResultFormVisible(!ViewReviewResultFormVisible);
|
||||
setViewReviewResultValues({});
|
||||
}}
|
||||
>
|
||||
</ViewReviewResultFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewJuryScoringRemindFormModal ? (
|
||||
<ViewJuryScoringRemindFormModal
|
||||
modalVisible={ViewJuryScoringRemindFormVisible}
|
||||
values={ViewJuryScoringRemindValues}
|
||||
onCancel={() => {
|
||||
setViewJuryScoringRemindFormVisible(!ViewJuryScoringRemindFormVisible);
|
||||
setViewJuryScoringRemindValues({});
|
||||
}}
|
||||
>
|
||||
</ViewJuryScoringRemindFormModal>
|
||||
) : null
|
||||
}
|
||||
{//评审专家打分偏离度分析
|
||||
ViewJuryScoringAnalysisFormModal ? (
|
||||
<ViewJuryScoringAnalysisFormModal
|
||||
modalVisible={ViewJuryScoringAnalysisFormVisible}
|
||||
values={ViewJuryScoringAnalysisValues}
|
||||
onCancel={() => {
|
||||
setViewJuryScoringAnalysisFormVisible(!ViewJuryScoringAnalysisFormVisible);
|
||||
setViewJuryScoringAnalysisValues({});
|
||||
}}
|
||||
>
|
||||
</ViewJuryScoringAnalysisFormModal>
|
||||
) : null
|
||||
}
|
||||
{/**智企查-供应商关联关系疑似违规行为 */}
|
||||
<ZhiQiCha />
|
||||
{//投标文件制作地址日志信息查看
|
||||
ViewRishFormModal ? (
|
||||
<ViewRishFormModal
|
||||
modalVisible={ViewRishFormVisible}
|
||||
values={ViewRishValues}
|
||||
onCancel={() => {
|
||||
setViewRishFormVisible(!ViewRishFormVisible);
|
||||
setViewRishValues({});
|
||||
}}
|
||||
>
|
||||
</ViewRishFormModal>
|
||||
) : null
|
||||
}
|
||||
{//供应商报价完全一致或存在规律性差异预警
|
||||
ViewQuoteWarningFormModal ? (
|
||||
<ViewQuoteWarningFormModal
|
||||
modalVisible={ViewQuoteWarningFormVisible}
|
||||
values={ViewQuoteWarningValues}
|
||||
onCancel={() => {
|
||||
setViewQuoteWarningFormVisible(!ViewQuoteWarningFormVisible);
|
||||
setViewQuoteWarningValues({});
|
||||
}}
|
||||
>
|
||||
</ViewQuoteWarningFormModal>
|
||||
) : null
|
||||
}
|
||||
{//评审结果展示及预警
|
||||
ViewReviewResultFormModal ? (
|
||||
<ViewReviewResultFormModal
|
||||
modalVisible={ViewReviewResultFormVisible}
|
||||
values={ViewReviewResultValues}
|
||||
onCancel={() => {
|
||||
setViewReviewResultFormVisible(!ViewReviewResultFormVisible);
|
||||
setViewReviewResultValues({});
|
||||
}}
|
||||
>
|
||||
</ViewReviewResultFormModal>
|
||||
) : null
|
||||
}
|
||||
{
|
||||
ViewJuryScoringRemindFormModal ? (
|
||||
<ViewJuryScoringRemindFormModal
|
||||
modalVisible={ViewJuryScoringRemindFormVisible}
|
||||
values={ViewJuryScoringRemindValues}
|
||||
onCancel={() => {
|
||||
setViewJuryScoringRemindFormVisible(!ViewJuryScoringRemindFormVisible);
|
||||
setViewJuryScoringRemindValues({});
|
||||
}}
|
||||
>
|
||||
</ViewJuryScoringRemindFormModal>
|
||||
) : null
|
||||
}
|
||||
{//评审专家打分偏离度分析
|
||||
ViewJuryScoringAnalysisFormModal ? (
|
||||
<ViewJuryScoringAnalysisFormModal
|
||||
modalVisible={ViewJuryScoringAnalysisFormVisible}
|
||||
values={ViewJuryScoringAnalysisValues}
|
||||
onCancel={() => {
|
||||
setViewJuryScoringAnalysisFormVisible(!ViewJuryScoringAnalysisFormVisible);
|
||||
setViewJuryScoringAnalysisValues({});
|
||||
}}
|
||||
>
|
||||
</ViewJuryScoringAnalysisFormModal>
|
||||
) : null
|
||||
}
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
Reference in New Issue
Block a user