From 13fad7dfc51caf68b25aac110476178b64909406 Mon Sep 17 00:00:00 2001 From: Lei OT Date: Tue, 14 Nov 2023 11:43:59 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Data.jsx | 6 ++++-- src/views/AgentGroupCount.jsx | 10 ++-------- src/views/DestinationGroupCount.jsx | 2 ++ src/views/Orders.jsx | 10 ++-------- src/views/Sale.jsx | 10 ++-------- 5 files changed, 12 insertions(+), 26 deletions(-) diff --git a/src/components/Data.jsx b/src/components/Data.jsx index 6aa12bd..35106ff 100644 --- a/src/components/Data.jsx +++ b/src/components/Data.jsx @@ -35,7 +35,8 @@ export const TableExportBtn = (props) => { const output_name = `${props.label}`; const [columnsMap, setColumnsMap] = useState([]); useEffect(() => { - const flatCols = props.columns.flatMap((v, k) => (v.children ? v.children.map((vc) => ({ ...vc, title: `${v.title}-${vc.title}` })) : v)).filter(c => c.title); + const flatCols = props.columns.flatMap((v, k) => (v.children ? v.children.map((vc) => ({ ...vc, title: `${v.title}-${vc.title || ''}` })) : v)).filter(c => c.title); + // console.log('flatCols', flatCols); setColumnsMap(flatCols); return () => {}; @@ -50,11 +51,12 @@ export const TableExportBtn = (props) => { const itemMapped = columnsMap.reduce((sv, kset) => { const render_val = typeof kset?.render === 'function' ? kset.render('', item) : null; const data_val = kset?.dataIndex ? (Array.isArray(kset.dataIndex) ? getNestedValue(item, kset.dataIndex) : item[kset.dataIndex]) : undefined; - const v = { [kset.title]: render_val || data_val }; + const v = { [kset.title]: data_val || render_val }; return { ...sv, ...v }; }, {}); return itemMapped; }); + // console.log('data', data); const ws = utils.json_to_sheet(data, { header: columnsMap.filter((r) => r.dataIndex).map((r) => r.title) }); const wb = utils.book_new(); utils.book_append_sheet(wb, ws, 'sheet'); diff --git a/src/views/AgentGroupCount.jsx b/src/views/AgentGroupCount.jsx index 07b6e69..3aea2a4 100644 --- a/src/views/AgentGroupCount.jsx +++ b/src/views/AgentGroupCount.jsx @@ -5,6 +5,7 @@ import { observer } from 'mobx-react'; import 'moment/locale/zh-cn'; import { utils, writeFileXLSX } from 'xlsx'; import SearchForm from './../components/search/SearchForm'; +import { TableExportBtn } from './../components/Data'; const AgentGroupCount = () => { const { customerServicesStore, date_picker_store } = useContext(stores_Context); @@ -56,14 +57,7 @@ const AgentGroupCount = () => { scroll={{ x: 1000 }} /> - { - const wb = utils.table_to_book(document.getElementById('agentGroupList').getElementsByTagName('table')[0]); - writeFileXLSX(wb, '地接社团信息.xlsx'); - }} - > - 导出excel - + diff --git a/src/views/DestinationGroupCount.jsx b/src/views/DestinationGroupCount.jsx index 4688ab9..bfda615 100644 --- a/src/views/DestinationGroupCount.jsx +++ b/src/views/DestinationGroupCount.jsx @@ -5,6 +5,7 @@ import { observer } from 'mobx-react'; import 'moment/locale/zh-cn'; import { utils, writeFileXLSX } from 'xlsx'; import SearchForm from './../components/search/SearchForm'; +import { TableExportBtn } from './../components/Data'; const DestinationGroupCount = () => { const { customerServicesStore, date_picker_store } = useContext(stores_Context); @@ -62,6 +63,7 @@ const DestinationGroupCount = () => { > 导出excel + diff --git a/src/views/Orders.jsx b/src/views/Orders.jsx index 01b3f32..d9d8241 100644 --- a/src/views/Orders.jsx +++ b/src/views/Orders.jsx @@ -10,6 +10,7 @@ import * as comm from "../utils/commons"; import { utils, writeFileXLSX } from "xlsx"; import DateGroupRadio from '../components/DateGroupRadio'; import SearchForm from './../components/search/SearchForm'; +import { TableExportBtn } from './../components/Data'; class Orders extends Component { static contextType = stores_Context; @@ -446,14 +447,7 @@ class Orders extends Component { <> - { - const wb = utils.table_to_book(document.getElementById(`table_to_xlsx_${ele.key}`).getElementsByTagName('table')[0]); - writeFileXLSX(wb, `${ele.key}.xlsx`); - }} - > - 导出excel - + ), diff --git a/src/views/Sale.jsx b/src/views/Sale.jsx index 8c1c564..ed83323 100644 --- a/src/views/Sale.jsx +++ b/src/views/Sale.jsx @@ -7,6 +7,7 @@ import { observer } from 'mobx-react'; import * as comm from '../utils/commons'; import { utils, writeFileXLSX } from 'xlsx'; import SearchForm from './../components/search/SearchForm'; +import { TableExportBtn } from './../components/Data'; const Sale = () => { const { sale_store, date_picker_store } = useContext(stores_Context); @@ -291,14 +292,7 @@ const Sale = () => { scroll={{ x: (100*(tableColumns.length)) }} /> - { - const wb = utils.table_to_book(document.getElementById('table_to_xlsx_sale').getElementsByTagName('table')[0]); - writeFileXLSX(wb, 'sale.xlsx'); - }} - > - 导出excel - +