新增用户退款查询
This commit is contained in:
34
src/api/refund/refund.js
Normal file
34
src/api/refund/refund.js
Normal file
@@ -0,0 +1,34 @@
|
||||
import request from '@/utils/request';
|
||||
import qs from 'qs';
|
||||
import { genQueryParam } from '@/utils/maintainer';
|
||||
// 活动配置 相关接口(一级菜单:活动配置)
|
||||
|
||||
// 分区接口
|
||||
export const listPartitionInfo = query => {
|
||||
return request({
|
||||
url: '/partition/listPartitionInfo',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
// 国家
|
||||
export const regionInfoList = query => {
|
||||
return request({
|
||||
url: 'regionInfo/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
// 列表
|
||||
export const refundList = query => {
|
||||
return request({
|
||||
url: '/admin/chargeRecord/refundList',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
// 导出
|
||||
export const refundExport = query => {
|
||||
window.location.href = `/admin/chargeRecord/refundExport?${genQueryParam(query)}`;
|
||||
return;
|
||||
};
|
@@ -1,189 +1,283 @@
|
||||
<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">
|
||||
<form id="searchForm" action="/admin/recharge/user/give/export" method="get" target="_blank">
|
||||
<div class="col-sm-12">
|
||||
<label for="fromErBanNo" class="col-sm-2 control-label">转出人id:</label>
|
||||
<div class="col-sm-2">
|
||||
<input type="text" class="form-control" name="fromErBanNo" id="fromErBanNo">
|
||||
</div>
|
||||
<label for="toErBanNo" class="col-sm-2 control-label">收入人id:</label>
|
||||
<div class="col-sm-2">
|
||||
<input type="text" class="form-control" name="toErBanNo" id="toErBanNo">
|
||||
</div>
|
||||
<label for="toRegion" class="col-sm-2 control-label">收入人地区:</label>
|
||||
<div class="col-sm-2">
|
||||
<select name="toRegion" id="toRegion" data-btn-class="btn-warning" class="form-control">
|
||||
<option value="" selected="selected">全部</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<label for="startTime" class="col-sm-2 control-label">时间:</label>
|
||||
<div class="col-sm-3"><input type="text" class="form-control" name="startTime" id="startTime">
|
||||
</div>
|
||||
<label for="endTime" class="col-sm-1 control-label">-</label>
|
||||
<div class="col-sm-3"><input type="text" class="form-control" name="endTime" id="endTime"></div>
|
||||
</div>
|
||||
</form>
|
||||
<button id="btnSearch" class="btn btn-default">
|
||||
<i class="glyphicon glyphicon-search"></i>查询
|
||||
</button>
|
||||
<button id="btnExport" class="btn btn-default">
|
||||
<i class="glyphicon glyphicon-Export"></i>导出
|
||||
</button>
|
||||
</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">
|
||||
<form
|
||||
id="searchForm"
|
||||
action="/admin/recharge/user/give/export"
|
||||
method="get"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="col-sm-12">
|
||||
<label for="fromErBanNo" class="col-sm-2 control-label"
|
||||
>转出人id:</label
|
||||
>
|
||||
<div class="col-sm-2">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
name="fromErBanNo"
|
||||
id="fromErBanNo"
|
||||
/>
|
||||
</div>
|
||||
<label for="toErBanNo" class="col-sm-2 control-label"
|
||||
>收入人id:</label
|
||||
>
|
||||
<div class="col-sm-2">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
name="toErBanNo"
|
||||
id="toErBanNo"
|
||||
/>
|
||||
</div>
|
||||
<label for="toRegion" class="col-sm-2 control-label"
|
||||
>收入人地区:</label
|
||||
>
|
||||
<div class="col-sm-2">
|
||||
<select
|
||||
name="toRegion"
|
||||
id="toRegion"
|
||||
data-btn-class="btn-warning"
|
||||
class="form-control"
|
||||
>
|
||||
<option value="" selected="selected">全部</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<label for="startTime" class="col-sm-2 control-label"
|
||||
>时间:</label
|
||||
>
|
||||
<div class="col-sm-3">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
name="startTime"
|
||||
id="startTime"
|
||||
/>
|
||||
</div>
|
||||
<label for="endTime" class="col-sm-1 control-label">-</label>
|
||||
<div class="col-sm-3">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
name="endTime"
|
||||
id="endTime"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div>
|
||||
<label for="qNewUser">转赠金币数:0</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="qNewUser">转赠非充值代理用户总数:0</label>
|
||||
</div>
|
||||
<button id="btnSearch" class="btn btn-default">
|
||||
<i class="glyphicon glyphicon-search"></i>查询
|
||||
</button>
|
||||
<button id="btnExport" class="btn btn-default">
|
||||
<i class="glyphicon glyphicon-Export"></i>导出
|
||||
</button>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TableHelper from '@/utils/bootstrap-table-helper';
|
||||
import TableHelper from "@/utils/bootstrap-table-helper";
|
||||
|
||||
export default {
|
||||
name: "RechargeDiamondGiveDetailView",
|
||||
setup() {
|
||||
return {};
|
||||
},
|
||||
created() {
|
||||
this.$nextTick(function () {
|
||||
this.initData();
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
initData() {
|
||||
$(function () {
|
||||
userRegion();
|
||||
$('#table').bootstrapTable('destroy');
|
||||
$('#table').bootstrapTable({
|
||||
columns: [
|
||||
{ field: 'createTime', title: '时间', align: 'center', width: '5%' },
|
||||
{ field: 'fromErBanNo', title: '转出人peko id', align: 'center', width: '5%' },
|
||||
{ field: 'fromNick', title: '转出人昵称', align: 'center', width: '5%' },
|
||||
{ field: 'fromClanName', title: '转出人所在公会', align: 'center', width: '5%' },
|
||||
{
|
||||
field: 'fromRegion',
|
||||
title: '转出人所属代充地区',
|
||||
align: 'center',
|
||||
width: '5%',
|
||||
formatter: function (val, row, index) {
|
||||
var value = '';
|
||||
if (val) {
|
||||
var array = val.split(',');
|
||||
for (let i = 0, len = array.length; i < len; i++) {
|
||||
var region = array[i];
|
||||
value += region;
|
||||
if (i != len - 1) {
|
||||
value += '<br/>';
|
||||
}
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
},
|
||||
{ field: 'toErBanNo', title: '收入人peko id', align: 'center', width: '5%' },
|
||||
{ field: 'toNick', title: '收入人昵称', align: 'center', width: '5%' },
|
||||
{ field: 'toRegion', title: '收入人地区', align: 'center', width: '5%' },
|
||||
{ field: 'inviteCode', title: '收入人填写的邀请码', align: 'center', width: '5%' },
|
||||
{ field: 'diamondNum', title: '转赠数额', align: 'center', width: '5%' },
|
||||
],
|
||||
cache: false,
|
||||
striped: true,
|
||||
showRefresh: false,
|
||||
pageSize: 20,
|
||||
pagination: true,
|
||||
pageList: [20, 50, 100],
|
||||
search: false,
|
||||
sidePagination: "server", //表示服务端请求
|
||||
//设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
|
||||
//设置为limit可以获取limit, offset, search, sort, order
|
||||
queryParamsType: "undefined",
|
||||
queryParams: function queryParams(params) { //设置查询参数
|
||||
var param = {
|
||||
page: params.pageNumber,
|
||||
pageSize: params.pageSize,
|
||||
fromErBanNo: $('#fromErBanNo').val(),
|
||||
toErBanNo: $('#toErBanNo').val(),
|
||||
toRegion: $('#toRegion').val(),
|
||||
startTime: $('#startTime').val(),
|
||||
endTime: $('#endTime').val(),
|
||||
};
|
||||
return param;
|
||||
},
|
||||
toolbar: '#toolbar',
|
||||
url: '/admin/recharge/user/give/dayDetailPage',
|
||||
onLoadSuccess: function () { //加载成功时执行
|
||||
console.log("load success");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.log("load fail");
|
||||
}
|
||||
});
|
||||
|
||||
var picker1 = $("#startTime").datetimepicker({
|
||||
format: 'yyyy-mm-dd hh:ii:00',
|
||||
todayBtn: true,
|
||||
autoclose: true,
|
||||
});
|
||||
var picker2 = $("#endTime").datetimepicker({
|
||||
format: 'yyyy-mm-dd hh:ii:00',
|
||||
todayBtn: true,
|
||||
autoclose: true
|
||||
});
|
||||
picker1.on('changeDate', function () {
|
||||
var date = $('#startTime').datetimepicker('getDate');
|
||||
picker2.datetimepicker('setStartDate', date);
|
||||
});
|
||||
picker2.on('changeDate', function () {
|
||||
var date = $('#endTime').datetimepicker('getDate');
|
||||
picker1.datetimepicker('setEndDate', date);
|
||||
});
|
||||
|
||||
//导出功能
|
||||
$("#btnExport").on('click', function () {
|
||||
$("#searchForm").submit();
|
||||
});
|
||||
|
||||
// 查询刷新
|
||||
$('#btnSearch').on('click', function () {
|
||||
TableHelper.doRefresh('#table');
|
||||
});
|
||||
|
||||
//用户地区
|
||||
function userRegion() {
|
||||
var array;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/admin/recharge/user/give/getRegion",
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function (json) {
|
||||
if (json.success == 'true' || json.code == 200) {
|
||||
array = json.data;
|
||||
}
|
||||
}
|
||||
});
|
||||
var $select = $('#toRegion');
|
||||
for (let i = 0; i < array.length; i++) {
|
||||
var value = array[i];
|
||||
var $option = $('<option value="' + value + '" />');
|
||||
$option.html(value);
|
||||
$select.append($option);
|
||||
name: "RechargeDiamondGiveDetailView",
|
||||
setup() {
|
||||
return {};
|
||||
},
|
||||
created() {
|
||||
this.$nextTick(function () {
|
||||
this.initData();
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
initData() {
|
||||
$(function () {
|
||||
userRegion();
|
||||
$("#table").bootstrapTable("destroy");
|
||||
$("#table").bootstrapTable({
|
||||
columns: [
|
||||
{
|
||||
field: "createTime",
|
||||
title: "时间",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{
|
||||
field: "fromErBanNo",
|
||||
title: "转出人peko id",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{
|
||||
field: "fromNick",
|
||||
title: "转出人昵称",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{
|
||||
field: "fromClanName",
|
||||
title: "转出人所在公会",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{
|
||||
field: "fromRegion",
|
||||
title: "转出人所属代充地区",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
formatter: function (val, row, index) {
|
||||
var value = "";
|
||||
if (val) {
|
||||
var array = val.split(",");
|
||||
for (let i = 0, len = array.length; i < len; i++) {
|
||||
var region = array[i];
|
||||
value += region;
|
||||
if (i != len - 1) {
|
||||
value += "<br/>";
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
return value;
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "toErBanNo",
|
||||
title: "收入人peko id",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{
|
||||
field: "toNick",
|
||||
title: "收入人昵称",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{
|
||||
field: "toRegion",
|
||||
title: "收入人地区",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{
|
||||
field: "inviteCode",
|
||||
title: "收入人填写的邀请码",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{
|
||||
field: "diamondNum",
|
||||
title: "转赠数额",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
],
|
||||
cache: false,
|
||||
striped: true,
|
||||
showRefresh: false,
|
||||
pageSize: 20,
|
||||
pagination: true,
|
||||
pageList: [20, 50, 100],
|
||||
search: false,
|
||||
sidePagination: "server", //表示服务端请求
|
||||
//设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
|
||||
//设置为limit可以获取limit, offset, search, sort, order
|
||||
queryParamsType: "undefined",
|
||||
queryParams: function queryParams(params) {
|
||||
//设置查询参数
|
||||
var param = {
|
||||
page: params.pageNumber,
|
||||
pageSize: params.pageSize,
|
||||
fromErBanNo: $("#fromErBanNo").val(),
|
||||
toErBanNo: $("#toErBanNo").val(),
|
||||
toRegion: $("#toRegion").val(),
|
||||
startTime: $("#startTime").val(),
|
||||
endTime: $("#endTime").val(),
|
||||
};
|
||||
return param;
|
||||
},
|
||||
toolbar: "#toolbar",
|
||||
url: "/admin/recharge/user/give/dayDetailPage",
|
||||
onLoadSuccess: function () {
|
||||
//加载成功时执行
|
||||
console.log("load success");
|
||||
},
|
||||
onLoadError: function () {
|
||||
//加载失败时执行
|
||||
console.log("load fail");
|
||||
},
|
||||
});
|
||||
|
||||
var picker1 = $("#startTime").datetimepicker({
|
||||
format: "yyyy-mm-dd hh:ii:00",
|
||||
todayBtn: true,
|
||||
autoclose: true,
|
||||
});
|
||||
var picker2 = $("#endTime").datetimepicker({
|
||||
format: "yyyy-mm-dd hh:ii:00",
|
||||
todayBtn: true,
|
||||
autoclose: true,
|
||||
});
|
||||
picker1.on("changeDate", function () {
|
||||
var date = $("#startTime").datetimepicker("getDate");
|
||||
picker2.datetimepicker("setStartDate", date);
|
||||
});
|
||||
picker2.on("changeDate", function () {
|
||||
var date = $("#endTime").datetimepicker("getDate");
|
||||
picker1.datetimepicker("setEndDate", date);
|
||||
});
|
||||
|
||||
//导出功能
|
||||
$("#btnExport").on("click", function () {
|
||||
$("#searchForm").submit();
|
||||
});
|
||||
|
||||
// 查询刷新
|
||||
$("#btnSearch").on("click", function () {
|
||||
TableHelper.doRefresh("#table");
|
||||
});
|
||||
|
||||
//用户地区
|
||||
function userRegion() {
|
||||
var array;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/admin/recharge/user/give/getRegion",
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function (json) {
|
||||
if (json.success == "true" || json.code == 200) {
|
||||
array = json.data;
|
||||
}
|
||||
},
|
||||
});
|
||||
var $select = $("#toRegion");
|
||||
for (let i = 0; i < array.length; i++) {
|
||||
var value = array[i];
|
||||
var $option = $('<option value="' + value + '" />');
|
||||
$option.html(value);
|
||||
$select.append($option);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
|
@@ -5,66 +5,55 @@
|
||||
<section class="content-header">
|
||||
<h1 id="itemTitle"></h1>
|
||||
</section>
|
||||
<form id="form2"
|
||||
action=""
|
||||
method="post"
|
||||
target="_blank">
|
||||
<input type="hidden"
|
||||
name="erbanNo"
|
||||
id="exportErbanNo">
|
||||
<input type="hidden"
|
||||
name="channel"
|
||||
id="exportChannel">
|
||||
<input type="hidden"
|
||||
name="startTime"
|
||||
id="exportStartTime">
|
||||
<input type="hidden"
|
||||
name="endTime"
|
||||
id="exportEndTime">
|
||||
<input type="hidden"
|
||||
name="status"
|
||||
id="exportStatus">
|
||||
<input type="hidden"
|
||||
name="newUser"
|
||||
id="exportNewUser">
|
||||
<input type="hidden"
|
||||
name="appChannel"
|
||||
id="exportAppChannel">
|
||||
<form id="form2" action="" method="post" target="_blank">
|
||||
<input type="hidden" name="erbanNo" id="exportErbanNo" />
|
||||
<input type="hidden" name="channel" id="exportChannel" />
|
||||
<input type="hidden" name="startTime" id="exportStartTime" />
|
||||
<input type="hidden" name="endTime" id="exportEndTime" />
|
||||
<input type="hidden" name="status" id="exportStatus" />
|
||||
<input type="hidden" name="newUser" id="exportNewUser" />
|
||||
<input type="hidden" name="appChannel" id="exportAppChannel" />
|
||||
</form>
|
||||
<section class="content">
|
||||
<div id="toolbar">
|
||||
<form class="form-inline">
|
||||
<div class="form-group">
|
||||
<label for="qErbanNo">平台号:</label>
|
||||
<input type="text"
|
||||
class="form-control"
|
||||
name="erbanNo"
|
||||
id="qErbanNo">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
name="erbanNo"
|
||||
id="qErbanNo"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="qChannel">渠道:</label>
|
||||
<input type="text"
|
||||
class="form-control"
|
||||
name="channel"
|
||||
id="qChannel">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
name="channel"
|
||||
id="qChannel"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="qChannel">时间:</label>
|
||||
<input type="text"
|
||||
class="form-control datetime"
|
||||
name="startTime"
|
||||
id="qStartTime">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control datetime"
|
||||
name="startTime"
|
||||
id="qStartTime"
|
||||
/>
|
||||
<label for="qChannel">-</label>
|
||||
<input type="text"
|
||||
class="form-control datetime"
|
||||
name="endTime"
|
||||
id="qEndTime">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control datetime"
|
||||
name="endTime"
|
||||
id="qEndTime"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="qStatus">状态:</label>
|
||||
<select class="form-control"
|
||||
name="status"
|
||||
id="qStatus">
|
||||
<select class="form-control" name="status" id="qStatus">
|
||||
<option value="">全部</option>
|
||||
<option value="1">发起充值</option>
|
||||
<option value="2">充值成功</option>
|
||||
@@ -72,9 +61,7 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="qNewUser">新用户:</label>
|
||||
<select class="form-control"
|
||||
name="newUser"
|
||||
id="qNewUser">
|
||||
<select class="form-control" name="newUser" id="qNewUser">
|
||||
<option value="">全部</option>
|
||||
<option value="1">是</option>
|
||||
<option value="0">否</option>
|
||||
@@ -82,20 +69,29 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="qChannel">app渠道</label>
|
||||
<input type="text"
|
||||
class="form-control"
|
||||
name="appChannel"
|
||||
id="qAppChannel">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
name="appChannel"
|
||||
id="qAppChannel"
|
||||
/>
|
||||
</div>
|
||||
</form>
|
||||
<button id="btnSearch"
|
||||
class="btn btn-sm btn-primary">查询</button>
|
||||
<button id="btnExport"
|
||||
class="btn btn-sm btn-primary">导出</button>
|
||||
<div>
|
||||
<label for="qNewUser">总充值(USD):0</label>
|
||||
</div>
|
||||
<div>
|
||||
<label for="qNewUser">其他货币</label>
|
||||
</div>
|
||||
<div>
|
||||
<label style="margin-right:10px" for="qNewUser">PHP:0</label>
|
||||
<label for="qNewUser">USD:0</label>
|
||||
</div>
|
||||
<button id="btnSearch" class="btn btn-sm btn-primary">查询</button>
|
||||
<button id="btnExport" class="btn btn-sm btn-primary">导出</button>
|
||||
</div>
|
||||
<!-- .content -->
|
||||
<div class="content"
|
||||
id="table"></div>
|
||||
<div class="content" id="table"></div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
@@ -103,61 +99,101 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TableHelper from '@/utils/bootstrap-table-helper';
|
||||
import TableHelper from "@/utils/bootstrap-table-helper";
|
||||
|
||||
export default {
|
||||
name: "ChargeRecordView",
|
||||
setup () {
|
||||
setup() {
|
||||
return {};
|
||||
},
|
||||
created () {
|
||||
created() {
|
||||
this.$nextTick(function () {
|
||||
this.initData();
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
initData () {
|
||||
initData() {
|
||||
$(function () {
|
||||
$('.datetime').datetimepicker({
|
||||
format: 'yyyy-mm-dd hh:ii:00',
|
||||
autoclose: true
|
||||
$(".datetime").datetimepicker({
|
||||
format: "yyyy-mm-dd hh:ii:00",
|
||||
autoclose: true,
|
||||
});
|
||||
$('#table').bootstrapTable('destroy');
|
||||
$('#table').bootstrapTable({
|
||||
$("#table").bootstrapTable("destroy");
|
||||
$("#table").bootstrapTable({
|
||||
columns: [
|
||||
{ field: 'erbanNo', title: '平台号', align: 'center', width: '5%' },
|
||||
{ field: 'uid', title: 'uid', align: 'center', width: '5%' },
|
||||
{ field: 'nick', title: '昵称', align: 'center', width: '5%' },
|
||||
{ field: 'partitionName', title: '分区', align: 'center', width: '5%' },
|
||||
{ field: 'createTime', title: '创建时间', align: 'center', valign: 'middle', width: '10%' },
|
||||
{ field: 'channel', title: '渠道', align: 'center', width: '5%' },
|
||||
{ field: 'localCurrencyCode', title: '当地货币代码', align: 'center', width: '5%' },
|
||||
{ field: 'localAmount', title: '当地金额', align: 'center', width: '5%' },
|
||||
{ field: 'chargeRecordId', title: '商户订单号', align: 'center', width: '5%' },
|
||||
{ field: 'pingxxChargeId', title: '第三方订单号', align: 'center', width: '5%' },
|
||||
{ field: "erbanNo", title: "平台号", align: "center", width: "5%" },
|
||||
{ field: "uid", title: "uid", align: "center", width: "5%" },
|
||||
{ field: "nick", title: "昵称", align: "center", width: "5%" },
|
||||
{
|
||||
field: 'status', title: '状态', align: 'center', width: '5%',
|
||||
field: "partitionName",
|
||||
title: "分区",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{
|
||||
field: "createTime",
|
||||
title: "创建时间",
|
||||
align: "center",
|
||||
valign: "middle",
|
||||
width: "10%",
|
||||
},
|
||||
{ field: "channel", title: "渠道", align: "center", width: "5%" },
|
||||
{
|
||||
field: "localCurrencyCode",
|
||||
title: "当地货币代码",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{
|
||||
field: "localAmount",
|
||||
title: "当地金额",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{
|
||||
field: "chargeRecordId",
|
||||
title: "商户订单号",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{
|
||||
field: "pingxxChargeId",
|
||||
title: "第三方订单号",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{
|
||||
field: "status",
|
||||
title: "状态",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
formatter: function (val, row, index) {
|
||||
if (val == 2) {
|
||||
return '充值成功';
|
||||
return "充值成功";
|
||||
} else {
|
||||
return '发起充值';
|
||||
return "发起充值";
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
field: 'newUser', title: '是否新用户', align: 'center', width: '5%',
|
||||
field: "newUser",
|
||||
title: "是否新用户",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
formatter: function (val, row, index) {
|
||||
if (val) {
|
||||
return '是';
|
||||
return "是";
|
||||
} else {
|
||||
return '否';
|
||||
return "否";
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
field: "appChannel",
|
||||
title: "app渠道",
|
||||
align: "center",
|
||||
width: "5%",
|
||||
},
|
||||
{ field: 'appChannel', title: 'app渠道', align: 'center', width: '5%' },
|
||||
],
|
||||
undefinedText: "-",
|
||||
cache: false,
|
||||
@@ -169,86 +205,88 @@ export default {
|
||||
search: false,
|
||||
sidePagination: "server", //表示服务端请求
|
||||
queryParamsType: "undefined",
|
||||
queryParams: function queryParams (params) { //设置查询参数
|
||||
queryParams: function queryParams(params) {
|
||||
//设置查询参数
|
||||
var param = {
|
||||
pageNumber: params.pageNumber,
|
||||
pageSize: params.pageSize,
|
||||
erbanNo: $('#qErbanNo').val(),
|
||||
channel: $('#qChannel').val(),
|
||||
startTime: $('#qStartTime').val(),
|
||||
endTime: $('#qEndTime').val(),
|
||||
status: $('#qStatus').val(),
|
||||
newUser: $('#qNewUser').val(),
|
||||
appChannel: $('#qAppChannel').val(),
|
||||
erbanNo: $("#qErbanNo").val(),
|
||||
channel: $("#qChannel").val(),
|
||||
startTime: $("#qStartTime").val(),
|
||||
endTime: $("#qEndTime").val(),
|
||||
status: $("#qStatus").val(),
|
||||
newUser: $("#qNewUser").val(),
|
||||
appChannel: $("#qAppChannel").val(),
|
||||
};
|
||||
return param;
|
||||
},
|
||||
ajax: function (request) { //使用ajax请求
|
||||
ajax: function (request) {
|
||||
//使用ajax请求
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: '/admin/chargeRecord/list',
|
||||
contentType: 'application/json;charset=utf-8',
|
||||
dataType: 'json',
|
||||
url: "/admin/chargeRecord/list",
|
||||
contentType: "application/json;charset=utf-8",
|
||||
dataType: "json",
|
||||
data: request.data,
|
||||
success: function (res) {
|
||||
apiResult(res);
|
||||
request.success({
|
||||
rows: res.data.records,
|
||||
total: res.data.total
|
||||
total: res.data.total,
|
||||
});
|
||||
},
|
||||
error: function (req) {
|
||||
serverError(req);
|
||||
}
|
||||
})
|
||||
},
|
||||
});
|
||||
},
|
||||
toolbar: '#toolbar',
|
||||
onLoadSuccess: function () { //加载成功时执行
|
||||
toolbar: "#toolbar",
|
||||
onLoadSuccess: function () {
|
||||
//加载成功时执行
|
||||
console.log("load success");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
onLoadError: function () {
|
||||
//加载失败时执行
|
||||
console.log("load fail");
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
// 查询刷新
|
||||
$('#btnSearch').on('click', function () {
|
||||
TableHelper.doRefresh('#table');
|
||||
$("#btnSearch").on("click", function () {
|
||||
TableHelper.doRefresh("#table");
|
||||
});
|
||||
|
||||
function serverError (req) {
|
||||
function serverError(req) {
|
||||
$("#tipMsg").text(req.responseJSON.message);
|
||||
$("#tipModal").modal('show');
|
||||
$("#tipModal").modal("show");
|
||||
}
|
||||
|
||||
function apiResult (json) {
|
||||
if (json.code == 200 && json.message == 'success') {
|
||||
function apiResult(json) {
|
||||
if (json.code == 200 && json.message == "success") {
|
||||
return true;
|
||||
}
|
||||
$("#tipMsg").text("请求失败,错误信息:" + json.message);
|
||||
$("#tipModal").modal('show');
|
||||
$("#tipModal").modal("show");
|
||||
return false;
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
$('#btnExport').on('click', function () {
|
||||
$("#btnExport").on("click", function () {
|
||||
var form = $("#form2");
|
||||
form.attr("action", "/admin/chargeRecord/exportChargeDetail");
|
||||
$('#exportErbanNo').val($('#qErbanNo').val());
|
||||
$('#exportChannel').val($('#qChannel').val());
|
||||
$('#exportStartTime').val($('#qStartTime').val());
|
||||
$('#exportEndTime').val($('#qEndTime').val());
|
||||
$('#exportStatus').val($('#qStatus').val());
|
||||
$('#exportNewUser').val($('#qNewUser').val());
|
||||
$('#exportAppChannel').val($('#qAppChannel').val());
|
||||
$("#exportErbanNo").val($("#qErbanNo").val());
|
||||
$("#exportChannel").val($("#qChannel").val());
|
||||
$("#exportStartTime").val($("#qStartTime").val());
|
||||
$("#exportEndTime").val($("#qEndTime").val());
|
||||
$("#exportStatus").val($("#qStatus").val());
|
||||
$("#exportNewUser").val($("#qNewUser").val());
|
||||
$("#exportAppChannel").val($("#qAppChannel").val());
|
||||
|
||||
form.submit();
|
||||
})
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
};
|
||||
</script>
|
||||
|
||||
|
390
src/views/refund/UserRefundQuiry.vue
Normal file
390
src/views/refund/UserRefundQuiry.vue
Normal file
@@ -0,0 +1,390 @@
|
||||
<template>
|
||||
<div class="box">
|
||||
<!-- 分区 -->
|
||||
<div class="inquire">
|
||||
<div class="block">
|
||||
<span class="demonstration">分区</span>
|
||||
<el-select
|
||||
v-model="inquire.partitionId"
|
||||
style="width: 75%"
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in inquire.partitionArr"
|
||||
:key="item.id"
|
||||
:label="item.desc"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 平台ID -->
|
||||
<div class="inquire">
|
||||
<span>平台ID</span>
|
||||
<el-input
|
||||
v-model="inquire.userId"
|
||||
placeholder=""
|
||||
class="input"
|
||||
></el-input>
|
||||
</div>
|
||||
<!-- 充值订单号 -->
|
||||
<div class="inquire">
|
||||
<span>充值订单号</span>
|
||||
<el-input
|
||||
v-model="inquire.rechargeNumber"
|
||||
placeholder=""
|
||||
class="input"
|
||||
></el-input>
|
||||
</div>
|
||||
<!-- 第三方订单号 -->
|
||||
<div class="inquire">
|
||||
<span>第三方订单号</span>
|
||||
<el-input
|
||||
v-model="inquire.partyNumber"
|
||||
placeholder=""
|
||||
class="input"
|
||||
></el-input>
|
||||
</div>
|
||||
<!-- 国家 -->
|
||||
<div class="inquire">
|
||||
<div class="block">
|
||||
<span class="demonstration">国家</span>
|
||||
<el-select
|
||||
v-model="inquire.country"
|
||||
style="width: 75%"
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in inquire.countryArr"
|
||||
:key="item.id"
|
||||
:label="jsonFun(item.name).zh"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 状态 -->
|
||||
<div class="inquire">
|
||||
<div class="block">
|
||||
<span class="demonstration">状态</span>
|
||||
<el-select
|
||||
v-model="inquire.status"
|
||||
style="width: 75%"
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in inquire.statusArr"
|
||||
:key="item.id"
|
||||
:label="item.desc"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 平台 -->
|
||||
<div class="inquire">
|
||||
<div class="block">
|
||||
<span class="demonstration">平台</span>
|
||||
<el-select
|
||||
v-model="inquire.platform"
|
||||
style="width: 75%"
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in inquire.platformArr"
|
||||
:key="item.id"
|
||||
:label="item.desc"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 支付渠道 -->
|
||||
<div class="inquire">
|
||||
<div class="block">
|
||||
<span class="demonstration">支付渠道</span>
|
||||
<el-select
|
||||
v-model="inquire.paymentChannels"
|
||||
style="width: 75%"
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in inquire.paymentChannelsArr"
|
||||
:key="item.id"
|
||||
:label="item.desc"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 时间选择器 -->
|
||||
<div class="inquire">
|
||||
<div class="block">
|
||||
<span class="demonstration">时间</span>
|
||||
<el-date-picker
|
||||
v-model="inquire.time"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
>
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 查询按钮 -->
|
||||
<el-button class="primary" type="primary" @click="getData()"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button
|
||||
class="primary"
|
||||
type="primary"
|
||||
@click="
|
||||
inquire.partitionId = 0;
|
||||
inquire.userId = '';
|
||||
inquire.rechargeNumber = '';
|
||||
inquire.partyNumber = '';
|
||||
inquire.country = 0;
|
||||
inquire.status = 0;
|
||||
inquire.platform = '';
|
||||
inquire.paymentChannels = '';
|
||||
inquire.time = '';
|
||||
getData();
|
||||
"
|
||||
>重置搜索</el-button
|
||||
>
|
||||
<el-button class="primary" type="primary" @click="exportInfoFun()"
|
||||
>导出</el-button
|
||||
>
|
||||
<div v-for="(value, key) in mapObj" :key="key">
|
||||
<el-button type="text">{{ key }}: {{ value }}, </el-button>
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="tableData"
|
||||
border
|
||||
style="width: 100%; margin-top: 25px"
|
||||
>
|
||||
<el-table-column prop="chargeStatusDesc" align="center" label="支付状态">
|
||||
</el-table-column>
|
||||
<el-table-column prop="chargeRecordId" align="center" label="订单ID" />
|
||||
<el-table-column
|
||||
prop="pingxxChargeId"
|
||||
align="center"
|
||||
label="第三方订单ID"
|
||||
/>
|
||||
<el-table-column prop="channel" align="center" label="充值渠道" />
|
||||
<el-table-column prop="erbanNo" align="center" label="平台ID" />
|
||||
<el-table-column prop="nick" align="center" label="昵称" />
|
||||
<el-table-column prop="partitionDesc" align="center" label="地区" />
|
||||
<el-table-column prop="phone" align="center" label="电话" />
|
||||
<el-table-column prop="os" align="center" label="平台" />
|
||||
<el-table-column prop="genderDesc" align="center" label="性别" />
|
||||
<el-table-column prop="chargeIp" align="center" label="用户IP" />
|
||||
<el-table-column prop="totalGold" align="center" label="金币数量" />
|
||||
<el-table-column prop="amount" align="center" label="花费金额(USD)" />
|
||||
<el-table-column
|
||||
prop="localCurrencyCode"
|
||||
align="center"
|
||||
label="当地货币代码"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="localAmount"
|
||||
align="center"
|
||||
label="当地货币花费金额"
|
||||
/>
|
||||
<el-table-column prop="createTime" align="center" label="购买时间" />
|
||||
<el-table-column prop="successTime" align="center" label="回调时间" />
|
||||
<el-table-column prop="successTime" align="center" label="退款时间" />
|
||||
<el-table-column prop="refundTime" align="center" label="退款金额" />
|
||||
<el-table-column
|
||||
prop="refundDesc"
|
||||
align="center"
|
||||
label="状态"
|
||||
></el-table-column>
|
||||
<el-table-column prop="regionName" 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>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
listPartitionInfo,
|
||||
refundList,
|
||||
regionInfoList,
|
||||
refundExport,
|
||||
} from "@/api/refund/refund";
|
||||
// @ts-ignore
|
||||
import { dateFormat } from "@/utils/system-helper";
|
||||
// @ts-ignore
|
||||
import { ElMessage } from "element-plus";
|
||||
export default {
|
||||
name: "userRefundQuiry",
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
delDialog: false,
|
||||
delDialogData: null,
|
||||
mapObj: {},
|
||||
//查询所需条件对象
|
||||
inquire: {
|
||||
partitionId: 0,
|
||||
partitionArr: [],
|
||||
userId: "",
|
||||
rechargeNumber: "",
|
||||
partyNumber: "",
|
||||
country: "",
|
||||
countryArr: [],
|
||||
status: "",
|
||||
statusArr: [
|
||||
{ desc: "全部", id: 0 },
|
||||
{ desc: "退款中", id: 2 },
|
||||
{ desc: "退款成功", id: 1 },
|
||||
{ desc: "退款失败", id: 3 },
|
||||
],
|
||||
platform: "",
|
||||
platformArr: [
|
||||
{ desc: "全部", id: "" },
|
||||
{ desc: "Android", id: "android" },
|
||||
{ desc: "iOS", id: "iOS" },
|
||||
],
|
||||
paymentChannels: "",
|
||||
paymentChannelsArr: [
|
||||
{ desc: "google内购", id: "google_play_billing" },
|
||||
{ desc: "payermax", id: "payermax" },
|
||||
{ desc: "myCard", id: "MyCard" },
|
||||
{ desc: "startPay", id: "start_pay" },
|
||||
{ desc: "ios内购", id: "ios_pay" },
|
||||
{ desc: "对公打款", id: "company" },
|
||||
],
|
||||
time: "",
|
||||
},
|
||||
// 表格
|
||||
tableData: [],
|
||||
// 分页
|
||||
total: 10, //总页数
|
||||
currentPage: 1, //页码
|
||||
pageSize: 10, //条数
|
||||
};
|
||||
},
|
||||
created() {
|
||||
listPartitionInfo().then((res) => {
|
||||
this.inquire.partitionArr = res.data;
|
||||
this.inquire.partitionId = this.inquire.partitionArr[0].id;
|
||||
});
|
||||
regionInfoList().then((res) => {
|
||||
this.inquire.countryArr = res.data;
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
// 查询接口
|
||||
getData() {
|
||||
this.loading = true;
|
||||
let time = this.inquire.time;
|
||||
let startTime = "";
|
||||
let endTime = "";
|
||||
if (time && time.length > 0) {
|
||||
startTime = dateFormat(this.inquire.time[0], "yyyy-MM-dd 00:00:00");
|
||||
endTime = dateFormat(this.inquire.time[1], "yyyy-MM-dd 23:59:59");
|
||||
}
|
||||
refundList({
|
||||
partitionId: this.inquire.partitionId,
|
||||
channel: this.inquire.paymentChannels,
|
||||
chargeRecordId: this.inquire.rechargeNumber,
|
||||
pingxxChargeId: this.inquire.partyNumber,
|
||||
refundStatus: this.inquire.status,
|
||||
regionId: this.inquire.country,
|
||||
os: this.inquire.platform,
|
||||
erbanNo: this.inquire.userId,
|
||||
pageNo: this.currentPage,
|
||||
pageSize: this.pageSize,
|
||||
beginDate: startTime,
|
||||
endDate: endTime,
|
||||
}).then((res) => {
|
||||
this.total = res.total;
|
||||
this.tableData = res.rows;
|
||||
this.mapObj = res.totalMap;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
jsonFun(val) {
|
||||
return JSON.parse(val);
|
||||
},
|
||||
exportInfoFun() {
|
||||
let time = this.inquire.time;
|
||||
let startTime = "";
|
||||
let endTime = "";
|
||||
if (time && time.length > 0) {
|
||||
startTime = dateFormat(this.inquire.time[0], "yyyy-MM-dd 00:00:00");
|
||||
endTime = dateFormat(this.inquire.time[1], "yyyy-MM-dd 23:59:59");
|
||||
}
|
||||
refundExport({
|
||||
partitionId: this.inquire.partitionId,
|
||||
channel: this.inquire.paymentChannels,
|
||||
chargeRecordId: this.inquire.rechargeNumber,
|
||||
pingxxChargeId: this.inquire.partyNumber,
|
||||
refundStatus: this.inquire.status,
|
||||
regionId: this.inquire.country,
|
||||
os: this.inquire.platform,
|
||||
erbanNo: this.inquire.userId,
|
||||
pageNo: this.currentPage,
|
||||
pageSize: this.pageSize,
|
||||
beginDate: startTime,
|
||||
endDate: endTime,
|
||||
}).then();
|
||||
},
|
||||
// 分页导航
|
||||
handleSizeChange() {
|
||||
this.getData();
|
||||
},
|
||||
handleCurrentChange() {
|
||||
this.getData();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.box {
|
||||
padding-top: 20px;
|
||||
background: #ecf0f5;
|
||||
.inquire {
|
||||
display: inline-block;
|
||||
margin-right: 20px;
|
||||
margin-bottom: 10px;
|
||||
span {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.input {
|
||||
width: 180px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
.dialogTableVisibleBut {
|
||||
display: block;
|
||||
margin: 30px 0 0 830px;
|
||||
}
|
||||
.paginationClass {
|
||||
margin: 15px 0 5px 0px;
|
||||
}
|
||||
}
|
||||
.selectBox {
|
||||
display: flex;
|
||||
height: 35px;
|
||||
line-height: 35px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.selectBoxImg {
|
||||
height: 150px;
|
||||
}
|
||||
</style>
|
Reference in New Issue
Block a user