298 lines
7.9 KiB
Vue
298 lines
7.9 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="uid"
|
||
align="center"
|
||
label="UID" />
|
||
<el-table-column prop="erbanNo"
|
||
align="center"
|
||
label="用户ID" />
|
||
<el-table-column prop="userRechargeLevel"
|
||
align="center"
|
||
label="充值等级" />
|
||
<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, 50, 100, 200, 500]"
|
||
layout="sizes, prev, pager, next"
|
||
:total="total"
|
||
@size-change="handleSizeChange"
|
||
@current-change="handleCurrentChange" />
|
||
</div>
|
||
|
||
<!-- 新增弹窗 -->
|
||
<el-dialog v-model="addDialog"
|
||
title="新增"
|
||
width="30%"
|
||
center>
|
||
<el-form label-width="80px">
|
||
<el-form-item label="用户id">
|
||
<el-input style="width: 100%;"
|
||
v-model="adduserID"
|
||
placeholder="请输入"></el-input>
|
||
</el-form-item>
|
||
<el-form-item label="游戏id">
|
||
<el-select v-model="gameID"
|
||
placeholder="请选择"
|
||
style="width: 100%;">
|
||
<el-option v-for="item in gameIDArr"
|
||
:key="item.gameId"
|
||
:label="item.gameName"
|
||
:value="item.gameId">
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item label="Water">
|
||
<el-input style="width: 100%;"
|
||
v-model="water"
|
||
placeholder="请输入"></el-input>
|
||
</el-form-item>
|
||
<el-form-item>
|
||
(例如water:0.2%,则填0.2即可,water2%,则填2)
|
||
</el-form-item>
|
||
</el-form>
|
||
|
||
<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>
|