Merge branch 'master' of http://10.124.128.2:8888/eshop/fe_service_ebtp_frontend into 20220613-将PUT和DELETE请求更改成POST请求

This commit is contained in:
jl-zhoujl2
2022-07-26 15:08:55 +08:00
162 changed files with 6179 additions and 1956 deletions

View File

@ -0,0 +1,121 @@
import React, { useEffect, useState } from 'react';
import { Collapse, Table } from 'antd';
import { getBidDocSmartCheckList } from '../service';
import { getRoomId, getSessionRoleData } from '@/utils/session';
interface BidDocSmartCheckFormModalProps {
modalVisible: boolean;
values: any;
onCancel: any;
}
const BidDocSmartCheckFormModal: React.FC<BidDocSmartCheckFormModalProps> = (props) => {
const [bidDocSmartCheckList, setBidDocSmartCheckList] = useState([]);
//查看详情窗口record
const [juryTableShow, setJuryTableShow] = useState<boolean>(true);
//是否显示法人及投标人名称对比结果;false-不显示结果true-显示结果
const [checkLegalAndNameResult, setCheckLegalAndNameResult] = useState<boolean>(true);
var roleId = getSessionRoleData().roleCode;
useEffect(() => {
setJuryTableShow(false);
getWarningList();
if (roleId === "ebtp-expert") {
setJuryTableShow(false);
}
}, [])
function callback(key: any) {
//getSessionUserData.roleIds;
}
function visibleValue(key: any) {
if (key) {
return <span style={{ color: 'green' }}></span>;
} else {
return <span style={{ color: 'red' }}>×</span>;
}
}
function visibleLegalAndNameValue(key: any) {
//false-不显示结果true-显示结果
if (checkLegalAndNameResult) {
if (key) {
return <span style={{ color: 'green' }}></span>;
} else {
return <span style={{ color: 'red' }}>×</span>;
}
} else {
return <span></span>;
}
}
const BidDocSmartCheckColumns = [
{ title: '序号', dataIndex: 'num', width: 60, render: (text: any, record: any, index: any) => `${index + 1}` },
{ title: '供应商名称', dataIndex: 'companyName', },
{
title: '供应商投标文件密封性检查', dataIndex: 'docTightnessCheck', render: (_: any, record: any) => {
return visibleValue(record.docTightnessCheck);
}
},
{ title: '供应商投标文件的完整性', dataIndex: 'docIntegrityCheck', render: (_: any, record: any) => {
return visibleValue(record.docIntegrityCheck);
}},
{ title: 'Mac、IP地址校验', dataIndex: 'macIPCheck', render: (_: any, record: any) => {
return visibleValue(record.macIPCheck);
}},
{ title: '投标保证金缴纳', dataIndex: 'ensureStatus', render: (_: any, record: any) => {
return visibleValue(record.ensureStatus);
}},
{ title: '不同投标人间法定代表人、法定代表授权委托人对比', dataIndex: 'supplierLegalCheck', render: (_: any, record: any) => {
return visibleLegalAndNameValue(record.supplierLegalCheck);
}},
{ title: '投标人名称与系统操作投标人名称', dataIndex: 'supplierNameCheck', render: (_: any, record: any) => {
return visibleLegalAndNameValue(record.supplierNameCheck);
}},
];
const ret = { "code": 200, "success": true, "message": "success", "data": []}
const getWarningList = async () => {
let roomId = getRoomId();//sessionStorage.getItem('roomId');//sessionStorage.getItem('roomId')
//投标文件智能审查
await getBidDocSmartCheckList(roomId).then((res) => {
if (res.success == true) {
setCheckLegalAndNameResult(res?.data?.isCheckLegalAndName);
if(res?.data?.isCheckOpen){
setJuryTableShow(true);
setBidDocSmartCheckList(res.data?.checkResults)
}
} else {
setBidDocSmartCheckList(ret.data);
}
})
}
return (
<>
{juryTableShow ?
<Collapse onChange={callback}>
<Collapse.Panel header="投标文件智能审查" key="3">
{<span style={{ color: 'red' }}>"√""×"</span>}
{
<Table
columns={BidDocSmartCheckColumns}
dataSource={bidDocSmartCheckList}
pagination={false}//分页
></Table>
}
</Collapse.Panel>
</Collapse>
: null}
</>
);
};
export default BidDocSmartCheckFormModal;

View File

@ -8,6 +8,7 @@ import ViewBlacklistFormModal from './components/ViewBlacklistFormModal';
import ViewReviewResultFormModal from './components/ViewReviewResultFormModal';
import ViewJuryScoringRemindFormModal from './components/ViewJuryScoringRemindFormModal';
import ViewJuryScoringAnalysisFormModal from './components/ViewJuryScoringAnalysisFormModal';
import BidDocSmartCheckFormModal from './components/BidDocSmartCheckFormModal';
function callback(key) {
//getSessionUserData.roleIds;
@ -90,6 +91,11 @@ const Sing: React.FC<{}> = () => {
const [ViewJuryScoringAnalysisFormVisible, setViewJuryScoringAnalysisFormVisible] = useState<any>(false);
//查看详情窗口record
const [ViewJuryScoringAnalysisValues, setViewJuryScoringAnalysisValues] = useState<any>({});
//投标文件智能审查
const [BidDocSmartCheckFormVisible, setBidDocSmartCheckFormVisible] = useState<any>(false);
//查看详情窗口record
const [BidDocSmartCheckValues, setBidDocSmartCheckValues] = useState<any>({});
const getWarningList = async() => {
@ -175,6 +181,19 @@ const Sing: React.FC<{}> = () => {
</ViewJuryScoringAnalysisFormModal>
) : null
}
{
BidDocSmartCheckFormModal ? (
<BidDocSmartCheckFormModal
modalVisible={BidDocSmartCheckFormVisible}
values={BidDocSmartCheckValues}
onCancel={() => {
setBidDocSmartCheckFormVisible(!BidDocSmartCheckFormVisible);
setBidDocSmartCheckValues({});
}}
>
</BidDocSmartCheckFormModal>
) : null
}
</>
)
}

View File

@ -63,6 +63,13 @@ 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}`, {
method: 'get'
});
}
export async function getDeviatedWarnList(assessRoomId: any) { // 偏离度提醒
return request('/api/biz-service-ebtp-rsms/v1/bid/deviated/warn/findBidDeviatedWarnListByRoomId/' + `${assessRoomId}`, {
method: 'get'

View File

@ -1,9 +1,9 @@
import React, { useEffect, useState } from 'react';
import { Button, Table, Tabs, Space, Progress, Radio, Input, Checkbox, Select, Modal, Pagination, Spin, Form, message, Upload } from 'antd';
import { getTabList, getProgress, getScoreDetail, getRegister, submitDetail, updateJudgesStatus, findPriceScoreList, getEval, getFile, calculationPriceScore, saveOffer, getPage, getProjectById } from './service';
import { Button, Table, Tabs, Space, Progress, Radio, Input, Checkbox, Select, Modal, Pagination, Spin, Form, message, Upload, Tooltip } from 'antd';
import { getTabList, getProgress, getScoreDetail, getRegister, submitDetail, updateJudgesStatus, findPriceScoreList, getEval, getFile, calculationPriceScore, saveOffer, getPage, getProjectById, getOfferUrl } from './service';
import '@/assets/ld_style.less'
import FirstTrialTableDetailed from '../BidDetailedManager/module/FirstTrialTableDetailed';
import { getSessionUserData, getRoomId, getUserToken, getProMethod, getProId, getSectionQuot } from '@/utils/session';
import { getSessionUserData, getRoomId, getUserToken, getProMethod, getProId, getSectionQuot, getSessionRoleData } from '@/utils/session';
import FileDown from '@/utils/Download';
import { getURLInformation } from '@/utils/CommonUtils';
import { btnAuthority } from '@/utils/authority';
@ -68,6 +68,8 @@ const Index: React.FC<{}> = () => {
const modalHeight = (innerHeight * 96) / 100;
//获取标段的标价类型 1-百分比 0-元
const sectionQuot = getSectionQuot();
//当前登录人角色
const roleCode = getSessionRoleData()?.roleCode;
let showNameT: any = { tbr: '', pb: '', tb: '' }//投标人供应商
if (proMethod === 'procurement_mode_1' || proMethod === 'procurement_mode_2') {//招标
showNameT = { tbr: '投标人', pb: '评标', tb: '投标' };
@ -216,7 +218,7 @@ const Index: React.FC<{}> = () => {
title: showNameT.tbr + '报价(元)',
dataIndex: 'evaluatingContent',
sorter: {
compare: (a, b) => a.evaluatingContent - b.evaluatingContent,
compare: (a: any, b: any) => a.evaluatingContent - b.evaluatingContent,
multiple: 2,
},
},
@ -439,22 +441,22 @@ const Index: React.FC<{}> = () => {
bidEvalDetailDTOList = []
})
} else {
let date = {
          bidEvalId: bidEvalId,
          reviewTurnId: reviewTurnId,
          category: typeCategory,
          assessRoomId: assessRoomId,
          reviewType: '2'
        }
        getProgress({ ...date }).then((res) => {
          if (res.code == 200) {
            if(res.data == 100){
              submitApi()
            } else {
              message.error("您有未完成的打分项,请完成后再提交!")
            }
          }
        })
let date = {
bidEvalId: bidEvalId,
reviewTurnId: reviewTurnId,
category: typeCategory,
assessRoomId: assessRoomId,
reviewType: '2'
}
getProgress({ ...date }).then((res) => {
if (res.code == 200) {
if (res.data == 100) {
submitApi()
} else {
message.error("您有未完成的打分项,请完成后再提交!")
}
}
})
}
}
}
@ -919,13 +921,15 @@ const Index: React.FC<{}> = () => {
if (record.scoreMap && record.scoreMap[item.supplierRegisterId]) {
return (
<div>
<Input
disabled={disabled || endProgress}
min={1} max={record.highScore}
value={record.scoreMap[item.supplierRegisterId].resultValue}
style={{ width: 160 }}
onChange={e => inputChange(e, record.scoreMap[item.supplierRegisterId], item.supplierRegisterId, record.highScore)}
/>
<Tooltip trigger={['focus']} title={<span>{record.lowScore}~{record.highScore}</span>} placement="topLeft">
<Input
disabled={disabled || endProgress}
min={1} max={record.highScore}
value={record.scoreMap[item.supplierRegisterId].resultValue}
style={{ width: 160 }}
onChange={e => inputChange(e, record.scoreMap[item.supplierRegisterId], item.supplierRegisterId, record.highScore, record.lowScore)}
/>
</Tooltip>
<br />
<Button type="link" danger onClick={() => getRemark(record.scoreMap[item.supplierRegisterId], item.supplierRegisterId)}></Button>
<Button hidden={btnAuthority(['ebtp-expert'])} type="link" danger onClick={() => lookFile(record.id, item.supplierRegisterId)}>{showNameT.tb}</Button>
@ -934,7 +938,10 @@ const Index: React.FC<{}> = () => {
} else {
return (
<div>
<Input disabled={disabled || endProgress} min={1} max={record.highScore} onChange={e => inputChange(e, record, item.supplierRegisterId, record.highScore)} style={{ width: 160 }} /><br />
<Tooltip trigger={['focus']} title={<span>{record.lowScore}~{record.highScore}</span>} placement="topLeft">
<Input disabled={disabled || endProgress} min={1} max={record.highScore} onChange={e => inputChange(e, record, item.supplierRegisterId, record.highScore, record.lowScore)} style={{ width: 160 }} />
</Tooltip>
<br />
<Button type="link" danger onClick={() => getRemark(record, item.supplierRegisterId)}></Button>
<Button hidden={btnAuthority(['ebtp-expert'])} type="link" danger onClick={() => lookFile(record.id, item.supplierRegisterId)}>{showNameT.tb}</Button>
</div>
@ -1021,8 +1028,15 @@ const Index: React.FC<{}> = () => {
}
await getProjectById(getProId()).then(response => {
if (response?.code == 200 && response?.success == true) {
const resData = response?.data
window.open(`${REACT_APP_XUNJIA_REDIRECT}/inquiryoffer/ztbViewOffer.do?inquiry_no=${resData?.ebpProjectNumber}&offer_no=${offerId}`)
const data = response?.data
// window.open(`${REACT_APP_XUNJIA_REDIRECT}/inquiryoffer/ztbViewOffer.do?inquiry_no=${resData?.ebpProjectNumber}&offer_no=${offerId}`)
const page = `quote-ztbIndex&inqueryNo=${data?.ebpProjectNumber}&offNo=${record?.offerOrderNo}`;
const userId = roleCode == "ebtp-supplier" ? record.bidUserId : REACT_APP_XUNJIA_UID;
getOfferUrl({ userId, page }).then(response => {
if (response?.code == 200) {
window.open(response?.data);
}
})
}
})
}
@ -1237,7 +1251,7 @@ const Index: React.FC<{}> = () => {
setDataSource([...totalQualified])
}
const inputChange = (e: any, val: any, id: any, sorce: any) => { // 输入框操作
const inputChange = (e: any, val: any, id: any, sorce: any, lowScore: any) => { // 输入框操作
let inpVal = e.target.value
let inputNum = /^(\-|\+?)\d{0,4}(\.\d{0,5})?$/
if (inputNum.test(inpVal)) {
@ -1245,6 +1259,10 @@ const Index: React.FC<{}> = () => {
message.error('输入分值不可大于最高分值!')
inpVal = sorce
}
if (Number(inpVal) < lowScore) {
message.error('输入分值不可小于最低分值!')
inpVal = lowScore
}
} else {
message.error('请输入正确的分值!')
inpVal = inpVal.substring(0, inpVal.length - 1)

View File

@ -99,7 +99,7 @@ export async function getEval(params: any) { // 获取页面接口数据
}
export async function getFile(id: any) { // 查找是否有应答文件
return request('/api/biz-service-ebtp-rsms/v1/review/config/detail/doc/list?detailId='+id, {
return request('/api/biz-service-ebtp-rsms/v1/review/config/detail/doc/list?detailId=' + id, {
method: 'get',
});
}
@ -136,8 +136,8 @@ export async function saveOffer(data: any) { // 自动报价保存
* 查询已报名的供应商
* @param params
*/
export async function getPage(params?: any) {
return request(`/api/biz-service-ebtp-tender/v1/supplier_register/get_register/${params}`,{
export async function getPage(params?: any) {
return request(`/api/biz-service-ebtp-tender/v1/supplier_register/get_register/${params}`, {
method: 'GET',
});
}
@ -146,6 +146,17 @@ export async function saveOffer(data: any) { // 自动报价保存
* 根据id查询项目信息
* @param id
*/
export function getProjectById(id: any) {
return request('/api/biz-service-ebtp-project/v1/projectRecord/' + id);
}
export function getProjectById(id: any) {
return request('/api/biz-service-ebtp-project/v1/projectRecord/' + id);
}
/**
* 加密后的查看报价详情跳转地址
* @param params
*/
export function getOfferUrl(params: any) {
return request('/api/biz-service-ebtp-extend/v1/singlePoint/getSsoUrlByPage', {
method: 'GET',
params: params,
});
}

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 } from 'antd';
import { getTabList, getProgress, getScoreDetail, getRegister, submitDetail, updateJudgesStatus, findPriceScoreList, getMemberInfo, getEval, getUnlock, getCheckData, isStatus, getFile, calculationPriceScore, saveOffer, getPage, getProjectById } from './service';
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 '@/assets/ld_style.less'
import FirstTrialTableDetailed from '../BidDetailedManager/module/FirstTrialTableDetailed';
import { getExperts } from '../BidDetailedManager/service';
@ -8,7 +8,7 @@ import ConsistencyCheck from './components/ConsistencyCheck';
import BidDetailSummary from './components/BidDetailSummary';
import BidDetailSpeed from './components/BidDetailSpeed';
import { handleSubmit } from './utils';
import { getProId, getProMethod, getRoomId, getSectionQuot, getSessionUserData, getUserToken } from '@/utils/session';
import { getProId, getProMethod, getRoomId, getSectionQuot, getSessionRoleData, getSessionUserData, getUserToken } from '@/utils/session';
import FileDown from '@/utils/Download';
import { getURLInformation, isEmpty } from '@/utils/CommonUtils';
import { btnAuthority } from '@/utils/authority';
@ -90,6 +90,8 @@ const Index: React.FC<{}> = () => {
const sectionQuot = getSectionQuot();
const [isEndProgress, setIsEndProgress] = useState<boolean>(false); // 是否可编辑
const [submitLoading, setSubmitLoading] = useState<boolean>(false); // 提交汇总loading
//当前登录人角色
const roleCode = getSessionRoleData()?.roleCode;
let showNameT: any = { tbr: '', pb: '', tb: '' }//投标人供应商
if (proMethod === 'procurement_mode_1' || proMethod === 'procurement_mode_2') {//招标
showNameT = { tbr: '投标人', pb: '评标', tb: '投标' };
@ -466,22 +468,22 @@ const Index: React.FC<{}> = () => {
bidEvalDetailDTOList = []
})
} else {
let date = {
          bidEvalId: bidEvalId,
          reviewTurnId: reviewTurnId,
          category: typeCategory,
          assessRoomId: assessRoomId,
          reviewType: '2'
        }
        getProgress({ ...date }).then((res) => {
          if (res.code == 200) {
            if(res.data == 100){
              submitApi()
            } else {
              message.error("您有未完成的打分项,请完成后再提交!")
            }
          }
        })
let date = {
bidEvalId: bidEvalId,
reviewTurnId: reviewTurnId,
category: typeCategory,
assessRoomId: assessRoomId,
reviewType: '2'
}
getProgress({ ...date }).then((res) => {
if (res.code == 200) {
if (res.data == 100) {
submitApi()
} else {
message.error("您有未完成的打分项,请完成后再提交!")
}
}
})
}
}
}
@ -952,13 +954,15 @@ const Index: React.FC<{}> = () => {
if (record.scoreMap && record.scoreMap[item.supplierRegisterId]) {
return (
<div>
<Input
disabled={disabled || endProgress}
value={record.scoreMap[item.supplierRegisterId].resultValue}
style={{ width: 160 }}
onChange={e => inputChange(e, record.scoreMap[item.supplierRegisterId], item.supplierRegisterId, record.highScore)}
// onFocus={e => inputFocus(e, record.scoreMap[item.supplierRegisterId], item.supplierRegisterId)}
/>
<Tooltip trigger={['focus']} title={<span>{record.lowScore}~{record.highScore}</span>} placement="topLeft">
<Input
disabled={disabled || endProgress}
value={record.scoreMap[item.supplierRegisterId].resultValue}
style={{ width: 160 }}
onChange={e => inputChange(e, record.scoreMap[item.supplierRegisterId], item.supplierRegisterId, record.highScore, record.lowScore)}
// onFocus={e => inputFocus(e, record.scoreMap[item.supplierRegisterId], item.supplierRegisterId)}
/>
</Tooltip>
<br />
<Button type="link" danger onClick={() => getRemark(record.scoreMap[item.supplierRegisterId], item.supplierRegisterId)}></Button>
<Button hidden={btnAuthority(['ebtp-expert'])} type="link" danger onClick={() => lookFile(record.id, item.supplierRegisterId)}>{showNameT.tb}</Button>
@ -967,7 +971,10 @@ const Index: React.FC<{}> = () => {
} else {
return (
<div>
<Input disabled={disabled || endProgress} onChange={e => inputChange(e, record, item.supplierRegisterId, record.highScore)} style={{ width: 160 }} /><br />
<Tooltip trigger={['focus']} title={<span>{record.lowScore}~{record.highScore}</span>} placement="topLeft">
<Input disabled={disabled || endProgress} onChange={e => inputChange(e, record, item.supplierRegisterId, record.highScore, record.lowScore)} style={{ width: 160 }} />
</Tooltip>
<br />
<Button type="link" danger onClick={() => getRemark(record, item.supplierRegisterId)}></Button>
<Button hidden={btnAuthority(['ebtp-expert'])} type="link" danger onClick={() => lookFile(record.id, item.supplierRegisterId)}>{showNameT.tb}</Button>
</div>
@ -1052,8 +1059,15 @@ const Index: React.FC<{}> = () => {
}
await getProjectById(getProId()).then(response => {
if (response?.code == 200 && response?.success == true) {
const resData = response?.data
window.open(`${REACT_APP_XUNJIA_REDIRECT}/inquiryoffer/ztbViewOffer.do?inquiry_no=${resData?.ebpProjectNumber}&offer_no=${offerId}`)
const data = response?.data
// window.open(`${REACT_APP_XUNJIA_REDIRECT}/inquiryoffer/ztbViewOffer.do?inquiry_no=${resData?.ebpProjectNumber}&offer_no=${offerId}`)
const page = `quote-ztbIndex&inqueryNo=${data?.ebpProjectNumber}&offNo=${record?.offerOrderNo}`;
const userId = roleCode == "ebtp-supplier" ? record.bidUserId : REACT_APP_XUNJIA_UID;
getOfferUrl({ userId, page }).then(response => {
if (response?.code == 200) {
window.open(response?.data);
}
})
}
})
}
@ -1268,7 +1282,7 @@ const Index: React.FC<{}> = () => {
setDataSource([...totalQualified])
}
const inputChange = (e: any, val: any, id: any, sorce: any) => { // 输入框操作
const inputChange = (e: any, val: any, id: any, sorce: any, lowScore: any) => { // 输入框操作
let inpVal = e.target.value
let inputNum = /^(\-|\+?)\d{0,4}(\.\d{0,5})?$/
if (inputNum.test(inpVal)) {
@ -1276,6 +1290,10 @@ const Index: React.FC<{}> = () => {
message.error('输入分值不可大于最高分值!')
inpVal = sorce
}
if (Number(inpVal) < lowScore) {
message.error('输入分值不可小于最低分值!')
inpVal = lowScore
}
} else {
message.error('请输入正确的分值!')
inpVal = inpVal.substring(0, inpVal.length - 1)

View File

@ -215,8 +215,8 @@ export async function saveOffer(data: any) { // 自动报价保存
* 查询已报名的供应商
* @param params
*/
export async function getPage(params?: any) {
return request(`/api/biz-service-ebtp-tender/v1/supplier_register/get_register/${params}`,{
export async function getPage(params?: any) {
return request(`/api/biz-service-ebtp-tender/v1/supplier_register/get_register/${params}`, {
method: 'GET',
});
}
@ -225,6 +225,17 @@ export async function saveOffer(data: any) { // 自动报价保存
* 根据id查询项目信息
* @param id
*/
export function getProjectById(id: any) {
return request('/api/biz-service-ebtp-project/v1/projectRecord/' + id);
}
export function getProjectById(id: any) {
return request('/api/biz-service-ebtp-project/v1/projectRecord/' + id);
}
/**
* 加密后的查看报价详情跳转地址
* @param params
*/
export function getOfferUrl(params: any) {
return request('/api/biz-service-ebtp-extend/v1/singlePoint/getSsoUrlByPage', {
method: 'GET',
params: params,
});
}

View File

@ -123,6 +123,9 @@ const viewOfTenderDocuments: React.FC<{}> = () => {
setSpinning(true);
getFileNode({ tdocCatalogId: info.node.key, tendererId: tendererId, tdocId: tdocid }).then(res => {
if (res?.code == 200) {
for (const ite of res.data.tfileContentList) {
ite["nodeName"] = info.node.title;
}
setZipListTable(res.data.tfileContentList);
}
setSpinning(false);
@ -246,7 +249,7 @@ const viewOfTenderDocuments: React.FC<{}> = () => {
/* message.error('程序出错,亲您稍后在世');*/
};
const downloadZip = (render: any) => {
let fileName = render.fileName;
let fileName = render.tendererName + '-' + render.nodeName;
window.location.href = "/api/core-service-ebtp-updownload/v1/hulk/download?p=" + render.content + "&n=" + fileName;
}

View File

@ -147,6 +147,9 @@ const viewOfTenderDocumentsSecond: React.FC<{}> = () => {
setSpinning(true);
getFileNode({ tdocCatalogId: info.node.key, tendererId: tendererId, tdocId: tdocid }).then(res => {
if (res.code == 200) {
for (const ite of res.data.tfileContentList) {
ite["nodeName"] = info.node.title;
}
setZipListTable(res.data.tfileContentList);
}
setSpinning(false);
@ -270,7 +273,7 @@ const viewOfTenderDocumentsSecond: React.FC<{}> = () => {
/* message.error('程序出错,亲您稍后在世');*/
};
const downloadZip = (render: any) => {
let fileName = render.fileName;
let fileName = render.tendererName + '-' + render.nodeName;
window.location.href = "/api/core-service-ebtp-updownload/v1/hulk/download?p=" + render.content + "&n=" + fileName;
}