对接搜索条件

This commit is contained in:
linxd
2025-06-30 10:24:17 +08:00
parent d822afaa9e
commit 53a7d5363c
4 changed files with 75 additions and 106 deletions

View File

@ -27,7 +27,7 @@ const { Option } = Select;
// 搜索参数类型 // 搜索参数类型
interface AnnualTemplateSearchParams { interface AnnualTemplateSearchParams {
templateName?: string; templateName?: string;
tenantName?: string; deptId?: string;
categoryId?: string; categoryId?: string;
dateRange?: string[]; dateRange?: string[];
[key: string]: any; [key: string]: any;
@ -81,8 +81,8 @@ const SupplierAnnualTemplateManage: React.FC = () => {
if (params.templateName) { if (params.templateName) {
requestParams.templateName = params.templateName; requestParams.templateName = params.templateName;
} }
if (params.tenantName) { if (params.deptId) {
requestParams.tenantName = params.tenantName; requestParams.deptId = params.deptId;
} }
if (params.categoryId) { if (params.categoryId) {
requestParams.categoryId = params.categoryId; requestParams.categoryId = params.categoryId;
@ -352,7 +352,7 @@ const SupplierAnnualTemplateManage: React.FC = () => {
<Form.Item name="templateName" label="模板名称"> <Form.Item name="templateName" label="模板名称">
<Input placeholder="请输入模板名称" allowClear /> <Input placeholder="请输入模板名称" allowClear />
</Form.Item> </Form.Item>
<Form.Item name="tenantName" label="创建单位"> <Form.Item name="deptId" label="创建单位">
<Select placeholder="请选择创建单位" allowClear style={{ width: 200 }}> <Select placeholder="请选择创建单位" allowClear style={{ width: 200 }}>
{companyOptions.map(option => ( {companyOptions.map(option => (
<Option key={option.value} value={option.value}>{option.label}</Option> <Option key={option.value} value={option.value}>{option.label}</Option>

View File

@ -105,8 +105,8 @@ const SupplierEvaluateResultInfo: React.FC = () => {
if (params.supplierName) { if (params.supplierName) {
requestParams.supplierName = params.supplierName; requestParams.supplierName = params.supplierName;
} }
if (params.level) { if (params.levelName) {
requestParams.level = params.level; requestParams.levelName = params.levelName;
} }
// 调用接口获取数据 // 调用接口获取数据
@ -250,7 +250,7 @@ const SupplierEvaluateResultInfo: React.FC = () => {
<Form.Item name="supplierName" label="供应商名称"> <Form.Item name="supplierName" label="供应商名称">
<Input placeholder="请输入供应商名称" allowClear /> <Input placeholder="请输入供应商名称" allowClear />
</Form.Item> </Form.Item>
<Form.Item name="level" label="评价等级"> <Form.Item name="levelName" label="评价等级">
<Select placeholder="请选择评价等级" allowClear style={{ width: 150 }}> <Select placeholder="请选择评价等级" allowClear style={{ width: 150 }}>
{evaluateRules.map((rule) => ( {evaluateRules.map((rule) => (
<Option key={rule.id} value={rule.levelName}> <Option key={rule.id} value={rule.levelName}>

View File

@ -40,7 +40,12 @@ const SupplierEvaluateScore: React.FC = () => {
pageSize: 10, pageSize: 10,
total: 0, total: 0,
}); });
/*
name :关键字
startTime开始时间
endTime:结束时间
status状态
*/
// 构建查询参数 // 构建查询参数
const buildQueryParams = () => { const buildQueryParams = () => {
const values = filterForm.getFieldsValue(); const values = filterForm.getFieldsValue();
@ -51,14 +56,14 @@ const SupplierEvaluateScore: React.FC = () => {
pageNo: pagination.current, pageNo: pagination.current,
pageSize: pagination.pageSize, pageSize: pagination.pageSize,
}, },
keyword: values.keyword || undefined, name: values.name || undefined,
status: values.status || undefined, status: values.status || undefined,
}; };
// 处理时间范围 // 处理时间范围
if (values.evaluationTime && values.evaluationTime.length === 2) { if (values.evaluationTime && values.evaluationTime.length === 2) {
params.startTime = values.evaluationTime[0].format('YYYY-MM-DD'); params.startTime = values.evaluationTime[0].format('YYYY-MM-DD HH:mm:ss');
params.endTime = values.evaluationTime[1].format('YYYY-MM-DD'); params.endTime = values.evaluationTime[1].format('YYYY-MM-DD HH:mm:ss');
} }
return params; return params;
@ -68,14 +73,14 @@ const SupplierEvaluateScore: React.FC = () => {
pageNo: pagination.current, pageNo: pagination.current,
pageSize: pagination.pageSize, pageSize: pagination.pageSize,
}, },
keyword: values.keyword || undefined, evaluateTheme: values.name || undefined,
status: values.status || undefined, status: values.status || undefined,
}; };
// 处理时间范围 // 处理时间范围
if (values.evaluationTime && values.evaluationTime.length === 2) { if (values.evaluationTime && values.evaluationTime.length === 2) {
params.startTime = values.evaluationTime[0].format('YYYY-MM-DD'); params.startTime = values.evaluationTime[0].format('YYYY-MM-DD HH:mm:ss');
params.endTime = values.evaluationTime[1].format('YYYY-MM-DD'); params.endTime = values.evaluationTime[1].format('YYYY-MM-DD HH:mm:ss');
} }
return params; return params;
@ -361,10 +366,10 @@ const SupplierEvaluateScore: React.FC = () => {
<div className="filter-action-row"> <div className="filter-action-row">
<div className="filter-form"> <div className="filter-form">
<Form form={filterForm} layout="inline"> <Form form={filterForm} layout="inline">
<Form.Item name="keyword" label="关键字"> <Form.Item name="name" label="关键字">
<Input <Input
placeholder={ placeholder={
activeTab === 'supplier' ? '请输入供应商名称或评价主题' : '请输入评价主题' activeTab === 'supplier' ? '请输入供应商名称' : '请输入评价主题'
} }
allowClear allowClear
/> />

View File

@ -31,51 +31,32 @@ const SupplierTaskManage: React.FC = () => {
}, },
}); });
// 获取任务列表
const fetchTaskList = async ( const fetchTaskList = async (
current = 1, current: number = 1,
pageSize = 10, pageSize: number = 10,
params: TaskSearchParams = searchParams, params: TaskSearchParams,
) => { ) => {
// 更新搜索参数状态
if (params !== searchParams) {
setSearchParams(params);
}
setLoading(true); setLoading(true);
try { try {
// 构造请求参数
const requestParams: TaskSearchParams = { const requestParams: TaskSearchParams = {
...params,
basePageRequest: { basePageRequest: {
pageNo: current, pageNo: current,
pageSize: pageSize, pageSize,
}, },
}; };
// 添加搜索条件
if (params.evaluateTheme) {
requestParams.evaluateTheme = params.evaluateTheme;
}
if (params.status) {
requestParams.status = params.status;
}
if (params.dateRange && params.dateRange.length === 2) {
requestParams.startTime = params.dateRange[0];
requestParams.endTime = params.dateRange[1];
}
const response = await getTaskList(requestParams); const response = await getTaskList(requestParams);
if (response.success) { if (response.success) {
// 处理返回的数据
const { records, total, current: currentPage, size } = response.data; const { records, total, current: currentPage, size } = response.data;
setTaskData(records); setTaskData(records);
setPagination({ setPagination((prev) => ({
...pagination, ...prev,
current: currentPage, current: currentPage,
pageSize: size, pageSize: size,
total: total, total,
}); }));
} else { } else {
message.error(response.message || '获取任务列表失败'); message.error(response.message || '获取任务列表失败');
} }
@ -87,39 +68,67 @@ const SupplierTaskManage: React.FC = () => {
} }
}; };
// 首次加载获取数据
useEffect(() => { useEffect(() => {
fetchTaskList(pagination.current, pagination.pageSize, searchParams); fetchTaskList(pagination.current!, pagination.pageSize!, searchParams);
}, []); }, []);
// 处理查看
const handleView = (record: TaskItem) => { const handleView = (record: TaskItem) => {
// 跳转到详情页面
history.push(`supplierTaskManageDetail?id=${record.id}`); history.push(`supplierTaskManageDetail?id=${record.id}`);
}; };
// 处理编辑
const handleEdit = (record: TaskItem) => { const handleEdit = (record: TaskItem) => {
// 跳转到编辑页面(复用新增页面)
history.push(`supplierTaskManageAdd?id=${record.id}&mode=edit`); history.push(`supplierTaskManageAdd?id=${record.id}&mode=edit`);
}; };
// 处理分工
const handleDivision = (record: TaskItem) => { const handleDivision = (record: TaskItem) => {
// 跳转到分工页面
history.push(`supplierTaskManageAdd?id=${record.id}&mode=division`); history.push(`supplierTaskManageAdd?id=${record.id}&mode=division`);
}; };
// 获取状态标签
const getStatusTag = (status: string) => { const getStatusTag = (status: string) => {
const color = TaskStatusColor[status as keyof typeof TaskStatusColor] || 'default'; const color = TaskStatusColor[status as keyof typeof TaskStatusColor] || 'default';
const text = TaskStatusText[status as keyof typeof TaskStatusText] || '未知状态'; const text = TaskStatusText[status as keyof typeof TaskStatusText] || '未知状态';
return <Tag color={color}>{text}</Tag>; return <Tag color={color}>{text}</Tag>;
}; };
// 处理表格分页变化
const handleTableChange = (newPagination: TablePaginationConfig) => { const handleTableChange = (newPagination: TablePaginationConfig) => {
fetchTaskList(newPagination.current, newPagination.pageSize, searchParams); fetchTaskList(newPagination.current!, newPagination.pageSize!, searchParams);
};
const handleSearch = (values: any) => {
const { evaluateTheme, status, dateRange } = values;
const params: TaskSearchParams = {
basePageRequest: {
pageNo: 1,
pageSize: pagination.pageSize!,
},
evaluateTheme,
status,
};
if (dateRange && dateRange.length === 2) {
params.startTime = dateRange[0].format('YYYY-MM-DD');
params.endTime = dateRange[1].format('YYYY-MM-DD');
}
setSearchParams(params);
fetchTaskList(1, pagination.pageSize!, params);
};
const handleReset = () => {
form.resetFields();
const resetParams: TaskSearchParams = {
basePageRequest: {
pageNo: 1,
pageSize: pagination.pageSize!,
},
};
setSearchParams(resetParams);
fetchTaskList(1, pagination.pageSize!, resetParams);
};
const handleAdd = () => {
history.push('supplierTaskManageAdd');
}; };
const columns = [ const columns = [
@ -175,41 +184,16 @@ const SupplierTaskManage: React.FC = () => {
align: 'center' as const, align: 'center' as const,
render: (_: unknown, record: TaskItem) => ( render: (_: unknown, record: TaskItem) => (
<Space size="middle"> <Space size="middle">
<Button type="link" onClick={() => handleView(record)}> <Button type="link" onClick={() => handleView(record)}></Button>
</Button>
{record.division == '1' && ( {record.division == '1' && (
<Button type="link" onClick={() => handleDivision(record)}> <Button type="link" onClick={() => handleDivision(record)}></Button>
</Button>
)} )}
<Button type="link" onClick={() => handleEdit(record)}></Button>
<Button type="link" onClick={() => handleEdit(record)}>
</Button>
</Space> </Space>
), ),
}, },
]; ];
// 处理添加
const handleAdd = () => {
// 跳转到新增页面
history.push('supplierTaskManageAdd');
};
// 处理搜索
const handleSearch = (values: any) => {
const { dateRange, ...rest } = values;
const params: SupplierEvaluate.TaskSearchParams = { ...rest };
if (dateRange && dateRange.length === 2) {
params.dateRange = [dateRange[0].format('YYYY-MM-DD'), dateRange[1].format('YYYY-MM-DD')];
}
fetchTaskList(1, pagination.pageSize, searchParams);
};
return ( return (
<div className={`${styles.supplierTaskManageContainer} common-container`}> <div className={`${styles.supplierTaskManageContainer} common-container`}>
<div className={styles.filterActionRow}> <div className={styles.filterActionRow}>
@ -234,32 +218,12 @@ const SupplierTaskManage: React.FC = () => {
<RangePicker /> <RangePicker />
</Form.Item> </Form.Item>
<Form.Item className={styles.filterBtns}> <Form.Item className={styles.filterBtns}>
<Button type="primary" htmlType="submit" icon={<SearchOutlined />}> <Button type="primary" htmlType="submit" icon={<SearchOutlined />}></Button>
<Button type="primary" danger icon={<DeleteOutlined />} onClick={handleReset}></Button>
</Button>
<Button
type="primary"
danger
icon={<DeleteOutlined />}
onClick={() => {
form.resetFields();
setSearchParams({
basePageRequest: {
pageNo: 1,
pageSize: 10,
},
});
fetchTaskList(1, pagination.pageSize, searchParams);
}}
>
</Button>
</Form.Item> </Form.Item>
</Form> </Form>
<div className={styles.rightButtons}> <div className={styles.rightButtons}>
<Button type="primary" ghost icon={<PlusOutlined />} onClick={handleAdd}> <Button type="primary" ghost icon={<PlusOutlined />} onClick={handleAdd}></Button>
</Button>
</div> </div>
</div> </div>