4.1 同步发版内容到天梯

This commit is contained in:
jl-zhoujl2
2022-04-01 20:06:34 +08:00
parent a3b939d154
commit 7b3efe00dd
128 changed files with 929 additions and 5029 deletions

View File

@ -107,9 +107,9 @@ const BidPublicityResults: React.FC<BiddingAnnouncementProps> = (props) => {
Int();
form.resetFields();//清除form中数据
}, [pkId, type]);
useEffect(() => {
UploadMethod();
}, [UploadID]);
// useEffect(() => {
// UploadMethod();
// }, [UploadID]);
const Int = () => {
setSping(true);
if (type == "cease") {

View File

@ -2,9 +2,7 @@ import React, { useEffect, useState, useRef } from 'react';
import { Form, Input, Modal, message, Spin } from 'antd';
import ProCard from '@ant-design/pro-card';
import Weboffice from "@/pages/webOffice/weboffice";
import { getThisFileBidList } from '@/pages/Calibration/ProjectManager/ResultNotice/service';
import ExtendUpload from '@/utils/ExtendUpload';
import { getFileListByBid } from '../service';
import WebOffice0609, { WebOfficeRefProps } from '@/pages/webOffice/weboffice0609';
interface FwftzsModalProps {
@ -137,6 +135,7 @@ const FwftzsModal: React.FC<FwftzsModalProps> = (props) => {
PDFFileCode={PDFfileCode}
savePDF={true}
webOfficeRef={ref}
fileName={`${values?.sectionName}-${values?.bidSectBizNum}-服务费通知书-${values?.supplierCompanyName}`}
/>
) : null}
</ProCard>

View File

@ -4,8 +4,6 @@ import ProCard from '@ant-design/pro-card';
import Weboffice from "@/pages/webOffice/weboffice";
import ExtendUpload from "@/utils/ExtendUpload";
import { getThisFileBidList } from "@/pages/Calibration/ProjectManager/ResultNotice/service";
import { getFileListByBid } from '../service';
import WebOffice0609, { WebOfficeRefProps } from '@/pages/webOffice/weboffice0609';
interface JgtzsModalProps {
@ -137,6 +135,7 @@ const JgtzsModal: React.FC<JgtzsModalProps> = (props) => {
PDFFileCode={PDFfileCode}
savePDF={true}
webOfficeRef={ref}
fileName={`${values?.sectionName}-${values?.bidSectBizNum}-${values?.noticeType == "1" ? '中选' : '结果'}通知书-${values?.supplierCompanyName}`}
/>
) : null}
</ProCard>

View File

@ -7,6 +7,7 @@ import ProTable, { ActionType } from '@ant-design/pro-table';
import { Button, message } from 'antd';
import React, { useState, useEffect, useRef } from 'react';
import { getFwftzsSendList, getFwftzsValues, getJgtzsSendList, getJgtzsValues, getZMBidTurnMsg, saveFwftzsValues, saveJgtzsValues, sendFwftzs, sendJgtzs } from '../service';
import { getSectionDataById } from '@/services/common';
interface IndexProps {
item?: any,
@ -43,8 +44,10 @@ const Index: React.FC<IndexProps> = (props) => {
const [t2, setT2] = useState<any>(true);
const clickJgtzs = (jgtzsId: any, formDisabled: any) => {
getJgtzsValues(jgtzsId).then((res) => {
getJgtzsValues(jgtzsId).then(async (res) => {
if (res.code == 200) {
const sectionData = await getSectionDataById(res.data.sectionId);
res.data.bidSectBizNum = sectionData?.code == 200 ? sectionData.data.bidSectBizNum : null;
setJgtzsValues(res.data);
setjgtzsFormDisabled(formDisabled);
setJgtzsFormVisible(true);
@ -54,8 +57,10 @@ const Index: React.FC<IndexProps> = (props) => {
}
const clickFwftzs = (jgtzsId: any, formDisabled: any) => {
getFwftzsValues(jgtzsId).then((res) => {
getFwftzsValues(jgtzsId).then(async (res) => {
if (res.code == 200) {
const sectionData = await getSectionDataById(res.data.sectionId);
res.data.bidSectBizNum = sectionData?.code == 200 ? sectionData.data.bidSectBizNum : null;
setFwftzsValues(res.data);
setFwftzsFormDisabled(formDisabled);
setFwftzsFormVisible(true);
@ -250,7 +255,7 @@ const Index: React.FC<IndexProps> = (props) => {
}
return (
<>
<Button hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])} type="text"
<Button hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])} type="text"
onClick={() => clickJgtzs(record.id, jgFormDisabled)}>{jgBtnName}</Button>
<Button hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase']) || fwfBtnHidden} type="text"
onClick={() => clickFwftzs(record.id, fwfFormDisabled)}>{fwfBtnName}</Button>

View File

@ -156,14 +156,3 @@ export async function getZMBidTurnList(params?:any){
export async function getZMBidTurnMsg(params?:any){
return request('/api/biz-service-ebtp-calibration/v1/bizbidresultnotice/getRecruitRNoticelist/'+params)
}
/**
* 根据bid获取文件列表
* @param params
*/
export async function getFileListByBid(params: any) {
return request('/api/core-service-ebtp-updownload/v1/attachment/find', {
method: 'POST',
data: {...params}
});
}

View File

@ -1491,7 +1491,7 @@ const JudgingPanel: React.FC<{}> = () => {
checkBoxsStatusSet({});
changeManSet(true)
}}></Button>
<FileDown apiUrl={`/api/core-service-ebtp-updownload/v1/attachment/download/oid/${oid}`} btnName={'下载EXCEL模板'} style={{ margin: '2px 5px' }} />
<FileDown fileId={oid} btnName={'下载EXCEL模板'} style={{ margin: '2px 5px' }} />
<Upload {...props}>
<Button icon={<UploadOutlined />} hidden={open || btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])} disabled={spin} type="primary" key="4" style={{ margin: '2px 5px' }}>EXCEL模板</Button>
</Upload>

View File

@ -189,9 +189,9 @@ const Index: React.FC<IndexProps> = (props) => {
useEffect(() => {
getOpen(messProp.id).then((res) => {
if (res.code == 200) {
if (res.data.length > 0) {
setDateList(res.data[0])
}
// if (res.data.length > 0) {
setDateList(res?.data[0])
// }
}
})
}, [messProp.id]);
@ -201,10 +201,10 @@ const Index: React.FC<IndexProps> = (props) => {
<div>
<div hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])} className="mb16">
{
dateList.bizSupplierRegisters ? <FileDown apiUrl={`/api/biz-service-ebtp-tender/v1/supplier_register/export/supplier/${dateList.sectionVO.bsId}/${dateList.bizSupplierRegisters[0].assessRoomId}?roomType=${projectType}`} fileName={'缴费信息'} type='xlsx' method='GET' btnName='导出缴费信息' /> : null
dateList?.bizSupplierRegisters ? <FileDown apiUrl={`/api/biz-service-ebtp-tender/v1/supplier_register/export/supplier/${dateList?.sectionVO.bsId}/${dateList?.bizSupplierRegisters[0].assessRoomId}?roomType=${projectType}`} fileName={'缴费信息'} type='xlsx' method='GET' btnName='导出缴费信息' /> : null
}
</div>
<Table size='small' pagination={{ defaultPageSize: 10 }} columns={columns} dataSource={dateList.bizSupplierRegisters} />
<Table size='small' pagination={{ defaultPageSize: 10 }} columns={columns} dataSource={dateList?.bizSupplierRegisters} />
</div>
<Modal // 查看详情
title="缴费信息"

View File

@ -170,7 +170,7 @@ const Index: React.FC<IndexProps> = (props) => {
{
title: '操作',
render: (text: any, record: any, index: any) => (
<FileDown apiUrl={`/api/core-service-ebtp-updownload/v1/attachment/download/oid/${record.fileId}`} fileName={'回执文件' + (index + 1)} type='pdf' method='GET' btnName='回执导出' />
<FileDown fileId={record.fileId} fileName={'回执文件' + (index + 1)} type='pdf' method='GET' btnName='回执导出' />
),
},
];
@ -302,7 +302,7 @@ const Index: React.FC<IndexProps> = (props) => {
idArr.push(id)
getCodeInfo(idArr).then((res) => {
if (res.code == 200) {
if(res?.data[0]){
if (res?.data[0]) {
setIpassCode(res?.data[0]?.organizationCode)
}
}
@ -417,11 +417,11 @@ const Index: React.FC<IndexProps> = (props) => {
const onUploadError = (resumable: any) => {
if (resumable == '超过截止时间') {
message.error('已超过截止时间')
} else if(resumable == '撤销后再上传'){
} else if (resumable == '撤销后再上传') {
message.error('您已上传应答文件,需撤销后再上传!')
setUploadVisible(false)
getList()
} else {
} else {
let strIndex = resumable.fileName.lastIndexOf(".")
let fileSuffix = resumable.fileName.substring(strIndex + 1, resumable.fileName.length)
if (('.' + fileSuffix) != fileT) {
@ -440,7 +440,7 @@ const Index: React.FC<IndexProps> = (props) => {
const getCurrent = () => {
getCurrentTime().then((res) => {
if (res.code == 200) {
let currentTiem = new Date(res.data.replace(/-/g,'/')).getTime()
let currentTiem = new Date(res.data.replace(/-/g, '/')).getTime()
setTimestamp(currentTiem)
}
})
@ -456,12 +456,12 @@ const Index: React.FC<IndexProps> = (props) => {
})
}
const handleTimeInterval= ()=>{ // 倒计时
if(dateList.length>0 && timestamp>0){
setTimestamp(timestamp+1000);
const handleTimeInterval = () => { // 倒计时
if (dateList.length > 0 && timestamp > 0) {
setTimestamp(timestamp + 1000);
let newTimeDateList: any = [];
dateList.map((item:any,index:any)=>{
if(item?.endDate && item?.endDate!=""&&item?.endDate!=null){
dateList.map((item: any, index: any) => {
if (item?.endDate && item?.endDate != "" && item?.endDate != null) {
newTimeDateList.push(showTimeDetail(item?.endDate));
}
})
@ -478,20 +478,20 @@ const Index: React.FC<IndexProps> = (props) => {
setTimestamp(new Date().getTime())
getList();
getCurrent();
timeInteval = setInterval(()=>{ // 倒计时
timeInteval = setInterval(() => { // 倒计时
savedCallback.current();
},1000);
}, 1000);
return ()=>{
return () => {
clearInterval(timeInteval);
if(task){
if (task) {
clearInterval(task)
}
}
}, []);
const showTimeDetail = (endDate: any) => {
let endtime = new Date(endDate.replace(/-/g,'/')); //定义结束时间
let endtime = new Date(endDate.replace(/-/g, '/')); //定义结束时间
let lefttime = endtime.getTime() - timestamp; //距离结束时间的毫秒数
let returnResult = "";
if (lefttime > 0) {
@ -516,9 +516,9 @@ const Index: React.FC<IndexProps> = (props) => {
<span className="f12 mess">{item.endDate}</span>
<span className="f12 mess">{currentDateList}</span>
<span className="tr f12 mess">
<span className="red">{timeDateList.length>0 ? timeDateList[index]:null}</span>
<span className="red">{timeDateList.length > 0 ? timeDateList[index] : null}</span>
{
item.openState == '1' && timestamp>0 && item.state == '0' && new Date(item.startDate.replaceAll("-", "/")).getTime() < timestamp && new Date(item.endDate.replaceAll("-", "/")).getTime() > timestamp ? <Button hidden={btnAuthority(['ebtp-supplier'])} id={'uploadBtn' + itemIndex} onClick={() => batchUpload('1', index)} className="b-red" type="primary" size="small" danger></Button> : null
item.openState == '1' && timestamp > 0 && item.state == '0' && new Date(item.startDate.replaceAll("-", "/")).getTime() < timestamp && new Date(item.endDate.replaceAll("-", "/")).getTime() > timestamp ? <Button hidden={btnAuthority(['ebtp-supplier'])} id={'uploadBtn' + itemIndex} onClick={() => batchUpload('1', index)} className="b-red" type="primary" size="small" danger></Button> : null
}
</span>
</div>
@ -546,32 +546,32 @@ const Index: React.FC<IndexProps> = (props) => {
})
}
{
uploadVisible?
<Modal // 批量上传
title="文件上传"
visible={uploadVisible}
onCancel={closeModal}
width={800}
centered
style={{ maxHeight: modalHeight }}
bodyStyle={{ maxHeight: modalHeight - 107, overflowY: 'auto' }}
footer={[<Button onClick={() => closeModal()}></Button>]}
>
<ReactResumableJs
query={{ 'relativePath': filePath, 'Tfile': Tfile, 'Tuid': uuid }}
maxFiles={1}
fileAccept={fileT}
endTime={endTime}
currentDate={currentDate}
onUploadSuccess={onUploadSuccess.bind(this)}
onUploadError={onUploadError.bind(this)}
onFileAdded={(file: any, resumable: any) => { onFileAdded(file, resumable) }}
onPauseUpload={(file: any, resumable: any) => { onPauseUpload(file, resumable) }}
onResumeUpload={(file: any, resumable: any) => { onResumeUpload(file, resumable) }}
onCancelUpload={(file: any, resumable: any) => { onCancelUpload(file, resumable) }}
service="/api/core-service-ebtp-updownload/v1/hulk/upload"
/>
</Modal>: null
uploadVisible ?
<Modal // 批量上传
title="文件上传"
visible={uploadVisible}
onCancel={closeModal}
width={800}
centered
style={{ maxHeight: modalHeight }}
bodyStyle={{ maxHeight: modalHeight - 107, overflowY: 'auto' }}
footer={[<Button onClick={() => closeModal()}></Button>]}
>
<ReactResumableJs
query={{ 'relativePath': filePath, 'Tfile': Tfile, 'Tuid': uuid }}
maxFiles={1}
fileAccept={fileT}
endTime={endTime}
currentDate={currentDate}
onUploadSuccess={onUploadSuccess.bind(this)}
onUploadError={onUploadError.bind(this)}
onFileAdded={(file: any, resumable: any) => { onFileAdded(file, resumable) }}
onPauseUpload={(file: any, resumable: any) => { onPauseUpload(file, resumable) }}
onResumeUpload={(file: any, resumable: any) => { onResumeUpload(file, resumable) }}
onCancelUpload={(file: any, resumable: any) => { onCancelUpload(file, resumable) }}
service="/api/core-service-ebtp-updownload/v1/hulk/upload"
/>
</Modal> : null
}
<Modal // 撤回
width={300}