import { UserOutlined } from '@ant-design/icons'; import { Avatar, Tooltip } from 'antd'; import axios from 'axios'; import ModalEditLabel from '../Modal/ModaEditLabel'; 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'; import { useSelector } from 'react-redux'; import Store from '../../store'; const initialDataPost = { index: 1, item_per_page: 5, search_data: "", person_type: 4, } export default function LabelImage() { const [data, setData] = useState(null) const [showModal, setShowModal] = useState(false) const [dataEdit, setDataEdit] = useState(null) const [loading, setLoading] = useState(true) const token = useSelector(state => state.isLogin.access_token); const dataRole = useSelector(state => state.role.role); console.log(token) const [activePage, setActivePage] = useState(1) const [totalItems, setTotalItems] = useState(0) const [dataPost, setDataPost] = useState(initialDataPost) const itemsPerPage = 5 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] }) } }, [location]) useEffect(() => { getData() }, []) const onClickEdit = (data) => { setDataEdit(data) setShowModal(true) } const onDelete = async (value) => { let dataDel = { obj_id: value._id, id: value.id, name: value.name, birthday: value.birthday, gender: value.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': Store.getState().isLogin.access_token, // 'Authorization': token, }, data: dataDel, }) if (result.data.status === 10000) { if (data.length === 1) { setActivePage(activePage - 1) setDataPost({ ...dataPost, index: activePage - 1 }) } swal({ icon: 'success', title: 'Thành công', text: 'Xoá thành công', timer: 1500, buttons: false, }) getData(dataPost) } else { swal("Thất bại", "Xoá thất bại!", "error"); } } catch (error) { setLoading(false) console.log(error); } } const handlePageChange = (pageNumber) => { setActivePage(pageNumber); const data = { ...dataPost, index: pageNumber, } getData(data); } const getData = async (data) => { try { const result = await axios({ method: 'POST', url: `${HOST}/api/famous_persons/search`, headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'Authorization': Store.getState().isLogin.access_token, // 'Authorization': token }, data: data ? data : dataPost, }) 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(dataPost); } } 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) { let getDateImg = value.sample_images[0].split("_") let dataImg = getDateImg.length > 0 && getDateImg[1].slice(0,6) listImg = 0 && value.image_host +dataImg+ "/" +value.sample_images[0]}`} /> } else { listImg = } /> } return ( {listImg} {value.name} {value.id} {gender} {value.birthday !== "" ? momment(value.birthday).format("DD-MM-YYYY") : ""} {(dataRole?.indexOf('person:edit') === -1 && dataRole?.indexOf('person:delete') === -1) ? "" : {dataRole?.indexOf('person:edit') !== -1 ? : ""} {dataRole?.indexOf('person:delete') !== -1 ? : ""} } ) }) const onCloseModal = () => { setShowModal(false) // setActivePage(activePage) const data = { ...dataPost, index: activePage, } getData(data); } const reset = () => { setActivePage(1) setDataPost({...dataPost, search_data: ""}) getData(initialDataPost) } return ( <> {showModal && }

Gán nhãn

handleOnKeyDown(e)} onChange={(e) => { setDataPost({ ...dataPost, search_data: e.target.value }) }} value={dataPost.search_data} id="inputSearch" className="font-family-text form-control m-input" placeholder="Họ tên..." data-col-index={0} />
{dataRole?.indexOf('person:edit') !== -1 ?
: "" }
{/*begin: Datatable */} {(dataRole?.indexOf('person:edit') === -1 && dataRole?.indexOf('person:delete') === -1) ? "" : } {data && tableRows(data)}
Ảnh Họ tên FacebookID Giới tính Ngày sinhThao tác
) }