feat: init+修改node版本

This commit is contained in:
2025-12-22 12:48:14 +08:00
parent 6d9d7ad37e
commit 0e57c19027
329 changed files with 64992 additions and 10 deletions

View File

@@ -0,0 +1,118 @@
<!-- 场外交易充值统计 -->
<template>
<div class="common-main">
<!-- Search Form -->
<el-form :rules="rules" :model="ruleForm" ref="ruleForm" label-width="100px" class="search-container">
<el-form-item label="统计时间" prop="countTime">
<!-- 日期选择器 -->
<el-date-picker
v-model="ruleForm.dateRange"
type="daterange"
align="right"
unlink-panels
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="datePickerOptions"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<div class="operation-container">
<el-button icon="el-icon-search" @click="submitForm('ruleForm')">搜索</el-button>
</div>
</el-form>
<!-- Search Form End -->
<!-- Table -->
<el-table
ref="multipleTable"
:data="listData"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange"
v-loading="listLoading"
>
<el-table-column
prop="created"
label="统计时间"
>
</el-table-column>
<el-table-column
prop="sumNum"
label="充值金额"
>
</el-table-column>
<el-table-column
prop="sumMum"
label="到账金额"
>
</el-table-column>
<el-table-column
prop="counts"
label="充值笔数"
>
</el-table-column>
<el-table-column
prop="validCounts"
label="成功笔数"
>
</el-table-column>
<el-table-column
prop="userCounts"
label="充值用户数"
>
</el-table-column>
<el-table-column
prop="userId"
label="最多充值用户ID"
>
</el-table-column>
</el-table>
<!-- Table End-->
<!-- Page -->
<el-pagination
class="pagination-container"
background
layout="total,prev, pager, next"
:current-page.sync="listQuery.current"
:page-size="listQuery.size"
:total="listQuery.total"
@current-change="handlePageChange"
>
</el-pagination>
<!-- Page End -->
</div>
</template>
<script>
import {countApi} from "@/api/countApi";
import commonMixin from '@/components/mixin/common-mixin'
export default {
mixins: [commonMixin],
data() {
return {
rules:{},
ruleForm:{}
}
},
methods: {
listCallback(){
let url = '/cashRechargeCount/getList';
return countApi.getCountList(this.ruleForm,this.listQuery.current, this.listQuery.size,url);
}
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,117 @@
<!-- 场外交易提现统计 -->
<template>
<div class="common-main">
<!-- Search Form -->
<el-form :rules="rules" :model="ruleForm" ref="ruleForm" label-width="100px" class="search-container">
<el-form-item label="统计时间" prop="countTime">
<!-- 日期选择器 -->
<el-date-picker
v-model="ruleForm.dateRange"
type="daterange"
align="right"
unlink-panels
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="datePickerOptions"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<div class="operation-container">
<el-button icon="el-icon-search" @click="submitForm('ruleForm')">搜索</el-button>
</div>
</el-form>
<!-- Search Form End -->
<!-- Table -->
<el-table
ref="multipleTable"
:data="listData"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange"
v-loading="listLoading"
>
<el-table-column
prop="created"
label="统计时间"
>
</el-table-column>
<el-table-column
prop="sumNum"
label="提现金额"
>
</el-table-column>
<el-table-column
prop="sumMum"
label="到账金额"
>
</el-table-column>
<el-table-column
prop="counts"
label="提现笔数"
>
</el-table-column>
<el-table-column
prop="validCounts"
label="提现成功笔数"
>
</el-table-column>
<el-table-column
prop="userCounts"
label="提现用户数"
>
</el-table-column>
<el-table-column
prop="userId"
label="最多提现用户ID"
>
</el-table-column>
</el-table>
<!-- Table End-->
<!-- Page -->
<el-pagination
class="pagination-container"
background
layout="total,prev, pager, next"
:current-page.sync="listQuery.current"
:page-size="listQuery.size"
:total="listQuery.total"
@current-change="handlePageChange"
>
</el-pagination>
<!-- Page End -->
</div>
</template>
<script>
import {countApi} from "@/api/countApi";
import commonMixin from '@/components/mixin/common-mixin'
export default {
mixins: [commonMixin],
data() {
return {
rules:{},
ruleForm:{}
}
},
methods: {
listCallback(){
let url = '/finance/cashWithdrawals/count';
return countApi.getCountList(this.ruleForm,this.listQuery.current, this.listQuery.size,url);
}
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,117 @@
<!-- 充币统计 -->
<template>
<div class="common-main">
<!-- Search Form -->
<el-form :rules="rules" :model="ruleForm" ref="ruleForm" label-width="100px" class="search-container">
<el-form-item label="统计时间" prop="countTime">
<!-- 日期选择器 -->
<el-date-picker
v-model="ruleForm.dateRange"
type="daterange"
align="right"
unlink-panels
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="datePickerOptions"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<div class="operation-container">
<el-button icon="el-icon-search" @click="submitForm('ruleForm')">搜索</el-button>
</div>
</el-form>
<!-- Search Form End -->
<!-- Table -->
<el-table
ref="multipleTable"
:data="listData"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange"
v-loading="listLoading"
>
<el-table-column
prop="created"
label="统计时间"
>
</el-table-column>
<el-table-column
prop="sumAmount"
label="充值金额"
>
</el-table-column>
<!--<el-table-column-->
<!--prop="sumMum"-->
<!--label="到账金额"-->
<!--&gt;-->
<!--</el-table-column>-->
<el-table-column
prop="counts"
label="充值笔数"
>
</el-table-column>
<!--<el-table-column-->
<!--prop="validCounts"-->
<!--label="成功笔数"-->
<!--&gt;-->
<!--</el-table-column>-->
<el-table-column
prop="userCounts"
label="充值用户数"
>
</el-table-column>
<el-table-column
prop="userId"
label="最多充值用户ID"
>
</el-table-column>
</el-table>
<!-- Table End-->
<!-- Page -->
<el-pagination
class="pagination-container"
background
layout="total,prev, pager, next"
:current-page.sync="listQuery.current"
:page-size="listQuery.size"
:total="listQuery.total"
@current-change="handlePageChange"
>
</el-pagination>
<!-- Page End -->
</div>
</template>
<script>
import {countApi} from "@/api/countApi";
import commonMixin from '@/components/mixin/common-mixin'
export default {
mixins: [commonMixin],
data() {
return {
rules:{},
ruleForm:{}
}
},
methods: {
listCallback(){
let url = '/coinRechargeCount/getList';
return countApi.getCountList(this.ruleForm,this.listQuery.current, this.listQuery.size,url);
}
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,117 @@
<!-- 提币统计 -->
<template>
<div class="common-main">
<!-- Search Form -->
<el-form :rules="rules" :model="ruleForm" ref="ruleForm" label-width="100px" class="search-container">
<el-form-item label="统计时间" prop="countTime">
<!-- 日期选择器 -->
<el-date-picker
v-model="ruleForm.dateRange"
type="daterange"
align="right"
unlink-panels
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="datePickerOptions"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<div class="operation-container">
<el-button icon="el-icon-search" @click="submitForm('ruleForm')">搜索</el-button>
</div>
</el-form>
<!-- Search Form End -->
<!-- Table -->
<el-table
ref="multipleTable"
:data="listData"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange"
v-loading="listLoading"
>
<el-table-column
prop="created"
label="统计时间"
>
</el-table-column>
<el-table-column
prop="sumNum"
label="提现金额"
>
</el-table-column>
<el-table-column
prop="sumMum"
label="提现汇出金额"
>
</el-table-column>
<el-table-column
prop="counts"
label="提现笔数"
>
</el-table-column>
<el-table-column
prop="validCounts"
label="成功笔数"
>
</el-table-column>
<el-table-column
prop="userCounts"
label="提现用户数"
>
</el-table-column>
<el-table-column
prop="userId"
label="最多提现用户ID"
>
</el-table-column>
</el-table>
<!-- Table End-->
<!-- Page -->
<el-pagination
class="pagination-container"
background
layout="total,prev, pager, next"
:current-page.sync="listQuery.current"
:page-size="listQuery.size"
:total="listQuery.total"
@current-change="handlePageChange"
>
</el-pagination>
<!-- Page End -->
</div>
</template>
<script>
import {countApi} from "@/api/countApi";
import commonMixin from '@/components/mixin/common-mixin'
export default {
mixins: [commonMixin],
data() {
return {
rules:{},
ruleForm:{}
}
},
methods: {
listCallback(){
let url = '/coinWithdrawalsCount/getList';
return countApi.getCountList(this.ruleForm,this.listQuery.current, this.listQuery.size,url);
}
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,93 @@
<template>
<el-dialog
:title="dialogTitle"
:visible.sync="dialogVisible"
width="80%"
@close="closeDialog"
>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
</span>
<el-table
ref="multipleTable"
:data="listData"
tooltip-effect="dark"
style="width: 100%"
highlight-current-row
@selection-change="handleSelectionChange"
v-loading="listLoading"
>
<el-table-column
prop="userId"
label="用户ID"
>
</el-table-column>
<el-table-column
prop="btcAmount"
label="持有BTC"
>
</el-table-column>
<el-table-column
prop="usdtAmount"
label="持有CNY"
>
</el-table-column>
<el-table-column
prop="ethAmount"
label="持有ETH"
>
</el-table-column>
<el-table-column
prop="ltcAmount"
label="持有LTC"
>
</el-table-column>
</el-table>
<!-- Page -->
<el-pagination
class="pagination-container"
background
layout="total,prev, pager, next"
:current-page.sync="listQuery.current"
:page-size="listQuery.size"
:total="listQuery.total"
@current-change="handlePageChange"
>
</el-pagination>
<!-- Page End -->
</el-dialog>
</template>
<script>
import Tinymce from '@/components/Tinymce'
import {countApi} from "@/api/countApi";
import commonMixin from '@/components/mixin/common-mixin'
import dialogMixin from '@/components/mixin/dialog-mixin'
export default {
components: {Tinymce},
mixins: [dialogMixin,commonMixin],
data() {
return {
dialogTitle: '用户BTC持仓',
rules: {}
}
},
methods: {
listCallback(){
let url = '/trade/count/top/balance';
return countApi.getCountList(this.ruleForm,this.listQuery.current, this.listQuery.size,url);
},
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,94 @@
<!-- 交易量排行 -->
<template>
<div class="common-main">
<!-- Search Form -->
<el-form :rules="rules" :model="ruleForm" ref="ruleForm" label-width="100px" class="search-container">
<el-form-item label="统计时间" prop="countTime">
<!-- 日期选择器 -->
<el-date-picker
v-model="ruleForm.dateRange"
type="daterange"
align="right"
unlink-panels
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="datePickerOptions"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<div class="operation-container">
<el-button icon="el-icon-search" @click="submitForm('ruleForm')">搜索</el-button>
</div>
</el-form>
<!-- Search Form End -->
<!-- Table -->
<el-table
ref="multipleTable"
:data="listData"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange"
v-loading="listLoading"
>
<el-table-column
prop="tradeDate"
label="统计时间"
>
</el-table-column>
<el-table-column
prop="marketName"
label="交易市场"
>
</el-table-column>
<el-table-column
prop="userId"
label="用户ID"
>
</el-table-column>
<el-table-column
prop="volume"
label="交易量"
>
</el-table-column>
</el-table>
<!-- Table End-->
<!-- Page -->
<el-pagination
class="pagination-container"
background
layout="total,prev, pager, next"
:current-page.sync="listQuery.current"
:page-size="listQuery.size"
:total="listQuery.total"
@current-change="handlePageChange"
>
</el-pagination>
<!-- Page End -->
</div>
</template>
<script>
import {countApi} from "@/api/countApi";
import commonMixin from '@/components/mixin/common-mixin'
export default {
mixins: [commonMixin],
data() {
return {
rules:{},
ruleForm:{}
}
},
methods: {
listCallback(){
let url = '/trade/count/top/volume';
return countApi.getCountList(this.ruleForm,this.listQuery.current, this.listQuery.size,url);
}
}
}
</script>

View File

@@ -0,0 +1,108 @@
<!-- 持仓排行 -->
<template>
<div class="common-main">
<!-- Search Form -->
<el-form :rules="rules" :model="ruleForm" ref="ruleForm" label-width="100px" class="search-container">
<el-form-item label="统计时间" prop="countTime">
<!-- 日期选择器 -->
<el-date-picker
v-model="ruleForm.dateRange"
type="daterange"
align="right"
unlink-panels
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="datePickerOptions"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<div class="operation-container">
<el-button icon="el-icon-search" @click="submitForm('ruleForm')">搜索</el-button>
</div>
</el-form>
<!-- Search Form End -->
<!-- Table -->
<el-table
ref="multipleTable"
:data="listData"
tooltip-effect="dark"
style="width: 100%"
highlight-current-row
@current-change="handleCurrentChange"
@selection-change="handleSelectionChange"
v-loading="listLoading"
>
<el-table-column
prop="tradeDate"
label="统计时间"
>
</el-table-column>
<el-table-column
prop="marketName"
label="交易市场"
>
</el-table-column>
<el-table-column
prop="userId"
label="用户ID"
>
</el-table-column>
<el-table-column
prop="volume"
label="交易量"
>
</el-table-column>
</el-table>
<!-- Table End-->
<!-- Page -->
<el-pagination
class="pagination-container"
background
layout="total,prev, pager, next"
:current-page.sync="listQuery.current"
:page-size="listQuery.size"
:total="listQuery.total"
@current-change="handlePageChange"
>
</el-pagination>
<!-- Page End -->
<article-dialog ref="articleDialog" @refreshList="_getList"></article-dialog>
</div>
</template>
<script>
import articleDialog from './component/article-dialog'
import {countApi} from "@/api/countApi";
import commonMixin from '@/components/mixin/common-mixin'
export default {
components: {articleDialog},
mixins: [commonMixin],
data() {
return {
rules:{},
ruleForm:{}
}
},
methods: {
listCallback(){
let url = '/trade/count/top/volume';
return countApi.getCountList(this.ruleForm,this.listQuery.current, this.listQuery.size,url);
},
handleCurrentChange() {
this.$refs.articleDialog.showDialog();
},
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,9 @@
<template>
<router-view></router-view>
</template>
<script>
export default {
}
</script>

View File

@@ -0,0 +1,8 @@
<template>
<router-view></router-view>
</template>
<script>
export default {
}
</script>

View File

@@ -0,0 +1,103 @@
<template>
<div class="common-main">
<!-- Search Form -->
<el-form :rules="rules" :model="ruleForm" ref="ruleForm" label-width="100px" class="search-container">
<el-form-item label="统计时间" prop="countTime">
<el-date-picker
v-model="ruleForm.dateRange"
type="daterange"
align="right"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="datePickerOptions"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<div class="operation-container">
<el-button icon="el-icon-search" @click="submitForm('ruleForm')">搜索</el-button>
</div>
</el-form>
<!-- Search Form End -->
<!-- Table -->
<el-table
ref="multipleTable"
:data="listData"
tooltip-effect="dark"
style="width:100%"
@selection-change="handleSelectionChange"
v-loading="listLoading"
>
<el-table-column
label="统计时间"
prop="loginDate"
>
</el-table-column>
<el-table-column
label="登录人数"
prop="loginNum"
>
</el-table-column>
<el-table-column
label="参与交易人数"
prop="tradeNum"
>
</el-table-column>
<el-table-column
label="充值人数"
prop="rechargeNum"
>
</el-table-column>
<el-table-column
label="提现人数"
prop="withdrawNum"
>
</el-table-column>
<el-table-column
label="充币人数"
prop="rechargeCoinNum"
>
</el-table-column>
<el-table-column
label="提币人数"
prop="withdrawCoinNum"
>
</el-table-column>
</el-table>
<!-- Table End -->
<!-- Page -->
<el-pagination
class="pagination-container"
background
layout="total,prev, pager, next"
:current-page.sync="listQuery.current"
:page-size="listQuery.size"
:total="listQuery.total"
@current-change="handlePageChange"
>
</el-pagination>
<!-- Page End -->
</div>
</template>
<script>
import {countApi} from "@/api/countApi";
import commonMixin from "@/components/mixin/common-mixin"
export default {
mixins:[commonMixin],
data() {
return {
rules:{},
ruleForm:{}
}
},
methods: {
listCallback(){
let url = '/users/count/login';
return countApi.getCountList(this.ruleForm,this.listQuery.current, this.listQuery.size,url);
}
}
}
</script>

View File

@@ -0,0 +1,109 @@
<template>
<div class="common-main">
<!-- Search Form -->
<el-form :rules="rules" :model="ruleForm" ref="ruleForm" label-width="100px" class="search-container">
<el-form-item label="统计时间" prop="countTime">
<!-- 日期选择器 -->
<el-date-picker
v-model="ruleForm.dateRange"
type="daterange"
align="right"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="datePickerOptions"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<div class="operation-container">
<el-button icon="el-icon-search" @click="submitForm('ruleForm')">搜索</el-button>
</div>
</el-form>
<!-- Search Form End -->
<!-- Table -->
<el-table
ref="multipleTable"
:data="listData"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange"
v-loading="listLoading"
>
<el-table-column
prop="countDate"
label="统计时间"
>
</el-table-column>
<el-table-column
prop="regNum"
label="注册人数"
>
</el-table-column>
<el-table-column
prop="mobileBindNum"
label="绑定手机人数"
>
</el-table-column>
<el-table-column
prop="emailBindNum"
label="绑定邮箱人数"
>
</el-table-column>
<el-table-column
prop="setPayPwdNum"
label="设置资金密码人数"
>
</el-table-column>
<el-table-column
prop="rechargeNum"
label="完成充值人数"
>
</el-table-column>
</el-table>
<!-- Table End-->
<!-- Page -->
<el-pagination
class="pagination-container"
background
layout="total,prev, pager, next"
:current-page.sync="listQuery.current"
:page-size="listQuery.size"
:total="listQuery.total"
@current-change="handlePageChange"
>
</el-pagination>
<!-- Page End -->
</div>
</template>
<script>
import {countApi} from "@/api/countApi";
import commonMixin from '@/components/mixin/common-mixin'
export default {
mixins: [commonMixin],
data() {
return {
rules:{
},
ruleForm:{
countTime:'',
}
}
},
methods: {
listCallback(){
let url = '/user/count/reg';
return countApi.getCountList(this.ruleForm,this.listQuery.current, this.listQuery.size,url);
}
}
}
</script>