diff --git a/app/src/components/LabelImg/LabelImage.js b/app/src/components/LabelImg/LabelImage.js index bbb276a..421647e 100644 --- a/app/src/components/LabelImg/LabelImage.js +++ b/app/src/components/LabelImg/LabelImage.js @@ -281,6 +281,7 @@ export default function LabelImage() { + {dataRole?.indexOf('person:edit') !== -1 ?
-
+ : "" } {/*begin: Datatable */} diff --git a/app/src/components/List/ListItem.js b/app/src/components/List/ListItem.js index e1431a1..553113a 100644 --- a/app/src/components/List/ListItem.js +++ b/app/src/components/List/ListItem.js @@ -275,6 +275,7 @@ export default function ListItem() { + {dataRole?.indexOf('famous:edit') !== -1 ?
-
+ : "" } {/*begin: Datatable */}
diff --git a/app/src/components/Modal/ModaEditLabel.js b/app/src/components/Modal/ModaEditLabel.js index a5ce642..b77ec1b 100644 --- a/app/src/components/Modal/ModaEditLabel.js +++ b/app/src/components/Modal/ModaEditLabel.js @@ -154,7 +154,70 @@ const ModalEditLabel = (props) => { + // const uploadImage = async (options) => { + // const { file } = options; + // const base64 = await convertBase64(file) + + // let dataUploadImg = { + // obj_id: crrData._id ? crrData._id : "", + // base64_image_list: [base64.split(',')[1]] + // } + + // let promises = []; + // promises.push( + // axios + // .post(`${HOST}/api/face_images/famous_person`, dataUploadImg, { + // headers: { + // 'Accept': 'application/json', + // 'Content-Type': 'application/json', + // } + // }) + // ) + // await Promise.all(promises) + // .then((data) => { + // let success = false + // let manyFace = false + // let noFace = false + // for (let i = 0; i < data.length; i++) { + // const element = data[i]; + // if (element.data.status === 10000) { + // let listImg = dataUpload + // setHostImg(element.data.image_host) + // listImg.unshift(element.data.data.toString()) + // setDataUpload(...dataUpload) + // success = true + // } else if (element.data.status === 10003 && element.data.message === "Too many face in image") { + // manyFace = true + // } else if (element.data.status === 10003 && element.data.message === "No face in image") { + // noFace = true + // } else { + // success = false + // } + // } + // if (success) { + // let originData = crrImages + // originData.unshift(dataUpload[0].toString()) + // let arrSet = [...new Set(originData)] + // setCrrImages(arrSet) + // setCheckDeleteMulti(false) + // } else if (manyFace) { + // swal("Thất bại", "Ảnh có nhiều khuôn mặt!", "error"); + // } else if (noFace) { + // swal("Thất bại", "Ảnh không có khuôn mặt!", "error"); + // } else { + // swal("Thất bại", "Lỗi hệ thống!", "error"); + // } + // }) + // .catch((err) => { + // console.log(err) + // }); + // }; + const uploadImage = async (options) => { + if (crrImages.length >= 3) { + swal("Cảnh báo", "Bạn chỉ được tải lên tối đa 3 ảnh!", "warning"); + return + } else { const { file } = options; const base64 = await convertBase64(file) @@ -163,54 +226,32 @@ const ModalEditLabel = (props) => { base64_image_list: [base64.split(',')[1]] } - let promises = []; - promises.push( - axios - .post(`${HOST}/api/face_images/famous_person`, dataUploadImg, { - headers: { - 'Accept': 'application/json', - 'Content-Type': 'application/json', - } - }) - ) - await Promise.all(promises) - .then((data) => { - let success = false - let manyFace = false - let noFace = false - for (let i = 0; i < data.length; i++) { - const element = data[i]; - if (element.data.status === 10000) { - let listImg = dataUpload - setHostImg(element.data.image_host) - listImg.unshift(element.data.data.toString()) - setDataUpload(...dataUpload) - success = true - } else if (element.data.status === 10003 && element.data.message === "Too many face in image") { - manyFace = true - } else if (element.data.status === 10003 && element.data.message === "No face in image") { - noFace = true - } else { - success = false - } - } - if (success) { - let originData = crrImages - originData.unshift(dataUpload[0].toString()) - let arrSet = [...new Set(originData)] - setCrrImages(arrSet) - setCheckDeleteMulti(false) - } else if (manyFace) { - swal("Thất bại", "Ảnh có nhiều khuôn mặt!", "error"); - } else if (noFace) { - swal("Thất bại", "Ảnh không có khuôn mặt!", "error"); - } else { - swal("Thất bại", "Lỗi hệ thống!", "error"); - } + fetch(`${HOST}/api/face_images/famous_person`, { + method: 'POST', + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + // 'Authorization': token + }, + body: JSON.stringify(dataUploadImg) }) - .catch((err) => { - console.log(err) - }); + .then(res => res.json()) + .then(data => { + if (data.status === 10000) { + setHostImg(data.image_host) + let listImg = [...crrImages] + listImg.unshift(data.data.toString()) + setCrrImages(listImg) + setCheckDeleteMulti(false) + } else if (data.status === 10003) { + if (data.message === "Too many face in image") { + swal("Thất bại", "Ảnh có nhiều khuôn mặt!", "error"); + } else { + swal("Thất bại", "Ảnh không hợp lệ", "error"); + } + } + }) + } }; @@ -351,7 +392,7 @@ const ModalEditLabel = (props) => { customRequest = {uploadImage} accept="image/*" // multiple={true} - beforeUpload={checkLength} + // beforeUpload={checkLength} showUploadList={false} disabled={disableBtn} > diff --git a/app/src/components/Modal/ModalEdit.js b/app/src/components/Modal/ModalEdit.js index 1cba733..9eaf050 100644 --- a/app/src/components/Modal/ModalEdit.js +++ b/app/src/components/Modal/ModalEdit.js @@ -152,7 +152,70 @@ const Modaledit = (props) => { } } + // const uploadImage = async (options) => { + // const { file } = options; + // const base64 = await convertBase64(file) + + // let dataUploadImg = { + // obj_id: crrData._id ? crrData._id : "", + // base64_image_list: [base64.split(',')[1]] + // } + + // let promises = []; + // promises.push( + // axios + // .post(`${HOST}/api/face_images/famous_person`, dataUploadImg, { + // headers: { + // 'Accept': 'application/json', + // 'Content-Type': 'application/json', + // } + // }) + // ) + // await Promise.all(promises) + // .then((data) => { + // let success = false + // let manyFace = false + // let noFace = false + // for (let i = 0; i < data.length; i++) { + // const element = data[i]; + // if (element.data.status === 10000) { + // let listImg = dataUpload + // setHostImg(element.data.image_host) + // listImg.unshift(element.data.data.toString()) + // setDataUpload(...dataUpload) + // success = true + // } else if (element.data.status === 10003 && element.data.message === "Too many face in image") { + // manyFace = true + // } else if (element.data.status === 10003 && element.data.message === "No face in image") { + // noFace = true + // } else { + // success = false + // } + // } + // if (success) { + // let originData = crrImages + // originData.unshift(dataUpload[0].toString()) + // let arrSet = [...new Set(originData)] + // setCrrImages(arrSet) + // setCheckDeleteMulti(false) + // } else if (manyFace) { + // swal("Thất bại", "Ảnh có nhiều khuôn mặt!", "error"); + // } else if (noFace) { + // swal("Thất bại", "Ảnh không có khuôn mặt!", "error"); + // } else { + // swal("Thất bại", "Lỗi hệ thống!", "error"); + // } + // }) + // .catch((err) => { + // console.log(err) + // }); + // }; + const uploadImage = async (options) => { + if (crrImages.length >= 3) { + swal("Cảnh báo", "Bạn chỉ được tải lên tối đa 3 ảnh!", "warning"); + return + } else { const { file } = options; const base64 = await convertBase64(file) @@ -161,58 +224,34 @@ const Modaledit = (props) => { base64_image_list: [base64.split(',')[1]] } - let promises = []; - promises.push( - axios - .post(`${HOST}/api/face_images/famous_person`, dataUploadImg, { - headers: { - 'Accept': 'application/json', - 'Content-Type': 'application/json', - } - }) - ) - await Promise.all(promises) - .then((data) => { - let success = false - let manyFace = false - let noFace = false - for (let i = 0; i < data.length; i++) { - const element = data[i]; - if (element.data.status === 10000) { - let listImg = dataUpload - setHostImg(element.data.image_host) - listImg.unshift(element.data.data.toString()) - setDataUpload(...dataUpload) - success = true - } else if (element.data.status === 10003 && element.data.message === "Too many face in image") { - manyFace = true - } else if (element.data.status === 10003 && element.data.message === "No face in image") { - noFace = true - } else { - success = false - } - } - if (success) { - let originData = crrImages - originData.unshift(dataUpload[0].toString()) - let arrSet = [...new Set(originData)] - setCrrImages(arrSet) - setCheckDeleteMulti(false) - } else if (manyFace) { - swal("Thất bại", "Ảnh có nhiều khuôn mặt!", "error"); - } else if (noFace) { - swal("Thất bại", "Ảnh không có khuôn mặt!", "error"); - } else { - swal("Thất bại", "Lỗi hệ thống!", "error"); - } + fetch(`${HOST}/api/face_images/famous_person`, { + method: 'POST', + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + // 'Authorization': token + }, + body: JSON.stringify(dataUploadImg) }) - .catch((err) => { - console.log(err) - }); + .then(res => res.json()) + .then(data => { + if (data.status === 10000) { + setHostImg(data.image_host) + let listImg = [...crrImages] + listImg.unshift(data.data.toString()) + setCrrImages(listImg) + setCheckDeleteMulti(false) + } else if (data.status === 10003) { + if (data.message === "Too many face in image") { + swal("Thất bại", "Ảnh có nhiều khuôn mặt!", "error"); + } else { + swal("Thất bại", "Ảnh không hợp lệ", "error"); + } + } + }) + } }; - - const convertBase64 = (file) => { return new Promise((resolve, reject) => { const fileReader = new FileReader(); @@ -348,8 +387,8 @@ const Modaledit = (props) => { diff --git a/app/src/components/Modal/ModalRole.js b/app/src/components/Modal/ModalRole.js index 6aad36b..da529ee 100644 --- a/app/src/components/Modal/ModalRole.js +++ b/app/src/components/Modal/ModalRole.js @@ -302,17 +302,19 @@ class ModalRole extends Component { var nameTablee = "" if (value.name === "user") { - nameTablee = "Quản lí người dùng" + nameTablee = "Quản lý người dùng" } else if (value.name === "import") { nameTablee = "Kho ảnh" } else if (value.name === "search") { nameTablee = "Tìm kiếm ảnh" } else if (value.name === "famous") { - nameTablee = "Quản lí người nổi tiếng" + nameTablee = "Quản lý người nổi tiếng" } else if (value.name === "person") { nameTablee = "Gán nhãn" } else if (value.name === "level") { nameTablee = "Thiết lập quyền" + } else { + nameTablee = value.name } return (
diff --git a/app/src/components/Role/Role.js b/app/src/components/Role/Role.js index 358b94e..ec1ced8 100644 --- a/app/src/components/Role/Role.js +++ b/app/src/components/Role/Role.js @@ -222,6 +222,7 @@ class Role extends Component {
+ {this.state.dataRole?.indexOf('level:edit') !== -1 ?
-
+ : "" }
diff --git a/app/src/components/User/User.js b/app/src/components/User/User.js index d81d526..9e1fee9 100644 --- a/app/src/components/User/User.js +++ b/app/src/components/User/User.js @@ -16,9 +16,9 @@ import { useSelector } from 'react-redux'; const initialDataPost = { index: 1, - item_per_page: 5, + item_per_page: 10, search_data: "", - is_deleted: -1, + is_deleted: 0, } export default function User() { @@ -48,7 +48,7 @@ export default function User() { const [offset, setOffset] = useState(0) const [dataPost, setDataPost] = useState(initialDataPost) - const itemsPerPage = 5 + const itemsPerPage = 10 const location = useLocation(); @@ -191,7 +191,7 @@ export default function User() {
- + */} {(dataRole?.indexOf('user:edit') === -1 && dataRole?.indexOf('user:delete') === -1) ? "" : - + {/* */} {(dataRole?.indexOf('user:edit') === -1 && dataRole?.indexOf('user:delete') === -1) ? "" : } diff --git a/app/src/components/layouts/Footer.js b/app/src/components/layouts/Footer.js index 271b11f..2eb69ac 100644 --- a/app/src/components/layouts/Footer.js +++ b/app/src/components/layouts/Footer.js @@ -21,20 +21,6 @@ class Footer extends Component { 2019 © BeetInnovators -
- -
diff --git a/app/src/components/layouts/Header.js b/app/src/components/layouts/Header.js index 40c2c79..ffa0c69 100644 --- a/app/src/components/layouts/Header.js +++ b/app/src/components/layouts/Header.js @@ -111,9 +111,10 @@ class Header extends Component { -
+
- + +
by Beet Innovators
diff --git a/app/src/components/layouts/MenuBar.js b/app/src/components/layouts/MenuBar.js index 3916fa6..69d99fd 100644 --- a/app/src/components/layouts/MenuBar.js +++ b/app/src/components/layouts/MenuBar.js @@ -103,7 +103,7 @@ class MenuBar extends Component { - Quản lí người dùng + Quản lý người dùng @@ -123,7 +123,7 @@ class MenuBar extends Component { : ""} - + {this.state.dataRole?.indexOf('level:view') !== -1 ?
  • this.onClickClose()}> @@ -134,6 +134,7 @@ class MenuBar extends Component {
  • + : ""}
    {/* END: Aside Menu */} diff --git a/app/src/router/ReactRouter.js b/app/src/router/ReactRouter.js index 3904c45..9e3da45 100644 --- a/app/src/router/ReactRouter.js +++ b/app/src/router/ReactRouter.js @@ -91,16 +91,15 @@ class ReactRouter extends Component { : '' } - {/* { - this.state.dataRole?.indexOf('test:view') !== -1 + { + this.state.dataRole?.indexOf('level:view') !== -1 ? <> : '' - } */} - + } { this.state.dataRole?.indexOf('famous:view') !== -1 ?
    {gender} {value.birthday !== "" ? momment(value.birthday).format("DD-MM-YYYY") : ""} {value.phone_number} + {/* { value.is_deleted === 1 ? @@ -199,7 +199,7 @@ export default function User() { : Hoạt động } - {dataRole?.indexOf('user:edit') !== -1 ? @@ -284,10 +284,11 @@ export default function User() {

    - Quản lí người dùng + Quản lý người dùng

    + {dataRole?.indexOf('user:edit') !== -1 ?
    • @@ -320,7 +321,7 @@ export default function User() { } */}
    -
    + : "" }
    @@ -339,13 +340,13 @@ export default function User() { placeholder="Tên đăng nhập/Họ tên..." data-col-index={0} />
    -
    + {/*
    Giới tính Ngày sinh Số điện thoạiTrạng tháiTrạng tháiThao tác