Compare commits

...

2 Commits

  1. 7
      src/views/audit/gold/rechargeAudit.vue
  2. 7
      src/views/audit/gold/refundAudit.vue
  3. 7
      src/views/consume/gold/coinConsumeDetail.vue
  4. 8
      src/views/recharge/gold/coinRechargeDetail.vue
  5. 7
      src/views/refund/gold/coinRefundDetail.vue
  6. 129
      src/views/workspace/index.vue

7
src/views/audit/gold/rechargeAudit.vue

@ -30,7 +30,7 @@
<el-date-picker v-model="getTime" type="datetimerange" range-separator="" start-placeholder="起始时间"
end-placeholder="结束时间" class="time-controls" style="margin-right:1vw;width:25vw"
@change="handleDatePickerChange"
:default-time="defaultTime"/>
:default-time="defaultTime" :disabled-date="disabledDate"/>
<el-button @click="getToday()" :type="activeTimeRange === 'today' ? 'primary' : ''"></el-button>
<el-button @click="getYesterday()" :type="activeTimeRange === 'yesterday' ? 'primary' : ''"></el-button>
<el-button @click="get7Days()" :type="activeTimeRange === '7days' ? 'primary' : ''">近7天</el-button>
@ -170,6 +170,11 @@ const defaultTime = [
new Date(2000, 1, 1, 0, 0, 0),
new Date(2000, 2, 1, 23, 59, 59),
]
//
const disabledDate = (time) => {
const limitDate = new Date(2025, 0, 1);
return time.getTime() < limitDate.getTime();
}
const tableData = ref([])
//
const activeTimeRange = ref('')

7
src/views/audit/gold/refundAudit.vue

@ -28,7 +28,7 @@
<el-date-picker v-model="dateRange" type="datetimerange" range-separator="" start-placeholder="开始时间"
class="time-controls"
end-placeholder="结束时间" style="margin-right:1vw;width:25vw" @change="handleDatePickerChange"
:default-time="defaultTime"/>
:default-time="defaultTime" :disabled-date="disabledDate"/>
<el-button @click="getToday()" :type="activeTimeRange === 'today' ? 'primary' : ''"></el-button>
<el-button @click="getYesterday()" :type="activeTimeRange === 'yesterday' ? 'primary' : ''"></el-button>
<el-button @click="get7Days()" :type="activeTimeRange === '7days' ? 'primary' : ''">近7天</el-button>
@ -173,6 +173,11 @@ const STATUS = {
APPROVED: 1, //
REJECTED: 2 //
}
//
const disabledDate = (time) => {
const limitDate = new Date(2025, 0, 1);
return time.getTime() < limitDate.getTime();
}
//
const searchForm = ref({
jwcode: '',

7
src/views/consume/gold/coinConsumeDetail.vue

@ -22,6 +22,11 @@ const format3 = (num) => {
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
return parts.join('.');
}
//
const disabledDate = (time) => {
const limitDate = new Date(2025, 0, 1);
return time.getTime() < limitDate.getTime();
}
//
const formatTime = (val) => val ? dayjs(val).format('YYYY-MM-DD HH:mm:ss') : ''
const defaultTime = [
@ -605,7 +610,7 @@ const getMarket = async function () {
<el-text class="mx-1" size="large">消耗时间</el-text>
<el-date-picker v-model="getTime" type="datetimerange" range-separator="" start-placeholder="起始时间"
end-placeholder="结束时间" style="width: 400px" @change="handleDatePickerChange"
:default-time="defaultTime"/>
:default-time="defaultTime" :disabled-date="disabledDate"/>
<el-button @click="getToday()" style="margin-left: 10px"
:type="activeTimeRange === 'today' ? 'primary' : ''">
</el-button>

8
src/views/recharge/gold/coinRechargeDetail.vue

@ -166,7 +166,11 @@ const freeGold = ref(0)
const permanentGolds = ref(0)
const freeGolds = ref(0)
//
const disabledDate = (time) => {
const limitDate = new Date(2025, 0, 1);
return time.getTime() < limitDate.getTime();
}
//
const payModel = [
{
@ -628,7 +632,7 @@ const getTagText = (state) => {
<el-text class="mx-1" size="large">充值时间</el-text>
<el-date-picker v-model="getTime" type="datetimerange" range-separator="" start-placeholder="起始时间"
end-placeholder="结束时间" style="width: 400px" @change="handleDatePickerChange"
:default-time="defaultTime" />
:default-time="defaultTime" :disabled-date="disabledDate"/>
<el-button @click="getToday()" style="margin-left: 10px"
:type="activeTimeRange === 'today' ? 'primary' : ''">
</el-button>

7
src/views/refund/gold/coinRefundDetail.vue

@ -12,6 +12,11 @@ const defaultTime = [
new Date(2000, 1, 1, 0, 0, 0),
new Date(2000, 2, 1, 23, 59, 59),
]
//
const disabledDate = (time) => {
const limitDate = new Date(2025, 0, 1);
return time.getTime() < limitDate.getTime();
}
const format3 = (num) => {
//
return num.toLocaleString('en-US')
@ -544,7 +549,7 @@ const getMarket = async function () {
<el-text class="mx-1">退款时间</el-text>
<el-date-picker v-model="getTime" type="datetimerange" range-separator="" start-placeholder="起始时间"
end-placeholder="结束时间" style="width: 400px" @change="handleDatePickerChange"
:default-time="defaultTime" />
:default-time="defaultTime" :disabled-date="disabledDate"/>
<el-button @click="getToday()" style="margin-left: 10px"
:type="activeTimeRange === 'today' ? 'primary' : ''">
</el-button>

129
src/views/workspace/index.vue

@ -129,70 +129,70 @@
</el-row>
<el-row style="margin-top: 20px">
<el-card>
<el-row>
<el-col>
<el-tabs v-model="activeTab" @tab-change="handleTabChange">
<el-tab-pane label="金币充值" name="recharge"></el-tab-pane>
<el-tab-pane label="金币消费" name="consume"></el-tab-pane>
</el-tabs>
</el-col>
<div style="margin-top:5px;width:40vw">合计&nbsp;
永久金币 {{ activeTab === 'recharge' ? sumRechargePermanent / 100 : sumConsumePermanent / 100 }}&nbsp;&nbsp;
免费金币 {{ activeTab === 'recharge' ? sumRechargeFree / 100 : sumConsumeFree / 100 }}&nbsp;&nbsp;
任务金币 {{ activeTab === 'recharge' ? sumRechargeTask / 100 : sumConsumeTask / 100 }}
</div>
<div @change="handleDatePickerChange" style="width:15vw">
<el-button @click="getToday()" :type="activeTimeRange === 'today' ? 'primary' : ''">今日
</el-button>
<el-button @click="getWeek()" :type="activeTimeRange === 'week' ? 'primary' : ''">本周
</el-button>
<el-button @click="getMonth()" :type="activeTimeRange === 'month' ? 'primary' : ''">本月
</el-button>
<el-button @click="getYear()" :type="activeTimeRange === 'year' ? 'primary' : ''">本年
</el-button>
</div>
<div style="width:25vw">
<el-date-picker v-model="dateRange" type="datetimerange" range-separator="" start-placeholder="开始时间"
end-placeholder="结束时间" format="YYYY-MM-DD HH:mm:ss" style="width:20vw"
value-format="YYYY-MM-DD HH:mm:ss" />
<el-button type="primary" style="margin-left: 5px" @click="getChartData">查询</el-button>
</div>
</el-row>
<el-card>
<el-row>
<el-col>
<el-tabs v-model="activeTab" @tab-change="handleTabChange">
<el-tab-pane label="金币充值" name="recharge"></el-tab-pane>
<el-tab-pane label="金币消费" name="consume"></el-tab-pane>
</el-tabs>
</el-col>
<div style="margin-top:5px;width:40vw">合计&nbsp;
永久金币 {{ activeTab === 'recharge' ? sumRechargePermanent / 100 : sumConsumePermanent / 100 }}&nbsp;&nbsp;
免费金币 {{ activeTab === 'recharge' ? sumRechargeFree / 100 : sumConsumeFree / 100 }}&nbsp;&nbsp;
任务金币 {{ activeTab === 'recharge' ? sumRechargeTask / 100 : sumConsumeTask / 100 }}
</div>
<div @change="handleDatePickerChange" style="width:15vw">
<el-button @click="getToday()" :type="activeTimeRange === 'today' ? 'primary' : ''">今日
</el-button>
<el-button @click="getWeek()" :type="activeTimeRange === 'week' ? 'primary' : ''">本周
</el-button>
<el-button @click="getMonth()" :type="activeTimeRange === 'month' ? 'primary' : ''">本月
</el-button>
<el-button @click="getYear()" :type="activeTimeRange === 'year' ? 'primary' : ''">本年
</el-button>
</div>
<div style="width:25vw">
<el-date-picker v-model="dateRange" type="datetimerange" range-separator="" start-placeholder="开始时间"
end-placeholder="结束时间" format="YYYY-MM-DD HH:mm:ss" style="width:20vw"
value-format="YYYY-MM-DD HH:mm:ss" :disabled-date="disabledDate" @change="handleDatePickerChange" />
<el-button type="primary" style="margin-left: 5px" @click="getChartData">查询</el-button>
</div>
</el-row>
<el-row :gutter="20" style="margin-top: 20px">
<el-col :span="18">
<div class="bar">
<div ref="chartRef" style="width: 100%; height: 400px"></div>
</div>
</el-col>
<el-col :span="6">
<el-card class="rank-card" style="width: 100%; height: 100%">
<div class="card-large margin-bottom">金币{{ activeTab === 'recharge' ? '充值' : '消费' }}排名</div>
<el-select v-model="selectedType" style="width: 100%; margin-bottom: 15px">
<el-option label="全部类型" value="all"></el-option>
<el-option label="永久金币" value="permanent"></el-option>
<el-option label="免费金币" value="free"></el-option>
<el-option label="任务金币" value="task"></el-option>
</el-select>
<el-table :data="tableData" height="320px">
<el-table-column prop="rank" label="排名" width="60" align="center"></el-table-column>
<el-table-column prop="market" label="地区" align="center">
<template #default="scope">
<span>{{ marketMapping[scope.row.market] || scope.row.market }}</span>
</template>
</el-table-column>
<el-table-column prop="coinAmount" label="金币数量" align="center">
<template #default="{ row }">
{{ row.coinAmount.toLocaleString() }}
</template>
</el-table-column>
</el-table>
</el-card>
</el-col>
</el-row>
</el-card>
<el-row :gutter="20" style="margin-top: 20px">
<el-col :span="18">
<div class="bar">
<div ref="chartRef" style="width: 100%; height: 400px"></div>
</div>
</el-col>
<el-col :span="6">
<el-card class="rank-card" style="width: 100%; height: 100%">
<div class="card-large margin-bottom">金币{{ activeTab === 'recharge' ? '充值' : '消费' }}排名</div>
<el-select v-model="selectedType" style="width: 100%; margin-bottom: 15px">
<el-option label="全部类型" value="all"></el-option>
<el-option label="永久金币" value="permanent"></el-option>
<el-option label="免费金币" value="free"></el-option>
<el-option label="任务金币" value="task"></el-option>
</el-select>
<el-table :data="tableData" height="320px">
<el-table-column prop="rank" label="排名" width="60" align="center"></el-table-column>
<el-table-column prop="market" label="地区" align="center">
<template #default="scope">
<span>{{ marketMapping[scope.row.market] || scope.row.market }}</span>
</template>
</el-table-column>
<el-table-column prop="coinAmount" label="金币数量" align="center">
<template #default="{ row }">
{{ row.coinAmount.toLocaleString() }}
</template>
</el-table-column>
</el-table>
</el-card>
</el-col>
</el-row>
</el-card>
</el-row>
</template>
@ -425,6 +425,11 @@ const processData = (data) => {
ydayRechargeNum.value = summary.ydayRechargeNum
firstRecharge.value = summary.firstRecharge
}
//
const disabledDate = (time) => {
const limitDate = new Date(2025, 0, 1);
return time.getTime() < limitDate.getTime();
}
//
const getMarkets = async () => {

Loading…
Cancel
Save