3.9 供应商关联关系疑似违规行为

This commit is contained in:
jl-zhoujl2
2023-03-09 10:34:20 +08:00
parent 51fc9b5edf
commit 3f202700e5
15 changed files with 929 additions and 191 deletions

View File

@ -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;

View File

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

View File

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

View File

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