靓号-后台-修改

This commit is contained in:
khalil
2024-10-10 19:55:40 +08:00
parent c99ee00ca8
commit 6abde0b9ec
3 changed files with 974 additions and 854 deletions

View File

@@ -3,52 +3,44 @@
<div class="container">
<div class="region-box">
<el-radio-group v-model="region">
<el-radio
v-for="(item, index) in userAreaRegion"
:key="index"
:label="item.value"
>{{ item.name }}</el-radio
>
<el-radio v-for="(item, index) in userAreaRegion"
:key="index"
:label="item.value">{{ item.name }}</el-radio>
</el-radio-group>
</div>
<div class="handle-box">
<el-form
ref="searchForm"
:model="searchForm"
label-width="90px"
:disabled="tableLoading"
>
<el-form ref="searchForm"
:model="searchForm"
label-width="90px"
:disabled="tableLoading">
<div class="search-line">
<el-form-item label="Shaker ID" prop="erbanNo">
<el-input
v-model.trim="searchForm.erbanNo"
placeholder="Please enter"
></el-input>
<el-form-item label="Shaker ID"
prop="erbanNo">
<el-input v-model.trim="searchForm.erbanNo"
placeholder="Please enter"></el-input>
</el-form-item>
<el-form-item label="UID" prop="uid">
<el-input
v-model.trim="searchForm.uid"
placeholder="Please enter"
></el-input>
<el-form-item label="UID"
prop="uid">
<el-input v-model.trim="searchForm.uid"
placeholder="Please enter"></el-input>
</el-form-item>
<el-form-item label="SID" prop="sid">
<el-input
v-model.trim="searchForm.sid"
placeholder="Please enter"
></el-input>
<el-form-item label="SID"
prop="sid">
<el-input v-model.trim="searchForm.sid"
placeholder="Please enter"></el-input>
</el-form-item>
<el-form-item label-width="40px">
<el-button type="primary" @click="handSearch">Search</el-button>
<el-button plain @click="resetSearchForm">Reset Search</el-button>
<el-upload
class="file-uploader"
action="#"
list-type="picture-card"
:show-file-list="false"
:on-change="handleExcel"
accept=".xls, .xlsx"
:auto-upload="false"
>
<el-button type="primary"
@click="handSearch">Search</el-button>
<el-button plain
@click="resetSearchForm">Reset Search</el-button>
<el-upload class="file-uploader"
action="#"
list-type="picture-card"
:show-file-list="false"
:on-change="handleExcel"
accept=".xls, .xlsx"
:auto-upload="false">
<el-button type="primary">Import</el-button>
</el-upload>
</el-form-item>
@@ -67,76 +59,89 @@
</el-upload> -->
</div>
<div class="table">
<el-table
:data="tableData"
border
v-loading="tableLoading"
@header-click="headerCopy"
style="width: 100%"
>
<el-table-column align="center" prop="id" label="No.">
<el-table :data="tableData"
border
v-loading="tableLoading"
@header-click="headerCopy"
style="width: 100%">
<el-table-column align="center"
prop="id"
label="No.">
</el-table-column>
<el-table-column align="center" prop="erbanNo" label="Shaker ID">
<el-table-column align="center"
prop="erbanNo"
label="Shaker ID">
</el-table-column>
<el-table-column align="center" prop="uid" label="UID">
<el-table-column align="center"
prop="uid"
label="UID">
</el-table-column>
<el-table-column align="center" prop="level" label="SID Level">
<el-table-column align="center"
prop="level"
label="SID Level">
</el-table-column>
<el-table-column align="center" prop="nick" label="Nickname">
<el-table-column align="center"
prop="nick"
label="Nickname">
</el-table-column>
<el-table-column align="center" prop="createTime" label="Apply time">
<el-table-column align="center"
prop="createTime"
label="Apply time">
<template v-slot="scope">{{
convertTimestamp(scope.row.createTime)
}}</template>
</el-table-column>
<el-table-column align="center" prop="prettyNo" label="SID">
<el-table-column align="center"
prop="prettyNo"
label="SID">
</el-table-column>
<el-table-column align="center" prop="status" label="State">
<el-table-column align="center"
prop="status"
label="State">
<template v-slot="scope">
<el-tag :type="applyStateTag(scope.row.status)">{{
applyStateText(scope.row.status)
}}</el-tag>
</template>
</el-table-column>
<el-table-column align="center" prop="updateTime" label="Review time">
<el-table-column align="center"
prop="updateTime"
label="Review time">
<template v-slot="scope">{{
convertTimestamp(scope.row.updateTime)
}}</template>
</el-table-column>
<el-table-column align="center" label="Operate">
<el-table-column align="center"
prop="operater"
label="Operator">
</el-table-column>
<el-table-column align="center"
label="Operate">
<template v-slot="scope">
<el-button
type="text"
v-if="scope.row.status == 0"
@click="handlePass(scope.$index, scope.row)"
>
<el-button type="text"
v-if="scope.row.status == 0"
@click="handlePass(scope.$index, scope.row)">
Pass
</el-button>
<el-button
type="text"
v-if="scope.row.status == 0"
@click="handleReject(scope.$index, scope.row)"
>
<el-button type="text"
v-if="scope.row.status == 0"
@click="handleReject(scope.$index, scope.row)">
Reject
</el-button>
<el-button
type="text"
v-if="scope.row.status == 1"
class="red"
@click="handleDelete(scope.$index, scope.row)"
>
<el-button type="text"
v-if="scope.row.status == 1"
class="red"
@click="handleDelete(scope.$index, scope.row)">
Delete
</el-button>
</template>
</el-table-column>
</el-table>
<table-pagination
:pageParams="pageParams"
:pageTotal="pageTotal"
:ifShowSizes="true"
@handleSizeChange="handleSizeChange"
@handlePageChange="handlePageChange"
></table-pagination>
<table-pagination :pageParams="pageParams"
:pageTotal="pageTotal"
:ifShowSizes="true"
@handleSizeChange="handleSizeChange"
@handlePageChange="handlePageChange"></table-pagination>
</div>
</div>
</div>
@@ -160,7 +165,7 @@ export default {
name: "accountApplyManage",
// mixins: [Mixin],
components: { TablePagination },
data() {
data () {
return {
tableLoading: false, // 表格是否加载中
tableData: [], // 接口返回的表格数据
@@ -178,11 +183,11 @@ export default {
},
};
},
created() {
created () {
this.getData();
},
methods: {
getData() {
getData () {
this.tableLoading = true;
let { pageParams, searchForm } = this;
@@ -209,7 +214,7 @@ export default {
});
},
//导入表格
handleExcel(file) {
handleExcel (file) {
let formData = new FormData(); //声明一个FormDate对象
formData.append("file", file.raw); //把文件信息放入对象中
console.log(file.raw);
@@ -228,7 +233,7 @@ export default {
});
},
// 通过
handlePass(index, row) {
handlePass (index, row) {
ElMessageBox.confirm("Are you sure you want to pass?", "Prompt", {
type: "warning",
confirmButtonText: "Sure",
@@ -252,10 +257,10 @@ export default {
}
});
})
.catch(() => {});
.catch(() => { });
},
// 拒绝
handleReject(index, row) {
handleReject (index, row) {
ElMessageBox.confirm("Are you sure you want to refuse?", "Prompt", {
type: "warning",
confirmButtonText: "Sure",
@@ -279,10 +284,10 @@ export default {
}
});
})
.catch(() => {});
.catch(() => { });
},
// 删除操作
handleDelete(index, row) {
handleDelete (index, row) {
// 二次确认删除
ElMessageBox.confirm("Are you sure you want to delete?", "Prompt", {
type: "warning",
@@ -307,10 +312,10 @@ export default {
}
});
})
.catch(() => {});
.catch(() => { });
},
// 点击搜索
handSearch() {
handSearch () {
this.$refs["searchForm"].validate((valid) => {
if (valid) {
this.pageParams.pageNo = 1;
@@ -319,27 +324,27 @@ export default {
});
},
// 重置搜索表单
resetSearchForm() {
resetSearchForm () {
this.$refs["searchForm"].resetFields();
this.pageParams.pageNo = 1;
this.getData();
},
// 分页导航
handleSizeChange(val) {
handleSizeChange (val) {
this.pageParams.pageNo = val;
this.getData();
},
handlePageChange(val) {
handlePageChange (val) {
this.pageParams.pageNo = val;
this.getData();
},
headerCopy(column, e) {
headerCopy (column, e) {
this.$copy(column.label);
},
},
computed: {
applyStateTag() {
applyStateTag () {
return function (val) {
let text = "";
switch (val) {
@@ -359,7 +364,7 @@ export default {
return text;
};
},
applyStateText() {
applyStateText () {
return function (val) {
let text = "";
switch (val) {
@@ -379,7 +384,7 @@ export default {
return text;
};
},
convertTimestamp() {
convertTimestamp () {
return function (time) {
let date = new Date(time);
return formatDate(date);

File diff suppressed because it is too large Load Diff

View File

@@ -1,155 +1,163 @@
<template>
<section class="content">
<div class="box box-primary">
<div class="box-body">
<div class="content-header">
<h1 id="itemTitle"></h1>
</div>
<div class="content">
<div id="table"></div>
<div id="toolbar">
<label for="prettyNo" class="control-label">目标平台号</label>
<input type="text" name="goodNum" id="targetPrettyNo">
<label for="prettyNo" class="control-label">原平台号</label>
<input type="text" id="currentPrettyNo">
<label for="operator" class="control-label">操作类型:</label>
<select name="status" id="operator" class="input-m">
<option value="">全部</option>
<option value="1">绑定</option>
<option value="2">解绑</option>
</select>
<button id="btnSearch" class="btn btn-sm btn-primary">查询</button>
</div>
</div>
</div>
<section class="content">
<div class="box box-primary">
<div class="box-body">
<div class="content-header">
<h1 id="itemTitle"></h1>
</div>
</section>
<div class="content">
<div id="table"></div>
<div id="toolbar">
<label for="prettyNo"
class="control-label">目标平台号</label>
<input type="text"
name="goodNum"
id="targetPrettyNo">
<label for="prettyNo"
class="control-label">原平台号</label>
<input type="text"
id="currentPrettyNo">
<label for="operator"
class="control-label">操作类型:</label>
<select name="status"
id="operator"
class="input-m">
<option value="">全部</option>
<option value="1">绑定</option>
<option value="2">解绑</option>
</select>
<button id="btnSearch"
class="btn btn-sm btn-primary">查询</button>
</div>
</div>
</div>
</div>
</section>
</template>
<script>
import TableHelper from '@/utils/bootstrap-table-helper';
export default {
name: "PrettyNoRecordAdminView",
setup() {
return {};
},
created() {
this.$nextTick(function () {
this.initData();
});
},
methods: {
initData() {
$(function () {
$('#table').bootstrapTable('destroy');
$('#table').bootstrapTable({
columns: [
{ field: 'id', title: 'ID', align: 'center', valign: 'middle', width: '5%' },
{ field: 'currentErbanNo', title: '原平台号', align: 'center', valign: 'middle', width: '10%' },
{
field: 'operator',
title: '操作',
align: 'center',
width: '10%',
valign: 'middle',
formatter: function (val, row, index) {
switch (val) {
case 1:
return '绑定';
case 2:
return '解绑';
}
}
},
{ field: 'targetErbanNo', title: '目标平台号', align: 'center', valign: 'middle', width: '10%' },
{ field: 'uid', title: 'uid', align: 'center', valign: 'middle', width: '10%' },
{ field: 'prettyRecordDesc', title: '备注', align: 'center', valign: 'middle', width: '10%' },
{
field: 'startTime',
title: '开始时间(绑定时显示)',
align: 'center',
width: '10%',
valign: 'middle',
formatter: function (val, row, index) {
if (val) {
var date = new Date(val);
return date.format("yyyy-MM-dd hh:mm:ss");
} else {
return '-';
}
}
},
{
field: 'endTime',
title: '结束时间(绑定时显示)',
align: 'center',
width: '10%',
valign: 'middle',
formatter: function (val, row, index) {
if (val) {
var date = new Date(val);
return date.format("yyyy-MM-dd hh:mm:ss");
} else {
return '-';
}
}
},
{
field: 'createTime',
title: '创建时间',
align: 'center',
width: '10%',
valign: 'middle',
formatter: function (val, row, index) {
if (val) {
var date = new Date(val);
return date.format("yyyy-MM-dd hh:mm:ss");
} else {
return '-';
}
}
},
{ field: 'createdBy', title: '操作者', align: 'center', width: '10%', valign: 'middle' }
name: "PrettyNoRecordAdminView",
setup () {
return {};
},
created () {
this.$nextTick(function () {
this.initData();
});
},
methods: {
initData () {
$(function () {
$('#table').bootstrapTable('destroy');
$('#table').bootstrapTable({
columns: [
{ field: 'currentErbanNo', title: '原平台号', align: 'center', valign: 'middle', width: '10%' },
{
field: 'operator',
title: '操作',
align: 'center',
width: '10%',
valign: 'middle',
formatter: function (val, row, index) {
switch (val) {
case 1:
return '绑定';
],
cache: false,
striped: true,
showRefresh: false,
pageSize: 10,
pagination: true,
pageList: [10, 20, 30, 50],
sidePagination: "server", //表示服务端请求
queryParamsType: "undefined",
queryParams: function queryParams(params) { //设置查询参数
var param = {
pageSize: params.pageSize,
pageNumber: params.pageNumber,
targetPrettyNo: $('#targetPrettyNo').val(),
currentPrettyNo: $('#currentPrettyNo').val(),
operator: $('#operator').val()
};
return param;
},
uniqueId: 'id',
toolbar: '#toolbar',
url: '/admin/pretty/record/getList',
onLoadSuccess: function () { //加载成功时执行
console.log("load success");
},
onLoadError: function () { //加载失败时执行
console.log("load fail");
}
})
case 2:
return '解绑';
$('#btnSearch').on('click', function () {
TableHelper.doRefresh('#table');
})
})
}
},
}
}
},
{ field: 'targetErbanNo', title: '目标平台号', align: 'center', valign: 'middle', width: '10%' },
{ field: 'uid', title: 'uid', align: 'center', valign: 'middle', width: '10%' },
{ field: 'prettyRecordDesc', title: '备注', align: 'center', valign: 'middle', width: '10%' },
{
field: 'startTime',
title: '开始时间(绑定时显示)',
align: 'center',
width: '10%',
valign: 'middle',
formatter: function (val, row, index) {
if (val) {
var date = new Date(val);
return date.format("yyyy-MM-dd hh:mm:ss");
} else {
return '-';
}
}
},
{
field: 'endTime',
title: '结束时间(绑定时显示)',
align: 'center',
width: '10%',
valign: 'middle',
formatter: function (val, row, index) {
if (val) {
var date = new Date(val);
return date.format("yyyy-MM-dd hh:mm:ss");
} else {
return '-';
}
}
},
{
field: 'createTime',
title: '创建时间',
align: 'center',
width: '10%',
valign: 'middle',
formatter: function (val, row, index) {
if (val) {
var date = new Date(val);
return date.format("yyyy-MM-dd hh:mm:ss");
} else {
return '-';
}
}
},
{ field: 'createdBy', title: '操作者', align: 'center', width: '10%', valign: 'middle' }
],
cache: false,
striped: true,
showRefresh: false,
pageSize: 10,
pagination: true,
pageList: [10, 20, 30, 50],
sidePagination: "server", //表示服务端请求
queryParamsType: "undefined",
queryParams: function queryParams (params) { //设置查询参数
var param = {
pageSize: params.pageSize,
pageNumber: params.pageNumber,
targetPrettyNo: $('#targetPrettyNo').val(),
currentPrettyNo: $('#currentPrettyNo').val(),
operator: $('#operator').val()
};
return param;
},
uniqueId: 'id',
toolbar: '#toolbar',
url: '/admin/prettyNumber/record/getList',
onLoadSuccess: function () { //加载成功时执行
console.log("load success");
},
onLoadError: function () { //加载失败时执行
console.log("load fail");
}
})
$('#btnSearch').on('click', function () {
TableHelper.doRefresh('#table');
})
})
}
},
};
</script>