????

Your IP : 216.73.216.152


Current Path : C:/inetpub/vhost/xaydung.gdtsolutions.vn/build/static/js/
Upload File :
Current File : C:/inetpub/vhost/xaydung.gdtsolutions.vn/build/static/js/1558.697dea46.chunk.js.map

{"version":3,"file":"static/js/1558.697dea46.chunk.js","mappings":"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","sources":["components/Empty/EmptyNoData.js","views/quan-ly-vat-lieu/CuaHangVatLieu/VatLieu/NewListCuaHangVatLieu.js","views/quan-ly-vat-lieu/CuaHangVatLieu/VatLieu/PopupChonLoaiVatLieu.js","../.yarn/__virtual__/reactstrap-virtual-4c869ece7a/6/root/.yarn/berry/cache/reactstrap-npm-8.10.1-e3a658744a-10c0.zip/node_modules/reactstrap/es/Table.js","views/quan-ly-vat-lieu/CuaHangVatLieu/VatLieu/RenderRow.js","components/skeleton/Skeleton.js","../.yarn/__virtual__/@material-ui-lab-virtual-61a60f9a8e/6/root/.yarn/berry/cache/@material-ui-lab-npm-4.0.0-alpha.58-05f1e9da95-10c0.zip/node_modules/@material-ui/lab/esm/Skeleton/Skeleton.js","../.yarn/__virtual__/reactstrap-virtual-4c869ece7a/6/root/.yarn/berry/cache/reactstrap-npm-8.10.1-e3a658744a-10c0.zip/node_modules/reactstrap/es/CardHeader.js","views/quan-ly-vat-lieu/CuaHangVatLieu/VatLieu/NewTreeVatLieu.js"],"sourcesContent":["import React, { Component } from 'react'\nimport styled from 'styled-components'\n\nexport default class EmptyNoData extends Component {\n\n    render() {\n        const { size, text } = this.props\n        let children = <div>\n            <span className=\"text-center\"><i className=\"far fa-folder-open\"></i></span>\n            <span>{text || 'Không có dữ liệu'}</span>\n        </div>\n        switch (size) {\n            case 'sm':\n                return <EmptyContainerSmall>\n                    {children}\n                </EmptyContainerSmall>\n            case 'lg':\n                return <EmptyContainerLarge>\n                    {children}\n                </EmptyContainerLarge>\n            default:\n                return <EmptyContainerLarge>\n                    {children}\n                </EmptyContainerLarge>\n        }\n\n    }\n}\n\nconst EmptyContainerSmall = styled.div`\n    height: 110px;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    width: 100%;\n\n    span{\n        line-height: 1.2;\n        display: block;\n        opacity: 0.5;\n        &:first-child{\n            font-size:2.5rem;\n        }\n        &:last-child{\n            font-size:1rem;\n        }\n    }\n`\nconst EmptyContainerLarge = styled.div`\nheight: 400px;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    width: 100%;\n    span{\n        line-height: 1.2;\n        display: block;\n        opacity: 0.5;\n        &:first-child{\n            font-size:3.5rem;\n        }\n        &:last-child{\n            font-size:1.5rem;\n        }\n    }\n`","/* eslint-disable no-unused-vars */\nimport { Typography } from '@material-ui/core';\nimport React, { useState, useEffect, useCallback } from 'react';\nimport { Button, Card, CardBody, CardFooter, Table } from 'reactstrap';\nimport { settingData, removeVietnameseTones } from '../../../../actions/util';\nimport EmptyNoData from '../../../../components/Empty/EmptyNoData';\nimport { Skeleton } from '../../../../components/skeleton';\nimport { CuaHangVatLieusEndpoint, DMLoaiVatLieusEndpoint } from '../../../../service/GDTCores';\nimport PopupChonLoaiVatLieu from './PopupChonLoaiVatLieu';\nimport RenderRow from './RenderRow';\n\nconst NewListCuaHangVatLieu = React.forwardRef((props, ref) => {\n    const { IdCuaHang, IdLoaiVatLieu, IsOpen, textSearch } = props;\n    const [listCuaHangVatLieu, setListCuaHangVatLieu] = useState([]);\n    const [newListCuaHangVatLieu, setNewListCuaHangVatLieu] = useState([]);\n    const [loaiVatLieu, setLoaiVatLieu] = useState([])\n    const [isOpen, setIsOpen] = useState(false);\n    const [loadding, setloadding] = useState(false);\n\n    const filterDeQuy = useCallback((find) => {\n        if (find.isChildren) return true;\n        if (find.children) {\n            return (find.children = find.children.filter(filterDeQuy)).length\n        }\n    }, [])\n\n    const filterDeQuySearch = useCallback(\n        (find) => {\n            let value = removeVietnameseTones(textSearch).toLowerCase().trim();\n            if (removeVietnameseTones(find.Name).toLowerCase().trim().includes(value)) return true;\n            if (find.children) {\n                return (find.children = find.children.filter(filterDeQuySearch)).length\n            }\n        },\n        [textSearch],\n    )\n\n    const handleSearch = useCallback(\n        (acc, a) => {\n            let value = removeVietnameseTones(textSearch).toLowerCase().trim();\n            if (a.children) {\n                const ch = a.children.filter(filterDeQuySearch)\n                if (ch && ch.length) acc.push({ ...a, children: ch });\n            }\n            else if (removeVietnameseTones(a.Name).toLowerCase().trim().includes(value)) acc.push({ ...a, name: a.Name });\n            return acc\n        },\n        [filterDeQuySearch, textSearch],\n    )\n\n    const setData = useCallback(\n        (IdLoaiVatLieu, IsOpen, IdCuaHang, filterDeQuy, loaiVatLieu) => {\n            let filter = [`OrganId eq ${IdCuaHang}`];\n            if (IdLoaiVatLieu) {\n                setloadding(true)\n                filter.push(`DMVatLieu/DMLoaiVatLieuId eq ${IdLoaiVatLieu}`)\n            }\n            if (IsOpen) setloadding(true)\n            CuaHangVatLieusEndpoint.getCuaHangVatLieuByFilter(filter)\n                .then(res => {\n                    let newArr = res.value.map(item => {\n                        return {\n                            Id: item.DMVatLieuId,\n                            DonGia: item.DonGia,\n                            OrganId: item.OrganId,\n                            OrganName: item.Organization.OrganName,\n                            DVT: item.DMVatLieu.DMDonViTinh.Name,\n                            MaDVT: item.DMVatLieu.DMDonViTinh.Code,\n                            Name: item.DMVatLieu.Name,\n                            ParentId: item.DMVatLieu.DMLoaiVatLieuId,\n                            isChildren: true,\n                            MaSanPhamTonKho: item.MaSPTonKho,\n                            MaNCC: item.Organization.MaCuaHang,\n                            MaLoai: item.DMVatLieu.DMLoaiVatLieu.Code\n                        }\n                    })\n                    setloadding(false);\n                    setListCuaHangVatLieu(newArr.length !== 0 ? settingData([...newArr, ...loaiVatLieu]).filter(filterDeQuy) : []);\n                    setNewListCuaHangVatLieu(newArr.length !== 0 ? settingData([...newArr, ...loaiVatLieu]).filter(filterDeQuy) : []);\n                })\n        },\n        [],\n    )\n\n    useEffect(() => {\n        DMLoaiVatLieusEndpoint.getAllDMLoaiVatLieus()\n            .then((res) => setLoaiVatLieu(res.value))\n    }, [IdCuaHang])\n\n    useEffect(() => { setData(IdLoaiVatLieu, IsOpen, IdCuaHang, filterDeQuy, loaiVatLieu) },\n        [IdCuaHang, IdLoaiVatLieu, IsOpen, filterDeQuy, loaiVatLieu, setData]);\n\n    useEffect(() => {\n        let newData = listCuaHangVatLieu.slice();\n        let res = newData.reduce(handleSearch, []);\n        setNewListCuaHangVatLieu(res)\n\n    }, [textSearch, listCuaHangVatLieu, handleSearch, filterDeQuy])\n\n    const onResetData = useCallback(\n        () => { setData(IdLoaiVatLieu, IsOpen, IdCuaHang, filterDeQuy, loaiVatLieu) },\n        [IdCuaHang, IdLoaiVatLieu, IsOpen, filterDeQuy, loaiVatLieu, setData],\n    )\n\n    return (\n        <React.Fragment>\n            <Card className=\"card-listCuaHangVatLieu\">\n                <CardBody>\n                    <Table size=\"sm\" bordered striped>\n                        <thead>\n                            <tr>\n                                <th>STT</th>\n                                <th>Tên vật liệu</th>\n                                <th>ĐVT</th>\n                                <th>Đơn giá</th>\n                                <th>Thao tác</th>\n                            </tr>\n                        </thead>\n                        <tbody>\n                            {\n                                loadding ? <React.Fragment>\n                                    {Array.from(Array(5).keys()).map((cur, i) => (\n                                        <tr key={i}>\n                                            {Array.from(Array(5).keys()).map((_, i) => <td key={i}><Typography variant='caption'><Skeleton /></Typography></td>)}\n                                        </tr>\n                                    ))}\n                                </React.Fragment> : newListCuaHangVatLieu.length !== 0 ? newListCuaHangVatLieu.map((item, i) => <RenderRow\n                                    onResetData={onResetData}\n                                    IdCuaHang={IdCuaHang}\n                                    key={i}\n                                    item={item}\n                                    index={i}\n                                />) : <tr>\n                                    <td className=\"noData\" colSpan=\"5\">\n                                        <EmptyNoData size='sm' text={'Chưa có dữ liệu!'} ></EmptyNoData>\n                                    </td>\n                                </tr>\n                            }\n                        </tbody>\n                    </Table>\n                </CardBody>\n                <CardFooter>\n                    <Button onClick={() => setIsOpen(true)} color=\"success\">Thêm mới vật liệu</Button>\n                </CardFooter>\n            </Card>\n            {isOpen && <PopupChonLoaiVatLieu\n                IdCuaHang={IdCuaHang}\n                isOpen={isOpen}\n                isClose={() => setIsOpen(false)}\n                onResetData={onResetData}\n            />}\n        </React.Fragment>\n    )\n})\nexport default NewListCuaHangVatLieu;\n","/* eslint-disable no-unused-vars */\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { Button, Card, CardBody, CardFooter, CardHeader, Col, Input, Modal, ModalBody, ModalHeader, Row, Table } from 'reactstrap'\nimport { CHECK_ERROR, CHECK_SUCCESS } from '../../../../components/alert/Alert';\nimport { CuaHangVatLieusEndpoint, DMVatLieusEndpoint } from '../../../../service/GDTCores';\nimport NewTreeVatLieu from './NewTreeVatLieu';\nimport EmptyNoData from '../../../../components/Empty/EmptyNoData';\nimport NumberFormat from '../../../../components/numberformat/NumberFormat';\nimport { Typography } from '@material-ui/core';\nimport { Skeleton } from '../../../../components/skeleton';\nimport { removeVietnameseTones } from '../../../../actions/util';\nimport { callApiKho } from '../../../../service/api';\n\nexport default function PopupChonLoaiVatLieu(props) {\n    const { isOpen, isClose, IdCuaHang, onResetData } = props;\n    const [listVatLieu, setListVatLieu] = useState([]);\n    const [itemLVL, setItemLVL] = useState({});\n    const [listCuaHangVatLieu, setlistCuaHangVatLieu] = useState([]);\n    const [loading, setLoading] = useState(false);\n    const [textSearch, setTextSearch] = useState('')\n\n    const getItemLoaiVatLieu = (item) => setItemLVL(item)\n\n    const getData = useCallback(() => {\n        if (itemLVL.NodeId) {\n            let filter = [];\n            filter.push(`DMLoaiVatLieuId eq ${itemLVL.NodeId}`)\n            filter.push(`Status eq ${true}`);\n            if (textSearch) filter.push(`contains(Name, '${textSearch}')`)\n            setLoading(true);\n            DMVatLieusEndpoint.getVatlieuByFilter(filter)\n                .then(res => {\n                    let arr = [];\n                    res.value.forEach((item) => {\n                        let element = { ...item };\n                        let check = item.CuaHangVatLieus.find(f => f.DMVatLieuId === item.Id && f.OrganId === IdCuaHang)\n                        if (check) {\n                            element.isDisabled = true;\n                            element.DonGia = check.DonGia\n                        } else {\n                            element.DonGia = ''\n                        }\n                        arr.push(element)\n                    })\n                    setListVatLieu(arr);\n                    setLoading(false)\n                })\n                .catch(err => CHECK_ERROR('Lỗi'))\n        }\n    }, [itemLVL, textSearch, IdCuaHang])\n\n    const getDataCuaHangVatLieu = useCallback(() => {\n        let filter = [`OrganId eq ${IdCuaHang}`]\n        CuaHangVatLieusEndpoint.getCuaHangVatLieuByFilter(filter)\n            .then(res => setlistCuaHangVatLieu(res.value))\n            .catch(err => CHECK_ERROR('Lỗi'))\n    }, [IdCuaHang])\n\n    useEffect(() => getDataCuaHangVatLieu(), [getDataCuaHangVatLieu])\n\n    useEffect(() => getData(), [getData, itemLVL, listCuaHangVatLieu])\n\n    const onChangeDonGia = useCallback((value, item, index) => {\n        let itemChange = {\n            ...item,\n            DonGia: value,\n        }\n        listVatLieu[index] = itemChange;\n        setListVatLieu([...listVatLieu]);\n    }, [listVatLieu])\n\n    const save = useCallback(() => {\n        let model = {\n            CuaHangId: IdCuaHang,\n            VatLieus: listVatLieu.filter(f => f.DonGia).filter(f => !f.isDisabled).map(item => {\n                return {\n                    VatLieuId: item.Id,\n                    DonGia: item.DonGia\n                }\n            })\n        }\n        CuaHangVatLieusEndpoint.themCuaHangVatLieu(model)\n            .then(res => { getDataCuaHangVatLieu(); getData(); onResetData(); CHECK_SUCCESS('Thêm mới vật liệu thành công') })\n    }, [IdCuaHang, getData, getDataCuaHangVatLieu, listVatLieu, onResetData])\n\n    const handleClose = useCallback(() => {\n        setListVatLieu([]); isClose()\n    }, [isClose])\n\n    const handleChangeSearch = (event) => {\n        if (event.key === 'Enter') {\n            setTextSearch(event.target.value)\n            getData();\n        }\n    }\n\n\n    return (\n        <Modal className=\"modal_dsvl\" size=\"xl\" isOpen={isOpen} toggle={handleClose} zIndex=\"1500\">\n            <ModalHeader toggle={handleClose}>\n                Danh sách vật liệu\n            </ModalHeader>\n            <ModalBody>\n                <Row>\n                    <Col className=\"col-treevl\" xs=\"4\">\n                        <NewTreeVatLieu getItemLoaiVatLieu={getItemLoaiVatLieu} />\n                    </Col>\n                    <Col className=\"col-tablevl\" xs=\"8\">\n                        <Card>\n                            <CardHeader>\n                                <Input\n                                    style={{ width: '250px' }}\n                                    placeholder=\"Nhập tìm kiếm...\"\n                                    onKeyPress={(event) => handleChangeSearch(event)}\n                                />\n                            </CardHeader>\n                            <CardBody>\n                                <div className=\"tablevl\">\n                                    <Table size=\"sm\" bordered>\n                                        <thead>\n                                            <tr>\n                                                <th>STT</th>\n                                                <th>TÊN VẬT LIỆU</th>\n                                                <th>ĐVT</th>\n                                                <th>ĐƠN GIÁ</th>\n                                            </tr>\n                                        </thead>\n                                        <tbody>\n                                            {\n                                                loading ?\n                                                    <React.Fragment>\n                                                        {Array.from(Array(4).keys()).map((cur, i) => (\n                                                            <tr key={i}>\n                                                                {Array.from(Array(4).keys()).map((_, i) => <td key={i}><Typography variant='caption'><Skeleton /></Typography></td>)}\n                                                            </tr>\n                                                        ))}\n                                                    </React.Fragment>\n                                                    : listVatLieu.length !== 0 ? listVatLieu.map((item, index) => (\n                                                        <tr key={index}>\n                                                            <td>{index + 1}</td>\n                                                            <td className=\"text\">{item.Name}</td>\n                                                            <td className=\"text\">{item.DMDonViTinh.Name}</td>\n                                                            <td className=\"number\">\n                                                                <NumberFormat\n                                                                    disabled={item.isDisabled}\n                                                                    decimalSeparator=\",\"\n                                                                    thousandSeparator=\".\"\n                                                                    onFocus={(e) => e.target.select()}\n                                                                    value={item.DonGia}\n                                                                    onValueChange={(value) => onChangeDonGia(value.values.floatValue, item, index)}\n                                                                />\n                                                            </td>\n                                                        </tr>\n                                                    )) : <tr>\n                                                        <td className=\"noData\" colSpan=\"5\">\n                                                            <EmptyNoData size='sm' text={'Chưa có dữ liệu!'} ></EmptyNoData>\n                                                        </td>\n                                                    </tr>\n                                            }\n                                        </tbody>\n                                    </Table>\n                                </div>\n                            </CardBody>\n                            <CardFooter>\n                                <Button color=\"primary\" onClick={save}>Thêm mới vật liệu</Button>\n                            </CardFooter>\n                        </Card>\n                    </Col>\n                </Row>\n            </ModalBody>\n        </Modal>\n    )\n}\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"cssModule\", \"size\", \"bordered\", \"borderless\", \"striped\", \"dark\", \"hover\", \"responsive\", \"tag\", \"responsiveTag\", \"innerRef\"];\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar propTypes = {\n  className: PropTypes.string,\n  cssModule: PropTypes.object,\n  size: PropTypes.string,\n  bordered: PropTypes.bool,\n  borderless: PropTypes.bool,\n  striped: PropTypes.bool,\n  dark: PropTypes.bool,\n  hover: PropTypes.bool,\n  responsive: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n  tag: tagPropType,\n  responsiveTag: tagPropType,\n  innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.string, PropTypes.object])\n};\nvar defaultProps = {\n  tag: 'table',\n  responsiveTag: 'div'\n};\n\nvar Table = function Table(props) {\n  var className = props.className,\n      cssModule = props.cssModule,\n      size = props.size,\n      bordered = props.bordered,\n      borderless = props.borderless,\n      striped = props.striped,\n      dark = props.dark,\n      hover = props.hover,\n      responsive = props.responsive,\n      Tag = props.tag,\n      ResponsiveTag = props.responsiveTag,\n      innerRef = props.innerRef,\n      attributes = _objectWithoutPropertiesLoose(props, _excluded);\n\n  var classes = mapToCssModules(classNames(className, 'table', size ? 'table-' + size : false, bordered ? 'table-bordered' : false, borderless ? 'table-borderless' : false, striped ? 'table-striped' : false, dark ? 'table-dark' : false, hover ? 'table-hover' : false), cssModule);\n  var table = /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n    ref: innerRef,\n    className: classes\n  }));\n\n  if (responsive) {\n    var responsiveClassName = mapToCssModules(responsive === true ? 'table-responsive' : \"table-responsive-\" + responsive, cssModule);\n    return /*#__PURE__*/React.createElement(ResponsiveTag, {\n      className: responsiveClassName\n    }, table);\n  }\n\n  return table;\n};\n\nTable.propTypes = propTypes;\nTable.defaultProps = defaultProps;\nexport default Table;","/* eslint-disable no-unused-vars */\nimport React, { useState, useCallback } from 'react'\nimport { Button, Form, Label, Input, FormGroup } from 'reactstrap'\nimport { formatCurrency } from '../../../../actions/util'\nimport { CHECK_ERROR, CHECK_SUCCESS } from '../../../../components/alert/Alert';\nimport { FontAwesome } from '../../../../components/icon'\nimport { CuaHangVatLieusEndpoint } from '../../../../service/GDTCores';\nimport { Slide, Dialog, DialogActions, DialogContent, DialogTitle, Checkbox } from '@material-ui/core';\nimport NumberFormat from '../../../../components/numberformat/NumberFormat';\nimport Swal from 'sweetalert2';\nimport { callApiKho } from '../../../../service/api';\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n    return <Slide direction=\"up\" ref={ref} {...props} />;\n});\n\nexport default function RenderRow(props) {\n    const { index, item, IdCuaHang, onResetData } = props;\n    const [isOpen, setIsOpen] = useState(false);\n    const [itemVatLieu, setItemVatLieu] = useState({});\n    const [statusTonKho, setStatusTonKho] = useState(false);\n\n    const ConfirmContinue = useCallback((text) => {\n        return Swal.fire({\n            title: text,\n            icon: 'warning',\n            showCancelButton: true,\n            confirmButtonColor: '#3085d6',\n            cancelButtonColor: '#d33',\n            confirmButtonText: 'Đồng ý',\n            cancelButtonText: 'Hủy'\n        })\n    }, [])\n\n    const onDeleted = (item) => {\n        ConfirmContinue(`Bạn có chắc chắn muốn xóa vật liệu ${item.Name}`).then((res) => {\n            if (res.value) {\n                const isKho = IdCuaHang === '56dfff3b-a1a5-404e-937a-3b4d02ecc1db';\n                CuaHangVatLieusEndpoint.xoaCuaHangVatLieu(item.Id, IdCuaHang)\n                    .then(() => { onResetData(); CHECK_SUCCESS('Xóa thành công') });\n                if (isKho) {\n                    callApiKho(`SanPham/XoaSanPhamTanPhat?maSanPham=${item.MaSanPhamTonKho}`, \"PATCH\", null, false);\n                }\n            }\n        })\n    }\n\n    const onChangeDonGia = (value, item) => {\n        let itemChange = { ...item, DonGia: value }\n        setItemVatLieu(itemChange)\n    }\n\n    const handleOpen = useCallback((item) => {\n        const isKho = IdCuaHang === '56dfff3b-a1a5-404e-937a-3b4d02ecc1db';\n        if (isKho) {\n            callApiKho(`SanPham/ThongTinSanPham?maSanPham=${item.MaSanPhamTonKho}`, \"POST\", null, false)\n                .then(res => setStatusTonKho(res.TrangThaiTonKho))\n                .catch(() => setStatusTonKho(false))\n        }\n        setIsOpen(true); setItemVatLieu(item)\n    }, [IdCuaHang])\n\n    const save = () => {\n        const isKho = IdCuaHang === '56dfff3b-a1a5-404e-937a-3b4d02ecc1db';\n        const { DonGia, MaSanPhamTonKho, Name, MaDVT, MaNCC, MaLoai } = itemVatLieu\n        const model = { DonGia: DonGia }\n        const modelKho = {\n            MaSanPham: MaSanPhamTonKho,\n            TenSanPham: Name,\n            DonGia: DonGia,\n            MaDonViTinh: MaDVT,\n            MaLoai: MaLoai,\n            MaNhaCungCap: MaNCC,\n            TrangThaiTonKho: statusTonKho + ''\n        }\n        CuaHangVatLieusEndpoint.capNhatCuaHangVatLieu(model, itemVatLieu.Id, IdCuaHang)\n            .then(() => { onResetData(); CHECK_SUCCESS('Cập nhật thành công') });\n        if (isKho) {\n            callApiKho(`SanPham/ThemSanPhamVaoKho`, \"POST\", JSON.stringify(modelKho), false)\n        }\n    }\n\n    return (\n        <React.Fragment>\n            {\n                item.isChildren ?\n                    <tr>\n                        <td className=\"stt\">{item.DonGia && index + 1}</td>\n                        <td className=\"name\">{item.Name}</td>\n                        <td>{item.DVT}</td>\n                        <td className=\"number\">{item.DonGia && formatCurrency(item.DonGia)}</td>\n                        <td className=\"action\">\n                            <Button onClick={() => handleOpen(item)} className=\"mr-1\" size=\"sm\" color=\"primary\"><FontAwesome fa=\"edit\" /><span style={{ marginLeft: 5 }}>Sửa</span></Button>\n                            <Button onClick={() => onDeleted(item)} size=\"sm\" color=\"danger\"><FontAwesome fa=\"times\" /><span style={{ marginLeft: 5 }}>Xóa</span></Button>\n                        </td>\n                    </tr> :\n                    <tr>\n                        <td colSpan=\"5\"><b>Loại vật liệu: {item.Name}</b></td>\n                    </tr>\n            }\n            {\n                item.children && item.children.length !== 0 && item.children.map((m, i) => <RenderRow onResetData={onResetData} IdCuaHang={IdCuaHang} key={i} item={m} index={i} />)\n            }\n\n            <Dialog\n                onClose={() => setIsOpen(false)}\n                aria-labelledby=\"customized-dialog-title\"\n                open={isOpen}\n                TransitionComponent={Transition}\n                maxWidth='sm'\n            >\n                <DialogTitle id=\"customized-dialog-title\">\n                    Sửa vật liệu\n                </DialogTitle>\n                <DialogContent dividers>\n                    <Form style={{ width: '400px' }}>\n                        <FormGroup>\n                            <Label for=\"vatLieu\">Vật liệu</Label>\n                            <Input disabled={true} value={itemVatLieu.Name} />\n                        </FormGroup>\n                        <FormGroup>\n                            <Label for=\"vatLieu\">Đơn giá</Label>\n                            <NumberFormat\n                                autoFocus\n                                decimalSeparator=\",\"\n                                thousandSeparator=\".\"\n                                onFocus={(e) => e.target.select()} z\n                                value={itemVatLieu.DonGia}\n                                onValueChange={(value) => onChangeDonGia(value.values.floatValue, itemVatLieu)}\n                            />\n                        </FormGroup>\n                        {IdCuaHang === '56dfff3b-a1a5-404e-937a-3b4d02ecc1db' && <FormGroup>\n                            <Label for=\"trangThai\">Trạng thái tồn kho</Label>\n                            <Checkbox checked={statusTonKho} onChange={(e) => setStatusTonKho(e.target.checked)} />\n                        </FormGroup>}\n                    </Form>\n                </DialogContent>\n                <DialogActions>\n                    <Button onClick={save} variant=\"contained\" color=\"primary\" autoFocus >Xác nhận</Button>\n                </DialogActions>\n            </Dialog>\n        </React.Fragment>\n    )\n}\n","import React from 'react';\nimport Skeleton from '@material-ui/lab/Skeleton';\n\nconst ISkeleton = (props) => {\n    const { children, ...attribute } = props;\n    return (\n        <Skeleton {...attribute} animation=\"wave\">\n            {children}\n        </Skeleton>\n    );\n};\n\nexport default ISkeleton;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { fade, withStyles } from '@material-ui/core/styles';\nexport var styles = function styles(theme) {\n  return {\n    /* Styles applied to the root element. */\n    root: {\n      display: 'block',\n      // Create a \"on paper\" color with sufficient contrast retaining the color\n      backgroundColor: fade(theme.palette.text.primary, theme.palette.type === 'light' ? 0.11 : 0.13),\n      height: '1.2em'\n    },\n\n    /* Styles applied to the root element if `variant=\"text\"`. */\n    text: {\n      marginTop: 0,\n      marginBottom: 0,\n      height: 'auto',\n      transformOrigin: '0 60%',\n      transform: 'scale(1, 0.60)',\n      borderRadius: theme.shape.borderRadius,\n      '&:empty:before': {\n        content: '\"\\\\00a0\"'\n      }\n    },\n\n    /* Styles applied to the root element if `variant=\"rect\"`. */\n    rect: {},\n\n    /* Styles applied to the root element if `variant=\"circle\"`. */\n    circle: {\n      borderRadius: '50%'\n    },\n\n    /* Styles applied to the root element if `animation=\"pulse\"`. */\n    pulse: {\n      animation: '$pulse 1.5s ease-in-out 0.5s infinite'\n    },\n    '@keyframes pulse': {\n      '0%': {\n        opacity: 1\n      },\n      '50%': {\n        opacity: 0.4\n      },\n      '100%': {\n        opacity: 1\n      }\n    },\n\n    /* Styles applied to the root element if `animation=\"wave\"`. */\n    wave: {\n      position: 'relative',\n      overflow: 'hidden',\n      '&::after': {\n        animation: '$wave 1.6s linear 0.5s infinite',\n        background: \"linear-gradient(90deg, transparent, \".concat(theme.palette.action.hover, \", transparent)\"),\n        content: '\"\"',\n        position: 'absolute',\n        transform: 'translateX(-100%)',\n        // Avoid flash during server-side hydration\n        bottom: 0,\n        left: 0,\n        right: 0,\n        top: 0\n      }\n    },\n    '@keyframes wave': {\n      '0%': {\n        transform: 'translateX(-100%)'\n      },\n      '60%': {\n        // +0.5s of delay between each loop\n        transform: 'translateX(100%)'\n      },\n      '100%': {\n        transform: 'translateX(100%)'\n      }\n    },\n\n    /* Styles applied when the component is passed children. */\n    withChildren: {\n      '& > *': {\n        visibility: 'hidden'\n      }\n    },\n\n    /* Styles applied when the component is passed children and no width. */\n    fitContent: {\n      maxWidth: 'fit-content'\n    },\n\n    /* Styles applied when the component is passed children and no height. */\n    heightAuto: {\n      height: 'auto'\n    }\n  };\n};\nvar Skeleton = /*#__PURE__*/React.forwardRef(function Skeleton(props, ref) {\n  var _props$animation = props.animation,\n      animation = _props$animation === void 0 ? 'pulse' : _props$animation,\n      classes = props.classes,\n      className = props.className,\n      _props$component = props.component,\n      Component = _props$component === void 0 ? 'span' : _props$component,\n      height = props.height,\n      _props$variant = props.variant,\n      variant = _props$variant === void 0 ? 'text' : _props$variant,\n      width = props.width,\n      other = _objectWithoutProperties(props, [\"animation\", \"classes\", \"className\", \"component\", \"height\", \"variant\", \"width\"]);\n\n  var hasChildren = Boolean(other.children);\n  return /*#__PURE__*/React.createElement(Component, _extends({\n    ref: ref,\n    className: clsx(classes.root, classes[variant], className, hasChildren && [classes.withChildren, !width && classes.fitContent, !height && classes.heightAuto], animation !== false && classes[animation])\n  }, other, {\n    style: _extends({\n      width: width,\n      height: height\n    }, other.style)\n  }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Skeleton.propTypes = {\n  /**\n   * The animation.\n   * If `false` the animation effect is disabled.\n   */\n  animation: PropTypes.oneOf(['pulse', 'wave', false]),\n\n  /**\n   * Optional children to infer width and height from.\n   */\n  children: PropTypes.node,\n\n  /**\n   * Override or extend the styles applied to the component.\n   * See [CSS API](#css) below for more details.\n   */\n  classes: PropTypes.object.isRequired,\n\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n\n  /**\n   * The component used for the root node.\n   * Either a string to use a HTML element or a component.\n   */\n  component: PropTypes\n  /* @typescript-to-proptypes-ignore */\n  .elementType,\n\n  /**\n   * Height of the skeleton.\n   * Useful when you don't want to adapt the skeleton to a text element but for instance a card.\n   */\n  height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n  /**\n   * The type of content that will be rendered.\n   */\n  variant: PropTypes.oneOf(['text', 'rect', 'circle']),\n\n  /**\n   * Width of the skeleton.\n   * Useful when the skeleton is inside an inline element with no width of its own.\n   */\n  width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : void 0;\nexport default withStyles(styles, {\n  name: 'MuiSkeleton'\n})(Skeleton);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"cssModule\", \"tag\"];\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar propTypes = {\n  tag: tagPropType,\n  className: PropTypes.string,\n  cssModule: PropTypes.object\n};\nvar defaultProps = {\n  tag: 'div'\n};\n\nvar CardHeader = function CardHeader(props) {\n  var className = props.className,\n      cssModule = props.cssModule,\n      Tag = props.tag,\n      attributes = _objectWithoutPropertiesLoose(props, _excluded);\n\n  var classes = mapToCssModules(classNames(className, 'card-header'), cssModule);\n  return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n    className: classes\n  }));\n};\n\nCardHeader.propTypes = propTypes;\nCardHeader.defaultProps = defaultProps;\nexport default CardHeader;","/* eslint-disable no-unused-vars */\nimport React, { useEffect, useState, useImperativeHandle } from 'react'\nimport { CuaHangVatLieusEndpoint, DMVatLieusEndpoint, DMLoaiVatLieusEndpoint } from '../../../../service/GDTCores';\nimport { LoadingSpinner } from \"../../../../components/spinners\";\nimport { TreeView, TreeItem } from \"../../../../components/tree\";\nimport ToastDetail from \"../../../../components/base/Toast/ToastDetail\";\nimport { removeVietnameseTones } from '../../../../actions/util'\nimport { Input } from 'reactstrap';\n\nconst settingData = (data) => {\n    const arrData = [];\n    data.forEach((curr, index, arr) => {\n        if (!curr.ParentId) {\n            const element = { ...curr }\n            const children = arr.filter(x => x.ParentId === curr.Id);\n            if (children.length !== 0) {\n                const dataChild = getNestedChildren(data, curr.Id)\n                element.children = dataChild;\n            }\n            arrData.push(element);\n        }\n    })\n    return arrData\n}\n\nfunction getNestedChildren(arr, idParent) {\n    var children = [];\n    arr.forEach((curr, i) => {\n        if (curr.ParentId === idParent) {\n            var grandChildren = getNestedChildren(arr, curr.Id)\n            if (grandChildren.length) {\n                curr.children = grandChildren;\n            }\n            children.push(curr);\n        }\n    })\n    return children;\n}\n\nexport default function NewTreeVatLieu(props) {\n    const { getItemLoaiVatLieu } = props;\n    const [dataTree, setDataTree] = useState([])\n    const [newDataTree, setNewDataTree] = useState([]);\n    const [expanded, setExpanded] = useState([]);\n\n    useEffect(() => {\n        DMLoaiVatLieusEndpoint.getAllDMLoaiVatLieus()\n            .then(res => {\n                setDataTree(settingData(res.value))\n                setNewDataTree(settingData(res.value))\n            })\n    }, [])\n\n    const handleToggle = (event, nodeIds) => {\n        event.persist()\n        let iconClicked = event.target.closest(\".MuiTreeItem-iconContainer\")\n        if (iconClicked) {\n            setExpanded(nodeIds);\n        }\n    };\n\n    const handleChangeSearch = (event) => {\n        if (event.key === 'Enter') {\n            let value = removeVietnameseTones(event.target.value).toLowerCase().trim();\n            const res = dataTree.reduce((acc, a) => {\n                const ch = a.children && a.children.filter(b => removeVietnameseTones(b.Name).toLowerCase().trim().includes(value));\n                if (ch && ch.length) acc.push({ ...a, children: ch });\n                else if (removeVietnameseTones(a.Name).toLowerCase().trim().includes(value)) acc.push({ ...a, name: a.Name });\n                return acc;\n            }, []);\n            setNewDataTree(res)\n        }\n    }\n\n    const viewNodes = (keyParent, data) => data.map((item, index) => {\n        return (\n            <TreeItem\n                key={`${index}${item.Id}`}\n                title={item.Name}\n                nodeId={item.Id}\n                data={{\n                    Parent: keyParent,\n                    NodeId: item.Id,\n                    Title: item.Name,\n                    Name: item.Name,\n                }}\n                onSelection={(e, item) => {\n                    getItemLoaiVatLieu(item)\n                }}\n            >\n                {item.children &&\n                    viewNodes(item.Id, item.children)}\n            </TreeItem>\n        )\n    })\n\n    return (\n        <React.Fragment>\n            <ToastDetail renderTitle={'Danh sách vật liệu'}>\n                <Input\n                    placeholder=\"Nhập tìm kiếm...\"\n                    onKeyPress={(event) => handleChangeSearch(event)}\n                />\n                <LoadingSpinner>\n                    {newDataTree && newDataTree.length !== 0 && (\n                        <TreeView\n                            className=\"tree-popup-vl\"\n                            nameId=\"Id\"\n                            data={[{ children: newDataTree }]}\n                            expanded={expanded}\n                            onNodeToggle={handleToggle}\n                        >\n                            {viewNodes(\"null\", newDataTree)}\n                        </TreeView>\n                    )}\n                </LoadingSpinner>\n            </ToastDetail>\n        </React.Fragment>\n    )\n}\n"],"names":["EmptyNoData","Component","render","size","text","this","props","children","_jsxs","_jsx","className","EmptyContainerSmall","EmptyContainerLarge","styled","div","React","ref","IdCuaHang","IdLoaiVatLieu","IsOpen","textSearch","listCuaHangVatLieu","setListCuaHangVatLieu","useState","newListCuaHangVatLieu","setNewListCuaHangVatLieu","loaiVatLieu","setLoaiVatLieu","isOpen","setIsOpen","loadding","setloadding","filterDeQuy","useCallback","find","isChildren","filter","length","filterDeQuySearch","value","removeVietnameseTones","toLowerCase","trim","Name","includes","handleSearch","acc","a","ch","push","name","setData","CuaHangVatLieusEndpoint","getCuaHangVatLieuByFilter","then","res","newArr","map","item","Id","DMVatLieuId","DonGia","OrganId","OrganName","Organization","DVT","DMVatLieu","DMDonViTinh","MaDVT","Code","ParentId","DMLoaiVatLieuId","MaSanPhamTonKho","MaSPTonKho","MaNCC","MaCuaHang","MaLoai","DMLoaiVatLieu","settingData","useEffect","DMLoaiVatLieusEndpoint","getAllDMLoaiVatLieus","slice","reduce","onResetData","Card","CardBody","Table","bordered","striped","Array","from","keys","cur","i","_","Typography","variant","Skeleton","RenderRow","index","colSpan","CardFooter","Button","onClick","color","PopupChonLoaiVatLieu","isClose","listVatLieu","setListVatLieu","itemLVL","setItemLVL","setlistCuaHangVatLieu","loading","setLoading","setTextSearch","getData","NodeId","DMVatLieusEndpoint","getVatlieuByFilter","arr","forEach","element","check","CuaHangVatLieus","f","isDisabled","catch","err","CHECK_ERROR","getDataCuaHangVatLieu","onChangeDonGia","itemChange","save","model","CuaHangId","VatLieus","VatLieuId","themCuaHangVatLieu","CHECK_SUCCESS","handleClose","Modal","toggle","zIndex","ModalHeader","ModalBody","Row","Col","xs","NewTreeVatLieu","getItemLoaiVatLieu","CardHeader","Input","style","width","placeholder","onKeyPress","event","key","target","handleChangeSearch","NumberFormat","disabled","decimalSeparator","thousandSeparator","onFocus","e","select","onValueChange","values","floatValue","_excluded","propTypes","PropTypes","cssModule","borderless","dark","hover","responsive","tag","tagPropType","responsiveTag","innerRef","Tag","ResponsiveTag","attributes","_objectWithoutPropertiesLoose","classes","mapToCssModules","classNames","table","_extends","responsiveClassName","defaultProps","Transition","Slide","direction","itemVatLieu","setItemVatLieu","statusTonKho","setStatusTonKho","ConfirmContinue","Swal","title","icon","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","cancelButtonText","handleOpen","callApiKho","TrangThaiTonKho","formatCurrency","FontAwesome","fa","marginLeft","isKho","xoaCuaHangVatLieu","onDeleted","m","Dialog","onClose","open","TransitionComponent","maxWidth","DialogTitle","id","DialogContent","dividers","Form","FormGroup","Label","for","autoFocus","z","Checkbox","checked","onChange","DialogActions","modelKho","MaSanPham","TenSanPham","MaDonViTinh","MaNhaCungCap","capNhatCuaHangVatLieu","JSON","stringify","attribute","animation","_props$animation","_props$component","component","height","_props$variant","other","_objectWithoutProperties","hasChildren","Boolean","clsx","root","withChildren","fitContent","heightAuto","withStyles","theme","display","backgroundColor","fade","palette","primary","type","marginTop","marginBottom","transformOrigin","transform","borderRadius","shape","content","rect","circle","pulse","opacity","wave","position","overflow","background","concat","action","bottom","left","right","top","visibility","data","arrData","curr","x","dataChild","getNestedChildren","idParent","grandChildren","dataTree","setDataTree","newDataTree","setNewDataTree","expanded","setExpanded","viewNodes","keyParent","TreeItem","nodeId","Parent","Title","onSelection","ToastDetail","renderTitle","b","LoadingSpinner","TreeView","nameId","onNodeToggle","handleToggle","nodeIds","persist","closest"],"sourceRoot":""}