fix:项目初始化

This commit is contained in:
ouyangxiu
2025-06-10 17:11:41 +07:00
commit db9bffd2c5
713 changed files with 159746 additions and 0 deletions
+366
View File
@@ -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>