更新 添加后台管理系统的待支付汇总页面

This commit is contained in:
yaoqin 2025-09-05 14:22:49 +08:00
parent e1a84a5743
commit bec6d16554
22 changed files with 257 additions and 24 deletions

Binary file not shown.

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 92 92"><defs><style>.cls-1{fill:#c59cf8;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M46,0A46,46,0,1,0,92,46,46,46,0,0,0,46,0Zm0,89.86A43.86,43.86,0,1,1,89.86,46,43.86,43.86,0,0,1,46,89.86Z"/><path class="cls-1" d="M42,25.67H34.84a2.06,2.06,0,0,0-2.06,2.06V66.41a2.06,2.06,0,0,0,2.06,2.06H42Z"/><path class="cls-1" d="M59.66,25.67v6.6a2.06,2.06,0,0,1-2.06,2.06H44.55V25.67Z"/><path class="cls-1" d="M44.55,59.73v8.74H58.36a2.06,2.06,0,0,0,2.06-2.06V59.73Z"/><path class="cls-1" d="M56.84,42.57v4.8a2.06,2.06,0,0,1-2.06,2.06H44.55V42.57Z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 678 B

View File

@ -57,3 +57,13 @@ export function updateDocument(data) {
}
//待支付汇总
export function summaryOfPendingPayments(data) {
return request({
url: `manage/user/summaryOfPendingPayments`,
method: 'post',
data
})
}

View File

@ -57,10 +57,27 @@ export default {
// },
{
//
path: "userManagement",
label: `backendSystem.userManagement`,
// path: "userManagement",
label: `backendSystem.userRelated`,
icon: "el-icon-user",
id: "2",
children: [
{
//
path: "userManagement",
label: `backendSystem.userManagement`,
icon: "el-icon-user",
id: "2-1",
},
{
//
path: "pendingPaymentSummary",
label: `backendSystem.pendingPaymentSummary`,
icon: "el-icon-wallet",
id: "2-2",
},
],
},
{
//
@ -69,6 +86,7 @@ export default {
icon: "el-icon-document-copy",
id: "3",
},
{
//
path: "documentManagement",
@ -101,6 +119,7 @@ export default {
const currentPath = this.$route.path.replace(`/${lang}/`, "");
//
const matchedMenu = this.menuList.find((item) => item.path === currentPath);
console.log(matchedMenu, "matchedMenu");
if (matchedMenu) {
this.activeIndex = matchedMenu.id;
this.$addStorageEvent(1, "activeIndex", matchedMenu.id);
@ -113,6 +132,13 @@ export default {
this.$addStorageEvent(1, "activeIndex", this.activeIndex);
}
}
if (this.activeIndex == "0") {
this.activeIndex = "2-1";
}
},
methods: {
handleClick(item) {

View File

@ -162,9 +162,14 @@ export const backendSystem_zh = {
keyword2:"关键词",
noMatch:"没有找到匹配的文档",
resetSearch:"重新搜索",
类型:"类型",
创建时间:"创建时间",
创建者:"创建者",
type:"类型",
pendingPaymentSummary:"待支付汇总",
userRelated:"用户相关",
allocateHeight:"最后分配高度",
needPayAmount:"待支付金额",
AllocateTime:"最后分配时间",
startPayAmount:"起付额",
}
}
@ -333,9 +338,14 @@ export const backendSystem_en = {
keyword2:"Keyword",
noMatch:"No Matching Document",
resetSearch:"Reset Search",
类型:"Type",
创建时间:"Create Time",
创建者:"Create User",
type:"Type",
pendingPaymentSummary:"Pending Payment",
userRelated:"User Related",
allocateHeight:"Allocate Height",
needPayAmount:"Need Pay Amount",
AllocateTime:"Should Out Date",
startPayAmount:"Start Pay Amount",
}
}

View File

@ -34,7 +34,7 @@ export const seo_zh = {
helpCenter:"M2Pool 矿池帮助中心页面,提供用户全面的帮助中心信息,包括新手入门、矿业数据、常见问题、公告中心、其他等。",
announcements:"M2Pool 矿池公告中心页面,提供最新的矿池公告、系统通知、服务更新和重要信息,让用户及时了解矿池动态和政策变更。",
documentManagement:"M2Pool 矿池文档管理页面,提供最新的文档信息,让用户及时了解文档信息。",
pendingPaymentSummary:"M2Pool 矿池待支付汇总页面,提供最新的待支付汇总信息,及时了解用户待支付汇总信息。",
}
@ -65,6 +65,7 @@ export const seo_en = {
helpCenter:"M2Pool mining pool help center page, providing users with comprehensive help center information, including beginner's guide, mining data, frequently asked questions, announcement center, and other information.",
announcements:"M2Pool mining pool announcement center page, providing the latest mining pool announcements, system notifications, service updates and important information, allowing users to stay informed of mining pool dynamics and policy changes.",
documentManagement:"M2Pool mining pool document management page, providing the latest document information, allowing users to stay informed of document information.",
pendingPaymentSummary:"M2Pool mining pool pending payment summary page, providing the latest pending payment summary information, allowing users to stay informed of pending payment summary information.",
}
}

View File

@ -152,6 +152,21 @@ const childrenRoutes = [
}
}
},
{//待支付汇总
path: 'pendingPaymentSummary',
name: 'PendingPaymentSummary',
component: () => import('../views/pendingPaymentSummary/index.vue'),
meta: {
title: '待支付汇总',
description: i18n.t(`seo.pendingPaymentSummary`),
allAuthority: [`back_admin`],
keywords: {
en: 'pendingPaymentSummary',
zh: '待支付汇总'
}
},
},
{//文档管理
path: 'documentManagement',
name: 'DocumentManagement',

View File

@ -518,17 +518,17 @@ export default {
amount: 0.1,
},
{
path: "xtm",
value: "xtm",
label: "xtm",
img: require("../../assets/img/currency/xtm.jpg"),
imgUrl: `${this.$baseApi}img/xtm.jpg`,
name: "course.xmrCourse",
show: true,
amount: 10000,
// {
// path: "xtm",
// value: "xtm",
// label: "xtm",
// img: require("../../assets/img/currency/xtm.jpg"),
// imgUrl: `${this.$baseApi}img/xtm.jpg`,
// name: "course.xmrCourse",
// show: true,
// amount: 10000,
},
// },
// { //告知已删除此币种 Radiant
// value: "dgb2_odo",

View File

@ -0,0 +1,89 @@
import { summaryOfPendingPayments } from "../../api/documentManagement";
export default {
data() {
return {
pendingPaymentData: [],
currencyList: [
],
loading:false,
pendingPaymentParams: {
pageNum: 1,
pageSize: 10,
},
total: 0,
pageSizes: [10, 50, 200],
currentPage: 1,
};
},
mounted() {
this.currencyList = JSON.parse(localStorage.getItem("currencyList"))
window.addEventListener("setItem", () => {
this.currencyList = JSON.parse(localStorage.getItem("currencyList"))
});
this.fetchPendingPaymentData(this.pendingPaymentParams);
},
methods: {
async fetchPendingPaymentData(params) {
this.setLoading('loading', true);
const res = await summaryOfPendingPayments(params);
if (res && res.code == 200) {
this.pendingPaymentData = res.rows;
this.total = res.total;
}
this.setLoading('loading', false);
},
handelImg(coin) {
console.log(coin,"coin");
if(coin == "enx"){
const imgUrl = `${this.$baseApi}img/enx.svg`;
return imgUrl;
}
if(this.currencyList &&this.currencyList.length > 0 && coin){
return this.currencyList.find(item => item.value === coin)?.imgUrl || '';
}else{
return '';
}
},
handelCoinLabel(coin) {
if(coin == "enx"){
return "Entropyx(enx)";
}
if(this.currencyList &&this.currencyList.length > 0 && coin){
return this.currencyList.find(item => item.value === coin)?.label || '';
}else{
return coin;
}
},
handelTime(time) {
try {
return `${time.split("T")[0]} ${time.split("T")[1].split(".")[0]}`
} catch (error) {
return '';
}
},
handleSizeChange(val) {
console.log(`每页 ${val}`);
this.pendingPaymentParams.pageSize = val
this.pendingPaymentParams.pageNum = 1
this.currentPage = 1
this.fetchPendingPaymentData(this.pendingPaymentParams);
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.pendingPaymentParams.pageNum = val
this.fetchPendingPaymentData(this.pendingPaymentParams);
},
}
};

View File

@ -0,0 +1,72 @@
<template>
<div v-loading="loading">
<div class="main-title">{{$t('backendSystem.pendingPaymentSummary')}}</div>
<el-table
:data="pendingPaymentData"
border
style="width: 100%; margin-bottom: 18px"
:header-cell-style="{ 'text-align': 'left' }"
:cell-style="{ 'text-align': 'left' }"
height="60vh"
>
<el-table-column prop="coin" :label="$t('backendSystem.coin2')" show-overflow-tooltip>
<template slot-scope="scope" >
<div style="display: flex; align-items: center;justify-content: left;">
<img :src="handelImg(scope.row.coin)" style="width: 20px" />
<span style="margin-left: 5px">{{ handelCoinLabel(scope.row.coin) }}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="user" :label="$t('backendSystem.minerUser2')" show-overflow-tooltip/>
<el-table-column prop="shouldOutDate" :label="$t('backendSystem.AllocateTime')" show-overflow-tooltip >
<template slot-scope="scope">
<span>{{ handelTime(scope.row.shouldOutDate ) }}</span>
</template>
</el-table-column>
<el-table-column prop="maxHeight" :label="$t('backendSystem.allocateHeight')" show-overflow-tooltip/>
<el-table-column prop="startPayAmount" :label="$t('backendSystem.startPayAmount')" show-overflow-tooltip/>
<el-table-column prop="needPayAmount" :label="$t('backendSystem.needPayAmount')" show-overflow-tooltip/>
</el-table>
<el-row>
<el-col :span="24" style="display: flex; justify-content: center;">
<el-pagination
style="margin:0 auto;margin-top: 10px;"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
:page-sizes="pageSizes"
:page-size="pendingPaymentParams.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</el-col>
</el-row>
</div>
</template>
<script>
import Index from "./index";
export default {
mixins: [Index],
}
</script>
<style lang="scss" scoped>
.main-title {
font-size: 24px;
font-weight: bold;
color: #333;
margin-bottom: 18px;
}
</style>

View File

@ -258,7 +258,7 @@
:close-on-click-modal="false"
>
<section class="dialogBox">
啊哈哈哈
<div class="title">{{ $t(`personal.readOnlyPage`) }}</div>
<div class="inputBox">
<div class="inputItem">

View File

@ -113,6 +113,7 @@
v-for="item in currencyList"
:key="item.value"
@click="clickCurrency(item)"
>
<img
class="currency-logo lazy lazy-coin-logo"
@ -126,7 +127,7 @@
<!-- v-loading = "LuckDataLoading" -->
<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
<div class="luckyBox" v-show="this.activeItemCoin.value != 'enx' && this.activeItemCoin.value != 'alph'" >
<div class="luckyBox" v-show="this.activeItemCoin.value != 'enx' && this.activeItemCoin.value != 'alph' && this.activeItemCoin.value != 'monero'" >
<div class="luckyItem">
<span class="title">{{$t(`home.lucky3`)}}</span>
@ -214,7 +215,7 @@
</li> -->
<li class="currency-list" @click="clickItem(item)" v-for="item in BlockInfoData" :key="item.hash">
<li class="currency-list" @click="clickItem(item)" v-for="item in BlockInfoData" :key="item.hash">
<span>{{ item.height }}</span>
<span>{{ item.date }}</span>
<span class="hash" :title="item.hash">{{ item.hash }}</span>

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 92 92"><defs><style>.cls-1{fill:#c59cf8;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M46,0A46,46,0,1,0,92,46,46,46,0,0,0,46,0Zm0,89.86A43.86,43.86,0,1,1,89.86,46,43.86,43.86,0,0,1,46,89.86Z"/><path class="cls-1" d="M42,25.67H34.84a2.06,2.06,0,0,0-2.06,2.06V66.41a2.06,2.06,0,0,0,2.06,2.06H42Z"/><path class="cls-1" d="M59.66,25.67v6.6a2.06,2.06,0,0,1-2.06,2.06H44.55V25.67Z"/><path class="cls-1" d="M44.55,59.73v8.74H58.36a2.06,2.06,0,0,0,2.06-2.06V59.73Z"/><path class="cls-1" d="M56.84,42.57v4.8a2.06,2.06,0,0,1-2.06,2.06H44.55V42.57Z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 678 B

View File

@ -1 +1 @@
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><meta name=google-site-verification content=pKAZogQ0NQ6L4j9-V58WJMjm7zYCFwkJXSJzWu9UDM8><meta name=robots content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><meta name=googlebot content="index, follow"><meta name=googlebot-news content="index, follow"><meta name=bingbot content="index, follow"><link rel=alternate hreflang=zh href=https://m2pool.com/zh><link rel=alternate hreflang=en href=https://m2pool.com/en><link rel=alternate hreflang=x-default href=https://m2pool.com/en><meta property=og:title content="M2pool - Stable leading high-yield mining pool"><meta property=og:description content="M2Pool provides professional mining services, supporting multiple cryptocurrency mining"><meta property=og:url content=https://m2pool.com/en><meta property=og:site_name content=M2Pool><meta property=og:type content=website><meta property=og:image content=https://m2pool.com/logo.png><link rel=icon href=/favicon.ico><link rel=stylesheet href=//at.alicdn.com/t/c/font_4582735_7i8wfzc0art.css><title>M2pool - Stable leading high-yield mining pool</title><meta name=keywords content="M2Pool, cryptocurrency mining pool,entropyx, bitcoin mining, DGB mining, mining pool service, 加密货币矿池, 比特币挖矿, DGB挖矿"><meta name=description content="M2Pool provides professional mining services, supporting multiple cryptocurrency mining, including nexa, grs, mona, dgb, rxd"><script defer=defer src=/js/chunk-vendors-c0d76f48.f34181ba.js></script><script defer=defer src=/js/chunk-vendors-bc050c32.8062ab74.js></script><script defer=defer src=/js/chunk-vendors-3003db77.d0b93d36.js></script><script defer=defer src=/js/chunk-vendors-9d134daf.bb668c99.js></script><script defer=defer src=/js/chunk-vendors-96cecd74.a7d9b845.js></script><script defer=defer src=/js/chunk-vendors-c2f7d60e.3710fdc2.js></script><script defer=defer src=/js/chunk-vendors-89d5c698.2190b4ca.js></script><script defer=defer src=/js/chunk-vendors-377fed06.0e89b4b7.js></script><script defer=defer src=/js/chunk-vendors-c9ff040c.57bd8c18.js></script><script defer=defer src=/js/app-42f9d7e6.ddb7a461.js></script><script defer=defer src=/js/app-5c551db8.01dba909.js></script><script defer=defer src=/js/app-45954fd3.14032da4.js></script><script defer=defer src=/js/app-72600b29.a5711ed5.js></script><script defer=defer src=/js/app-f035d474.908536ee.js></script><script defer=defer src=/js/app-113c6c50.a53f72e3.js></script><link href=/css/chunk-vendors-bc050c32.6f97509c.css rel=stylesheet><link href=/css/app-189e7968.d4db0c40.css rel=stylesheet></head><body><div id=app></div></body></html>
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><meta name=google-site-verification content=pKAZogQ0NQ6L4j9-V58WJMjm7zYCFwkJXSJzWu9UDM8><meta name=robots content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><meta name=googlebot content="index, follow"><meta name=googlebot-news content="index, follow"><meta name=bingbot content="index, follow"><link rel=alternate hreflang=zh href=https://m2pool.com/zh><link rel=alternate hreflang=en href=https://m2pool.com/en><link rel=alternate hreflang=x-default href=https://m2pool.com/en><meta property=og:title content="M2pool - Stable leading high-yield mining pool"><meta property=og:description content="M2Pool provides professional mining services, supporting multiple cryptocurrency mining"><meta property=og:url content=https://m2pool.com/en><meta property=og:site_name content=M2Pool><meta property=og:type content=website><meta property=og:image content=https://m2pool.com/logo.png><link rel=icon href=/favicon.ico><link rel=stylesheet href=//at.alicdn.com/t/c/font_4582735_7i8wfzc0art.css><title>M2pool - Stable leading high-yield mining pool</title><meta name=keywords content="M2Pool, cryptocurrency mining pool,entropyx, bitcoin mining, DGB mining, mining pool service, 加密货币矿池, 比特币挖矿, DGB挖矿"><meta name=description content="M2Pool provides professional mining services, supporting multiple cryptocurrency mining, including nexa, grs, mona, dgb, rxd"><script defer=defer src=/js/chunk-vendors-c0d76f48.f34181ba.js></script><script defer=defer src=/js/chunk-vendors-bc050c32.8062ab74.js></script><script defer=defer src=/js/chunk-vendors-3003db77.d0b93d36.js></script><script defer=defer src=/js/chunk-vendors-9d134daf.bb668c99.js></script><script defer=defer src=/js/chunk-vendors-96cecd74.a7d9b845.js></script><script defer=defer src=/js/chunk-vendors-c2f7d60e.3710fdc2.js></script><script defer=defer src=/js/chunk-vendors-89d5c698.2190b4ca.js></script><script defer=defer src=/js/chunk-vendors-377fed06.0e89b4b7.js></script><script defer=defer src=/js/chunk-vendors-c9ff040c.57bd8c18.js></script><script defer=defer src=/js/app-42f9d7e6.1b25f672.js></script><script defer=defer src=/js/app-5c551db8.21e2fd11.js></script><script defer=defer src=/js/app-45954fd3.3129066e.js></script><script defer=defer src=/js/app-72600b29.938f975d.js></script><script defer=defer src=/js/app-5a0d40dd.21bd4ef8.js></script><script defer=defer src=/js/app-113c6c50.719bb771.js></script><link href=/css/chunk-vendors-bc050c32.6f97509c.css rel=stylesheet><link href=/css/app-189e7968.8e6b8e95.css rel=stylesheet></head><body><div id=app></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long