This commit is contained in:
777
2025-09-16 00:19:49 +08:00
parent 8d34a7eb33
commit 4c7cd1f0b2
8 changed files with 330 additions and 3 deletions

View File

@@ -67,3 +67,21 @@ export function checkRechargeOrder(orderNo,payType) {
params: {orderNo,payType} params: {orderNo,payType}
}) })
} }
export function getCurrentDayUser() {
return request({
url: '/cai/fastPayTotal/getCurrentDay',
method: 'get',
})
}
export function fastPayTotalList(query) {
return request({
url: '/cai/fastPayTotal/list',
method: 'get',
params: query
})
}

44
src/api/cai/unionTotal.js Normal file
View File

@@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询工会每日收益列表
export function listUnionTotal(query) {
return request({
url: '/cai/unionTotal/list',
method: 'get',
params: query
})
}
// 查询工会每日收益详细
export function getUnionTotal(id) {
return request({
url: '/cai/unionTotal/' + id,
method: 'get'
})
}
// 新增工会每日收益
export function addUnionTotal(data) {
return request({
url: '/cai/unionTotal',
method: 'post',
data: data
})
}
// 修改工会每日收益
export function updateUnionTotal(data) {
return request({
url: '/cai/unionTotal',
method: 'put',
data: data
})
}
// 删除工会每日收益
export function delUnionTotal(id) {
return request({
url: '/cai/unionTotal/' + id,
method: 'delete'
})
}

View File

@@ -257,6 +257,11 @@ export const rankDataTypeList = [
{ value: 3, label: '月榜',listClass: listClass.primary}, { value: 3, label: '月榜',listClass: listClass.primary},
] ]
export const unionTotalDataTypeList = [
{ value: 1, label: '每日',listClass: listClass.primary},
{ value: 2, label: '每周',listClass: listClass.primary},
]
export const rankDrawList = [ export const rankDrawList = [
{ value: true, label: '已领奖',listClass: listClass.primary}, { value: true, label: '已领奖',listClass: listClass.primary},
{ value: false, label: '未领奖',listClass: listClass.warning}, { value: false, label: '未领奖',listClass: listClass.warning},

View File

@@ -50,6 +50,19 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleOldFastPayList"
>历史首充人数</el-button>
</el-col>
<span>今日首充人数<span style="color: red">{{currenUserNum}}</span></span>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="rechargeOrderList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="rechargeOrderList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" />--> <!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="订单号" align="center" prop="orderNo" show-overflow-tooltip/> <el-table-column label="订单号" align="center" prop="orderNo" show-overflow-tooltip/>
@@ -129,11 +142,12 @@
<consume-log-info v-if="consumeLogInfoVisible" ref="consumeLogInfo" /> <consume-log-info v-if="consumeLogInfoVisible" ref="consumeLogInfo" />
<recharge-order-info v-if="rechargeOrderInfoVisible" ref="rechargeOrderInfo" /> <recharge-order-info v-if="rechargeOrderInfoVisible" ref="rechargeOrderInfo" />
<order-logs v-if="orderLogsVisible" ref="orderLogs" /> <order-logs v-if="orderLogsVisible" ref="orderLogs" />
<old-fast-pay-list v-if="oldFastPayListVisible" ref="oldFastPayList" />
</div> </div>
</template> </template>
<script> <script>
import {checkRechargeOrder, listRechargeOrder} from "@/api/cai/rechargeOrder"; import {checkRechargeOrder, getCurrentDayUser, listRechargeOrder} from "@/api/cai/rechargeOrder";
import { import {
booleanList, booleanList,
genderList, genderList,
@@ -146,11 +160,12 @@ import {
import RechargeOrderInfo from "@/views/cai/rechargeOrder/recharge-order-info"; import RechargeOrderInfo from "@/views/cai/rechargeOrder/recharge-order-info";
import ConsumeLogInfo from "@/views/cai/consumeLog/consume-log-info"; import ConsumeLogInfo from "@/views/cai/consumeLog/consume-log-info";
import OrderLogs from "@/views/cai/rechargeOrder/order-logs.vue"; import OrderLogs from "@/views/cai/rechargeOrder/order-logs.vue";
import OldFastPayList from "@/views/cai/rechargeOrder/old-fast-pay-list.vue";
export default { export default {
name: "RechargeOrder", name: "RechargeOrder",
components:{ components:{
RechargeOrderInfo,ConsumeLogInfo,OrderLogs RechargeOrderInfo,ConsumeLogInfo,OrderLogs,OldFastPayList
}, },
data() { data() {
return { return {
@@ -160,6 +175,7 @@ export default {
rechargeOrderInfoVisible: false, rechargeOrderInfoVisible: false,
consumeLogInfoVisible: false, consumeLogInfoVisible: false,
orderLogsVisible: false, orderLogsVisible: false,
oldFastPayListVisible: false,
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 选中数组 // 选中数组
@@ -174,6 +190,7 @@ export default {
total: 0, total: 0,
// 充值订单表格数据 // 充值订单表格数据
rechargeOrderList: [], rechargeOrderList: [],
currenUserNum: 0,
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@@ -198,6 +215,12 @@ export default {
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
}); });
this.refreshCurrentDayUser();
},
refreshCurrentDayUser(){
getCurrentDayUser().then(response => {
this.currenUserNum = response.data
})
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
@@ -249,6 +272,12 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.rechargeOrderInfo.init(row.id) this.$refs.rechargeOrderInfo.init(row.id)
}) })
},
handleOldFastPayList(){
this.oldFastPayListVisible = true
this.$nextTick(() => {
this.$refs.oldFastPayList.init()
})
} }
} }
}; };

View File

@@ -0,0 +1,79 @@
<template>
<el-dialog title="历史首充记录" :close-on-click-modal="false" :visible.sync="open" width="800px" append-to-body>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="日期" prop="countDate">
<el-date-picker
v-model="queryParams.countDate"
type="date"
placeholder="选择日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="oldFastPayList">
<el-table-column label="日期" align="center" prop="countDate" />
<el-table-column label="人数" align="center" prop="count" />
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-dialog>
</template>
<script>
import {fastPayTotalList} from '@/api/cai/rechargeOrder'
export default {
name: "OldFastPay",
data() {
return {
oldFastPayList:[],
queryParams:{
pageNum: 1,
pageSize: 10,
},
open: false,
// 遮罩层
loading: true,
// 总条数
total: 0,
};
},
created() {
},
methods: {
init(){
this.open = true;
this.getList();
},
getList(){
fastPayTotalList(this.queryParams).then(response => {
this.oldFastPayList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
}
};
</script>

View File

@@ -0,0 +1,143 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="时间" prop="countDate">
<el-date-picker clearable
v-model="queryParams.countDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择时间">
</el-date-picker>
</el-form-item>
<el-form-item label="统计类型" prop="dataType">
<el-select v-model="queryParams.dataType" clearable size="small">
<el-option
v-for="dict in unionTotalDataTypeList"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@keyup.enter.native="handleQuery"
/>
</el-select>
</el-form-item>
<el-form-item label="工会" prop="unionName">
<el-input
v-model="queryParams.unionName"
placeholder="请输入工会"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出未实现
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="unionTotalList" @selection-change="handleSelectionChange">
<el-table-column label="统计类型" align="center" prop="dataType">
<template v-slot="scope">
<cai-dict-tag :options="unionTotalDataTypeList" :value="scope.row.dataType"/>
</template>
</el-table-column>
<el-table-column label="时间" align="center" prop="countDate" width="180"/>
<el-table-column label="工会名称" align="center" prop="unionName" />
<el-table-column label="工会主播收入" align="center" prop="anchorEarningsTotal"/>
<el-table-column label="工会收益" align="center" prop="unionEarningsTotal"/>
<el-table-column label="统计时间" align="center" prop="refreshTime" width="180"/>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import {listUnionTotal} from "@/api/cai/unionTotal";
import {unionTotalDataTypeList} from "@/constant/statusMap";
export default {
name: "UnionTotal",
data() {
return {
unionTotalDataTypeList,
// 按钮loading
buttonLoading: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 工会每日收益表格数据
unionTotalList: [],
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
countDate: undefined,
dataType: undefined,
unionId: undefined,
unionName: undefined
},
};
},
created() {
this.getList();
},
methods: {
/** 查询工会每日收益列表 */
getList() {
this.loading = true;
listUnionTotal(this.queryParams).then(response => {
this.unionTotalList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
}
};
</script>

View File

@@ -46,9 +46,11 @@
<cai-dict-tag :options="booleanList" :value="scope.row.enableRate"/> <cai-dict-tag :options="booleanList" :value="scope.row.enableRate"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建时间" align="center" prop="unionTime" width="150"/> <el-table-column label="创建时间" align="center" prop="createTime" width="150"/>
<el-table-column label="工会人数" align="center" prop="allNum"/> <el-table-column label="工会人数" align="center" prop="allNum"/>
<el-table-column label="主播人数" align="center" prop="anchorNum"/> <el-table-column label="主播人数" align="center" prop="anchorNum"/>
<el-table-column label="主播收入" align="center" prop="anchorEarningsTotal"/>
<el-table-column label="工会收入" align="center" prop="unionEarningsTotal"/>
<!-- <el-table-column label="分成人数" align="center" prop="inDivideNum"/>--> <!-- <el-table-column label="分成人数" align="center" prop="inDivideNum"/>-->
<!-- <el-table-column label="不分成人数" align="center" prop="notDivideNum"/>--> <!-- <el-table-column label="不分成人数" align="center" prop="notDivideNum"/>-->
<el-table-column label="状态" align="center" prop="status"> <el-table-column label="状态" align="center" prop="status">

View File

@@ -10,6 +10,9 @@
<el-form-item :label="systemName+'号'" prop="usercode"> <el-form-item :label="systemName+'号'" prop="usercode">
<el-input v-model="form.usercode" placeholder="" disabled /> <el-input v-model="form.usercode" placeholder="" disabled />
</el-form-item> </el-form-item>
<el-form-item label="工会名称" prop="name">
<el-input v-model="form.name" />
</el-form-item>
<el-form-item label="开启提成" prop="enableRate"> <el-form-item label="开启提成" prop="enableRate">
<el-radio-group v-model="form.enableRate"> <el-radio-group v-model="form.enableRate">
<el-radio :label="true">开启</el-radio> <el-radio :label="true">开启</el-radio>
@@ -41,6 +44,7 @@ export default {
form:{ form:{
id: undefined, id: undefined,
nickname: undefined, nickname: undefined,
name: undefined,
mobile: undefined, mobile: undefined,
usercode: undefined, usercode: undefined,
// defaultIncomeRate: undefined, // defaultIncomeRate: undefined,
@@ -51,6 +55,9 @@ export default {
enableRate: [ enableRate: [
{ required: true, message: "数据不能为空", trigger: "blur" } { required: true, message: "数据不能为空", trigger: "blur" }
], ],
name: [
{ required: true, message: "数据不能为空", trigger: "blur" }
],
// defaultIncomeRate: [ // defaultIncomeRate: [
// { required: true, message: "数据不能为空", trigger: "blur" } // { required: true, message: "数据不能为空", trigger: "blur" }
// ], // ],