完成分类筛选功能

This commit is contained in:
宇阳
2024-09-27 21:20:35 +08:00
parent 3b383845e5
commit 189c30f587
3 changed files with 22 additions and 34 deletions

View File

@@ -1,7 +1,7 @@
import { useState, useEffect } from 'react'; import { useState, useEffect } from 'react';
import { Card, message, Table, Popconfirm, Button, Tag, Modal, Form, Input, DatePicker } from 'antd'; import { Card, message, Table, Popconfirm, Button, Tag, Modal, Form, Input, DatePicker } from 'antd';
import { getCommentListAPI } from '@/api/Comment'; import { getCommentListAPI } from '@/api/Comment';
import { auditCommentDataAPI, delCommentDataAPI } from '@/api/Comment'; import { delCommentDataAPI } from '@/api/Comment';
import { ColumnsType } from 'antd/es/table'; import { ColumnsType } from 'antd/es/table';
import { titleSty } from '@/styles/sty'; import { titleSty } from '@/styles/sty';
import Title from '@/components/Title'; import Title from '@/components/Title';
@@ -24,14 +24,6 @@ const CommentPage = () => {
setLoading(false) setLoading(false)
} }
const auditCommentData = async () => {
setLoading(true)
await auditCommentDataAPI(comment?.id!);
getCommentList();
setIsModalOpen(false)
message.success('🎉 审核评论成功');
};
const delCommentData = async (id: number) => { const delCommentData = async (id: number) => {
setLoading(true) setLoading(true)
await delCommentDataAPI(id); await delCommentDataAPI(id);
@@ -106,17 +98,10 @@ const CommentPage = () => {
align: 'center', align: 'center',
render: (text: string, record: Comment) => ( render: (text: string, record: Comment) => (
<div className='flex justify-center space-x-2'> <div className='flex justify-center space-x-2'>
{ <Button onClick={() => {
!record.auditStatus
? <Button type='primary' onClick={() => {
setComment(record)
setIsModalOpen(true)
}}></Button>
: <Button onClick={() => {
setComment(record) setComment(record)
setIsModalOpen(true) setIsModalOpen(true)
}}></Button> }}></Button>
}
<Popconfirm title="警告" description="你确定要删除吗" okText="确定" cancelText="取消" onConfirm={() => delCommentData(record.id)}> <Popconfirm title="警告" description="你确定要删除吗" okText="确定" cancelText="取消" onConfirm={() => delCommentData(record.id)}>
<Button type="primary" danger></Button> <Button type="primary" danger></Button>
@@ -130,12 +115,15 @@ const CommentPage = () => {
const onSubmit = async (values: FilterForm) => { const onSubmit = async (values: FilterForm) => {
const query: FilterData = { const query: FilterData = {
key: values.title ? values.title : null, key: values.title ? values.title : undefined,
startDate: values.createTime ? values.createTime[0].valueOf() + '' : null, content: values.content ? values.content : undefined,
endDate: values.createTime ? values.createTime[1].valueOf() + '' : null, startDate: values.createTime ? values.createTime[0].valueOf() + '' : undefined,
endDate: values.createTime ? values.createTime[1].valueOf() + '' : undefined,
} }
const { data } = await getCommentListAPI({ query }); const { data } = await getCommentListAPI({ query });
console.log(data);
setList(data)
} }
return ( return (
@@ -145,7 +133,11 @@ const CommentPage = () => {
<Card className='my-2 overflow-scroll'> <Card className='my-2 overflow-scroll'>
<Form layout="inline" onFinish={onSubmit} autoComplete="off" className='flex-nowrap'> <Form layout="inline" onFinish={onSubmit} autoComplete="off" className='flex-nowrap'>
<Form.Item label="标题" name="title" className='w-2/12'> <Form.Item label="标题" name="title" className='w-2/12'>
<Input placeholder='请输入关键词' /> <Input placeholder='请输入标题关键词' />
</Form.Item>
<Form.Item label="内容" name="content" className='w-2/12'>
<Input placeholder='请输入内容关键词' />
</Form.Item> </Form.Item>
<Form.Item label="时间范围" name="createTime" className='w-3/12'> <Form.Item label="时间范围" name="createTime" className='w-3/12'>
@@ -178,15 +170,9 @@ const CommentPage = () => {
<div><b></b> {comment?.articleTitle}</div> <div><b></b> {comment?.articleTitle}</div>
<div><b></b> {dayjs(comment?.createTime).format("YYYY-MM-DD HH:mm:ss")}</div> <div><b></b> {dayjs(comment?.createTime).format("YYYY-MM-DD HH:mm:ss")}</div>
<div><b></b> {comment?.name}</div> <div><b></b> {comment?.name}</div>
<div><b></b> {comment?.email}</div> <div><b></b> {comment?.email ? comment?.email : "暂无邮箱"}</div>
<div><b></b> {comment?.url ? <a href={comment?.url} className="hover:text-primary">{comment?.url}</a> : '无网站'}</div> <div><b></b> {comment?.url ? <a href={comment?.url} className="hover:text-primary">{comment?.url}</a> : '无网站'}</div>
<div><b></b> {comment?.content}</div> <div><b></b> {comment?.content}</div>
<div><b></b> {comment?.auditStatus
? <Tag bordered={false} color="processing"></Tag>
: <Tag bordered={false} color="error"></Tag>}
</div>
{!comment?.auditStatus ? <Button type="primary" className='w-full !mt-4' onClick={auditCommentData}></Button> : null}
</div> </div>
</Modal> </Modal>
</> </>

View File

@@ -1,4 +1,5 @@
interface FilterForm { interface FilterForm {
title?: string; title?: string;
content?: string;
createTime?: [moment.Moment, moment.Moment]; createTime?: [moment.Moment, moment.Moment];
} }

View File

@@ -20,9 +20,10 @@ interface Page {
} }
interface FilterData { interface FilterData {
key?: string | null, key?: string,
startDate?: string | null, content?: string,
endDate?: string | null startDate?: string,
endDate?: string
} }
interface QueryData { interface QueryData {