6 changed files with 713 additions and 0 deletions
@ -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> |
@ -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(大赢)" }, |
|||
]; |
|||
} |
@ -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> |
Loading…
Reference in new issue