sprint 4 months ago
parent
commit
f85a40f29a
  1. 3
      backmanage/src/api/module/game_table_total.ts
  2. 11
      backmanage/src/api/module/statistics_day_data.ts
  3. 1
      backmanage/src/views/gameTableTotal/components/index.vue
  4. 1
      backmanage/src/views/gameTableTotal/index.vue
  5. 510
      backmanage/src/views/gameTableTotalPlayer/components/index.vue
  6. 13
      backmanage/src/views/gameTableTotalPlayer/enum.ts
  7. 185
      backmanage/src/views/gameTableTotalPlayer/index.vue
  8. 137
      backmanage/src/views/statistics/recharge/index.vue
  9. 2
      backmanage/src/views/userAgentDetail/index.vue

3
backmanage/src/api/module/game_table_total.ts

@ -24,6 +24,9 @@ export interface IGameTableTotal {
checkFrequency: number; // 检查频率
createdAt:string; // 创建时间
updatedAt: string; // 更新时间
tableType: number; // 桌子类型:1系统,2玩家
firstRobotCheckMinFrequency: number; // 第一次机器人最小检查频率
firstRobotCheckMaxFrequency: number; // 第一次机器人最大检查频率
}
// 分页游戏桌子配置

11
backmanage/src/api/module/statistics_day_data.ts

@ -16,6 +16,17 @@ export interface IStatisticsDayData {
rechargeDoAddNum: number; //手动新增充值人数
rechargeDoAddMoney: number; //手动新增充值金额
rechargeRate: number; //成功率
rechargeSuccessPeople: number; //成功充值人数
rechargeNumNew: number; //订单拉起数-新
rechargeSuccessNumNew: number; //充值成功数-新
rechargeSuccessMoneyNew: number; //充值成功金额-新
rechargeSuccessPeopleNew: number; //成功充值人数-新
successRateNew: number; //成功率-新
rechargeNumOld: number; //订单拉起数-旧
rechargeSuccessNumOld: number; //充值成功数-旧
rechargeSuccessMoneyOld: number; //充值成功金额-旧
rechargeSuccessPeopleOld: number; //成功充值人数-旧
successRateOld: number; //成功率-旧
}
export interface IStatisticsDayDataList {

1
backmanage/src/views/gameTableTotal/components/index.vue

@ -506,6 +506,7 @@ const handleSubmit = debounce(async (form: IGameTableTotal) => {
const param = {
...toRaw(form),
};
param.tableType = 1
const request = unref(title) == ADD_TITLE ? addGameTableTotal : updateGameTableTotal;
const { code, msg } = await request(param);

1
backmanage/src/views/gameTableTotal/index.vue

@ -105,6 +105,7 @@ const table_config: TableType<IGameTableTotal> = {
...param,
page: pagenation.currentPage,
limit: pagenation.pageSize,
tableType: 1,
};
return params;
},

510
backmanage/src/views/gameTableTotalPlayer/components/index.vue

@ -0,0 +1,510 @@
<template>
<MDialog
ref="drawer_ref"
width="700px"
:to_body="false"
:title="title"
:dialog_before_close="onBeforeClose"
>
<MForm :params="form" :form_base_config="form_base_config" ref="form_ref" label-width="200px">
<el-form-item prop="gameId" label="游戏">
<MSelection v-model="form.gameId" :optionEnumFn="getGameOptions" :select-change="selectDataGameName" :disabled="form.id > 0"/>
</el-form-item>
<el-form-item prop="roomId" label="房间场次">
<MSelection v-model="form.roomId" :option-enum-fn="optionsGameSession2" :disabled="form.id > 0" />
</el-form-item>
<el-form-item label="1个玩家机器人" required>
<el-col :span="11">
<el-form-item prop="oneMinNum">
<el-input type="number" v-model.number="form.oneMinNum" placeholder="最小值" />
</el-form-item>
</el-col>
<el-col class="text-center" :span="2">
<span class="text-gray-500">-</span>
</el-col>
<el-col :span="11">
<el-form-item prop="oneMaxNum">
<el-input type="number" v-model.number="form.oneMaxNum" placeholder="最大值" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="2个玩家机器人" required>
<el-col :span="11">
<el-form-item prop="twoMinNum">
<el-input type="number" v-model.number="form.twoMinNum" placeholder="最小值" />
</el-form-item>
</el-col>
<el-col class="text-center" :span="2">
<span class="text-gray-500">-</span>
</el-col>
<el-col :span="11">
<el-form-item prop="twoMaxNum">
<el-input type="number" v-model.number="form.twoMaxNum" placeholder="最大值" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="3个玩家机器人" required>
<el-col :span="11">
<el-form-item prop="threeMinNum">
<el-input type="number" v-model.number="form.threeMinNum" placeholder="最小值" />
</el-form-item>
</el-col>
<el-col class="text-center" :span="2">
<span class="text-gray-500">-</span>
</el-col>
<el-col :span="11">
<el-form-item prop="threeMaxNum">
<el-input type="number" v-model.number="form.threeMaxNum" placeholder="最大值" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="4个玩家机器人" required>
<el-col :span="11">
<el-form-item prop="fourMinNum">
<el-input type="number" v-model.number="form.fourMinNum" placeholder="最小值" />
</el-form-item>
</el-col>
<el-col class="text-center" :span="2">
<span class="text-gray-500">-</span>
</el-col>
<el-col :span="11">
<el-form-item prop="fourMaxNum">
<el-input type="number" v-model.number="form.fourMaxNum" placeholder="最大值" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="5个玩家机器人" required>
<el-col :span="11">
<el-form-item prop="fiveMinNum">
<el-input type="number" v-model.number="form.fiveMinNum" placeholder="最小值" />
</el-form-item>
</el-col>
<el-col class="text-center" :span="2">
<span class="text-gray-500">-</span>
</el-col>
<el-col :span="11">
<el-form-item prop="fiveMaxNum">
<el-input type="number" v-model.number="form.fiveMaxNum" placeholder="最大值" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="机器人局数" required>
<el-col :span="11">
<el-form-item prop="robotGameMinNum">
<el-input type="number" v-model.number="form.robotGameMinNum" placeholder="最小值" />
</el-form-item>
</el-col>
<el-col class="text-center" :span="2">
<span class="text-gray-500">-</span>
</el-col>
<el-col :span="11">
<el-form-item prop="robotGameMaxNum">
<el-input type="number" v-model.number="form.robotGameMaxNum" placeholder="最大值" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="第一次机器人进入频率(秒)" required>
<el-col :span="11">
<el-form-item prop="firstRobotCheckMinFrequency">
<el-input type="number" v-model.number="form.firstRobotCheckMinFrequency" placeholder="最小值" />
</el-form-item>
</el-col>
<el-col class="text-center" :span="2">
<span class="text-gray-500">-</span>
</el-col>
<el-col :span="11">
<el-form-item prop="firstRobotCheckMaxFrequency">
<el-input type="number" v-model.number="form.firstRobotCheckMaxFrequency" placeholder="最大值" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="机器人进入频率(秒)" required>
<el-col :span="11">
<el-form-item prop="robotCheckMinFrequency">
<el-input type="number" v-model.number="form.robotCheckMinFrequency" placeholder="最小值" />
</el-form-item>
</el-col>
<el-col class="text-center" :span="2">
<span class="text-gray-500">-</span>
</el-col>
<el-col :span="11">
<el-form-item prop="robotCheckMaxFrequency">
<el-input type="number" v-model.number="form.robotCheckMaxFrequency" placeholder="最大值" />
</el-form-item>
</el-col>
</el-form-item>
<el-form-item prop="checkFrequency" label="检查频率(秒)">
<el-input type="number" v-model.number="form.checkFrequency" />
</el-form-item>
</MForm>
<template #footer>
<ElButton type="primary" @click="handleSubmit(form)">确认</ElButton>
<ElButton type="danger" @click="handleClose">取消</ElButton>
</template>
</MDialog>
</template>
<script setup lang="ts">
import { ElMessage } from "element-plus";
import { MDialog } from "@/components/global/m_dialog";
import { MForm } from "@/components/global/m_form";
import type { FormConfigPropType } from "@/components/global/m_form";
import { ref, toRaw, unref } from "vue";
import { debounce, isArray } from "lodash";
import X2JS from "x2js";
// import { GAMEBLOOD } from "@/api";
import { IGameTableTotal, addGameTableTotal, updateGameTableTotal } from "@/api/module/game_table_total";
import { optionsGameSession2 } from '@/api/module/common_params'
import { GAME } from "@/api";
import ChangeStockModal from "./change-stock.vue";
import { cheatRateOptions } from "../enum";
const $props = defineProps<{ fetchData: Function }>();
const ADD_TITLE = "新增游戏桌子配置";
const EDIT_TITLE = "编辑";
const title = ref(ADD_TITLE);
const form_base_config: FormConfigPropType["form_base_config"] = {
inline: false,
labelWidth: "auto",
rules: {
gameId: [{ required: true, trigger: "blur", message: "请选择游戏" }],
roomId: [{ required: true, trigger: "blur", message: "请选择房间场次" }],
oneMinNum: [
{
required: true,
trigger: "blur",
message: "请输入机器人数",
},
{
type: "number",
min: 0,
max: 5,
trigger: ["change", "blur"],
message: "请输入0到5的数字",
},
],
oneMaxNum: [
{
required: true,
trigger: "blur",
message: "请输入机器人数",
},
{
type: "number",
min: 0,
max: 5,
trigger: ["change", "blur"],
message: "请输入0到5的数字",
},
],
twoMinNum: [
{
required: true,
trigger: "blur",
message: "请输入机器人数",
},
{
type: "number",
min: 0,
max: 4,
trigger: ["change", "blur"],
message: "请输入0到4的数字",
},
],
twoMaxNum: [
{
required: true,
trigger: "blur",
message: "请输入机器人数",
},
{
type: "number",
min: 0,
max: 4,
trigger: ["change", "blur"],
message: "请输入0到4的数字",
},
],
threeMinNum: [
{
required: true,
trigger: "blur",
message: "请输入机器人数",
},
{
type: "number",
min: 0,
max: 3,
trigger: ["change", "blur"],
message: "请输入0到3的数字",
},
],
threeMaxNum: [
{
required: true,
trigger: "blur",
message: "请输入机器人数",
},
{
type: "number",
min: 0,
max: 3,
trigger: ["change", "blur"],
message: "请输入0到3的数字",
},
],
fourMinNum: [
{
required: true,
trigger: "blur",
message: "请输入机器人数",
},
{
type: "number",
min: 0,
max: 2,
trigger: ["change", "blur"],
message: "请输入0到2的数字",
},
],
fourMaxNum: [
{
required: true,
trigger: "blur",
message: "请输入机器人数",
},
{
type: "number",
min: 0,
max: 2,
trigger: ["change", "blur"],
message: "请输入0到2的数字",
},
],
fiveMinNum: [
{
required: true,
trigger: "blur",
message: "请输入机器人数",
},
{
type: "number",
min: 0,
max: 1,
trigger: ["change", "blur"],
message: "请输入0到1的数字",
},
],
fiveMaxNum: [
{
required: true,
trigger: "blur",
message: "请输入机器人数",
},
{
type: "number",
min: 0,
max: 1,
trigger: ["change", "blur"],
message: "请输入0到1的数字",
},
],
robotGameMinNum: [
{
required: true,
trigger: "blur",
message: "请输入机器人最小游戏局数",
},
{
type: "number",
min: 1,
max: 10,
trigger: ["change", "blur"],
message: "请输入1到10的数字",
},
],
robotGameMaxNum: [
{
required: true,
trigger: "blur",
message: "请输入机器人最大游戏局数",
},
{
type: "number",
min: 1,
max: 10,
trigger: ["change", "blur"],
message: "请输入1到10的数字",
},
],
robotCheckMinFrequency: [
{
required: true,
trigger: "blur",
message: "请输入机器人最小进入频率",
},
{
type: "number",
min: 1,
trigger: ["change", "blur"],
message: "请输入大于0数字",
},
],
robotCheckMaxFrequency: [
{
required: true,
trigger: "blur",
message: "请输入机器人最大进入频率",
},
{
type: "number",
min: 1,
trigger: ["change", "blur"],
message: "请输入大于0数字",
},
],
firstRobotCheckMinFrequency: [
{
required: true,
trigger: "blur",
message: "请输入第一次机器人最小进入频率",
},
{
type: "number",
min: 1,
trigger: ["change", "blur"],
message: "请输入大于0数字",
},
],
firstRobotCheckMaxFrequency: [
{
required: true,
trigger: "blur",
message: "请输入第一次机器人最大进入频率",
},
{
type: "number",
min: 1,
trigger: ["change", "blur"],
message: "请输入大于0数字",
},
],
checkFrequency: [
{
required: true,
trigger: "blur",
message: "请输入检查频率",
},
],
},
};
//
const bigList = ref<{ value: any; label: string; disabled: boolean }[]>([]);
const smallList = ref<{ value: any; label: string; disabled: boolean }[]>([]);
var gameList: any = {};
const getGameOptions= async () => {
const params: Record<string, any> = {
gameId: 0
};
const { code, data } = await GAME.getList(params);
if (code) {
return [];
}
const list = data!.list.map((item) => ({
value: item.id,
label: item.name,
}));
data!.list.forEach((o:any) => {
gameList[o.id] = o.name
});
return list
};
//
const selectDataGameName = async (val: any) => {
form.value.gameName = gameList[val];
form.value.roomId = "";
if (val == void 0 || val.toString() == "") {
smallList.value = [];
return;
}
const { data } = await GAME.getGameRoomList({
gameID: val,
});
const list = (isArray(data?.list) ? data!.list : []).map((item) => ({
value: item.id + "",
label: item.name,
disabled: false,
}));
smallList.value = list;
return list;
};
const getDefaultValue = (): any => ({});
const form = ref<any>(getDefaultValue());
const form_ref = ref<InstanceType<typeof MForm>>();
const handleSubmit = debounce(async (form: IGameTableTotal) => {
unref(form_ref)
?.handleValidate()
.then(async (res: any) => {
if (!res) return;
const param = {
...toRaw(form),
};
param.tableType = 2
const request = unref(title) == ADD_TITLE ? addGameTableTotal : updateGameTableTotal;
const { code, msg } = await request(param);
if (code) {
ElMessage.error(msg);
return;
}
ElMessage.success("操作成功");
//
handleClose();
//
$props.fetchData && $props.fetchData();
});
}, 300);
const drawer_ref = ref<InstanceType<typeof MDialog>>();
const handleOpen = (type: "edit" | "add", data?: IGameTableTotal) => {
unref(drawer_ref)?.handleSetState(true);
title.value = type == "add" ? ADD_TITLE : EDIT_TITLE;
if (!data) {
form.value = getDefaultValue();
return;
}
selectDataGameName(data.gameId);
form.value = Object.assign(getDefaultValue(), data);
};
const handleClose = () => {
smallList.value = [];
unref(form_ref)?.handleResetFields();
unref(drawer_ref)?.handleSetState(false);
};
const onBeforeClose = (done: (...arg: any[]) => void) => {
handleClose();
done(false);
};
defineExpose({
handleOpen,
});
</script>
<style scoped></style>

13
backmanage/src/views/gameTableTotalPlayer/enum.ts

@ -0,0 +1,13 @@
import type { TagType } from "@/components/global/m_table";
export function cheatRateOptions() {
return [
{ value: "1000", label: "1000(小输)" },
{ value: "2000", label: "2000(中输)" },
{ value: "3000", label: "3000(大输)" },
{ value: "4000", label: "4000(大杀)" },
{ value: "-1000", label: "-1000(小赢)" },
{ value: "-2000", label: "-2000(中赢)" },
{ value: "-3000", label: "-3000(大赢)" },
];
}

185
backmanage/src/views/gameTableTotalPlayer/index.vue

@ -0,0 +1,185 @@
<template>
<div class="full-page p-20 page-content" style="position: relative">
<MTable
ref="table_ref"
v-bind="form_config"
:columns="columns"
:table_config="table_config"
table_height="100%"
>
<template #adcc_ope>
<ElButton type="primary" @click="handleOpenDialog('add')">
新增游戏桌子配置
</ElButton>
</template>
<template #operation_column="{ row }">
<ElButton type="primary" @click="handleOpenDialog('edit', row)">
编辑
</ElButton>
<ElButton type="danger" @click="handleDelRow(row.id)">删除</ElButton>
</template>
</MTable>
<BasicInfoModal ref="basic_info_ref" :fetch-data="handleGetData" />
</div>
</template>
<script setup lang="tsx">
import { ElLink } from "element-plus";
import { MIcon } from "@/components/global/m_icon";
import BasicInfoModal from "./components/index.vue";
import GameTableListModal from "./components/game-table-list.vue";
import type { MTableInstance, TagType } from "@/components/global/m_table";
import type { FormConfigPropType } from "@/components/global/m_form";
import type { TableColumnType, TableType } from "@/components/global/m_table";
import { reactive, ref, unref } from "vue";
import { useRouter } from "vue-router";
import { isArray } from "lodash";
import { IGameTableTotal, fetchPageGameTableTotals, deleteGameTableTotal } from "@/api/module/game_table_total";
import { optionsGameSession2 } from '@/api/module/common_params'
import { GAME } from "@/api";
import { useHandleData } from "@/hooks/useHandleData";
import { cellTimeFormatter } from "@/utils";
const $router = useRouter();
var gameList: TagType[] = [];
//
const getGameOptions= async () => {
const params: Record<string, any> = {
gameId: 0
};
const { code, data } = await GAME.getList(params);
if (code) {
return [];
}
const list = data!.list.map((item) => ({
value: item.id,
label: item.name
}));
// gameList = list;
gameList.push(...list)
return list
};
const form_config = reactive<FormConfigPropType>({
params: {
code: void 0,
channelID: void 0,
nickname: void 0,
},
formItems: [
{
type: "selection",
el_type: "select",
prop: "gameId",
unique_key: "gameId",
label: "游戏",
optionEnumFn: getGameOptions,
},
{
type: "selection",
el_type: "select",
prop: "roomId",
unique_key: "roomId",
label: "房间场次",
optionEnumFn: optionsGameSession2,
},
],
});
//
const table_config: TableType<IGameTableTotal> = {
handleLoadData: fetchPageGameTableTotals,
handleProcseeData(data, set_pagination) {
if (!data) return [];
const { total, page: currentPage, limit: pageSize } = data;
set_pagination({ pageSize, currentPage, total });
return isArray(data.list) ? data.list : [];
},
handleProcessParam: (param, pagenation) => {
const params: Record<string, any> = {
...param,
page: pagenation.currentPage,
limit: pagenation.pageSize,
tableType: 2,
};
return params;
},
defaultValue: "-",
};
//
const columns: TableColumnType<IGameTableTotal>[] = [
{
label: "ID",
uniqueKey: "id",
prop: "id",
},
{
label: "游戏ID",
uniqueKey: "gameId",
prop: "gameId",
},
{
label: "游戏名称",
uniqueKey: "gameId",
prop: "gameId",
renderType: "text",
optionEnumFn: gameList,
},
{
label: "房间场次",
uniqueKey: "roomId",
prop: "roomId",
renderType: "text",
optionEnumFn: optionsGameSession2,
},
{
label: "第一次机器人进入最小频率(秒)",
uniqueKey: "firstRobotCheckMinFrequency",
prop: "firstRobotCheckMinFrequency",
width:"260"
},
{
label: "第一次机器人进入最大频率(秒)",
uniqueKey: "firstRobotCheckMaxFrequency",
prop: "firstRobotCheckMaxFrequency",
width:"260"
},
{
label: "检查频率(秒)",
uniqueKey: "checkFrequency",
prop: "checkFrequency",
},
{
label: "操作",
uniqueKey: "operation",
width: 160
},
];
const table_ref = ref<MTableInstance>();
const handleGetData = () => unref(table_ref)?.handleGetTableData();
const basic_info_ref = ref<InstanceType<typeof BasicInfoModal>>();
const handleOpenDialog = (type: "edit" | "add", data?: IGameTableTotal) => {
unref(basic_info_ref)?.handleOpen(type, data);
};
const game_table_ref = ref<InstanceType<typeof GameTableListModal>>();
const handleOpenListDialog = (type: "edit" | "add", data?: IGameTableTotal) => {
unref(game_table_ref)?.handleOpen(type, data);
};
const handleDelRow = (id: number) => {
useHandleData(deleteGameTableTotal, { id }, "删除当前桌子配置").then(
handleGetData
);
};
</script>
<style scoped></style>

137
backmanage/src/views/statistics/recharge/index.vue

@ -131,6 +131,7 @@ const columns: TableColumnType<IStatisticsDayData>[] = [
label: "日期",
uniqueKey: "countTime",
prop: "countTime",
width:"120"
},
{
label: "渠道",
@ -138,120 +139,160 @@ const columns: TableColumnType<IStatisticsDayData>[] = [
prop: "channelId",
},
{
label: "唤起充值笔数",
label: "唤起数",
uniqueKey: "rechargeNum",
prop: "rechargeNum",
width:"100"
},
{
label: "充值成功率",
label: "成功率",
uniqueKey: "rechargeRate",
prop: "rechargeRate",
render_cell({ row }) {
return (
<ElRow>
<ElCol>{row.rechargeRate}%</ElCol>
</ElRow>
);
},
},
{
label: "成功充值数",
label: "成功数",
uniqueKey: "rechargeSuccessNum",
prop: "rechargeSuccessNum",
width:"100"
},
{
label: "成功充值金额",
label: "成功金额",
uniqueKey: "rechargeSuccessMoney",
prop: "rechargeSuccessMoney",
width:"100"
},
{
label: "真实充值笔数",
uniqueKey: "rechargeRelNum",
prop: "rechargeRelNum",
render_cell({ row }) {
return (
<ElRow>
<ElCol style={"color:#1266c7"}>{row.rechargeRelNum}</ElCol>
</ElRow>
);
},
label: "新唤起数",
uniqueKey: "rechargeNumNew",
prop: "rechargeNumNew",
width:"100"
},
{
label: "真实充值金额",
uniqueKey: "rechargeRelMoney",
prop: "rechargeRelMoney",
label: "新成功率",
uniqueKey: "successRateNew",
prop: "successRateNew",
render_cell({ row }) {
return (
<ElRow>
<ElCol style={"color:#1266c7"}>{row.rechargeRelMoney}</ElCol>
<ElCol>{row.successRateNew}%</ElCol>
</ElRow>
);
},
width:"100"
},
{
label: "手动充值笔数",
uniqueKey: "rechargeDoNum",
prop: "rechargeDoNum",
render_cell({ row }) {
return (
<ElRow>
<ElCol style={"color:#15cf78"}>{row.rechargeDoNum}</ElCol>
</ElRow>
);
},
label: "新成功笔数",
uniqueKey: "rechargeSuccessNumNew",
prop: "rechargeSuccessNumNew",
width:"110"
},
{
label: "手动充值金额",
uniqueKey: "rechargeDoMoney",
prop: "rechargeDoMoney",
label: "新成功人数",
uniqueKey: "rechargeSuccessPeopleNew",
prop: "rechargeSuccessPeopleNew",
width:"110"
},
{
label: "新成功金额",
uniqueKey: "rechargeSuccessMoneyNew",
prop: "rechargeSuccessMoneyNew",
width:"110"
},
{
label: "旧唤起数",
uniqueKey: "rechargeNumOld",
prop: "rechargeNumOld",
width:"100"
},
{
label: "旧成功率",
uniqueKey: "successRateOld",
prop: "successRateOld",
render_cell({ row }) {
return (
<ElRow>
<ElCol style={"color:#15cf78"}>{row.rechargeDoMoney}</ElCol>
<ElCol>{row.successRateOld}%</ElCol>
</ElRow>
);
},
width:"100"
},
{
label: "旧成功笔数",
uniqueKey: "rechargeSuccessNumOld",
prop: "rechargeSuccessNumOld",
width:"110"
},
{
label: "真实新增充值人数",
uniqueKey: "rechargeRelAddNum",
prop: "rechargeRelAddNum",
label: "旧成功人数",
uniqueKey: "rechargeSuccessPeopleOld",
prop: "rechargeSuccessPeopleOld",
width:"110"
},
{
label: "旧成功金额",
uniqueKey: "rechargeSuccessMoneyOld",
prop: "rechargeSuccessMoneyOld",
width:"110"
},
{
label: "真实笔数",
uniqueKey: "rechargeRelNum",
prop: "rechargeRelNum",
render_cell({ row }) {
return (
<ElRow>
<ElCol style={"color:#1266c7"}>{row.rechargeRelAddNum}</ElCol>
<ElCol style={"color:#1266c7"}>{row.rechargeRelNum}</ElCol>
</ElRow>
);
},
width:"100"
},
{
label: "真实新增充值金额",
uniqueKey: "rechargeRelAddMoney",
prop: "rechargeRelAddMoney",
label: "真实金额",
uniqueKey: "rechargeRelMoney",
prop: "rechargeRelMoney",
render_cell({ row }) {
return (
<ElRow>
<ElCol style={"color:#1266c7"}>{row.rechargeRelAddMoney}</ElCol>
<ElCol style={"color:#1266c7"}>{row.rechargeRelMoney}</ElCol>
</ElRow>
);
},
width:"100"
},
{
label: "手动新增充值人数",
uniqueKey: "rechargeDoAddNum",
prop: "rechargeDoAddNum",
label: "手动数",
uniqueKey: "rechargeDoNum",
prop: "rechargeDoNum",
render_cell({ row }) {
return (
<ElRow>
<ElCol style={"color:#15cf78"}>{row.rechargeDoAddNum}</ElCol>
<ElCol style={"color:#15cf78"}>{row.rechargeDoNum}</ElCol>
</ElRow>
);
},
width:"100"
},
{
label: "手动新增充值金额",
uniqueKey: "rechargeDoAddMoney",
prop: "rechargeDoAddMoney",
label: "手动金额",
uniqueKey: "rechargeDoMoney",
prop: "rechargeDoMoney",
render_cell({ row }) {
return (
<ElRow>
<ElCol style={"color:#15cf78"}>{row.rechargeDoAddMoney}</ElCol>
<ElCol style={"color:#15cf78"}>{row.rechargeDoMoney}</ElCol>
</ElRow>
);
},
width:"100"
},
];

2
backmanage/src/views/userAgentDetail/index.vue

@ -5,7 +5,7 @@
:params="searchParam"
:columns="columns"
:table_config="table_config"
table_height="100%"
table_height="500px"
>
<template #table_form_content="{ form_param }">
<el-form-item prop="userNo" label="用户ID">

Loading…
Cancel
Save