1.12 提交
This commit is contained in:
32
src/components/ApprovalModal/index.tsx
Normal file
32
src/components/ApprovalModal/index.tsx
Normal file
@ -0,0 +1,32 @@
|
||||
import React, { useMemo } from 'react';
|
||||
import { Modal } from 'antd';
|
||||
|
||||
interface ApprovalModalProps {
|
||||
modalVisible: boolean;
|
||||
onCancel: () => void;
|
||||
url: string;
|
||||
}
|
||||
/**
|
||||
* 审批流程弹窗
|
||||
*/
|
||||
const ApprovalModal: React.FC<ApprovalModalProps> = (props) => {
|
||||
const { modalVisible, onCancel, url } = props;
|
||||
const iframeContent = useMemo(() => {
|
||||
return url != "" && <iframe width={"100%"} height={600} src={url} />
|
||||
}, [url]);
|
||||
return (
|
||||
<Modal
|
||||
destroyOnClose
|
||||
title="审批流程"
|
||||
visible={modalVisible}
|
||||
width={"80%"}
|
||||
centered
|
||||
onCancel={() => onCancel()}
|
||||
footer={null}
|
||||
>
|
||||
{iframeContent}
|
||||
</Modal>
|
||||
);
|
||||
};
|
||||
|
||||
export default ApprovalModal;
|
@ -20,6 +20,7 @@ import { getApprProcessList } from "@/utils/SeleApprovalProcess/service"
|
||||
import SeleApprovalProcess from "@/utils/SeleApprovalProcess"
|
||||
import { isEmpty } from "@/utils/CommonUtils"
|
||||
import { checkObjectId } from "@/utils/DownloadUtils"
|
||||
import ApprovalModal from "@/components/ApprovalModal"
|
||||
|
||||
/*
|
||||
* 招标公告开始
|
||||
@ -58,6 +59,8 @@ const BiddingAnnouncementList: React.FC<{}> = (props) => {
|
||||
const [recordData, setRecordData] = useState<any>({});//存储当前record数据
|
||||
const [approvalVisible, setApprovalVisible] = useState<boolean>(false);//选择流程弹窗控制参数
|
||||
const [approvalData, setApprovalData] = useState<any[]>([]);//选择流程数据存储
|
||||
const [approvalViewVisible, setApprovalViewVisible] = useState<boolean>(false);//查看审批流程弹窗
|
||||
const [approvalViewUrl, setApprovalViewUrl] = useState<string>("");//查看审批流程参数-url
|
||||
|
||||
let name1 = "中标";
|
||||
let name2 = "评标";
|
||||
@ -598,8 +601,9 @@ const BiddingAnnouncementList: React.FC<{}> = (props) => {
|
||||
if (res?.code == 200 || res?.success == true) {
|
||||
const data = res?.data;
|
||||
let durl = /http:\/\/([^\/]+)\//i;
|
||||
let d = data?.traceDetailUrl?.replace(durl, '/');
|
||||
window.open(d);
|
||||
let d = data?.replace(durl, '/');
|
||||
setApprovalViewUrl(d);
|
||||
setApprovalViewVisible(true);
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -691,6 +695,7 @@ const BiddingAnnouncementList: React.FC<{}> = (props) => {
|
||||
}
|
||||
}} data={approvalData} annoId={recordData?.id} />
|
||||
) : null}
|
||||
<ApprovalModal modalVisible={approvalViewVisible} onCancel={() => { setApprovalViewVisible(false) }} url={approvalViewUrl} />
|
||||
</Spin>
|
||||
</div>
|
||||
)
|
||||
|
@ -21,6 +21,7 @@ import { getApprProcessList } from '@/utils/SeleApprovalProcess/service';
|
||||
import SeleApprovalProcess from '@/utils/SeleApprovalProcess';
|
||||
import { checkObjectId } from '@/utils/DownloadUtils';
|
||||
import ReasonMemo from './ReasonMemo';
|
||||
import ApprovalModal from '@/components/ApprovalModal';
|
||||
|
||||
/*
|
||||
* 招标公告开始
|
||||
@ -50,6 +51,8 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
||||
const [recordData, setRecordData] = useState<any>({});//存储当前record数据
|
||||
const [approvalVisible, setApprovalVisible] = useState<boolean>(false);//选择流程弹窗控制参数
|
||||
const [approvalData, setApprovalData] = useState<any[]>([]);//选择流程数据存储
|
||||
const [approvalViewVisible, setApprovalViewVisible] = useState<boolean>(false);//查看审批流程弹窗
|
||||
const [approvalViewUrl, setApprovalViewUrl] = useState<string>("");//查看审批流程参数-url
|
||||
|
||||
const [memoVisible, setMemoVisible] = useState<boolean>(false);//说明弹窗
|
||||
let proName = ''; //名称
|
||||
@ -132,10 +135,10 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
||||
>
|
||||
编辑
|
||||
</Button>
|
||||
<Button
|
||||
hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])|| record.reasonMemo== null ||record.reasonMemo==undefined}
|
||||
<Button
|
||||
hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase']) || record.reasonMemo == null || record.reasonMemo == undefined}
|
||||
type="text"
|
||||
onClick={() => toEditReasonMemo(record,"edit")}
|
||||
onClick={() => toEditReasonMemo(record, "edit")}
|
||||
>
|
||||
原因说明
|
||||
</Button>
|
||||
@ -168,9 +171,9 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
||||
查看
|
||||
</Button>
|
||||
<Button
|
||||
hidden={ record.reasonMemo== null ||record.reasonMemo==undefined}
|
||||
hidden={record.reasonMemo == null || record.reasonMemo == undefined}
|
||||
type="text"
|
||||
onClick={() => toEditReasonMemo(record,"read")}
|
||||
onClick={() => toEditReasonMemo(record, "read")}
|
||||
>
|
||||
原因说明
|
||||
</Button>
|
||||
@ -193,9 +196,9 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
||||
查看
|
||||
</Button>
|
||||
<Button
|
||||
hidden={record.reasonMemo== null ||record.reasonMemo==undefined}
|
||||
hidden={record.reasonMemo == null || record.reasonMemo == undefined}
|
||||
type="text"
|
||||
onClick={() => toEditReasonMemo(record,"read")}
|
||||
onClick={() => toEditReasonMemo(record, "read")}
|
||||
>
|
||||
原因说明
|
||||
</Button>
|
||||
@ -214,9 +217,9 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
||||
编辑
|
||||
</Button>
|
||||
<Button
|
||||
hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])|| record.reasonMemo== null ||record.reasonMemo==undefined}
|
||||
hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase']) || record.reasonMemo == null || record.reasonMemo == undefined}
|
||||
type="text"
|
||||
onClick={() => toEditReasonMemo(record,"edit")}
|
||||
onClick={() => toEditReasonMemo(record, "edit")}
|
||||
>
|
||||
原因说明
|
||||
</Button>
|
||||
@ -252,9 +255,9 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
||||
查看
|
||||
</Button>
|
||||
<Button
|
||||
hidden={record.reasonMemo== null ||record.reasonMemo==undefined}
|
||||
hidden={record.reasonMemo == null || record.reasonMemo == undefined}
|
||||
type="text"
|
||||
onClick={() => toEditReasonMemo(record,"read")}
|
||||
onClick={() => toEditReasonMemo(record, "read")}
|
||||
>
|
||||
原因说明
|
||||
</Button>
|
||||
@ -277,9 +280,9 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
||||
查看
|
||||
</Button>
|
||||
<Button
|
||||
hidden={record.reasonMemo== null ||record.reasonMemo==undefined}
|
||||
hidden={record.reasonMemo == null || record.reasonMemo == undefined}
|
||||
type="text"
|
||||
onClick={() => toEditReasonMemo(record,"read")}
|
||||
onClick={() => toEditReasonMemo(record, "read")}
|
||||
>
|
||||
原因说明
|
||||
</Button>
|
||||
@ -473,20 +476,21 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
||||
if (res?.code == 200 || res?.success == true) {
|
||||
const data = res?.data;
|
||||
let durl = /http:\/\/([^\/]+)\//i;
|
||||
let d = data?.traceDetailUrl?.replace(durl, '/');
|
||||
window.open(d);
|
||||
let d = data?.replace(durl, '/');
|
||||
setApprovalViewUrl(d);
|
||||
setApprovalViewVisible(true);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/*编辑原因说明*/
|
||||
const toEditReasonMemo = (props: any,type: any) => {
|
||||
const toEditReasonMemo = (props: any, type: any) => {
|
||||
setPkId(props.id);
|
||||
setType(type);
|
||||
setMemoVisible(true);
|
||||
};
|
||||
const Proref = useRef<ActionType>();
|
||||
|
||||
|
||||
return (
|
||||
<div style={{ height: '100%', position: 'relative' }}>
|
||||
<Spin spinning={spin}>
|
||||
@ -564,15 +568,16 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
||||
}} data={approvalData} annoId={recordData?.id} />
|
||||
) : null}
|
||||
{memoVisible ? (
|
||||
<ReasonMemo
|
||||
modalVisible={memoVisible}
|
||||
<ReasonMemo
|
||||
modalVisible={memoVisible}
|
||||
id={pkId}
|
||||
type={type}
|
||||
onCancel={() => {
|
||||
setMemoVisible(false)
|
||||
}}
|
||||
/>
|
||||
) : null}
|
||||
) : null}
|
||||
<ApprovalModal modalVisible={approvalViewVisible} onCancel={() => { setApprovalViewVisible(false) }} url={approvalViewUrl} />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
@ -20,6 +20,7 @@ import SeleApprovalProcess from "@/utils/SeleApprovalProcess"
|
||||
import { releaseNoticeOffline } from "@/pages/Bid/BiddingAnnouncement/service"
|
||||
import { isEmpty } from "@/utils/CommonUtils"
|
||||
import { checkObjectId } from "@/utils/DownloadUtils"
|
||||
import ApprovalModal from "@/components/ApprovalModal"
|
||||
|
||||
/*
|
||||
* 招标公示开始
|
||||
@ -53,6 +54,8 @@ const BidPublicityResult: React.FC<{}> = (props) => {
|
||||
const [recordData, setRecordData] = useState<any>({});//存储当前record数据
|
||||
const [approvalVisible, setApprovalVisible] = useState<boolean>(false);//选择流程弹窗控制参数
|
||||
const [approvalData, setApprovalData] = useState<any[]>([]);//选择流程数据存储
|
||||
const [approvalViewVisible, setApprovalViewVisible] = useState<boolean>(false);//查看审批流程弹窗
|
||||
const [approvalViewUrl, setApprovalViewUrl] = useState<string>("");//查看审批流程参数-url
|
||||
|
||||
let name1 = "中标候选人";
|
||||
let name2 = "评标";
|
||||
@ -432,8 +435,9 @@ const BidPublicityResult: React.FC<{}> = (props) => {
|
||||
if (res?.code == 200 || res?.success == true) {
|
||||
const data = res?.data;
|
||||
let durl = /http:\/\/([^\/]+)\//i;
|
||||
let d = data?.traceDetailUrl?.replace(durl, '/');
|
||||
window.open(d);
|
||||
let d = data?.replace(durl, '/');
|
||||
setApprovalViewUrl(d);
|
||||
setApprovalViewVisible(true);
|
||||
}
|
||||
}).finally(() => {
|
||||
setPageloading(false);
|
||||
@ -485,6 +489,7 @@ const BidPublicityResult: React.FC<{}> = (props) => {
|
||||
setRefresh(Math.random() + 1)
|
||||
}} data={approvalData} annoId={recordData?.id} />
|
||||
) : null}
|
||||
<ApprovalModal modalVisible={approvalViewVisible} onCancel={() => { setApprovalViewVisible(false) }} url={approvalViewUrl} />
|
||||
</Spin>
|
||||
</div>
|
||||
)
|
||||
|
@ -1,3 +1,4 @@
|
||||
import ApprovalModal from '@/components/ApprovalModal';
|
||||
import BidEvalAppointment from '@/components/ElecBidEvaluation/BidEvalAppointment';
|
||||
import { btnAuthority } from '@/utils/authority';
|
||||
import { checkObjectId } from '@/utils/DownloadUtils';
|
||||
@ -47,6 +48,8 @@ const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
||||
const [loading, setLoading] = useState<boolean>(false);
|
||||
//电子评标室-评标室预约选择 2022.9.8 zhoujianlong
|
||||
const [selectEvalVisible, setSelectEvalVisible] = useState<boolean>(false);
|
||||
const [approvalViewVisible, setApprovalViewVisible] = useState<boolean>(false);//查看审批流程弹窗
|
||||
const [approvalViewUrl, setApprovalViewUrl] = useState<string>("");//查看审批流程参数-url
|
||||
|
||||
const toAdd = async () => {
|
||||
await checkedAddAfresh(values.id).then((res) => {
|
||||
@ -124,8 +127,9 @@ const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
||||
if (res?.code == 200 && res?.success == true) {
|
||||
const data = res?.data;
|
||||
let durl = /http:\/\/([^\/]+)\//i;
|
||||
let d = data?.traceDetailUrl?.replace(durl, '/');
|
||||
window.open(d);
|
||||
let d = data?.replace(durl, '/');
|
||||
setApprovalViewUrl(d);
|
||||
setApprovalViewVisible(true);
|
||||
}
|
||||
}).finally(() => {
|
||||
setLoading(false);
|
||||
@ -365,6 +369,7 @@ const MoreEvaluation: React.FC<MoreEvaluationProps> = (props) => {
|
||||
/>
|
||||
{/**电子评标室-评标室预约选择 */}
|
||||
<BidEvalAppointment modalVisible={selectEvalVisible} onCancel={() => { setSelectEvalVisible(false), setRecordData(undefined) }} onSubmit={() => { }} values={recordData} type={"2"} reload={() => { actionRef.current?.reload?.(); }} />
|
||||
<ApprovalModal modalVisible={approvalViewVisible} onCancel={() => { setApprovalViewVisible(false) }} url={approvalViewUrl} />
|
||||
</Drawer>
|
||||
);
|
||||
};
|
||||
|
@ -1,3 +1,4 @@
|
||||
import ApprovalModal from '@/components/ApprovalModal';
|
||||
import { btnAuthority } from '@/utils/authority';
|
||||
import { isEmpty } from '@/utils/CommonUtils';
|
||||
import { checkObjectId } from '@/utils/DownloadUtils';
|
||||
@ -63,6 +64,8 @@ const ExceptionHandling: React.FC<ExceptionHandlingProps> = (props) => {
|
||||
const [approvalVisible, setApprovalVisible] = useState<boolean>(false);
|
||||
//选择流程数据存储
|
||||
const [approvalData, setApprovalData] = useState<any[]>([]);
|
||||
const [approvalViewVisible, setApprovalViewVisible] = useState<boolean>(false);//查看审批流程弹窗
|
||||
const [approvalViewUrl, setApprovalViewUrl] = useState<string>("");//查看审批流程参数-url
|
||||
//初始化显示字段
|
||||
let sectionName = '采购包';
|
||||
sectionName =
|
||||
@ -242,8 +245,9 @@ const ExceptionHandling: React.FC<ExceptionHandlingProps> = (props) => {
|
||||
if (res?.code == 200 || res?.success == true) {
|
||||
const data = res?.data;
|
||||
let durl = /http:\/\/([^\/]+)\//i;
|
||||
let d = data?.traceDetailUrl?.replace(durl, '/');
|
||||
window.open(d);
|
||||
let d = data?.replace(durl, '/');
|
||||
setApprovalViewUrl(d);
|
||||
setApprovalViewVisible(true);
|
||||
}
|
||||
}).finally(() => {
|
||||
setLoading(false)
|
||||
@ -650,6 +654,7 @@ const ExceptionHandling: React.FC<ExceptionHandlingProps> = (props) => {
|
||||
actionRef.current?.reload?.();
|
||||
}} data={approvalData} annoId={recordData?.sendMessageId} />
|
||||
) : null}
|
||||
<ApprovalModal modalVisible={approvalViewVisible} onCancel={() => { setApprovalViewVisible(false) }} url={approvalViewUrl} />
|
||||
</Drawer>
|
||||
);
|
||||
};
|
||||
|
@ -21,6 +21,7 @@ import { getApprProcessList } from "@/utils/SeleApprovalProcess/service"
|
||||
import SeleApprovalProcess from "@/utils/SeleApprovalProcess"
|
||||
import { isEmpty } from "@/utils/CommonUtils"
|
||||
import { checkObjectId } from "@/utils/DownloadUtils"
|
||||
import ApprovalModal from "@/components/ApprovalModal"
|
||||
|
||||
/*
|
||||
* 资审公告开始
|
||||
@ -58,6 +59,8 @@ const BiddingAnnouncementList: React.FC<{}> = (props) => {
|
||||
const [recordData, setRecordData] = useState<any>({});//存储当前record数据
|
||||
const [approvalVisible, setApprovalVisible] = useState<boolean>(false);//选择流程弹窗控制参数
|
||||
const [approvalData, setApprovalData] = useState<any[]>([]);//选择流程数据存储
|
||||
const [approvalViewVisible, setApprovalViewVisible] = useState<boolean>(false);//查看审批流程弹窗
|
||||
const [approvalViewUrl, setApprovalViewUrl] = useState<string>("");//查看审批流程参数-url
|
||||
|
||||
let name4 = "标段";
|
||||
let proName = "招标";
|
||||
@ -569,8 +572,9 @@ const BiddingAnnouncementList: React.FC<{}> = (props) => {
|
||||
if (res?.code == 200 || res?.success == true) {
|
||||
const data = res?.data;
|
||||
let durl = /http:\/\/([^\/]+)\//i;
|
||||
let d = data?.traceDetailUrl?.replace(durl, '/');
|
||||
window.open(d);
|
||||
let d = data?.replace(durl, '/');
|
||||
setApprovalViewUrl(d);
|
||||
setApprovalViewVisible(true);
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -660,6 +664,7 @@ const BiddingAnnouncementList: React.FC<{}> = (props) => {
|
||||
}
|
||||
}} data={approvalData} annoId={recordData?.id} />
|
||||
) : null}
|
||||
<ApprovalModal modalVisible={approvalViewVisible} onCancel={() => { setApprovalViewVisible(false) }} url={approvalViewUrl} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
@ -21,6 +21,7 @@ import { getApprProcessList } from "@/utils/SeleApprovalProcess/service"
|
||||
import SeleApprovalProcess from "@/utils/SeleApprovalProcess"
|
||||
import { isEmpty } from "@/utils/CommonUtils"
|
||||
import { checkObjectId } from "@/utils/DownloadUtils"
|
||||
import ApprovalModal from "@/components/ApprovalModal"
|
||||
|
||||
/*
|
||||
* 招标公告开始
|
||||
@ -60,6 +61,8 @@ const BiddingAnnouncementList: React.FC<{}> = (props) => {
|
||||
const [recordData, setRecordData] = useState<any>({});//存储当前record数据
|
||||
const [approvalVisible, setApprovalVisible] = useState<boolean>(false);//选择流程弹窗控制参数
|
||||
const [approvalData, setApprovalData] = useState<any[]>([]);//选择流程数据存储
|
||||
const [approvalViewVisible, setApprovalViewVisible] = useState<boolean>(false);//查看审批流程弹窗
|
||||
const [approvalViewUrl, setApprovalViewUrl] = useState<string>("");//查看审批流程参数-url
|
||||
const { TabPane } = Tabs;
|
||||
const { confirm } = Modal;
|
||||
const columns: ProColumns<DataItem>[] = [
|
||||
@ -592,8 +595,9 @@ const BiddingAnnouncementList: React.FC<{}> = (props) => {
|
||||
if (res?.code == 200 || res?.success == true) {
|
||||
const data = res?.data;
|
||||
let durl = /http:\/\/([^\/]+)\//i;
|
||||
let d = data?.traceDetailUrl?.replace(durl, '/');
|
||||
window.open(d);
|
||||
let d = data?.replace(durl, '/');
|
||||
setApprovalViewUrl(d);
|
||||
setApprovalViewVisible(true);
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -720,6 +724,7 @@ const BiddingAnnouncementList: React.FC<{}> = (props) => {
|
||||
) : null}
|
||||
</TabPane>
|
||||
</Tabs>
|
||||
<ApprovalModal modalVisible={approvalViewVisible} onCancel={() => { setApprovalViewVisible(false) }} url={approvalViewUrl} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ import { getApprProcessList } from "@/utils/SeleApprovalProcess/service"
|
||||
import SeleApprovalProcess from "@/utils/SeleApprovalProcess"
|
||||
import { isEmpty } from "@/utils/CommonUtils"
|
||||
import { checkObjectId } from "@/utils/DownloadUtils"
|
||||
import ApprovalModal from "@/components/ApprovalModal"
|
||||
|
||||
/*
|
||||
* 招标公示开始
|
||||
@ -51,6 +52,8 @@ const BidPublicityResult: React.FC<{}> = (props) => {
|
||||
const [recordData, setRecordData] = useState<any>({});//存储当前record数据
|
||||
const [approvalVisible, setApprovalVisible] = useState<boolean>(false);//选择流程弹窗控制参数
|
||||
const [approvalData, setApprovalData] = useState<any[]>([]);//选择流程数据存储
|
||||
const [approvalViewVisible, setApprovalViewVisible] = useState<boolean>(false);//查看审批流程弹窗
|
||||
const [approvalViewUrl, setApprovalViewUrl] = useState<string>("");//查看审批流程参数-url
|
||||
|
||||
|
||||
const columns: ProColumns<DataItem>[] = [
|
||||
@ -351,8 +354,9 @@ const BidPublicityResult: React.FC<{}> = (props) => {
|
||||
if (res?.code == 200 || res?.success == true) {
|
||||
const data = res?.data;
|
||||
let durl = /http:\/\/([^\/]+)\//i;
|
||||
let d = data?.traceDetailUrl?.replace(durl, '/');
|
||||
window.open(d);
|
||||
let d = data?.replace(durl, '/');
|
||||
setApprovalViewUrl(d);
|
||||
setApprovalViewVisible(true);
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -400,6 +404,7 @@ const BidPublicityResult: React.FC<{}> = (props) => {
|
||||
setRefresh(Math.random() + 1)
|
||||
}} data={approvalData} annoId={recordData?.id} />
|
||||
) : null}
|
||||
<ApprovalModal modalVisible={approvalViewVisible} onCancel={() => { setApprovalViewVisible(false) }} url={approvalViewUrl} />
|
||||
</Spin>
|
||||
</div>
|
||||
)
|
||||
|
Reference in New Issue
Block a user