单一来源少三天填说明
This commit is contained in:
@ -13,6 +13,7 @@ import {
|
|||||||
Radio,
|
Radio,
|
||||||
Row,
|
Row,
|
||||||
Spin, Tabs,
|
Spin, Tabs,
|
||||||
|
Typography,
|
||||||
Upload
|
Upload
|
||||||
} from "antd"
|
} from "antd"
|
||||||
import '@/assets/ld_style.less'
|
import '@/assets/ld_style.less'
|
||||||
@ -46,6 +47,7 @@ import BraftText from "@/components/richText/wang"
|
|||||||
import RiskPrevention from "@/utils/RiskPrevention"
|
import RiskPrevention from "@/utils/RiskPrevention"
|
||||||
import Dating from '@/images/招标公告/dating.jpg';
|
import Dating from '@/images/招标公告/dating.jpg';
|
||||||
import './style.less';
|
import './style.less';
|
||||||
|
import TextArea from "antd/lib/input/TextArea"
|
||||||
|
|
||||||
interface BiddingInvitation {
|
interface BiddingInvitation {
|
||||||
type: string;
|
type: string;
|
||||||
@ -104,6 +106,11 @@ const BiddingInvitation: React.FC<BiddingInvitation> = (props) => {
|
|||||||
const [riskVisible, setRiskVisible] = useState<boolean>(false);//风控弹窗 2021.9.7 zhoujianlong
|
const [riskVisible, setRiskVisible] = useState<boolean>(false);//风控弹窗 2021.9.7 zhoujianlong
|
||||||
const [riskData, setRiskData] = useState<any[]>([]);//风控数据 2021.9.7 zhoujianlong
|
const [riskData, setRiskData] = useState<any[]>([]);//风控数据 2021.9.7 zhoujianlong
|
||||||
const WebofficeRef = useRef<Weboffice>(null);
|
const WebofficeRef = useRef<Weboffice>(null);
|
||||||
|
const [memoVisible, setMemoVisible] = useState<boolean>(false);//说明弹窗
|
||||||
|
/*weboffic end*/
|
||||||
|
const [UploadMemoID, setUploadMemoID] = useState<any>("empty"); //upload 业务id
|
||||||
|
|
||||||
|
const { Text } = Typography;
|
||||||
const onRef = (ref) => {
|
const onRef = (ref) => {
|
||||||
/* this.child= ref;*/
|
/* this.child= ref;*/
|
||||||
}
|
}
|
||||||
@ -182,6 +189,7 @@ const BiddingInvitation: React.FC<BiddingInvitation> = (props) => {
|
|||||||
setDocSaveBtn("compact");
|
setDocSaveBtn("compact");
|
||||||
setDocBtnName("新建");
|
setDocBtnName("新建");
|
||||||
setSping(false);
|
setSping(false);
|
||||||
|
setUploadMemoID("");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (type == "edit") {//==========================================================编辑
|
} else if (type == "edit") {//==========================================================编辑
|
||||||
@ -211,6 +219,7 @@ const BiddingInvitation: React.FC<BiddingInvitation> = (props) => {
|
|||||||
"openhallId": data.openhallId,
|
"openhallId": data.openhallId,
|
||||||
"annoTitle": data.annoTitle,
|
"annoTitle": data.annoTitle,
|
||||||
"sectionIds": defPak,
|
"sectionIds": defPak,
|
||||||
|
"reasonMemo": data.reasonMemo,
|
||||||
});
|
});
|
||||||
echoSet(data.contentWithStyle);
|
echoSet(data.contentWithStyle);
|
||||||
setUploadID(data.attDatasetId);
|
setUploadID(data.attDatasetId);
|
||||||
@ -220,6 +229,7 @@ const BiddingInvitation: React.FC<BiddingInvitation> = (props) => {
|
|||||||
setDocReadOnly("false");
|
setDocReadOnly("false");
|
||||||
setDocSaveBtn("compact");
|
setDocSaveBtn("compact");
|
||||||
setDocBtnName("编辑");
|
setDocBtnName("编辑");
|
||||||
|
setUploadMemoID(data.reasonMemoAttrId);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -256,6 +266,7 @@ const BiddingInvitation: React.FC<BiddingInvitation> = (props) => {
|
|||||||
setDocReadOnly("ture");
|
setDocReadOnly("ture");
|
||||||
setDocSaveBtn("none");
|
setDocSaveBtn("none");
|
||||||
setDocBtnName("查看");
|
setDocBtnName("查看");
|
||||||
|
setUploadMemoID(data.reasonMemoAttrId);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -318,7 +329,15 @@ const BiddingInvitation: React.FC<BiddingInvitation> = (props) => {
|
|||||||
} else if (TpPackageName == "谈判") {
|
} else if (TpPackageName == "谈判") {
|
||||||
if (form.getFieldValue("docStartTime") < moment().startOf('day')) {
|
if (form.getFieldValue("docStartTime") < moment().startOf('day')) {
|
||||||
message.warn('采购文件获取开始时间需晚于当前时间');
|
message.warn('采购文件获取开始时间需晚于当前时间');
|
||||||
} else if (moment(form.getFieldValue("docEndTime")).startOf('day').diff(moment(form.getFieldValue("docStartTime")).startOf('day'), "days") < 3) {
|
} else if (proDict == "procurement_mode_6" && moment(form.getFieldValue("docEndTime")).startOf('day').diff(moment(form.getFieldValue("docStartTime")).startOf('day'), "days") < 1) {
|
||||||
|
message.warn('采购文件获取截止时间需与采购文件获取开始时间间隔不少于1天');
|
||||||
|
} else if (proDict == "procurement_mode_6" && moment(form.getFieldValue("docEndTime")).startOf('day').diff(moment(form.getFieldValue("docStartTime")).startOf('day'), "days") < 3) {
|
||||||
|
if(form.getFieldValue("reasonMemo") !== null && form.getFieldValue("reasonMemo") !== undefined){
|
||||||
|
msg = "true"
|
||||||
|
}else{
|
||||||
|
setMemoVisible(true);
|
||||||
|
}
|
||||||
|
} else if (moment(form.getFieldValue("docEndTime")).startOf('day').diff(moment(form.getFieldValue("docStartTime")).startOf('day'), "days") < 3) {
|
||||||
message.warn('采购文件获取截止时间需与采购文件获取开始时间间隔不少于3天');
|
message.warn('采购文件获取截止时间需与采购文件获取开始时间间隔不少于3天');
|
||||||
} else if (form.getFieldValue("replyEndTime").format('YYYY-MM-DD HH:mm:ss') < form.getFieldValue("docEndTime").format('YYYY-MM-DD HH:mm:ss')) {
|
} else if (form.getFieldValue("replyEndTime").format('YYYY-MM-DD HH:mm:ss') < form.getFieldValue("docEndTime").format('YYYY-MM-DD HH:mm:ss')) {
|
||||||
message.warn('应答截止时间需晚于或等于采购文件获取截止时间');
|
message.warn('应答截止时间需晚于或等于采购文件获取截止时间');
|
||||||
@ -442,9 +461,12 @@ const BiddingInvitation: React.FC<BiddingInvitation> = (props) => {
|
|||||||
// "contentHtmlId": WebofficeRef.current!.HTMLfileCode,//html id
|
// "contentHtmlId": WebofficeRef.current!.HTMLfileCode,//html id
|
||||||
"sections": packageMsg,
|
"sections": packageMsg,
|
||||||
"medias": "9",
|
"medias": "9",
|
||||||
"roomType": "2"
|
"roomType": "2",
|
||||||
|
"reasonMemoAttrId": form.getFieldValue("reasonMemoAttrId"),
|
||||||
|
"reasonMemo": form.getFieldValue("reasonMemo")
|
||||||
}
|
}
|
||||||
creatNotice(type, fromData).then(res => {
|
creatNotice(type, fromData).then(res => {
|
||||||
|
// creatNotice(type, fromData).then(res => {
|
||||||
if (res?.code == 4004 && res?.success == false) { //2021.9.7 zhoujianlong 新增和修改邀请函增加风控
|
if (res?.code == 4004 && res?.success == false) { //2021.9.7 zhoujianlong 新增和修改邀请函增加风控
|
||||||
const data = res?.data?.result == undefined ? [] : res?.data?.result
|
const data = res?.data?.result == undefined ? [] : res?.data?.result
|
||||||
setRiskData(data)
|
setRiskData(data)
|
||||||
@ -828,6 +850,45 @@ const BiddingInvitation: React.FC<BiddingInvitation> = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</Card> */}
|
</Card> */}
|
||||||
<BraftText braftRef={braftRef} echo={echo} disabled={editInformation} />
|
<BraftText braftRef={braftRef} echo={echo} disabled={editInformation} />
|
||||||
|
<Modal
|
||||||
|
destroyOnClose
|
||||||
|
title="原因说明"
|
||||||
|
visible={memoVisible}
|
||||||
|
width={'40%'}
|
||||||
|
onCancel={() => {
|
||||||
|
setMemoVisible(false)
|
||||||
|
}}
|
||||||
|
onOk={() => {setMemoVisible(false);onFinshInvitation();}}
|
||||||
|
footer={[
|
||||||
|
<Button key="back" onClick={() => setMemoVisible(false)}>
|
||||||
|
取消
|
||||||
|
</Button>,
|
||||||
|
<Button key="save" type="primary" onClick={() => {setMemoVisible(false);onFinshInvitation();}}>
|
||||||
|
确定
|
||||||
|
</Button>,
|
||||||
|
]}
|
||||||
|
centered
|
||||||
|
>
|
||||||
|
|
||||||
|
<Text style={{ color: '#b30000' }}>提示:当前采购文件获取截止时间与采购文件获取开始时间间隔少于3天,请填写原因说明!</Text>
|
||||||
|
<Form.Item
|
||||||
|
label="原因说明"
|
||||||
|
name="reasonMemo"
|
||||||
|
rules={[
|
||||||
|
{ required: true },
|
||||||
|
{ max: 500, message: '原因说明不能超过500字' },
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
<TextArea rows={4} style={{ resize: 'vertical'}} />
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item
|
||||||
|
label="附件文件"
|
||||||
|
name="reasonMemoAttrId"
|
||||||
|
extra="单个附件最大30MB"
|
||||||
|
>
|
||||||
|
{UploadMemoID != "empty" ? <ExtendUpload uploadProps={UploadProps} maxCount={1} bid={UploadMemoID} /> : null}
|
||||||
|
</Form.Item>
|
||||||
|
</Modal>
|
||||||
</Form>
|
</Form>
|
||||||
{editInformation ? null :
|
{editInformation ? null :
|
||||||
<div style={{ textAlign: "right", marginTop: " 26px" }}>
|
<div style={{ textAlign: "right", marginTop: " 26px" }}>
|
||||||
@ -893,6 +954,7 @@ const BiddingInvitation: React.FC<BiddingInvitation> = (props) => {
|
|||||||
}}
|
}}
|
||||||
data={riskData}
|
data={riskData}
|
||||||
/>}
|
/>}
|
||||||
|
|
||||||
</Spin>
|
</Spin>
|
||||||
|
|
||||||
)
|
)
|
||||||
|
@ -20,6 +20,7 @@ import { btnAuthority } from '@/utils/authority';
|
|||||||
import { getApprProcessList } from '@/utils/SeleApprovalProcess/service';
|
import { getApprProcessList } from '@/utils/SeleApprovalProcess/service';
|
||||||
import SeleApprovalProcess from '@/utils/SeleApprovalProcess';
|
import SeleApprovalProcess from '@/utils/SeleApprovalProcess';
|
||||||
import { checkObjectId } from '@/utils/DownloadUtils';
|
import { checkObjectId } from '@/utils/DownloadUtils';
|
||||||
|
import ReasonMemo from './ReasonMemo';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 招标公告开始
|
* 招标公告开始
|
||||||
@ -50,6 +51,7 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
|||||||
const [approvalVisible, setApprovalVisible] = useState<boolean>(false);//选择流程弹窗控制参数
|
const [approvalVisible, setApprovalVisible] = useState<boolean>(false);//选择流程弹窗控制参数
|
||||||
const [approvalData, setApprovalData] = useState<any[]>([]);//选择流程数据存储
|
const [approvalData, setApprovalData] = useState<any[]>([]);//选择流程数据存储
|
||||||
|
|
||||||
|
const [memoVisible, setMemoVisible] = useState<boolean>(false);//说明弹窗
|
||||||
let proName = ''; //名称
|
let proName = ''; //名称
|
||||||
let pktittle = '';
|
let pktittle = '';
|
||||||
let proDict = getProMethod();
|
let proDict = getProMethod();
|
||||||
@ -129,6 +131,13 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
|||||||
onClick={() => toEdit(record)}
|
onClick={() => toEdit(record)}
|
||||||
>
|
>
|
||||||
编辑
|
编辑
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])|| record.reasonMemo== null ||record.reasonMemo==undefined}
|
||||||
|
type="text"
|
||||||
|
onClick={() => toEditReasonMemo(record,"edit")}
|
||||||
|
>
|
||||||
|
原因说明
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])}
|
hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])}
|
||||||
@ -158,6 +167,13 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
|||||||
<Button type="text" onClick={() => toRead(record)}>
|
<Button type="text" onClick={() => toRead(record)}>
|
||||||
查看
|
查看
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button
|
||||||
|
hidden={ record.reasonMemo== null ||record.reasonMemo==undefined}
|
||||||
|
type="text"
|
||||||
|
onClick={() => toEditReasonMemo(record,"read")}
|
||||||
|
>
|
||||||
|
原因说明
|
||||||
|
</Button>
|
||||||
<Button type="text" key="9" hidden={!record.approvalInstanceId || !checkObjectId(record.id)} onClick={() => toApprovalFor(record)}>
|
<Button type="text" key="9" hidden={!record.approvalInstanceId || !checkObjectId(record.id)} onClick={() => toApprovalFor(record)}>
|
||||||
查看审批流程
|
查看审批流程
|
||||||
</Button>
|
</Button>
|
||||||
@ -176,6 +192,13 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
|||||||
<Button type="text" onClick={() => toRead(record)}>
|
<Button type="text" onClick={() => toRead(record)}>
|
||||||
查看
|
查看
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button
|
||||||
|
hidden={record.reasonMemo== null ||record.reasonMemo==undefined}
|
||||||
|
type="text"
|
||||||
|
onClick={() => toEditReasonMemo(record,"read")}
|
||||||
|
>
|
||||||
|
原因说明
|
||||||
|
</Button>
|
||||||
<Button type="text" key="9" hidden={!record.approvalInstanceId || !checkObjectId(record.id)} onClick={() => toApprovalFor(record)}>
|
<Button type="text" key="9" hidden={!record.approvalInstanceId || !checkObjectId(record.id)} onClick={() => toApprovalFor(record)}>
|
||||||
查看审批流程
|
查看审批流程
|
||||||
</Button>
|
</Button>
|
||||||
@ -190,6 +213,13 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
|||||||
>
|
>
|
||||||
编辑
|
编辑
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button
|
||||||
|
hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])|| record.reasonMemo== null ||record.reasonMemo==undefined}
|
||||||
|
type="text"
|
||||||
|
onClick={() => toEditReasonMemo(record,"edit")}
|
||||||
|
>
|
||||||
|
原因说明
|
||||||
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])}
|
hidden={btnAuthority(['ebtp-agency-project-manager', 'ebtp-purchase'])}
|
||||||
type="text"
|
type="text"
|
||||||
@ -221,6 +251,13 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
|||||||
<Button type="text" onClick={() => toRead(record)}>
|
<Button type="text" onClick={() => toRead(record)}>
|
||||||
查看
|
查看
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button
|
||||||
|
hidden={record.reasonMemo== null ||record.reasonMemo==undefined}
|
||||||
|
type="text"
|
||||||
|
onClick={() => toEditReasonMemo(record,"read")}
|
||||||
|
>
|
||||||
|
原因说明
|
||||||
|
</Button>
|
||||||
<Button type="text" key="9" hidden={!record.approvalInstanceId || !checkObjectId(record.id)} onClick={() => toApprovalFor(record)}>
|
<Button type="text" key="9" hidden={!record.approvalInstanceId || !checkObjectId(record.id)} onClick={() => toApprovalFor(record)}>
|
||||||
查看审批流程
|
查看审批流程
|
||||||
</Button>
|
</Button>
|
||||||
@ -239,6 +276,13 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
|||||||
<Button type="text" onClick={() => toRead(record)}>
|
<Button type="text" onClick={() => toRead(record)}>
|
||||||
查看
|
查看
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button
|
||||||
|
hidden={record.reasonMemo== null ||record.reasonMemo==undefined}
|
||||||
|
type="text"
|
||||||
|
onClick={() => toEditReasonMemo(record,"read")}
|
||||||
|
>
|
||||||
|
原因说明
|
||||||
|
</Button>
|
||||||
<Button type="text" key="9" hidden={!record.approvalInstanceId || !checkObjectId(record.id)} onClick={() => toApprovalFor(record)}>
|
<Button type="text" key="9" hidden={!record.approvalInstanceId || !checkObjectId(record.id)} onClick={() => toApprovalFor(record)}>
|
||||||
查看审批流程
|
查看审批流程
|
||||||
</Button>
|
</Button>
|
||||||
@ -434,7 +478,15 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*编辑原因说明*/
|
||||||
|
const toEditReasonMemo = (props: any,type: any) => {
|
||||||
|
setPkId(props.id);
|
||||||
|
setType(type);
|
||||||
|
setMemoVisible(true);
|
||||||
|
};
|
||||||
const Proref = useRef<ActionType>();
|
const Proref = useRef<ActionType>();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div style={{ height: '100%', position: 'relative' }}>
|
<div style={{ height: '100%', position: 'relative' }}>
|
||||||
<Spin spinning={spin}>
|
<Spin spinning={spin}>
|
||||||
@ -511,6 +563,16 @@ const BiddingInvitationList: React.FC<{}> = (props) => {
|
|||||||
setRefresh(Math.random() + 1)
|
setRefresh(Math.random() + 1)
|
||||||
}} data={approvalData} annoId={recordData?.id} />
|
}} data={approvalData} annoId={recordData?.id} />
|
||||||
) : null}
|
) : null}
|
||||||
|
{memoVisible ? (
|
||||||
|
<ReasonMemo
|
||||||
|
modalVisible={memoVisible}
|
||||||
|
id={pkId}
|
||||||
|
type={type}
|
||||||
|
onCancel={() => {
|
||||||
|
setMemoVisible(false)
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
) : null}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
129
src/pages/Bid/BiddingAnnouncement/components/ReasonMemo.tsx
Normal file
129
src/pages/Bid/BiddingAnnouncement/components/ReasonMemo.tsx
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
import { Button, Form, message, Modal, Typography, Spin } from 'antd';
|
||||||
|
import TextArea from 'antd/lib/input/TextArea';
|
||||||
|
import React, { useEffect, useState } from 'react';
|
||||||
|
import { GetNoticeMsg, updateMemo } from '../service';
|
||||||
|
import { UploadProps } from "antd/lib/upload/interface";
|
||||||
|
import ExtendUpload from '@/utils/ExtendUpload';
|
||||||
|
/*说明原因 组件*/
|
||||||
|
type Props = {
|
||||||
|
id: string;
|
||||||
|
type: string;
|
||||||
|
onCancel: () => void;
|
||||||
|
modalVisible: boolean; //弹窗visible
|
||||||
|
}
|
||||||
|
const Index: React.FC<Props> = (props) => {
|
||||||
|
const { type, id ,modalVisible,onCancel} = props;
|
||||||
|
const [spinning, setSping] = useState<boolean>(false);//加载遮罩
|
||||||
|
const [UploadMemoID, setUploadMemoID] = useState<any>("empty"); //upload 业务id
|
||||||
|
const [disableStatus, setDisableStatus] = useState<boolean>(false);//是否只读
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
const { Text } = Typography;
|
||||||
|
useEffect(() => {
|
||||||
|
Int();
|
||||||
|
form.resetFields();//清除form中数据
|
||||||
|
}, [id, type]);
|
||||||
|
|
||||||
|
const UploadProps: UploadProps = {
|
||||||
|
name: "file",
|
||||||
|
disabled: disableStatus
|
||||||
|
}
|
||||||
|
|
||||||
|
const layout = {
|
||||||
|
labelCol: { span: 7 },
|
||||||
|
wrapperCol: { span: 10 },
|
||||||
|
};
|
||||||
|
|
||||||
|
const Int = async () => {
|
||||||
|
setSping(true);
|
||||||
|
await GetNoticeMsg(id).then(res => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
const data = res.data;
|
||||||
|
let defPak = [];
|
||||||
|
for (const item of data.sections) {
|
||||||
|
defPak.push(item.bsId);
|
||||||
|
}
|
||||||
|
form.setFieldsValue({
|
||||||
|
"reasonMemo": data.reasonMemo,
|
||||||
|
"reasonMemoAttrId": data.reasonMemoAttrId,
|
||||||
|
});
|
||||||
|
setUploadMemoID(data.reasonMemoAttrId);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (type == "read") {//==========================================================查看
|
||||||
|
setDisableStatus(true);//不可编辑
|
||||||
|
}
|
||||||
|
setSping(false);
|
||||||
|
};
|
||||||
|
const submit = () => {
|
||||||
|
setSping(true);
|
||||||
|
const fromData = {
|
||||||
|
"id": id,
|
||||||
|
"reasonMemoAttrId": form.getFieldValue("reasonMemoAttrId"),
|
||||||
|
"reasonMemo": form.getFieldValue("reasonMemo")
|
||||||
|
}
|
||||||
|
updateMemo(type, fromData).then(res => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
message.success("成功");
|
||||||
|
onCancel();
|
||||||
|
setSping(false);
|
||||||
|
} else {
|
||||||
|
message.success("失败");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Spin spinning={spinning}>
|
||||||
|
|
||||||
|
<Modal
|
||||||
|
destroyOnClose
|
||||||
|
visible={modalVisible}
|
||||||
|
title="原因说明"
|
||||||
|
width={'40%'}
|
||||||
|
onCancel={() => {
|
||||||
|
onCancel();
|
||||||
|
}}
|
||||||
|
onOk={() => { submit();}}
|
||||||
|
footer={[
|
||||||
|
disableStatus ? null : <Button key="back" onClick={() => onCancel()}>
|
||||||
|
取消
|
||||||
|
</Button>,
|
||||||
|
disableStatus ? null : <Button key="save" type="primary" onClick={() => { submit(); }}>
|
||||||
|
确定
|
||||||
|
</Button>,
|
||||||
|
]}
|
||||||
|
centered
|
||||||
|
>
|
||||||
|
|
||||||
|
<Text style={{ color: '#b30000' }}>提示:当前采购文件获取截止时间与采购文件获取开始时间间隔少于3天,请填写原因说明!</Text>
|
||||||
|
<Form
|
||||||
|
{...layout}
|
||||||
|
name="basic"
|
||||||
|
form={form}
|
||||||
|
component={false}
|
||||||
|
>
|
||||||
|
|
||||||
|
<Form.Item
|
||||||
|
label="原因说明"
|
||||||
|
name="reasonMemo"
|
||||||
|
rules={[
|
||||||
|
{ required: true },
|
||||||
|
{ max: 500, message: '原因说明不能超过500字' },
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
<TextArea rows={4} style={{ resize: 'vertical' }} disabled={disableStatus} />
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item
|
||||||
|
label="附件文件"
|
||||||
|
name="reasonMemoAttrId"
|
||||||
|
extra="单个附件最大30MB"
|
||||||
|
>
|
||||||
|
{UploadMemoID != "empty" ? <ExtendUpload uploadProps={UploadProps} maxCount={1} bid={UploadMemoID} /> : null}
|
||||||
|
</Form.Item>
|
||||||
|
</Form>
|
||||||
|
</Modal>
|
||||||
|
</Spin>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
export default Index;
|
@ -223,3 +223,12 @@ export async function savePublicData(params: any) {
|
|||||||
data: params
|
data: params
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/*修改说明*/
|
||||||
|
export async function updateMemo(type: any, params?: any) {
|
||||||
|
return request("/api/biz-service-ebtp-bid/v1/anno/updateMemo", {
|
||||||
|
method: "post",
|
||||||
|
data: {
|
||||||
|
...params
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
Reference in New Issue
Block a user