公会钻石薪资流水-增加公会长地区

This commit is contained in:
khalil
2025-06-03 18:13:19 +08:00
parent 359a34c955
commit a45fb8f20f
2 changed files with 270 additions and 282 deletions

View File

@@ -3,123 +3,124 @@
<div class="container">
<div class="region-box">
<el-radio-group v-model="region">
<el-radio
v-for="(item, index) in userAreaRegion"
:key="index"
:label="item.value"
>{{ item.name }}</el-radio
>
<el-radio v-for="(item, index) in userAreaRegion"
:key="index"
:label="item.value">{{ item.name }}</el-radio>
</el-radio-group>
</div>
<div class="handle-box">
<el-form
ref="searchForm"
:model="searchForm"
:rules="searchRule"
label-width="90px"
:disabled="tableLoading"
>
<el-form ref="searchForm"
:model="searchForm"
:rules="searchRule"
label-width="90px"
:disabled="tableLoading">
<div class="search-line">
<el-form-item label="分区" prop="partitionId">
<el-form-item label="分区"
prop="partitionId">
<partition-select v-model:partition-id="searchForm.partitionId"
v-model:partition-infos="partitionArr"
/>
v-model:partition-infos="partitionArr" />
</el-form-item>
<el-form-item label="地区" prop="regionId">
<el-form-item label="地区"
prop="regionId">
<partition-region-select v-model:partition-id="searchForm.partitionId"
v-model:region-id="searchForm.regionId"
v-model:after-init="getData"
/>
v-model:region-id="searchForm.regionId"
v-model:after-init="getData" />
</el-form-item>
<el-form-item label="公会ID" prop="agencyId">
<el-input
v-model.trim="searchForm.agencyId"
placeholder="请输入"
></el-input>
<el-form-item label="公会ID"
prop="agencyId">
<el-input v-model.trim="searchForm.agencyId"
placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="公会长ID" prop="agencyOwnerId">
<el-input
v-model.trim="searchForm.agencyOwnerId"
placeholder="请输入"
></el-input>
<el-form-item label="公会长ID"
prop="agencyOwnerId">
<el-input v-model.trim="searchForm.agencyOwnerId"
placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="周期" prop="dateCycle">
<el-select placeholder="请选择" v-model="searchForm.dateCycle">
<el-option
v-for="(item, i) in dateCycleList"
:key="i"
:label="item.startDateStr + '~' + item.endDateStr"
:value="item.dateCycle"
></el-option>
<el-form-item label="周期"
prop="dateCycle">
<el-select placeholder="请选择"
v-model="searchForm.dateCycle">
<el-option v-for="(item, i) in dateCycleList"
:key="i"
:label="item.startDateStr + '~' + item.endDateStr"
:value="item.dateCycle"></el-option>
</el-select>
</el-form-item>
<el-form-item label-width="40px">
<el-button type="primary" @click="handSearch">搜索</el-button>
<el-button plain @click="resetSearchForm">重置搜索</el-button>
<el-button type="primary"
@click="handSearch">搜索</el-button>
<el-button plain
@click="resetSearchForm">重置搜索</el-button>
</el-form-item>
</div>
</el-form>
<el-button type="primary" class="exportBtn" @click="confirmExport2Excel"
>导出</el-button
>
<el-button type="primary"
class="exportBtn"
@click="confirmExport2Excel">导出</el-button>
</div>
<div class="table">
<el-table
:data="tableData"
border
v-loading="tableLoading"
@header-click="headerCopy"
style="width: 100%"
>
<el-table :data="tableData"
border
v-loading="tableLoading"
@header-click="headerCopy"
style="width: 100%">
<!-- <el-table-column align="center" prop="region" label="区服">
<template v-slot="scope">
{{ regionType(scope.row.region) }}
</template>
</el-table-column> -->
<el-table-column align="center" prop="partitionDesc" label="分区"> </el-table-column>
<el-table-column align="center" prop="agencyId" label="公会ID">
<el-table-column align="center"
prop="partitionDesc"
label="分区"> </el-table-column>
<el-table-column align="center"
prop="agencyId"
label="公会ID">
</el-table-column>
<el-table-column align="center" prop="agencyName" label="公会名称">
<el-table-column align="center"
prop="agencyName"
label="公会名称">
</el-table-column>
<el-table-column
align="center"
prop="hallMemberCount"
label="主播人数"
>
<el-table-column align="center"
prop="hallMemberCount"
label="主播人数">
</el-table-column>
<!-- <el-table-column align="center" prop="agencyAbbr" label="公会国家"> </el-table-column> -->
<el-table-column align="center" prop="agencyErbanNo" label="公会长ID">
<el-table-column align="center"
prop="agencyErbanNo"
label="公会长ID">
</el-table-column>
<el-table-column align="center" prop="energyValue" label="总钻石流水">
<el-table-column align="center"
prop="agencyRegionName"
label="公会长地区">
</el-table-column>
<el-table-column align="center"
prop="energyValue"
label="总钻石流水">
<template v-slot="scope">
{{
scope.row.energyValue
? scope.row.energyValue.toLocaleString()
: "null"
}}
</template>
</el-table-column>
<el-table-column
align="center"
prop="salaryRate"
label="公会长薪资比例"
>
<el-table-column align="center"
prop="salaryRate"
label="公会长薪资比例">
<template v-slot="scope">
{{ scope.row.salaryRate ? scope.row.salaryRate + "%" : "0%" }}
</template>
</el-table-column>
<el-table-column align="center" prop="hallSalary" label="公会长薪资">
<el-table-column align="center"
prop="hallSalary"
label="公会长薪资">
</el-table-column>
</el-table>
</div>
<table-pagination
:pageParams="pageParams"
:pageTotal="pageTotal"
:page-sizes="[10, 20, 100, 200]"
@handleSizeChange="handleSizeChange"
@handlePageChange="handlePageChange"
></table-pagination>
<table-pagination :pageParams="pageParams"
:pageTotal="pageTotal"
:page-sizes="[10, 20, 100, 200]"
@handleSizeChange="handleSizeChange"
@handlePageChange="handlePageChange"></table-pagination>
</div>
</div>
</template>
@@ -197,10 +198,14 @@ export default {
getDateCycleList() {
getDateCycleList({ month: 3 }).then((res) => {
this.dateCycleList = res.data || [];
this.searchForm.dateCycle = this.dateCycleList[0].dateCycle;
this.searchForm.dateCycle = res.data? this.dateCycleList[0].dateCycle: undefined;
});
},
getData() {
if (!this.searchForm.dateCycle) {
return;
}
this.tableLoading = true;
let { pageParams, searchForm } = this;

View File

@@ -2,147 +2,153 @@
<div class="anchor-salary-operate">
<div class="container">
<div class="handle-box">
<el-form
ref="searchForm"
:model="searchForm"
:rules="searchRule"
label-width="90px"
:disabled="tableLoading"
>
<el-form ref="searchForm"
:model="searchForm"
:rules="searchRule"
label-width="90px"
:disabled="tableLoading">
<div class="search-line">
<el-form-item label="分区" prop="partitionId">
<el-form-item label="分区"
prop="partitionId">
<partition-select v-model:partition-id="searchForm.partitionId"
v-model:partition-infos="partitionArr"
v-model:after-init="getData"
/>
v-model:after-init="getData" />
</el-form-item>
<el-form-item label="主播ID" prop="erbanNo">
<el-input
v-model.trim="searchForm.erbanNo"
placeholder="请输入"
></el-input>
<el-form-item label="主播ID"
prop="erbanNo">
<el-input v-model.trim="searchForm.erbanNo"
placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="公会ID" prop="agencyId">
<el-input
v-model.trim="searchForm.agencyId"
placeholder="请输入"
></el-input>
<el-form-item label="公会ID"
prop="agencyId">
<el-input v-model.trim="searchForm.agencyId"
placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="公会长ID" prop="agencyOwnerId">
<el-input
v-model.trim="searchForm.agencyOwnerId"
placeholder="请输入"
></el-input>
<el-form-item label="公会长ID"
prop="agencyOwnerId">
<el-input v-model.trim="searchForm.agencyOwnerId"
placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="周期" prop="dateCycle">
<el-select placeholder="请选择" v-model="searchForm.dateCycle">
<el-option
v-for="(item, i) in dateCycleList"
:key="i"
:label="item.startDateStr + '~' + item.endDateStr"
:value="item.dateCycle"
></el-option>
<el-form-item label="周期"
prop="dateCycle">
<el-select placeholder="请选择"
v-model="searchForm.dateCycle">
<el-option v-for="(item, i) in dateCycleList"
:key="i"
:label="item.startDateStr + '~' + item.endDateStr"
:value="item.dateCycle"></el-option>
</el-select>
</el-form-item>
<el-form-item label-width="40px">
<el-button type="primary" @click="handSearch">搜索</el-button>
<el-button plain @click="resetSearchForm">重置搜索</el-button>
<el-button type="primary"
@click="handSearch">搜索</el-button>
<el-button plain
@click="resetSearchForm">重置搜索</el-button>
</el-form-item>
</div>
</el-form>
</div>
<div class="table">
<el-table
:data="tableData"
border
v-loading="tableLoading"
@header-click="headerCopy"
style="width: 100%"
>
<el-table :data="tableData"
border
v-loading="tableLoading"
@header-click="headerCopy"
style="width: 100%">
<!-- <el-table-column align="center" prop="dateCycle" label="周期" width="105">
<template v-slot="scope">
{{ dateCycleType(scope.row.dateCycle) }}
</template>
</el-table-column> -->
<el-table-column align="center" prop="partitionDesc" label="分区" />
<el-table-column align="center" prop="erbano" label="主播ID">
<el-table-column align="center"
prop="partitionDesc"
label="分区" />
<el-table-column align="center"
prop="erbano"
label="主播ID">
</el-table-column>
<el-table-column align="center" prop="nick" label="主播昵称">
<el-table-column align="center"
prop="nick"
label="主播昵称">
</el-table-column>
<el-table-column align="center" prop="agencyId" label="公会ID">
<el-table-column align="center"
prop="agencyId"
label="公会ID">
</el-table-column>
<el-table-column
align="center"
prop="agencyOwnerErbanNo"
label="公会长ID"
>
<el-table-column align="center"
prop="agencyOwnerErbanNo"
label="公会长ID">
</el-table-column>
<el-table-column align="center" prop="agencyOwnerRegionDesc" label="公会长地区">
<el-table-column align="center"
prop="agencyOwnerRegionDesc"
label="公会长地区">
</el-table-column>
<el-table-column align="center" prop="diamondFlow" label="钻石流水">
<el-table-column align="center"
prop="diamondFlow"
label="钻石流水">
<template v-slot="scope">
{{
scope.row.diamondFlow
? scope.row.diamondFlow.toLocaleString()
: "0"
}}
</template>
</el-table-column>
<el-table-column
align="center"
prop="diamondToUsb"
label="钻石兑换薪资"
>
<el-table-column align="center"
prop="diamondToUsb"
label="钻石兑换薪资">
<template v-slot="scope">
<el-button type="text" @click="handleOpen(1, scope.row)">
<el-button type="text"
@click="handleOpen(1, scope.row)">
{{ scope.row.diamondToUsb + "us" }}
</el-button>
</template>
</el-table-column>
<el-table-column align="center" prop="usbToGold" label="薪资兑换金币">
<el-table-column align="center"
prop="usbToGold"
label="薪资兑换金币">
<template v-slot="scope">
<el-button type="text" @click="handleOpen(2, scope.row)">
<el-button type="text"
@click="handleOpen(2, scope.row)">
{{ scope.row.usbToGold + "us" }}
</el-button>
</template>
</el-table-column>
<el-table-column
align="center"
prop="usbToAgent"
label="薪资转增代理"
>
<el-table-column align="center"
prop="usbToAgent"
label="薪资转增代理">
<template v-slot="scope">
<el-button type="text" @click="handleOpen(3, scope.row)">
<el-button type="text"
@click="handleOpen(3, scope.row)">
{{ scope.row.usbToAgent + "us" }}
</el-button>
</template>
</el-table-column>
<el-table-column
align="center"
prop="usbToOwner"
label="薪资转增公会长"
>
<el-table-column align="center"
prop="usbToOwner"
label="薪资转增公会长">
<template v-slot="scope">
<el-button type="text" @click="handleOpen(4, scope.row)">
<el-button type="text"
@click="handleOpen(4, scope.row)">
{{ scope.row.usbToOwner + "us" }}
</el-button>
</template>
</el-table-column>
<el-table-column
align="center"
prop="officialWithdram"
label="官方提现"
>
<el-table-column align="center"
prop="officialWithdram"
label="官方提现">
<template v-slot="scope">
<el-button type="text" @click="handleOpen(5, scope.row)">
<el-button type="text"
@click="handleOpen(5, scope.row)">
{{ scope.row.officialWithdram + "us" }}
</el-button>
</template>
</el-table-column>
<el-table-column align="center" prop="usb" label="剩余薪资">
<el-table-column align="center"
prop="usb"
label="剩余薪资">
</el-table-column>
<el-table-column align="center" prop="diamond" label="钻石余额(当前)">
<el-table-column align="center"
prop="diamond"
label="钻石余额(当前)">
<template v-slot="scope">
{{
scope.row.diamond ? scope.row.diamond.toLocaleString() : "null"
@@ -151,78 +157,66 @@
</el-table-column>
</el-table>
</div>
<table-pagination
:pageParams="pageParams"
:pageTotal="pageTotal"
:page-sizes="[10, 20, 100, 200]"
@handleSizeChange="handleSizeChange"
@handlePageChange="handlePageChange"
></table-pagination>
<table-pagination :pageParams="pageParams"
:pageTotal="pageTotal"
:page-sizes="[10, 20, 100, 200]"
@handleSizeChange="handleSizeChange"
@handlePageChange="handlePageChange"></table-pagination>
</div>
<!-- 弹出框 -->
<el-dialog :title="dialogTitle" v-model="dialogVisible" width="60%">
<el-table
:data="dialogData"
border
class="received-table"
v-loading="dialogLoading"
>
<el-table-column prop="createTime" label="日期" align="center">
<el-dialog :title="dialogTitle"
v-model="dialogVisible"
width="60%">
<el-table :data="dialogData"
border
class="received-table"
v-loading="dialogLoading">
<el-table-column prop="createTime"
label="日期"
align="center">
<template v-slot="scope">{{
convertTimestamp(scope.row.createTime)
}}</template>
</el-table-column>
<el-table-column
prop="nick"
label="主播昵称"
align="center"
></el-table-column>
<el-table-column
prop="erbano"
label="主播ID"
align="center"
></el-table-column>
<el-table-column prop="nick"
label="主播昵称"
align="center"></el-table-column>
<el-table-column prop="erbano"
label="主播ID"
align="center"></el-table-column>
<!-- 薪资兑换金币6 -->
<el-table-column
v-if="dialogType == 6"
prop="gold"
label="兑换金币数量"
align="center"
>
<el-table-column v-if="dialogType == 6"
prop="gold"
label="兑换金币数量"
align="center">
<template v-slot="scope">
{{ scope.row.gold ? scope.row.gold.toLocaleString() : "0" }}
</template>
</el-table-column>
<!-- 钻石兑换薪资1 -->
<el-table-column
v-if="dialogType == 1"
prop="exDiamond"
label="兑换钻石数量"
align="center"
>
<el-table-column v-if="dialogType == 1"
prop="exDiamond"
label="兑换钻石数量"
align="center">
<template v-slot="scope">
{{
scope.row.exDiamond ? scope.row.exDiamond.toLocaleString() : "0"
}}
</template>
</el-table-column>
<el-table-column
v-if="dialogType == 1 || dialogType == 6"
prop="tradeUsb"
label="兑换薪资数"
align="center"
>
<el-table-column v-if="dialogType == 1 || dialogType == 6"
prop="tradeUsb"
label="兑换薪资数"
align="center">
<template v-slot="scope">
{{ scope.row.tradeUsb + "us" }}
</template>
</el-table-column>
<el-table-column
v-if="dialogType == 1"
prop="afterDiamond"
label="钻石余额"
align="center"
>
<el-table-column v-if="dialogType == 1"
prop="afterDiamond"
label="钻石余额"
align="center">
<template v-slot="scope">
{{
scope.row.afterDiamond
@@ -232,87 +226,71 @@
</template>
</el-table-column>
<!-- 薪资转增代理2 -->
<el-table-column
v-if="dialogType == 2"
prop="receiveErbano"
label="充值代理ID"
align="center"
></el-table-column>
<el-table-column
v-if="dialogType == 2"
prop="receiveNick"
label="充值代理名称"
align="center"
></el-table-column>
<el-table-column
v-if="dialogType == 2"
prop="beforeUsb"
label="当前薪资"
align="center"
>
<el-table-column v-if="dialogType == 2"
prop="receiveErbano"
label="充值代理ID"
align="center"></el-table-column>
<el-table-column v-if="dialogType == 2"
prop="receiveNick"
label="充值代理名称"
align="center"></el-table-column>
<el-table-column v-if="dialogType == 2"
prop="beforeUsb"
label="当前薪资"
align="center">
<template v-slot="scope">
{{ scope.row.beforeUsb + "us" }}
</template>
</el-table-column>
<el-table-column
v-if="dialogType == 2"
prop="tradeUsb"
label="转增代理"
align="center"
>
<el-table-column v-if="dialogType == 2"
prop="tradeUsb"
label="转增代理"
align="center">
<template v-slot="scope">
{{ scope.row.tradeUsb + "us" }}
</template>
</el-table-column>
<!-- 薪资转增公会长3 -->
<el-table-column
v-if="dialogType == 3 || dialogType == 4"
prop="receiveNick"
label="公会长昵称"
align="center"
></el-table-column>
<el-table-column
v-if="dialogType == 3 || dialogType == 4"
prop="receiveErbano"
label="公会长ID"
align="center"
></el-table-column>
<el-table-column
v-if="dialogType == 3"
prop="tradeUsb"
label="转增公会长"
align="center"
>
<el-table-column v-if="dialogType == 3 || dialogType == 4"
prop="receiveNick"
label="公会长昵称"
align="center"></el-table-column>
<el-table-column v-if="dialogType == 3 || dialogType == 4"
prop="receiveErbano"
label="公会长ID"
align="center"></el-table-column>
<el-table-column v-if="dialogType == 3"
prop="tradeUsb"
label="转增公会长"
align="center">
<template v-slot="scope">
{{ scope.row.tradeUsb + "us" }}
</template>
</el-table-column>
<!-- 官方提现4 -->
<el-table-column
v-if="dialogType == 4"
prop="tradeUsb"
label="官方提现"
align="center"
>
<el-table-column v-if="dialogType == 4"
prop="tradeUsb"
label="官方提现"
align="center">
<template v-slot="scope">
{{ scope.row.tradeUsb + "us" }}
</template>
</el-table-column>
<el-table-column align="center" prop="afterUsb" label="剩余薪资">
<el-table-column align="center"
prop="afterUsb"
label="剩余薪资">
<template v-slot="scope">
{{ scope.row.afterUsb + "us" }}
</template>
</el-table-column>
</el-table>
<table-pagination
:pageParams="pageParams1"
:pageTotal="pageTotal1"
:page-sizes="[5, 10, 20]"
@handleSizeChange="handleSizeChange1"
@handlePageChange="handlePageChange1"
></table-pagination>
<table-pagination :pageParams="pageParams1"
:pageTotal="pageTotal1"
:page-sizes="[5, 10, 20]"
@handleSizeChange="handleSizeChange1"
@handlePageChange="handlePageChange1"></table-pagination>
</el-dialog>
</div>
</template>
@@ -331,8 +309,8 @@ import PartitionSelect from "@/views/common/partitionSelect.vue";
export default {
name: "anchorSalaryOperate",
components: {PartitionSelect, TablePagination },
data() {
components: { PartitionSelect, TablePagination },
data () {
return {
dateCycleList: [],
btnLoading: false, // 导出弹出框(dialog)的确认按钮
@@ -394,16 +372,21 @@ export default {
dialogType: 1,
};
},
created() {
created () {
this.getDateCycleList();
},
methods: {
getDateCycleList() {
getDateCycleList () {
getDateCycleList({ month: 3 }).then((res) => {
this.dateCycleList = res.data || [];
this.searchForm.dateCycle = res.data ? res.data[0].dateCycle : undefined;
});
},
getData() {
getData () {
if (this.searchForm.dateCycle == undefined) {
return;
}
this.tableLoading = true;
let { pageParams, searchForm } = this;
@@ -435,7 +418,7 @@ export default {
});
},
// 弹窗
handleOpen(index, row) {
handleOpen (index, row) {
switch (index) {
case 1:
this.dialogTitle = "钻石兑换薪资";
@@ -474,7 +457,7 @@ export default {
this.getDetail();
},
getDetail() {
getDetail () {
let { pageParams1, dialogParams } = this;
pageParams1 = JSON.parse(JSON.stringify(pageParams1));
dialogParams = JSON.parse(JSON.stringify(dialogParams));
@@ -499,7 +482,7 @@ export default {
});
},
// 点击搜索
handSearch() {
handSearch () {
this.$refs["searchForm"].validate((valid) => {
if (valid) {
this.pageParams.pageNo = 1;
@@ -508,49 +491,49 @@ export default {
});
},
// 重置搜索表单
resetSearchForm() {
resetSearchForm () {
this.$refs["searchForm"].resetFields();
this.pageParams.pageNo = 1;
this.tableData = [];
this.getData();
},
// 分页导航
handleSizeChange(val) {
handleSizeChange (val) {
this.pageParams.pageSize = val;
this.getData();
},
handlePageChange(val) {
handlePageChange (val) {
this.pageParams.pageNo = val;
this.getData();
},
// 弹窗分页导航
handleSizeChange1(val) {
handleSizeChange1 (val) {
this.pageParams1.pageSize = val;
this.getDetail();
},
handlePageChange1(val) {
this.pageParams1.pageNo = val;
handlePageChange1 (val) {
this.pageParams1.pageNo = val;
this.getDetail();
},
headerCopy(column, e) {
headerCopy (column, e) {
this.$copy(column.label);
},
},
computed: {
convertTimestamp1() {
convertTimestamp1 () {
return function (time) {
let date = new Date(time);
return formatDateYMD(date);
};
},
convertTimestamp() {
convertTimestamp () {
return function (time) {
let date = new Date(time);
return formatDate(date);
};
},
dateCycleType() {
dateCycleType () {
const { dateCycleList } = this;
return function (value) {
for (let item of dateCycleList) {