新增信誉值

This commit is contained in:
dragon
2024-12-16 15:28:42 +08:00
parent ccf95bb81a
commit 42f556e615

View File

@@ -1,412 +1,517 @@
<template>
<section class="content">
<div class="box box-primary">
<div class="box-body">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1 id="itemTitle"></h1>
</section>
<!-- .content -->
<div id="table"></div>
<div id="toolbar">
<div class="col-sm-12">
<label for="searchValue" class="col-sm-3 control-label">Peko ID:</label>
<div class="col-sm-3"><input type="text" class="form-control" name="searchValue" id="searchValue">
</div>
<label for="searchType" class="col-sm-3 control-label">地区:</label>
<div class="col-sm-3">
<select name="searchType" id="searchType" data-btn-class="btn-warning" class="form-control">
<option value="0" selected="selected">全部</option>
</select>
</div>
</div>
<div class="col-sm-12">
<button id="btnSearch" class="btn btn-default">
<i class="glyphicon glyphicon-search"></i>查询
</button>
<button id="btnAdd" class="btn btn-default">
<i class="glyphicon glyphicon-plus-sign"></i>新增
</button>
</div>
</div>
<section class="content">
<div class="box box-primary">
<div class="box-body">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1 id="itemTitle"></h1>
</section>
<!-- .content -->
<div id="table"></div>
<div id="toolbar">
<div class="col-sm-12">
<label for="searchValue" class="col-sm-3 control-label"
>Peko ID:</label
>
<div class="col-sm-3">
<input
type="text"
class="form-control"
name="searchValue"
id="searchValue"
/>
</div>
</div>
</section>
<div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="modalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="modalLabel">代充信息</h4>
</div>
<div class="modal-body">
<form class="form-horizontal">
<input type="hidden" name="id" id="id" />
<div class="form-group">
<label for="erbanNo" class="col-sm-3 control-label">Peko ID</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="erbanNo">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">代充地区</label>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-primary" id="save">确认</button>
</div>
<label for="searchType" class="col-sm-3 control-label">地区:</label>
<div class="col-sm-3">
<select
name="searchType"
id="searchType"
data-btn-class="btn-warning"
class="form-control"
>
<option value="0" selected="selected">全部</option>
</select>
</div>
</div>
<div class="col-sm-12">
<button id="btnSearch" class="btn btn-default">
<i class="glyphicon glyphicon-search"></i>查询
</button>
<button id="btnAdd" class="btn btn-default">
<i class="glyphicon glyphicon-plus-sign"></i>新增
</button>
</div>
</div>
</div>
</div>
</section>
<div class="modal fade" id="tipModal" tabindex="-1" role="dialog" aria-labelledby="modalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">提示信息</h4>
</div>
<div class="modal-body" id="tipMsg"></div>
</div>
<div
class="modal fade"
id="editModal"
tabindex="-1"
role="dialog"
aria-labelledby="modalLabel"
>
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="modalLabel">代充信息</h4>
</div>
<div class="modal-body">
<form class="form-horizontal">
<input type="hidden" name="id" id="id" />
<div class="form-group">
<label for="erbanNo" class="col-sm-3 control-label"
>Peko ID</label
>
<div class="col-sm-9">
<input type="text" class="form-control" id="erbanNo" />
</div>
</div>
<div class="form-group">
<label for="starLevel" class="col-sm-3 control-label"
>幸运值:</label
>
<div class="col-sm-9">
<select name="starLevel" id="starLevel">
<option value="">-- 请选择 --</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">代充地区</label>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">
取消
</button>
<button type="button" class="btn btn-primary" id="save">确认</button>
</div>
</div>
</div>
</div>
<div
class="modal fade"
id="tipModal"
tabindex="-1"
role="dialog"
aria-labelledby="modalLabel"
>
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">提示信息</h4>
</div>
<div class="modal-body" id="tipMsg"></div>
</div>
</div>
</div>
</template>
<script>
import TableHelper from '@/utils/bootstrap-table-helper';
import TableHelper from "@/utils/bootstrap-table-helper";
var regionArray;
export default {
name: "RechargeUserView",
setup() {
//切换只读
function editSeqText(obj) {
if (!regionArray) {
return;
}
var $input = $(obj);
const typeArray = $("input:checkbox[name='type']:checked").serializeArray();
if (!typeArray) {
return;
}
for (let i = 0; i < regionArray.length; i++) {
var region = regionArray[i];
var type = region.type;
var isCheck = false;
for (let j = 0; j < typeArray.length; j++) {
var value = typeArray[j].value;
if (type == value) {
isCheck = true;
break;
}
}
var $seq = $('#seq' + type);
if (isCheck) {
$seq.removeAttr('readonly');
} else {
$seq.attr('readonly', 'true');
}
}
name: "RechargeUserView",
setup() {
//切换只读
function editSeqText(obj) {
if (!regionArray) {
return;
}
var $input = $(obj);
const typeArray = $(
"input:checkbox[name='type']:checked"
).serializeArray();
if (!typeArray) {
return;
}
for (let i = 0; i < regionArray.length; i++) {
var region = regionArray[i];
var type = region.type;
var isCheck = false;
for (let j = 0; j < typeArray.length; j++) {
var value = typeArray[j].value;
if (type == value) {
isCheck = true;
break;
}
}
window.editSeqText = editSeqText;
return {
editSeqText
};
},
created() {
this.$nextTick(function () {
this.initData();
var $seq = $("#seq" + type);
if (isCheck) {
$seq.removeAttr("readonly");
} else {
$seq.attr("readonly", "true");
}
}
}
window.editSeqText = editSeqText;
return {
editSeqText,
};
},
created() {
this.$nextTick(function () {
this.initData();
});
},
methods: {
initData() {
$(function () {
//地区
regionArray = chargeRegion();
$("#table").bootstrapTable("destroy");
$("#table").bootstrapTable({
columns: [
{
field: "erbanNo",
title: "Peko ID",
align: "center",
width: "5%",
},
{ field: "nick", title: "昵称", align: "center", width: "5%" },
{
field: "starLevel",
title: "信誉值",
align: "center",
width: "5%",
},
{
field: "createTime",
title: "首次加入代充时间",
align: "center",
width: "5%",
},
{
field: "type",
title: "地区",
align: "center",
width: "5%",
formatter: function (val, row, index) {
var value = "";
if (regionArray) {
for (var i = 0, len = regionArray.length; i < len; i++) {
var region = regionArray[i];
var name = region.name;
var type = region.type;
if ((val & type) != 0) {
value += name;
if (i != len - 1) {
value += "<br>";
}
}
}
}
return value;
},
},
{
field: "userRegions",
title: "排序",
align: "center",
width: "5%",
formatter: function (val, row, index) {
var value = "";
if (row.userRegions) {
for (var i = 0, len = row.userRegions.length; i < len; i++) {
var userRegion = row.userRegions[i];
var name = userRegion.name;
var seq = userRegion.seq;
value += name + "" + seq;
if (i != len - 1) {
value += "<br>";
}
}
}
return value;
},
},
{
field: "outDiamondNum",
title: "最近30天转出金币",
align: "center",
width: "5%",
},
{
field: "id",
title: "操作",
align: "center",
width: "5%",
valign: "middle",
formatter: function (val, row, index) {
return (
'<button class="btn btn-sm btn-default opt-edit" data-index="' +
index +
'">编辑</button>' +
'<button class="btn btn-sm btn-default opt-del" data-index="' +
index +
'">删除</button>'
);
},
},
],
cache: false,
striped: true,
showRefresh: false,
pageSize: 20,
pagination: true,
pageList: [20, 50, 100],
search: false,
sidePagination: "server", //表示服务端请求
//设置为undefined可以获取pageNumberpageSizesearchTextsortNamesortOrder
//设置为limit可以获取limit, offset, search, sort, order
queryParamsType: "undefined",
queryParams: function queryParams(params) {
//设置查询参数
var param = {
page: params.pageNumber,
pageSize: params.pageSize,
erbanNo: $("#searchValue").val(),
regionType: $("#searchType").val(),
starLevel: $("#starLevel").val(),
};
return param;
},
toolbar: "#toolbar",
url: "/admin/recharge/user/page",
onLoadSuccess: function () {
//加载成功时执行
console.log("load success");
},
onLoadError: function () {
//加载失败时执行
console.log("load fail");
},
});
},
methods: {
initData() {
$(function () {
//地区
regionArray = chargeRegion();
$('#table').bootstrapTable('destroy');
$('#table').bootstrapTable({
columns: [
{ field: 'erbanNo', title: 'Peko ID', align: 'center', width: '5%' },
{ field: 'nick', title: '昵称', align: 'center', width: '5%' },
{ field: 'createTime', title: '首次加入代充时间', align: 'center', width: '5%' },
{
field: 'type',
title: '地区',
align: 'center',
width: '5%',
formatter: function (val, row, index) {
var value = '';
if (regionArray) {
for (var i = 0, len = regionArray.length; i < len; i++) {
var region = regionArray[i];
var name = region.name;
var type = region.type;
if ((val & type) != 0) {
value += name;
if (i != len - 1) {
value += '<br>';
}
}
}
}
return value;
}
},
{
field: 'userRegions',
title: '排序',
align: 'center',
width: '5%',
formatter: function (val, row, index) {
var value = '';
if (row.userRegions) {
for (var i = 0, len = row.userRegions.length; i < len; i++) {
var userRegion = row.userRegions[i];
var name = userRegion.name;
var seq = userRegion.seq;
value += name + '' + seq;
if (i != len - 1) {
value += '<br>';
}
}
}
return value;
}
},
{ field: 'outDiamondNum', title: '最近30天转出金币', align: 'center', width: '5%' },
{
field: 'id',
title: '操作',
align: 'center',
width: '5%',
valign: 'middle',
formatter: function (val, row, index) {
return '<button class="btn btn-sm btn-default opt-edit" data-index="' + index + '">编辑</button>' + '<button class="btn btn-sm btn-default opt-del" data-index="' + index + '">删除</button>';
}
}
],
cache: false,
striped: true,
showRefresh: false,
pageSize: 20,
pagination: true,
pageList: [20, 50, 100],
search: false,
sidePagination: "server", //表示服务端请求
//设置为undefined可以获取pageNumberpageSizesearchTextsortNamesortOrder
//设置为limit可以获取limit, offset, search, sort, order
queryParamsType: "undefined",
queryParams: function queryParams(params) { //设置查询参数
var param = {
page: params.pageNumber,
pageSize: params.pageSize,
erbanNo: $('#searchValue').val(),
regionType: $('#searchType').val()
};
return param;
},
toolbar: '#toolbar',
url: '/admin/recharge/user/page',
onLoadSuccess: function () { //加载成功时执行
console.log("load success");
},
onLoadError: function () { //加载失败时执行
console.log("load fail");
}
});
//地区
function chargeRegion() {
var array;
$.ajax({
type: "get",
url: "/admin/charge/region/list",
dataType: "json",
async: false,
success: function (json) {
if (json.success == 'true' || json.code == 200) {
array = json.data;
}
}
});
var $select = $('#searchType');
for (let i = 0; i < array.length; i++) {
var $option = $('<option value="' + array[i].type + '" />');
$option.html(array[i].name);
$select.append($option);
}
return array;
}
//新增
$('#btnAdd').on('click', function () {
$("#id").val('');
$("#erbanNo").val('');
showRegion();
$("#editModal").modal('show');
});
// 查询刷新
$('#btnSearch').on('click', function () {
TableHelper.doRefresh('#table');
});
//展示地区
function showRegion() {
if (!regionArray) {
return;
}
var $form = $('#editModal .modal-body .form-horizontal');
for (let i = 0, len = regionArray.length; i < len; i++) {
$('#region' + i).remove();
var region = regionArray[i];
var name = region.name;
var type = region.type;
var $formGroup = $('<div/>');
$formGroup.attr('id', 'region' + i);
$formGroup.attr('class', 'form-group');
var $label = $('<label/>');
$label.attr('class', 'col-sm-3 control-label');
$label.html('<input type="checkbox" name="type" value="' + type + '" onclick=\"editSeqText(this);\"/>&nbsp;' + name);
$formGroup.append($label);
var $div = $('<div/>');
$div.attr('class', 'col-sm-9');
$div.html('<input type="text" readonly class="form-control" id="seq' + type + '" value="0"/>');
$formGroup.append($div);
$form.append($formGroup);
}
}
//保存
$("#save").click(function () {
const msg = '确定要保存吗?';
if (confirm(msg)) {
var id = $('#id').val();
const typeArray = $("input:checkbox[name='type']:checked").serializeArray();
if (!typeArray) {
$("#tipMsg").text("代充地区不能为空");
$("#tipModal").modal('show');
return;
}
var userRegionArray = [];
for (let i = 0; i < regionArray.length; i++) {
var region = regionArray[i];
var name = region.name;
var seq = 0;
var isCheck = false;
for (let j = 0; j < typeArray.length; j++) {
console.log(typeArray[j]);
if (typeArray[j] && region.type == typeArray[j].value) {
seq = $('#seq' + region.type).val();
isCheck = true;
break;
}
}
var userRegion = {
type: region.type,
name: region.name,
isCheck: isCheck,
seq: seq
};
userRegionArray.push(userRegion);
}
var data = {
erbanNo: $('#erbanNo').val(),
userRegions: JSON.stringify(userRegionArray)
};
if (id) {
data.id = id;
}
$.ajax({
type: "post",
url: "/admin/recharge/user/save",
data: data,
dataType: "json",
success: function (json) {
if (json.success == 'true' || json.code == 200) {
$("#tipMsg").text("保存成功");
$("#tipModal").modal('show');
TableHelper.doRefresh("#table");
$("#editModal").modal('hide');
} else {
$("#tipMsg").text("保存失败." + json.message);
$("#tipModal").modal('show');
$("#editModal").modal('hide');
}
}
});
}
});
//编辑
$('#table').on('click', '.opt-edit', function () {
const currentData = $('#table').bootstrapTable('getData')[$(this).data('index')];
showRegion();
var id = currentData.id;
var erbanNo = currentData.erbanNo;
var userRegions = currentData.userRegions;
$("#erbanNo").val(erbanNo);
$("#id").val(id);
if (regionArray) {
for (let i = 0; i < regionArray.length; i++) {
var region = regionArray[i];
var seq = 0;
var isCheck = false;
for (let j = 0; j < userRegions.length; j++) {
var userRegion = userRegions[j];
if (region.type == userRegion.type) {
seq = userRegion.seq;
isCheck = true;
break;
}
}
if (isCheck) {
$('input:checkbox[value="' + region.type + '"]').prop('checked', true);
$('#seq' + region.type).removeAttr('readonly');
$('#seq' + region.type).val(seq);
} else {
$("input:checkbox[value='" + region.type + "']").prop('checked', false);
$('#seq' + region.type).attr('readonly', 'true');
$('#seq' + region.type).val(0);
}
}
}
$("#editModal").modal('show');
});
//删除
$('#table').on('click', '.opt-del', function () {
const currentData = $('#table').bootstrapTable('getData')[$(this).data('index')];
var id = currentData.id;
const msg = '确定要删除吗?';
if (confirm(msg)) {
$.ajax({
type: "get",
url: "/admin/recharge/user/del?id=" + id,
dataType: "json",
success: function (json) {
if (json.success == 'true' || json.code == 200) {
$("#tipMsg").text("删除成功");
$("#tipModal").modal('show');
TableHelper.doRefresh("#table");
$("#editModal").modal('hide');
} else {
$("#tipMsg").text("删除失败." + json.message);
$("#tipModal").modal('show');
$("#editModal").modal('hide');
}
}
});
}
});
});
//地区
function chargeRegion() {
var array;
$.ajax({
type: "get",
url: "/admin/charge/region/list",
dataType: "json",
async: false,
success: function (json) {
if (json.success == "true" || json.code == 200) {
array = json.data;
}
},
});
var $select = $("#searchType");
for (let i = 0; i < array.length; i++) {
var $option = $('<option value="' + array[i].type + '" />');
$option.html(array[i].name);
$select.append($option);
}
return array;
}
},
//新增
$("#btnAdd").on("click", function () {
$("#id").val("");
$("#erbanNo").val("");
$("#starLevel").val("");
showRegion();
$("#editModal").modal("show");
});
// 查询刷新
$("#btnSearch").on("click", function () {
TableHelper.doRefresh("#table");
});
//展示地区
function showRegion() {
if (!regionArray) {
return;
}
var $form = $("#editModal .modal-body .form-horizontal");
for (let i = 0, len = regionArray.length; i < len; i++) {
$("#region" + i).remove();
var region = regionArray[i];
var name = region.name;
var type = region.type;
var $formGroup = $("<div/>");
$formGroup.attr("id", "region" + i);
$formGroup.attr("class", "form-group");
var $label = $("<label/>");
$label.attr("class", "col-sm-3 control-label");
$label.html(
'<input type="checkbox" name="type" value="' +
type +
'" onclick="editSeqText(this);"/>&nbsp;' +
name
);
$formGroup.append($label);
var $div = $("<div/>");
$div.attr("class", "col-sm-9");
$div.html(
'<input type="text" readonly class="form-control" id="seq' +
type +
'" value="0"/>'
);
$formGroup.append($div);
$form.append($formGroup);
}
}
//保存
$("#save").click(function () {
const msg = "确定要保存吗?";
if (confirm(msg)) {
var id = $("#id").val();
const typeArray = $(
"input:checkbox[name='type']:checked"
).serializeArray();
if (!typeArray) {
$("#tipMsg").text("代充地区不能为空");
$("#tipModal").modal("show");
return;
}
var userRegionArray = [];
for (let i = 0; i < regionArray.length; i++) {
var region = regionArray[i];
var name = region.name;
var seq = 0;
var isCheck = false;
for (let j = 0; j < typeArray.length; j++) {
console.log(typeArray[j]);
if (typeArray[j] && region.type == typeArray[j].value) {
seq = $("#seq" + region.type).val();
isCheck = true;
break;
}
}
var userRegion = {
type: region.type,
name: region.name,
isCheck: isCheck,
seq: seq,
};
userRegionArray.push(userRegion);
}
var data = {
erbanNo: $("#erbanNo").val(),
starLevel: $("#starLevel").val(),
userRegions: JSON.stringify(userRegionArray),
};
if (id) {
data.id = id;
}
$.ajax({
type: "post",
url: "/admin/recharge/user/save",
data: data,
dataType: "json",
success: function (json) {
if (json.success == "true" || json.code == 200) {
$("#tipMsg").text("保存成功");
$("#tipModal").modal("show");
TableHelper.doRefresh("#table");
$("#editModal").modal("hide");
} else {
$("#tipMsg").text("保存失败." + json.message);
$("#tipModal").modal("show");
$("#editModal").modal("hide");
}
},
});
}
});
//编辑
$("#table").on("click", ".opt-edit", function () {
const currentData =
$("#table").bootstrapTable("getData")[$(this).data("index")];
showRegion();
var id = currentData.id;
var erbanNo = currentData.erbanNo;
var starLevel = currentData.starLevel;
var userRegions = currentData.userRegions;
$("#erbanNo").val(erbanNo);
$("#starLevel").val(starLevel);
$("#id").val(id);
if (regionArray) {
for (let i = 0; i < regionArray.length; i++) {
var region = regionArray[i];
var seq = 0;
var isCheck = false;
for (let j = 0; j < userRegions.length; j++) {
var userRegion = userRegions[j];
if (region.type == userRegion.type) {
seq = userRegion.seq;
isCheck = true;
break;
}
}
if (isCheck) {
$('input:checkbox[value="' + region.type + '"]').prop(
"checked",
true
);
$("#seq" + region.type).removeAttr("readonly");
$("#seq" + region.type).val(seq);
} else {
$("input:checkbox[value='" + region.type + "']").prop(
"checked",
false
);
$("#seq" + region.type).attr("readonly", "true");
$("#seq" + region.type).val(0);
}
}
}
$("#editModal").modal("show");
});
//删除
$("#table").on("click", ".opt-del", function () {
const currentData =
$("#table").bootstrapTable("getData")[$(this).data("index")];
var id = currentData.id;
const msg = "确定要删除吗?";
if (confirm(msg)) {
$.ajax({
type: "get",
url: "/admin/recharge/user/del?id=" + id,
dataType: "json",
success: function (json) {
if (json.success == "true" || json.code == 200) {
$("#tipMsg").text("删除成功");
$("#tipModal").modal("show");
TableHelper.doRefresh("#table");
$("#editModal").modal("hide");
} else {
$("#tipMsg").text("删除失败." + json.message);
$("#tipModal").modal("show");
$("#editModal").modal("hide");
}
},
});
}
});
});
},
},
};
</script>