对接搜索条件
This commit is contained in:
@ -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>
|
||||||
|
@ -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}>
|
||||||
|
@ -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
|
||||||
/>
|
/>
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user