Files
peko-admin-web/src/views/gameWhitelist/gameWhitelist.vue

287 lines
7.2 KiB
Vue

<template>
<div class="box">
<!-- 查询 -->
<div class="inquire">
<span>ID</span>
<el-input
v-model="inquire.userId"
placeholder=""
class="input"
></el-input>
</div>
<div class="inquire">
<span>状态</span>
<el-select v-model="inquire.validStatus" placeholder="请选择">
<el-option
v-for="item in inquire.options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
<!-- 新增按钮 -->
<el-button class="primary" type="primary" @click="addDialog = true"
>新增</el-button
>
<!-- 查询按钮 -->
<el-button class="primary" type="primary" @click="getData()"
>查询</el-button
>
<!-- 表格 -->
<el-table
v-loading="loading"
:data="tableData"
border
style="width: 100%; margin-top: 25px"
>
<el-table-column prop="erbanNo" align="center" label="用户ID" />
<el-table-column prop="uid" align="center" label="UID" />
<el-table-column prop="gameId" align="center" label="游戏ID" />
<el-table-column prop="gameName" align="center" label="游戏名称" />
<el-table-column prop="feeRate" align="center" label="water" />
<el-table-column prop="adminName" align="center" label="操作人" />
<el-table-column prop="createTime" align="center" label="添加时间" />
<el-table-column align="center" label="操作" width="100">
<template v-slot="scope">
<el-button
v-show="scope.row.validStatus == 1"
@click="invalid(scope.row.id)"
class="primary"
type="primary"
size="default"
>失效</el-button
>
<div v-show="scope.row.validStatus == 0">无效</div>
<div v-show="scope.row.validStatus == -1">全部</div>
</template>
</el-table-column>
<el-table-column prop="invalidTime" align="center" label="失效时间" />
</el-table>
<!-- 分页 -->
<el-pagination
style="margin-top: 10px"
class="paginationClass"
v-model:current-page="currentPage"
v-model:page-size="pageSize"
:page-sizes="[10, 20, 30, 40, 50, 100, 200, 300, 400, 500, 999999999]"
layout="sizes, prev, pager, next"
:total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
<!-- 新增弹窗 -->
<el-dialog v-model="addDialog" title="新增" width="36%" center>
<div style="margin-bottom: 25px; margin-top: 10px">
<span style="display: inline-block; margin-right: 20px">用户id</span>
<el-input
v-model="adduserID"
style="width: 75%"
class="input"
placeholder="请输入"
></el-input>
</div>
<div style="margin-bottom: 25px; margin-top: 10px">
<span style="display: inline-block; margin-right: 20px">游戏id</span>
<el-select v-model="gameID" placeholder="请选择">
<el-option
v-for="item in gameIDArr"
:key="item.gameId"
:label="item.gameName"
:value="item.gameId"
>
</el-option>
</el-select>
</div>
<div style="margin-bottom: 25px; margin-top: 10px">
<span style="display: inline-block; margin-right: 20px">Water</span>
<el-input
v-model="water"
style="width: 75%"
class="input"
placeholder="请输入"
></el-input>
</div>
<template #footer>
<span class="dialog-footer">
<el-button @click="addDialog = false">取消</el-button>
<el-button type="primary" @click="addClick()"> 保存 </el-button>
</span>
</template>
</el-dialog>
</template>
<script>
import {
gameList,
gameFeeRateList,
gameFeeRate,
feeRateInvalid,
} from "@/api/gameWhitelist/gameWhitelist";
// @ts-ignore
import { dateFormat } from "@/utils/system-helper";
// @ts-ignore
import { ElMessage } from "element-plus";
export default {
name: "gameWhitelist",
data() {
return {
loading: false,
//查询所需条件对象
inquire: {
userId: "",
validStatus: "-1",
options: [
{
label: "无效",
value: "0",
},
{
label: "有效",
value: "1",
},
{
label: "全部",
value: "-1",
},
],
},
//新增所需对象
resource: {},
// 表格
tableData: [],
// 分页
total: 10, //总页数
currentPage: 1, //页码
pageSize: 10, //条数
// 新增
addDialog: false,
adduserID: "",
gameID: "",
gameIDArr: [],
water: "",
};
},
created() {
gameList().then((res) => {
if (res.code == 200) {
this.gameIDArr = res.data;
} else {
this.butClick = false;
ElMessage({
showClose: true,
message: res.message,
type: "error",
});
}
});
this.getData();
},
methods: {
// 查询接口
getData() {
this.loading = true;
gameFeeRateList({
erbanNo: this.inquire.userId,
validStatus: this.inquire.validStatus,
pageNo: this.currentPage,
pageSize: this.pageSize,
}).then((res) => {
if (res.code == 200) {
this.total = res.data.total;
this.tableData = res.data.rows;
this.loading = false;
} else {
this.butClick = false;
ElMessage({
showClose: true,
message: res.message,
type: "error",
});
}
});
},
// 确认新增按钮
addClick() {
gameFeeRate({
erbanNo: this.adduserID,
gameFeeRate: this.water,
gameId: this.gameID,
}).then((res) => {
if (res.code == 200) {
this.getData();
this.addDialog = false;
ElMessage({
showClose: true,
message: "新增成功",
type: "success",
});
} else {
this.butClick = false;
ElMessage({
showClose: true,
message: res.message,
type: "error",
});
}
});
},
invalid(id) {
feeRateInvalid({ id }).then((res) => {
if (res.code == 200) {
this.getData();
ElMessage({
showClose: true,
message: "设置成功",
type: "success",
});
} else {
this.butClick = false;
ElMessage({
showClose: true,
message: res.message,
type: "error",
});
}
});
},
// 分页导航
handleSizeChange() {
this.getData();
},
handleCurrentChange() {
this.getData();
},
},
};
</script>
<style lang="less" scoped>
.box {
padding-top: 20px;
background: #ecf0f5;
.inquire {
display: inline-block;
margin-right: 20px;
span {
margin-right: 10px;
}
.input {
width: 180px;
margin-right: 10px;
}
}
.dialogTableVisibleBut {
display: block;
margin: 30px 0 0 830px;
}
.paginationClass {
margin: 15px 0 5px 0px;
}
}
</style>