????

Your IP : 216.73.216.234


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

{"version":3,"file":"static/js/6808.12507ea6.chunk.js","mappings":"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","sources":["service/Report/Report.js","service/Report/NhomDuAnDTOsEndpoint.js","service/Report/ChiTietCongNosEndpoint.js","service/Report/BangKeChiTietVatLieusEndpoint.js","service/Report/RPDuAnsEndpoint.js","components/Empty/EmptyNoData.js","views/bao-cao/du-an/TabThongTin/KinhPhiCongTrinh/ExportExcel.js","webpack://@qlxd/frontend/./src/views/bao-cao/du-an/TabThongTin/KinhPhiCongTrinh/Component/css.scss?e410","components/skeleton/RenderSkeleton.js","views/bao-cao/du-an/TabThongTin/KinhPhiCongTrinh/Component/TableBaoCao/index.js","components/export/ExcelPlugin/utils/helpers.js","components/export/ExcelExtensions/WorksheetWrapper.js","components/export/ExcelExtensions/ExcelWorkbook.js","components/export/ExcelExtensions/index.js","webpack://@qlxd/frontend/./src/views/bao-cao/du-an/TabThongTin/KinhPhiCongTrinh/css.scss?7ce5","views/bao-cao/du-an/TabThongTin/KinhPhiCongTrinh/index.js","components/export/ExcelPlugin/utils/constant.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"],"sourcesContent":["import { Service } from '../Service';\n// import { PUBLIC_API_URL, ADMIN_API_URL } from '../../actions/constants';\n\nclass Report extends Service {\n    constructor(path) {\n        super('/Reports', path);\n    }\n    // Tìm kiếm\n    // getAll = (param) => this.SearchAll(PUBLIC_API_URL + \"/category\", param, null, true);\n    getAll = (param) => this.SearchAllAUTH(param, null, null, true);\n\n    addWithBatch = (data) => this.InsertBatch(``, data)\n\n    update(ID, body) {\n        return this.edit(ID, body);\n    }\n}\n\nexport { Report };","import { Report } from \"./Report\";\n\nclass NhomDuAnDTOsEndpoint extends Report {\n  constructor() {\n    super(\"/NhomDuAnDTOs\");\n  }\n\n}\n\nexport default new NhomDuAnDTOsEndpoint();","import { Report } from \"./Report\";\n\nclass ChiTietCongNosEndpoint extends Report {\n  constructor() {\n    super(\"/ChiTietCongNos\");\n  }\n  getDataCongNoTongHop = (Nam) => this.GetAuthen('/GetCongNoTongHop?Nam=' + Nam);\n  GetCongNoVatLieuTheoDuAn = (data) => this.PostAuthen('/GetCongNoVatLieuTheoDuAn', data);\n  getDataChiTietCongNoCuaHang = (Nam, Thang, CuaHangId) => this.GetAuthen(`/ChiTietCongNoCuaHang?Nam=${Nam}&Thang=${Thang || 0}&CuaHangId=${CuaHangId}`);\n  getDataCongNoDoiThueNgoai = (DotLuongId) => this.GetAuthen('/CongNoDoiThueNgoai?DotLuongId=' + DotLuongId);\n  getDataTongHopCongNoCuaHang = (Nam) => this.GetAuthen('/TongHopCongNoCuaHang?Nam=' + Nam);\n}\n\nexport default new ChiTietCongNosEndpoint();","import { Report } from \"./Report\";\n\nclass BangKeChiTietVatLieusEndpoint extends Report {\n  constructor() {\n    super(\"/DuAnVatLieus\");\n  }\n  getDataBangKeChiTiet = (body) => this.PostAuthen(`/BangKeChiTietVatLieu`, body)\n}\n\nexport default new BangKeChiTietVatLieusEndpoint();","import { Report } from \"./Report\";\n\nclass RPDuAnsEndpoint extends Report {\n    constructor() {\n        super(\"/DuAns\");\n    }\n\n    getKinhPhiCongTrinh = (duAnId) => this.GetAuthen(`/GetKinhPhiCongTrinh?DuAnId=${duAnId}`)\n\n    getLoiNhuan = (Nam) => this.GetAuthen(`/ChotLaiAsync?key=${Nam}`);\n}\n\nexport default new RPDuAnsEndpoint();","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 { DM_KHOAN_CHI_CUA_HANG_ID } from \"../../../../../actions/constants\"\nimport { TOKEN_CLIENT_INFO } from \"../../../../../actions/types\"\nimport { formatNumber } from \"../../../../../actions/util\"\nimport ExcelWorkbook from \"../../../../../components/export/ExcelExtensions\"\nimport { CELL_STYLE } from \"../../../../../components/export/ExcelPlugin/utils/constant\"\nimport { getNoiDungKinhPhiCongTrinh, getTimeKinhPhiCongTrinh } from \"./Component/TableBaoCao\"\nconst CELL_CENTER = {\n  alignment: {\n    horizontal: 'center',\n    vertical: 'middle',\n    wrapText: true\n  }\n}\n\nconst DEFAULT_STYLE = {\n  numFmt: '#,##0',\n  font: {\n    name: 'Times New Roman',\n    family: 4,\n    size: 12,\n    color: { argb: 'FF000000' }\n  },\n  alignment: {\n    vertical: 'middle',\n    wrapText: true\n  },\n  fill: {\n    type: 'pattern',\n    pattern: 'none'\n  }\n}\n\nconst CELL_END = {\n  alignment: {\n    horizontal: 'right',\n    vertical: 'middle',\n    wrapText: true\n  }\n}\n\nconst ALL_BORDERED = {\n  top: { style: 'thin', color: { argb: 'FF808080' } },\n  left: { style: 'thin', color: { argb: 'FF808080' } },\n  bottom: { style: 'thin', color: { argb: 'FF808080' } },\n  right: { style: 'thin', color: { argb: 'FF808080' } }\n}\n\nconst font = {\n  font: {\n    bold: true,\n    size: 12\n  }\n}\n\n// const BORDER_TOP = {\n//   top: { style: 'thin', color: { argb: 'FF808080' } }\n// }\n\nconst BORDER_LEFT = {\n  left: { style: 'thin', color: { argb: 'FF808080' } }\n}\nconst BORDER_RIGHT = {\n  right: { style: 'thin', color: { argb: 'FF808080' } }\n}\n\nconst BORDER_BOTTOM = {\n  bottom: { style: 'thin', color: { argb: 'FF808080' } }\n}\n\nexport const ExportExcell = (datas, duAn, luongThoThueNgoaiId, nameDuAn) => {\n  const kpCuaHang = datas.find(f => f.Code === \"CPK\");\n  const doiCty = datas.find(f => f.Code === 'LT');\n  const thueNgoai = datas.find(f => f.Code === 'LTTN');\n  const chiPhiKhac = datas.find(f => f.Code === \"khac\");\n  const wb = new ExcelWorkbook();\n  const ws = wb.addWorksheet('Kinh Phi Cong Trinh');\n  ws.renderArrayRowGroup([1, 1], {\n    style: DEFAULT_STYLE,\n    rows: [\n      [\n        { value: 'TÂN PHÁT TOTE & BUILDING', style: font, colspan: 3 }\n      ],\n      [\n        { value: 'Luôn đồng hành - luôn sẻ chia', colspan: 3 }\n      ]\n    ]\n  })\n\n  ws.renderArrayRowGroup([1, 4], {\n    rows: [\n      [\n        { value: '276/63 Hoàng Văn Thụ', colspan: 4, style: CELL_END }\n      ],\n      [\n        { value: '0256.3524.789 - 0919190081', style: CELL_END, colspan: 4 }\n      ],\n      [{ value: 'tanphatcompany.com', colspan: 4, style: CELL_END }]\n    ]\n  })\n\n  ws.renderArrayRowGroup([5, 1], {\n    rows: [\n      [\n        { value: 'BẢNG TỔNG HỢP KINH PHÍ CÔNG TRÌNH', colspan: 7, style: { ...font, ...CELL_CENTER } }\n      ]\n    ]\n  })\n\n  ws.renderArrayRowGroup([7, 1], {\n    rows: [\n      [\n        { value: 'Khách hàng:', colspan: 3, style: { ...font, border: ALL_BORDERED } }\n      ],\n      [\n        { value: `[ Tên ] ${duAn.ThongTinCaNhan.HoVaTenDem}`, colspan: 3, style: { border: { ...BORDER_LEFT, ...BORDER_RIGHT } } }\n      ],\n      [\n        { value: `[ Địa chỉ ] ${duAn?.DiaChi}`, colspan: 3, style: { border: { ...BORDER_LEFT, ...BORDER_RIGHT } } }\n      ],\n      [\n        { value: `[ Số điện thoại ] ${duAn?.DienThoai}`, colspan: 3, style: { border: { ...BORDER_LEFT, ...BORDER_RIGHT, ...BORDER_BOTTOM } } }\n      ],\n    ]\n  })\n\n  ws.renderArrayRowGroup([7, 5], {\n    rows: [\n      [\n        { value: 'Trích dẫn mô tả dự án', colspan: 3, style: { ...font, border: ALL_BORDERED } }\n      ],\n      [\n        { value: '', colspan: 3, style: CELL_STYLE, rowspan: 3 }\n      ]\n    ]\n  })\n\n  ws.renderArrayRowGroup([12, 1], {\n    style: CELL_STYLE,\n    rows: [\n      [\n        { value: 'NGÀY THÁNG', style: CELL_CENTER },\n        { value: 'NỘI DUNG CHI PHÍ', style: CELL_CENTER },\n        { value: 'ĐVT', style: CELL_CENTER },\n        { value: 'SỐ LƯỢNG', style: CELL_CENTER },\n        { value: 'ĐƠN GIÁ', style: CELL_END },\n        { value: 'THÀNH TIỀN', style: CELL_END },\n        { value: 'GHI CHÚ', style: CELL_CENTER },\n      ]\n    ]\n  })\n  ws.worksheet.getColumn(1).width = 15;\n  ws.worksheet.getColumn(2).width = 45;\n  for (let i = 3; i <= 7; i++) {\n    ws.worksheet.getColumn(i).width = 15;\n  };\n\n  // const arrRowsChildren = (list) => {\n  //   const arr = [];\n  //   list.forEach((item, index) => {\n  //     arr.push([\n  //       { value: getTimeKinhPhiCongTrinh(item, index), style: CELL_CENTER },\n  //       { value: getNoiDungKinhPhiCongTrinh(item) },\n  //       { value: item.DVT, style: CELL_CENTER },\n  //       { value: (item.KhoiLuong && item.KhoiLuong !== 0) ? item.KhoiLuong : '', style: CELL_CENTER },\n  //       { value: (item.DonGia && item.DonGia !== 0) ? formatCurrency(item.DonGia) : '', style: CELL_CENTER },\n  //       { value: formatCurrency(item.TienThanhToan), style: CELL_CENTER },\n  //       // { value: item.GhiChu },\n  //       { value: '' }\n  //     ])\n  //   })\n  //   return arr\n  // }\n\n  let tongTien = 0;\n  const arrRows = (lstItems, type) => {\n    let newArr = [];\n    let _tongTien = 0;\n    if (type === 'CPK') {\n      Object.entries(lstItems).forEach(([year, items]) => {\n        newArr.push([\n          { value: '', style: CELL_CENTER },\n          { value: year },\n          { value: '', style: CELL_CENTER },\n          { value: '', style: CELL_CENTER },\n          { value: '', style: CELL_CENTER },\n          { value: '', style: CELL_CENTER },\n          { value: '' }\n        ]);\n        newArr = [...newArr, ...items.map((item, index) => {\n          tongTien += item.TienThanhToan;\n          _tongTien += item.TienThanhToan;\n          return [\n            { value: getTimeKinhPhiCongTrinh(item, index), style: CELL_CENTER },\n            { value: getNoiDungKinhPhiCongTrinh(item) },\n            { value: item.DVT, style: CELL_CENTER },\n            { value: (item.KhoiLuong && item.KhoiLuong !== 0) ? item.KhoiLuong : '', style: CELL_CENTER },\n            { value: (item.DonGia && item.DonGia !== 0) ? formatNumber(item.DonGia) : '', style: CELL_CENTER },\n            { value: formatNumber(item.TienThanhToan), style: CELL_CENTER },\n            { value: '' }\n          ]\n        })]\n      })\n    } else {\n      lstItems.forEach((item, index) => {\n        tongTien += item.TienThanhToan;\n        _tongTien += item.TienThanhToan;\n        newArr.push([\n          { value: getTimeKinhPhiCongTrinh(item, index), style: CELL_CENTER },\n          { value: getNoiDungKinhPhiCongTrinh(item) },\n          { value: item.DVT, style: CELL_CENTER },\n          { value: (item.KhoiLuong && item.KhoiLuong !== 0) ? item.KhoiLuong : '', style: CELL_CENTER },\n          { value: (item.DonGia && item.DonGia !== 0) ? formatNumber(item.DonGia) : '', style: CELL_CENTER },\n          { value: formatNumber(item.TienThanhToan), style: CELL_CENTER },\n          // { value: item.GhiChu },\n          { value: '' }\n        ])\n      })\n    }\n\n    newArr.push([\n      { value: '' },\n      { value: '' },\n      { value: '' },\n      { value: '' },\n      {\n        value: 'Tổng tiền', style: {\n          font: {\n            bold: true,\n            size: 13\n          }, ...CELL_CENTER\n        }\n      },\n      {\n        value: formatNumber(_tongTien), style: CELL_CENTER\n      },\n      // { value: item.GhiChu },\n      { value: '' }\n    ])\n    // newArr.push()\n    return newArr;\n  }\n\n  // const getLength = (arr, i) => {\n  //   if (i === 0) return 0\n  //   const l = Array.from(new Array(i).keys()).reduce((l, e) => l + arr[e].khoanChis.length + 1, 1)\n  //   return l - 1\n  // }\n  const getLengthKhoanChiThueNgoai = (arr, i) => {\n    if (i === 0) return 0\n    const l = Array.from(new Array(i).keys()).reduce((l, e) => l + arr[e].children.length + 2, 1)\n    return l - 1\n  }\n\n\n  const getSumChiPhiCuaHang = (data) => {\n    const a = Object.entries(data).reduce((sum, [key, items]) => {\n      sum += items.length + 1\n      return sum\n    }, 0)\n    return a\n  }\n\n  // kinh phi doi cty\n  const getLengthArr = () => {\n    let length = datas.length;\n    datas.forEach((elm) => {\n      if (elm.Code === 'CPK') {\n        length += getSumChiPhiCuaHang(elm.khoanChis)\n      } else {\n        length += elm.khoanChis.length;\n        elm.khoanChis.forEach(f => {\n          if (f.children) { length += f.children.length + 1; }\n        })\n      }\n    })\n    return length ? length : 0;\n  }\n\n  // kinh phis cua hang\n  ws.renderArrayRowGroup([13, 1], {\n    style: CELL_STYLE,\n    rows: [\n      [\n        // { value: '', style: {} },\n        {\n          value: kpCuaHang.Name, colspan: 7, style: {\n            font: {\n              bold: true,\n              size: 13\n            }\n          }\n        }\n      ],\n      ...arrRows(kpCuaHang.khoanChis, 'CPK')\n    ]\n  })\n\n  ws.renderArrayRowGroup([14 + getSumChiPhiCuaHang(kpCuaHang.khoanChis) + 1, 1], {\n    style: CELL_STYLE,\n    rows: [\n      [\n        // { value: '', style: {} },\n        {\n          value: doiCty.Name, colspan: 7, style: {\n            font: {\n              bold: true,\n              size: 13\n            }\n          }\n        }\n      ],\n      ...arrRows(doiCty.khoanChis)\n    ]\n  })\n\n  // kinh phi thue ngoai\n  const numRowAbove = 15 + getSumChiPhiCuaHang(kpCuaHang.khoanChis) + 1 + doiCty.khoanChis.length + 1;\n  ws.renderArrayRowGroup([numRowAbove, 1], {\n    style: CELL_STYLE,\n    rows: [\n      [\n        // { value: '', style: {} },\n        {\n          value: thueNgoai.Name, colspan: 7, style: {\n            font: {\n              bold: true,\n              size: 13\n            }\n          }\n        }\n      ],\n      // ...rowDoiThue(numRowAbove)\n    ]\n  })\n  thueNgoai.khoanChis.forEach((khoanChi, index, arr) => {\n    ws.renderArrayRowGroup([numRowAbove + 1 + getLengthKhoanChiThueNgoai(arr, index), 1], {\n      style: CELL_STYLE,\n      rows: [\n        [\n          { value: '', style: {} },\n          {\n            value: khoanChi.OrganName, colspan: 6, style: {\n              font: {\n                bold: true,\n                size: 12\n              }\n            }\n          }\n        ],\n        ...arrRows(khoanChi.children)\n      ]\n    })\n  })\n  //////////////////////////////////\n\n  const getLengthOfThueNgoai = () => {\n    let num = 0;\n    thueNgoai.khoanChis.forEach(f => {\n      num = num + 2 + f.children.length;\n    })\n    return num;\n  }\n  ws.renderArrayRowGroup([16 + getSumChiPhiCuaHang(kpCuaHang.khoanChis) + doiCty.khoanChis.length + 1 + getLengthOfThueNgoai() + 1, 1], {\n    style: CELL_STYLE,\n    rows: [\n      [\n        // { value: '', style: {} },\n        {\n          value: chiPhiKhac.Name, colspan: 7, style: {\n            font: {\n              bold: true,\n              size: 13\n            }\n          }\n        }\n      ],\n      ...arrRows(chiPhiKhac.khoanChis)\n    ]\n  })\n\n  // datas.forEach((nhomKhoanChi, index, arr) => {\n  //   ws.renderArrayRowGroup([13 + getLength(arr, index), 1], {\n  //     style: CELL_STYLE,\n  //     rows: [\n  //       [\n  //         { value: '', style: {} },\n  //         {\n  //           value: nhomKhoanChi.Name, colspan: 6, style: {\n  //             font: {\n  //               bold: true,\n  //               size: 13\n  //             }\n  //           }\n  //         }\n  //       ],\n  //       ...arrRows(nhomKhoanChi.khoanChis)\n  //     ]\n  //   })\n  // })\n\n  ws.renderArrayRowGroup([16 + getLengthArr(), 1], {\n    style: CELL_STYLE,\n    rows: [[\n      { value: '', },\n      { value: 'TỔNG CỘNG', style: font },\n      { value: '' },\n      { value: '' },\n      { value: '' },\n      { value: formatNumber(tongTien), style: { ...CELL_END, ...font } },\n      { value: '' },\n    ]]\n  })\n\n  ws.renderArrayRowGroup([19 + getLengthArr(), 1], {\n    rows: [\n      [\n        { value: 'Ghi chú', colspan: 3, style: { ...font, border: ALL_BORDERED } }\n      ],\n      [\n        { value: '', colspan: 3, style: CELL_STYLE, rowspan: 3 }\n      ],\n    ]\n  })\n\n  ws.renderArrayRowGroup([26 + getLengthArr(), 1], {\n    rows: [\n      [\n        { value: '' },\n        { value: 'Chữ kí khách hàng', style: { font: { bold: true } } }\n      ],\n    ]\n  })\n\n  ws.renderArrayRowGroup([25 + getLengthArr(), 5], {\n    style: CELL_CENTER,\n    rows: [\n      [\n        { value: `Quy Nhơn, Ngày    tháng    năm ${new Date().getFullYear()}`, colspan: 3, style: { font: { size: 9 } } }\n      ],\n      [\n        { value: TOKEN_CLIENT_INFO.About, colspan: 3, style: font }\n      ],\n      [\n        { value: 'Giám đốc', colspan: 3, style: { font: { bold: true } } }\n      ]\n    ]\n  })\n\n  wb.download(`Kinh phí dự án ${nameDuAn}.xlsx`)\n}\n","// extracted by mini-css-extract-plugin\nexport default {};","import { Skeleton } from '@material-ui/lab';\nimport React from 'react';\n/**\n * @param occurrences The number Skeleton appears (default 1)\n * @param width Default null\n * @param height Default 5\n * @returns Skeletons\n */\n\nfunction RenderSkeletons({ occurrences = 1, width, height = 5 }) {\n  return <div>\n    {\n      Array.from(new Array(occurrences).keys()).map(k =>\n        <Skeleton\n          variant=\"text\"\n          key={k}\n          width={width ? width : null}\n          height={height}\n        />\n      )\n    }\n  </div>\n}\n\nexport default RenderSkeletons","import React from 'react';\nimport { Fragment } from 'react';\nimport { LUONG_THO_THUE_NGOAI_ID } from '../..';\nimport { DM_KHOAN_CHI_CUA_HANG_ID, DM_KHOAN_CHI_LUONG_DOI_CTY } from '../../../../../../../actions/constants';\nimport { formatNumber } from '../../../../../../../actions/util';\nimport EmptyNoData from '../../../../../../../components/Empty/EmptyNoData';\nimport RenderSkeletons from '../../../../../../../components/skeleton/RenderSkeleton';\nimport '../css.scss';\n\n\nexport const formatTime = (thoiGian) => {\n\tconst ngay = new Date(thoiGian).getDate();\n\tconst thang = new Date(thoiGian).getMonth() + 1;\n\tconst nam = new Date(thoiGian).getFullYear();\n\tif (ngay && !thang && !nam) return `${ngay}`;\n\tif (ngay && thang && !nam) return `${ngay}/${thang}`;\n\treturn `${ngay}/${thang}/${nam}`;\n}\n\nexport const getTimeKinhPhiCongTrinh = (kc, index) => {\n\tif (kc.DMNhomKhoanChiId === DM_KHOAN_CHI_CUA_HANG_ID) return index + 1;\n\tif (kc.DMNhomKhoanChiId === DM_KHOAN_CHI_LUONG_DOI_CTY) return `${kc.Thang ?? ''}/${kc.Nam ?? ''}`;\n\treturn formatTime(kc.ThoiGian);\n}\n\nexport const getNoiDungKinhPhiCongTrinh = (kc) => {\n\tlet noiDung = kc.NoiDung;\n\tif (kc.DMKhoanChiId === LUONG_THO_THUE_NGOAI_ID) {\n\t\treturn `${kc.GhiChu ?? ''}`\n\t}\n\t// if (kc.DMNhomKhoanChiId === DM_KHOAN_CHI_LUONG_DOI_CTY) {\n\t// \treturn `${kc.NoiDung}: ${kc.Thang ?? ''}${kc.Nam ? `/${kc.Nam}` : ''} ${kc.GhiChu ?? ''}`;\n\t// }\n\treturn `${noiDung} ${kc.GhiChu ?? ''}`;\n}\n\nfunction IndexTable({ dataKinhPhi, isSkeleton }) {\n\n\treturn (\n\t\t<div className=\"index-table-kinh-phi-cong-trinh\">\n\t\t\t<div className=\"tableFixHead\">\n\t\t\t\t<table>\n\t\t\t\t\t<thead>\n\t\t\t\t\t\t<tr style={{ background: '#006FCA' }}>\n\t\t\t\t\t\t\t<th className=\"th-table\" style={{ width: '10%' }}>NGÀY THÁNG</th>\n\t\t\t\t\t\t\t<th className=\"th-table\" style={{ width: '40%' }}>NỘI DUNG CHI PHÍ</th>\n\t\t\t\t\t\t\t<th className=\"th-table\" style={{ width: '10%' }}>ĐVT</th>\n\t\t\t\t\t\t\t<th className=\"th-table\" style={{ width: '10%' }}>SỐ LƯỢNG</th>\n\t\t\t\t\t\t\t<th className=\"th-table\" style={{ width: '10%' }}>ĐƠN GIÁ</th>\n\t\t\t\t\t\t\t<th className=\"th-table\" style={{ width: '10%' }}>THÀNH TIỀN</th>\n\t\t\t\t\t\t\t<th className=\"th-table\" style={{ width: '10%' }}>GHI CHÚ</th>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</thead>\n\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdataKinhPhi.length > 0\n\t\t\t\t\t\t\t\t? dataKinhPhi.map((data, i) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<Fragment key={`${i}.dshfjasf`}>\n\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t<td colSpan={7} style={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackground: 'rgb(255 244 112)',\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: '700'\n\t\t\t\t\t\t\t\t\t\t\t\t}}>{data.Name}</td>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tdata.Code === 'CPK' ? Object.entries(data.khoanChis).map(([key, kcs]) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn <>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td colSpan={7} style={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackground: '#ddd',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: '700',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpaddingLeft: 30\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}>Năm {key}</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{kcs.map((kc, i1) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (kc?.children?.length) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn <Fragment key={i1}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td colSpan={7} style={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackground: '#ddd',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: '700',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpaddingLeft: 30\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}>Lương thợ ngoài: {kc.OrganName}</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkc.children.map((item, i) => <tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td > </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td>{item.GhiChu}</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td > </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td ></td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td >  </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'end' }}> {formatNumber(item.TienThanhToan)} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td colSpan={4}></td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ fontWeight: '700' }}>TỔNG TIỀN</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'end' }}>{formatNumber(kc.tongTien)}</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn <tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'center' }}> {getTimeKinhPhiCongTrinh(kc, i1)} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td> {getNoiDungKinhPhiCongTrinh(kc)} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'center' }}> {kc.DVT} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'center' }}> {(kc.KhoiLuong && kc.KhoiLuong !== 0) ? kc.KhoiLuong : ''} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'end' }}> {(kc.DonGia && kc.DonGia !== 0) ? formatNumber(kc.DonGia) : ''} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'end' }}> {formatNumber(kc.TienThanhToan)} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* <td> {data.GhiChu} </td> */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t\t}) : data.khoanChis.map((kc, i1) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (kc?.children?.length) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn <Fragment key={i1}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td colSpan={7} style={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackground: '#ddd',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: '700',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpaddingLeft: 30\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}>Lương thợ ngoài: {kc.OrganName}</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkc.children.map((item, i) => <tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'center' }}> {getTimeKinhPhiCongTrinh(item, i)} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td>{item.GhiChu}</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'center' }}> {item.DVT} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'center' }}> {(item.KhoiLuong && item.KhoiLuong !== 0) ? item.KhoiLuong : ''} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'end' }}> {(item.DonGia && item.DonGia !== 0) ? formatNumber(item.DonGia) : ''} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'end' }}> {formatNumber(item.TienThanhToan)} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* <td> {data.GhiChu} </td> */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td colSpan={4}></td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ fontWeight: '700' }}>TỔNG TIỀN</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'end' }}>{formatNumber(kc.tongTien)}</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn <tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'center' }}> {getTimeKinhPhiCongTrinh(kc, i1)} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td> {getNoiDungKinhPhiCongTrinh(kc)} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'center' }}> {kc.DVT} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'center' }}> {(kc.KhoiLuong && kc.KhoiLuong !== 0) ? kc.KhoiLuong : ''} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'end' }}> {(kc.DonGia && kc.DonGia !== 0) ? formatNumber(kc.DonGia) : ''} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td style={{ textAlign: 'end' }}> {formatNumber(kc.TienThanhToan)} </td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* <td> {data.GhiChu} </td> */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}) : <tr>\n\t\t\t\t\t\t\t\t\t<td colSpan={7}>\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tisSkeleton ? <RenderSkeletons occurrences={5} height={20} /> : <EmptyNoData size=\"sm\" />\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t}\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t</div >\n\t)\n}\n\nexport default IndexTable\n\n","import { ALPHABET, NUM_LETTERS, MONEY_LETTERS } from './constant';\n/** @requires ./types */\n\n/**\n * Chuyển số thứ tự cột thành chữ trong Excel\n * @param {number} n Số thứ tự cột\n * @returns {string}\n */\nexport function numToStrAddr(n) {\n    if (!n) return '';\n    n--;\n    if (n < ALPHABET.length) return ALPHABET[n];\n    const remain = n % ALPHABET.length;\n    return `${numToStrAddr(Math.floor(n / ALPHABET.length))}${ALPHABET[remain]}`\n}\n\n/**\n * Chuyển địa chỉ về dạng chuẩn\n * @param {ExcelAddress} addr\n * @returns {string}\n */\nexport function convertAddr(addr) {\n    if (typeof addr == \"string\") return addr;\n    if (Array.isArray(addr) && addr.length > 1) {\n        const [t, l, b, r] = addr;\n        if (b && r) return numToStrAddr(l) + t + \":\" + numToStrAddr(b) + r;\n        return numToStrAddr(l) + t;\n    }\n    throw new Error(\"Sai địa chỉ ô Excel\");\n}\n\n/**\n * 1. Hàm đọc số có ba chữ số;\n * @param {number} baso nhóm 3 chữ số\n */\nfunction DocSo3ChuSo(baso) {\n    var tram;\n    var chuc;\n    var donvi;\n    var KetQua = \"\";\n    tram = parseInt(baso / 100);\n    chuc = parseInt((baso % 100) / 10);\n    donvi = baso % 10;\n    if (tram === 0 && chuc === 0 && donvi === 0) return \"\";\n    if (tram !== 0) {\n        KetQua += NUM_LETTERS[tram] + \" trăm \";\n        if ((chuc === 0) && (donvi !== 0)) KetQua += \" linh \";\n    }\n    if ((chuc !== 0) && (chuc !== 1)) {\n        KetQua += NUM_LETTERS[chuc] + \" mươi\";\n        if ((chuc === 0) && (donvi !== 0)) KetQua = KetQua + \" linh \";\n    }\n    if (chuc === 1) KetQua += \" mười \";\n    switch (donvi) {\n        case 1:\n            if ((chuc !== 0) && (chuc !== 1)) {\n                KetQua += \" mốt \";\n            }\n            else {\n                KetQua += NUM_LETTERS[donvi];\n            }\n            break;\n        case 5:\n            if (chuc === 0) {\n                KetQua += NUM_LETTERS[donvi];\n            }\n            else {\n                KetQua += \" lăm \";\n            }\n            break;\n        default:\n            if (donvi !== 0) {\n                KetQua += NUM_LETTERS[donvi];\n            }\n            break;\n    }\n    return KetQua;\n}\n\n/**\n * 2. Hàm đọc số thành chữ (Sử dụng hàm đọc số có ba chữ số)\n * @param {BigInt} SoTien số tiền\n */\nexport function DocTienBangChu(SoTien) {\n    var lan = 0;\n    var i = 0;\n    var so = 0;\n    var KetQua = \"\";\n    var tmp = \"\";\n    var ViTri = [];\n    if (SoTien < 0) return \"Số tiền âm !\";\n    if (SoTien === 0) return \"Không đồng !\";\n    if (SoTien > 0) {\n        so = SoTien;\n    }\n    else {\n        so = -SoTien;\n    }\n    if (SoTien > 8999999999999999) {\n        //SoTien = 0;\n        return \"Số quá lớn!\";\n    }\n    ViTri[5] = Math.floor(so / 1000000000000000);\n    if (isNaN(ViTri[5]))\n        ViTri[5] = \"0\";\n    so = so - parseFloat(ViTri[5].toString()) * 1000000000000000;\n    ViTri[4] = Math.floor(so / 1000000000000);\n    if (isNaN(ViTri[4]))\n        ViTri[4] = \"0\";\n    so = so - parseFloat(ViTri[4].toString()) * 1000000000000;\n    ViTri[3] = Math.floor(so / 1000000000);\n    if (isNaN(ViTri[3]))\n        ViTri[3] = \"0\";\n    so = so - parseFloat(ViTri[3].toString()) * 1000000000;\n    ViTri[2] = parseInt(so / 1000000);\n    if (isNaN(ViTri[2]))\n        ViTri[2] = \"0\";\n    ViTri[1] = parseInt((so % 1000000) / 1000);\n    if (isNaN(ViTri[1]))\n        ViTri[1] = \"0\";\n    ViTri[0] = parseInt(so % 1000);\n    if (isNaN(ViTri[0]))\n        ViTri[0] = \"0\";\n    if (ViTri[5] > 0) {\n        lan = 5;\n    }\n    else if (ViTri[4] > 0) {\n        lan = 4;\n    }\n    else if (ViTri[3] > 0) {\n        lan = 3;\n    }\n    else if (ViTri[2] > 0) {\n        lan = 2;\n    }\n    else if (ViTri[1] > 0) {\n        lan = 1;\n    }\n    else {\n        lan = 0;\n    }\n    for (i = lan; i >= 0; i--) {\n        tmp = DocSo3ChuSo(ViTri[i]);\n        KetQua += tmp;\n        if (ViTri[i] > 0) KetQua += MONEY_LETTERS[i];\n        if ((i > 0) && (tmp.length > 0)) KetQua += ',';\n    }\n    if (KetQua.substring(KetQua.length - 1) === ',') {\n        KetQua = KetQua.substring(0, KetQua.length - 1);\n    }\n    KetQua = KetQua.substring(1, 2).toUpperCase() + KetQua.substring(2);\n    return KetQua.replace(/\\s+/g, \" \").replace(\"mươi một\", \"mươi mốt\").trim();\n}\n","/// <reference path=\"../ExcelPlugin/utils/types.js\"/>\n\nimport lodashMerge from 'lodash.merge';\nimport { convertAddr } from '../ExcelPlugin/utils/helpers';\nimport { DEFAULT_STYLE } from '../ExcelPlugin/utils/constant';\n/** @requires module:src/components/export */\n\nexport default class WorksheetWrapper {\n    /** @type {import('exceljs').Worksheet} */\n    #ws;\n    /** @param {import('exceljs').Worksheet} ws */\n    constructor(ws) {\n        this.#ws = ws;\n        return this;\n    }\n    get worksheet() {\n        return this.#ws;\n    }\n    /**\n     * Chuẩn hóa dữ liệu từng ô\n     * @param {ExcelCell} cell\n     * @returns {import('exceljs').CellValue}\n     */\n    #getCellValue = (cell) => {\n        if (Object.prototype.toString.call(cell) === '[object Object]'\n            && Object.prototype.hasOwnProperty.call(cell, 'value'))\n            return cell.value;\n        return cell || null;\n    }\n    //#region render array row group\n    /**\n     *\n     * @param {[number, number]} address Địa chỉ ô đầu tiên của dòng [dòng, cột]\n     * @param {ExcelRow} row Dữ liệu của dòng\n     */\n    #renderRow = ([r, c = 1], row) => {\n        const { cells, style, height } = row;\n        if (!cells) return;\n        const xr = this.#ws.getRow(r);\n        cells.forEach((ce, i) => {\n            const cell = xr.getCell(c + i);\n            if (cell.isMerged) return;\n            cell.value = this.#getCellValue(ce);\n            cell.style = lodashMerge({}, DEFAULT_STYLE, style, ce?.style);\n            if (ce?.colspan > 1 || ce?.rowspan > 1) {\n                this.#ws.mergeCells(r, c + i, r + (ce?.rowspan - 1 || 0), c + i + (ce?.colspan - 1 || 0));\n            }\n        })\n        if (height) this.#ws.getRow(r).height = height;\n    }\n    /**\n     * @param {ExcelAddress} topLeft\n     * @param {ExcelArrayRowGroupProps} rowsDef\n     * @alias export.renderArrayRowGroup\n     */\n    renderArrayRowGroup(topLeft, { rows, style }) {\n        const { col, row } = this.#ws.getCell(convertAddr(topLeft)).fullAddress;\n        const rowsData = typeof rows === 'function' ? rows() : rows;\n        rowsData.forEach((r, i) => {\n            if (r) this.#renderRow([row + i, col], {\n                r: row + i,\n                c: col,\n                style: lodashMerge({}, style, r.style),\n                cells: r.cells || r,\n                height: r.height\n            })\n        })\n    }\n    //#endregion\n\n    //#region render data row group\n    /**\n     * @template T\n     * @param {ExcelAddress} topLeft\n     * @param {ExcelGroupedData<T>} groupedDataDef\n     * @returns {number} Dòng đầu tiên của nhóm tiếp theo\n     */\n    #renderGroup = (topLeft, { keys, data, columns, style }) => {\n        const key = keys?.shift();\n        const column = columns.find(f => f.key === key);\n        let { col, row } = this.#ws.getCell(convertAddr(topLeft)).fullAddress;\n        if (key && column) {\n            const groupData = Array.from(new Set(data.map((m, i) => typeof column.render !== 'undefined' ? column.render(m, i) : m[key])));\n            for (let g of groupData) {\n                const gCell = this.#ws.getCell(row, +col, row, +col + columns.filter(f => !f.group).length);\n                gCell.value = g || null;\n                gCell.style = lodashMerge({}, DEFAULT_STYLE, style, { font: { bold: true } });\n                this.#ws.mergeCells(gCell.address);\n                row = this.#renderGroup([+row + 1, +col], {\n                    keys, columns,\n                    data: data.filter(f => f[key] === g)\n                });\n            }\n        } else {\n            columns.filter(f => !f.group).forEach((c, i) => {\n                data = typeof data === 'function' ? data() : data;\n                data.forEach((d, j) => {\n                    const cell = typeof c.render !== 'undefined' ? c.render(d, j) : d[c.key];\n                    this.#ws.getCell(+row + j, +col + i).value = this.#getCellValue(cell);\n                    this.#ws.getCell(+row + j, +col + i).style = lodashMerge({}, DEFAULT_STYLE, style, c?.style, cell?.style);\n                })\n                this.#ws.getColumn(+col + i).width = typeof c.width === 'number' ? c.width : 10;\n            })\n            row += data.length;\n        }\n        return row;\n    }\n    /**\n     * @template T\n     * @param {ExcelAddress} topLeft\n     * @param {ExcelDataRowGroupProps<T>} dataGroupDef\n     */\n    renderDataRowGroup(topLeft, { columns, data, header, totalRow, rowNum, headerStyle, cellStyle, onEndRow }) {\n        const { col, row } = this.#ws.getCell(convertAddr(topLeft)).fullAddress;\n        columns = typeof columns === 'function' ? columns() : columns;\n        if (rowNum) columns.unshift({\n            name: 'STT',\n            render: (_, idx) => idx + 1,\n            colStyle: { alignment: { horizontal: 'center' } },\n            width: 5\n        })\n        if (!header) {\n            header = [{\n                cells: columns.filter(f => !f.group).map(m => ({ value: m.name, style: lodashMerge({}, m.cellStyle) })),\n                style: headerStyle\n            }]\n        }\n        this.renderArrayRowGroup(topLeft, { rows: header, style: headerStyle });\n        const groupedCols = columns.filter(f => f.group).sort((a, b) => (+a.group) - (+b.group)).map(m => m.key);\n        const endRow = this.#renderGroup([+row + header.length, +col], { keys: groupedCols, data, columns, style: cellStyle })\n        onEndRow && onEndRow(endRow - 1);\n    }\n    //#endregion\n}","import { Workbook } from 'exceljs';\nimport { saveAs } from \"../../../actions/file-saver\";\nimport WorksheetWrapper from './WorksheetWrapper';\n\nexport default class ExcelWorkbook extends Workbook {\n    static create() {\n        // Tạo workbook\n        const wb = new Workbook();\n        wb.creator = 'GDT QLCB';\n        wb.lastModifiedBy = 'GDT QLCB';\n        wb.created = new Date();\n        wb.modified = new Date();\n        wb.lastPrinted = new Date();\n        return wb;\n    }\n\n    /**\n     * Tải về file excel\n     * @param {string} filename\n     */\n    async download(filename) {\n        const wbBuffer = await this.xlsx.writeBuffer();\n        saveAs(new Blob([wbBuffer], { type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" }), filename)\n    }\n    /**\n     * @param {string} [name]\n     * @param {Partial<import('exceljs').AddWorksheetOptions>} [option]\n     */\n    addWorksheet(name = \"Sheet1\", option) {\n        return new WorksheetWrapper(super.addWorksheet(name, option));\n    }\n    /** @param {string | number} indexOrName */\n    getWorksheet(indexOrName) {\n        return new WorksheetWrapper(super.getWorksheet(indexOrName));\n    }\n}","import ExcelWorkbook from './ExcelWorkbook';\nexport default ExcelWorkbook;","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useCallback, useEffect, useState } from 'react';\nimport Select from 'react-select';\nimport { l } from 'react-select/dist/index-fa0d9f94.esm';\nimport { Button } from 'reactstrap';\nimport { DM_KHOAN_CHI_CUA_HANG_ID, DM_NHOM_KHOAN_CHI } from '../../../../../actions/constants';\nimport { formatCurrency } from '../../../../../actions/util';\nimport { DuAnEndpoint } from '../../../../../service/GDTCores';\nimport { RPDuAnsEndpoint } from '../../../../../service/Report';\nimport IndexTable from './Component/TableBaoCao';\nimport './css.scss';\nimport { ExportExcell } from './ExportExcel';\n\nexport const LUONG_THO_THUE_NGOAI_ID = \"94c2bee5-9865-4025-9a18-02008b31fddb\";\n// const CHIKHAC = \"9a3b5355-3dc3-4e31-b636-cbcb27ffff30\";\n\nfunction unique(arr, comp) {\n  const unique = arr\n    .map(e => e[comp])\n\n    // store the keys of the unique objects\n    .map((e, i, final) => final.indexOf(e) === i && i)\n\n    // eliminate the dead keys & store unique objects\n    .filter(e => arr[e]).map(e => arr[e]);\n\n  return unique;\n}\n\nfunction IndexRPDuAn(props) {\n  const [lstDuAns, setLstDuAns] = useState([]);\n  // const [nhomKhoanChis, setDataKinhPhi] = useState([]);\n  const [duAn, setDuAn] = useState(null);\n  const [nameDuAn, setNameDuAn] = useState('')\n  const [isSkeleton, setIsSkeleton] = useState(false);\n  const [nhomKhoanChis, setnhomKhoanChis] = useState([...DM_NHOM_KHOAN_CHI])\n  const [tongTien, setTongTien] = useState(0);\n\n  const loadLstDuAn = useCallback(() => {\n    const param = {\n      filter: `$filter=Status eq true`,\n      select: `$select=Id,Name,DienThoai,DiaChi`,\n      expand: `$expand=ThongTinCaNhan($select=Id,HoVaTenDem)`\n    }\n    DuAnEndpoint.getAll(`?${param.filter}&${param.select}&${param.expand}`).then(({ value }) => {\n      setLstDuAns(value);\n      setDuAn(value[0]);\n      loadDataKinhPhi(value[0].Id);\n    });\n  }, [])\n\n  const loadDataKinhPhi = (duAnId) => {\n    setIsSkeleton(true);\n    RPDuAnsEndpoint.getKinhPhiCongTrinh(duAnId)\n      .then(({ ResultObj }) => {\n\n        const _tongTien = ResultObj.reduce((acc, cur) => (acc + cur.TienThanhToan), 0)\n\n        const sortResultObj = ResultObj.sort((a, b) => {\n          if (new Date(a.ThoiGian) < new Date(b.ThoiGian)) return -1;\n          return a - b\n        })\n\n        // nhóm kinh phí của cùng 1 cửa hàng\n        const groupKinhPhiCuaHang = [];\n        const arrKhoanChiCuaHang = sortResultObj.filter(f => f.DMNhomKhoanChiId === DM_KHOAN_CHI_CUA_HANG_ID)\n        const arr = arrKhoanChiCuaHang.reduce((groupYears, curKhoanChi) => {\n          const year = new Date(curKhoanChi.ThoiGian).getFullYear();\n          if (groupYears[year]) {\n            const indexCur = groupYears[year].findIndex(f => f.DMNhomKhoanChiId === DM_KHOAN_CHI_CUA_HANG_ID && f.DMKhoanChiId === curKhoanChi.DMKhoanChiId)\n            if (indexCur > -1) {\n              groupYears[year][indexCur].TienThanhToan = groupYears[year][indexCur].TienThanhToan + curKhoanChi.TienThanhToan;\n            } else {\n              groupYears[year].push({ ...curKhoanChi })\n            }\n          } else {\n            groupYears[year] = [{ ...curKhoanChi }];\n          }\n          return groupYears;\n        }, {})\n        console.log(arr);\n\n        arrKhoanChiCuaHang.forEach(elm => {\n          const index = groupKinhPhiCuaHang.findIndex(f => f.DMNhomKhoanChiId === DM_KHOAN_CHI_CUA_HANG_ID && f.DMKhoanChiId === elm.DMKhoanChiId);\n          if (index !== -1) {\n            groupKinhPhiCuaHang[index].TienThanhToan += elm.TienThanhToan;\n          } else {\n            groupKinhPhiCuaHang.unshift(elm);\n          }\n        });\n\n        // nhóm lương đội công ty\n        // const formatDate = (str) => new Date(str)\n        // const groupLuongDoiCty = [];\n        // const arrTempLuongDoiCty = sortResultObj.filter(f => f.DMNhomKhoanChiId === DM_KHOAN_CHI_LUONG_DOI_CTY)\n        // arrTempLuongDoiCty.forEach(elm => {\n        //   const index = groupLuongDoiCty.findIndex(\n        //     f => formatDate(f.ThoiGian).getMonth() === formatDate(elm.ThoiGian).getMonth() &&\n        //       formatDate(f.ThoiGian).getFullYear() === formatDate(elm.ThoiGian).getFullYear()\n        //   )\n\n        //   if (index !== -1) {\n        //     groupLuongDoiCty[index].TienThanhToan += elm.TienThanhToan;\n        //   } else {\n        //     groupLuongDoiCty.push({ ...elm, 'thangNam': `${formatDate(elm.ThoiGian).getMonth() + 1}/${formatDate(elm.ThoiGian).getFullYear()}` });\n        //   }\n        // })\n\n        // si da qúa nhưng thôi kệ\n        const _kinhPhiCongTrinhs = [...sortResultObj];\n\n        const kinhPhiClone = JSON.parse(JSON.stringify(DM_NHOM_KHOAN_CHI));\n\n        _kinhPhiCongTrinhs.forEach((elm) => {\n          if (elm.DMNhomKhoanChiId) {\n            const indexGroupcc = kinhPhiClone.findIndex(f => f.Id === elm.DMNhomKhoanChiId);\n\n            if (indexGroupcc !== -1) {\n              kinhPhiClone[indexGroupcc].khoanChis.push(elm);\n            }\n          } else {\n            const indexKhac = kinhPhiClone.findIndex(f => f.Id === 'chiPhiKhac');\n            if (indexKhac !== -1) {\n              kinhPhiClone[indexKhac].khoanChis.push(elm);\n            }\n          }\n        })\n\n        const indexCuaHang = kinhPhiClone.findIndex(f => f.Id === DM_KHOAN_CHI_CUA_HANG_ID);\n        if (indexCuaHang !== -1) {\n          kinhPhiClone[indexCuaHang].khoanChis = arr;\n        }\n\n        // const indexLuongDoiCty = kinhPhiClone.findIndex(f => f.Id === DM_KHOAN_CHI_LUONG_DOI_CTY);\n        // if (indexLuongDoiCty !== -1) {\n        //   kinhPhiClone[indexLuongDoiCty].khoanChis = groupLuongDoiCty;\n        // }\n\n        const dataDoiThue = unique(kinhPhiClone.find(f => f.Code === 'LTTN').khoanChis, 'OrganName');\n        const listDoiThueGroup = []\n        dataDoiThue.forEach(item => {\n          let element = { ...item };\n          let check = kinhPhiClone.find(f => f.Code === 'LTTN').khoanChis.filter(f => f.OrganName === item.OrganName);\n          let tongTien = 0;\n          check.forEach(item => tongTien += +item.TienThanhToan)\n          if (check.length) {\n            element.tongTien = tongTien\n            element.children = check\n          }\n          listDoiThueGroup.push(element)\n        })\n        kinhPhiClone.find(f => f.Code === 'LTTN').khoanChis = listDoiThueGroup;\n        setnhomKhoanChis(kinhPhiClone);\n        setTongTien(_tongTien);\n        setIsSkeleton(false);\n      })\n      .catch(() => setIsSkeleton(false))\n  }\n\n  const duAnSelected = (duAn) => {\n    setDuAn(duAn);\n    loadDataKinhPhi(duAn.Id); setNameDuAn(duAn.Name)\n  }\n\n  const handleExport = () => {\n    ExportExcell(nhomKhoanChis, duAn, LUONG_THO_THUE_NGOAI_ID, nameDuAn)\n  }\n\n  useEffect(() => {\n    loadLstDuAn();\n  }, [loadLstDuAn])\n\n  return (\n    <div className=\"index-rp-du-an\">\n      <div className=\"header-cus\">\n        <div className=\"header-cus__title\">Báo cáo Kinh phí công trình</div>\n        <div className=\"header-cus__selected\">\n          <Select\n            name='nhomDuAn'\n            options={lstDuAns}\n            menuPosition={'fixed'}\n            className=\"cus-select\"\n            placeholder={'Chọn...'}\n            onChange={(selected) => duAnSelected(selected)}\n            value={lstDuAns.find(f => f.Id === duAn?.Id) || null}\n            getOptionValue={option => option}\n            getOptionLabel={option => option.Name}\n          />\n\n          <Button\n            color=\"primary\"\n            style={{ marginLeft: '10px' }}\n            onClick={() => { handleExport() }}\n          >\n            <i style={{ marginRight: '2px' }} class=\"fas fa-download\" />Xuất báo cáo\n          </Button>\n        </div>\n      </div>\n\n      <div className=\"body-cus\">\n        <IndexTable\n          dataKinhPhi={nhomKhoanChis}\n          isSkeleton={isSkeleton}\n        />\n        <div style={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center', marginTop: 20 }}>\n          <div style={{ fontSize: 14, fontWeight: 700 }}>Tổng tiền: {formatCurrency(tongTien)}</div>\n        </div>\n      </div>\n    </div>\n  )\n}\n\nexport default IndexRPDuAn\n\n","import lodashMerge from 'lodash.merge'\n/** Cách đọc các số */\nexport const NUM_LETTERS = Array.of(\" không \", \" một \", \" hai \", \" ba \", \" bốn \", \" năm \", \" sáu \", \" bảy \", \" tám \", \" chín \");\n/** Cách đọc phần nghìn */\nexport const MONEY_LETTERS = Array.of(\"\", \" nghìn\", \" triệu\", \" tỷ\", \" nghìn tỷ\", \" triệu tỷ\");\n/**\n * Viền xung quanh ô (dùng cho bảng)\n * @type {Partial<import('exceljs').Borders>}\n */\nconst ALL_BORDERED = {\n    top: { style: 'thin', color: { argb: 'FF808080' } },\n    left: { style: 'thin', color: { argb: 'FF808080' } },\n    bottom: { style: 'thin', color: { argb: 'FF808080' } },\n    right: { style: 'thin', color: { argb: 'FF808080' } }\n}\n/**\n * Style mặc định của Excel\n * @type {Partial<import('exceljs').Style>}\n */\nexport const DEFAULT_STYLE = {\n    numFmt: '#,##0',\n    font: {\n        name: 'Times New Roman',\n        family: 4,\n        size: 12,\n        color: { argb: 'FF000000' }\n    },\n    alignment: {\n        vertical: 'middle',\n        wrapText: true\n    },\n    fill: {\n        type: 'pattern',\n        pattern: 'none'\n    }\n}\n/**\n * Style mặc định từng ô trong Excel\n * @type {Partial<import('exceljs').Style>}\n */\nexport const CELL_STYLE = {\n    border: ALL_BORDERED\n}\n/**\n * Style mặc định tiêu đề bảng excel\n * @type {Partial<import('exceljs').Style>}\n */\nexport const HEADER_STYLE = lodashMerge({}, {\n    font: {\n        bold: true,\n        size: 12\n    },\n    alignment: {\n        horizontal: 'center',\n        wrapText: true\n    },\n    // border: ALL_BORDERED\n})\n/** Bảng chữ cái */\nexport const ALPHABET = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n\n/**\n * Tiêu đề\n */\nexport const Title_Header = {\n    font: {\n        bold: true,\n        size: 10\n    }\n}\n\nexport const Tilte_Columns = {\n    background: '#F2F2F2'\n}\n\nexport const CELL_CENTER = {\n    alignment: {\n        horizontal: 'center',\n        vertical: 'middle',\n        wrapText: true\n    }\n}\n\nexport const CELL_RIGHT = {\n    alignment: {\n        horizontal: 'right',\n        vertical: 'middle',\n        wrapText: true\n    }\n}","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);"],"names":["Report","Service","constructor","path","super","getAll","param","this","SearchAllAUTH","addWithBatch","data","InsertBatch","update","ID","body","edit","getDataCongNoTongHop","Nam","GetAuthen","GetCongNoVatLieuTheoDuAn","PostAuthen","getDataChiTietCongNoCuaHang","Thang","CuaHangId","getDataCongNoDoiThueNgoai","DotLuongId","getDataTongHopCongNoCuaHang","getDataBangKeChiTiet","getKinhPhiCongTrinh","duAnId","getLoiNhuan","EmptyNoData","Component","render","size","text","props","children","_jsxs","_jsx","className","EmptyContainerSmall","EmptyContainerLarge","styled","div","CELL_CENTER","alignment","horizontal","vertical","wrapText","DEFAULT_STYLE","numFmt","font","name","family","color","argb","fill","type","pattern","CELL_END","ALL_BORDERED","top","style","left","bottom","right","bold","BORDER_LEFT","BORDER_RIGHT","BORDER_BOTTOM","ExportExcell","datas","duAn","luongThoThueNgoaiId","nameDuAn","kpCuaHang","find","f","Code","doiCty","thueNgoai","chiPhiKhac","wb","ExcelWorkbook","ws","addWorksheet","renderArrayRowGroup","rows","value","colspan","border","ThongTinCaNhan","HoVaTenDem","DiaChi","DienThoai","CELL_STYLE","rowspan","worksheet","getColumn","width","i","tongTien","arrRows","lstItems","newArr","_tongTien","Object","entries","forEach","_ref","year","items","push","map","item","index","TienThanhToan","getTimeKinhPhiCongTrinh","getNoiDungKinhPhiCongTrinh","DVT","KhoiLuong","DonGia","formatNumber","getLengthKhoanChiThueNgoai","arr","Array","from","keys","reduce","l","e","length","getSumChiPhiCuaHang","sum","_ref2","key","getLengthArr","elm","khoanChis","Name","numRowAbove","khoanChi","OrganName","getLengthOfThueNgoai","num","Date","getFullYear","TOKEN_CLIENT_INFO","About","download","occurrences","height","k","Skeleton","variant","formatTime","thoiGian","ngay","getDate","thang","getMonth","nam","kc","_kc$Thang","_kc$Nam","DMNhomKhoanChiId","DM_KHOAN_CHI_CUA_HANG_ID","DM_KHOAN_CHI_LUONG_DOI_CTY","ThoiGian","_kc$GhiChu2","noiDung","NoiDung","_kc$GhiChu","DMKhoanChiId","LUONG_THO_THUE_NGOAI_ID","GhiChu","dataKinhPhi","isSkeleton","background","Fragment","colSpan","fontWeight","kcs","_Fragment","paddingLeft","i1","_kc$children","textAlign","_kc$children2","RenderSkeletons","numToStrAddr","n","ALPHABET","remain","Math","floor","convertAddr","addr","isArray","t","b","r","Error","_ws","_classPrivateFieldLooseKey","_getCellValue","_renderRow","_renderGroup","WorksheetWrapper","defineProperty","writable","cell","prototype","toString","call","hasOwnProperty","row","c","cells","xr","_classPrivateFieldLooseBase","getRow","ce","getCell","isMerged","lodashMerge","mergeCells","topLeft","columns","shift","column","col","fullAddress","groupData","Set","m","g","gCell","filter","group","address","d","j","_ref3","renderDataRowGroup","_ref4","header","totalRow","rowNum","headerStyle","cellStyle","onEndRow","unshift","_","idx","colStyle","groupedCols","sort","a","endRow","Workbook","create","creator","lastModifiedBy","created","modified","lastPrinted","filename","wbBuffer","xlsx","writeBuffer","saveAs","Blob","arguments","undefined","option","getWorksheet","indexOrName","lstDuAns","setLstDuAns","useState","setDuAn","setNameDuAn","setIsSkeleton","nhomKhoanChis","setnhomKhoanChis","DM_NHOM_KHOAN_CHI","setTongTien","loadLstDuAn","useCallback","DuAnEndpoint","then","loadDataKinhPhi","Id","RPDuAnsEndpoint","ResultObj","acc","cur","sortResultObj","groupKinhPhiCuaHang","arrKhoanChiCuaHang","groupYears","curKhoanChi","indexCur","findIndex","console","log","_kinhPhiCongTrinhs","kinhPhiClone","JSON","parse","stringify","indexGroupcc","indexKhac","indexCuaHang","dataDoiThue","comp","final","indexOf","unique","listDoiThueGroup","element","check","catch","useEffect","Select","options","menuPosition","placeholder","onChange","selected","duAnSelected","getOptionValue","getOptionLabel","Button","marginLeft","onClick","marginRight","class","IndexTable","display","justifyContent","alignItems","marginTop","fontSize","formatCurrency","of","HEADER_STYLE","Title_Header","Tilte_Columns","CELL_RIGHT","React","ref","_props$animation","animation","classes","_props$component","component","_props$variant","other","_objectWithoutProperties","hasChildren","Boolean","_extends","clsx","root","withChildren","fitContent","heightAuto","withStyles","theme","backgroundColor","fade","palette","primary","marginBottom","transformOrigin","transform","borderRadius","shape","content","rect","circle","pulse","opacity","wave","position","overflow","concat","action","hover","visibility","maxWidth"],"sourceRoot":""}