5.25 公开比选一阶段二次项目,资格审查合格供应商为一家时可增加自定义流程

This commit is contained in:
jl-zhoujl2
2022-05-25 14:50:03 +08:00
parent ef6479fa26
commit 4f404df3de
9 changed files with 133 additions and 86 deletions

View File

@ -70,8 +70,14 @@ const Index: React.FC<{}> = () => {
const [uploadId, setUploadId] = useState<any>();
//单选数值存储
const [radioValue, setRadioValue] = useState<number>();
//是否显示合格供应商不足三家
const [isShowFoot, setIsShowFoot] = useState<boolean>(false);
//比选一阶段二次项目自定义评审流程单选数值存储
const [processValue, setProcessValue] = useState<number>();
//合格供应商数量
const [qualifyNumber, setQualifyNumber] = useState<number>(3);
//是否公开比选一阶段二次项目
const [isBxOneSecond, setIsBxOneSecond] = useState<boolean>(false);
//二次项目是否可编辑两个单选
const [isNodeEnd, setIsNodeEnd] = useState<boolean>(false);
//动态获取表单
const [form] = Form.useForm();
//当前页 初审详情
@ -86,6 +92,7 @@ const Index: React.FC<{}> = () => {
showNameT = { tbr: '投标人', pb: '评标', tb: '投标' };
} else {
showNameT = { tbr: '供应商', pb: '评审', tb: '应答' }
}
const columns: any[] = [ // 列表数据
@ -712,7 +719,7 @@ const Index: React.FC<{}> = () => {
}
const finalSubmit = async () => {
if (isShowFoot == true) {
if (qualifyNumber < 3) {
form.submit();
} else {
const remarkList = getRemarkList(ref.current)
@ -810,6 +817,10 @@ const Index: React.FC<{}> = () => {
const radioOnChange = (e: any) => {
setRadioValue(e.target.value);
};
//流程单选onChange方法
const processOnChange = (e: any) => {
setProcessValue(e.target.value);
};
//表单提交
const onFinish = async (values: any) => {
let data = {
@ -818,6 +829,12 @@ const Index: React.FC<{}> = () => {
if (radioValue == 1) {
data["remarks"] = values.remarks
data["fileId"] = values.fileId
if (isBxOneSecond && qualifyNumber == 1) {//比选一阶段二次项目 只有一家供应商合格
data["operationType"] = 1
data["customizeFlowStatus"] = processValue
} else {
data["operationType"] = 0
}
}
const remarkList = getRemarkList(ref.current)
if (remarkList) {
@ -864,10 +881,13 @@ const Index: React.FC<{}> = () => {
if (res?.code == 200) {
setTableDisplay(res.data)
//初始化三家供应商判断数据
await checkShowData(assessRoomId).then(response => {
await checkShowData(assessRoomId, getURLInformation('nodeId')).then(response => {
if (response?.code == 200) {
setUploadId(response?.data?.fileId)
setRadioValue(response?.data?.continueStatus == undefined ? 1 : response?.data?.continueStatus)
setProcessValue(response?.data?.customizeFlowStatus == undefined ? 1 : response?.data?.customizeFlowStatus);
setIsBxOneSecond(response?.data?.bxOneSecondProjectStatus);
setIsNodeEnd(response?.data?.nodeEndStatus);
form.setFieldsValue({
remarks: response.data?.remarks
})
@ -914,17 +934,24 @@ const Index: React.FC<{}> = () => {
<>
<p className="red mb0"></p>
<BidPreliminarySummary readOnly={reviewStatus == 2 || reviewStatus == 3} summaryRef={ref} reload={count} totalSupplier={totalSupplierColumns} onSubmit={(value) => {
setIsShowFoot(value)
}} />
{isShowFoot ? (
setQualifyNumber(value);
}} isBxOneSecond={isBxOneSecond} isNodeEnd={isNodeEnd} />
{qualifyNumber < 3 ? (
<div>
<div style={{ margin: '8px 0px' }}>
<span style={{ color: '#b30000' }}></span>
<Radio.Group onChange={radioOnChange} value={radioValue} disabled={reviewStatus == 2 || reviewStatus == 3}>
<span style={{ color: '#b30000' }}>{qualifyNumber == 1 && isBxOneSecond ? '合格供应商仅一家,是否继续进行' : '合格供应商不足三家,是否继续进行详审'}</span>
<Radio.Group onChange={radioOnChange} value={radioValue} disabled={reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd)}>
<Radio value={1}></Radio>
<Radio value={0}></Radio>
</Radio.Group>
</div>
{qualifyNumber == 1 && isBxOneSecond && radioValue == 1 && <div style={{ margin: '8px 70px' }}>
<span style={{ color: '#b30000' }}></span>
<Radio.Group onChange={processOnChange} value={processValue} disabled={reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd)}>
<Radio value={1}></Radio>
<Radio value={0}></Radio>
</Radio.Group>
</div>}
<Form
{...layout}
form={form}
@ -935,12 +962,12 @@ const Index: React.FC<{}> = () => {
<Form.Item
name="remarks"
label="说明"
rules={[{ required: !(reviewStatus == 2 || reviewStatus == 3) && radioValue == 1 }]}
rules={[{ required: !(reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd)) && radioValue == 1 }]}
hidden={radioValue == 0}
>
<TextArea maxLength={500} disabled={reviewStatus == 2 || reviewStatus == 3} placeholder="请填写说明" style={{ resize: reviewStatus == 2 || reviewStatus == 3 ? 'none' : 'vertical' }} />
<TextArea maxLength={500} disabled={reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd)} bordered={!(reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd))} placeholder="请填写说明" rows={3} autoSize={reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd)} />
</Form.Item>
{reviewStatus == 2 || reviewStatus == 3 ? (
{reviewStatus == 2 || reviewStatus == 3 || (qualifyNumber == 1 && isBxOneSecond && isNodeEnd) ? (
<Form.Item
name="fileId"
label="说明文件"