4.20 供应商股权穿透
This commit is contained in:
@ -91,6 +91,11 @@ export default [
|
||||
path: '/viewOfTenderDocuments',
|
||||
component: './Evaluation/BiddingDocumentsDecrypt/components/viewOfTenderDocuments',
|
||||
},
|
||||
//云门户跳转查看供应商关联关系疑似违规行为
|
||||
{
|
||||
path: '/SupplierRelation',
|
||||
component: './SupplierRelation',
|
||||
},
|
||||
//项目列表跳板页面
|
||||
{
|
||||
name: 'index_2',
|
||||
|
@ -120,6 +120,7 @@ class manager extends PureComponent {
|
||||
sessionStorage.setItem("expertGroupId", record.expertChatGroupId)
|
||||
sessionStorage.setItem("roomTypeByEva", getURLInformation("roomType"))
|
||||
sessionStorage.setItem("sectionId", record.sectionId)
|
||||
sessionStorage.setItem("openTime", record.openTime)
|
||||
this.setState({ loading: true })
|
||||
await getQuotationMethodById(record.id)
|
||||
// this.props.dispatch(routerRedux.push('/ProjectLayout/EvaRoom'))
|
||||
|
@ -3,9 +3,9 @@ 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, Collapse, message, Modal, Spin, Typography } from "antd";
|
||||
import React, { Fragment, useEffect, useState } from "react";
|
||||
import ProTable, { ActionType, EditableProTable, ProColumns } from "@ant-design/pro-table";
|
||||
import { Button, Collapse, Form, message, Modal, Radio, RadioChangeEvent, Spin, Typography } from "antd";
|
||||
import React, { Fragment, useEffect, useRef, useState } from "react";
|
||||
import { getSuspectedViolation, leaderConfirm } from "../service";
|
||||
|
||||
/**
|
||||
@ -15,10 +15,10 @@ import { getSuspectedViolation, leaderConfirm } from "../service";
|
||||
*/
|
||||
const ZhiQiCha: React.FC<{}> = (props) => {
|
||||
const title_style = { color: "#b30000", fontWeight: 700 };
|
||||
// const options = [
|
||||
// { label: '确认无风险', value: 0 },
|
||||
// { label: '确认有风险', value: 1 },
|
||||
// ];
|
||||
const options = [
|
||||
{ label: '全部否', value: "0" },
|
||||
{ label: '全部是', value: "1" },
|
||||
];
|
||||
//是否展开智企查疑似关联关系
|
||||
const defaultZQCKey = getURLInformation('n') == '1' ? ['zhiqicha'] : []
|
||||
const { Paragraph, Text } = Typography;
|
||||
@ -43,11 +43,16 @@ const ZhiQiCha: React.FC<{}> = (props) => {
|
||||
// const [radioValue, setRadioValue] = useState<string>("");
|
||||
//loading
|
||||
const [loading, setLoading] = useState<boolean>(true);
|
||||
//多选用
|
||||
const [value1, setValue1] = useState(null);
|
||||
const [value2, setValue2] = useState(null);
|
||||
const [form] = Form.useForm();
|
||||
|
||||
const columns: ProColumns<any>[] = [
|
||||
{
|
||||
title: <Text strong>供应商A</Text>,
|
||||
editable: false,
|
||||
width: "20%",
|
||||
render: (_: any, record: any) => (
|
||||
<span>{record.supplierA.name}</span>
|
||||
),
|
||||
@ -55,6 +60,7 @@ const ZhiQiCha: React.FC<{}> = (props) => {
|
||||
{
|
||||
title: <Text strong>供应商B</Text>,
|
||||
editable: false,
|
||||
width: "20%",
|
||||
render: (_: any, record: any) => (
|
||||
<span>{record.supplierB.name}</span>
|
||||
),
|
||||
@ -62,6 +68,7 @@ const ZhiQiCha: React.FC<{}> = (props) => {
|
||||
{
|
||||
title: <Text strong>关系类型</Text>,
|
||||
editable: false,
|
||||
width: "10%",
|
||||
render: (_: any, record: any) => (
|
||||
<span>{record.typeDesc}关系</span>
|
||||
),
|
||||
@ -70,26 +77,35 @@ const ZhiQiCha: React.FC<{}> = (props) => {
|
||||
title: <Text strong>关联信息是否准确</Text>,
|
||||
dataIndex: 'relationFlag',
|
||||
key: 'relationFlag',
|
||||
width: "15%",
|
||||
valueType: 'radio',
|
||||
valueEnum: {
|
||||
"0": { text: '否' },
|
||||
"1": { text: '是' },
|
||||
},
|
||||
fieldProps: {
|
||||
onChange: () => { setValue1(null) }
|
||||
}
|
||||
},
|
||||
{
|
||||
title: <Text strong>是否被认定为风险</Text>,
|
||||
dataIndex: 'riskFlag',
|
||||
key: 'riskFlag',
|
||||
width: "15%",
|
||||
valueType: 'radio',
|
||||
valueEnum: {
|
||||
"0": { text: '否' },
|
||||
"1": { text: '是' },
|
||||
},
|
||||
fieldProps: {
|
||||
onChange: () => { setValue2(null) }
|
||||
}
|
||||
},
|
||||
{
|
||||
title: <Text strong>说明</Text>,
|
||||
dataIndex: 'memo',
|
||||
key: 'memo',
|
||||
width: "20%",
|
||||
tooltip: "一行中存在至少一项选择【否】,当前行的说明必须填写",
|
||||
fieldProps: {
|
||||
maxLength: 100,
|
||||
@ -150,8 +166,8 @@ const ZhiQiCha: React.FC<{}> = (props) => {
|
||||
setIsLeader(resp?.data == "ReviewLeader");
|
||||
}
|
||||
setWarningsData(res?.data);
|
||||
setSupplierTableData(res?.data?.riskSupplier != null ? res?.data?.riskSupplier?.map((item: any) => { item.riskFlag = String(item.riskFlag); item.relationFlag = String(item.relationFlag); return item }) : []);
|
||||
setIsRisk(res?.data?.riskSupplier != null);
|
||||
setSupplierTableData(res?.data?.riskSupplier != null && res?.data?.riskSupplier.length > 0 ? res?.data?.riskSupplier?.map((item: any) => { item.riskFlag = String(item.riskFlag); item.relationFlag = String(item.relationFlag); return item }) : []);
|
||||
setIsRisk(res?.data?.riskSupplier != null && res?.data?.riskSupplier.length > 0);
|
||||
// form.setFieldsValue(res?.data);
|
||||
}
|
||||
}).finally(() => {
|
||||
@ -229,6 +245,29 @@ const ZhiQiCha: React.FC<{}> = (props) => {
|
||||
onCancel() { },
|
||||
});
|
||||
}
|
||||
const onChange1 = ({ target: { value } }: RadioChangeEvent) => {
|
||||
setValue1(value);
|
||||
const data = JSON.parse(JSON.stringify(supplierTableData));//深拷贝
|
||||
const obj = {};
|
||||
for (let i = 0, l = data.length; i < l; i++) {
|
||||
data[i].relationFlag = value;
|
||||
obj[data[i].id] = { relationFlag: value };
|
||||
}
|
||||
form.setFieldsValue(obj);
|
||||
setSupplierTableData(data);
|
||||
};
|
||||
|
||||
const onChange2 = ({ target: { value } }: RadioChangeEvent) => {
|
||||
setValue2(value);
|
||||
const data = JSON.parse(JSON.stringify(supplierTableData));//深拷贝
|
||||
const obj = {};
|
||||
for (let i = 0, l = data.length; i < l; i++) {
|
||||
data[i].riskFlag = value;
|
||||
obj[data[i].id] = { riskFlag: value };
|
||||
}
|
||||
form.setFieldsValue(obj);
|
||||
setSupplierTableData(data);
|
||||
};
|
||||
useEffect(() => {
|
||||
getZQCData();
|
||||
}, [])
|
||||
@ -273,7 +312,13 @@ const ZhiQiCha: React.FC<{}> = (props) => {
|
||||
{isRisk && <>
|
||||
{isLeader && <Fragment>
|
||||
<div style={{ margin: "10px 0 20px" }}>
|
||||
<h3 className="first-title" style={title_style}>相关供应商关联情况汇总(参考)</h3>
|
||||
<h3 className="first-title" style={{ ...title_style, display: "flex", justifyContent: "space-between" }}>
|
||||
<span>相关供应商关联情况汇总(参考)</span>
|
||||
{warningsData?.headmanConfirmStatus != "1" && <div style={{ marginRight: "20%" }}>
|
||||
<span style={{ color: "#000", marginRight: "8px" }}>关联信息是否准确:</span><Radio.Group options={options} onChange={onChange1} value={value1} />
|
||||
<span style={{ color: "#000", marginRight: "8px", marginLeft: "20px" }}>是否被认定为风险:</span><Radio.Group options={options} onChange={onChange2} value={value2} />
|
||||
</div>}
|
||||
</h3>
|
||||
<EditableProTable
|
||||
rowKey="id"
|
||||
// 关闭默认的新建按钮
|
||||
@ -282,6 +327,7 @@ const ZhiQiCha: React.FC<{}> = (props) => {
|
||||
value={supplierTableData}
|
||||
editable={{
|
||||
type: 'multiple',
|
||||
form: form,
|
||||
editableKeys: warningsData?.headmanConfirmStatus == "1" ? [] : supplierTableData.map(item => item.id),
|
||||
// onChange: setEditableRowKeys,
|
||||
onValuesChange: (record, recordList) => {
|
||||
|
@ -1,4 +1,4 @@
|
||||
import React, { useState } from 'react';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import ViewRishFormModal from './components/ViewRishFormModal';
|
||||
import ViewQuoteWarningFormModal from './components/ViewQuoteWarningFormModal';
|
||||
import ViewBlacklistFormModal from './components/ViewBlacklistFormModal';
|
||||
@ -9,7 +9,8 @@ import ViewRiskSupplierModal from './components/ViewRiskSupplierModal';
|
||||
import BidDocSmartCheckFormModal from './components/BidDocSmartCheckFormModal';
|
||||
import ViewEvalFormModal from './components/ViewEvalFormModal';
|
||||
import ZhiQiCha from './components/ZhiQiCha';
|
||||
import { getDefId } from '@/utils/session';
|
||||
import { getDefId, getRoomId, getSessionProjectData } from '@/utils/session';
|
||||
import { getSuspectedViolation } from './service';
|
||||
|
||||
const Sing: React.FC<{}> = () => {
|
||||
//ip mac
|
||||
@ -57,10 +58,28 @@ const Sing: React.FC<{}> = () => {
|
||||
const [ViewEvalCheckValues, setViewEvalCheckValues] = useState<any>({});
|
||||
//获取流程id
|
||||
const defId = getDefId();
|
||||
//是否显示智企查
|
||||
const [isShowZQC, setIsShowZQC] = useState<boolean>(false);
|
||||
|
||||
useEffect(() => {
|
||||
const tpId = getSessionProjectData()?.id;
|
||||
const sectionId = sessionStorage.getItem("sectionId");
|
||||
const assessRoomId = getRoomId();
|
||||
const openTime = sessionStorage.getItem("openTime");//获取评审开始时间
|
||||
getSuspectedViolation({ tpId, sectionId, assessRoomId }).then(res => {//查询是否有风险,2023年3月31日之前的无风险项目屏蔽掉此功能
|
||||
if (res?.success) {
|
||||
if (!(res?.data?.riskSupplier != null && res?.data?.riskSupplier.length > 0) && openTime && (openTime < "2023-03-31 23:59:59")) {
|
||||
setIsShowZQC(false);
|
||||
} else {
|
||||
setIsShowZQC(true);
|
||||
}
|
||||
}
|
||||
});
|
||||
}, [])
|
||||
return (
|
||||
<>
|
||||
{/**智企查-供应商关联关系疑似违规行为 */}
|
||||
{((defId != "negotiation_single") && (defId != "recruit_multi") && (defId != "inquiry")) && <ZhiQiCha />}
|
||||
{((defId != "negotiation_single") && (defId != "recruit_multi") && (defId != "inquiry") && isShowZQC) && <ZhiQiCha />}
|
||||
{
|
||||
ViewRishFormModal ? (
|
||||
<ViewRishFormModal
|
||||
|
@ -7,7 +7,8 @@ import ViewReviewResultFormModal from '../BidControlManager/components/ViewRevie
|
||||
import ViewJuryScoringAnalysisFormModal from '../BidControlManager/components/ViewJuryScoringAnalysisFormModal';
|
||||
import ViewJuryScoringRemindFormModal from '../BidControlManager/components/ViewJuryScoringRemindFormModal';
|
||||
import ZhiQiCha from '../BidControlManager/components/ZhiQiCha';
|
||||
import { getDefId } from '@/utils/session';
|
||||
import { getDefId, getRoomId, getSessionProjectData } from '@/utils/session';
|
||||
import { getSuspectedViolation } from '../BidControlManager/service';
|
||||
|
||||
function callback(key) {
|
||||
//getSessionUserData.roleIds;
|
||||
@ -41,6 +42,24 @@ const Sing: React.FC<{}> = () => {
|
||||
const [ViewJuryScoringAnalysisValues, setViewJuryScoringAnalysisValues] = useState<any>({});
|
||||
//获取流程id
|
||||
const defId = getDefId();
|
||||
//是否显示智企查
|
||||
const [isShowZQC, setIsShowZQC] = useState<boolean>(false);
|
||||
|
||||
useEffect(() => {
|
||||
const tpId = getSessionProjectData()?.id;
|
||||
const sectionId = sessionStorage.getItem("sectionId");
|
||||
const assessRoomId = getRoomId();
|
||||
const openTime = sessionStorage.getItem("openTime");//获取评审开始时间
|
||||
getSuspectedViolation({ tpId, sectionId, assessRoomId }).then(res => {//查询是否有风险,2023年3月31日之前的无风险项目屏蔽掉此功能
|
||||
if (res?.success) {
|
||||
if (!(res?.data?.riskSupplier != null && res?.data?.riskSupplier.length > 0) && openTime && (openTime < "2023-03-31 23:59:59")) {
|
||||
setIsShowZQC(false);
|
||||
} else {
|
||||
setIsShowZQC(true);
|
||||
}
|
||||
}
|
||||
});
|
||||
}, [])
|
||||
|
||||
|
||||
const getWarningList = async () => {
|
||||
@ -48,7 +67,7 @@ const Sing: React.FC<{}> = () => {
|
||||
return (
|
||||
<>
|
||||
{/**智企查-供应商关联关系疑似违规行为 */}
|
||||
{((defId != "negotiation_single") && (defId != "recruit_multi")) && <ZhiQiCha />}
|
||||
{((defId != "negotiation_single") && (defId != "recruit_multi") && (defId != "inquiry") && isShowZQC) && <ZhiQiCha />}
|
||||
{//投标文件制作地址日志信息查看
|
||||
ViewRishFormModal ? (
|
||||
<ViewRishFormModal
|
||||
|
154
src/pages/SupplierRelation/index.tsx
Normal file
154
src/pages/SupplierRelation/index.tsx
Normal file
@ -0,0 +1,154 @@
|
||||
import React, { Fragment, useEffect, useState } from 'react';
|
||||
import styles from '../Evaluation/BiddingDocumentsDecrypt/index.less';
|
||||
import logo from '@/images/opening/logo.svg';
|
||||
import { Descriptions, Spin, Typography } from 'antd';
|
||||
import EquityRelation from '@/components/EquityRelation';
|
||||
import ProTable, { ProColumns } from '@ant-design/pro-table';
|
||||
import { getSuspectedViolation } from '../Evaluation/BidControl/BidControlManager/service';
|
||||
import { getProjectDataById, getSectionDataById } from '@/services/common';
|
||||
import { getURLInformation } from '@/utils/CommonUtils';
|
||||
import { updateRead } from './service';
|
||||
const SupplierRelation: React.FC<{}> = () => {
|
||||
const title_style = { color: "#b30000", fontWeight: 700 };
|
||||
const { Paragraph, Text } = Typography;
|
||||
//loading
|
||||
const [loading, setLoading] = useState<boolean>(true);
|
||||
//查询的供应商股权关系数据,确认数据。
|
||||
const [warningsData, setWarningsData] = useState<any>();
|
||||
//项目数据
|
||||
const [projectData, setProjectData] = useState<any>();
|
||||
//标段数据
|
||||
const [sectionData, setSectionData] = useState<any>();
|
||||
//专家组长填写的表格的供应商
|
||||
const [supplierTableData, setSupplierTableData] = useState<any[]>([]);
|
||||
//获取url参数
|
||||
const tpId = getURLInformation("tpId");
|
||||
const sectionId = getURLInformation("sectionId");
|
||||
const roomId = getURLInformation("roomId");
|
||||
const readOnlyColumns: ProColumns<any>[] = [
|
||||
{
|
||||
title: <Text strong>供应商A</Text>,
|
||||
render: (_: any, record: any) => (
|
||||
<span>{record?.supplierA.name}</span>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: <Text strong>供应商B</Text>,
|
||||
render: (_: any, record: any) => (
|
||||
<span>{record?.supplierB.name}</span>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: <Text strong>关系类型</Text>,
|
||||
editable: false,
|
||||
render: (_: any, record: any) => (
|
||||
<span>{record.typeDesc}关系</span>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: <Text strong>关联信息是否准确(专家评审)</Text>,
|
||||
dataIndex: 'relationFlag',
|
||||
key: 'relationFlag',
|
||||
render: (_: any, record: any) => warningsData?.headmanConfirmStatus == "1" ? (<span style={{ color: record.relationFlag == 1 ? "" : "red" }}>{record.relationFlag == 1 ? "是" : record.relationFlag == 0 ? "否" : "-"}</span>) : (<span>-</span>),
|
||||
},
|
||||
{
|
||||
title: <Text strong>是否被认定为风险(专家评审)</Text>,
|
||||
dataIndex: 'riskFlag',
|
||||
key: 'riskFlag',
|
||||
render: (_: any, record: any) => warningsData?.headmanConfirmStatus == "1" ? (<span style={{ color: record.riskFlag == 1 ? "" : "red" }}>{record.riskFlag == 1 ? "是" : record.riskFlag == 0 ? "否" : "-"}</span>) : (<span>-</span>),
|
||||
},
|
||||
{
|
||||
title: <Text strong>说明(专家评审)</Text>,
|
||||
dataIndex: 'memo',
|
||||
key: 'memo',
|
||||
render: (_: any, record: any) => warningsData?.headmanConfirmStatus == "1" ? _ : (<span>-</span>)
|
||||
},
|
||||
];
|
||||
//获取数据
|
||||
const getData = async () => {
|
||||
let params = {
|
||||
"tpId": tpId,
|
||||
"sectionId": sectionId,
|
||||
"assessRoomId": roomId,
|
||||
}
|
||||
// let params = { "tpId": "1626032810108956672", "sectionId": "1626032810125733888", "assessRoomId": "1626032965674401792" };
|
||||
if (tpId && sectionId && roomId) {
|
||||
setLoading(true);
|
||||
const riskResponse = await getSuspectedViolation(params);//获取风险数据
|
||||
const projectResponse = await getProjectDataById(params.tpId);//获取项目数据
|
||||
const sectionResponse = await getSectionDataById(params.sectionId);//获取标段数据
|
||||
if (riskResponse && riskResponse.success) {
|
||||
setSupplierTableData(riskResponse?.data?.riskSupplier != null ? riskResponse?.data?.riskSupplier?.map((item: any) => { item.riskFlag = String(item.riskFlag); item.relationFlag = String(item.relationFlag); return item }) : []);
|
||||
setWarningsData(riskResponse?.data);
|
||||
updateRead(roomId, riskResponse?.data.readingCode);
|
||||
}
|
||||
if (projectResponse && projectResponse.success) {
|
||||
setProjectData(projectResponse?.data);
|
||||
}
|
||||
if (sectionResponse && sectionResponse.success) {
|
||||
setSectionData(sectionResponse?.data);
|
||||
}
|
||||
setLoading(false);
|
||||
}
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
getData();
|
||||
}, [])
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<div className={styles.headerView}>
|
||||
<div className={styles.headerAlignView}
|
||||
style={{ position: "absolute", left: "0", fontSize: "16px", fontWeight: 600, top: '15px' }}>
|
||||
<img src={logo} style={{ height: "30px", marginRight: "10px", position: 'relative', top: '-2px' }} />中国联通智慧供应链平台 | 招标采购中心
|
||||
</div>
|
||||
</div>
|
||||
<div style={{ height: "calc(100vh - 56px)", overflow: "auto", padding: "24px" }}>
|
||||
<Spin spinning={loading}>
|
||||
<h2 style={{ fontWeight: "bold", textAlign: "center", lineHeight: "60px" }}>
|
||||
供应商疑似关联关系情况
|
||||
</h2>
|
||||
<h3 className="first-title" style={title_style}>基本信息</h3>
|
||||
<Descriptions column={4}>
|
||||
<Descriptions.Item label="项目名称">{projectData?.projectName ?? "-"}</Descriptions.Item>
|
||||
<Descriptions.Item label="项目编号">{projectData?.ebpProjectNumber ?? "-"}</Descriptions.Item>
|
||||
<Descriptions.Item label="代理机构业务经理">{projectData?.appManagerName ?? "-"}</Descriptions.Item>
|
||||
<Descriptions.Item label="采购经理">{projectData?.ownerContactName ?? "-"}</Descriptions.Item>
|
||||
<Descriptions.Item label="标段名称">{sectionData?.bidSectName ?? "-"}</Descriptions.Item>
|
||||
</Descriptions>
|
||||
<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} />
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{ margin: "10px 0" }}>
|
||||
<h3 className="first-title" style={title_style}>相关供应商关联情况汇总(参考)</h3>
|
||||
<ProTable
|
||||
rowKey="id"
|
||||
pagination={false}
|
||||
search={false}
|
||||
options={false}
|
||||
columns={readOnlyColumns}
|
||||
dataSource={supplierTableData}
|
||||
/>
|
||||
</div>
|
||||
</Spin>
|
||||
</div>
|
||||
</Fragment>
|
||||
);
|
||||
};
|
||||
|
||||
export default SupplierRelation;
|
9
src/pages/SupplierRelation/service.ts
Normal file
9
src/pages/SupplierRelation/service.ts
Normal file
@ -0,0 +1,9 @@
|
||||
import request from '@/utils/request';
|
||||
/**
|
||||
* 页面更新-已阅
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export async function updateRead(roomId: any, readingCode: any) {
|
||||
return request(`/api/biz-service-ebtp-resps/v1/risktendererwarning/updateReaded?assessRoomId=${roomId}&readingCode=${readingCode}`);
|
||||
}
|
@ -15,6 +15,15 @@ export async function getRoomDataById(params: any) {
|
||||
* @param data
|
||||
* @returns
|
||||
*/
|
||||
export async function getSectionDataById(params: any) {
|
||||
export async function getSectionDataById(params: any) {
|
||||
return request(`/api/biz-service-ebtp-project/v1/projectSection/${params}`);
|
||||
}
|
||||
/**
|
||||
* 根据projectId,tpId,项目id获取项目信息
|
||||
* 2023.4.19 zhoujianlong
|
||||
* @param id
|
||||
* @returns
|
||||
*/
|
||||
export async function getProjectDataById(id?: any) {
|
||||
return request(`/api/biz-service-ebtp-project/v1/projectRecord/${id}`);
|
||||
}
|
@ -249,6 +249,7 @@ export async function jurySaveInfo(record: any) {
|
||||
sessionStorage.setItem("expertGroupId", record.expertChatGroupId)
|
||||
sessionStorage.setItem("sectionId", record.sectionId)
|
||||
sessionStorage.setItem("roomTypeByEva", record.roomType)
|
||||
sessionStorage.setItem("openTime", record.openTime)
|
||||
await getQuotationMethodById(record.id)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user