|
@@ -4,39 +4,35 @@
|
|
|
<div class="filter-panel">
|
|
<div class="filter-panel">
|
|
|
<el-form inline :model="query" class="filter-form">
|
|
<el-form inline :model="query" class="filter-form">
|
|
|
<el-form-item label="游戏分类">
|
|
<el-form-item label="游戏分类">
|
|
|
- <el-select v-model="query.category" clearable placeholder="请选择" style="width: 130px">
|
|
|
|
|
|
|
+ <el-select v-model="query.game_type" clearable placeholder="请选择" style="width: 130px">
|
|
|
<el-option label="全部" value="" />
|
|
<el-option label="全部" value="" />
|
|
|
- <el-option v-for="c in categoryOptions" :key="c" :label="c" :value="c" />
|
|
|
|
|
|
|
+ <el-option v-for="c in categoryOptions" :key="c.value" :label="c.label" :value="c.value" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="平台类型">
|
|
<el-form-item label="平台类型">
|
|
|
- <el-select v-model="query.platform" clearable placeholder="请选择" style="width: 130px">
|
|
|
|
|
|
|
+ <el-select v-model="query.plat_type" clearable placeholder="请选择" style="width: 130px">
|
|
|
<el-option label="全部" value="" />
|
|
<el-option label="全部" value="" />
|
|
|
- <el-option v-for="p in platformOptions" :key="p" :label="p" :value="p" />
|
|
|
|
|
|
|
+ <el-option v-for="p in platformOptions" :key="p.value" :label="p.label" :value="p.value" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="显示名称">
|
|
<el-form-item label="显示名称">
|
|
|
- <el-input v-model="query.display_name" clearable placeholder="请输入" style="width: 150px" />
|
|
|
|
|
|
|
+ <el-input v-model="query.name" clearable placeholder="请输入" style="width: 150px" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="平台状态">
|
|
<el-form-item label="平台状态">
|
|
|
<el-select v-model="query.status" clearable placeholder="请选择" style="width: 120px">
|
|
<el-select v-model="query.status" clearable placeholder="请选择" style="width: 120px">
|
|
|
<el-option label="全部" value="" />
|
|
<el-option label="全部" value="" />
|
|
|
- <el-option label="正常" value="正常" />
|
|
|
|
|
- <el-option label="停用" value="停用" />
|
|
|
|
|
|
|
+ <el-option v-for="s in statusOptions" :key="s.value" :label="s.label" :value="s.value" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="支持终端类型">
|
|
<el-form-item label="支持终端类型">
|
|
|
- <el-select v-model="query.terminal" clearable placeholder="请选择" style="width: 150px">
|
|
|
|
|
|
|
+ <el-select v-model="query.ingress" clearable placeholder="请选择" style="width: 150px">
|
|
|
<el-option label="全部" value="" />
|
|
<el-option label="全部" value="" />
|
|
|
- <el-option label="电脑网页" value="电脑网页" />
|
|
|
|
|
- <el-option label="手机网页" value="手机网页" />
|
|
|
|
|
- <el-option label="电脑/手机网页" value="电脑/手机网页" />
|
|
|
|
|
|
|
+ <el-option v-for="t in ingressOptions" :key="t.value" :label="t.label" :value="t.value" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="支持网络">
|
|
<el-form-item label="支持网络">
|
|
|
<el-select v-model="query.network" clearable placeholder="请选择" style="width: 120px">
|
|
<el-select v-model="query.network" clearable placeholder="请选择" style="width: 120px">
|
|
|
- <el-option label="全部" value="" />
|
|
|
|
|
- <el-option v-for="n in networkOptions" :key="n" :label="n" :value="n" />
|
|
|
|
|
|
|
+ <el-option v-for="n in networkOptions" :key="n.value" :label="n.label" :value="n.value" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item class="filter-actions">
|
|
<el-form-item class="filter-actions">
|
|
@@ -51,36 +47,35 @@
|
|
|
height="calc(100vh - 330px)" style="width: 100%; border-radius: 12px; overflow: hidden;"
|
|
height="calc(100vh - 330px)" style="width: 100%; border-radius: 12px; overflow: hidden;"
|
|
|
empty-text="暂无数据">
|
|
empty-text="暂无数据">
|
|
|
<el-table-column type="index" label="序号" width="70" align="center" />
|
|
<el-table-column type="index" label="序号" width="70" align="center" />
|
|
|
- <el-table-column prop="platform_id" label="平台ID" width="100" align="center" />
|
|
|
|
|
|
|
+ <el-table-column prop="id" label="平台ID" width="100" align="center" />
|
|
|
<el-table-column prop="category" label="游戏分类" width="140" align="center" />
|
|
<el-table-column prop="category" label="游戏分类" width="140" align="center" />
|
|
|
- <el-table-column prop="platform" label="平台类型" width="130" align="center" />
|
|
|
|
|
|
|
+ <el-table-column prop="plat_type" label="平台类型" width="130" align="center" />
|
|
|
<el-table-column prop="display_name" label="显示名称" width="200" align="center" />
|
|
<el-table-column prop="display_name" label="显示名称" width="200" align="center" />
|
|
|
<el-table-column prop="terminal" label="支持终端类型" width="180" align="center" />
|
|
<el-table-column prop="terminal" label="支持终端类型" width="180" align="center" />
|
|
|
<el-table-column prop="network" label="支持网络" width="140" align="center" />
|
|
<el-table-column prop="network" label="支持网络" width="140" align="center" />
|
|
|
<el-table-column label="平台状态" width="120" align="center">
|
|
<el-table-column label="平台状态" width="120" align="center">
|
|
|
<template slot-scope="{ row }">
|
|
<template slot-scope="{ row }">
|
|
|
- <el-switch v-model="row.platform_status"
|
|
|
|
|
- :active-value="'正常'" :inactive-value="'停用'" active-color="#13ce66" inactive-color="#f56c6c"
|
|
|
|
|
|
|
+ <el-switch v-model="row.status" :active-value="1" :inactive-value="0" active-color="#13ce66" inactive-color="#f56c6c"
|
|
|
@change="handlePlatformStatusChange(row)" />
|
|
@change="handlePlatformStatusChange(row)" />
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column prop="sort" label="排序" width="140" align="center">
|
|
<el-table-column prop="sort" label="排序" width="140" align="center">
|
|
|
<template slot-scope="{ row }">
|
|
<template slot-scope="{ row }">
|
|
|
- <el-input-number v-model="row.sort" :min="1" size="mini" controls-position="right" style="width: 100px"
|
|
|
|
|
|
|
+ <el-input-number v-model="row.sort" size="mini" controls-position="right" style="width: 100px"
|
|
|
@change="handleSortChange(row)" />
|
|
@change="handleSortChange(row)" />
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column label="PC游戏图片" width="130" align="center">
|
|
<el-table-column label="PC游戏图片" width="130" align="center">
|
|
|
<template slot-scope="{ row }">
|
|
<template slot-scope="{ row }">
|
|
|
- <el-image v-if="row.pc_image" :src="row.pc_image" style="width: 40px; height: 40px;" fit="cover"
|
|
|
|
|
- :preview-src-list="[row.pc_image]" />
|
|
|
|
|
|
|
+ <el-image v-if="row.logo" :src="row.logo" style="width: 40px; height: 40px;" fit="cover"
|
|
|
|
|
+ :preview-src-list="[row.logo]" />
|
|
|
<span v-else>--</span>
|
|
<span v-else>--</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column label="H5/APP游戏图片" width="140" align="center">
|
|
<el-table-column label="H5/APP游戏图片" width="140" align="center">
|
|
|
<template slot-scope="{ row }">
|
|
<template slot-scope="{ row }">
|
|
|
- <el-image v-if="row.h5_image" :src="row.h5_image" style="width: 40px; height: 40px;" fit="cover"
|
|
|
|
|
- :preview-src-list="[row.h5_image]" />
|
|
|
|
|
|
|
+ <el-image v-if="row.logo_h5" :src="row.logo_h5" style="width: 40px; height: 40px;" fit="cover"
|
|
|
|
|
+ :preview-src-list="[row.logo_h5]" />
|
|
|
<span v-else>--</span>
|
|
<span v-else>--</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -89,15 +84,14 @@
|
|
|
<el-button type="text" size="small" class="ym-view-btn" @click="handleEditImage(row)">修改</el-button>
|
|
<el-button type="text" size="small" class="ym-view-btn" @click="handleEditImage(row)">修改</el-button>
|
|
|
<el-button v-if="row.has_manager" type="text" size="small" class="ym-view-btn"
|
|
<el-button v-if="row.has_manager" type="text" size="small" class="ym-view-btn"
|
|
|
@click="handleGameManage(row)">游戏管理</el-button>
|
|
@click="handleGameManage(row)">游戏管理</el-button>
|
|
|
- <span v-else>--</span>
|
|
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
- <el-pagination v-if="tableData.length" background
|
|
|
|
|
|
|
+ <el-pagination v-if="total" background
|
|
|
layout="total, prev, pager, next, jumper" :page-size="pageSize"
|
|
layout="total, prev, pager, next, jumper" :page-size="pageSize"
|
|
|
:page-sizes="[15, 30, 45, 60]" :current-page="page"
|
|
:page-sizes="[15, 30, 45, 60]" :current-page="page"
|
|
|
- :total="tableData.length"
|
|
|
|
|
- @current-change="page = $event" @size-change="handleSizeChange" />
|
|
|
|
|
|
|
+ :total="total"
|
|
|
|
|
+ @current-change="page = $event; fetchList()" @size-change="handleSizeChange" />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
@@ -106,41 +100,38 @@
|
|
|
width: 'auto',
|
|
width: 'auto',
|
|
|
title: manageTitle,
|
|
title: manageTitle,
|
|
|
confirmButtom: false,
|
|
confirmButtom: false,
|
|
|
- }" close-on-click-modal="false" top="5vh" custom-class="game-manage-dialog">
|
|
|
|
|
|
|
+ }" :close-on-click-modal="false" top="5vh" custom-class="game-manage-dialog">
|
|
|
<template slot="content">
|
|
<template slot="content">
|
|
|
<div class="manage-dialog-content">
|
|
<div class="manage-dialog-content">
|
|
|
<!-- 内部分页列表 -->
|
|
<!-- 内部分页列表 -->
|
|
|
<div class="inner-filter">
|
|
<div class="inner-filter">
|
|
|
<el-form inline :model="innerQuery" class="inner-form">
|
|
<el-form inline :model="innerQuery" class="inner-form">
|
|
|
<el-form-item label="游戏ID">
|
|
<el-form-item label="游戏ID">
|
|
|
- <el-input v-model="innerQuery.game_id" clearable placeholder="请输入" style="width: 120px" />
|
|
|
|
|
|
|
+ <el-input v-model="innerQuery.game_code" clearable placeholder="请输入" style="width: 120px" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="游戏名称">
|
|
<el-form-item label="游戏名称">
|
|
|
- <el-input v-model="innerQuery.game_name" clearable placeholder="请输入" style="width: 150px" />
|
|
|
|
|
|
|
+ <el-input v-model="innerQuery.name" clearable placeholder="请输入" style="width: 150px" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="状态">
|
|
<el-form-item label="状态">
|
|
|
- <el-select v-model="innerQuery.enabled" clearable placeholder="请选择" style="width: 110px">
|
|
|
|
|
|
|
+ <el-select v-model="innerQuery.status" clearable placeholder="请选择" style="width: 110px">
|
|
|
<el-option label="全部" value="" />
|
|
<el-option label="全部" value="" />
|
|
|
- <el-option label="启用" :value="true" />
|
|
|
|
|
- <el-option label="停用" :value="false" />
|
|
|
|
|
|
|
+ <el-option v-for="s in statusOptions" :key="s.value" :label="s.label" :value="s.value" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="支持终端类型">
|
|
<el-form-item label="支持终端类型">
|
|
|
- <el-select v-model="innerQuery.terminal" clearable placeholder="请选择" style="width: 150px">
|
|
|
|
|
|
|
+ <el-select v-model="innerQuery.ingress" clearable placeholder="请选择" style="width: 150px">
|
|
|
<el-option label="全部" value="" />
|
|
<el-option label="全部" value="" />
|
|
|
- <el-option label="电脑网页" value="电脑网页" />
|
|
|
|
|
- <el-option label="手机网页" value="手机网页" />
|
|
|
|
|
- <el-option label="电脑/手机网页" value="电脑/手机网页" />
|
|
|
|
|
|
|
+ <el-option v-for="t in ingressOptions" :key="t.value" :label="t.label" :value="t.value" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="支持网络">
|
|
<el-form-item label="支持网络">
|
|
|
<el-select v-model="innerQuery.network" clearable placeholder="请选择" style="width: 120px">
|
|
<el-select v-model="innerQuery.network" clearable placeholder="请选择" style="width: 120px">
|
|
|
- <el-option label="全部" value="" />
|
|
|
|
|
- <el-option v-for="n in networkOptions" :key="n" :label="n" :value="n" />
|
|
|
|
|
|
|
+ <el-option v-for="n in networkOptions" :key="n.value" :label="n.label" :value="n.value" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<el-button type="primary" size="small" @click="handleInnerSearch">查询</el-button>
|
|
<el-button type="primary" size="small" @click="handleInnerSearch">查询</el-button>
|
|
|
|
|
+ <el-button size="small" @click="handleInnerReset">重置</el-button>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
</div>
|
|
</div>
|
|
@@ -148,31 +139,31 @@
|
|
|
<el-table v-loading="innerLoading" :data="innerPagedData" height="420px"
|
|
<el-table v-loading="innerLoading" :data="innerPagedData" height="420px"
|
|
|
style="width: 100%; border-radius: 8px; overflow: hidden;" empty-text="暂无数据">
|
|
style="width: 100%; border-radius: 8px; overflow: hidden;" empty-text="暂无数据">
|
|
|
<el-table-column type="index" label="序号" width="70" align="center" />
|
|
<el-table-column type="index" label="序号" width="70" align="center" />
|
|
|
- <el-table-column prop="game_id" label="游戏ID" width="90" align="center" />
|
|
|
|
|
|
|
+ <el-table-column prop="game_code" label="游戏ID" width="90" align="center" />
|
|
|
<el-table-column prop="game_name" label="游戏名称" width="180" align="center" />
|
|
<el-table-column prop="game_name" label="游戏名称" width="180" align="center" />
|
|
|
<el-table-column label="PC游戏图片" width="130" align="center">
|
|
<el-table-column label="PC游戏图片" width="130" align="center">
|
|
|
<template slot-scope="{ row }">
|
|
<template slot-scope="{ row }">
|
|
|
- <el-image v-if="row.pc_image" :src="row.pc_image" style="width: 40px; height: 40px;" fit="cover"
|
|
|
|
|
- :preview-src-list="[row.pc_image]" />
|
|
|
|
|
|
|
+ <el-image v-if="row.logo" :src="row.logo" style="width: 40px; height: 40px;" fit="cover"
|
|
|
|
|
+ :preview-src-list="[row.logo]" />
|
|
|
<span v-else>--</span>
|
|
<span v-else>--</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column label="H5/APP游戏图片" width="140" align="center">
|
|
<el-table-column label="H5/APP游戏图片" width="140" align="center">
|
|
|
<template slot-scope="{ row }">
|
|
<template slot-scope="{ row }">
|
|
|
- <el-image v-if="row.h5_image" :src="row.h5_image" style="width: 40px; height: 40px;" fit="cover"
|
|
|
|
|
- :preview-src-list="[row.h5_image]" />
|
|
|
|
|
|
|
+ <el-image v-if="row.logo_h5" :src="row.logo_h5" style="width: 40px; height: 40px;" fit="cover"
|
|
|
|
|
+ :preview-src-list="[row.logo_h5]" />
|
|
|
<span v-else>--</span>
|
|
<span v-else>--</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column label="排序" width="140" align="center">
|
|
<el-table-column label="排序" width="140" align="center">
|
|
|
<template slot-scope="{ row }">
|
|
<template slot-scope="{ row }">
|
|
|
- <el-input-number v-model="row.sort" :min="1" size="mini" controls-position="right" style="width: 100px"
|
|
|
|
|
|
|
+ <el-input-number v-model="row.sort" size="mini" controls-position="right" style="width: 100px"
|
|
|
@change="handleInnerSortChange(row)" />
|
|
@change="handleInnerSortChange(row)" />
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column label="状态" width="120" align="center">
|
|
<el-table-column label="状态" width="120" align="center">
|
|
|
<template slot-scope="{ row }">
|
|
<template slot-scope="{ row }">
|
|
|
- <el-switch v-model="row.enabled" active-color="#13ce66" inactive-color="#f56c6c"
|
|
|
|
|
|
|
+ <el-switch v-model="row.status" :active-value="1" :inactive-value="0" active-color="#13ce66" inactive-color="#f56c6c"
|
|
|
@change="handleInnerEnabledChange(row)" />
|
|
@change="handleInnerEnabledChange(row)" />
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -188,7 +179,7 @@
|
|
|
layout="total, prev, pager, next, jumper" :page-size="innerPageSize"
|
|
layout="total, prev, pager, next, jumper" :page-size="innerPageSize"
|
|
|
:page-sizes="[15, 30, 45, 60]" :current-page="innerPage"
|
|
:page-sizes="[15, 30, 45, 60]" :current-page="innerPage"
|
|
|
:total="innerTotal"
|
|
:total="innerTotal"
|
|
|
- @current-change="innerPage = $event" @size-change="handleInnerSizeChange" />
|
|
|
|
|
|
|
+ @current-change="innerPage = $event; fetchInnerList()" @size-change="handleInnerSizeChange" />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
</Dialog>
|
|
</Dialog>
|
|
@@ -203,26 +194,16 @@
|
|
|
<el-form-item label="游戏名称">
|
|
<el-form-item label="游戏名称">
|
|
|
<el-input v-model="innerEditForm.game_name" placeholder="请输入" style="width: 250px" />
|
|
<el-input v-model="innerEditForm.game_name" placeholder="请输入" style="width: 250px" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="游戏分类">
|
|
|
|
|
- <el-select v-model="innerEditForm.category" style="width: 250px">
|
|
|
|
|
- <el-option v-for="c in categoryOptions" :key="c" :label="c" :value="c" />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="平台类型">
|
|
|
|
|
- <el-select v-model="innerEditForm.platform" style="width: 250px">
|
|
|
|
|
- <el-option v-for="p in platformOptions" :key="p" :label="p" :value="p" />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
<el-form-item label="PC游戏图片">
|
|
<el-form-item label="PC游戏图片">
|
|
|
- <UploadOneImage v-model="innerEditForm.pc_image" />
|
|
|
|
|
|
|
+ <UploadOneImage v-model="innerEditForm.logo" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="H5/APP游戏图片">
|
|
<el-form-item label="H5/APP游戏图片">
|
|
|
- <UploadOneImage v-model="innerEditForm.h5_image" />
|
|
|
|
|
|
|
+ <UploadOneImage v-model="innerEditForm.logo_h5" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="是否启用">
|
|
<el-form-item label="是否启用">
|
|
|
- <el-radio-group v-model="innerEditForm.enabled">
|
|
|
|
|
- <el-radio :label="true">启用</el-radio>
|
|
|
|
|
- <el-radio :label="false">停用</el-radio>
|
|
|
|
|
|
|
+ <el-radio-group v-model="innerEditForm.status">
|
|
|
|
|
+ <el-radio :label="1">启用</el-radio>
|
|
|
|
|
+ <el-radio :label="0">停用</el-radio>
|
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
@@ -240,10 +221,10 @@
|
|
|
<el-input v-model="imageEditForm.display_name" placeholder="请输入" style="width: 250px" />
|
|
<el-input v-model="imageEditForm.display_name" placeholder="请输入" style="width: 250px" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="PC游戏图片">
|
|
<el-form-item label="PC游戏图片">
|
|
|
- <UploadOneImage v-model="imageEditForm.pc_image" />
|
|
|
|
|
|
|
+ <UploadOneImage v-model="imageEditForm.logo" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="H5/APP游戏图片">
|
|
<el-form-item label="H5/APP游戏图片">
|
|
|
- <UploadOneImage v-model="imageEditForm.h5_image" />
|
|
|
|
|
|
|
+ <UploadOneImage v-model="imageEditForm.logo_h5" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
</template>
|
|
</template>
|
|
@@ -254,42 +235,7 @@
|
|
|
<script>
|
|
<script>
|
|
|
import Dialog from '@/components/Dialog/index.vue'
|
|
import Dialog from '@/components/Dialog/index.vue'
|
|
|
import UploadOneImage from '@/components/UploadOneImage/index.vue'
|
|
import UploadOneImage from '@/components/UploadOneImage/index.vue'
|
|
|
-
|
|
|
|
|
-// 假数据
|
|
|
|
|
-const MOCK_DATA = [
|
|
|
|
|
- // 电子
|
|
|
|
|
- { id: 1, platform_id: 'FL01', game_id: 'G001', category: '电子', platform: 'jdb', display_name: 'JDB电子', terminal: '电脑/手机网页', network: '大陆', platform_status: '正常', sort: 1, pc_image: '', h5_image: '', has_manager: true },
|
|
|
|
|
- { id: 2, platform_id: 'FL02', game_id: 'G002', category: '电子', platform: 'mg', display_name: 'MG电子', terminal: '电脑/手机网页', network: '香港', platform_status: '停用', sort: 2, pc_image: '', h5_image: '', has_manager: false },
|
|
|
|
|
- // 捕鱼
|
|
|
|
|
- { id: 3, platform_id: 'FL03', game_id: 'G003', category: '捕鱼', platform: 'pt', display_name: 'PT捕鱼', terminal: '手机网页', network: '韩国', platform_status: '正常', sort: 3, pc_image: '', h5_image: '', has_manager: false },
|
|
|
|
|
- { id: 4, platform_id: 'FL04', game_id: 'G004', category: '捕鱼', platform: 'fg', display_name: 'FG捕鱼', terminal: '电脑/手机网页', network: '日本', platform_status: '正常', sort: 4, pc_image: '', h5_image: '', has_manager: true },
|
|
|
|
|
- // 棋牌
|
|
|
|
|
- { id: 5, platform_id: 'FL05', game_id: 'G005', category: '棋牌', platform: 'ky', display_name: '开元棋牌', terminal: '电脑/手机网页', network: '大陆', platform_status: '正常', sort: 5, pc_image: '', h5_image: '', has_manager: true },
|
|
|
|
|
- { id: 6, platform_id: 'FL06', game_id: 'G006', category: '棋牌', platform: 'db7', display_name: 'DB棋牌', terminal: '电脑网页', network: '香港', platform_status: '停用', sort: 6, pc_image: '', h5_image: '', has_manager: false },
|
|
|
|
|
- // 视讯
|
|
|
|
|
- { id: 7, platform_id: 'FL07', game_id: 'G007', category: '视讯', platform: 'ag', display_name: 'PA真人', terminal: '电脑/手机网页', network: '大陆', platform_status: '正常', sort: 7, pc_image: '', h5_image: '', has_manager: true },
|
|
|
|
|
- { id: 8, platform_id: 'FL08', game_id: 'G008', category: '视讯', platform: 'evo', display_name: 'EVO真人', terminal: '手机网页', network: '香港', platform_status: '停用', sort: 8, pc_image: '', h5_image: '', has_manager: true },
|
|
|
|
|
- { id: 9, platform_id: 'FL09', game_id: 'G009', category: '视讯', platform: 'bbin', display_name: 'BBIN真人', terminal: '电脑/手机网页', network: '韩国', platform_status: '正常', sort: 9, pc_image: '', h5_image: '', has_manager: false }
|
|
|
|
|
-]
|
|
|
|
|
-
|
|
|
|
|
-// 各平台对应的游戏名(点击游戏管理时按平台生成)
|
|
|
|
|
-const PLATFORM_GAMES = {
|
|
|
|
|
- jdb: ['JDB夺宝', 'JDB招财进宝', 'JDB三国'],
|
|
|
|
|
- mg: ['MG大丰收', 'MG糖果派对', 'MG龙虎斗'],
|
|
|
|
|
- pt: ['PT深海捕鱼', 'PT龙王捕鱼', 'PT美人鱼'],
|
|
|
|
|
- fg: ['FG捕鱼达人', 'FG捕鱼大师', 'FG深海狂鲨'],
|
|
|
|
|
- ky: ['开元斗地主', '开元麻将', '开元百人牛牛'],
|
|
|
|
|
- db7: ['DB德州扑克', 'DB斗牛', 'DB炸金花'],
|
|
|
|
|
- ag: ['PA龙虎斗', 'PA骰宝', 'PA百家乐'],
|
|
|
|
|
- evo: ['EVO百家乐', 'EVO龙虎', 'EVO三公'],
|
|
|
|
|
- bbin: ['BBIN轮盘', 'BBIN德州', 'BBIN骰宝']
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// 默认内层游戏假数据(兜底)
|
|
|
|
|
-const INNER_MOCK = [
|
|
|
|
|
- { id: 1, game_id: 'G001', game_name: '游戏1', sort: 1, enabled: true, terminal: '电脑/手机网页', network: '大陆', category: '电子', platform: 'jdb', pc_image: '', h5_image: '' },
|
|
|
|
|
- { id: 2, game_id: 'G002', game_name: '游戏2', sort: 2, enabled: true, terminal: '电脑网页', network: '香港', category: '电子', platform: 'jdb', pc_image: '', h5_image: '' }
|
|
|
|
|
-]
|
|
|
|
|
|
|
+import { getEgameItems, getEgameOptions, updateEgame, setEgameStatus } from '@/api/data'
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: 'ThirdGameList',
|
|
name: 'ThirdGameList',
|
|
@@ -302,17 +248,32 @@ export default {
|
|
|
loading: false,
|
|
loading: false,
|
|
|
page: 1,
|
|
page: 1,
|
|
|
pageSize: 15,
|
|
pageSize: 15,
|
|
|
- tableData: [...MOCK_DATA],
|
|
|
|
|
- filteredData: [...MOCK_DATA],
|
|
|
|
|
- categoryOptions: ['视讯', '电子', '捕鱼', '体育', '棋牌'],
|
|
|
|
|
- platformOptions: ['ag', 'pg', 'bg', 'dg', 'db5'],
|
|
|
|
|
- networkOptions: ['大陆', '香港', '韩国', '日本'],
|
|
|
|
|
|
|
+ total: 0,
|
|
|
|
|
+ tableData: [],
|
|
|
|
|
+ categoryOptions: [],
|
|
|
|
|
+ platformOptions: [],
|
|
|
|
|
+ statusOptions: [
|
|
|
|
|
+ { value: 1, label: '启用' },
|
|
|
|
|
+ { value: 0, label: '停用' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ ingressOptions: [
|
|
|
|
|
+ { value: '1', label: '电脑网页' },
|
|
|
|
|
+ { value: '2', label: '手机网页' },
|
|
|
|
|
+ { value: '3', label: '电脑/手机网页' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ networkOptions: [
|
|
|
|
|
+ { value: '', label: '不限制' },
|
|
|
|
|
+ { value: 'mainland', label: '大陆' },
|
|
|
|
|
+ { value: 'hk', label: '香港' },
|
|
|
|
|
+ { value: 'kr', label: '韩国' },
|
|
|
|
|
+ { value: 'jp', label: '日本' }
|
|
|
|
|
+ ],
|
|
|
query: {
|
|
query: {
|
|
|
- category: '',
|
|
|
|
|
- platform: '',
|
|
|
|
|
- display_name: '',
|
|
|
|
|
|
|
+ game_type: '',
|
|
|
|
|
+ plat_type: '',
|
|
|
|
|
+ name: '',
|
|
|
status: '',
|
|
status: '',
|
|
|
- terminal: '',
|
|
|
|
|
|
|
+ ingress: '',
|
|
|
network: ''
|
|
network: ''
|
|
|
},
|
|
},
|
|
|
// 内层游戏管理
|
|
// 内层游戏管理
|
|
@@ -320,148 +281,289 @@ export default {
|
|
|
innerPage: 1,
|
|
innerPage: 1,
|
|
|
innerPageSize: 15,
|
|
innerPageSize: 15,
|
|
|
innerTotal: 0,
|
|
innerTotal: 0,
|
|
|
- innerTableData: [...INNER_MOCK],
|
|
|
|
|
- innerFiltered: [...INNER_MOCK],
|
|
|
|
|
|
|
+ innerTableData: [],
|
|
|
|
|
+ innerFiltered: [],
|
|
|
innerQuery: {
|
|
innerQuery: {
|
|
|
- game_id: '',
|
|
|
|
|
- game_name: '',
|
|
|
|
|
- enabled: '',
|
|
|
|
|
- terminal: '',
|
|
|
|
|
|
|
+ game_code: '',
|
|
|
|
|
+ name: '',
|
|
|
|
|
+ status: '',
|
|
|
|
|
+ ingress: '',
|
|
|
network: ''
|
|
network: ''
|
|
|
},
|
|
},
|
|
|
|
|
+ innerPlatType: '',
|
|
|
innerEditForm: {},
|
|
innerEditForm: {},
|
|
|
imageEditForm: {},
|
|
imageEditForm: {},
|
|
|
manageTitle: '游戏管理'
|
|
manageTitle: '游戏管理'
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
computed: {
|
|
computed: {
|
|
|
|
|
+ // 后端已按 page/limit 分页,直接返回当前页数据
|
|
|
pagedData() {
|
|
pagedData() {
|
|
|
- const start = (this.page - 1) * this.pageSize
|
|
|
|
|
- return this.filteredData.slice(start, start + this.pageSize)
|
|
|
|
|
|
|
+ return this.tableData
|
|
|
},
|
|
},
|
|
|
innerPagedData() {
|
|
innerPagedData() {
|
|
|
- const start = (this.innerPage - 1) * this.innerPageSize
|
|
|
|
|
- return this.innerFiltered.slice(start, start + this.innerPageSize)
|
|
|
|
|
|
|
+ return this.innerFiltered
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
+ created() {
|
|
|
|
|
+ this.fetchOptions()
|
|
|
|
|
+ this.fetchList()
|
|
|
|
|
+ },
|
|
|
methods: {
|
|
methods: {
|
|
|
- handlePlatformStatusChange(row) {
|
|
|
|
|
- this.$message.success(`平台状态已改为${row.platform_status}`)
|
|
|
|
|
|
|
+ fetchOptions() {
|
|
|
|
|
+ getEgameOptions().then(res => {
|
|
|
|
|
+ if (res.code === 0 || res.code === 99) {
|
|
|
|
|
+ const data = res.data || {}
|
|
|
|
|
+ this.categoryOptions = (data.categories || []).map(c => ({ value: c.game_type, label: c.name }))
|
|
|
|
|
+ this.platformOptions = (data.platforms || []).map(p => ({ value: p.plat_type, label: p.name }))
|
|
|
|
|
+ if (Array.isArray(data.statuses) && data.statuses.length) this.statusOptions = data.statuses
|
|
|
|
|
+ if (Array.isArray(data.ingress) && data.ingress.length) this.ingressOptions = data.ingress
|
|
|
|
|
+ if (Array.isArray(data.networks) && data.networks.length) this.networkOptions = data.networks
|
|
|
|
|
+ }
|
|
|
|
|
+ }).catch(() => {})
|
|
|
},
|
|
},
|
|
|
- handleSortChange(row) {
|
|
|
|
|
- if (row.sort < 1) row.sort = 1
|
|
|
|
|
- this.$message.success(`排序已修改为 ${row.sort}`)
|
|
|
|
|
|
|
+ fetchList() {
|
|
|
|
|
+ this.loading = true
|
|
|
|
|
+ const params = {
|
|
|
|
|
+ item_type: 'platform',
|
|
|
|
|
+ platform_scope: 'category',
|
|
|
|
|
+ page: this.page,
|
|
|
|
|
+ limit: this.pageSize,
|
|
|
|
|
+ game_type: this.query.game_type || '',
|
|
|
|
|
+ plat_type: this.query.plat_type || '',
|
|
|
|
|
+ name: this.query.name || '',
|
|
|
|
|
+ // status 可能是 0(禁用),不能用 || 兜底,避免丢失 0
|
|
|
|
|
+ status: this.query.status === '' || this.query.status === null || this.query.status === undefined ? '' : this.query.status,
|
|
|
|
|
+ ingress: this.query.ingress || '',
|
|
|
|
|
+ network: this.query.network || ''
|
|
|
|
|
+ }
|
|
|
|
|
+ getEgameItems(params).then(res => {
|
|
|
|
|
+ if (res.code === 0 || res.code === 99) {
|
|
|
|
|
+ const data = res.data || {}
|
|
|
|
|
+ this.total = Number(data.total) || 0
|
|
|
|
|
+ this.tableData = (data.data || []).map(row => this.mapPlatform(row))
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error(res.msg || '获取列表失败')
|
|
|
|
|
+ }
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ this.$message.error('请求异常')
|
|
|
|
|
+ }).finally(() => {
|
|
|
|
|
+ this.loading = false
|
|
|
|
|
+ })
|
|
|
},
|
|
},
|
|
|
- handleInnerSortChange(row) {
|
|
|
|
|
- if (row.sort < 1) row.sort = 1
|
|
|
|
|
- this.$message.success(`游戏 ${row.game_name} 排序已修改为 ${row.sort}`)
|
|
|
|
|
|
|
+ // 平台行字段映射
|
|
|
|
|
+ mapPlatform(row) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ id: row.id,
|
|
|
|
|
+ plat_type: row.plat_type,
|
|
|
|
|
+ category: row.game_type_name || '',
|
|
|
|
|
+ category_code: row.game_type,
|
|
|
|
|
+ display_name: row.name,
|
|
|
|
|
+ terminal: row.ingress_name || '',
|
|
|
|
|
+ ingress: row.ingress,
|
|
|
|
|
+ network: row.network_name || '',
|
|
|
|
|
+ network_code: row.network,
|
|
|
|
|
+ status: Number(row.status) === 1 ? 1 : 0,
|
|
|
|
|
+ sort: row.sort,
|
|
|
|
|
+ logo: row.logo || row.logo_pc || '',
|
|
|
|
|
+ logo_h5: row.logo_h5 || '',
|
|
|
|
|
+ has_manager: !!row.has_game_manage
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
handleSizeChange(val) {
|
|
handleSizeChange(val) {
|
|
|
this.pageSize = val
|
|
this.pageSize = val
|
|
|
this.page = 1
|
|
this.page = 1
|
|
|
|
|
+ this.fetchList()
|
|
|
},
|
|
},
|
|
|
handleSearch() {
|
|
handleSearch() {
|
|
|
this.page = 1
|
|
this.page = 1
|
|
|
- let filtered = [...this.tableData]
|
|
|
|
|
- if (this.query.category) filtered = filtered.filter(r => r.category === this.query.category)
|
|
|
|
|
- if (this.query.platform) filtered = filtered.filter(r => r.platform === this.query.platform)
|
|
|
|
|
- if (this.query.display_name) filtered = filtered.filter(r => r.display_name.includes(this.query.display_name))
|
|
|
|
|
- if (this.query.status) filtered = filtered.filter(r => r.platform_status === this.query.status)
|
|
|
|
|
- if (this.query.terminal) filtered = filtered.filter(r => r.terminal === this.query.terminal)
|
|
|
|
|
- if (this.query.network) filtered = filtered.filter(r => r.network === this.query.network)
|
|
|
|
|
- this.filteredData = filtered
|
|
|
|
|
|
|
+ this.fetchList()
|
|
|
},
|
|
},
|
|
|
- // 重置筛选条件到初始状态
|
|
|
|
|
handleReset() {
|
|
handleReset() {
|
|
|
this.query = {
|
|
this.query = {
|
|
|
- category: '',
|
|
|
|
|
- platform: '',
|
|
|
|
|
- display_name: '',
|
|
|
|
|
|
|
+ game_type: '',
|
|
|
|
|
+ plat_type: '',
|
|
|
|
|
+ name: '',
|
|
|
status: '',
|
|
status: '',
|
|
|
- terminal: '',
|
|
|
|
|
|
|
+ ingress: '',
|
|
|
network: ''
|
|
network: ''
|
|
|
}
|
|
}
|
|
|
- this.filteredData = [...this.tableData]
|
|
|
|
|
this.page = 1
|
|
this.page = 1
|
|
|
|
|
+ this.fetchList()
|
|
|
|
|
+ },
|
|
|
|
|
+ // 平台状态切换
|
|
|
|
|
+ handlePlatformStatusChange(row) {
|
|
|
|
|
+ setEgameStatus({ id: row.id, status: row.status }).then(res => {
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ this.$message.success(`平台已${row.status === 1 ? '启用' : '停用'}`)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error(res.msg || '状态修改失败')
|
|
|
|
|
+ row.status = row.status === 1 ? 0 : 1
|
|
|
|
|
+ }
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ this.$message.error('请求异常')
|
|
|
|
|
+ row.status = row.status === 1 ? 0 : 1
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ // 平台排序
|
|
|
|
|
+ handleSortChange(row) {
|
|
|
|
|
+ updateEgame({ id: row.id, sort: row.sort }).then(res => {
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ this.$message.success(`排序已修改为 ${row.sort}`)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error(res.msg || '排序修改失败')
|
|
|
|
|
+ }
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ this.$message.error('请求异常')
|
|
|
|
|
+ })
|
|
|
},
|
|
},
|
|
|
// 游戏管理弹窗
|
|
// 游戏管理弹窗
|
|
|
handleGameManage(row) {
|
|
handleGameManage(row) {
|
|
|
- // 弹窗标题用显示名称,如「JDB电子游戏管理」
|
|
|
|
|
this.manageTitle = `${row.display_name || ''}游戏管理`
|
|
this.manageTitle = `${row.display_name || ''}游戏管理`
|
|
|
- // 根据当前行平台生成对应游戏列表
|
|
|
|
|
- const games = PLATFORM_GAMES[row.platform] || ['游戏1', '游戏2']
|
|
|
|
|
- const terminalOptions = ['电脑网页', '手机网页', '电脑/手机网页']
|
|
|
|
|
- const networkOptions = ['大陆', '香港', '韩国', '日本']
|
|
|
|
|
- const list = games.map((name, idx) => ({
|
|
|
|
|
- id: idx + 1,
|
|
|
|
|
- game_id: `${String(row.platform).toUpperCase()}${String(idx + 1).padStart(3, '0')}`,
|
|
|
|
|
- game_name: name,
|
|
|
|
|
- sort: idx + 1,
|
|
|
|
|
- enabled: Math.random() > 0.3, // 随机启用/停用
|
|
|
|
|
- terminal: terminalOptions[Math.floor(Math.random() * terminalOptions.length)],
|
|
|
|
|
- network: networkOptions[Math.floor(Math.random() * networkOptions.length)],
|
|
|
|
|
- category: row.category,
|
|
|
|
|
- platform: row.platform,
|
|
|
|
|
- pc_image: '',
|
|
|
|
|
- h5_image: ''
|
|
|
|
|
- }))
|
|
|
|
|
- this.innerTableData = list
|
|
|
|
|
- this.innerFiltered = [...list]
|
|
|
|
|
- this.innerTotal = list.length
|
|
|
|
|
|
|
+ this.innerPlatType = row.plat_type
|
|
|
this.innerPage = 1
|
|
this.innerPage = 1
|
|
|
this.$refs.manageDialog.open()
|
|
this.$refs.manageDialog.open()
|
|
|
|
|
+ this.fetchInnerList()
|
|
|
|
|
+ },
|
|
|
|
|
+ fetchInnerList() {
|
|
|
|
|
+ this.innerLoading = true
|
|
|
|
|
+ const params = {
|
|
|
|
|
+ item_type: 'game',
|
|
|
|
|
+ plat_type: this.innerPlatType,
|
|
|
|
|
+ page: this.innerPage,
|
|
|
|
|
+ limit: this.innerPageSize,
|
|
|
|
|
+ game_code: this.innerQuery.game_code || '',
|
|
|
|
|
+ name: this.innerQuery.name || '',
|
|
|
|
|
+ // status 可能是 0(禁用),不能用 || 兜底,避免丢失 0
|
|
|
|
|
+ status: this.innerQuery.status === '' || this.innerQuery.status === null || this.innerQuery.status === undefined ? '' : this.innerQuery.status,
|
|
|
|
|
+ ingress: this.innerQuery.ingress || '',
|
|
|
|
|
+ network: this.innerQuery.network || ''
|
|
|
|
|
+ }
|
|
|
|
|
+ getEgameItems(params).then(res => {
|
|
|
|
|
+ if (res.code === 0 || res.code === 99) {
|
|
|
|
|
+ const data = res.data || {}
|
|
|
|
|
+ this.innerTotal = Number(data.total) || 0
|
|
|
|
|
+ this.innerTableData = (data.data || []).map(row => this.mapGame(row))
|
|
|
|
|
+ this.innerFiltered = [...this.innerTableData]
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error(res.msg || '获取游戏列表失败')
|
|
|
|
|
+ }
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ this.$message.error('请求异常')
|
|
|
|
|
+ }).finally(() => {
|
|
|
|
|
+ this.innerLoading = false
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ // 游戏行字段映射
|
|
|
|
|
+ mapGame(row) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ id: row.id,
|
|
|
|
|
+ game_code: row.game_code,
|
|
|
|
|
+ game_name: row.name,
|
|
|
|
|
+ terminal: row.ingress_name || '',
|
|
|
|
|
+ ingress: row.ingress,
|
|
|
|
|
+ network: row.network_name || '',
|
|
|
|
|
+ network_code: row.network,
|
|
|
|
|
+ status: Number(row.status) === 1 ? 1 : 0,
|
|
|
|
|
+ sort: row.sort,
|
|
|
|
|
+ logo: row.logo || row.logo_pc || '',
|
|
|
|
|
+ logo_h5: row.logo_h5 || '',
|
|
|
|
|
+ plat_type: row.plat_type
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
handleInnerSizeChange(val) {
|
|
handleInnerSizeChange(val) {
|
|
|
this.innerPageSize = val
|
|
this.innerPageSize = val
|
|
|
this.innerPage = 1
|
|
this.innerPage = 1
|
|
|
|
|
+ this.fetchInnerList()
|
|
|
},
|
|
},
|
|
|
handleInnerSearch() {
|
|
handleInnerSearch() {
|
|
|
this.innerPage = 1
|
|
this.innerPage = 1
|
|
|
- let filtered = [...this.innerTableData]
|
|
|
|
|
- if (this.innerQuery.game_id) filtered = filtered.filter(r => r.game_id.includes(this.innerQuery.game_id))
|
|
|
|
|
- if (this.innerQuery.game_name) filtered = filtered.filter(r => r.game_name.includes(this.innerQuery.game_name))
|
|
|
|
|
- // enabled 可能是布尔值(0 不是),需区分空串和值
|
|
|
|
|
- if (this.innerQuery.enabled !== '' && this.innerQuery.enabled !== null && this.innerQuery.enabled !== undefined) {
|
|
|
|
|
- filtered = filtered.filter(r => r.enabled === this.innerQuery.enabled)
|
|
|
|
|
|
|
+ this.fetchInnerList()
|
|
|
|
|
+ },
|
|
|
|
|
+ // 重置内层筛选条件到初始状态
|
|
|
|
|
+ handleInnerReset() {
|
|
|
|
|
+ this.innerQuery = {
|
|
|
|
|
+ game_code: '',
|
|
|
|
|
+ name: '',
|
|
|
|
|
+ status: '',
|
|
|
|
|
+ ingress: '',
|
|
|
|
|
+ network: ''
|
|
|
}
|
|
}
|
|
|
- if (this.innerQuery.terminal) filtered = filtered.filter(r => r.terminal === this.innerQuery.terminal)
|
|
|
|
|
- if (this.innerQuery.network) filtered = filtered.filter(r => r.network === this.innerQuery.network)
|
|
|
|
|
- this.innerFiltered = filtered
|
|
|
|
|
- this.innerTotal = filtered.length
|
|
|
|
|
|
|
+ this.innerPage = 1
|
|
|
|
|
+ this.fetchInnerList()
|
|
|
|
|
+ },
|
|
|
|
|
+ handleInnerSortChange(row) {
|
|
|
|
|
+ updateEgame({ id: row.id, sort: row.sort }).then(res => {
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ this.$message.success(`游戏 ${row.game_name} 排序已修改为 ${row.sort}`)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error(res.msg || '排序修改失败')
|
|
|
|
|
+ }
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ this.$message.error('请求异常')
|
|
|
|
|
+ })
|
|
|
},
|
|
},
|
|
|
handleInnerEnabledChange(row) {
|
|
handleInnerEnabledChange(row) {
|
|
|
- this.$message.success(`游戏 ${row.game_name} 已${row.enabled ? '启用' : '停用'}`)
|
|
|
|
|
|
|
+ setEgameStatus({ id: row.id, status: row.status }).then(res => {
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ this.$message.success(`游戏 ${row.game_name} 已${row.status === 1 ? '启用' : '停用'}`)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error(res.msg || '状态修改失败')
|
|
|
|
|
+ row.status = row.status === 1 ? 0 : 1
|
|
|
|
|
+ }
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ this.$message.error('请求异常')
|
|
|
|
|
+ row.status = row.status === 1 ? 0 : 1
|
|
|
|
|
+ })
|
|
|
},
|
|
},
|
|
|
handleInnerEdit(row) {
|
|
handleInnerEdit(row) {
|
|
|
this.innerEditForm = { ...row }
|
|
this.innerEditForm = { ...row }
|
|
|
this.$refs.innerEditDialog.open()
|
|
this.$refs.innerEditDialog.open()
|
|
|
},
|
|
},
|
|
|
handleInnerConfirm() {
|
|
handleInnerConfirm() {
|
|
|
- const idx = this.innerTableData.findIndex(item => item.id === this.innerEditForm.id)
|
|
|
|
|
- if (idx > -1) {
|
|
|
|
|
- this.innerTableData[idx] = { ...this.innerEditForm }
|
|
|
|
|
- this.innerFiltered = [...this.innerTableData]
|
|
|
|
|
- this.innerTotal = this.innerFiltered.length
|
|
|
|
|
|
|
+ const params = {
|
|
|
|
|
+ id: this.innerEditForm.id,
|
|
|
|
|
+ name: this.innerEditForm.game_name,
|
|
|
|
|
+ logo_pc: this.innerEditForm.logo,
|
|
|
|
|
+ logo_h5: this.innerEditForm.logo_h5,
|
|
|
|
|
+ status: this.innerEditForm.status
|
|
|
}
|
|
}
|
|
|
- this.$message.success('修改成功')
|
|
|
|
|
- this.$refs.innerEditDialog.close()
|
|
|
|
|
|
|
+ updateEgame(params).then(res => {
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ this.$message.success('修改成功')
|
|
|
|
|
+ this.$refs.innerEditDialog.close()
|
|
|
|
|
+ this.fetchInnerList()
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error(res.msg || '修改失败')
|
|
|
|
|
+ }
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ this.$message.error('请求异常')
|
|
|
|
|
+ })
|
|
|
},
|
|
},
|
|
|
- // 打开修改图片弹窗
|
|
|
|
|
|
|
+ // 打开修改弹窗
|
|
|
handleEditImage(row) {
|
|
handleEditImage(row) {
|
|
|
this.imageEditForm = { ...row }
|
|
this.imageEditForm = { ...row }
|
|
|
this.$refs.imageEditDialog.open()
|
|
this.$refs.imageEditDialog.open()
|
|
|
},
|
|
},
|
|
|
- // 保存修改图片到列表
|
|
|
|
|
|
|
+ // 保存平台修改
|
|
|
handleImageConfirm() {
|
|
handleImageConfirm() {
|
|
|
- const idx = this.tableData.findIndex(item => item.id === this.imageEditForm.id)
|
|
|
|
|
- if (idx > -1) {
|
|
|
|
|
- this.tableData[idx].display_name = this.imageEditForm.display_name
|
|
|
|
|
- this.tableData[idx].pc_image = this.imageEditForm.pc_image
|
|
|
|
|
- this.tableData[idx].h5_image = this.imageEditForm.h5_image
|
|
|
|
|
- this.filteredData = [...this.tableData]
|
|
|
|
|
|
|
+ const params = {
|
|
|
|
|
+ id: this.imageEditForm.id,
|
|
|
|
|
+ name: this.imageEditForm.display_name,
|
|
|
|
|
+ logo_pc: this.imageEditForm.logo,
|
|
|
|
|
+ logo_h5: this.imageEditForm.logo_h5
|
|
|
}
|
|
}
|
|
|
- this.$message.success('修改成功')
|
|
|
|
|
- this.$refs.imageEditDialog.close()
|
|
|
|
|
|
|
+ updateEgame(params).then(res => {
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ this.$message.success('修改成功')
|
|
|
|
|
+ this.$refs.imageEditDialog.close()
|
|
|
|
|
+ this.fetchList()
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error(res.msg || '修改失败')
|
|
|
|
|
+ }
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ this.$message.error('请求异常')
|
|
|
|
|
+ })
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|