银行卡记录

This commit is contained in:
faiz 2024-12-05 15:29:31 +08:00
parent b221e3944c
commit fcd071192d
3 changed files with 240 additions and 0 deletions

View File

@ -385,6 +385,12 @@ export function brokerageLogLst(data) {
export function bonusLogLst(data) { export function bonusLogLst(data) {
return request.get(`user/brokerage/bonus/log`, data) return request.get(`user/brokerage/bonus/log`, data)
} }
/**
* @description 银行卡 -- 列表
*/
export function backListApi(data) {
return request.get(`user/extract/back_list`, data)
}
/** /**
* @description 积分日志 -- 导出 * @description 积分日志 -- 导出
*/ */

View File

@ -39,6 +39,15 @@ const promoterRouter =
}, },
component: () => import('@/views/promoter/bonusLog/index') component: () => import('@/views/promoter/bonusLog/index')
}, },
{
path: 'bankCard',
name: 'bankCard',
meta: {
title: '银行卡记录',
noCache: true
},
component: () => import('@/views/promoter/bankCard/index')
},
{ {
path: 'user', path: 'user',
name: 'AccountsUser', name: 'AccountsUser',

View File

@ -0,0 +1,225 @@
<template>
<div class="divBox">
<div class="selCard mb14">
<el-form
:model="tableFrom"
ref="searchForm"
inline
size="small"
label-width="85px"
>
<!-- <el-form-item label="选择时间:">
<el-date-picker
v-model="timeVal"
value-format="yyyy/MM/dd"
format="yyyy/MM/dd"
:picker-options="pickerOptions"
type="daterange"
placement="bottom-end"
placeholder="自定义时间"
style="width: 280px"
@change="onchangeTime"
/>
</el-form-item> -->
<el-form-item label="账号:" prop="keyword">
<el-input
v-model="tableFrom.keyword"
@keyup.enter.native="getList(1)"
placeholder="请输入账号"
class="selWidth"
clearable
/>
</el-form-item>
<el-form-item label="身份证号:" prop="id_card">
<el-input
v-model="tableFrom.id_card"
@keyup.enter.native="getList(1)"
placeholder="请输入身份证号"
class="selWidth"
clearable
/>
</el-form-item>
<el-form-item label="银行卡号:" prop="keyword">
<el-input
v-model="tableFrom.bank_code"
@keyup.enter.native="getList(1)"
placeholder="请输入银行卡号"
class="selWidth"
clearable
/>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" @click="getList(1)"
>搜索</el-button
>
<el-button size="small" @click="searchReset()">重置</el-button>
</el-form-item>
</el-form>
</div>
<!-- <cards-data v-if="cardLists.length > 0" :card-lists="cardLists" /> -->
<el-card>
<!-- <div class="mb20">
<el-button size="small" type="primary" @click="exports">导出</el-button>
</div> -->
<el-table v-loading="listLoading" :data="tableData.data" size="small">
<!-- <el-table-column prop="bill_id" label="ID" min-width="50" /> -->
<!-- <el-table-column label="用户昵称" prop="real_name" min-width="150" /> -->
<el-table-column prop="phone" label="手机号" min-width="120" />
<el-table-column prop="real_name" label="真实姓名" min-width="120" />
<el-table-column prop="id_card" label="身份证号码" min-width="120" />
<el-table-column label="银行名称" prop="bank_name" min-width="120" />
<el-table-column label="支行名称" prop="bank_address" min-width="120" />
<el-table-column label="银行卡号" prop="bank_code" min-width="90" />
<!-- <el-table-column prop="mark" label="备注" min-width="150" /> -->
<el-table-column prop="create_time" label="添加时间" min-width="90" />
</el-table>
<div class="block">
<el-pagination
background
:page-size="tableFrom.limit"
:current-page="tableFrom.page"
layout="total, prev, pager, next, jumper"
:total="tableData.total"
@size-change="handleSizeChange"
@current-change="pageChange"
/>
</div>
</el-card>
</div>
</template>
<script>
import { backListApi, bonusExport } from "@/api/marketing";
import fileList from "@/components/exportFile/fileList";
import cardsData from "@/components/cards/index";
import createWorkBook from "@/utils/newToExcel.js";
import { roterPre } from "@/settings";
import timeOptions from "@/utils/timeOptions";
export default {
name: "IntergralLog",
components: { fileList, cardsData },
data() {
return {
pickerOptions: timeOptions,
timeVal: [],
listLoading: true,
roterPre: roterPre,
tableData: {
data: [],
total: 0,
},
tableFrom: {
page: 1,
limit: 20,
keyword: "",
date: "",
},
loading: false,
cardLists: [],
categoryList: {},
};
},
watch: {},
mounted() {
this.getList("");
},
methods: {
/**重置 */
searchReset() {
this.timeVal = [];
this.tableFrom.date = "";
this.$refs.searchForm.resetFields();
this.getList(1);
},
//
onchangeTime(e) {
this.timeVal = e;
this.tableFrom.date = e ? this.timeVal.join("-") : "";
this.tableFrom.page = 1;
this.getList("");
},
async exports() {
let excelData = JSON.parse(JSON.stringify(this.tableFrom)),
data = [];
excelData.page = 1;
excelData.limit = 100;
let pageCount = 1;
let lebData = {};
for (let i = 0; i < pageCount; i++) {
lebData = await this.downData(excelData);
pageCount = Math.ceil(lebData.count / excelData.limit);
if (lebData.export.length) {
data = data.concat(lebData.export);
excelData.page++;
}
}
createWorkBook(
lebData.header,
lebData.title,
data,
lebData.foot,
lebData.filename
);
return;
},
/**列表 */
downData(excelData) {
return new Promise((resolve, reject) => {
bonusExport(excelData).then((res) => {
return resolve(res.data);
});
});
},
//
exportRecord() {
bonusExport(this.tableFrom)
.then((res) => {
const h = this.$createElement;
this.$msgbox({
title: "提示",
message: h("p", null, [
h("span", null, '文件正在生成中,请稍后点击"'),
h("span", { style: "color: teal" }, "导出记录"),
h("span", null, '"查看~ '),
]),
confirmButtonText: "我知道了",
}).then((action) => {
this.$router.push({ path: this.roterPre + "/group/exportList" });
});
})
.catch((res) => {
this.$message.error(res.message);
});
},
//
getList(num) {
this.listLoading = true;
this.tableFrom.page = num ? num : this.tableFrom.page;
backListApi(this.tableFrom)
.then((res) => {
this.tableData.data = res.data.list;
this.tableData.total = res.data.count;
this.categoryList = res.data.category_list;
this.listLoading = false;
})
.catch((res) => {
this.listLoading = false;
this.$message.error(res.message);
});
},
pageChange(page) {
this.tableFrom.page = page;
this.getList("");
},
handleSizeChange(val) {
this.tableFrom.limit = val;
this.getList("");
},
},
};
</script>
<style scoped lang="scss">
.scollhide::-webkit-scrollbar {
display: none; /* Chrome Safari */
}
</style>