|
@@ -27,7 +27,7 @@ function columns12(rechargeTrendHandle: (data: any) => void): { label: string, f
|
|
|
|
|
|
// 总付费趋势
|
|
|
let defaultStart = 21
|
|
|
- const zC = Array(29).fill('').map((_item: string, index: number) => {
|
|
|
+ const zC = Array(90).fill('').map((_item: string, index: number) => {
|
|
|
let field = `rechargeTrendDay${index + 1}`
|
|
|
let data = {
|
|
|
title: `D${index + 1}`,
|
|
@@ -69,10 +69,53 @@ function columns12(rechargeTrendHandle: (data: any) => void): { label: string, f
|
|
|
return '--'
|
|
|
},
|
|
|
}
|
|
|
+ data['default'] = defaultStart + index
|
|
|
+ return data
|
|
|
+ })
|
|
|
|
|
|
- if (index < 9) {
|
|
|
- data['default'] = defaultStart + index
|
|
|
+ const Mc = [4, 5, 6, 7, 8, 9, 10, 11, 12].map((index, count) => {
|
|
|
+ let field = `rechargeTrendMonth${index}`
|
|
|
+ let data = {
|
|
|
+ title: `M${index}`,
|
|
|
+ dataIndex: `M${index}`,
|
|
|
+ label: "时间区间跨度",
|
|
|
+ width: 110,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ let date1 = moment()
|
|
|
+ if (b?.dt === '总计') {
|
|
|
+ if (b?.beginDay) {
|
|
|
+ date1 = moment(b.beginDay)
|
|
|
+ } else {
|
|
|
+ date1 = moment()
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ date1 = moment(b.dt)
|
|
|
+ }
|
|
|
+ let dt = moment()
|
|
|
+ let day = dt.diff(date1, 'day');
|
|
|
+ let fieldData = getFieldDta()
|
|
|
+ if (fieldData?.length > 0 && index * 30 <= day) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = fieldData?.map((item: any) => item.key)
|
|
|
+ switch (fieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.[field]) {
|
|
|
+ data = b?.[field]
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</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?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('payBack') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('newUserRechargeRate') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples?.toFixed(2)}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
}
|
|
|
+
|
|
|
return data
|
|
|
})
|
|
|
|
|
@@ -290,204 +333,10 @@ function columns12(rechargeTrendHandle: (data: any) => void): { label: string, f
|
|
|
label: '时间区间跨度',
|
|
|
data: [
|
|
|
...zC,
|
|
|
+ ...Mc,
|
|
|
{
|
|
|
- title: "D30",
|
|
|
- dataIndex: "D30",
|
|
|
- label: "时间区间跨度",
|
|
|
- width: 110,
|
|
|
- render: (a: any, b: any) => {
|
|
|
- let date1 = moment()
|
|
|
- if (b?.dt === '总计') {
|
|
|
- if (b?.beginDay) {
|
|
|
- date1 = moment(b.beginDay)
|
|
|
- } else {
|
|
|
- date1 = moment()
|
|
|
- }
|
|
|
- } else {
|
|
|
- date1 = moment(b.dt)
|
|
|
- }
|
|
|
- let dt = moment()
|
|
|
- let day = dt.diff(date1, 'day');
|
|
|
- let fieldData = getFieldDta()
|
|
|
- if (fieldData?.length > 0 && 30 <= day) {
|
|
|
- let data: any = {}
|
|
|
- let keyS: string[] = fieldData?.map((item: any) => item.key)
|
|
|
- switch (fieldData[0].type) {
|
|
|
- case '付费趋势':
|
|
|
- if (b?.rechargeTrendMonth1) {
|
|
|
- data = b?.rechargeTrendMonth1
|
|
|
- return <div className={style.dbox}>
|
|
|
- {keyS?.includes('rechargeCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</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?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
- {keyS?.includes('payBack') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
- {keyS?.includes('newUserRechargeRate') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples?.toFixed(2)}</span></span>}
|
|
|
- </div>
|
|
|
- }
|
|
|
- return '--'
|
|
|
- }
|
|
|
- }
|
|
|
- return '--'
|
|
|
- },
|
|
|
- }, {
|
|
|
- title: "M2",
|
|
|
- dataIndex: "M2",
|
|
|
- label: "时间区间跨度",
|
|
|
- width: 110,
|
|
|
- render: (a: any, b: any) => {
|
|
|
- let date1 = moment()
|
|
|
- if (b?.dt === '总计') {
|
|
|
- if (b?.beginDay) {
|
|
|
- date1 = moment(b.beginDay)
|
|
|
- } else {
|
|
|
- date1 = moment()
|
|
|
- }
|
|
|
- } else {
|
|
|
- date1 = moment(b.dt)
|
|
|
- }
|
|
|
- let dt = moment()
|
|
|
- let day = dt.diff(date1, 'day');
|
|
|
- let fieldData = getFieldDta()
|
|
|
- if (fieldData?.length > 0 && 60 <= day) {
|
|
|
- let data: any = {}
|
|
|
- let keyS: string[] = fieldData?.map((item: any) => item.key)
|
|
|
- switch (fieldData[0].type) {
|
|
|
- case '付费趋势':
|
|
|
- if (b?.rechargeTrendMonth2) {
|
|
|
- data = b?.rechargeTrendMonth2
|
|
|
- return <div className={style.dbox}>
|
|
|
- {keyS?.includes('rechargeCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</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?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
- {keyS?.includes('payBack') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
- {keyS?.includes('newUserRechargeRate') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples?.toFixed(2)}</span></span>}
|
|
|
- </div>
|
|
|
- }
|
|
|
- return '--'
|
|
|
- }
|
|
|
- }
|
|
|
- return '--'
|
|
|
- },
|
|
|
- }, {
|
|
|
- title: "M3",
|
|
|
- dataIndex: "M3",
|
|
|
- label: "时间区间跨度",
|
|
|
- width: 110,
|
|
|
- render: (a: any, b: any) => {
|
|
|
- let date1 = moment()
|
|
|
- if (b?.dt === '总计') {
|
|
|
- if (b?.beginDay) {
|
|
|
- date1 = moment(b.beginDay)
|
|
|
- } else {
|
|
|
- date1 = moment()
|
|
|
- }
|
|
|
- } else {
|
|
|
- date1 = moment(b.dt)
|
|
|
- }
|
|
|
- let dt = moment()
|
|
|
- let day = dt.diff(date1, 'day');
|
|
|
- let fieldData = getFieldDta()
|
|
|
- if (fieldData?.length > 0 && 90 <= day) {
|
|
|
- let data: any = {}
|
|
|
- let keyS: string[] = fieldData?.map((item: any) => item.key)
|
|
|
- switch (fieldData[0].type) {
|
|
|
- case '付费趋势':
|
|
|
- if (b?.rechargeTrendMonth3) {
|
|
|
- data = b?.rechargeTrendMonth3
|
|
|
- return <div className={style.dbox}>
|
|
|
- {keyS?.includes('rechargeCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</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?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
- {keyS?.includes('payBack') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
- {keyS?.includes('newUserRechargeRate') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples?.toFixed(2)}</span></span>}
|
|
|
- </div>
|
|
|
- }
|
|
|
- return '--'
|
|
|
- }
|
|
|
- }
|
|
|
- return '--'
|
|
|
- },
|
|
|
- }, {
|
|
|
- title: "M6",
|
|
|
- dataIndex: "M6",
|
|
|
- label: "时间区间跨度",
|
|
|
- width: 110,
|
|
|
- render: (a: any, b: any) => {
|
|
|
- let date1 = moment()
|
|
|
- if (b?.dt === '总计') {
|
|
|
- if (b?.beginDay) {
|
|
|
- date1 = moment(b.beginDay)
|
|
|
- } else {
|
|
|
- date1 = moment()
|
|
|
- }
|
|
|
- } else {
|
|
|
- date1 = moment(b.dt)
|
|
|
- }
|
|
|
- let dt = moment()
|
|
|
- let day = dt.diff(date1, 'day');
|
|
|
- let fieldData = getFieldDta()
|
|
|
- if (fieldData?.length > 0 && 180 <= day) {
|
|
|
- let data: any = {}
|
|
|
- let keyS: string[] = fieldData?.map((item: any) => item.key)
|
|
|
- switch (fieldData[0].type) {
|
|
|
- case '付费趋势':
|
|
|
- if (b?.rechargeTrendMonth6) {
|
|
|
- data = b?.rechargeTrendMonth6
|
|
|
- return <div className={style.dbox}>
|
|
|
- {keyS?.includes('rechargeCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</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?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
- {keyS?.includes('payBack') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
- {keyS?.includes('newUserRechargeRate') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples?.toFixed(2)}</span></span>}
|
|
|
- </div>
|
|
|
- }
|
|
|
- return '--'
|
|
|
- }
|
|
|
- }
|
|
|
- return '--'
|
|
|
- },
|
|
|
- }, {
|
|
|
- title: "1年",
|
|
|
- dataIndex: "Y1",
|
|
|
- label: "时间区间跨度",
|
|
|
- width: 110,
|
|
|
- render: (a: any, b: any) => {
|
|
|
- let date1 = moment()
|
|
|
- if (b?.dt === '总计') {
|
|
|
- if (b?.beginDay) {
|
|
|
- date1 = moment(b.beginDay)
|
|
|
- } else {
|
|
|
- date1 = moment()
|
|
|
- }
|
|
|
- } else {
|
|
|
- date1 = moment(b.dt)
|
|
|
- }
|
|
|
- let dt = moment()
|
|
|
- let day = dt.diff(date1, 'day');
|
|
|
- let fieldData = getFieldDta()
|
|
|
- if (fieldData?.length > 0 && 365 <= day) {
|
|
|
- let data: any = {}
|
|
|
- let keyS: string[] = fieldData?.map((item: any) => item.key)
|
|
|
- switch (fieldData[0].type) {
|
|
|
- case '付费趋势':
|
|
|
- if (b?.rechargeTrendYear1) {
|
|
|
- data = b?.rechargeTrendYear1
|
|
|
- return <div className={style.dbox}>
|
|
|
- {keyS?.includes('rechargeCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</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?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
- {keyS?.includes('payBack') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
- {keyS?.includes('newUserRechargeRate') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples?.toFixed(2)}</span></span>}
|
|
|
- </div>
|
|
|
- }
|
|
|
- return '--'
|
|
|
- }
|
|
|
- }
|
|
|
- return '--'
|
|
|
- },
|
|
|
- }, {
|
|
|
title: "总",
|
|
|
- default: 30,
|
|
|
+ default: 111,
|
|
|
dataIndex: "total",
|
|
|
label: "时间区间跨度",
|
|
|
align: "center",
|
|
@@ -520,7 +369,7 @@ function columns12(rechargeTrendHandle: (data: any) => void): { label: string, f
|
|
|
label: '操作',
|
|
|
data: [
|
|
|
{
|
|
|
- default: 31,
|
|
|
+ default: 112,
|
|
|
title: '操作', dataIndex: 'cz', label: '操作', align: 'center', width: 70, render: (a: string, b: any) => {
|
|
|
if (b?.dt === '总计') {
|
|
|
return <span>--</span>
|