对接搜索条件
This commit is contained in:
@ -27,7 +27,7 @@ const { Option } = Select;
|
||||
// 搜索参数类型
|
||||
interface AnnualTemplateSearchParams {
|
||||
templateName?: string;
|
||||
tenantName?: string;
|
||||
deptId?: string;
|
||||
categoryId?: string;
|
||||
dateRange?: string[];
|
||||
[key: string]: any;
|
||||
@ -81,8 +81,8 @@ const SupplierAnnualTemplateManage: React.FC = () => {
|
||||
if (params.templateName) {
|
||||
requestParams.templateName = params.templateName;
|
||||
}
|
||||
if (params.tenantName) {
|
||||
requestParams.tenantName = params.tenantName;
|
||||
if (params.deptId) {
|
||||
requestParams.deptId = params.deptId;
|
||||
}
|
||||
if (params.categoryId) {
|
||||
requestParams.categoryId = params.categoryId;
|
||||
@ -352,7 +352,7 @@ const SupplierAnnualTemplateManage: React.FC = () => {
|
||||
<Form.Item name="templateName" label="模板名称">
|
||||
<Input placeholder="请输入模板名称" allowClear />
|
||||
</Form.Item>
|
||||
<Form.Item name="tenantName" label="创建单位">
|
||||
<Form.Item name="deptId" label="创建单位">
|
||||
<Select placeholder="请选择创建单位" allowClear style={{ width: 200 }}>
|
||||
{companyOptions.map(option => (
|
||||
<Option key={option.value} value={option.value}>{option.label}</Option>
|
||||
|
@ -105,8 +105,8 @@ const SupplierEvaluateResultInfo: React.FC = () => {
|
||||
if (params.supplierName) {
|
||||
requestParams.supplierName = params.supplierName;
|
||||
}
|
||||
if (params.level) {
|
||||
requestParams.level = params.level;
|
||||
if (params.levelName) {
|
||||
requestParams.levelName = params.levelName;
|
||||
}
|
||||
|
||||
// 调用接口获取数据
|
||||
@ -250,7 +250,7 @@ const SupplierEvaluateResultInfo: React.FC = () => {
|
||||
<Form.Item name="supplierName" label="供应商名称">
|
||||
<Input placeholder="请输入供应商名称" allowClear />
|
||||
</Form.Item>
|
||||
<Form.Item name="level" label="评价等级">
|
||||
<Form.Item name="levelName" label="评价等级">
|
||||
<Select placeholder="请选择评价等级" allowClear style={{ width: 150 }}>
|
||||
{evaluateRules.map((rule) => (
|
||||
<Option key={rule.id} value={rule.levelName}>
|
||||
|
@ -40,7 +40,12 @@ const SupplierEvaluateScore: React.FC = () => {
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
});
|
||||
|
||||
/*
|
||||
name :关键字
|
||||
startTime:开始时间
|
||||
endTime:结束时间
|
||||
status:状态
|
||||
*/
|
||||
// 构建查询参数
|
||||
const buildQueryParams = () => {
|
||||
const values = filterForm.getFieldsValue();
|
||||
@ -51,14 +56,14 @@ const SupplierEvaluateScore: React.FC = () => {
|
||||
pageNo: pagination.current,
|
||||
pageSize: pagination.pageSize,
|
||||
},
|
||||
keyword: values.keyword || undefined,
|
||||
name: values.name || undefined,
|
||||
status: values.status || undefined,
|
||||
};
|
||||
|
||||
// 处理时间范围
|
||||
if (values.evaluationTime && values.evaluationTime.length === 2) {
|
||||
params.startTime = values.evaluationTime[0].format('YYYY-MM-DD');
|
||||
params.endTime = values.evaluationTime[1].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 HH:mm:ss');
|
||||
}
|
||||
|
||||
return params;
|
||||
@ -68,14 +73,14 @@ const SupplierEvaluateScore: React.FC = () => {
|
||||
pageNo: pagination.current,
|
||||
pageSize: pagination.pageSize,
|
||||
},
|
||||
keyword: values.keyword || undefined,
|
||||
evaluateTheme: values.name || undefined,
|
||||
status: values.status || undefined,
|
||||
};
|
||||
|
||||
// 处理时间范围
|
||||
if (values.evaluationTime && values.evaluationTime.length === 2) {
|
||||
params.startTime = values.evaluationTime[0].format('YYYY-MM-DD');
|
||||
params.endTime = values.evaluationTime[1].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 HH:mm:ss');
|
||||
}
|
||||
|
||||
return params;
|
||||
@ -361,10 +366,10 @@ const SupplierEvaluateScore: React.FC = () => {
|
||||
<div className="filter-action-row">
|
||||
<div className="filter-form">
|
||||
<Form form={filterForm} layout="inline">
|
||||
<Form.Item name="keyword" label="关键字">
|
||||
<Form.Item name="name" label="关键字">
|
||||
<Input
|
||||
placeholder={
|
||||
activeTab === 'supplier' ? '请输入供应商名称或评价主题' : '请输入评价主题'
|
||||
activeTab === 'supplier' ? '请输入供应商名称' : '请输入评价主题'
|
||||
}
|
||||
allowClear
|
||||
/>
|
||||
|
@ -31,51 +31,32 @@ const SupplierTaskManage: React.FC = () => {
|
||||
},
|
||||
});
|
||||
|
||||
// 获取任务列表
|
||||
const fetchTaskList = async (
|
||||
current = 1,
|
||||
pageSize = 10,
|
||||
params: TaskSearchParams = searchParams,
|
||||
current: number = 1,
|
||||
pageSize: number = 10,
|
||||
params: TaskSearchParams,
|
||||
) => {
|
||||
// 更新搜索参数状态
|
||||
if (params !== searchParams) {
|
||||
setSearchParams(params);
|
||||
}
|
||||
|
||||
setLoading(true);
|
||||
try {
|
||||
// 构造请求参数
|
||||
const requestParams: TaskSearchParams = {
|
||||
...params,
|
||||
basePageRequest: {
|
||||
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);
|
||||
|
||||
if (response.success) {
|
||||
// 处理返回的数据
|
||||
const { records, total, current: currentPage, size } = response.data;
|
||||
setTaskData(records);
|
||||
setPagination({
|
||||
...pagination,
|
||||
setPagination((prev) => ({
|
||||
...prev,
|
||||
current: currentPage,
|
||||
pageSize: size,
|
||||
total: total,
|
||||
});
|
||||
total,
|
||||
}));
|
||||
} else {
|
||||
message.error(response.message || '获取任务列表失败');
|
||||
}
|
||||
@ -87,39 +68,67 @@ const SupplierTaskManage: React.FC = () => {
|
||||
}
|
||||
};
|
||||
|
||||
// 首次加载获取数据
|
||||
useEffect(() => {
|
||||
fetchTaskList(pagination.current, pagination.pageSize, searchParams);
|
||||
fetchTaskList(pagination.current!, pagination.pageSize!, searchParams);
|
||||
}, []);
|
||||
|
||||
// 处理查看
|
||||
const handleView = (record: TaskItem) => {
|
||||
// 跳转到详情页面
|
||||
history.push(`supplierTaskManageDetail?id=${record.id}`);
|
||||
};
|
||||
|
||||
// 处理编辑
|
||||
const handleEdit = (record: TaskItem) => {
|
||||
// 跳转到编辑页面(复用新增页面)
|
||||
history.push(`supplierTaskManageAdd?id=${record.id}&mode=edit`);
|
||||
};
|
||||
|
||||
// 处理分工
|
||||
const handleDivision = (record: TaskItem) => {
|
||||
// 跳转到分工页面
|
||||
history.push(`supplierTaskManageAdd?id=${record.id}&mode=division`);
|
||||
};
|
||||
|
||||
// 获取状态标签
|
||||
const getStatusTag = (status: string) => {
|
||||
const color = TaskStatusColor[status as keyof typeof TaskStatusColor] || 'default';
|
||||
const text = TaskStatusText[status as keyof typeof TaskStatusText] || '未知状态';
|
||||
return <Tag color={color}>{text}</Tag>;
|
||||
};
|
||||
|
||||
// 处理表格分页变化
|
||||
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 = [
|
||||
@ -175,41 +184,16 @@ const SupplierTaskManage: React.FC = () => {
|
||||
align: 'center' as const,
|
||||
render: (_: unknown, record: TaskItem) => (
|
||||
<Space size="middle">
|
||||
<Button type="link" onClick={() => handleView(record)}>
|
||||
查看
|
||||
</Button>
|
||||
<Button type="link" onClick={() => handleView(record)}>查看</Button>
|
||||
{record.division == '1' && (
|
||||
<Button type="link" onClick={() => handleDivision(record)}>
|
||||
分工
|
||||
</Button>
|
||||
<Button type="link" onClick={() => handleDivision(record)}>分工</Button>
|
||||
)}
|
||||
|
||||
<Button type="link" onClick={() => handleEdit(record)}>
|
||||
修改
|
||||
</Button>
|
||||
<Button type="link" onClick={() => handleEdit(record)}>修改</Button>
|
||||
</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 (
|
||||
<div className={`${styles.supplierTaskManageContainer} common-container`}>
|
||||
<div className={styles.filterActionRow}>
|
||||
@ -234,32 +218,12 @@ const SupplierTaskManage: React.FC = () => {
|
||||
<RangePicker />
|
||||
</Form.Item>
|
||||
<Form.Item className={styles.filterBtns}>
|
||||
<Button type="primary" htmlType="submit" icon={<SearchOutlined />}>
|
||||
搜索
|
||||
</Button>
|
||||
<Button
|
||||
type="primary"
|
||||
danger
|
||||
icon={<DeleteOutlined />}
|
||||
onClick={() => {
|
||||
form.resetFields();
|
||||
setSearchParams({
|
||||
basePageRequest: {
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
},
|
||||
});
|
||||
fetchTaskList(1, pagination.pageSize, searchParams);
|
||||
}}
|
||||
>
|
||||
重置
|
||||
</Button>
|
||||
<Button type="primary" htmlType="submit" icon={<SearchOutlined />}>搜索</Button>
|
||||
<Button type="primary" danger icon={<DeleteOutlined />} onClick={handleReset}>重置</Button>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
<div className={styles.rightButtons}>
|
||||
<Button type="primary" ghost icon={<PlusOutlined />} onClick={handleAdd}>
|
||||
新增
|
||||
</Button>
|
||||
<Button type="primary" ghost icon={<PlusOutlined />} onClick={handleAdd}>新增</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
Reference in New Issue
Block a user