a284a83b86
- 新增 shopOrderTotalAll 和 shopOrderOverview 接口,支持含未支付口径数据统计 - 新增 ShopOrderOverview 类型定义,包含今日销售额、订单数、新增用户数和优惠券使用数 - 新增后台专用仪表盘页面,展示用户数、订单数、总营业额和系统运行天数等核心数据 - 仪表盘页面实现新订单提醒功能,支持声音和语音播报 - 提供待付款、待发货订单数和退款申请动态展示,带点击跳转功能 - 新增今日数据概况区域,显示销售额、订单数、新增用户和优惠券使用情况 - 集成订阅和续费功能,支持支付二维码扫码支付及状态轮询 - 基本信息展示系统版本、授权状态以及订阅到期提醒和续费入口 - 快速入口模块方便访问订单管理、商品管理、优惠券管理等功能页 - 实现数据自动刷新机制,包括统计数据和含未支付订单的特殊统计 - 优化了界面样式和交互体验,提升了后台管理的可用性和操作便捷性
72 lines
1.8 KiB
Vue
72 lines
1.8 KiB
Vue
<!-- 搜索表单 -->
|
|
<template>
|
|
<a-space style="flex-wrap: wrap">
|
|
<a-button type="text" @click="openUrl(`/website/field`)"
|
|
>字段扩展
|
|
</a-button>
|
|
<a-button type="text" @click="openUrl('/website/dict')">字典管理 </a-button>
|
|
<a-button type="text" @click="openUrl('/website/domain')"
|
|
>域名管理
|
|
</a-button>
|
|
<a-button type="text" @click="openUrl('/website/model')"
|
|
>模型管理
|
|
</a-button>
|
|
<a-button type="text" @click="openUrl('/website/form')">表单管理 </a-button>
|
|
<a-button type="text" @click="openUrl('/website/lang')">国际化 </a-button>
|
|
<a-button type="text" @click="openUrl('/website/setting')"
|
|
>网站设置
|
|
</a-button>
|
|
<a-button type="text" class="ele-btn-icon" @click="clearSiteInfoCache">
|
|
清除缓存
|
|
</a-button>
|
|
</a-space>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
import { watch, nextTick } from 'vue';
|
|
import { CmsWebsite } from '@/api/cms/cmsWebsite/model';
|
|
import { openUrl } from '@/utils/common';
|
|
import { message } from 'ant-design-vue';
|
|
import { removeSiteInfoCache } from '@/api/cms/cmsWebsite';
|
|
|
|
const props = withDefaults(
|
|
defineProps<{
|
|
// 选中的角色
|
|
selection?: [];
|
|
website?: CmsWebsite;
|
|
count?: 0;
|
|
}>(),
|
|
{}
|
|
);
|
|
|
|
const emit = defineEmits<{
|
|
(e: 'add'): void;
|
|
}>();
|
|
|
|
const add = () => {
|
|
emit('add');
|
|
};
|
|
|
|
// 清除缓存
|
|
const clearSiteInfoCache = () => {
|
|
removeSiteInfoCache(
|
|
'SiteInfo:' + localStorage.getItem('TenantId') + '*'
|
|
).then((msg) => {
|
|
if (msg) {
|
|
message.success(msg);
|
|
}
|
|
});
|
|
};
|
|
|
|
nextTick(() => {
|
|
if (localStorage.getItem('NotActive')) {
|
|
// IsActive.value = false
|
|
}
|
|
});
|
|
|
|
watch(
|
|
() => props.selection,
|
|
() => {}
|
|
);
|
|
</script>
|