????
Current Path : C:/inetpub/vhost/xaydung.gdtsolutions.vn/build/static/js/ |
Current File : C:/inetpub/vhost/xaydung.gdtsolutions.vn/build/static/js/1856.dc9b8f15.chunk.js.map |
{"version":3,"file":"static/js/1856.dc9b8f15.chunk.js","mappings":"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","sources":["components/Empty/EmptyNoData.js","components/select/DropdownListForm.js","views/quan-ly-du-an/DuAn/TabThongTin/DuAnVatLieu/CardDanhSachVatLieu.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"],"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`","import React, { Component } from 'react';\nimport Select from './Select';\nimport { callApi2 } from '../../service/api';\n\nconst styles = {\n multiValueLabel: styles => ({ ...styles, padding: '0px 0px 0px 6px', fontSize: 13 }),\n control: styles => ({\n ...styles,\n backgroundColor: 'white',\n height: '28.38px',\n minHeight: '28.38px',\n fontSize: '12px',\n lineHeight: '1.5',\n cursor: 'pointer',\n borderRadius: '4px'\n }),\n option: (styles) => ({ ...styles, fontSize: '12px', cursor: 'pointer' }),\n input: styles => ({ ...styles, position: 'unset' }),\n placeholder: styles => ({ ...styles, marginLeft: 5, marginRight: 5 }),\n singleValue: (styles, { data }) => ({ ...styles, transform: 'inherit', top: 'unset' }),\n container: styles => ({ ...styles, width: '100%' }),\n valueContainer: styles => ({ ...styles, padding: '0px 5px' }),\n indicatorsContainer: styles => ({ ...styles, padding: '0px 5px' }),\n indicatorContainer: styles => ({ ...styles, padding: '0px 5px !important', fontSize: '12px' }),\n};\n\nclass DropdownListForm extends Component {\n constructor(props) {\n super(props);\n this.state = {\n data: [],\n value: null,\n selected: null,\n isLoading: false\n };\n }\n\n componentDidMount() {\n this.setState({ isLoading: true });\n let { options, valueField, textField } = this.props;\n\n if (options) {\n let data = options.map(x => ({\n value: x[valueField],\n label: x[textField],\n obj: x\n })\n );\n this.setState({ data, isLoading: false });\n this.setStateSelected(this.state.value);\n } else {\n this.loadDataFromApi();\n }\n }\n\n loadDataFromApi = () => {\n let { columns, odata, url, where, valueField, textField } = this.props;\n let data = [];\n let _url = \"\";\n if (odata !== false) {\n _url = `${url}`;\n\n if (where) {\n _url += `/?$filter=${where}&`;\n } else {\n _url += `/?`;\n }\n\n if (columns && columns.length > 0) {\n _url += `$select=${this.props.columns.join()}`;\n }\n } else {\n _url = this.props.url;\n }\n\n callApi2(_url, \"GET\", null, odata)\n .then((res) => {\n if (odata !== false) {\n res.value.forEach(x => {\n data.push({\n value: x[valueField],\n label: x[textField],\n obj: x\n })\n });\n } else {\n data = res;\n }\n\n this.setState({ data, isLoading: false });\n this.setStateSelected(this.state.value);\n })\n }\n\n getSnapshotBeforeUpdate(prevProps, prevState) {\n if (prevProps.value !== this.props.value) {\n this.setState({ value: this.props.value });\n this.setStateSelected(this.props.value);\n return this.props.value || null;\n } else\n return null;\n }\n\n setStateSelected(value) {\n if (this.props.isMulti) {\n //console.log(\"getOptionsMulti\");\n this.setState({ selected: this.getOptionsMulti(value) });\n } else {\n //console.log(\"getOptionsSingle\");\n this.setState({ selected: this.getOptionsSingle(value) });\n }\n }\n\n getOptionsSingle(value) {\n let selected = null;\n let { data } = this.state;\n if (data && data.length > 0 && value) {\n for (let i = 0; i < data.length; i++) {\n if (data[i].value && data[i].value === value) {\n selected = data[i];\n break;\n } else if (data[i].options) {\n for (let j = 0; j < data[i].options.length; j++) {\n if (data[i].options[j].value && data[i].options[j].value === value) {\n selected = data[i].options[j];\n break;\n }\n }\n }\n }\n }\n\n return selected;\n }\n\n getOptionsMulti(value) {\n let selected = [];\n let { data } = this.state;\n if (data && data.length > 0 && value) {\n for (let i = 0; i < data.length; i++) {\n let current = data[i];\n for (let j = 0; j < value.length; j++) {\n if (current.value && current.value === value[j]) {\n selected.push(current);\n }\n }\n }\n }\n\n return selected;\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.where !== prevProps.where) {\n this.loadDataFromApi();\n }\n }\n\n onChange = (e, meta) => {\n this.setState({ selected: e });\n if (this.props.isMulti) {\n var list = [];\n for (let i = 0; i < e.length; i++) {\n list.push(e[i].value);\n }\n this.props.onChange(list, null);\n } else {\n this.props.onChange(e ? e.value : null, e ? e.obj : null);\n }\n }\n\n render() {\n let { placeholder, isMulti, isDetail, value } = this.props;\n let selected = isMulti ? this.getOptionsMulti(value) : this.getOptionsSingle(value);\n //isMulti = isMulti && !isDetail;\n return (\n this.state.data.length > 0 && isDetail ?\n <span>{selected && selected.label}</span>\n :\n <Select\n isMulti={isMulti}\n isLoading={this.state.isLoading}\n isDisabled={this.props.disabled}\n isClearable={true}\n className=\"dropdownlist\"\n value={selected}\n styles={styles}\n options={this.state.data}\n onChange={this.onChange}\n placeholder={placeholder}\n />\n )\n }\n}\n\nexport default DropdownListForm\n","/* eslint-disable no-unused-vars */\nimport React, { useState, useEffect, useMemo, useCallback, useImperativeHandle } from 'react'\nimport { Card, CardBody, CardHeader, Table, Button, Row, Col, Input } from 'reactstrap'\nimport { formatCurrency, formatDate, formatISODate, formatDateNormal, formatNumber } from '../../../../../actions/util';\nimport EmptyNoData from '../../../../../components/Empty/EmptyNoData';\nimport DropdownListForm from '../../../../../components/select/DropdownListForm';\nimport { CuaHangVatLieusEndpoint } from '../../../../../service/GDTCores';\nimport { Skeleton } from '@material-ui/lab';\nimport NumberFormat from '../../../../../components/numberformat/NumberFormat';\nimport { Fragment } from 'react';\nimport { InputDate } from '../../../../../components/base/Input';\nimport { FontAwesome } from '../../../../../components/icon';\nimport DropdownListForm2 from '../../../../../components/select/DropdownListForm2';\nimport { _Enums_DoiTuong } from '../../../../action/defaultEnums'\nimport { CHECK_CONFIRM, CHECK_WARNING } from '../../../../../components/alert/Alert';\nimport { callApiKho } from '../../../../../service/api';\n\nexport const StatusChoose = {\n Chon: 'Chon',\n ChonVaThanhToan: 'ChonVaThanhToan'\n}\n\nconst CardDanhSachVatLieu = React.forwardRef((props, ref) => {\n const { getDataDonHang } = props;\n const [loading, setLoading] = useState(false);\n const [date, setDate] = useState(formatDateNormal(new Date()) + 'T00:00:00+07:00');\n const [dataDonHang, setDataDonHang] = useState([]);\n const [IdCuaHang, setIdCuaHang] = useState(null);\n const [dataVatLieuCuaHang, setDataVatLieuCuaHang] = useState([]);\n const [newDataVatLieuCuaHang, setNewDataVatLieuCuaHang] = useState([]);\n const [textSearch, setTextSearch] = useState('');\n\n useImperativeHandle(\n ref, () => ({\n onDeleted: (item) => {\n let data = dataDonHang.filter(f => f.DMVatLieuId !== item.DMVatLieuId || f.OrganId !== item.OrganId);\n check(item, false);\n setDataDonHang([...data])\n },\n onResetData: (data) => {\n data.forEach(item => check(item, false))\n setDataDonHang([])\n }\n })\n );\n\n const getDataCuaHangVatLieu = useCallback(\n (IdCuaHang) => {\n let filter = [];\n filter.push(`OrganId eq ${IdCuaHang}`);\n filter.push(`DMVatLieu/Status eq true`);\n CuaHangVatLieusEndpoint.getCuaHangVatLieuByFilterAndSearch(filter, textSearch)\n .then(res => {\n let arr = [];\n res.value.forEach(item => {\n let element = { ...item }\n let check = dataDonHang.find(f => f.DMVatLieuId === item.DMVatLieuId && f.OrganId === item.OrganId)\n if (check) {\n element.isDisabledBtn = true;\n }\n element.isDisabledNumber = true;\n element.NgayNhap = formatISODate(new Date());\n element.formatNgayNhap = formatDate(new Date())\n arr.push(element)\n })\n setDataVatLieuCuaHang(arr)\n setNewDataVatLieuCuaHang(arr)\n }).then(() => setLoading(false))\n },\n [dataDonHang, textSearch],\n )\n\n const onChangeSoLuong = useCallback(\n (value, item, index) => {\n let itemChange = {\n ...item,\n SoLuong: value,\n isDisabledNumber: value === 0 ? true : false,\n isTonKho: false\n }\n newDataVatLieuCuaHang[index] = itemChange;\n setNewDataVatLieuCuaHang([...newDataVatLieuCuaHang])\n },\n [newDataVatLieuCuaHang],\n )\n\n const check = useCallback(\n async (item, isDisabledBtn) => {\n let itemChange = dataVatLieuCuaHang.find(f => f.DMVatLieuId === item.DMVatLieuId && f.OrganId === item.OrganId)\n let index = dataVatLieuCuaHang.findIndex(f => f.DMVatLieuId === item.DMVatLieuId && f.OrganId === item.OrganId);\n let change = {\n ...itemChange,\n SoLuong: 0,\n isDisabledBtn: isDisabledBtn\n }\n dataVatLieuCuaHang[index] = change;\n setDataVatLieuCuaHang(dataVatLieuCuaHang);\n setNewDataVatLieuCuaHang(dataVatLieuCuaHang);\n },\n [dataVatLieuCuaHang],\n )\n\n const handleClick = useCallback(\n async (item, index) => {\n let itemChange = {\n ...item,\n NgayNhap: formatISODate(new Date()),\n formatNgayNhap: formatDate(date),\n }\n let arr = [...dataDonHang, itemChange];\n let checkOrganId = dataDonHang.find(find => find.OrganId !== item.OrganId);\n const isKho = IdCuaHang === '56dfff3b-a1a5-404e-937a-3b4d02ecc1db';\n if (checkOrganId) {\n CHECK_CONFIRM(`Đơn hàng hiện tại của cửa hàng ${checkOrganId.Organization.OrganName}. Nếu bạn nhấn đồng ý thì dữ liệu đơn hàng sẽ mất`, \"CẢNH BÁO\").then((res) => {\n if (res && res.isConfirmed) {\n setDataDonHang([]);\n getDataDonHang([]);\n }\n })\n } else {\n if (isKho) {\n const { SoLuongTon } = await callApiKho(`SanPham/ThongTinSanPham?maSanPham=${item.MaSPTonKho}`, 'POST', null, false);\n if (parseFloat(itemChange.SoLuong) <= (SoLuongTon || 0)) {\n const index = arr.findIndex(f => f.DMVatLieuId === item.DMVatLieuId)\n arr[index].SoLuongTon = SoLuongTon;\n setDataDonHang(arr);\n getDataDonHang(arr);\n check(item, true);\n } else {\n CHECK_WARNING(`Số lượng tồn của sản phẩm ${item.DMVatLieu.Name}: ${formatNumber(SoLuongTon)}`, `Số lượng tồn trong kho không đủ để cung cấp!`)\n }\n } else {\n setDataDonHang(arr);\n getDataDonHang(arr);\n check(item, true);\n }\n }\n setTextSearch('');\n },\n [IdCuaHang, check, dataDonHang, date, getDataDonHang],\n )\n\n const handleClickAll = useCallback(async () => {\n const isKho = newDataVatLieuCuaHang[0].OrganId === '56dfff3b-a1a5-404e-937a-3b4d02ecc1db';\n let dataSP = newDataVatLieuCuaHang;\n\n const checkCuaHang = dataDonHang.find(find => newDataVatLieuCuaHang.find(find2 => find2.OrganId !== find.OrganId));\n if (checkCuaHang) {\n CHECK_CONFIRM(`Đơn hàng hiện tại của cửa hàng ${checkCuaHang.Organization.OrganName}. Nếu bạn nhấn đồng ý thì dữ liệu đơn hàng sẽ mất`, \"CẢNH BÁO\").then((res) => {\n if (res && res.isConfirmed) {\n setDataDonHang([]);\n getDataDonHang([]);\n }\n })\n } else if (isKho) {\n const dataMaSP = dataSP.filter(f => f.SoLuong).map(item => ({ Text: item.MaSPTonKho }))\n const dataSPKho = await callApiKho(`SanPham/ThongTinSanPhamTanPhat`, 'POST', JSON.stringify(dataMaSP), false)\n dataSP.forEach((item, index) => {\n let check = dataSPKho.find(f => f.MaSanPham === item.MaSPTonKho);\n if (check) {\n if (parseFloat(check.SoLuongTon) >= parseFloat(item.SoLuong)) {\n dataSP[index].isTonKho = false;\n dataSP[index].SoLuongTon = check.SoLuongTon || 0\n }\n else {\n dataSP[index].isTonKho = true;\n dataSP[index].SoLuongTon = check.SoLuongTon || 0\n }\n } else {\n dataSP[index].isTonKho = false\n }\n });\n setNewDataVatLieuCuaHang([...dataSP]);\n const checkSoLuongTon = dataSP.find(f => f.isTonKho);\n if (checkSoLuongTon) {\n CHECK_WARNING('Có sản phẩm không đủ số lượng tồn');\n } else {\n let arr = dataSP.filter(f => f.SoLuong).map(m => ({ ...m, NgayNhap: date }));\n if (arr.length > 0) {\n arr.forEach(item => check(item, true));\n setDataDonHang([...dataDonHang, ...arr]);\n getDataDonHang([...dataDonHang, ...arr]);\n }\n }\n } else {\n let arr = newDataVatLieuCuaHang.filter(f => f.SoLuong).map(m => ({ ...m, NgayNhap: date }));\n if (arr.length > 0) {\n arr.forEach(item => check(item, true));\n setDataDonHang([...dataDonHang, ...arr]);\n getDataDonHang([...dataDonHang, ...arr]);\n }\n }\n }, [check, dataDonHang, date, getDataDonHang, newDataVatLieuCuaHang])\n\n const handleChangeCuaHang = useCallback(\n (value) => {\n setIdCuaHang(value)\n setLoading(true);\n getDataCuaHangVatLieu(value);\n },\n [getDataCuaHangVatLieu],\n )\n\n const handleChangeVatLieu = useCallback(\n (event) => {\n setTextSearch(event.target.value)\n if (event.key === 'Enter') {\n getDataCuaHangVatLieu(IdCuaHang);\n }\n },\n [IdCuaHang, getDataCuaHangVatLieu],\n )\n\n return (\n <Fragment>\n <Card>\n <CardHeader>\n <Row className=\"d-flex align-items-center w-100\">\n <Col md=\"3\"><b>Chọn cửa hàng:</b></Col>\n <Col md=\"6\">\n <DropdownListForm2\n url=\"GDTCores/Organizations\"\n where={`Status eq true and DoiTuong eq '${_Enums_DoiTuong.CuaHang}'`}\n valueField='Id'\n textField='OrganName'\n placeholder=\"Chọn cửa hàng...\"\n value={IdCuaHang}\n onChange={(value) => handleChangeCuaHang(value)}\n />\n </Col>\n </Row>\n </CardHeader>\n <CardBody>\n <div style={{ display: 'flex', justifyContent: 'space-between', marginBottom: 5 }}>\n <span style={{ display: 'flex', alignItems: 'flex-end', fontSize: 15 }}>Danh sách vật liệu cửa hàng</span>\n <InputDate\n style={{ height: '2rem', width: '200px' }}\n className=\"date-time pay-time text-right\"\n value={date}\n onChange={date => setDate(date)}\n />\n </div>\n <div style={{ display: 'flex', justifyContent: 'space-between', marginBottom: 5 }}>\n <Input\n style={{ width: 300 }}\n placeholder=\"Nhập tên vật liệu...\"\n onChange={(event) => handleChangeVatLieu(event)}\n onKeyPress={(event) => handleChangeVatLieu(event)}\n value={textSearch}\n />\n <Button color=\"primary\" onClick={() => handleClickAll()}>Chọn tất cả</Button>\n </div>\n <div className=\"table-DanhSachVatLieu\">\n <Table size=\"sm\" bordered>\n <thead>\n <tr>\n <th>STT</th>\n <th>Vật liệu</th>\n <th>Số lượng</th>\n <th>Đơn giá</th>\n <th>Thao tác</th>\n </tr>\n </thead>\n <tbody>\n {\n loading ? Array.from(Array(5).keys()).map((item, index) => (\n <tr key={index}>\n <td colSpan=\"6\"><Skeleton key={index} /></td>\n </tr>\n )) : newDataVatLieuCuaHang.length !== 0 ? newDataVatLieuCuaHang.map((item, index) => (\n <tr key={index}>\n <td className=\"stt\">{index + 1}</td>\n <td className=\"name\">{item.DMVatLieu.Name}</td>\n <td className=\"soLuong\">\n {\n <Fragment>\n <NumberFormat\n disabled={item.isDisabledBtn}\n className=\"mb-1\"\n onFocus={e => e.target.select()}\n thousandSeparator={'.'}\n decimalSeparator={','}\n decimalScale={8}\n value={item.SoLuong || 0}\n invalid={item.isDisabledBtn ? false : (item.isDisabledNumber || item.isTonKho)}\n onValueChange={(value) => onChangeSoLuong(value.values.floatValue, item, index)}\n />\n {!item.isDisabledBtn && <span style={{ fontSize: 9, display: item.isDisabledNumber || item.isTonKho ? '' : 'none', color: 'red' }}>\n {item.isTonKho ? `* Số lượng trong kho chỉ còn: ${item.SoLuongTon ? formatNumber(item.SoLuongTon) : 0}` : '* Vui lòng nhập số lượng'}\n </span>}\n </Fragment>\n }\n </td>\n <td className=\"dongia\">{formatCurrency(item.DonGia)}</td>\n <td className=\"action\">\n <Button className=\"mr-1\" disabled={item.isDisabledBtn || item.isDisabledNumber} onClick={() => handleClick(item, index)} size=\"sm\" color=\"primary\">Chọn</Button>\n </td>\n </tr>\n )) : <tr>\n <td colSpan=\"6\">\n <EmptyNoData size=\"sm\" text={'Chưa có dữ liệu. Vui lòng chọn vật liệu !'} />\n </td>\n </tr>\n }\n </tbody>\n </Table>\n </div>\n </CardBody>\n </Card>\n </Fragment>\n )\n})\n\nexport default CardDanhSachVatLieu;\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;"],"names":["EmptyNoData","Component","render","size","text","this","props","children","_jsxs","_jsx","className","EmptyContainerSmall","EmptyContainerLarge","styled","div","StatusChoose","Chon","ChonVaThanhToan","React","ref","getDataDonHang","loading","setLoading","useState","date","setDate","formatDateNormal","Date","dataDonHang","setDataDonHang","IdCuaHang","setIdCuaHang","dataVatLieuCuaHang","setDataVatLieuCuaHang","newDataVatLieuCuaHang","setNewDataVatLieuCuaHang","textSearch","setTextSearch","useImperativeHandle","onDeleted","item","data","filter","f","DMVatLieuId","OrganId","check","onResetData","forEach","getDataCuaHangVatLieu","useCallback","push","CuaHangVatLieusEndpoint","getCuaHangVatLieuByFilterAndSearch","then","res","arr","value","element","find","isDisabledBtn","isDisabledNumber","NgayNhap","formatISODate","formatNgayNhap","formatDate","onChangeSoLuong","index","itemChange","SoLuong","isTonKho","async","findIndex","change","handleClick","checkOrganId","isKho","CHECK_CONFIRM","Organization","OrganName","isConfirmed","SoLuongTon","callApiKho","MaSPTonKho","parseFloat","CHECK_WARNING","DMVatLieu","Name","formatNumber","handleClickAll","dataSP","checkCuaHang","find2","dataMaSP","map","Text","dataSPKho","JSON","stringify","MaSanPham","m","length","handleChangeCuaHang","handleChangeVatLieu","event","target","key","Fragment","Card","CardHeader","Row","Col","md","DropdownListForm2","url","where","_Enums_DoiTuong","CuaHang","valueField","textField","placeholder","onChange","CardBody","style","display","justifyContent","marginBottom","alignItems","fontSize","InputDate","height","width","Input","onKeyPress","Button","color","onClick","Table","bordered","Array","from","keys","colSpan","Skeleton","NumberFormat","disabled","onFocus","e","select","thousandSeparator","decimalSeparator","decimalScale","invalid","onValueChange","values","floatValue","formatCurrency","DonGia","_excluded","propTypes","PropTypes","cssModule","borderless","striped","dark","hover","responsive","tag","tagPropType","responsiveTag","innerRef","Tag","ResponsiveTag","attributes","_objectWithoutPropertiesLoose","classes","mapToCssModules","classNames","table","_extends","responsiveClassName","defaultProps"],"sourceRoot":""}