This commit is contained in:
jl-zhoujl2
2022-05-24 13:06:41 +08:00
parent 54335a40ac
commit ba2777bfd7
17 changed files with 661 additions and 623 deletions

View File

@ -41,6 +41,7 @@ const BiddingDocument: React.FC<BiddingDocumentProps> = (props) => {
const [docSaveBtn, setDocSaveBtn] = useState<string>("compact");//保存按钮是否展示
const [UploadList, setUploadList] = useState<any>(); //存upload列表
const [UploadID, setUploadID] = useState<any>("empty"); //upload 业务id
const [docName, setDocName] = useState<string>('');//文件名称格式化
const UploadProps: UploadProps = {
name: "file",
@ -287,7 +288,7 @@ const BiddingDocument: React.FC<BiddingDocumentProps> = (props) => {
},
]}
>
<Input maxLength={200} readOnly={editInformation} />
<Input maxLength={200} readOnly={editInformation} value={docName} onChange={e => setDocName(trim(e.target.value))} />
</Form.Item>
{//单一来源简化流程

View File

@ -3,6 +3,7 @@ import { Button, Form, Input, Modal, Select, Spin } from 'antd';
import { PackageInformationProps } from '../data';
import SelectProcess from './SelectProcess';
import { getChooseProcess } from '../service';
import { trim } from '@/utils/CommonUtils';
/**
* 公开比选编辑
@ -45,6 +46,8 @@ const PackageInformationChoose: React.FC<PackageInformationProps> = (props) => {
const [spinningload, setSpinningload] = useState<boolean>(false);
//保存loading
const [saveLoading, setSaveLoading] = useState<boolean>(false);
//名称格式化
const [bidSectName, setBidSectName] = useState<string>('');
useEffect(() => {
if (values.status == 0 || values.status == 1) {
setStatus(false);
@ -64,15 +67,15 @@ const PackageInformationChoose: React.FC<PackageInformationProps> = (props) => {
//判断评审规则是否存在(比选多阶段)
if (values?.reviewRules == null) {
//判断资格审查方法是否存在(比选一阶段预审)
if (values?.ptcpMode == null) {} else {
if (values?.ptcpMode == null) { } else {
params['levelFour'] = values?.ptcpMode;
}
} else {
params['levelThree'] = values?.reviewRules;
}
//判断应不应该显示选择流程按钮
if(projectItems?.biddingSignDict == 'selection_method_1') {//比选一阶段
if(projectItems?.examinationMethodDict == 'examination_method_2') {//资格后审
if (projectItems?.biddingSignDict == 'selection_method_1') {//比选一阶段
if (projectItems?.examinationMethodDict == 'examination_method_2') {//资格后审
values?.evalMethodDict == null ? setShowSelect(true) : setShowSelect(false);
} else {
values?.evalMethodDict == null || values?.ptcpMode == null ? setShowSelect(true) : setShowSelect(false);
@ -143,18 +146,18 @@ const PackageInformationChoose: React.FC<PackageInformationProps> = (props) => {
//判断评审规则是否存在(比选多阶段)
if (form.getFieldValue('reviewRules') == null || form.getFieldValue('reviewRules') == '') {
//判断资格审查方法是否存在(比选一阶段预审)
if (form.getFieldValue('ptcpMode') == null || form.getFieldValue('ptcpMode') == '') {} else {
if (form.getFieldValue('ptcpMode') == null || form.getFieldValue('ptcpMode') == '') { } else {
params['levelFour'] = form.getFieldValue('ptcpMode');
}
} else {
params['levelThree'] = form.getFieldValue('reviewRules');
}
//判断应不应该显示选择流程按钮
if(projectItems?.biddingSignDict == 'selection_method_1') {//比选一阶段
if(projectItems?.examinationMethodDict == 'examination_method_2') {//资格后审
//判断应不应该显示选择流程按钮
if (projectItems?.biddingSignDict == 'selection_method_1') {//比选一阶段
if (projectItems?.examinationMethodDict == 'examination_method_2') {//资格后审
form.getFieldValue('evalMethodDict') == null || form.getFieldValue('evalMethodDict') == '' ? setShowSelect(true) : setShowSelect(false);
} else {
form.getFieldValue('evalMethodDict') == null || form.getFieldValue('evalMethodDict') == ''|| form.getFieldValue('ptcpMode') == null || form.getFieldValue('ptcpMode') == '' ? setShowSelect(true) : setShowSelect(false);
form.getFieldValue('evalMethodDict') == null || form.getFieldValue('evalMethodDict') == '' || form.getFieldValue('ptcpMode') == null || form.getFieldValue('ptcpMode') == '' ? setShowSelect(true) : setShowSelect(false);
}
} else {
form.getFieldValue('evalMethodDict') == null || form.getFieldValue('evalMethodDict') == '' || form.getFieldValue('reviewRules') == null || form.getFieldValue('reviewRules') == '' ? setShowSelect(true) : setShowSelect(false);
@ -228,13 +231,13 @@ const PackageInformationChoose: React.FC<PackageInformationProps> = (props) => {
!controlDisplay
? false
: [
<Button key="back" onClick={onCancel}>
</Button>,
<Button key="submit" type="primary" loading={saveLoading} onClick={onSubmit}>
</Button>,
]
<Button key="back" onClick={onCancel}>
</Button>,
<Button key="submit" type="primary" loading={saveLoading} onClick={onSubmit}>
</Button>,
]
}
>
<Spin spinning={saveLoading} delay={300}>
@ -256,7 +259,7 @@ const PackageInformationChoose: React.FC<PackageInformationProps> = (props) => {
label="采购包名称"
rules={[{ required: controlDisplay }, { max: 100, message: '最大不能超过100字' }]}
>
<Input disabled={!controlDisplay} placeholder="请填写采购包名称" />
<Input disabled={!controlDisplay} placeholder="请填写采购包名称" value={bidSectName} onChange={e => setBidSectName(trim(e.target.value))} />
</Form.Item>
<Form.Item name="bidSectContractPrice" label="标段预算">
<Input prefix="¥" suffix="元" disabled />
@ -279,7 +282,7 @@ const PackageInformationChoose: React.FC<PackageInformationProps> = (props) => {
</Select>
</Form.Item>
{projectItems?.biddingSignDict == 'selection_method_1' &&
projectItems?.examinationMethodDict == 'examination_method_1' ? (
projectItems?.examinationMethodDict == 'examination_method_1' ? (
<Form.Item
name="ptcpMode"
label="资格审查方法"

View File

@ -3,6 +3,7 @@ import { Button, Form, Input, Modal, Select } from 'antd';
import { PackageInformationProps } from '@/pages/Project/ProjectManage/PackageDivided/data';
import { getChooseProcess } from '@/pages/Project/ProjectManage/PackageDivided/service';
import SelectProcess from '@/pages/Project/ProjectManage/PackageDivided/components/SelectProcess';
import { trim } from '@/utils/CommonUtils';
/*
*
* 询价编辑
@ -44,6 +45,8 @@ const PackageInformationEnquiry: React.FC<PackageInformationProps> = (props) =>
const [spinningload, setSpinningload] = useState<boolean>(false);
//loading
const [saveLoading, setSaveLoading] = useState<boolean>(false);
//名称格式化
const [bidSectName, setBidSectName] = useState<string>('');
useEffect(() => {
if (values.status == 1 || values.status == 0) {
setStatus(false);
@ -130,13 +133,13 @@ const PackageInformationEnquiry: React.FC<PackageInformationProps> = (props) =>
!controlDisplay
? false
: [
<Button key="back" onClick={onCancel}>
</Button>,
<Button key="submit" type="primary" loading={saveLoading} onClick={onSubmit}>
</Button>,
]
<Button key="back" onClick={onCancel}>
</Button>,
<Button key="submit" type="primary" loading={saveLoading} onClick={onSubmit}>
</Button>,
]
}
>
<Form
@ -157,7 +160,7 @@ const PackageInformationEnquiry: React.FC<PackageInformationProps> = (props) =>
label="采购包名称"
rules={[{ required: controlDisplay }, { max: 100, message: '最大不能超过100字' }]}
>
<Input disabled={!controlDisplay} placeholder="请填写采购包名称" />
<Input disabled={!controlDisplay} placeholder="请填写采购包名称" value={bidSectName} onChange={e => setBidSectName(trim(e.target.value))} />
</Form.Item>
<Form.Item
name="evalMethodDict"

View File

@ -3,6 +3,7 @@ import { Button, Form, Input, Modal, Select, Spin } from 'antd';
import { PackageInformationProps } from '../data';
import { getChooseProcess } from '../service';
import SelectProcess from './SelectProcess';
import { trim } from '@/utils/CommonUtils';
/**
* 邀请招标编辑
*
@ -45,6 +46,8 @@ const PackageInformationInvite: React.FC<PackageInformationProps> = (props) => {
const [spinningload, setSpinningload] = useState<boolean>(false);
//loading
const [saveLoading, setSaveLoading] = useState<boolean>(false);
//名称格式化
const [bidSectName, setBidSectName] = useState<string>('');
useEffect(() => {
if (values.status == 0 || values.status == 1) {
setStatus(false);
@ -139,7 +142,7 @@ const PackageInformationInvite: React.FC<PackageInformationProps> = (props) => {
});
if (form.getFieldValue('evalMethodDict') == null) {
} else {
(false);
(false);
}
};
return (
@ -157,13 +160,13 @@ const PackageInformationInvite: React.FC<PackageInformationProps> = (props) => {
!controlDisplay
? false
: [
<Button key="back" onClick={onCancel}>
</Button>,
<Button key="submit" type="primary" loading={saveLoading} onClick={onSubmit}>
</Button>,
]
<Button key="back" onClick={onCancel}>
</Button>,
<Button key="submit" type="primary" loading={saveLoading} onClick={onSubmit}>
</Button>,
]
}
>
<Spin spinning={saveLoading} delay={300}>
@ -185,7 +188,7 @@ const PackageInformationInvite: React.FC<PackageInformationProps> = (props) => {
label="标段名称"
rules={[{ required: controlDisplay }, { max: 100, message: '最大不能超过100字' }]}
>
<Input disabled={!controlDisplay} placeholder="请填写标段名称" />
<Input disabled={!controlDisplay} placeholder="请填写标段名称" value={bidSectName} onChange={e => setBidSectName(trim(e.target.value))} />
</Form.Item>
<Form.Item name="bidSectContractPrice" label="标段预算">
<Input prefix="¥" suffix="元" disabled />

View File

@ -3,6 +3,7 @@ import { Button, Form, Input, Modal, Select, Spin } from 'antd';
import { PackageInformationProps } from '../data';
import { getChooseProcess } from '../service';
import SelectProcess from './SelectProcess';
import { trim } from '@/utils/CommonUtils';
/**
* 公开招标编辑
*
@ -46,6 +47,8 @@ const PackageInformationInviteBid: React.FC<PackageInformationProps> = (props) =
const [spinningload, setSpinningload] = useState<boolean>(false);
//loading
const [saveLoading, setSaveLoading] = useState<boolean>(false);
//名称格式化
const [bidSectName, setBidSectName] = useState<string>('');
useEffect(() => {
if (values.status == 1 || values.status == 0) {
setStatus(false);
@ -146,7 +149,7 @@ const PackageInformationInviteBid: React.FC<PackageInformationProps> = (props) =
setChooseProcessList(res.data);
}
}).finally(() => {
setSpinningload(false);
setSpinningload(false);
});
};
//评价方法
@ -238,13 +241,13 @@ const PackageInformationInviteBid: React.FC<PackageInformationProps> = (props) =
!controlDisplay
? false
: [
<Button key="back" onClick={onCancel}>
</Button>,
<Button key="submit" type="primary" loading={saveLoading} onClick={onSubmit}>
</Button>,
]
<Button key="back" onClick={onCancel}>
</Button>,
<Button key="submit" type="primary" loading={saveLoading} onClick={onSubmit}>
</Button>,
]
}
>
<Spin spinning={saveLoading} delay={300}>
@ -266,7 +269,7 @@ const PackageInformationInviteBid: React.FC<PackageInformationProps> = (props) =
label="标段名称"
rules={[{ required: controlDisplay }, { max: 100, message: '最大不能超过100字' }]}
>
<Input disabled={!controlDisplay} placeholder="请填写标段名称" />
<Input disabled={!controlDisplay} placeholder="请填写标段名称" value={bidSectName} onChange={e => setBidSectName(trim(e.target.value))} />
</Form.Item>
<Form.Item name="bidSectContractPrice" label="标段预算">
<Input prefix="¥" suffix="元" disabled />

View File

@ -3,6 +3,7 @@ import { Button, Form, Input, Modal, Select, Spin } from 'antd';
import { PackageInformationProps } from '../data';
import { getChooseProcess } from '../service';
import SelectProcess from './SelectProcess';
import { trim } from '@/utils/CommonUtils';
/**
* 竞争性谈判编辑
@ -46,7 +47,8 @@ const PackageInformationNegotiate: React.FC<PackageInformationProps> = (props) =
const [spinningload, setSpinningload] = useState<boolean>(false);
//保存loading
const [saveLoading, setSaveLoading] = useState<boolean>(false);
//名称格式化
const [bidSectName, setBidSectName] = useState<string>('');
useEffect(() => {
if (values.status == 0 || values.status == 1) {
setStatus(false);
@ -148,13 +150,13 @@ const PackageInformationNegotiate: React.FC<PackageInformationProps> = (props) =
!controlDisplay
? false
: [
<Button key="back" onClick={onCancel}>
</Button>,
<Button key="submit" type="primary" loading={saveLoading} onClick={onSubmit}>
</Button>,
]
<Button key="back" onClick={onCancel}>
</Button>,
<Button key="submit" type="primary" loading={saveLoading} onClick={onSubmit}>
</Button>,
]
}
>
<Spin spinning={saveLoading} delay={300}>
@ -176,7 +178,7 @@ const PackageInformationNegotiate: React.FC<PackageInformationProps> = (props) =
label="采购包名称"
rules={[{ required: controlDisplay }, { max: 100, message: '最大不能超过100字' }]}
>
<Input disabled={!controlDisplay} placeholder="请填写采购包名称" />
<Input disabled={!controlDisplay} placeholder="请填写采购包名称" value={bidSectName} onChange={e => setBidSectName(trim(e.target.value))} />
</Form.Item>
<Form.Item name="bidSectContractPrice" label="采购包预算">
<Input prefix="¥" suffix="元" disabled />

View File

@ -3,6 +3,7 @@ import { Button, Form, Input, Modal, Select, Spin } from 'antd';
import { PackageInformationProps } from '../data';
import { getChooseProcess } from '../service';
import SelectProcess from './SelectProcess';
import { trim } from '@/utils/CommonUtils';
/**
* 单一来源编辑
*
@ -43,7 +44,8 @@ const PackageInformationOnly: React.FC<PackageInformationProps> = (props) => {
const [spinningload, setSpinningload] = useState<boolean>(false);
//保存loading
const [saveLoading, setSaveLoading] = useState<boolean>(false);
//名称格式化
const [bidSectName, setBidSectName] = useState<string>('');
useEffect(() => {
if (values.status == 0 || values.status == 1) {
setStatus(false);
@ -144,7 +146,7 @@ const PackageInformationOnly: React.FC<PackageInformationProps> = (props) => {
<Input disabled />
</Form.Item>
<Form.Item name="bidSectName" label="采购包名称" rules={[{ required: controlDisplay }, { max: 100, message: "最大不能超过100字" }]}>
<Input disabled={!controlDisplay} placeholder="请填写采购包名称" />
<Input disabled={!controlDisplay} placeholder="请填写采购包名称" value={bidSectName} onChange={e => setBidSectName(trim(e.target.value))} />
</Form.Item>
<Form.Item name="bidSectContractPrice" label="采购包预算">
<Input prefix="¥" suffix="元" disabled />

View File

@ -3,6 +3,7 @@ import { Button, Form, Input, Modal, Select, Spin } from 'antd';
import { PackageInformationProps } from '../data';
import SelectProcess from './SelectProcess';
import { getChooseProcess } from '../service';
import { trim } from '@/utils/CommonUtils';
/**
* 公开招募编辑
*
@ -45,6 +46,8 @@ const PackageInformationRecruit: React.FC<PackageInformationProps> = (props) =>
const [spinningload, setSpinningload] = useState<boolean>(false);
//保存loading
const [saveLoading, setSaveLoading] = useState<boolean>(false);
//名称格式化
const [bidSectName, setBidSectName] = useState<string>('');
useEffect(() => {
if (values.status == 0 || values.status == 1) {
setStatus(false);
@ -68,7 +71,7 @@ const PackageInformationRecruit: React.FC<PackageInformationProps> = (props) =>
}
}
}).finally(() => {
setSpinningload(false);
setSpinningload(false);
});
values?.reviewRules == null ? setShowSelect(true) : setShowSelect(false);
form.setFieldsValue({
@ -159,13 +162,13 @@ const PackageInformationRecruit: React.FC<PackageInformationProps> = (props) =>
!controlDisplay
? false
: [
<Button key="back" onClick={onCancel}>
</Button>,
<Button key="submit" type="primary" loading={saveLoading} onClick={onSubmit}>
</Button>,
]
<Button key="back" onClick={onCancel}>
</Button>,
<Button key="submit" type="primary" loading={saveLoading} onClick={onSubmit}>
</Button>,
]
}
>
<Spin spinning={saveLoading} delay={300}>
@ -187,7 +190,7 @@ const PackageInformationRecruit: React.FC<PackageInformationProps> = (props) =>
label="包件名称"
rules={[{ required: controlDisplay }, { max: 100, message: '最大不能超过100字' }]}
>
<Input disabled={!controlDisplay} placeholder="请填写包件名称" />
<Input disabled={!controlDisplay} placeholder="请填写包件名称" value={bidSectName} onChange={e => setBidSectName(trim(e.target.value))} />
</Form.Item>
<Form.Item
name="reviewRules"

View File

@ -76,6 +76,8 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
const openTenderFormSelect = createSelect(dictData['open_tender_form=record']);
//是否需要供应商ipass解密显隐
const [isIPassDecode, isIPassDecodeSet] = useState<boolean>(false);
//项目名称格式化
const [projectName, setProjectName] = useState<string>('');
function onChangeIpass(e: any) {//是否使用ipass制作
isIPassDecodeSet(e.target.value === '0');
}
@ -305,7 +307,7 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
name="projectName"
rules={[{ required: true }]}
>
<Input disabled={whetherReadonly} readOnly={whetherReadonly} maxLength={150} />
<Input disabled={whetherReadonly} readOnly={whetherReadonly} maxLength={150} value={projectName} onChange={e => setProjectName(trim(e.target.value))} />
</Form.Item>
</Col>
<Col span={12}>

View File

@ -71,6 +71,8 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
const bidMethodSubDictSelect = createSelect(dictData['bid_method_sub=record']);
//适用法律
const openTenderFormSelect = createSelect(dictData['open_tender_form=record']);
//项目名称格式化
const [projectName, setProjectName] = useState<string>('');
useEffect(() => {
/**
* 根据id获取数据
@ -295,7 +297,7 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
name="projectName"
rules={[{ required: true }]}
>
<Input disabled={whetherReadonly} readOnly={whetherReadonly} maxLength={150} />
<Input disabled={whetherReadonly} readOnly={whetherReadonly} maxLength={150} value={projectName} onChange={e => setProjectName(trim(e.target.value))} />
</Form.Item>
</Col>
<Col span={12}>

View File

@ -34,10 +34,10 @@ function createSelect(data: any) {
function createSelectArea(data: any) {
let value = [];
for (let i = 0; i < data.length; i++) {
if (i === 0 && data[i].pid !== '0') {
value.push(<Option value=""></Option>)
}
value.push(<Option key={data[i].id} value={data[i].id}>{data[i].name}</Option>)
if (i === 0 && data[i].pid !== '0') {
value.push(<Option value=""></Option>)
}
value.push(<Option key={data[i].id} value={data[i].id}>{data[i].name}</Option>)
}
return value;
}
@ -77,6 +77,8 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
const [noInformationFlag, setNoInformationFlag] = useState<boolean>(String(status) === '0');
//是否需要供应商ipass解密显隐
const [isIPassDecode, isIPassDecodeSet] = useState<boolean>(false);
//项目名称格式化
const [projectName, setProjectName] = useState<string>('');
useEffect(() => {
/**
* 根据id获取数据
@ -255,15 +257,15 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
*/
const onSecondCityChange = (value: any) => {
form.resetFields(["regionDictId"]);
if (value) {
getProvinces(value).then(res => {
if (res.code === 200) {
setDistrict(createSelectArea(res.data));
}
})
} else {
setDistrict(createSelectArea([]));
if (value) {
getProvinces(value).then(res => {
if (res.code === 200) {
setDistrict(createSelectArea(res.data));
}
})
} else {
setDistrict(createSelectArea([]));
}
};
/**
* 区回调
@ -308,7 +310,7 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
name="projectName"
rules={[{ required: true }]}
>
<Input disabled={whetherReadonly} readOnly={whetherReadonly} maxLength={100} />
<Input disabled={whetherReadonly} readOnly={whetherReadonly} maxLength={100} value={projectName} onChange={e => setProjectName(trim(e.target.value))} />
</Form.Item>
</Col>
<Col span={12}>

View File

@ -74,6 +74,8 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
const [noInformationFlag, setNoInformationFlag] = useState<boolean>(String(status) === '0');
//是否需要供应商ipass解密显隐
const [isIPassDecode, isIPassDecodeSet] = useState<boolean>(false);
//项目名称格式化
const [projectName, setProjectName] = useState<string>('');
useEffect(() => {
/**
* 根据id获取数据
@ -281,7 +283,7 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
name="projectName"
rules={[{ required: true }]}
>
<Input disabled={whetherReadonly} readOnly={whetherReadonly} maxLength={100} />
<Input disabled={whetherReadonly} readOnly={whetherReadonly} maxLength={100} value={projectName} onChange={e => setProjectName(trim(e.target.value))} />
</Form.Item>
</Col>
<Col span={12}>

View File

@ -73,6 +73,8 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
const [noInformationFlag, setNoInformationFlag] = useState<boolean>(String(status) === '0');
//是否需要供应商ipass解密显隐
const [isIPassDecode, isIPassDecodeSet] = useState<boolean>(false);
//项目名称格式化
const [projectName, setProjectName] = useState<string>('');
function onChangeIpass(e: any) {//是否使用ipass制作
isIPassDecodeSet(e.target.value === '0');
}
@ -306,7 +308,7 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
name="projectName"
rules={[{ required: true }]}
>
<Input disabled={whetherReadonly} readOnly={whetherReadonly} maxLength={150} />
<Input disabled={whetherReadonly} readOnly={whetherReadonly} maxLength={150} value={projectName} onChange={e => setProjectName(trim(e.target.value))} />
</Form.Item>
</Col>
<Col span={12}>

View File

@ -71,6 +71,8 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
const [noInformationFlag, setNoInformationFlag] = useState<boolean>(String(status) === '0');
//是否需要供应商ipass解密显隐
const [isIPassDecode, isIPassDecodeSet] = useState<boolean>(false);
//项目名称格式化
const [projectName, setProjectName] = useState<string>('');
function onChangeIpass(e: any) {//是否使用ipass制作
isIPassDecodeSet(e.target.value === '0');
}
@ -305,7 +307,7 @@ const ProjectDocumentation: React.FC<ProcurementMethodItem> = (props) => {
name="projectName"
rules={[{ required: true }]}
>
<Input disabled={whetherReadonly} readOnly={whetherReadonly} maxLength={150} />
<Input disabled={whetherReadonly} readOnly={whetherReadonly} maxLength={150} value={projectName} onChange={e => setProjectName(trim(e.target.value))} />
</Form.Item>
</Col>
<Col span={12}>

View File

@ -38,6 +38,7 @@ const BiddingDocument: React.FC<BiddingDocumentProps> = (props) => {
const [docSaveBtn, setDocSaveBtn] = useState<string>("compact");//保存按钮是否展示
const [UploadList, setUploadList] = useState<any>(); //存upload列表
const [UploadID, setUploadID] = useState<any>("empty"); //upload 业务id
const [docName, setDocName] = useState<string>('');//文件名称格式化
const UploadProps: UploadProps = {
name: "file",
disabled: editInformation
@ -244,7 +245,7 @@ const BiddingDocument: React.FC<BiddingDocumentProps> = (props) => {
},
]}
>
<Input maxLength={200} readOnly={editInformation} />
<Input maxLength={200} readOnly={editInformation} value={docName} onChange={e => setDocName(trim(e.target.value))} />
</Form.Item>
<Form.Item
label="关联标段"