import ProgressTable from "@/components/ProgressTable"
import WidthEllipsis from "@/components/widthEllipsis"
import { Badge, Popconfirm, Space, Statistic } from "antd"
import React from "react"
import SendEmailDetails from "./sendEmailDetails"
import './index.less'
import SendPackDetails from "./sendPackDetails"
// import IsTrue from "./isTrue"
// import InputUpdate from "./inputUpdate"
function columns12(
sendEmail: (data: any[]) => void,
sendPack: (data: any[]) => void,
handleIsTrue: (value: string, data: any, type: string) => void,
handleSave: (data: any) => void,
roleHandle: (data: any[]) => void,
assignHandle: (data: any[]) => void,
changeLog: (data: any[]) => void
) {
let newArr: { label: string, data: any[] }[] = [
{
label: '角色信息',
data: [
{ title: '游戏', dataIndex: 'role_reg_parent_game_name', label: '角色信息', align: 'center', width: 70, render: (a: string, b: any) => () },
{ title: '游戏区服', dataIndex: 'server_name', label: '玩家信息', align: 'center', width: 90, default: 4, render: (a: string, b: any) => () },
{ title: '区服ID', dataIndex: 'server_id', label: '角色信息', align: 'center', width: 70, render: (a: string, b: any) => () },
{ title: '角色名称', dataIndex: 'role_name', label: '角色信息', align: 'center', width: 90, default: 2, render: (a: string, b: any) => () },
{ title: '角色创建时间', dataIndex: 'role_create_time', label: '角色信息', align: 'center', width: 140, render: (a: string, b: any) => () },
{ title: '角色VIP等级', dataIndex: 'vip_level', label: '角色信息', align: 'center', width: 60, default: 3, render: (a: string, b: any) => () },
{ title: '角色等级', dataIndex: 'role_level', label: '角色信息', align: 'center', width: 65, render: (a: string, b: any) => () },
{ title: '角色攻击力', dataIndex: 'combat_num', label: '角色信息', align: 'center', width: 70, render: (a: string, b: any) => () },
],
},
{
label: '玩家信息',
data: [
{ title: '玩家ID', dataIndex: 'user_id', label: '玩家信息', align: 'center', width: 70 },
{ title: '玩家账号', dataIndex: 'username', label: '玩家信息', align: 'center', width: 120, default: 1, render: (a: string, b: any) => () },
{ title: '注册渠道', dataIndex: 'agent_name', label: '玩家信息', align: 'center', width: 80, default: 5, render: (a: string, b: any) => () },
{ title: '注册渠道ID', dataIndex: 'agent_id', label: '玩家信息', align: 'center', width: 80 },
{ title: '注册时间', dataIndex: 'user_create_time', label: '玩家信息', align: 'center', width: 140, default: 6, render: (a: string, b: any) => () },
{ title: '注册游戏', dataIndex: 'user_reg_game_name', label: '玩家信息', align: 'center', width: 70, default: 7, render: (a: string, b: any) => () },
{ title: '玩家操作系统', dataIndex: 'os', label: '玩家信息', align: 'center', width: 70, default: 8 },
// { title: '玩家等级标签', dataIndex: '13', label: '玩家信息', align: 'center', width: 70, default: 14 },
{ title: '最近充值游戏', dataIndex: 'user_last_recharge_game_name', label: '玩家信息', align: 'center', width: 70, default: 15, render: (a: string, b: any) => () },
{ title: '最近充值时间', dataIndex: 'user_pay_time', label: '玩家信息', align: 'center', width: 140, default: 16, render: (a: string, b: any) => () },
{ title: '最近活跃时间', dataIndex: 'user_active_time', label: '玩家信息', align: 'center', width: 140, default: 17, render: (a: string, b: any) => () },
{
title: '注册充值时间差',
dataIndex: 'regPayTimeDiff',
align: 'center',
width: 140,
default: 18,
render: (a: string, b: any) => {
let diff = new Date(b.user_pay_time).getTime() - new Date(b.user_create_time).getTime()
function secondsToDhms(seconds: any) {
const days = Math.floor(seconds / (3600 * 24));
const hours = Math.floor((seconds % (3600 * 24)) / 3600);
const minutes = Math.floor((seconds % 3600) / 60);
const remainingSeconds = seconds % 60;
return `${days ? days + "天" : ''}${hours ? hours + "小时" : ''}${minutes ? minutes + "分" : ''}${remainingSeconds ? remainingSeconds + "秒" : ''}`
}
return diff ? : '--'
}
},
{
title: '最近充值时间距今',
dataIndex: 'nowPayTimeDiff',
align: 'center',
width: 130,
default: 19,
render: (a: string, b: any) => {
let diff = new Date().getTime() - new Date(b.user_pay_time).getTime()
function secondsToDhms(seconds: any) {
const days = Math.floor(seconds / (3600 * 24));
const hours = Math.floor((seconds % (3600 * 24)) / 3600);
const minutes = Math.floor((seconds % 3600) / 60);
const remainingSeconds = seconds % 60;
return `${days ? days + "天" : ''}${hours ? hours + "小时" : ''}${minutes ? minutes + "分" : ''}${remainingSeconds ? remainingSeconds.toFixed(0) + "秒" : ''}`
}
return diff ? 1 ? { color: 'red' } : {}}> : '--'
}
},
]
},
{
label: '角色充值信息',
data: [
{
title: '当天充值金额', dataIndex: 'today_amount', label: '角色充值信息', align: 'center', width: 70, default: 9, sorter: true,
className: 'progress',
render: (a: number) => {
return = 1000 ? { color: '#000', fontWeight: 500 } : { fontWeight: 500 }}
/>
},
},
{ title: '首充金额', dataIndex: 'role_first_amount', label: '角色充值信息', align: 'center', width: 70, default: 10, sorter: true, render: (a: string) => },
{ title: '最近充值金额', dataIndex: 'role_last_amount', label: '角色充值信息', align: 'center', width: 70, default: 11, sorter: true, render: (a: string) => },
{
title: '累计充值金额', dataIndex: 'amount', label: '角色充值信息', align: 'center', width: 100, default: 12, sorter: true, className: 'progress',
render: (a: number) => {
return = 5000 ? { color: '#000', fontWeight: 500 } : { fontWeight: 500 }}
/>
},
},
{ title: '平均单价', dataIndex: 'avg_amount', label: '角色充值信息', align: 'center', width: 70, default: 13, sorter: true, render: (a: string) => },
{ title: '累计充值次数', dataIndex: 'amount_count', label: '角色充值信息', align: 'center', width: 70, default: 14, sorter: true, render: (a: string) => },
],
},
{
label: '客户运营操作',
data: [
{
title: '邮件是否发送', dataIndex: 'is_send_mail', label: '客户运营操作', width: 130, align: 'center',
render: (a: any, b: any) => {
return
{a ? : }
sendEmail([b])}>发送
},
},
{
title: '最新发送礼包', dataIndex: 'send_gift_id', label: '客户运营操作', align: 'center', width: 138,
render: (a: any, b: any) => {
return
sendPack([b])}>发送
},
},
{
title: '是否转端', dataIndex: 'is_change_game_type', label: '客户运营操作', align: 'center', width: 60,
render: (a: any, b: any) => {
// return handleIsTrue(value, b, 'isChangeGameType')} />
return a ? '是' : '否'
},
},
{
title: '是否添加企微', dataIndex: 'is_add_corp_wechat', label: '客户运营操作', align: 'center', width: 60,
render: (a: any, b: any) => {
// return handleIsTrue(value, b, 'isAddCorpWechat')} />
return a ? '是' : '否'
},
},
{
title: '企微号', dataIndex: 'add_corp_user_id', label: '客户运营操作', align: 'center', width: 80, className: 'padding0',
render: (a: any, b: any) => {
// return
return
},
},
{
title: '客户微信号', dataIndex: 'user_wechat', label: '客户运营操作', align: 'center', width: 80,
render: (a: any, b: any) => {
// return
return
},
},
{
title: '客户手机号', dataIndex: 'user_phone', label: '客户运营操作', align: 'center', width: 80,
render: (a: any, b: any) => {
// return
return
},
},
{
title: '是否退游', dataIndex: 'is_remove_game', label: '客户运营操作', align: 'center', width: 50,
render: (a: any, b: any) => {
// return handleIsTrue(value, b, 'isRemoveGame')} />
return a ? '是' : '否'
},
},
{
title: '是否唤醒', dataIndex: 'is_wake_up', label: '客户运营操作', align: 'center', width: 50,
render: (a: any, b: any) => {
// return handleIsTrue(value, b, 'isWakeUp')} />
return a ? '是' : '否'
},
},
{
title: '备注', dataIndex: 'remark', label: '客户运营操作', align: 'center', width: 80,
render: (a: any, b: any) => {
// return
return
},
},
// {
// title: '角色操作',
// dataIndex: 'rolecz',
// label: '客户运营操作',
// align: 'center',
// width: 80,
// render: (a: any, b: any) => {
// return { roleHandle([b]) }}>角色操作
// }
// }
]
},
{
label: '客户管理操作',
data: [
{ title: 'GS', dataIndex: 'gs_name', label: '客户管理操作', align: 'center', width: 80, render: (a: string, b: any) => () },
{ title: '客服', dataIndex: 'customer_service_name', label: '客户管理操作', align: 'center', width: 80, render: (a: string, b: any) => () },
{ title: '运营', dataIndex: 'oper_user_name', label: '客户管理操作', align: 'center', width: 80, render: (a: string, b: any) => () },
{ title: '投手', dataIndex: 'put_user_name', label: '客户管理操作', align: 'center', width: 80, render: (a: string, b: any) => () },
{ title: '创建者', dataIndex: 'create_by', label: '客户管理操作', align: 'center', width: 80, render: (a: string, b: any) => () },
{ title: '更新者', dataIndex: 'update_by', label: '客户管理操作', align: 'center', width: 80, render: (a: string, b: any) => () },
{ title: '创建时间', dataIndex: 'create_time', label: '客户管理操作', align: 'center', width: 140, render: (a: string, b: any) => () },
{ title: '更新时间', dataIndex: 'update_time', label: '客户管理操作', align: 'center', width: 140, render: (a: string, b: any) => () },
{ title: '是否删除', dataIndex: 'is_delete', label: '客户管理操作', align: 'center', width: 70, render: (a: string, b: any) => () },
// {
// title: '指派',
// dataIndex: 'zp',
// label: '客户管理操作',
// align: 'center',
// width: 110,
// render: (a: any, b: any) => {
// return
// { assignHandle([b]) }}>指派
// { changeLog([b]) }}>变更记录
//
// }
// }
]
},
{
label: '操作',
data: [
{
title: '操作',
dataIndex: 'cz',
label: '操作',
align: 'center',
width: 180,
default: 20,
render: (a: any, b: any) => {
return
{ roleHandle([b]) }}>角色操作
{ assignHandle([b]) }}>指派
{ changeLog([b]) }}>变更记录
}
}
]
}
]
return newArr
}
export const columnsSendEmailLog = (update: (data: any) => void, del: (id: number[]) => void): any[] => {
return [
{
title: '发送时间',
dataIndex: 'sendTime',
key: 'sendTime',
width: 145,
ellipsis: true,
fixed: 'left'
},
{
title: '操作人',
dataIndex: 'createName',
key: 'createName',
width: 60,
ellipsis: true
},
{
title: '更新人',
dataIndex: 'updateName',
key: 'updateName',
width: 60,
ellipsis: true
},
{
title: '创建时间',
dataIndex: 'createTime',
key: 'createTime',
width: 145,
ellipsis: true
},
{
title: '更新时间',
dataIndex: 'updateTime',
key: 'updateTime',
width: 145,
ellipsis: true
},
{
title: '操作',
dataIndex: 'cz',
key: 'cz',
width: 70,
fixed: 'right',
render: (a: any, b: any) => {
return
update([b])}>更新
del([b.id])}
>
删除
}
},
]
};
export const columnsSendPackLog = (update: (data: any) => void, del: (id: number[]) => void): any[] => {
return [
{
title: '礼包',
dataIndex: 'giftName',
key: 'giftName',
width: 100,
ellipsis: true,
fixed: 'left'
},
{
title: '发送时间',
dataIndex: 'sendTime',
key: 'sendTime',
width: 145,
ellipsis: true
},
{
title: '操作人',
dataIndex: 'createName',
key: 'createName',
width: 60,
ellipsis: true
},
{
title: '更新人',
dataIndex: 'updateName',
key: 'updateName',
width: 60,
ellipsis: true
},
{
title: '创建时间',
dataIndex: 'createTime',
key: 'createTime',
width: 145,
ellipsis: true
},
{
title: '更新时间',
dataIndex: 'updateTime',
key: 'updateTime',
width: 145,
ellipsis: true
},
{
title: '操作',
dataIndex: 'cz',
key: 'cz',
width: 70,
fixed: 'right',
render: (a: any, b: any) => {
return
update([b])}>更新
del([b.id])}
>
删除
}
},
]
};
/**
* 变更记录
* @param update
* @param del
* @returns
*/
export const columnsChangeLog = (update: (data: any) => void, del: (id: number[]) => void): any[] => {
return [
{
title: '开始时间',
dataIndex: 'startTime',
key: 'startTime',
width: 145,
ellipsis: true
},
{
title: '结束时间',
dataIndex: 'endTime',
key: 'endTime',
width: 145,
ellipsis: true
},
{
title: '游戏名称',
dataIndex: 'gameName',
key: 'gameName',
width: 100,
ellipsis: true,
fixed: 'left'
},
{
title: '角色名称',
dataIndex: 'roleName',
key: 'roleName',
width: 100,
ellipsis: true,
fixed: 'left'
},
{
title: '区服名称',
dataIndex: 'serverName',
key: 'serverName',
width: 100,
ellipsis: true,
fixed: 'left'
},
{
title: '客服',
dataIndex: 'customerServiceName',
key: 'customerServiceName',
width: 100,
ellipsis: true
},
{
title: '运营',
dataIndex: 'operUserName',
key: 'operUserName',
width: 100,
ellipsis: true
},
{
title: '运营',
dataIndex: 'gsName',
key: 'gsName',
width: 100,
ellipsis: true
},
{
title: '创建人',
dataIndex: 'createName',
key: 'createName',
width: 60,
ellipsis: true
},
{
title: '创建时间',
dataIndex: 'createTime',
key: 'createTime',
width: 145,
ellipsis: true
},
{
title: '更新人',
dataIndex: 'updateName',
key: 'updateName',
width: 60,
ellipsis: true
},
{
title: '更新时间',
dataIndex: 'updateTime',
key: 'updateTime',
width: 145,
ellipsis: true
},
{
title: '备注',
dataIndex: 'remark',
key: 'remark',
width: 200,
ellipsis: true
},
{
title: '操作',
dataIndex: 'cz',
key: 'cz',
width: 70,
fixed: 'right',
render: (a: any, b: any) => {
return
update(b)}>修改
del([b.id])}
>
删除
}
},
]
};
export default columns12