wjx vor 1 Jahr
Ursprung
Commit
5ff94e4126

+ 1 - 3
src/app.tsx

@@ -217,9 +217,7 @@ export const request: RequestConfig = {
                                     history.push('/user/login')
                                     notification.close(key)
                                     sessionStorage.removeItem('msg')
-                                }}>
-                                    重新登录
-                                </Button>
+                                }}>重新登录</Button>
                             );
                             const description = (
                                 <Result

+ 1 - 21
src/components/RightContent/index.tsx

@@ -1,6 +1,6 @@
 import { Tag, Space, Badge, Modal } from 'antd';
 import React, { useCallback } from 'react';
-import { useModel, history } from 'umi';
+import { useModel } from 'umi';
 import Avatar from './AvatarDropdown';
 import styles from './index.less';
 import { exitFullScreen, requestFullScreen, isFull } from '@/utils/fullScreen'
@@ -29,18 +29,6 @@ const GlobalHeaderRight: React.FC<{}> = () => {
       requestFullScreen()
     }
   }
-  const onMenuClick = useCallback(
-    (event: {
-      key: React.Key;
-      keyPath: React.Key[];
-      item: React.ReactInstance;
-      domEvent: React.MouseEvent<HTMLElement>;
-    }) => {
-      const { key } = event;
-      history.push(key);
-    },
-    [],
-  );
   //消息弹窗更新
   const inform = useCallback(() => {
     let bdVersions = localStorage.getItem('versions') //本地
@@ -73,14 +61,6 @@ const GlobalHeaderRight: React.FC<{}> = () => {
   }, [])
   return (
     <div style={{ display: 'flex', justifyContent: 'space-between' }}>
-      {/* <Menu onClick={onMenuClick} selectedKeys={['/operatePage/operate']} mode="horizontal">
-        <Menu.Item key='/operatePage' >
-          运营中心
-        </Menu.Item>
-        <Menu.Item key='/dataStatistics' >
-          数据统计
-        </Menu.Item>
-      </Menu> */}
       <Space className={className}>
         {versionsOpen && <div onClick={versionsOpen && inform}>
           <Badge count={versionsOpen && 1} size='small' offset={[2, 0]}>

+ 72 - 75
src/global.tsx

@@ -1,87 +1,84 @@
 import { Button, message, notification } from 'antd';
 
 import React from 'react';
+import { useIntl } from 'umi';
 import defaultSettings from '../config/defaultSettings';
 
 const { pwa } = defaultSettings;
 
 // if pwa is true
 if (pwa) {
-  // Notify user if offline now
-  window.addEventListener('sw.offline', () => {
-    message.warning(useIntl().formatMessage({ id: 'app.pwa.offline' }));
-  });
+	// Notify user if offline now
+	window.addEventListener('sw.offline', () => {
+		message.warning(useIntl().formatMessage({ id: 'app.pwa.offline' }));
+	});
 
-  // Pop up a prompt on the page asking the user if they want to use the latest version
-  window.addEventListener('sw.updated', (event: Event) => {
-    const e = event as CustomEvent;
-    const reloadSW = async () => {
-      // Check if there is sw whose state is waiting in ServiceWorkerRegistration
-      // https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration
-      const worker = e.detail && e.detail.waiting;
-      if (!worker) {
-        return true;
-      }
-      // Send skip-waiting event to waiting SW with MessageChannel
-      await new Promise((resolve, reject) => {
-        const channel = new MessageChannel();
-        channel.port1.onmessage = (msgEvent) => {
-          if (msgEvent.data.error) {
-            reject(msgEvent.data.error);
-          } else {
-            resolve(msgEvent.data);
-          }
-        };
-        worker.postMessage({ type: 'skip-waiting' }, [channel.port2]);
-      });
-      // Refresh current page to use the updated HTML and other assets after SW has skiped waiting
-      window.location.reload(true);
-      return true;
-    };
-    const key = `open${Date.now()}`;
-    const btn = (
-      <Button
-        type="primary"
-        onClick={() => {
-          notification.close(key);
-          reloadSW();
-        }}
-      >
-        {useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated.ok' })}
-      </Button>
-    );
-    notification.open({
-      message: useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated' }),
-      description: useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated.hint' }),
-      btn,
-      key,
-      onClose: async () => { },
-    });
-  });
+	// Pop up a prompt on the page asking the user if they want to use the latest version
+	window.addEventListener('sw.updated', (event: Event) => {
+		const e = event as CustomEvent;
+		const reloadSW = async () => {
+			// Check if there is sw whose state is waiting in ServiceWorkerRegistration
+			// https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration
+			const worker = e.detail && e.detail.waiting;
+			if (!worker) {
+				return true;
+			}
+			// Send skip-waiting event to waiting SW with MessageChannel
+			await new Promise((resolve, reject) => {
+				const channel = new MessageChannel();
+				channel.port1.onmessage = (msgEvent) => {
+					if (msgEvent.data.error) {
+						reject(msgEvent.data.error);
+					} else {
+						resolve(msgEvent.data);
+					}
+				};
+				worker.postMessage({ type: 'skip-waiting' }, [channel.port2]);
+			});
+			// Refresh current page to use the updated HTML and other assets after SW has skiped waiting
+			window.location.reload();
+			return true;
+		};
+		const key = `open${Date.now()}`;
+		const btn = (
+			<Button
+				type="primary"
+				onClick={() => {
+					notification.close(key);
+					reloadSW();
+				}}
+			>
+				{useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated.ok' })}
+			</Button>
+		);
+		notification.open({
+			message: useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated' }),
+			description: useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated.hint' }),
+			btn,
+			key,
+			onClose: async () => { },
+		});
+	});
 } else if ('serviceWorker' in navigator) {
-  // unregister service worker
-  const { serviceWorker } = navigator;
-  if (serviceWorker.getRegistrations) {
-    serviceWorker.getRegistrations().then((sws) => {
-      sws.forEach((sw) => {
-        sw.unregister();
-      });
-    });
-  }
-  serviceWorker.getRegistration().then((sw) => {
-    if (sw) sw.unregister();
-  });
-
-  // remove all caches
-  if (window.caches && window.caches.keys) {
-    caches.keys().then((keys) => {
-      keys.forEach((key) => {
-        caches.delete(key);
-      });
-    });
-  }
-}
-
-
-
+	// unregister service worker
+	const { serviceWorker } = navigator;
+	if (serviceWorker.getRegistrations) {
+		serviceWorker.getRegistrations().then((sws) => {
+			sws.forEach((sw) => {
+				sw.unregister();
+			});
+		});
+	}
+	serviceWorker.getRegistration().then((sw) => {
+		if (sw) sw.unregister();
+	});
 
+	// remove all caches
+	if (window.caches && (window.caches.keys as any)) {
+		caches.keys().then((keys) => {
+			keys.forEach((key) => {
+				caches.delete(key);
+			});
+		});
+	}
+}

+ 12 - 6
src/pages/gameDataStatistics/components/TableData/index.tsx

@@ -2,9 +2,10 @@ import CustomListModel from '@/components/CustomList'
 import Tables from '@/components/Tables'
 import { FullscreenExitOutlined, FullscreenOutlined, RedoOutlined, SearchOutlined, SettingOutlined } from '@ant-design/icons'
 import { useFullscreen } from 'ahooks'
-import { Button, Card, Col, Row, Space, Spin, Tooltip, } from 'antd'
+import { Button, Card, Col, Row, Space, Tooltip, } from 'antd'
 import React, { useEffect, useRef, useState, useCallback } from 'react'
 import style from './index.less'
+import moment from 'moment'
 
 interface Prosp {
     isZj?: boolean,//是否查总计
@@ -48,6 +49,7 @@ function TableData(props: Prosp) {
     const [oldSelectData, setoldSelectData] = useState<any[]>([])
     const [oldFixed, setoldFixed] = useState<any>({ left: '0', right: '0' })
     const [newColumns, setNewColumns] = useState<any[]>([])
+    const [timer, setTimer] = useState<string>(moment().format('HH:mm:ss'))
     const [selectData, setSelectData] = useState<{ selectData: any[], fixed: { left: number, right: number } }>({ selectData: [], fixed: { left: fixed.left, right: fixed.right } })
     const ref = useRef(null)
     const [isFull, { toggleFull }] = useFullscreen(ref);
@@ -55,7 +57,7 @@ function TableData(props: Prosp) {
     const version = '1.0.0'
     /*************************/
 
-    // // /**重组选中的字段 */
+    /**重组选中的字段 */
     useEffect(() => {
         let oldConfigName = oldName.current || ''
         if (configName) {
@@ -111,7 +113,7 @@ function TableData(props: Prosp) {
         if (configName !== oldConfigName) {
             oldName.current = configName
         }
-    }, [selectData, oldSelectData, dataSource, oldFixed, configName, config]) // selectData, oldSelectData, dataSource, oldFixed, configName, oldConfigName, config,
+    }, [selectData, oldSelectData, dataSource, oldFixed, configName, config, timer])
 
     //拖动宽度设置设置保存
     const handelResize = useCallback((columns: any) => {
@@ -123,6 +125,7 @@ function TableData(props: Prosp) {
             localStorage.setItem(`myAdMonitorConfig${version}_` + configName, JSON.stringify(newSelectData))
         }
     }, [configName, selectData])
+    
     const header = <Col span={24}>
         <Row gutter={[0, 10]} align='bottom'>
             <Col flex='1 1 150px'>
@@ -131,12 +134,13 @@ function TableData(props: Prosp) {
             <Col flex='0 1 150px'>
                 {/*紧凑*/}
                 <Space style={{ float: 'right', marginBottom: 4 }}>
-                    <Button size='small' type='text' onClick={() => { setIsFullscreen(!isFullscreen) }}>
+                    <Button size='small' type='text' style={{ color: '#F56C6C' }} onClick={() => { setIsFullscreen(!isFullscreen) }}>
                         <Tooltip title={isFullscreen ? '隐藏搜索' : '显示搜索'}><SearchOutlined /></Tooltip>
                     </Button>
                     {ajax && <Button
                         size='small'
                         type='text'
+                        style={{ color: '#67C23A' }}
                         onClick={() => {
                             ajax.refresh()
                         }}>
@@ -146,6 +150,7 @@ function TableData(props: Prosp) {
                     <Button
                         size='small'
                         type='text'
+                        style={{ color: '#E6A23C' }}
                         onClick={() => {
                             setVisible(true)
                         }}>
@@ -154,10 +159,11 @@ function TableData(props: Prosp) {
                     <Button
                         type='text'
                         size='small'
+                        style={{ color: '#409EFF' }}
                         onClick={toggleFull}>
                         {<Tooltip title={!isFull ? '全屏' : '退出全屏'}>{!isFull ? <FullscreenOutlined /> : <FullscreenExitOutlined />}</Tooltip>}
                     </Button>
-                    {visible && <CustomListModel sysFixed={fixed} version={version} config={config} configName={configName} visible={visible} onClose={() => { setVisible(false) }} onChange={(arr: any) => { if (arr) { setSelectData(arr) } else { setSelectData({ selectData: [], fixed: { left: fixed.left, right: fixed.right } }) } }} columns={newColumns} />}
+                    {visible && <CustomListModel sysFixed={fixed} version={version} config={config} configName={configName} visible={visible} onClose={() => { setVisible(false) }} onChange={(arr: any) => { setTimer(moment().format('HH:mm:ss')); if (arr) { setSelectData({ selectData: [], fixed: { left: fixed.left, right: fixed.right } }) } else { setSelectData({ selectData: [], fixed: { left: fixed.left, right: fixed.right } }) } }} columns={newColumns} />}
                 </Space>
             </Col>
         </Row>
@@ -167,7 +173,7 @@ function TableData(props: Prosp) {
         <Col span={24}>
             <Card
                 hoverable
-                title={<div style={{ textAlign: 'center' }}>{title}</div>}
+                title={<div style={{ textAlign: 'center', color: '#1890ff', fontWeight: 'bold' }}>{title}</div>}
                 headStyle={{ textAlign: 'left' }}
             >
                 <Row gutter={[0, 16]}>

+ 1 - 1
src/pages/gameDataStatistics/extensionData/everyday/index.tsx

@@ -38,7 +38,7 @@ const Everyday: React.FC = () => {
             />}
             scroll={{ x: 1000, y: 600 }}
             ajax={getEveryList}
-            fixed={{ left: 5, right: 1 }}
+            fixed={{ left: 5, right: 0 }}
             dataSource={getEveryList?.data?.records}
             total={getEveryList?.data?.total}
             page={queryForm.pageNum}

+ 155 - 34
src/pages/gameDataStatistics/extensionData/everyday/tableConfig.tsx

@@ -1,3 +1,4 @@
+import WidthEllipsis from "@/components/widthEllipsis"
 import { Statistic } from "antd"
 import React from "react"
 import style from './index.less'
@@ -21,7 +22,6 @@ function columns12(): { label: string, fieldSHow?: { label: string, saveField: s
     } else {
         newSelectFieldData = defaultValue
     }
-    console.log('newSelectFieldData--->', newSelectFieldData);
 
     return [
         {
@@ -30,7 +30,10 @@ function columns12(): { label: string, fieldSHow?: { label: string, saveField: s
                 { title: '推广账号名称', dataIndex: 'accountName', key: 'accountName', label: '推广账号信息', align: 'center', width: 95, default: 1 },
                 { title: '推广账号ID', dataIndex: 'accountId', key: 'accountId', label: '推广账号信息', align: 'center', width: 70, default: 2 },
                 { title: '推广账号类型', dataIndex: '3', key: '3', label: '推广账号信息', align: 'center', width: 70, default: 3 },
-                { title: '投放渠道', dataIndex: 'putAgent', key: 'putAgent', label: '推广账号信息', align: 'center', width: 70, default: 4 },
+                {
+                    title: '投放渠道', dataIndex: 'putAgent', key: 'putAgent', label: '推广账号信息', align: 'center', width: 130, default: 4,
+                    render: (a: string, b: any) => (<div style={{ minHeight: 60, display: 'flex', alignItems: 'center' }}>{a}</div>)
+                },
                 { title: '推广状态', dataIndex: 'promoteStatus', key: 'promoteStatus', label: '推广账号信息', align: 'center', width: 70, default: 5 },
                 { title: '充值模板', dataIndex: '6', key: '6', label: '推广账号信息', align: 'center', width: 70, default: 6 },
             ]
@@ -209,7 +212,6 @@ function columns12(): { label: string, fieldSHow?: { label: string, saveField: s
                 label: "时间区间跨度",
                 width: 110,
                 render: (a: any, b: any) => {
-
                     if (newSelectFieldData?.length > 0) {
                         let data: any = {}
                         let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
@@ -225,9 +227,8 @@ function columns12(): { label: string, fieldSHow?: { label: string, saveField: s
                                         {keyS?.includes('payBack') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.newUserRechargeRate}</span></span>}
                                     </div>
                                 }
-                                return '--'    
+                                return '--'
                         }
-
                     }
                     return '--'
                 },
@@ -235,38 +236,158 @@ function columns12(): { label: string, fieldSHow?: { label: string, saveField: s
                 title: "D3",
                 dataIndex: "D3",
                 label: "时间区间跨度",
-                align: "center",
-                width: 70
+                width: 110,
+                render: (a: any, b: any) => {
+                    if (newSelectFieldData?.length > 0) {
+                        let data: any = {}
+                        let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
+                        switch (newSelectFieldData[0].type) {
+                            case '付费趋势':
+                                if (b?.threeDayRechargeTrend) {
+                                    data = b?.threeDayRechargeTrend
+                                    return <div className={style.dbox}>
+                                        {keyS?.includes('rechargeCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>人:<span>{data?.rechargeCount}</span></span>}
+                                        {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
+                                        {keyS?.includes('addPayBack') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.addPayBack * 100)?.toFixed(2)}%</span></span>}
+                                        {keyS?.includes('payBack') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.payBack * 100)?.toFixed(2)}%</span></span>}
+                                        {keyS?.includes('payBack') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.newUserRechargeRate}</span></span>}
+                                    </div>
+                                }
+                                return '--'
+                        }
+                    }
+                    return '--'
+                },
             }, {
                 title: "D7",
                 dataIndex: "D7",
                 label: "时间区间跨度",
-                align: "center",
-                width: 70
+                width: 110,
+                render: (a: any, b: any) => {
+                    if (newSelectFieldData?.length > 0) {
+                        let data: any = {}
+                        let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
+                        switch (newSelectFieldData[0].type) {
+                            case '付费趋势':
+                                if (b?.sevenDayRechargeTrend) {
+                                    data = b?.sevenDayRechargeTrend
+                                    return <div className={style.dbox}>
+                                        {keyS?.includes('rechargeCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>人:<span>{data?.rechargeCount}</span></span>}
+                                        {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
+                                        {keyS?.includes('addPayBack') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.addPayBack * 100)?.toFixed(2)}%</span></span>}
+                                        {keyS?.includes('payBack') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.payBack * 100)?.toFixed(2)}%</span></span>}
+                                        {keyS?.includes('payBack') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.newUserRechargeRate}</span></span>}
+                                    </div>
+                                }
+                                return '--'
+                        }
+                    }
+                    return '--'
+                },
             }, {
                 title: "D15",
                 dataIndex: "D15",
                 label: "时间区间跨度",
-                align: "center",
-                width: 70
+                width: 110,
+                render: (a: any, b: any) => {
+                    if (newSelectFieldData?.length > 0) {
+                        let data: any = {}
+                        let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
+                        switch (newSelectFieldData[0].type) {
+                            case '付费趋势':
+                                if (b?.fifteenDayRechargeTrend) {
+                                    data = b?.fifteenDayRechargeTrend
+                                    return <div className={style.dbox}>
+                                        {keyS?.includes('rechargeCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>人:<span>{data?.rechargeCount}</span></span>}
+                                        {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
+                                        {keyS?.includes('addPayBack') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.addPayBack * 100)?.toFixed(2)}%</span></span>}
+                                        {keyS?.includes('payBack') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.payBack * 100)?.toFixed(2)}%</span></span>}
+                                        {keyS?.includes('payBack') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.newUserRechargeRate}</span></span>}
+                                    </div>
+                                }
+                                return '--'
+                        }
+                    }
+                    return '--'
+                },
             }, {
                 title: "M1",
                 dataIndex: "M1",
                 label: "时间区间跨度",
-                align: "center",
-                width: 70
+                width: 110,
+                render: (a: any, b: any) => {
+                    if (newSelectFieldData?.length > 0) {
+                        let data: any = {}
+                        let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
+                        switch (newSelectFieldData[0].type) {
+                            case '付费趋势':
+                                if (b?.oneMonthRechargeTrend) {
+                                    data = b?.oneMonthRechargeTrend
+                                    return <div className={style.dbox}>
+                                        {keyS?.includes('rechargeCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>人:<span>{data?.rechargeCount}</span></span>}
+                                        {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
+                                        {keyS?.includes('addPayBack') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.addPayBack * 100)?.toFixed(2)}%</span></span>}
+                                        {keyS?.includes('payBack') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.payBack * 100)?.toFixed(2)}%</span></span>}
+                                        {keyS?.includes('payBack') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.newUserRechargeRate}</span></span>}
+                                    </div>
+                                }
+                                return '--'
+                        }
+                    }
+                    return '--'
+                },
             }, {
                 title: "M2",
                 dataIndex: "M2",
                 label: "时间区间跨度",
-                align: "center",
-                width: 70
+                width: 110,
+                render: (a: any, b: any) => {
+                    if (newSelectFieldData?.length > 0) {
+                        let data: any = {}
+                        let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
+                        switch (newSelectFieldData[0].type) {
+                            case '付费趋势':
+                                if (b?.twoMonthRechargeTrend) {
+                                    data = b?.twoMonthRechargeTrend
+                                    return <div className={style.dbox}>
+                                        {keyS?.includes('rechargeCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>人:<span>{data?.rechargeCount}</span></span>}
+                                        {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
+                                        {keyS?.includes('addPayBack') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.addPayBack * 100)?.toFixed(2)}%</span></span>}
+                                        {keyS?.includes('payBack') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.payBack * 100)?.toFixed(2)}%</span></span>}
+                                        {keyS?.includes('payBack') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.newUserRechargeRate}</span></span>}
+                                    </div>
+                                }
+                                return '--'
+                        }
+                    }
+                    return '--'
+                },
             }, {
                 title: "M3",
                 dataIndex: "M3",
                 label: "时间区间跨度",
-                align: "center",
-                width: 70
+                width: 110,
+                render: (a: any, b: any) => {
+                    if (newSelectFieldData?.length > 0) {
+                        let data: any = {}
+                        let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
+                        switch (newSelectFieldData[0].type) {
+                            case '付费趋势':
+                                if (b?.threeMonthRechargeTrend) {
+                                    data = b?.threeMonthRechargeTrend
+                                    return <div className={style.dbox}>
+                                        {keyS?.includes('rechargeCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>人:<span>{data?.rechargeCount}</span></span>}
+                                        {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
+                                        {keyS?.includes('addPayBack') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.addPayBack * 100)?.toFixed(2)}%</span></span>}
+                                        {keyS?.includes('payBack') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.payBack * 100)?.toFixed(2)}%</span></span>}
+                                        {keyS?.includes('payBack') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.newUserRechargeRate}</span></span>}
+                                    </div>
+                                }
+                                return '--'
+                        }
+                    }
+                    return '--'
+                },
             }, {
                 title: "总",
                 dataIndex: "total",
@@ -853,23 +974,23 @@ function columns12(): { label: string, fieldSHow?: { label: string, saveField: s
         //         width: 70
         //     },]
         // },
-        {
-            label: '操作',
-            data: [
-                {
-                    title: '操作',
-                    dataIndex: 'cz',
-                    label: '操作',
-                    default: 21,
-                    key: 'cz',
-                    align: 'center',
-                    width: 75,
-                    render: (a: number) => {
-                        return <span>1111</span>
-                    },
-                }
-            ]
-        }
+        // {
+        //     label: '操作',
+        //     data: [
+        //         {
+        //             title: '操作',
+        //             dataIndex: 'cz',
+        //             label: '操作',
+        //             default: 21,
+        //             key: 'cz',
+        //             align: 'center',
+        //             width: 75,
+        //             render: (a: number) => {
+        //                 return <span>1111</span>
+        //             },
+        //         }
+        //     ]
+        // }
     ]
 }