年审模块
This commit is contained in:
@ -30,8 +30,8 @@ const getUrlParams = () => {
|
||||
* 继承了ConnectProps,添加了supplierTaskManage和dispatch
|
||||
*/
|
||||
interface PageProps extends ConnectProps {
|
||||
supplierAnnualTaskManage: SupplierTaskModelState; // dva model状态
|
||||
dispatch: Dispatch; // dva dispatch方法
|
||||
supplierAnnualTaskManage: SupplierTaskModelState; // dva model状态
|
||||
dispatch: Dispatch; // dva dispatch方法
|
||||
}
|
||||
|
||||
/**
|
||||
@ -45,24 +45,20 @@ const SupplierTaskManageAdd: React.FC<PageProps> = ({ supplierAnnualTaskManage,
|
||||
// 判断是否为编辑模式
|
||||
const urlParams = getUrlParams();
|
||||
const isEditMode = urlParams.mode === 'edit' && urlParams.id;
|
||||
const isDivisionMode = urlParams.mode === 'division' && urlParams.id;
|
||||
const taskId = urlParams.id || '';
|
||||
|
||||
// 创建表单引用,用于访问子组件的表单方法(主要用于验证)
|
||||
const basicFormRef = useRef<any>(null); // 基本信息表单引用
|
||||
const basicFormRef = useRef<any>(null); // 基本信息表单引用
|
||||
const supplierFormRef = useRef<any>(null); // 供应商选择表单引用
|
||||
const evaluatorFormRef = useRef<any>(null); // 评价人员表单引用
|
||||
const divisionFormRef = useRef<any>(null); // 评价分工表单引用
|
||||
|
||||
// 确认对话框可见性状态
|
||||
const [confirmModalVisible, setConfirmModalVisible] = React.useState(false);
|
||||
const divisionFormRef = useRef<any>(null); // 评价分工表单引用
|
||||
|
||||
/**
|
||||
* 编辑模式下获取任务详情,或新建模式下重置状态
|
||||
* 利用useEffect在组件挂载或依赖项变化时触发
|
||||
*/
|
||||
useEffect(() => {
|
||||
if ((isEditMode || isDivisionMode) && taskId && dispatch) {
|
||||
if (isEditMode && taskId && dispatch) {
|
||||
dispatch({
|
||||
type: 'supplierAnnualTaskManage/saveMode',
|
||||
payload: 'edit',
|
||||
@ -72,16 +68,6 @@ const SupplierTaskManageAdd: React.FC<PageProps> = ({ supplierAnnualTaskManage,
|
||||
type: 'supplierAnnualTaskManage/fetchTaskDetail',
|
||||
payload: { taskId },
|
||||
});
|
||||
if (isDivisionMode) {
|
||||
dispatch({
|
||||
type: 'supplierAnnualTaskManage/saveMode',
|
||||
payload: 'division',
|
||||
});
|
||||
dispatch({
|
||||
type: 'supplierAnnualTaskManage/setCurrentStep',
|
||||
payload: 2,
|
||||
});
|
||||
}
|
||||
} else if (dispatch) {
|
||||
dispatch({
|
||||
type: 'supplierAnnualTaskManage/setMode',
|
||||
@ -92,7 +78,7 @@ const SupplierTaskManageAdd: React.FC<PageProps> = ({ supplierAnnualTaskManage,
|
||||
type: 'supplierAnnualTaskManage/resetState',
|
||||
});
|
||||
}
|
||||
}, [isEditMode, isDivisionMode, taskId, dispatch]);
|
||||
}, [isEditMode, taskId, dispatch]);
|
||||
|
||||
/**
|
||||
* 组件卸载时重置状态
|
||||
@ -112,29 +98,17 @@ const SupplierTaskManageAdd: React.FC<PageProps> = ({ supplierAnnualTaskManage,
|
||||
{
|
||||
title: '基本信息', // 步骤标题
|
||||
description: '请填写基本信息', // 步骤描述
|
||||
content: (
|
||||
<BasicInfoStep
|
||||
ref={basicFormRef}
|
||||
/>
|
||||
), // 步骤内容组件
|
||||
content: <BasicInfoStep ref={basicFormRef} />, // 步骤内容组件
|
||||
},
|
||||
{
|
||||
title: '选择供应商',
|
||||
description: '请选择参加评价的供应商',
|
||||
content: (
|
||||
<SupplierSelectStep
|
||||
ref={supplierFormRef}
|
||||
/>
|
||||
),
|
||||
content: <SupplierSelectStep ref={supplierFormRef} />,
|
||||
},
|
||||
{
|
||||
title: '选择评价人员',
|
||||
description: '请选择供应商评价人员',
|
||||
content: (
|
||||
<EvaluatorSelectStep
|
||||
ref={evaluatorFormRef}
|
||||
/>
|
||||
),
|
||||
title: '选择年审人员',
|
||||
description: '请选择供应商年审人员',
|
||||
content: <EvaluatorSelectStep ref={evaluatorFormRef} />,
|
||||
},
|
||||
];
|
||||
|
||||
@ -203,7 +177,7 @@ const SupplierTaskManageAdd: React.FC<PageProps> = ({ supplierAnnualTaskManage,
|
||||
taskId,
|
||||
onSuccess: () => {
|
||||
history.goBack();
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
@ -223,44 +197,13 @@ const SupplierTaskManageAdd: React.FC<PageProps> = ({ supplierAnnualTaskManage,
|
||||
}
|
||||
}
|
||||
// 如果是编辑模式,则直接提交 提示是否确认后直接提交
|
||||
if (isEditMode) {
|
||||
Modal.confirm({
|
||||
title: '提示',
|
||||
content: '是否确认提交',
|
||||
onOk: () => {
|
||||
submitTaskData(null);
|
||||
},
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// 新增模式下,显示确认对话框询问是否需要下级单位完善
|
||||
setConfirmModalVisible(true);
|
||||
};
|
||||
|
||||
/**
|
||||
* 处理确认对话框的取消按钮点击事件
|
||||
*/
|
||||
const handleConfirmCancel = () => {
|
||||
setConfirmModalVisible(false);
|
||||
};
|
||||
|
||||
/**
|
||||
* 处理确认对话框的"是"选项点击事件
|
||||
* 提交任务,并设置状态为需要下级单位完善
|
||||
*/
|
||||
const handleConfirmYes = () => {
|
||||
submitTaskData(TaskNotifyLowerUnits.YES); // 未开始状态,需要下级单位完善
|
||||
setConfirmModalVisible(false);
|
||||
};
|
||||
|
||||
/**
|
||||
* 处理确认对话框的"否"选项点击事件
|
||||
* 提交任务,并设置状态为不需要下级单位完善
|
||||
*/
|
||||
const handleConfirmNo = () => {
|
||||
submitTaskData(TaskNotifyLowerUnits.NO); // 进行中状态,不需要下级单位完善
|
||||
setConfirmModalVisible(false);
|
||||
Modal.confirm({
|
||||
title: '提示',
|
||||
content: '是否确认提交',
|
||||
onOk: () => {
|
||||
submitTaskData(null);
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
return (
|
||||
@ -269,7 +212,7 @@ const SupplierTaskManageAdd: React.FC<PageProps> = ({ supplierAnnualTaskManage,
|
||||
<Card bordered={false} loading={detailLoading}>
|
||||
{/* 页面头部,包含标题和返回按钮 */}
|
||||
<div className="page-header">
|
||||
<h2>{isEditMode ? '修改评价任务' : '新增评价任务'}</h2>
|
||||
<h2>{isEditMode ? '修改年审任务' : '新增年审任务'}</h2>
|
||||
<Button type="link" icon={<ArrowLeftOutlined />} onClick={handleBack}>
|
||||
返回
|
||||
</Button>
|
||||
@ -293,7 +236,9 @@ const SupplierTaskManageAdd: React.FC<PageProps> = ({ supplierAnnualTaskManage,
|
||||
<div className={styles.stepsAction}>
|
||||
<Space>
|
||||
{/* 如果当前是评价分工步骤,则不显示上一步按钮 */}
|
||||
{currentStep > (isDivisionMode ? 2 : 0) && <Button onClick={handlePrev}>上一步</Button>}
|
||||
{currentStep > 0 && (
|
||||
<Button onClick={handlePrev}>上一步</Button>
|
||||
)}
|
||||
{currentStep < steps.length - 1 && (
|
||||
<Button type="primary" onClick={handleNext}>
|
||||
下一步
|
||||
@ -314,30 +259,13 @@ const SupplierTaskManageAdd: React.FC<PageProps> = ({ supplierAnnualTaskManage,
|
||||
</Col>
|
||||
</Row>
|
||||
</Card>
|
||||
|
||||
{/* 确认对话框 - 询问是否需要下级单位完善 */}
|
||||
<Modal
|
||||
title="提交确认"
|
||||
visible={confirmModalVisible}
|
||||
onCancel={handleConfirmCancel}
|
||||
footer={null}
|
||||
>
|
||||
<p>是否提示给下级单位继续完善评价人及评价分工?</p>
|
||||
<div style={{ textAlign: 'right', marginTop: 24 }}>
|
||||
<Space>
|
||||
<Button type="primary" onClick={handleConfirmYes}>
|
||||
是
|
||||
</Button>
|
||||
<Button onClick={handleConfirmNo}>否</Button>
|
||||
<Button onClick={handleConfirmCancel}>取消</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</Modal>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
// 将dva model中的状态映射到组件props
|
||||
export default connect(({ supplierAnnualTaskManage }: { supplierAnnualTaskManage: SupplierTaskModelState }) => ({
|
||||
supplierAnnualTaskManage,
|
||||
}))(SupplierTaskManageAdd);
|
||||
export default connect(
|
||||
({ supplierAnnualTaskManage }: { supplierAnnualTaskManage: SupplierTaskModelState }) => ({
|
||||
supplierAnnualTaskManage,
|
||||
}),
|
||||
)(SupplierTaskManageAdd);
|
||||
|
||||
Reference in New Issue
Block a user