import { UserOutlined } from '@ant-design/icons'; import { Avatar, Tooltip } from 'antd'; import axios from 'axios'; import Modaledit from '../Modal/ModalEdit'; import momment from 'moment'; import React, { useEffect, useState } from 'react'; import Pagination from "react-js-pagination"; import { PulseLoader } from 'react-spinners'; import { HOST } from '../../config/index'; import swal from 'sweetalert'; import { useLocation } from 'react-router-dom'; export default function ListItem() { const [data, setData] = useState(null) const [showModal, setShowModal] = useState(false) const [dataEdit, setDataEdit] = useState(null) const [loading, setLoading] = useState(true) const [dataSearch, setDataSearch] = useState("") const [activePage, setActivePage] = useState(1) const [totalItems, setTotalItems] = useState(0) const itemsPerPage = 5 const [token, setToken] = useState(''); const location = useLocation(); useEffect(() => { if (location.search) { let path = location.search.replace('?', '').split('&'); let obj = {} path.forEach(value => { let arr = value.split('='); obj[arr[0]] = arr[1] }) setToken(decodeURIComponent(obj.token)) setToken((obj.token)) } }, [location]) useEffect(() => { getData(1) }, []) const onClickEdit = (data) => { setDataEdit(data) setShowModal(true) } const onDelete = async (data) => { let dataPost = { obj_id: data._id, id: data.id, name: data.name, birthday: data.birthday, gender: data.gender, is_deleted : 1 } try { const result = await axios({ method: 'POST', url: `${HOST}/api/famous_persons/insert_or_update`, headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', // 'Authorization': token, }, data: dataPost, }) if (result.data.status === 10000) { swal({ icon: 'success', title: 'Thành công', text: 'Xoá thành công', timer: 1500, buttons: false, }) getData(activePage) } else if (result.data.status === 10004) { swal("Thất bại", "Xoá thất bại!", "error"); } else { swal("Thất bại", "Xoá thất bại!", "error"); } } catch (error) { setLoading(false) console.log(error); } } const handlePageChange = (pageNumber) => { setActivePage(pageNumber) getData(pageNumber) } const getData = async (page) => { try { const result = await axios({ method: 'POST', url: `${HOST}/api/famous_persons/search`, headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', // 'Authorization': token }, data: { index: page, item_per_page: itemsPerPage, search_data: dataSearch }, }) if (result.data.status === 10000) { setData(result.data.data) setTotalItems(result.data.count) setLoading(false) } } catch (error) { setLoading(false) console.log(error); } } const handleOnKeyDown = e => { if (e.key === 'Enter') { setActivePage(1) getData(1); } } const tableRows = (dataAll) => dataAll.map((value, index) => { var gender = "" if (value.gender === "1") { gender = "Nam" } else if (value.gender === "2") { gender = "Nữ" } else if (value.gender === "3") { gender = "Giới tính khác" } else { gender = "" } var listImg if (value.sample_images.length > 0) { listImg = 0 && value.image_host + value.sample_images[0]}`} /> } else { listImg = } /> } return ( {listImg} {value.name} {gender} {value.birthday !== "" ? momment(value.birthday).format("DD-MM-YYYY") : ""} ) }) const onCloseModal = () => { setShowModal(false) setActivePage(activePage) getData(activePage) } const reset = async () => { setDataSearch('') getData(1) } return (
{showModal && }

Danh sách người nổi tiếng

handleOnKeyDown(e)} onChange={(e) => { setDataSearch(e.target.value) }} value={dataSearch} id="inputSearch" className="form-control m-input" placeholder="Họ tên..." data-col-index={0} />
{/*begin: Datatable */} {data && tableRows(data)}
Ảnh Họ tên Giới tính Ngày sinh Thao tác
) }