4.1 同步发版内容到天梯
This commit is contained in:
@ -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") {
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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}
|
||||
});
|
||||
}
|
||||
|
@ -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>
|
||||
|
@ -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="缴费信息"
|
||||
|
@ -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}
|
||||
|
Reference in New Issue
Block a user