create 返回官网

This commit is contained in:
2025-12-15 11:58:05 +08:00
parent 67d7746719
commit 210399ca53
10 changed files with 211 additions and 86 deletions

View File

@@ -64,7 +64,7 @@
/>
</FilterItem>
<FilterItem label="消费时间" class="md:col-span-2">
<FilterItem label="消费时间" class="col-span-1 md:col-span-2">
<el-date-picker
v-model="dateRange"
type="datetimerange"
@@ -75,6 +75,7 @@
value-format="YYYY-MM-DD HH:mm:ss"
@change="handleTimeRangeChange"
class="w-full"
:size="isMobile ? 'small' : 'default'"
/>
</FilterItem>
@@ -255,6 +256,7 @@ import { userApi, walletTransactionApi } from '@/api'
import FilterItem from '@/components/common/FilterItem.vue'
import FilterSection from '@/components/common/FilterSection.vue'
import ListPageLayout from '@/components/common/ListPageLayout.vue'
import { useMobileTable } from '@/composables/useMobileTable'
import { Back, Close, User } from '@element-plus/icons-vue'
import { ElMessage } from 'element-plus'
import { onMounted, reactive, ref, watch } from 'vue'
@@ -263,6 +265,9 @@ import { useRoute, useRouter } from 'vue-router'
const router = useRouter()
const route = useRoute()
// 移动端检测
const { isMobile } = useMobileTable()
// 响应式数据
const loading = ref(false)
const transactions = ref([])

View File

@@ -36,7 +36,7 @@
</el-select>
</FilterItem>
<FilterItem label="申请时间">
<FilterItem label="申请时间" class="col-span-1">
<el-date-picker
v-model="dateRange"
type="daterange"
@@ -47,6 +47,7 @@
value-format="YYYY-MM-DD"
@change="handleDateRangeChange"
class="w-full"
:size="isMobile ? 'small' : 'default'"
/>
</FilterItem>
@@ -372,10 +373,14 @@ import { adminInvoiceApi } from '@/api'
import FilterItem from '@/components/common/FilterItem.vue'
import FilterSection from '@/components/common/FilterSection.vue'
import ListPageLayout from '@/components/common/ListPageLayout.vue'
import { useMobileTable } from '@/composables/useMobileTable'
import { ElMessage } from 'element-plus'
const router = useRouter()
// 移动端检测
const { isMobile } = useMobileTable()
// 响应式数据
const loading = ref(false)
const applications = ref([])

View File

@@ -71,7 +71,7 @@
</el-select>
</FilterItem>
<FilterItem label="充值时间" class="md:col-span-2">
<FilterItem label="充值时间" class="col-span-1 md:col-span-2">
<el-date-picker
v-model="dateRange"
type="datetimerange"
@@ -82,6 +82,7 @@
value-format="YYYY-MM-DD HH:mm:ss"
@change="handleTimeRangeChange"
class="w-full"
:size="isMobile ? 'small' : 'default'"
/>
</FilterItem>
@@ -367,6 +368,7 @@ import ExportDialog from '@/components/common/ExportDialog.vue'
import FilterItem from '@/components/common/FilterItem.vue'
import FilterSection from '@/components/common/FilterSection.vue'
import ListPageLayout from '@/components/common/ListPageLayout.vue'
import { useMobileTable } from '@/composables/useMobileTable'
import { Back, Close, Download, User } from '@element-plus/icons-vue'
import { ElMessage } from 'element-plus'
import { onMounted, reactive, ref, watch } from 'vue'
@@ -375,6 +377,9 @@ import { useRoute, useRouter } from 'vue-router'
const router = useRouter()
const route = useRoute()
// 移动端检测
const { isMobile } = useMobileTable()
// 响应式数据
const loading = ref(false)
const rechargeRecords = ref([])

View File

@@ -64,7 +64,7 @@
/>
</FilterItem>
<FilterItem label="订阅时间">
<FilterItem label="订阅时间" class="col-span-1">
<el-date-picker
v-model="filters.timeRange"
type="datetimerange"
@@ -75,6 +75,7 @@
value-format="YYYY-MM-DD HH:mm:ss"
@change="handleTimeRangeChange"
class="w-full"
:size="isMobile ? 'small' : 'default'"
/>
</FilterItem>

View File

@@ -66,7 +66,7 @@
/>
</FilterItem>
<FilterItem label="消费时间" class="md:col-span-2">
<FilterItem label="消费时间" class="col-span-1 md:col-span-2">
<el-date-picker
v-model="dateRange"
type="datetimerange"
@@ -77,6 +77,7 @@
value-format="YYYY-MM-DD HH:mm:ss"
@change="handleTimeRangeChange"
class="w-full"
:size="isMobile ? 'small' : 'default'"
/>
</FilterItem>

View File

@@ -80,17 +80,18 @@
</el-select>
</FilterItem>
<FilterItem label="调用时间" class="md:col-span-2">
<FilterItem label="调用时间" class="col-span-1 md:col-span-2">
<el-date-picker
v-model="dateRange"
type="datetimerange"
range-separator=""
start-placeholder="开始时间"
end-placeholder="结束时间"
format="YYYY-MM-DD HH:mm:ss"
:start-placeholder="isMobile ? '开始' : '开始时间'"
:end-placeholder="isMobile ? '结束' : '结束时间'"
:format="isMobile ? 'YYYY-MM-DD HH:mm' : 'YYYY-MM-DD HH:mm:ss'"
value-format="YYYY-MM-DD HH:mm:ss"
@change="handleTimeRangeChange"
class="w-full"
:class="['date-picker-mobile', isMobile ? 'w-auto' : 'w-full']"
:size="isMobile ? 'small' : 'default'"
/>
</FilterItem>
</div>
@@ -747,5 +748,15 @@ const handleExport = async (options) => {
.info-label {
min-width: auto;
}
/* 移动端时间筛选器宽度限制 */
.date-picker-mobile {
max-width: 300px !important;
width: 100%;
}
.date-picker-mobile :deep(.el-date-editor) {
width: 100%;
}
}
</style>

View File

@@ -50,7 +50,7 @@
</el-select>
</FilterItem>
<FilterItem label="时间范围">
<FilterItem label="时间范围" class="col-span-1">
<el-date-picker
v-model="dateRange"
type="datetimerange"
@@ -61,6 +61,7 @@
value-format="YYYY-MM-DD HH:mm:ss"
@change="handleDateRangeChange"
class="w-full"
:size="isMobile ? 'small' : 'default'"
/>
</FilterItem>
@@ -90,20 +91,20 @@
<div v-else class="bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden">
<div class="table-container">
<el-table
:data="apiCalls"
style="width: 100%"
:header-cell-style="{
background: '#f8fafc',
color: '#475569',
fontWeight: '600',
fontSize: '14px'
}"
:cell-style="{
fontSize: '14px',
color: '#1e293b'
}"
>
<el-table
:data="apiCalls"
style="width: 100%"
:header-cell-style="{
background: '#f8fafc',
color: '#475569',
fontWeight: '600',
fontSize: '14px'
}"
:cell-style="{
fontSize: '14px',
color: '#1e293b'
}"
>
<el-table-column prop="transaction_id" label="交易ID" min-width="180">
<template #default="{ row }">
<span class="font-mono text-sm text-gray-600">{{ row.transaction_id }}</span>
@@ -193,16 +194,16 @@
<template #pagination>
<div class="pagination-wrapper">
<el-pagination
v-if="total > 0"
v-model:current-page="currentPage"
v-model:page-size="pageSize"
:page-sizes="[10, 20, 50, 100]"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
<el-pagination
v-if="total > 0"
v-model:current-page="currentPage"
v-model:page-size="pageSize"
:page-sizes="[10, 20, 50, 100]"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
</template>
@@ -281,8 +282,12 @@ import FilterItem from '@/components/common/FilterItem.vue'
import FilterSection from '@/components/common/FilterSection.vue'
import ListPageLayout from '@/components/common/ListPageLayout.vue'
import { useCertification } from '@/composables/useCertification'
import { useMobileTable } from '@/composables/useMobileTable'
import { ElMessage } from 'element-plus'
// 移动端检测
const { isMobile } = useMobileTable()
// 认证相关
const {
isCertified,

View File

@@ -42,7 +42,7 @@
</div>
</FilterItem>
<FilterItem label="时间范围">
<FilterItem label="时间范围" class="col-span-1">
<el-date-picker
v-model="dateRange"
type="datetimerange"
@@ -53,6 +53,7 @@
value-format="YYYY-MM-DD HH:mm:ss"
@change="handleDateRangeChange"
class="w-full"
:size="isMobile ? 'small' : 'default'"
/>
</FilterItem>
@@ -80,20 +81,20 @@
<div v-else class="bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden">
<div class="table-container">
<el-table
:data="transactions"
style="width: 100%"
:header-cell-style="{
background: '#f8fafc',
color: '#475569',
fontWeight: '600',
fontSize: '14px',
}"
:cell-style="{
fontSize: '14px',
color: '#1e293b',
}"
>
<el-table
:data="transactions"
style="width: 100%"
:header-cell-style="{
background: '#f8fafc',
color: '#475569',
fontWeight: '600',
fontSize: '14px',
}"
:cell-style="{
fontSize: '14px',
color: '#1e293b',
}"
>
<el-table-column prop="transaction_id" label="交易ID" min-width="180">
<template #default="{ row }">
<span class="font-mono text-sm text-gray-700">{{ row.transaction_id }}</span>
@@ -127,16 +128,16 @@
<template #pagination>
<div class="pagination-wrapper">
<el-pagination
v-if="total > 0"
v-model:current-page="currentPage"
v-model:page-size="pageSize"
:page-sizes="[10, 20, 50, 100]"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
<el-pagination
v-if="total > 0"
v-model:current-page="currentPage"
v-model:page-size="pageSize"
:page-sizes="[10, 20, 50, 100]"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
</template>
@@ -200,8 +201,12 @@ import { financeApi } from '@/api'
import FilterItem from '@/components/common/FilterItem.vue'
import FilterSection from '@/components/common/FilterSection.vue'
import ListPageLayout from '@/components/common/ListPageLayout.vue'
import { useMobileTable } from '@/composables/useMobileTable'
import { ElMessage } from 'element-plus'
// 移动端检测
const { isMobile } = useMobileTable()
// 响应式数据
const loading = ref(false)
const transactions = ref([])

View File

@@ -35,7 +35,7 @@
</el-select>
</FilterItem>
<FilterItem label="开始时间">
<FilterItem label="开始时间" class="col-span-1">
<el-date-picker
v-model="filters.start_time"
type="datetime"
@@ -44,10 +44,11 @@
value-format="YYYY-MM-DD HH:mm:ss"
@change="handleFilterChange"
class="w-full"
:size="isMobile ? 'small' : 'default'"
/>
</FilterItem>
<FilterItem label="结束时间">
<FilterItem label="结束时间" class="col-span-1">
<el-date-picker
v-model="filters.end_time"
type="datetime"
@@ -56,6 +57,7 @@
value-format="YYYY-MM-DD HH:mm:ss"
@change="handleFilterChange"
class="w-full"
:size="isMobile ? 'small' : 'default'"
/>
</FilterItem>
@@ -81,20 +83,20 @@
<div v-else class="bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden">
<div class="table-container">
<el-table
:data="records"
style="width: 100%"
:header-cell-style="{
background: '#f8fafc',
color: '#475569',
fontWeight: '600',
fontSize: '14px'
}"
:cell-style="{
fontSize: '14px',
color: '#1e293b'
}"
>
<el-table
:data="records"
style="width: 100%"
:header-cell-style="{
background: '#f8fafc',
color: '#475569',
fontWeight: '600',
fontSize: '14px'
}"
:cell-style="{
fontSize: '14px',
color: '#1e293b'
}"
>
<el-table-column prop="alipay_order_id" label="订单号">
<template #default="{ row }">
<div class="space-y-1">
@@ -168,16 +170,16 @@
<template #pagination>
<div class="pagination-wrapper">
<el-pagination
v-if="total > 0"
v-model:current-page="currentPage"
v-model:page-size="pageSize"
:page-sizes="[10, 20, 50, 100]"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
<el-pagination
v-if="total > 0"
v-model:current-page="currentPage"
v-model:page-size="pageSize"
:page-sizes="[10, 20, 50, 100]"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
</template>
</ListPageLayout>
@@ -188,8 +190,12 @@ import { financeApi } from '@/api'
import FilterItem from '@/components/common/FilterItem.vue'
import FilterSection from '@/components/common/FilterSection.vue'
import ListPageLayout from '@/components/common/ListPageLayout.vue'
import { useMobileTable } from '@/composables/useMobileTable'
import { ElMessage } from 'element-plus'
// 移动端检测
const { isMobile } = useMobileTable()
// 响应式数据
const loading = ref(false)
const records = ref([])