import { UploadOutlined, UserOutlined } from '@ant-design/icons'; import { Avatar, Button as ButtonAntd, DatePicker, Form, Input, Radio, Upload } from 'antd'; import { useLocation } from 'react-router-dom'; import viVN from 'antd/lib/locale/vi_VN'; import axios from 'axios'; import moment from 'moment'; import 'moment/locale/vi'; import React, { useEffect, useRef, useState } from 'react'; import { Button, Modal } from 'react-bootstrap'; import swal from 'sweetalert'; import { HOST } from '../../config/index'; const ModalEditLabel = (props) => { const { show, onHide, data } = props; const [crrImages, setCrrImages] = useState([]); const [form] = Form.useForm() const [birthday, setBirthday] = useState(moment()) const [crrData, setCrrData] = useState(null); const [checkDeleteMulti, setCheckDeleteMulti] = useState(false); const [crrIdx, setCrrIdx] = useState(0) const [listChecked, setListChecked] = useState({ url: [] }); const [disableBtn, setDisableBtn] = useState(true); const [dateImage, setDateImg] = useState("") const [dataUpload, setDataUpload] = useState([]) const [hostImg, setHostImg] = useState(''); useEffect(() => { setCrrData(data); setCrrImages(data.sample_images) setBirthday(data.birthday !== "" ? moment(data.birthday) : null) setDisableBtn(data._id ? false : true) setHostImg(data.image_host) return () => { setCrrData(null); } }, [data]); const handleCheckedImg = (event, value) => { let newListChecked = { ...listChecked } if (newListChecked.url.indexOf(event.target.value) === -1) { newListChecked.url.push(event.target.value) } else { var i = newListChecked.url.indexOf(event.target.value); if (i !== -1) { newListChecked.url.splice(i, 1); } } setListChecked(newListChecked) } useEffect(() => { if (crrImages.length > 0) { let crrDateImg = crrImages[crrIdx] let getDateImg = crrDateImg !== "" && crrDateImg.split("_") let dataImg = getDateImg.length > 0 && getDateImg[1].slice(0,6) setDateImg(dataImg) } },[crrImages,crrIdx]) const click_handle = async () => { let dataPost = { obj_id: crrData._id ? crrData._id : "", name: crrData.name, birthday: crrData.birthday, gender: crrData.gender ? crrData.gender : "", id: crrData.id ? crrData.id : "", person_type: 4 } 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) { if (crrData._id) { swal({ icon: 'success', title: 'Thành công', text: 'Sửa thông tin thành công', timer: 1500, buttons: false, }) } else { swal({ icon: 'success', title: 'Thành công', text: 'Thêm mới thành công', timer: 1500, buttons: false, }) setCrrData({...crrData, _id: result.data.data}) setDisableBtn(false) } } else if (result.data.status === 10002) { swal("Thất bại", "Lỗi hệ thống!", "error"); } else { swal("Thất bại", "Sửa thông tin thất bại!", "error"); } } const bulletedImg = crrImages.map((value, index) => { let getDateImg = value.split("_") let dataImg = getDateImg.length > 0 && getDateImg[1].slice(0,6) let renderImg = value.includes("data:image") ? value : hostImg +dataImg+ "/" + value return (