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 =
Ảnh | Họ tên | Giới tính | Ngày sinh | Thao tác |
---|