fix:项目初始化
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
<template>
|
||||
<div class="pf-warpper">
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" :model="searchData.param" class="form-inline" size="mini">
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('gold')" clearable placeholder="请输入金额" v-model.number="searchData.gold" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-date-picker :default-time="['00:00:00', '23:59:59']" end-placeholder="结束日期" range-separator="至" start-placeholder="开始日期" type="datetimerange" v-model="time" value-format="yyyy-MM-ddTHH:mm:ss+08:00" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="onSearch()" icon="el-icon-search" plain type="primary">搜索</el-button>
|
||||
<el-button @click="refreshView" icon="el-icon-refresh" plain type="info">刷新</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-table :data="tableData" element-loading-text="拼命加载中" v-loading="loading" border height="700" highlight-current-row style="width: 100%">
|
||||
<el-table-column fixed="left" align="center" label="金币金额">
|
||||
<template slot-scope="scope">{{ scope.row.gold | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="left" label="总售卖金额">
|
||||
<template slot-scope="scope">{{ scope.row.totalSaleMoney | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="left" label="总销售数量">
|
||||
<template slot-scope="scope">{{ scope.row.saleCount }}</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- 分页 -->
|
||||
<div class="table-pagination">
|
||||
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[10, 20, 30, 50, 100]" :total="totals" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { goldSaleinfoList } from '@/api/tran/ticketSaleinfo'
|
||||
export default {
|
||||
name: 'Saleinfo',
|
||||
data() {
|
||||
return {
|
||||
loading: true, // 列表加载状态
|
||||
totals: 0, // 数据总条数
|
||||
time: undefined,
|
||||
gold: undefined,
|
||||
searchData: {
|
||||
param: {
|
||||
// 表单参数
|
||||
gold: undefined, // id
|
||||
start: undefined, // 开始时间
|
||||
end: undefined, // 结束时间
|
||||
},
|
||||
pageNum: 1,
|
||||
pageSize: 20,
|
||||
},
|
||||
|
||||
tableData: [],
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.onSubmit()
|
||||
},
|
||||
methods: {
|
||||
// TODO:请求金币售卖统计列表
|
||||
onSubmit() {
|
||||
this.loading = true
|
||||
if (this.time) {
|
||||
this.searchData.param.start = this.time[0]
|
||||
this.searchData.param.end = this.time[1]
|
||||
} else {
|
||||
this.searchData.param.start = undefined
|
||||
this.searchData.param.end = undefined
|
||||
}
|
||||
let param = JSON.parse(JSON.stringify(this.searchData))
|
||||
param.param.gold = this.searchData.param.gold * 100
|
||||
goldSaleinfoList(this.searchData).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.tableData = res.data.list
|
||||
this.totals = res.data.total
|
||||
} else {
|
||||
this.tableData = []
|
||||
this.totals = 0
|
||||
this.$message.error('请求列表失败')
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
onSearch() {
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 20
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 刷新
|
||||
refreshView() {
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 清理搜索框
|
||||
onClear(key) {
|
||||
this.searchData.param[key] = undefined
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 切换列表条数
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = Number(val)
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 切换列表页码
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = Number(val)
|
||||
this.onSubmit()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,128 @@
|
||||
<template>
|
||||
<div class="pf-warpper avlist">
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" :model="searchData.param" class="form-inline" size="mini">
|
||||
<el-form-item>
|
||||
<el-input placeholder="请输入渠道" clearable v-model="searchData.param.channel" @clear="onClear('channel')" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-date-picker end-placeholder="结束日期" range-separator="至" start-placeholder="开始日期" type="datetimerange" v-model="time" value-format="yyyy-MM-ddTHH:mm:ss+08:00" :default-time="['00:00:00', '23:59:59']" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-table :data="resData" element-loading-text="拼命加载中" border height="750" highlight-current-row style="width: 100%" v-loading="loading">
|
||||
<el-table-column align="center" label="时间" width="160">
|
||||
<template slot-scope="scope">{{ scope.row.from | BeiJingTime}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="渠道">
|
||||
<template slot-scope="scope">{{ scope.row.channel }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="完成率" width="100" show-overflow-tooltip>
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.completeRate === 0 ? 0 : scope.row.completeRate * 100 + '%'
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="总订单" width="100">
|
||||
<template slot-scope="scope">{{ scope.row.orders }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="完成金额" width="200">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.payCoins | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="完成订单" width="100" show-overflow-tooltip>
|
||||
<template slot-scope="scope">{{ scope.row.payOrders }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="总金额" width="200">
|
||||
<template slot-scope="scope">{{ scope.row.total | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="table-pagination">
|
||||
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[50, 100, 200, 300, 500]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
// 引入模块
|
||||
import { hourStatList } from '@/api/tran/stat'
|
||||
export default {
|
||||
name: 'HourStat',
|
||||
|
||||
data() {
|
||||
return {
|
||||
time: undefined,
|
||||
// 请求列表参数
|
||||
searchData: {
|
||||
pageNum: 1,
|
||||
pageSize: 50,
|
||||
param: {
|
||||
end: undefined, // "string",结束时间
|
||||
start: undefined, // "string",开始时间
|
||||
channel: undefined, // 0,
|
||||
},
|
||||
},
|
||||
resData: [], // el-table表格数据
|
||||
total: 0, // 数据总条数
|
||||
loading: true, // 列表加载状态
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
// TODO:请求每小时充值成功率数据
|
||||
getList() {
|
||||
this.loading = true
|
||||
if (this.time) {
|
||||
this.searchData.param.start = this.time[0]
|
||||
this.searchData.param.end = this.time[1]
|
||||
} else {
|
||||
this.searchData.param.start = undefined
|
||||
this.searchData.param.end = undefined
|
||||
}
|
||||
hourStatList(this.searchData).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.resData = res.data.list
|
||||
this.total = res.data.total
|
||||
} else {
|
||||
this.resData = []
|
||||
this.total = 0
|
||||
this.$message.error('请求列表失败!')
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
onSearch() {
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 50
|
||||
this.getList()
|
||||
},
|
||||
|
||||
// 切换每页数据量
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = val
|
||||
this.getList()
|
||||
},
|
||||
// 切换页数
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = val
|
||||
this.getList()
|
||||
},
|
||||
|
||||
// 清空某一项筛选列表
|
||||
onClear(key) {
|
||||
this.searchData.param[key] = undefined
|
||||
this.getList()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,366 @@
|
||||
<template>
|
||||
<div class="pf-warpper">
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" :model="searchData" class="form-inline" size="mini">
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('userId')" clearable placeholder="请输入用户ID" v-model="searchData.userId" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('uuid')" clearable placeholder="请输入设备ID" v-model="searchData.uuid" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('devType')" clearable placeholder="请选择设备类型" v-model="searchData.devType">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in devTypeList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('rchgUse')" clearable placeholder="请选择充值用途" v-model="searchData.rchgUse">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in rchgUseList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('tradeNo')" clearable placeholder="请输入订单号" v-model="searchData.tradeNo" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('oid')" clearable placeholder="请输入第三方订单号" v-model="searchData.oid" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('phoneNo')" clearable placeholder="请输入手机号" v-model="searchData.phoneNo" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('ipAddr')" clearable placeholder="请输入IP地址" v-model="searchData.ipAddr" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('payMode')" clearable placeholder="请选择支付模式" v-model="searchData.payMode">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in payModeList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('sysType')" clearable placeholder="请选择系统类型" v-model="searchData.sysType" filterable>
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in sysTypeList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('isSwell')" clearable placeholder="请选择是否膨胀" v-model="searchData.isSwell" filterable>
|
||||
<el-option :key="true" label="是" :value="true" />
|
||||
<el-option :key="false" label="否" :value="false" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input v-model="searchData.payChannel" clearable placeholder="请输入支付渠道" @clear="onClear('payChannel')" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('status')" clearable placeholder="请选择充值状态" v-model="searchData.status">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in statusList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="订单生成">
|
||||
<el-date-picker
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
end-placeholder="结束日期"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
type="datetimerange"
|
||||
v-model="timeG"
|
||||
value-format="yyyy-MM-ddTHH:mm:ss+08:00"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="订单支付">
|
||||
<el-date-picker
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
end-placeholder="结束日期"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
type="datetimerange"
|
||||
v-model="timeW"
|
||||
value-format="yyyy-MM-ddTHH:mm:ss+08:00"/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="onSearch()" icon="el-icon-search" plain type="primary">搜索</el-button>
|
||||
<!-- <el-button @click="handleExport" icon="el-icon-download" plain type="primary">导出</el-button> -->
|
||||
<el-button @click="refreshView" icon="el-icon-refresh" plain type="info">刷新</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item style="float: right" label-width="15px">
|
||||
充值总金额:<span style="color: red">{{ totalRchgAmount }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-table :data="tableData" element-loading-text="拼命加载中" v-loading="loading" @sort-change="sortChange" border height="700" highlight-current-row style="width: 100%">
|
||||
<el-table-column align="center" fixed="left" label="用户id">
|
||||
<template slot-scope="scope">{{ scope.row.userId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="left" label="用户名" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.userName }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="left" label="卡片名称" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.cardName }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="手机号" width="120">
|
||||
<template slot-scope="scope">{{ scope.row.phoneNo }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="订单产生时间" width="160">
|
||||
<template slot-scope="scope">{{ scope.row.createdAt | BeiJingTime }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="订单完成日期" sortable width="160">
|
||||
<template slot-scope="scope">{{ scope.row.finishedAt | BeiJingTime }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="充值用途">
|
||||
<template slot-scope="scope">{{ scope.row.rchgUse | changeRchgUse }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="订单号" width="240">
|
||||
<template slot-scope="scope">{{ scope.row.tradeNo }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="第三方订单号" width="240">
|
||||
<template slot-scope="scope">{{ scope.row.oid }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="支付模式">
|
||||
<template slot-scope="scope">{{ scope.row.payMode | changepayMode }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="支付渠道" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.payChannel }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="充值金额" sortable width="120">
|
||||
<template slot-scope="scope">{{ scope.row.amount | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="实际到账金额" width="120">
|
||||
<template slot-scope="scope">{{ scope.row.realAmount | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="状态">
|
||||
<template slot-scope="scope">{{ scope.row.status | changestatus }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="是否膨胀" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-button :type="scope.row.isSwell ? 'success' : 'danger'" plain size="mini">{{ scope.row.isSwell ? "是" : "否" }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="游戏划拨订单" width="220">
|
||||
<template slot-scope="scope">{{ scope.row.trfOrder }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="上下分处理状态" width="120">
|
||||
<template slot-scope="scope">{{ scope.row.trfStatus | changeRtfstatus }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="系统类型">
|
||||
<template slot-scope="scope">{{ scope.row.sysType | changeSysType }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="商区码" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.districtCode }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="充值对象">
|
||||
<template slot-scope="scope">{{ scope.row.rchgFor }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="赠送金额">
|
||||
<template slot-scope="scope">{{ scope.row.backGiftVal | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="设备类型" prop="devType" width="100">
|
||||
<template slot-scope="scope">{{ scope.row.devType }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="是否是直推用户" width="120">
|
||||
<template slot-scope="scope">{{ scope.row.isDirect ? '是' : '不是' }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="ip地址" width="120">
|
||||
<template slot-scope="scope">{{ scope.row.ipAddr }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="支付账号">
|
||||
<template slot-scope="scope">{{ scope.row.payAcc }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="代充平台支付凭证" width="150">
|
||||
<template slot-scope="scope">
|
||||
<ShowImg style="width: 40px; height: 40px; margin: 0 auto; line-height: 40px" :urls="scope.row.proof"></ShowImg>
|
||||
<!-- type="daichong" -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="渠道平台充值类型">
|
||||
<template slot-scope="scope">{{ scope.row.platPayMode }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="费率">
|
||||
<template slot-scope="scope">{{ scope.row.payRate }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="用户折扣卡ID" width="100">
|
||||
<template slot-scope="scope">{{ scope.row.userDiscountCardId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="充值使用ID" width="100">
|
||||
<template slot-scope="scope">{{ scope.row.rchgUseId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="商人Id">
|
||||
<template slot-scope="scope">{{ scope.row.traderId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="推广序列">
|
||||
<template slot-scope="scope">{{ scope.row.promSeqe }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="支付链接" width="450">
|
||||
<template slot-scope="scope">
|
||||
<el-button slot="reference" @click="doCopy(scope.row.payUrl)">复制链接</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="支付链接模式" width="100">
|
||||
<template slot-scope="scope">{{ scope.row.payUrlMode }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="备注" width="100" show-overflow-tooltip="">
|
||||
<template slot-scope="scope">{{ scope.row.remarks }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="通知第三方上分情况状态" width="200">
|
||||
<template slot-scope="scope">{{ scope.row.traderNotify }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="第三方支付时间" width="160">
|
||||
<template slot-scope="scope">{{ scope.row.paymentAt | BeiJingTime }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="订单修改日期" width="160">
|
||||
<template slot-scope="scope">{{ scope.row.updatedAt | BeiJingTime }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="第三方下单成功时间" width="160">
|
||||
<template slot-scope="scope">{{ scope.row.progressAt | BeiJingTime }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="设备id" width="350">
|
||||
<template slot-scope="scope">{{ scope.row.uuid }}</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- 分页 -->
|
||||
<div class="table-pagination">
|
||||
<el-pagination
|
||||
:current-page="searchData.pageNum"
|
||||
:page-size="searchData.pageSize"
|
||||
:page-sizes="[10, 20, 30, 50, 100]"
|
||||
:total="totals"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
layout="total, sizes, prev, pager, next, jumper"/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { devTypeList, payModeList, statusList, rchgUseList, rcgTypeList, sysTypeList } from '@/filters/tran/recharge'
|
||||
import { getRechargeList } from '@/api/tran/recharge'
|
||||
import ShowImg from '@/components/ShowImg/index.vue'
|
||||
export default {
|
||||
name: 'Recharge',
|
||||
components: {
|
||||
ShowImg
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
devTypeList: devTypeList(),
|
||||
payModeList: payModeList(),
|
||||
statusList: statusList(),
|
||||
rchgUseList: rchgUseList(),
|
||||
rcgTypeList: rcgTypeList(),
|
||||
sysTypeList: sysTypeList(),
|
||||
loading: true, // 列表加载状态
|
||||
totals: 0, // 数据总条数
|
||||
totalRchgAmount: undefined,
|
||||
timeG: undefined,
|
||||
timeW: undefined,
|
||||
searchData: {
|
||||
// 表单参数
|
||||
userId: undefined, // 用户id
|
||||
uuid: undefined, // 设备id
|
||||
devType: null, // 设备类型
|
||||
tradeNo: undefined, // 订单号
|
||||
oid: undefined, // 第三方返回,核对账单信息
|
||||
phoneNo: undefined, // 手机号
|
||||
payMode: undefined, // 支付模式
|
||||
status: undefined, // 订单处理状态
|
||||
finishAtsort: undefined, // 交易时间 -1--倒序 1--正序
|
||||
amountSort: undefined, // 金额 -1--倒序 1--正序
|
||||
startAt: undefined, // 开始时间
|
||||
endAt: undefined, // 结束时间
|
||||
payStartAt: undefined, // 订单支付 时间
|
||||
rchgUse: undefined,
|
||||
rcgTypeList: undefined,
|
||||
|
||||
pageNum: 1,
|
||||
pageSize: 20
|
||||
},
|
||||
|
||||
tableData: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.onSubmit()
|
||||
},
|
||||
methods: {
|
||||
doCopy(str) {
|
||||
this.$copyText(str).then(() => {
|
||||
this.$notify({
|
||||
type: 'success',
|
||||
message: '複製成功,趕快去分享吧。'
|
||||
})
|
||||
})
|
||||
},
|
||||
// TODO:请求充值列表数据
|
||||
onSubmit() {
|
||||
this.loading = true
|
||||
if (this.timeG) {
|
||||
this.searchData.startAt = this.timeG[0]
|
||||
this.searchData.endAt = this.timeG[1]
|
||||
} else {
|
||||
this.searchData.startAt = undefined
|
||||
this.searchData.endAt = undefined
|
||||
}
|
||||
if (this.timeW) {
|
||||
this.searchData.payStartAt = this.timeW[0]
|
||||
this.searchData.payEndAt = this.timeW[1]
|
||||
} else {
|
||||
this.searchData.payStartAt = undefined
|
||||
this.searchData.payEndAt = undefined
|
||||
}
|
||||
getRechargeList(this.searchData).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.tableData = res.data.orders
|
||||
this.totals = res.data.totalCount
|
||||
this.totalRchgAmount = res.data.totalRchgAmount / 100
|
||||
} else {
|
||||
this.tableData = []
|
||||
this.totals = 0
|
||||
this.$message.error('请求列表失败')
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
onSearch() {
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 20
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 升序降序
|
||||
sortChange(columns) {
|
||||
if (columns.order === 'ascending') {
|
||||
this.searchData.finishAtsort = -1
|
||||
this.searchData.amountSort = 1
|
||||
} else if (columns.order === 'descending') {
|
||||
this.searchData.finishAtsort = 1
|
||||
this.searchData.amountSort = -1
|
||||
}
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 刷新
|
||||
refreshView() {
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 20
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 清理搜索框
|
||||
onClear(key) {
|
||||
this.searchData[key] = undefined
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 切换列表条数
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = Number(val)
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 切换列表页码
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = Number(val)
|
||||
this.onSubmit()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,271 @@
|
||||
<template>
|
||||
<el-dialog :title="title" :visible.sync="Visible" width="800px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
|
||||
<el-form :model="form" :rules="rules" label-position="center" label-width="120px" ref="ruleForm">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="支付渠道名字" prop="channelName">
|
||||
<el-input placeholder="请输入支付渠道名字" v-model="form.channelName" style="width:180px" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="激活时间段" prop="activePeriod">
|
||||
<el-input placeholder="请输入时间段" v-model="form.activePeriod" style="width:180px" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="权重" prop="weight">
|
||||
<el-input placeholder="使用数字" v-model.number="form.weight" style="width:180px" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="渠道费率" prop="rate">
|
||||
<el-input placeholder v-model="form.rate" style="width:180px">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="充值对象" prop="rchgFor">
|
||||
<el-select placeholder="请选择充值对象" v-model="form.rchgFor" clearable>
|
||||
<el-option label="app" value="app"></el-option>
|
||||
<el-option label="game" value="game"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否激活" prop="active">
|
||||
<el-switch :active-value="true" :inactive-value="false" active-color="#13ce66" inactive-color="#ff4949" v-model="form.active"></el-switch>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="金额类别" prop="category">
|
||||
<el-select placeholder="请选择类别" v-model="form.amountType" clearable>
|
||||
<el-option label="范围金额" value="range"></el-option>
|
||||
<el-option label="固定金额" value="fixed"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="form.amountType == 'fixed'">
|
||||
<el-form-item label="金额种类" prop="amounts">
|
||||
<el-input placeholder v-model="form.amounts" style="width:180px" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="form.amountType == 'range'">
|
||||
<el-form-item label="最小金额" prop="minMoney">
|
||||
<el-input placeholder v-model.number="form.minMoney" style="width:180px">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="form.amountType == 'range'">
|
||||
<el-form-item label="最大金额" prop="maxMoney">
|
||||
<el-input placeholder v-model.number="form.maxMoney" style="width:180px">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="支付方式" prop="channelPlatType">
|
||||
<el-select filterable allow-create default-first-option v-model="form.channelPlatType" placeholder="请选择支付方式" clearable>
|
||||
<el-option v-for="item in payTypeList" :key="item.value" :label="item.value" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="扩展的充值类型" prop="rchgType">
|
||||
<el-select filterable allow-create default-first-option v-model="form.rchgType" placeholder="请选择扩展充值类型" clearable>
|
||||
<el-option v-for="item in payTypeList" :key="item.value" :label="item.value" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="扩展的充值类型名字" prop="rchgTypeName">
|
||||
<el-select filterable allow-create default-first-option v-model="form.rchgTypeName" placeholder="请选择" clearable>
|
||||
<el-option v-for="item in payTypeList" :key="item.value" :label="item.label" :value="item.label" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="渠道" prop="cid">
|
||||
<el-select placeholder="请选择渠道" v-model="form.channelId" clearable>
|
||||
<el-option v-for="(item, index) in pchanneList" :key="index" :label="item.cName" :value="item.cid"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="要求的系统类型" prop="sysType">
|
||||
<el-select placeholder="请选择系统类型" v-model="form.sysType" clearable>
|
||||
<el-option label="苹果" value="ios"></el-option>
|
||||
<el-option label="安卓" value="android"></el-option>
|
||||
<el-option label="移动" value="bothmb"></el-option>
|
||||
<el-option label="PC" value="pc"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="Visible = false"> 取 消 </el-button>
|
||||
<el-button type="primary" @click="submit"> 确 定 </el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { rechargeChanAdd, paychannelList, rechargeChanEidt } from '@/api/tran'
|
||||
import { payTypeList } from '@/filters/tran/rechargeProvider'
|
||||
export default {
|
||||
name: 'AddOrEdit',
|
||||
props: ['data'],
|
||||
|
||||
data() {
|
||||
return {
|
||||
Visible: true,
|
||||
title: '',
|
||||
pchanneList: [],
|
||||
payTypeList: payTypeList(),
|
||||
rules: {
|
||||
weight: [{ required: true, message: '必填', trigger: 'blur' }],
|
||||
},
|
||||
// 表单数据
|
||||
form: {
|
||||
active: false,
|
||||
activePeriod: undefined,
|
||||
amountType: undefined,
|
||||
amounts: undefined,
|
||||
channelId: undefined,
|
||||
channelName: undefined,
|
||||
channelPlatType: undefined,
|
||||
maxMoney: undefined,
|
||||
minMoney: undefined,
|
||||
rate: undefined,
|
||||
rchgFor: undefined,
|
||||
rchgType: undefined,
|
||||
rchgTypeName: undefined,
|
||||
sysType: undefined,
|
||||
weight: undefined,
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.getPaychanneList()
|
||||
this.title = this.data.title
|
||||
if (this.title === '编辑') {
|
||||
this.form = { ...this.data.data }
|
||||
this.$set(
|
||||
this.form,
|
||||
'minMoney',
|
||||
this.form.minMoney ? Number(this.form.minMoney) / 100 : 0
|
||||
)
|
||||
this.$set(
|
||||
this.form,
|
||||
'maxMoney',
|
||||
this.form.maxMoney ? Number(this.form.maxMoney) / 100 : 0
|
||||
)
|
||||
if (this.form.amounts) {
|
||||
const a = []
|
||||
this.form.amounts.filter((item) => {
|
||||
a.push(item / 100)
|
||||
})
|
||||
this.form.amounts = this.form.amounts ? a.toString() : ''
|
||||
}
|
||||
} else {
|
||||
this.form = {
|
||||
active: false,
|
||||
activePeriod: undefined,
|
||||
amountType: undefined,
|
||||
amounts: undefined,
|
||||
channelId: undefined,
|
||||
channelName: undefined,
|
||||
channelPlatType: undefined,
|
||||
maxMoney: undefined,
|
||||
minMoney: undefined,
|
||||
rate: undefined,
|
||||
rchgType: undefined,
|
||||
rchgTypeName: undefined,
|
||||
sysType: undefined,
|
||||
weight: undefined,
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//TODO:新增支付渠道列表数据
|
||||
add(data) {
|
||||
rechargeChanAdd(data).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.$message.success('新增成功')
|
||||
this.Visible = false
|
||||
} else {
|
||||
this.$message.error('新增失败')
|
||||
}
|
||||
})
|
||||
},
|
||||
//TODO:编辑支付渠道列表数据
|
||||
update(data) {
|
||||
rechargeChanEidt(data).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.$message.success('更新成功')
|
||||
this.Visible = false
|
||||
} else {
|
||||
this.$message.error('更新失败')
|
||||
}
|
||||
})
|
||||
},
|
||||
//TODO:请求渠道列表数据
|
||||
async getPaychanneList() {
|
||||
paychannelList({ pageNum: 1, pageSize: 1000, param: {} }).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.pchanneList = res.data.list
|
||||
} else {
|
||||
this.pchanneList = []
|
||||
this.$message.error('请求失败')
|
||||
}
|
||||
})
|
||||
},
|
||||
// 提交按钮
|
||||
submit() {
|
||||
const data = { ...this.form }
|
||||
if (data.amountType === 'range') {
|
||||
data.minMoney = Number(data.minMoney) * 100
|
||||
data.maxMoney = Number(data.maxMoney) * 100
|
||||
data.amounts = undefined
|
||||
} else if (data.amountType === 'fixed') {
|
||||
const a = []
|
||||
if (data.amounts) {
|
||||
data.amounts.split(',').filter((item) => {
|
||||
a.push(Number(item) * 100)
|
||||
})
|
||||
data.amounts = a
|
||||
data.minMoney = undefined
|
||||
data.maxMoney = undefined
|
||||
} else {
|
||||
data.amounts = []
|
||||
}
|
||||
}
|
||||
if (this.title === '新增') {
|
||||
this.add(data)
|
||||
} else if (this.title === '编辑') {
|
||||
this.update(data)
|
||||
}
|
||||
},
|
||||
|
||||
// 关闭编辑
|
||||
close() {
|
||||
this.$emit('close')
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,220 @@
|
||||
<template>
|
||||
<div class="pf-warpper">
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" class="form-inline" label-width="80px" size="mini">
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-refresh-right" plain @click="getList()">刷新</el-button>
|
||||
<el-button @click="add" icon="el-icon-circle-plus-outline" plain type="success">新增</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-table :data="list" border height="740" highlight-current-row style="width: 100%" v-loading="loading">
|
||||
<el-table-column align="center" fixed label="支付渠道名字" width="180">
|
||||
<template slot-scope="scope">{{ scope.row.channelName }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="是否激活" width="120">
|
||||
<template slot-scope="scope">
|
||||
<el-tooltip content="请在编辑中修改" placement="top">
|
||||
<el-switch :active-value="true" :inactive-value="false" active-color="#13ce66" disabled inactive-color="#ff4949" v-model="scope.row.active"></el-switch>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="权重">
|
||||
<template slot-scope="scope">{{ scope.row.weight }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="激活时间段" width="120">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.activePeriod
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="金额类别" width="120">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.amountType | changeCategory
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="金额种类(单位:元)" width="240">
|
||||
<template slot-scope="scope" v-if="scope.row.amountType === 'fixed' ? true : false">{{ scope.row.amounts | changeAmountTypes }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="最小金额(单位:元)">
|
||||
<template slot-scope="scope" v-if="scope.row.amountType === 'range' ? true : false">{{ scope.row.minMoney | iTofixed }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="最大金额(单位:元)">
|
||||
<template slot-scope="scope" v-if="scope.row.amountType === 'range' ? true : false">{{ scope.row.maxMoney | iTofixed }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="渠道ID" width="170">
|
||||
<template slot-scope="scope">{{ scope.row.channelId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="渠道费率">
|
||||
<template slot-scope="scope">{{ scope.row.rate }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="充值对象">
|
||||
<template slot-scope="scope">{{ scope.row.rchgFor | changerchgType }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="渠道的充值平台类型" width="170">
|
||||
<template slot-scope="scope">{{ scope.row.channelPlatType| changePType }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="扩展的充值类型" width="170">
|
||||
<template slot-scope="scope">{{ scope.row.rchgType }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="扩展的充值类型名字" width="170">
|
||||
<template slot-scope="scope">{{ scope.row.rchgTypeName }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="要求的系统类型" width="170">
|
||||
<template slot-scope="scope">{{ scope.row.sysType }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="创建时间" width="200">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.createdAt | BeiJingTime
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="修改时间" width="200">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.updatedAt | BeiJingTime
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="right" label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="handleEdit('edit', scope.row)" size="mini" type="primary">编辑</el-button>
|
||||
<el-button @click="handleDelete(scope.row)" size="mini" type="danger">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="table-pagination">
|
||||
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[50, 100, 200, 300, 500]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
|
||||
</div>
|
||||
<AddOrEdit :data="editData" v-if="editVisible" @close="closeEdit" ref="addOrEdit"></AddOrEdit>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { rechargeChanList, rechargeChanDel } from '@/api/tran'
|
||||
import AddOrEdit from './components/AddOrEdit'
|
||||
|
||||
export default {
|
||||
name: 'RechargeProvider',
|
||||
components: { AddOrEdit },
|
||||
filters: {
|
||||
changeCategory: function (val) {
|
||||
if (val === 'range') {
|
||||
return '范围金额'
|
||||
} else if (val === 'fixed') {
|
||||
return '固定金额'
|
||||
}
|
||||
},
|
||||
changerchgType: function (val) {
|
||||
if (val === 'app') {
|
||||
return 'app'
|
||||
} else if (val === 'game') {
|
||||
return 'game'
|
||||
}
|
||||
},
|
||||
changeAmountTypes: function (val) {
|
||||
const a = []
|
||||
if (val) {
|
||||
val.filter((item) => {
|
||||
a.push(item / 100)
|
||||
})
|
||||
}
|
||||
return a
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
editVisible: false,
|
||||
// 编辑数据
|
||||
editData: {
|
||||
title: '新增',
|
||||
data: {},
|
||||
},
|
||||
total: 0,
|
||||
loading: false,
|
||||
list: [],
|
||||
dialogTitle: undefined,
|
||||
searchData: {
|
||||
pageNum: 1,
|
||||
pageSize: 50,
|
||||
param: {},
|
||||
},
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
//TODO:请求支付渠道列表
|
||||
async getList() {
|
||||
this.loading = true
|
||||
rechargeChanList(this.searchData).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.total = res.data.total
|
||||
this.list = res.data.list
|
||||
} else {
|
||||
this.total = 0
|
||||
this.list = []
|
||||
this.$message.error('请求支付渠道列表失败')
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
|
||||
//TODO:删除支付渠道数据
|
||||
handleDelete(row) {
|
||||
this.$confirm('确认删除当前渠道?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
}).then(() => {
|
||||
rechargeChanDel({ id: row.id }).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.getList()
|
||||
this.$message.success('删除成功')
|
||||
} else {
|
||||
this.$message.error('删除失败')
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
// 关闭编辑弹窗
|
||||
closeEdit() {
|
||||
this.editData = {
|
||||
title: '新增',
|
||||
data: {},
|
||||
}
|
||||
this.editVisible = false
|
||||
this.getList()
|
||||
},
|
||||
// 新增按钮
|
||||
add() {
|
||||
this.editData = {
|
||||
title: '新增',
|
||||
data: {},
|
||||
}
|
||||
this.editVisible = true
|
||||
},
|
||||
// 编辑按钮
|
||||
handleEdit(index, row) {
|
||||
this.editData = {
|
||||
title: '编辑',
|
||||
data: row,
|
||||
}
|
||||
this.editVisible = true
|
||||
},
|
||||
// 切换每页条数
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = Number(val)
|
||||
this.getList()
|
||||
},
|
||||
|
||||
// 翻页
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = Number(val)
|
||||
this.getList()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,156 @@
|
||||
<template>
|
||||
<el-dialog :title="title" :visible.sync="Visible" width="700px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
|
||||
<el-form :inline="true" :model="form" class="demo-form-inline" label-width="120px" label-position="right">
|
||||
<el-row :gutter="24">
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="支付渠道名字">
|
||||
<el-input placeholder="请输入支付渠道名字" v-model="form.cName" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="渠道id">
|
||||
<el-input placeholder="请输入渠道id" v-model="form.cid" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12" v-if="this.title === '新增'">
|
||||
<el-form-item label="预付额度(元)">
|
||||
<el-input placeholder="请输入预付额度" v-model.number="form.prepayment" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="商户id">
|
||||
<el-input placeholder="请输入商户id" v-model="form.mercID" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="预付剩余额度报警阀值">
|
||||
<el-input placeholder="请输入预付剩余额度报警阀值" v-model.number="form.leftPrepaymentWarnValue" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<el-form-item label="查询订单url">
|
||||
<el-input placeholder="请输入查询订单url" style="width: 500px" v-model="form.queryUrl" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<el-form-item label="充值url">
|
||||
<el-input placeholder="请输入充值url" style="width: 500px" v-model="form.rchgUrl" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<el-form-item label="回调ur">
|
||||
<el-input placeholder="请输入回调ur" style="width: 500px" v-model="form.callBackUrl" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<el-form-item label="H5回调ur">
|
||||
<el-input placeholder="请输入H5回调ur" style="width: 500px" v-model="form.h5CallBackUrl" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<el-form-item label="appSecret">
|
||||
<el-input placeholder="请输入appSecret" style="width: 500px" v-model="form.appSecret" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
|
||||
<el-form-item label="是否使用引导页">
|
||||
<el-select v-model="form.useLeadPage" placeholder="请选择是否使用引导页" style="width:500px">
|
||||
<el-option :value="true" label="使用"></el-option>
|
||||
<el-option :value="false" label="不使用"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="Visible = false"> 取 消 </el-button>
|
||||
<el-button type="primary" @click="submit"> 确 定 </el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { addPaychannel, editPaychannel } from '@/api/tran'
|
||||
import { changeMoneyYuan, changeMoneyFen } from '@/filters/index'
|
||||
|
||||
export default {
|
||||
name: 'AddOrEdit',
|
||||
props: ['data'],
|
||||
|
||||
data() {
|
||||
return {
|
||||
Visible: true,
|
||||
title: '',
|
||||
// 表单数据
|
||||
form: {
|
||||
leftPrepaymentWarnValue: undefined,
|
||||
rchgUrl: undefined,
|
||||
queryUrl: undefined,
|
||||
prepayment: undefined,
|
||||
mercID: undefined,
|
||||
cid: undefined,
|
||||
callBackUrl: undefined,
|
||||
cName: undefined,
|
||||
appSecret: undefined,
|
||||
useLeadPage: undefined,
|
||||
h5CallBackUrl: undefined,
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.title = this.data.title
|
||||
if (this.title === '编辑') {
|
||||
this.form = { ...this.data.data }
|
||||
this.form.leftPrepaymentWarnValue = changeMoneyYuan(
|
||||
this.form.leftPrepaymentWarnValue
|
||||
)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//TODO:新增支付渠道管理数据
|
||||
add(data) {
|
||||
addPaychannel(data).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.$message.success('新增成功')
|
||||
this.Visible = false
|
||||
} else {
|
||||
this.$message.error('新增失败')
|
||||
}
|
||||
})
|
||||
},
|
||||
//TODO:编辑支付渠道管理数据
|
||||
update(data) {
|
||||
editPaychannel(data).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.$message.success('更新成功')
|
||||
this.Visible = false
|
||||
} else {
|
||||
this.$message.error('更新失败')
|
||||
}
|
||||
})
|
||||
},
|
||||
// 提交按钮
|
||||
submit() {
|
||||
const data = JSON.parse(JSON.stringify(this.form))
|
||||
data.prepayment = data.prepayment * 100
|
||||
data.leftPrepaymentWarnValue = changeMoneyFen(
|
||||
data.leftPrepaymentWarnValue
|
||||
)
|
||||
if (this.title === '新增') {
|
||||
this.add(data)
|
||||
} else if (this.title === '编辑') {
|
||||
this.update(data)
|
||||
}
|
||||
},
|
||||
|
||||
// 关闭编辑
|
||||
close() {
|
||||
this.$emit('close')
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,83 @@
|
||||
<!--
|
||||
* @Author:
|
||||
* @Mail:
|
||||
* @Date: 2022-03-14 15:22:03
|
||||
* @LastEditTime: 2022-06-07 16:09:21
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @FilePath: /comics-admin/src/views/tran/rechargeProviderManage/components/edit.vue
|
||||
-->
|
||||
<template>
|
||||
<el-dialog :close-on-click-modal="false" title="编辑预付额度" :visible.sync="Visible" @close="close" center class="ac-dialog" width="700px">
|
||||
<el-form :inline="true" :model="form" class="demo-form-inline" label-position="right" label-width="250px">
|
||||
<el-row :gutter="24">
|
||||
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
|
||||
<el-form-item label="现有预付额度">
|
||||
<el-input v-model.number="recharge" disabled>
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
|
||||
<el-form-item label="充值额度">
|
||||
<el-input placeholder="请输入充值额度" v-model.number="coin">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div class="dialog-footer" slot="footer">
|
||||
<el-button @click="Visible=false">取 消</el-button>
|
||||
<el-button @click="submit" type="primary">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { changePreMoney } from '@/api/tran'
|
||||
import { changeMoneyYuan, changeMoneyFen } from '@/filters/index'
|
||||
export default {
|
||||
name: 'Edit',
|
||||
props: ['data'],
|
||||
data() {
|
||||
return {
|
||||
Visible: true,
|
||||
coin: 0, // 加金币
|
||||
recharge: 0,
|
||||
// 表单数据
|
||||
form: {
|
||||
prepayment: undefined,
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.form = { ...this.data.data }
|
||||
this.recharge = changeMoneyYuan(this.form.prepayment)
|
||||
},
|
||||
methods: {
|
||||
// TODO:修改预付额度
|
||||
submit() {
|
||||
const data = {
|
||||
id: this.form.id,
|
||||
cid: this.form.cid,
|
||||
chanName: this.form.cName,
|
||||
mercId: this.form.mercID,
|
||||
prepaymentAmount: changeMoneyFen(this.coin),
|
||||
}
|
||||
changePreMoney(data).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.$message.success('添加成功')
|
||||
this.Visible = false
|
||||
} else {
|
||||
this.$message.error(res.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 关闭编辑
|
||||
close() {
|
||||
this.$emit('close', false)
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,208 @@
|
||||
<template>
|
||||
<div class="pf-warpper">
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" class="form-inline" label-width="80px" size="mini">
|
||||
<el-form-item>
|
||||
<el-input v-model.number="searchData.param.cName" clearable placeholder="请输入支付渠道名字" @clear="onClear('cName')" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select v-model="searchData.param.useLeadPage" clearable placeholder="请选择是否使用引导页" @clear="onClear('useLeadPage')">
|
||||
<el-option :value="true" label="使用"></el-option>
|
||||
<el-option :value="false" label="不使用"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button icon="el-icon-search" plain type="primary" @click="onSearch">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh-right" plain type="primary" @click="getList()">刷新</el-button>
|
||||
<el-button icon="el-icon-circle-plus-outline" plain type="success" @click="add">新增</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-table :data="list" border height="740" highlight-current-row style="width: 100%" v-loading="loading">
|
||||
<el-table-column align="center" fixed label="支付渠道名字" width="180">
|
||||
<template slot-scope="scope">{{ scope.row.cName }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="回调url" width="270">
|
||||
<template slot-scope="scope">{{ scope.row.callBackUrl }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="H5回调url" width="270">
|
||||
<template slot-scope="scope">{{ scope.row.h5CallBackUrl }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="预付额度(单位:元)" width="240">
|
||||
<template slot-scope="scope">{{scope.row.prepayment | changeMoneyYuan}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="预付剩余额度报警阀值" width="170">
|
||||
<template slot-scope="scope">{{ scope.row.leftPrepaymentWarnValue | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="商户id" width="100">
|
||||
<template slot-scope="scope">{{ scope.row.mercID }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="支付渠道ID" width="100">
|
||||
<template slot-scope="scope">{{ scope.row.cid }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="appSecret" width="170">
|
||||
<template slot-scope="scope">{{ scope.row.appSecret }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="查询订单url" width="170">
|
||||
<template slot-scope="scope">{{ scope.row.queryUrl }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="充值url" width="170">
|
||||
<template slot-scope="scope">{{ scope.row.rchgUrl }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="创建时间" width="180">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.createdAt | BeiJingTime
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="修改时间" width="180">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.updatedAt | BeiJingTime
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="right" label="操作" width="300">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="handleEdit('edit', scope.row)" size="mini" type="primary">编辑</el-button>
|
||||
<el-button @click="handlePreMoney(scope.row)" size="mini" type="primary">编辑预付额度</el-button>
|
||||
<el-button @click="handleDelete(scope.row)" size="mini" type="danger">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="table-pagination">
|
||||
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[50, 100, 200, 300, 500]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
|
||||
</div>
|
||||
<AddOrEdit :data="editData" v-if="editVisible" @close="closeEdit" ref="addOrEdit"></AddOrEdit>
|
||||
<EditPreMoney :data="editData" v-if="preMoneyVisible" @close="closeEdit"></EditPreMoney>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { paychannelList, delPaychannel } from '@/api/tran'
|
||||
import AddOrEdit from './components/AddOrEdit.vue'
|
||||
import EditPreMoney from './components/edit.vue'
|
||||
export default {
|
||||
name: 'RechargeProviderManage',
|
||||
components: { AddOrEdit, EditPreMoney },
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
loading: false,
|
||||
list: [],
|
||||
editVisible: false,
|
||||
preMoneyVisible: false,
|
||||
searchData: {
|
||||
pageNum: 1,
|
||||
pageSize: 50,
|
||||
param: {
|
||||
useLeadPage: undefined,
|
||||
cName: undefined,
|
||||
},
|
||||
},
|
||||
// 编辑数据
|
||||
editData: {
|
||||
title: '新增',
|
||||
data: {},
|
||||
},
|
||||
dialogTitle: undefined,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
//TODO:请求支付渠道管理列表数据
|
||||
async getList() {
|
||||
this.loading = true
|
||||
paychannelList(this.searchData).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.list = res.data.list
|
||||
this.total = res.data.total
|
||||
} else {
|
||||
this.list = []
|
||||
this.total = 0
|
||||
this.$message.error('请求支付渠道管理数据失败')
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
|
||||
//TODO:删除支付渠道管理列表数据
|
||||
handleDelete(row) {
|
||||
this.$confirm('确认删除当前渠道?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
}).then(() => {
|
||||
delPaychannel({ id: row.id }).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.getList()
|
||||
this.$message.success('删除成功')
|
||||
} else {
|
||||
this.$message.error('操作失败')
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 清空某一项筛选列表
|
||||
onClear(key) {
|
||||
this.searchData.param[key] = undefined
|
||||
this.getList()
|
||||
},
|
||||
// 关闭编辑弹窗
|
||||
closeEdit() {
|
||||
this.editData = {
|
||||
title: '新增',
|
||||
data: {},
|
||||
}
|
||||
this.editVisible = false
|
||||
this.preMoneyVisible = false
|
||||
this.getList()
|
||||
},
|
||||
onSearch() {
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 10
|
||||
this.getList()
|
||||
},
|
||||
// 新增按钮
|
||||
add() {
|
||||
this.editVisible = true
|
||||
this.editData = {
|
||||
title: '新增',
|
||||
data: {},
|
||||
}
|
||||
},
|
||||
// 编辑按钮
|
||||
handleEdit(index, row) {
|
||||
this.editVisible = true
|
||||
row.prepayment = row.prepayment / 100
|
||||
this.editData = {
|
||||
title: '编辑',
|
||||
data: row,
|
||||
}
|
||||
},
|
||||
handlePreMoney(row) {
|
||||
this.preMoneyVisible = true
|
||||
this.editData = {
|
||||
title: '编辑预付额度',
|
||||
data: row,
|
||||
}
|
||||
},
|
||||
|
||||
// 切换每页条数
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = Number(val)
|
||||
this.getList()
|
||||
},
|
||||
|
||||
// 翻页
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = Number(val)
|
||||
this.getList()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,372 @@
|
||||
<!-- 提现列表 -->
|
||||
<template>
|
||||
<div class="pf-warpper">
|
||||
<!-- 查询表单 -->
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" :model="searchData" class="form-inline" label-width="80px" ref="form" size="mini">
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('orderNo')" clearable placeholder="请输入购买订单号" v-model="searchData.orderNo" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('userId')" clearable placeholder="请输入用户ID" v-model="searchData.userId" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('videoId')" clearable placeholder="请输入视频ID" v-model="searchData.videoId" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('mobile')" clearable placeholder="请输入手机号" v-model="searchData.mobile" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('comicsId')" clearable placeholder="请输入漫画Id" v-model="searchData.comicsId" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('tranType')" clearable placeholder="请选择交易类型" v-model="searchData.tranType">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in TranTypeList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('currencyType')" clearable placeholder="请选择货币类型" v-model="searchData.currencyType">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in CurrencyTypeList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('mark')" clearable placeholder="收支类型" v-model="searchData.mark">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in markList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-date-picker :default-time="['00:00:00', '23:59:59']" end-placeholder="结束日期" range-separator="至" start-placeholder="开始日期" type="datetimerange" v-model="time" value-format="yyyy-MM-ddTHH:mm:ss+08:00" />
|
||||
</el-form-item>
|
||||
<el-form-item label-width="15px">
|
||||
<el-button @click="onSearch()" icon="el-icon-search" plain type="primary">搜索</el-button>
|
||||
<el-button @click="refreshView" icon="el-icon-refresh" plain type="info">刷新</el-button>
|
||||
<el-button @click="exportExcel" icon="el-icon-download" plain type="primary">导出</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="
|
||||
searchData.tranType === 21 ||
|
||||
searchData.tranType === 23
|
||||
" style="float: right" label-width="15px">
|
||||
售卖金额:<span style="color: red">{{ totalCoin | changeMoneyYuan }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="
|
||||
searchData.tranType === 21 ||
|
||||
searchData.tranType === 23
|
||||
" style="float: right" label-width="15px">
|
||||
售卖次数:<span style="color: red">{{ saleCount }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-table v-loading="loading" :data="tableData" border height="700" highlight-current-row style="width: 100%">
|
||||
<el-table-column align="center" label="用户ID">
|
||||
<template slot-scope="scope">{{ scope.row.userID }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="商区码" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.districtCode }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="推广序列">
|
||||
<template slot-scope="scope">{{ scope.row.promSeqe }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="购买订单号" width="240">
|
||||
<template slot-scope="scope">{{ scope.row.orderNo }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="货币类型" width="100">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.currencyType | changeCurrencyType
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="交易类型" width="130">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.tranType | changeTranType
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="交易的金币数量" width="140">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.coinAmount | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="赠送的金币" width="140">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.giftCoin | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="收支类型">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.mark | changeMark
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="交易金额" width="140">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.moneyPrePrice | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="支付类型">
|
||||
<template slot-scope="scope">{{ scope.row.payType }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="视频ID">
|
||||
<template slot-scope="scope">{{ scope.row.videoId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="图文ID">
|
||||
<template slot-scope="scope">{{ scope.row.graphicId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="漫画ID">
|
||||
<template slot-scope="scope">{{ scope.row.comicsId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="发布者ID">
|
||||
<template slot-scope="scope">{{ scope.row.publisherId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="合集ID">
|
||||
<template slot-scope="scope">{{ scope.row.videoCollId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="备注" width="240">
|
||||
<template slot-scope="scope">{{ scope.row.record }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="作品收益" width="150">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.workIncome | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="钱包剩余的收益" width="150">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.income | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="钱包剩余签到返现收益" width="150">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.checkinCashbackIncome | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="钱包剩余的金额" width="150">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.recharge | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="充值等级">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.rechargeLevel
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="状态">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.status | runningStatus
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="系统类型">
|
||||
<template slot-scope="scope">{{ scope.row.sysType }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="商人Id" width="100">
|
||||
<template slot-scope="scope">{{ scope.row.traderId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="vip卡名称" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.vipTitle }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="价格">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.price | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="观影券数量" width="100">
|
||||
<template slot-scope="scope">{{ scope.row.movieTickets }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="折扣">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.discount === 0 ? 0 : scope.row.discount + "%"
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="卡ID" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.cardId }}</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" label="vip卡等级" width="150">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.vipType | changevipType
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="会员开始时间" width="150">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.vipStartAt | BeiJingTime
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="会员结束时间" width="150">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.vipEndAt | BeiJingTime
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" label="是否直推">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.isDirect ? "是" : "不是"
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="交易时间" width="180">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.createdAt | BeiJingTime
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="记录描述" width="250">
|
||||
<template slot-scope="scope">
|
||||
<el-tooltip class="item" effect="dark" :content="scope.row.desc" placement="top">
|
||||
<div style="
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
">
|
||||
{{ scope.row.desc }}
|
||||
</div>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" label="vip等级">
|
||||
<template slot-scope="scope">{{ scope.row.vipType }}</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column align="center" label="vip名称">
|
||||
<template slot-scope="scope">{{ scope.row.vipTitle }}</template>
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- 分页 -->
|
||||
<div class="table-pagination">
|
||||
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[10, 20, 30, 50, 100]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getWaterList, getWaterExport } from '@/api/tran/runningList'
|
||||
import { TranTypeList, CurrencyTypeList } from '@/filters/tran/runningList'
|
||||
import { markList } from '@/filters/tran/runningList'
|
||||
|
||||
export default {
|
||||
name: 'RunningList',
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
loading: true, // 列表加载状态
|
||||
time: undefined,
|
||||
TranTypeList: TranTypeList(),
|
||||
CurrencyTypeList: CurrencyTypeList(),
|
||||
markList: markList(),
|
||||
totalCoin: 0, // 售卖金额
|
||||
saleCount: 0, // 售卖次数
|
||||
// 请求数据
|
||||
searchData: {
|
||||
mobile: undefined, // 手机号
|
||||
orderNo: undefined, // 购买订单号
|
||||
tranType: undefined, // 交易类型:
|
||||
startTime: undefined, // 开始时间
|
||||
endTime: undefined, // 结束时间
|
||||
userId: undefined, // 用户id
|
||||
videoId: undefined, // 视频id
|
||||
currencyType: undefined, // 交易方式
|
||||
mark: undefined, // 收支类型
|
||||
comicsId: undefined, // 漫画Id
|
||||
pageNum: 1,
|
||||
pageSize: 20,
|
||||
},
|
||||
tableData: [],
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
runningStatus(v) {
|
||||
switch (v) {
|
||||
case -1:
|
||||
return '失败'
|
||||
case 0:
|
||||
return '进行中'
|
||||
case 1:
|
||||
return '成功'
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
// 获取表格列表
|
||||
this.onSubmit()
|
||||
},
|
||||
methods: {
|
||||
onSearch() {
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 20
|
||||
this.onSubmit()
|
||||
},
|
||||
// TODO:请求流水列表数据
|
||||
onSubmit(data) {
|
||||
this.loading = true
|
||||
if (this.time) {
|
||||
this.searchData.startTime = this.time[0]
|
||||
this.searchData.endTime = this.time[1]
|
||||
} else {
|
||||
this.searchData.startTime = undefined
|
||||
this.searchData.endTime = undefined
|
||||
}
|
||||
getWaterList(this.searchData).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.tableData = res.data.infos
|
||||
this.total = res.data.totalCount
|
||||
this.saleCount = res.data.saleCount
|
||||
this.totalCoin = res.data.totalCoin
|
||||
} else {
|
||||
this.tableData = []
|
||||
this.total = 0
|
||||
this.$message.error('请求列表失败')
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
// TODO:导出流水列表数据
|
||||
exportExcel() {
|
||||
if (this.time) {
|
||||
this.searchData.startTime = this.time[0]
|
||||
this.searchData.endTime = this.time[1]
|
||||
} else {
|
||||
this.searchData.startTime = undefined
|
||||
this.searchData.endTime = undefined
|
||||
}
|
||||
getWaterExport(this.searchData).then((res) => {
|
||||
if (res.code) {
|
||||
this.$message.error('导出列表失败!')
|
||||
} else {
|
||||
const a = document.createElement('a')
|
||||
var blob = new Blob([res], {
|
||||
type: 'application/vnd.ms-excel;charset=utf-8',
|
||||
})
|
||||
const t = new Date().valueOf()
|
||||
const url = window.URL.createObjectURL(blob)
|
||||
a.setAttribute('href', url)
|
||||
a.download = `流水列表${t}.xlsx`
|
||||
document.body.appendChild(a)
|
||||
a.click()
|
||||
document.body.removeChild(a)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 刷新
|
||||
refreshView() {
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 20
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 清理列表请求筛选项
|
||||
onClear(key) {
|
||||
this.searchData[key] = undefined
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 切换每页条数
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = Number(val)
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 翻页
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = Number(val)
|
||||
this.onSubmit()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,280 @@
|
||||
<template>
|
||||
<div class="pf-warpper">
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" :model="searchData.param" class="form-inline" size="mini">
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('id')" clearable placeholder="请输入ID" v-model.number="searchData.param.id" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('topicId')" clearable placeholder="请选择视频分类" v-model="searchData.param.topicId">
|
||||
<el-option :key="item.id" :label="item.name" :value="item.id" v-for="item in videoType" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('sort')" clearable placeholder="请选择排序" v-model="searchData.param.sort">
|
||||
<el-option :key="item.id" :label="item.name" :value="item.id" v-for="item in sortList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-date-picker :default-time="['00:00:00', '23:59:59']" end-placeholder="结束日期" range-separator="至" start-placeholder="开始日期" type="datetimerange" v-model="time" value-format="yyyy-MM-ddTHH:mm:ss+08:00" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="onSearch()" icon="el-icon-search" plain type="primary">搜索</el-button>
|
||||
<el-button @click="refreshView" icon="el-icon-refresh" plain type="info">刷新</el-button>
|
||||
<el-button @click="exportExcel" icon="el-icon-download" plain type="primary">导出</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-table :data="tableData" element-loading-text="拼命加载中" v-loading="loading" border height="700" highlight-current-row style="width: 100%">
|
||||
<el-table-column align="center" fixed="left" width="300" label="标题">
|
||||
<template slot-scope="scope">{{ scope.row.title }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" width="160" label="总销售金额">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.totalSaleMoney | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="上架时间" width="160">
|
||||
<template slot-scope="scope" width="160">{{
|
||||
scope.row.addedTime | BeiJingTime
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="封面" width="100">
|
||||
<template slot-scope="scope">
|
||||
<ShowImg style="width: 70px; height: 40px; margin: 0 auto" :urls="scope.row.coverImg"></ShowImg>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="格式类型" width="120">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.formatType | filterSaleTypeStatus
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="left" align="center" label="id">
|
||||
<template slot-scope="scope">{{ scope.row.id }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="观影券使用数量" width="150">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.movieTicketCount
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="预售结束时间(预览)" width="150">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.preSaleEndAt | BeiJingTime
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="预售(折扣)">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.preSaleDiscount
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="预售价格" prop="devType">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.preSalePrice | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="总预售金额" prop="devType" width="160">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.totalPreSaleMoney | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="售价" width="160">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.price | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="总销售数量" width="120">
|
||||
<template slot-scope="scope">{{ scope.row.saleCount }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="总预售数量" width="120">
|
||||
<template slot-scope="scope">{{ scope.row.preSaleCount }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="视频发布者" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.publish }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="视频状态">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.status | filterSaleVideoStatus
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- 分页 -->
|
||||
<div class="table-pagination">
|
||||
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[10, 20, 30, 50, 100]" :total="totals" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import ShowImg from '@/components/ShowImg/index.vue'
|
||||
import { saleinfoList, saleinfoExport } from '@/api/tran/saleinfo'
|
||||
import { topicSearch } from '@/api/videoManagement/topic'
|
||||
export default {
|
||||
name: 'Saleinfo',
|
||||
components: {
|
||||
ShowImg,
|
||||
},
|
||||
filters: {
|
||||
filterSaleVideoStatus(v) {
|
||||
switch (v) {
|
||||
case 0:
|
||||
return '待上架'
|
||||
case 1:
|
||||
return '上架'
|
||||
case 2:
|
||||
return '取消上架'
|
||||
}
|
||||
},
|
||||
filterSaleTypeStatus(v) {
|
||||
switch (v) {
|
||||
case 0:
|
||||
return '无意义'
|
||||
case 1:
|
||||
return '女生短视频'
|
||||
case 2:
|
||||
return '长视频系列'
|
||||
case 3:
|
||||
return '女神'
|
||||
case 4:
|
||||
return '女神写真'
|
||||
case 5:
|
||||
return '资讯'
|
||||
}
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: true, // 列表加载状态
|
||||
totals: 0, // 数据总条数
|
||||
time: undefined,
|
||||
videoType: [],
|
||||
searchData: {
|
||||
param: {
|
||||
// 表单参数
|
||||
topicId: undefined,
|
||||
id: undefined, // id
|
||||
start: undefined, // 开始时间
|
||||
end: undefined, // 结束时间
|
||||
sort:undefined
|
||||
},
|
||||
|
||||
pageNum: 1,
|
||||
pageSize: 20,
|
||||
},
|
||||
|
||||
tableData: [],
|
||||
sortList:[
|
||||
{
|
||||
id:0,
|
||||
name:'上架时间'
|
||||
},
|
||||
{
|
||||
id:1,
|
||||
name:'销售金额'
|
||||
},
|
||||
{
|
||||
id:2,
|
||||
name:'观影券使用数量'
|
||||
},
|
||||
{
|
||||
id:3,
|
||||
name:'总销售数量'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getMediacategoryList()
|
||||
this.getSaleinfoList()
|
||||
},
|
||||
methods: {
|
||||
// TODO:请求视频分类列表数据
|
||||
getMediacategoryList() {
|
||||
topicSearch({ pageNum: 1, pageSize: 500, param: {} }).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.videoType = res.data.list
|
||||
} else {
|
||||
this.videoType = []
|
||||
this.$message.error('请求视频类型列表失败!')
|
||||
}
|
||||
})
|
||||
},
|
||||
//TODO:请求视频售卖统计列表
|
||||
getSaleinfoList() {
|
||||
this.loading = true
|
||||
if (this.time) {
|
||||
this.searchData.param.start = this.time[0]
|
||||
this.searchData.param.end = this.time[1]
|
||||
} else {
|
||||
this.searchData.param.start = undefined
|
||||
this.searchData.param.end = undefined
|
||||
}
|
||||
saleinfoList(this.searchData).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.tableData = res.data.list
|
||||
this.totals = res.data.total
|
||||
} else {
|
||||
this.tableData = []
|
||||
this.totals = 0
|
||||
this.$message.error('请求列表失败')
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
//TODO:导出视频售卖统计列表
|
||||
exportExcel() {
|
||||
saleinfoExport(this.searchData).then((res) => {
|
||||
if (res.code) {
|
||||
this.$message.error('导出列表失败!')
|
||||
} else {
|
||||
const a = document.createElement('a')
|
||||
var blob = new Blob([res], {
|
||||
type: 'application/vnd.ms-excel;charset=utf-8',
|
||||
})
|
||||
const t = BeiJingTime(new Date())
|
||||
const url = window.URL.createObjectURL(blob)
|
||||
a.setAttribute('href', url)
|
||||
a.download = `视频售卖统计${t}.xlsx`
|
||||
document.body.appendChild(a)
|
||||
a.click()
|
||||
document.body.removeChild(a)
|
||||
}
|
||||
})
|
||||
},
|
||||
onSearch() {
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 20
|
||||
this.getSaleinfoList()
|
||||
},
|
||||
|
||||
// 刷新
|
||||
refreshView() {
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 20
|
||||
this.getSaleinfoList()
|
||||
},
|
||||
|
||||
// 清理搜索框
|
||||
onClear(key) {
|
||||
this.searchData.param[key] = undefined
|
||||
this.getSaleinfoList()
|
||||
},
|
||||
|
||||
// 切换列表条数
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = Number(val)
|
||||
this.getSaleinfoList()
|
||||
},
|
||||
|
||||
// 切换列表页码
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = Number(val)
|
||||
this.getSaleinfoList()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
<template>
|
||||
<div class="pf-warpper avlist">
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" :model="searchData.param" class="form-inline" size="mini">
|
||||
<el-form-item>
|
||||
<el-input placeholder="请输入渠道" clearable v-model.number="searchData.param.channel" @clear="onClear('channel')" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-date-picker end-placeholder="结束日期" range-separator="至" start-placeholder="开始日期" type="datetimerange" v-model="time" value-format="yyyy-MM-ddTHH:mm:ss+08:00" :default-time="['00:00:00', '23:59:59']" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-table :data="resData" element-loading-text="拼命加载中" border height="750" highlight-current-row style="width: 100%" v-loading="loading">
|
||||
<el-table-column align="center" label="日期" width="160px">
|
||||
<template slot-scope="scope">{{ scope.row.date }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="渠道" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.channel }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="完成率" width="100px" show-overflow-tooltip>
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.completeRate === 0 ? 0 : scope.row.completeRate * 100 + '%'
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="总订单" width="150px">
|
||||
<template slot-scope="scope">{{ scope.row.orders }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="完成金额">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.payCoins | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="完成订单" width="100px" show-overflow-tooltip>
|
||||
<template slot-scope="scope">{{ scope.row.payOrders }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="总金额">
|
||||
<template slot-scope="scope">{{ scope.row.total | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="table-pagination">
|
||||
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[50, 100, 200, 300, 500]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
// 引入模块
|
||||
import { statList } from '@/api/tran/stat'
|
||||
export default {
|
||||
name: 'Stat',
|
||||
|
||||
data() {
|
||||
return {
|
||||
time: undefined,
|
||||
// 请求列表参数
|
||||
searchData: {
|
||||
pageNum: 1,
|
||||
pageSize: 50,
|
||||
param: {
|
||||
end: undefined, // "string",结束时间
|
||||
start: undefined, // "string",开始时间
|
||||
channel: undefined, // 0,
|
||||
},
|
||||
},
|
||||
resData: [], // el-table表格数据
|
||||
total: 0, // 数据总条数
|
||||
loading: true, // 列表加载状态
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
//TODO:请求充值成功率统计数据
|
||||
getList() {
|
||||
this.loading = true
|
||||
if (this.time) {
|
||||
this.searchData.param.start = this.time[0]
|
||||
this.searchData.param.end = this.time[1]
|
||||
} else {
|
||||
this.searchData.param.start = undefined
|
||||
this.searchData.param.end = undefined
|
||||
}
|
||||
statList(this.searchData).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.resData = res.data.list
|
||||
this.total = res.data.total
|
||||
} else {
|
||||
this.resData = []
|
||||
this.total = 0
|
||||
this.$message.error('请求列表失败!')
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
|
||||
onSearch() {
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 50
|
||||
this.getList()
|
||||
},
|
||||
|
||||
// 切换每页数据量
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = val
|
||||
this.getList()
|
||||
},
|
||||
// 切换页数
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = val
|
||||
this.getList()
|
||||
},
|
||||
|
||||
// 清空某一项筛选列表
|
||||
onClear(key) {
|
||||
this.searchData.param[key] = undefined
|
||||
this.getList()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,183 @@
|
||||
<template>
|
||||
<div class="pf-warpper">
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" :model="searchData.param" class="form-inline" size="mini">
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('id')" clearable placeholder="请输入ID" v-model.number="searchData.param.id" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-date-picker
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
end-placeholder="结束日期"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
type="datetimerange"
|
||||
v-model="time"
|
||||
value-format="yyyy-MM-ddTHH:mm:ss+08:00"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('status')" clearable placeholder="状态" v-model="searchData.param.status">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in saleVideoStatusList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="onSearch()" icon="el-icon-search" plain type="primary">搜索</el-button>
|
||||
<el-button @click="refreshView" icon="el-icon-refresh" plain type="info">刷新</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-table :data="tableData" element-loading-text="拼命加载中" v-loading="loading" border height="700" highlight-current-row style="width: 100%">
|
||||
<el-table-column fixed="left" align="center" label="id">
|
||||
<template slot-scope="scope">{{ scope.row.id }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="left" width="200" label="名称">
|
||||
<template slot-scope="scope">{{ scope.row.name }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="left" width="200" label="标题">
|
||||
<template slot-scope="scope">{{ scope.row.title }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" width="120" label="卡的等级">
|
||||
<template slot-scope="scope">{{ scope.row.vipType | changevipType }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" width="160" label="原价">
|
||||
<template slot-scope="scope">{{ scope.row.preMoney | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="优惠价" width="160">
|
||||
<template slot-scope="scope">{{ scope.row.money | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="总销售金额" prop="devType" width="100">
|
||||
<template slot-scope="scope">{{ scope.row.totalSaleMoney | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="总销售数量" width="120">
|
||||
<template slot-scope="scope">{{ scope.row.saleCount }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="状态">
|
||||
<template slot-scope="scope">{{ scope.row.status | filterSaleVideoStatus }}</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- 分页 -->
|
||||
<div class="table-pagination">
|
||||
<el-pagination
|
||||
:current-page="searchData.pageNum"
|
||||
:page-size="searchData.pageSize"
|
||||
:page-sizes="[10, 20, 30, 50, 100]"
|
||||
:total="totals"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { tickeSaleinfoList } from '@/api/tran/ticketSaleinfo';
|
||||
export default {
|
||||
name: 'TicketSaleinfo',
|
||||
filters: {
|
||||
filterSaleVideoStatus(v) {
|
||||
switch (v) {
|
||||
case 0:
|
||||
return '待上架';
|
||||
case 1:
|
||||
return '上架';
|
||||
case 2:
|
||||
return '取消上架';
|
||||
}
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
saleVideoStatusList: [
|
||||
{
|
||||
value: 1,
|
||||
label: '上架',
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
label: '取消上架',
|
||||
},
|
||||
],
|
||||
loading: true, // 列表加载状态
|
||||
totals: 0, // 数据总条数
|
||||
time: undefined,
|
||||
searchData: {
|
||||
param: {
|
||||
// 表单参数
|
||||
id: undefined, // id
|
||||
start: undefined, // 开始时间
|
||||
end: undefined, // 结束时间
|
||||
status: undefined,
|
||||
},
|
||||
|
||||
pageNum: 1,
|
||||
pageSize: 20,
|
||||
},
|
||||
|
||||
tableData: [],
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getTickeSaleinfoList();
|
||||
},
|
||||
methods: {
|
||||
//TODO:请求会员观影券售卖统计列表
|
||||
getTickeSaleinfoList() {
|
||||
this.loading = true;
|
||||
if (this.time) {
|
||||
this.searchData.param.start = this.time[0];
|
||||
this.searchData.param.end = this.time[1];
|
||||
} else {
|
||||
this.searchData.param.start = undefined;
|
||||
this.searchData.param.end = undefined;
|
||||
}
|
||||
tickeSaleinfoList(this.searchData).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.tableData = res.data.list;
|
||||
this.totals = res.data.total;
|
||||
} else {
|
||||
this.tableData = [];
|
||||
this.totals = 0;
|
||||
this.$message.error('请求列表失败');
|
||||
}
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
|
||||
onSearch() {
|
||||
this.searchData.pageNum = 1;
|
||||
this.searchData.pageSize = 20;
|
||||
this.getTickeSaleinfoList();
|
||||
},
|
||||
|
||||
// 刷新
|
||||
refreshView() {
|
||||
this.getTickeSaleinfoList();
|
||||
},
|
||||
|
||||
// 清理搜索框
|
||||
onClear(key) {
|
||||
this.searchData.param[key] = undefined;
|
||||
this.getTickeSaleinfoList();
|
||||
},
|
||||
|
||||
// 切换列表条数
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = Number(val);
|
||||
this.getTickeSaleinfoList();
|
||||
},
|
||||
|
||||
// 切换列表页码
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = Number(val);
|
||||
this.getTickeSaleinfoList();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,150 @@
|
||||
<template>
|
||||
<el-dialog :title="title" :visible.sync="Visible" width="700px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
|
||||
<el-form :inline="true" :model="form" class="demo-form-inline" label-width="120px" label-position="right">
|
||||
<el-row :gutter="24">
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="渠道id">
|
||||
<el-input placeholder="请输入渠道id" v-model="form.channelId" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="渠道名称">
|
||||
<el-input placeholder="请输入渠道名字" v-model="form.channelName" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="提现平台类型">
|
||||
<el-select placeholder="请选择渠道提现平台类型" size="mini" v-model="form.channelWtdrMode">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in wtdrChannelModeList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="名称">
|
||||
<el-input placeholder="请输入名称" v-model="form.channelWtdrName" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="最大支付金额">
|
||||
<el-input placeholder="请输入支持最大支付金额" v-model.number="form.maxMoney" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="最小支付金额">
|
||||
<el-input placeholder="请输入支持最小支付金额" v-model.number="form.minMoney" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="渠道费率">
|
||||
<el-input placeholder="请输入渠道费率" v-model.number="form.rate" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="权重">
|
||||
<el-input placeholder="请输入权重" v-model.number="form.weight" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="是否开启" prop="active">
|
||||
<el-switch v-model="form.active" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="Visible = false"> 取 消 </el-button>
|
||||
<el-button type="primary" @click="submit"> 确 定 </el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
addwithdrawchannel,
|
||||
editwithdrawchannel,
|
||||
} from '@/api/tran/withdrawChannel'
|
||||
import { wtdrChannelModeList } from '@/filters/tran/withdrawProvider'
|
||||
export default {
|
||||
name: 'AddOrEdit',
|
||||
props: ['data'],
|
||||
|
||||
data() {
|
||||
return {
|
||||
Visible: true,
|
||||
title: '',
|
||||
wtdrChannelModeList: wtdrChannelModeList(),
|
||||
// 表单数据
|
||||
form: {
|
||||
active: undefined,
|
||||
channelId: undefined,
|
||||
channelName: undefined,
|
||||
channelWtdrMode: undefined,
|
||||
channelWtdrName: undefined,
|
||||
createdAt: undefined,
|
||||
id: undefined,
|
||||
maxMoney: undefined,
|
||||
minMoney: undefined,
|
||||
rate: undefined,
|
||||
weight: undefined,
|
||||
updatedAt: undefined,
|
||||
},
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.title = this.data.title
|
||||
if (this.title === '编辑') {
|
||||
this.form = { ...this.data.data }
|
||||
this.form.maxMoney = this.form.maxMoney / 100
|
||||
this.form.minMoney = this.form.minMoney / 100
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//TODO:新增提现列表数据
|
||||
add(data) {
|
||||
addwithdrawchannel(data).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.$message.success('新增成功')
|
||||
this.Visible = false
|
||||
} else {
|
||||
this.$message.error('新增失败')
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//TODO:编辑提现列表数据
|
||||
update(data) {
|
||||
editwithdrawchannel(data).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.$message.success('更新成功')
|
||||
this.Visible = false
|
||||
} else {
|
||||
this.$message.error('更新失败')
|
||||
}
|
||||
})
|
||||
},
|
||||
// 提交按钮
|
||||
submit() {
|
||||
const data = { ...this.form }
|
||||
data.maxMoney = data.maxMoney * 100
|
||||
data.minMoney = data.minMoney * 100
|
||||
if (this.title === '新增') {
|
||||
this.add(data)
|
||||
} else if (this.title === '编辑') {
|
||||
this.update(data)
|
||||
}
|
||||
},
|
||||
|
||||
// 关闭编辑
|
||||
close() {
|
||||
this.$emit('close')
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,175 @@
|
||||
<template>
|
||||
<div class="pf-warpper">
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" class="form-inline" label-width="80px" size="mini">
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-refresh-right" plain @click="getList()">刷新</el-button>
|
||||
<el-button @click="add" icon="el-icon-circle-plus-outline" plain type="success">新增</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-table :data="list" border height="740" highlight-current-row style="width: 100%" v-loading="loading">
|
||||
<el-table-column align="center" label="渠道id" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.channelId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="渠道名称" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.channelName }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="是否激活" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-button :type="scope.row.active ? 'success' : 'danger'" plain size="mini">{{ scope.row.active ? "激活" : "关闭" }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="渠道提现平台类型">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.channelWtdrMode | changewtdrChannelMode
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="名称">
|
||||
<template slot-scope="scope">{{ scope.row.channelWtdrName }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="权重">
|
||||
<template slot-scope="scope">{{ scope.row.weight }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="支持最大支付金额" width="170">
|
||||
<template slot-scope="scope">{{ scope.row.maxMoney | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="支持最小支付金额" width="170">
|
||||
<template slot-scope="scope">{{ scope.row.minMoney | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="渠道费率">
|
||||
<template slot-scope="scope">{{ scope.row.rate }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="创建时间" width="150">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.createdAt | BeiJingTime
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="修改时间" width="150">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.updatedAt | BeiJingTime
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="right" label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="handleEdit('edit', scope.row)" icon="el-icon-edit" size="mini" type="primary">编辑</el-button>
|
||||
<el-button @click="handleDelete(scope.row)" icon="el-icon-delete" size="mini" type="danger">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="table-pagination">
|
||||
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[50, 100, 200, 300, 500]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
|
||||
</div>
|
||||
<AddOrEdit :data="editData" v-if="editVisible" @close="closeEdit" ref="addOrEdit"></AddOrEdit>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
withdrawchannelList,
|
||||
delwithdrawchannel,
|
||||
} from '@/api/tran/withdrawChannel'
|
||||
import AddOrEdit from './components/AddOrEdit.vue'
|
||||
|
||||
export default {
|
||||
name: 'WithdrawChannel',
|
||||
components: { AddOrEdit },
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
loading: false,
|
||||
list: [],
|
||||
editVisible: false,
|
||||
searchData: {
|
||||
pageNum: 1,
|
||||
pageSize: 50,
|
||||
param: {},
|
||||
},
|
||||
// 编辑数据
|
||||
editData: {
|
||||
title: '新增',
|
||||
data: {},
|
||||
},
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
//TODO:请求提现列表数据
|
||||
async getList() {
|
||||
this.loading = true
|
||||
withdrawchannelList(this.searchData).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.list = res.data.list
|
||||
this.total = res.data.total
|
||||
} else {
|
||||
this.list = []
|
||||
this.total = 0
|
||||
this.$message.error('请求列表失败')
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
|
||||
//TODO:删除提现列表数据
|
||||
handleDelete(row) {
|
||||
this.$confirm('确认删除当前渠道?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
}).then(() => {
|
||||
delwithdrawchannel({ id: row.id }).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.getList()
|
||||
this.$message.success('删除成功')
|
||||
} else {
|
||||
this.$message.error('操作失败')
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
// 关闭编辑弹窗
|
||||
closeEdit() {
|
||||
this.editData = {
|
||||
title: '新增',
|
||||
data: {},
|
||||
}
|
||||
this.editVisible = false
|
||||
this.getList()
|
||||
},
|
||||
// 新增按钮
|
||||
add() {
|
||||
this.editData = {
|
||||
title: '新增',
|
||||
data: {},
|
||||
}
|
||||
this.editVisible = true
|
||||
},
|
||||
// 编辑按钮
|
||||
handleEdit(index, row) {
|
||||
this.editData = {
|
||||
title: '编辑',
|
||||
data: row,
|
||||
}
|
||||
this.editVisible = true
|
||||
},
|
||||
|
||||
// 切换每页条数
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = Number(val)
|
||||
this.getList()
|
||||
},
|
||||
|
||||
// 翻页
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = Number(val)
|
||||
this.getList()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
<!--
|
||||
* @Author:
|
||||
* @Mail:
|
||||
* @Date: 2022-03-14 15:22:03
|
||||
* @LastEditTime: 2022-06-07 16:38:15
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @FilePath: /comics-admin/src/views/tran/withdrawList/components/rejectEdit.vue
|
||||
-->
|
||||
<template>
|
||||
<el-dialog :title="title" :visible.sync="Visible" width="500px" center class="ac-dialog" :close-on-click-modal="false" @close="close">
|
||||
<el-form :inline="true" class="demo-form-inline" label-width="120px" label-position="right">
|
||||
<el-row :gutter="24">
|
||||
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<el-form-item label="理由" v-if="this.title === '选择审核拒绝的理由'">
|
||||
<el-select placeholder="请选择拒绝理由" v-model="mark" style="width:250px" filterable allow-create default-first-option>
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in rejectList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" v-if="this.title === '通过备注'">
|
||||
<el-select placeholder="请选择备注" v-model="mark" style="width:250px" filterable allow-create default-first-option>
|
||||
<el-option label="通过" value="通过" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="Visible = false"> 取 消 </el-button>
|
||||
<el-button type="primary" @click="submit"> 确 定 </el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import { checkWithdraw } from '@/api/tran/withdrawList'
|
||||
import { rejectList } from '@/filters/tran/withdrawList'
|
||||
export default {
|
||||
name: 'RejectEdit',
|
||||
props: ['data'],
|
||||
data() {
|
||||
return {
|
||||
Visible: true,
|
||||
title: '',
|
||||
mark: undefined,
|
||||
tradeNo: undefined,
|
||||
rejectList: rejectList(),
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.title = this.data.title
|
||||
this.tradeNo = this.data.data.tradeNo
|
||||
},
|
||||
methods: {
|
||||
//TODO:提交提现列表审核
|
||||
checkWithdrawFun(data) {
|
||||
checkWithdraw(data).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.$message.success('提交成功')
|
||||
this.Visible = false
|
||||
} else {
|
||||
this.$message.error(res.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 提交按钮
|
||||
submit() {
|
||||
const data = {
|
||||
check: true,
|
||||
mark: this.mark,
|
||||
tradeNo: this.tradeNo,
|
||||
}
|
||||
if (this.title === '选择审核拒绝的理由') {
|
||||
data.check = false
|
||||
} else if (this.title === '通过备注') {
|
||||
data.check = true
|
||||
}
|
||||
this.checkWithdrawFun(data)
|
||||
},
|
||||
|
||||
// 关闭编辑
|
||||
close() {
|
||||
this.$emit('close')
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,192 @@
|
||||
|
||||
<template>
|
||||
<el-dialog title="充提流水列表" :visible.sync="Visible" width="90%" center class="ac-dialog" :close-on-click-modal="false" @close="close">
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" class="form-inline" label-width="80px" ref="form" size="mini" v-if="data.data.mode === 'bankcard'">
|
||||
<el-form-item label-width="15px">
|
||||
绑定银行信息
|
||||
</el-form-item>
|
||||
<el-form-item label-width="15px">
|
||||
银行名称:<span style="color: red">{{ statData.bankName }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="15px">
|
||||
账户名:<span style="color: red">{{ statData.bankAccName }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="15px">
|
||||
银行卡号:<span style="color: red">{{ statData.bankAccNo }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-form :inline="true" class="form-inline" label-width="80px" ref="form" size="mini" v-if="data.data.mode === 'bankcard'">
|
||||
<el-form-item label-width="15px">
|
||||
当前银行信息
|
||||
</el-form-item>
|
||||
<el-form-item label-width="15px">
|
||||
银行名称:<span style="color: red">{{ data.data.bankName}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="15px">
|
||||
账户名:<span style="color: red">{{ data.data.accountName}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="15px">
|
||||
银行卡号:<span style="color: red">{{ data.data.accountNo }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-form :inline="true" class="form-inline" label-width="80px" ref="form" size="mini">
|
||||
<el-form-item>
|
||||
总充值:<span style="color: red">{{ statData.totalRchg | changeMoneyYuan }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item style="margin-left:60px">
|
||||
总收益:<span style="color: red">{{ statData.totalIncome | changeMoneyYuan }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item style="margin-left:60px">
|
||||
收益总提现:<span style="color: red">{{ statData.totalIncomeWtdr | changeMoneyYuan }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item style="margin-left:60px">
|
||||
剩余收益:<span style="color: red">{{ statData.leftIncome | changeMoneyYuan }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-table :data="resData" border height="600px" style="width: 100%" highlight-current-row>
|
||||
<el-table-column align="center" label="收支类型">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.mark | changeMark
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="交易金额(麻豆币)" width="140">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.coinAmount | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="交易方式">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.currencyType | changeCurrencyType
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="交易类型">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.tranType | changeTranType
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="状态">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.status | runningStatus
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="记录描述" width="250">
|
||||
<template slot-scope="scope">
|
||||
<el-tooltip class="item" effect="dark" :content="scope.row.desc" placement="top">
|
||||
<div style="
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
">
|
||||
{{ scope.row.desc }}
|
||||
</div>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="交易时间" width="180">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.createdAt | BeiJingTime
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="table-pagination">
|
||||
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[10, 20, 30, 50, 100]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="Visible = false"> 取 消 </el-button>
|
||||
<el-button type="primary" @click="submit('ruleForm')"> 确 定 </el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import { getWaterList, getByuserStat } from '@/api/tran/withdrawList'
|
||||
export default {
|
||||
name: 'WaterList',
|
||||
props: ['data'],
|
||||
data() {
|
||||
return {
|
||||
Visible: true,
|
||||
// 表单数据
|
||||
searchData: {
|
||||
userId: undefined,
|
||||
waterFor: 'app',
|
||||
status: 1,
|
||||
tranTypes: [30, 31],
|
||||
},
|
||||
resData: [],
|
||||
statData: [],
|
||||
total: 0,
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
runningStatus(v) {
|
||||
switch (v) {
|
||||
case -1:
|
||||
return '失败'
|
||||
case 0:
|
||||
return '进行中'
|
||||
case 1:
|
||||
return '成功'
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.searchData.userId = this.data.data.userId
|
||||
this.getByuserStat()
|
||||
this.getWaterListSearch()
|
||||
},
|
||||
methods: {
|
||||
//TODO:请求用户数据
|
||||
getByuserStat() {
|
||||
getByuserStat({ userId: this.searchData.userId }).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.statData = res.data
|
||||
} else {
|
||||
this.statData = []
|
||||
this.$message.error(res.tip)
|
||||
}
|
||||
})
|
||||
},
|
||||
// TODO:获取充提流水列表数据
|
||||
getWaterListSearch() {
|
||||
getWaterList(this.searchData).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.resData = res.data.infos
|
||||
this.total = res.data.totalCount
|
||||
} else {
|
||||
this.resData = []
|
||||
this.total = 0
|
||||
this.$message.error('请求应用列表失败!')
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 提交按钮
|
||||
submit(formName) {
|
||||
this.$emit('close')
|
||||
},
|
||||
// 关闭编辑
|
||||
close() {
|
||||
this.$emit('close')
|
||||
},
|
||||
|
||||
// 切换每页数据量
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = val
|
||||
this.getWaterListSearch()
|
||||
},
|
||||
|
||||
// 切换页数
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = val
|
||||
this.getWaterListSearch()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,325 @@
|
||||
<!-- 提现列表 -->
|
||||
<template>
|
||||
<div class="pf-warpper avlist">
|
||||
<!-- 查询表单 -->
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" :model="searchData.param" class="form-inline" size="mini">
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('tradeNo')" clearable placeholder="请输入订单号" v-model.number="searchData.param.tradeNo" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('userId')" clearable placeholder="请输入用户ID" v-model.number="searchData.param.userId" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('oid')" clearable placeholder="请输入第三方平台订单号" v-model="searchData.param.oid" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('rchgMinAmount')" clearable placeholder="请输入充值最小额度" v-model.number="searchData.param.rchgMinAmount" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input @clear="onClear('rchgMaxAmount')" clearable placeholder="请输入充值最大额度" v-model.number="searchData.param.rchgMaxAmount" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('checkStatus')" clearable placeholder="请选择审核状态" v-model="searchData.param.checkStatus">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in WithdrawCheckTypeList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('status')" clearable placeholder="请选择订单状态" v-model="searchData.param.status">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in WithdrawCurrencyTypeList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select @clear="onClear('mode')" clearable placeholder="请选择提现类型" v-model="searchData.param.mode">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in WithdrawTypeList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-date-picker :default-time="['00:00:00', '23:59:59']" end-placeholder="结束日期" range-separator="至" start-placeholder="开始日期" type="datetimerange" v-model="time" value-format="yyyy-MM-ddTHH:mm:ss+08:00" />
|
||||
</el-form-item>
|
||||
<el-form-item label-width="15px">
|
||||
<el-button @click="onSearch" icon="el-icon-search" plain type="primary">搜索</el-button>
|
||||
<el-button @click="refreshView" icon="el-icon-refresh" plain type="info">刷新</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-table v-loading="loading" :data="tableData" border height="700" highlight-current-row style="width: 100%">
|
||||
<el-table-column align="center" label="用户ID">
|
||||
<template slot-scope="scope">{{ scope.row.userId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="订单号" width="250">
|
||||
<template slot-scope="scope">{{ scope.row.tradeNo }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="提现渠道" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.payChannel }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="用户名称">
|
||||
<template slot-scope="scope">{{ scope.row.userName }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="提现账户" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.accountNo }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="提现账户持有人">
|
||||
<template slot-scope="scope">{{ scope.row.accountName }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="提现金额">
|
||||
<template slot-scope="scope">{{ scope.row.amount | changeMoneyYuan }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="提现银行">
|
||||
<template slot-scope="scope">{{ scope.row.bankName }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="审核状态">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.checkStatus | changeWithdrawCheckType
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="提现类型">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.mode | changeWithdrawType
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="订单状态" width="100">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.status | changeWithdrawCurrencyType
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="审核备注" show-overflow-tooltip width="100">
|
||||
<template slot-scope="scope">{{ scope.row.checkMark }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="真实到账金额" width="100">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.realAmount | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="提现费率">
|
||||
<template slot-scope="scope">{{ scope.row.rate }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="充值总金额" width="100">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.rchgAmount | changeMoneyYuan
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="设备id" width="120">
|
||||
<template slot-scope="scope">{{ scope.row.devId }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="设备类型">
|
||||
<template slot-scope="scope">{{ scope.row.devType }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="商区码">
|
||||
<template slot-scope="scope">{{ scope.row.districtCode }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="ip地址" width="120">
|
||||
<template slot-scope="scope">{{ scope.row.ipAddr }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="是否直推">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.isDirect ? "是" : "不是"
|
||||
}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="游戏订单" width="250">
|
||||
<template slot-scope="scope">{{ scope.row.trfOrder }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="第三方返回订单号" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.oid }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="提现渠道" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.payChannel }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="手机号" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.phoneNo }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="序列码">
|
||||
<template slot-scope="scope">{{ scope.row.promSeqe }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="系统类型">
|
||||
<template slot-scope="scope">{{ scope.row.sysType }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="审核日期" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.checkAt | BeiJingTime }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="提现完成时间" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.finishedAt | BeiJingTime }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="创建日期" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.createdAt | BeiJingTime }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="修改时间" width="150">
|
||||
<template slot-scope="scope">{{ scope.row.updatedAt | BeiJingTime }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="用途">
|
||||
<template slot-scope="scope">{{ scope.row.wtdrFor }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="right" label="操作" width="300">
|
||||
<template slot-scope="scope">
|
||||
<el-button v-if="scope.row.status == 1 && scope.row.checkStatus == 1" @click="handleCheck(scope.row,true)" size="mini" type="success">通过</el-button>
|
||||
<el-button v-if="scope.row.status == 1 && scope.row.checkStatus == 1" @click="handleCheck(scope.row,false)" size="mini" type="danger">拒绝</el-button>
|
||||
<el-button @click="handleWaterList(scope.$index, scope.row)" size="mini" type="primary">收益流水</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- 分页 -->
|
||||
<div class="table-pagination">
|
||||
<el-pagination :current-page="searchData.pageNum" :page-size="searchData.pageSize" :page-sizes="[10, 20, 30, 50, 100]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" />
|
||||
</div>
|
||||
<Edit :data="editData" v-if="editVisible" @close="closeEdit" ref="Edit"></Edit>
|
||||
<WaterList :data="editData" v-if="waterListVisible" @close="closeEdit" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getWithdrawList } from '@/api/tran/withdrawList'
|
||||
import {
|
||||
WithdrawCheckTypeList,
|
||||
WithdrawCurrencyTypeList,
|
||||
WithdrawTypeList,
|
||||
} from '@/filters/tran/withdrawList'
|
||||
import Edit from './components/rejectEdit'
|
||||
import WaterList from './components/waterList'
|
||||
import { changeMoneyFen } from '@/filters/index'
|
||||
export default {
|
||||
name: 'WithdrawList',
|
||||
components: { Edit, WaterList },
|
||||
data() {
|
||||
return {
|
||||
total: 0,
|
||||
loading: true, // 列表加载状态
|
||||
time: undefined,
|
||||
WithdrawCheckTypeList: WithdrawCheckTypeList(),
|
||||
WithdrawCurrencyTypeList: WithdrawCurrencyTypeList(),
|
||||
WithdrawTypeList: WithdrawTypeList(),
|
||||
editVisible: false,
|
||||
|
||||
editData: {
|
||||
title: '拒绝理由',
|
||||
data: {},
|
||||
},
|
||||
// 请求数据
|
||||
searchData: {
|
||||
pageNum: 1,
|
||||
pageSize: 20,
|
||||
param: {
|
||||
checkStatus: undefined, // 审核状态
|
||||
mode: undefined, // 提现类型
|
||||
oid: undefined, // 第三方平台订单号
|
||||
status: undefined, // 订单状态
|
||||
start: undefined, // 开始时间
|
||||
end: undefined, // 结束时间
|
||||
userId: undefined, // 用户id
|
||||
tradeNo: undefined, // 订单号
|
||||
// wtdrFor: 'game',
|
||||
wtdrFor: 'app',
|
||||
rchgMaxAmount: undefined,
|
||||
rchgMinAmount: undefined,
|
||||
},
|
||||
},
|
||||
tableData: [],
|
||||
waterListVisible: false,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// 获取表格列表
|
||||
this.onSubmit()
|
||||
},
|
||||
methods: {
|
||||
onSearch() {
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 20
|
||||
this.searchData.param.wtdrFor = 'app'
|
||||
this.onSubmit()
|
||||
},
|
||||
//TODO:请求提现列表数据
|
||||
onSubmit() {
|
||||
this.loading = true
|
||||
if (this.time) {
|
||||
this.searchData.param.start = this.time[0]
|
||||
this.searchData.param.end = this.time[1]
|
||||
} else {
|
||||
this.searchData.param.start = undefined
|
||||
this.searchData.param.end = undefined
|
||||
}
|
||||
let param = JSON.parse(JSON.stringify(this.searchData))
|
||||
if (
|
||||
this.searchData.param.rchgMinAmount !== undefined &&
|
||||
this.searchData.param.rchgMaxAmount !== undefined
|
||||
) {
|
||||
param.param.rchgMinAmount = changeMoneyFen(
|
||||
this.searchData.param.rchgMinAmount
|
||||
)
|
||||
param.param.rchgMaxAmount = changeMoneyFen(
|
||||
this.searchData.param.rchgMaxAmount
|
||||
)
|
||||
}
|
||||
getWithdrawList(param).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.tableData = res.data.list
|
||||
this.total = res.data.total
|
||||
} else {
|
||||
this.tableData = []
|
||||
this.total = 0
|
||||
this.$message.error('请求列表失败')
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
|
||||
handleCheck(data, type) {
|
||||
if (type) {
|
||||
this.editVisible = true
|
||||
this.editData = {
|
||||
title: '通过备注',
|
||||
data: data,
|
||||
}
|
||||
} else {
|
||||
this.editVisible = true
|
||||
this.editData = {
|
||||
title: '选择审核拒绝的理由',
|
||||
data: data,
|
||||
}
|
||||
}
|
||||
},
|
||||
closeEdit() {
|
||||
this.editVisible = false
|
||||
this.waterListVisible = false
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 刷新
|
||||
refreshView() {
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 20
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 清理列表请求筛选项
|
||||
onClear(key) {
|
||||
this.searchData.param[key] = undefined
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 切换每页条数
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = Number(val)
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
// 翻页
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = Number(val)
|
||||
this.onSubmit()
|
||||
},
|
||||
|
||||
handleWaterList(index, row) {
|
||||
this.waterListVisible = true
|
||||
this.editData = {
|
||||
title: '充提流水列表',
|
||||
data: row,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user