Merge branch 'master-风控中心' into 'release_20220826'

8.26 风控中心

See merge request eshop/fe_service_ebtp_frontend!258
This commit is contained in:
周建龙
2022-08-26 21:27:20 +08:00
4 changed files with 104 additions and 4 deletions

View File

@ -1,6 +1,6 @@
import React, { useEffect, useRef, useState } from 'react';
import { Button, Table, Tabs, Space, Progress, Radio, Input, Checkbox, Select, Modal, Menu, Pagination, Spin, Form, message, Collapse, Upload, Tooltip } from 'antd';
import { getTabList, getProgress, getScoreDetail, getRegister, submitDetail, updateJudgesStatus, findPriceScoreList, getMemberInfo, getEval, getUnlock, getCheckData, isStatus, getFile, calculationPriceScore, saveOffer, getPage, getProjectById, getOfferUrl } from './service';
import { getTabList, getProgress, getScoreDetail, getRegister, submitDetail, updateJudgesStatus, findPriceScoreList, getMemberInfo, getEval, getUnlock, getCheckData, isStatus, getFile, calculationPriceScore, saveOffer, getPage, getProjectById, getOfferUrl, beforeRiskControl } from './service';
import '@/assets/ld_style.less'
import FirstTrialTableDetailed from '../BidDetailedManager/module/FirstTrialTableDetailed';
import { getExperts } from '../BidDetailedManager/service';
@ -12,6 +12,7 @@ import { getProId, getProMethod, getRoomId, getSectionQuot, getSessionRoleData,
import FileDown from '@/utils/Download';
import { getURLInformation, isEmpty } from '@/utils/CommonUtils';
import { btnAuthority } from '@/utils/authority';
import RiskPreventionSoft from '@/utils/RiskPreventionSoft';
const { TabPane } = Tabs;
const { Option } = Select;
@ -75,6 +76,11 @@ const Index: React.FC<{}> = () => {
const proMethod = getProMethod();//获取采购方式
const [hightSorce, setHightSorce] = useState<any>(''); // 自动报价最高分
//风控弹窗 2022.8.17 zhoujianlong
const [riskVisible, setRiskVisible] = useState<boolean>(false);
//风控数据 2022.8.17 zhoujianlong
const [riskData, setRiskData] = useState<any[]>([]);
//获取数据的参数
const [findScoreRecordData, setFindScoreRecordData] = useState<any>();
//所有人员详审表数据
@ -1614,6 +1620,28 @@ const Index: React.FC<{}> = () => {
}, [count]);
/**
* 风控中心校验
* @param params
*/
const verificationRiskControl = () => {
let submitData = {
reviewStatus: '2',
reviewTurnId: getURLInformation("turnId"),
reviewType: '2',
}
beforeRiskControl(submitData).then(res => {
if (res?.code == 200) {
if (res?.data.length > 0) {
setRiskData(res?.data);
setRiskVisible(true);
} else {
submitClick();
}
}
})
}
return (
<>
<Spin spinning={spinVisible || submitLoading}>
@ -1720,7 +1748,7 @@ const Index: React.FC<{}> = () => {
{reviewStatus == 2 || reviewStatus == 3 ? null : (
<div>
{tableDisplay == true ? (
<Button hidden={btnAuthority(['ebtp-expert'])} type="primary" size="small" className="fr ml10 mb10" onClick={submitClick} loading={submitLoading}></Button>
<Button hidden={btnAuthority(['ebtp-expert'])} type="primary" size="small" className="fr ml10 mb10" onClick={verificationRiskControl} loading={submitLoading}></Button>
) : null}
<Button hidden={btnAuthority(['ebtp-expert'])} onClick={getLock} type="primary" size="small" className="fr mb10"></Button>
</div>
@ -1835,6 +1863,16 @@ const Index: React.FC<{}> = () => {
modalVisible={checkVisible}
values={checkData}
/>
{/**风控组件 */}
{riskVisible && <RiskPreventionSoft
modalVisible={riskVisible}
onCancel={() => {
setRiskVisible(false);
setRiskData([]);
}}
onSubmit={() => submitClick()}
data={riskData}
/>}
</Spin>
</>
)

View File

@ -238,4 +238,15 @@ export function getOfferUrl(params: any) {
method: 'GET',
params: params,
});
}
/**
* 提交前风险防控校验接口
* @param data
*/
export function beforeRiskControl(data: any) {
return request("/api/biz-service-ebtp-rsms/v1/riskcenter/getRemindSummary", {
method: 'post',
data: data,
});
}

View File

@ -1,6 +1,6 @@
import React, { useState, useEffect, useRef } from 'react';
import { Button, Table, Tabs, Space, Progress, Radio, Modal, Menu, Checkbox, Pagination, Input, message, Upload, Spin, Form, Collapse } from 'antd';
import { getTabList, getProgress, getScoreDetail, getRegister, submitDetail, updateJudgesStatus, getMemberInfo, getEval, getUnlock, isStatus, checkShowData, getFile, submitSummary, submQualified } from './service';
import { getTabList, getProgress, getScoreDetail, getRegister, submitDetail, updateJudgesStatus, getMemberInfo, getEval, getUnlock, isStatus, checkShowData, getFile, submitSummary, submQualified, beforeRiskControl } from './service';
import '@/assets/ld_style.less'
import BidPreliminarySpeed from './components/BidPreliminarySpeed';
import BidPreliminarySummary from './components/BidPreliminarySummary';
@ -12,6 +12,7 @@ import { getURLInformation, isEmpty } from '@/utils/CommonUtils';
import ExtendUpload from '@/utils/ExtendUpload';
import { btnAuthority } from '@/utils/authority';
import MACAddressPrompt from '../../BidControl/BidControlManager/components/MACAddressPrompt';
import RiskPreventionSoft from '@/utils/RiskPreventionSoft';
const { TabPane } = Tabs;
const { SubMenu } = Menu;
@ -55,6 +56,10 @@ const Index: React.FC<{}> = () => {
const [dateLength, setDateLength] = useState<any>([]); // tab签长度
const [isModalVisible, setIsModalVisible] = useState(false); // 全局全部合格弹窗
const [submitLoading, setSubmitLoading] = useState<boolean>(false); // 提交汇总loading
//风控弹窗 2022.8.17 zhoujianlong
const [riskVisible, setRiskVisible] = useState<boolean>(false);
//风控数据 2022.8.17 zhoujianlong
const [riskData, setRiskData] = useState<any[]>([]);
//获取数据的参数
const [findScoreRecordData, setFindScoreRecordData] = useState<any>();
@ -879,6 +884,31 @@ const Index: React.FC<{}> = () => {
})
}, [count]);
/**
* 风控中心校验
* @param params
*/
const verificationRiskControl = () => {
const remarkList = getRemarkList(ref.current);
console.log(remarkList);
let submitData = {
reviewStatus: '2',
reviewTurnId: getURLInformation("turnId"),
reviewType: '1',
remarkList: remarkList,
}
beforeRiskControl(submitData).then(res => {
if (res?.code == 200) {
if (res?.data.length > 0) {
setRiskData(res?.data);
setRiskVisible(true);
} else {
finalSubmit();
}
}
})
}
return (
<>
<Spin spinning={spinVisible || submitLoading}>
@ -905,7 +935,7 @@ const Index: React.FC<{}> = () => {
{reviewStatus == 2 || reviewStatus == 3 ? null : (
<div>
{tableDisplay == true ? (
<Button hidden={btnAuthority(['ebtp-expert'])} type="primary" size="small" className="fr ml10 mb10" onClick={() => finalSubmit()} loading={submitLoading}></Button>
<Button hidden={btnAuthority(['ebtp-expert'])} type="primary" size="small" className="fr ml10 mb10" onClick={() => verificationRiskControl()} loading={submitLoading}></Button>
) : null}
<Button hidden={btnAuthority(['ebtp-expert'])} onClick={getLock} type="primary" size="small" className="fr mb10"></Button>
</div>
@ -1067,6 +1097,16 @@ const Index: React.FC<{}> = () => {
<Modal title="全部合格" visible={isModalVisible} onOk={() => makeQualified()} onCancel={() => setIsModalVisible(false)}>
<p></p>
</Modal>
{/**风控组件 */}
{riskVisible && <RiskPreventionSoft
modalVisible={riskVisible}
onCancel={() => {
setRiskVisible(false);
setRiskData([]);
}}
onSubmit={() => finalSubmit()}
data={riskData}
/>}
</Spin>
</>
)

View File

@ -188,4 +188,15 @@ export async function getFile(id: any) { // 查找是否有应答文件
return request('/api/biz-service-ebtp-rsms/v1/review/config/detail/doc/list?detailId='+id, {
method: 'get',
});
}
/**
* 提交前风险防控校验接口
* @param data
*/
export function beforeRiskControl(data: any) {
return request("/api/biz-service-ebtp-rsms/v1/riskcenter/getRemindEarlySummary", {
method: 'post',
data: data,
});
}