This commit is contained in:
YunaiV 2024-05-07 09:13:25 +08:00
commit 9402b29684
8 changed files with 67 additions and 51 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "yudao-ui-admin-vue3", "name": "yudao-ui-admin-vue3",
"version": "2.0.1-snapshot", "version": "2.1.0-snapshot",
"description": "基于vue3、vite4、element-plus、typesScript", "description": "基于vue3、vite4、element-plus、typesScript",
"author": "xingyu", "author": "xingyu",
"private": false, "private": false,

View File

@ -17,6 +17,11 @@ export const SeckillConfigApi = {
return await request.get({ url: `/promotion/seckill-config/page`, params }) return await request.get({ url: `/promotion/seckill-config/page`, params })
}, },
// 查询秒杀时段列表
getSimpleSeckillConfigList: async () => {
return await request.get({ url: `/promotion/seckill-config/simple-list` })
},
// 查询秒杀时段详情 // 查询秒杀时段详情
getSeckillConfig: async (id: number) => { getSeckillConfig: async (id: number) => {
return await request.get({ url: `/promotion/seckill-config/get?id=` + id }) return await request.get({ url: `/promotion/seckill-config/get?id=` + id })

View File

@ -62,7 +62,14 @@
<template #header> <template #header>
<div class="h-3 flex justify-between"> <div class="h-3 flex justify-between">
<span>{{ t('workplace.project') }}</span> <span>{{ t('workplace.project') }}</span>
<el-link type="primary" :underline="false">{{ t('action.more') }}</el-link> <el-link
type="primary"
:underline="false"
href="https://github.com/yudaocode"
target="_blank"
>
{{ t('action.more') }}
</el-link>
</div> </div>
</template> </template>
<el-skeleton :loading="loading" animated> <el-skeleton :loading="loading" animated>
@ -76,13 +83,13 @@
:sm="24" :sm="24"
:xs="24" :xs="24"
> >
<el-card shadow="hover"> <el-card shadow="hover" class="mr-5px mt-5px">
<div class="flex items-center"> <div class="flex items-center">
<Icon :icon="item.icon" :size="25" class="mr-8px" /> <Icon :icon="item.icon" :size="25" class="mr-8px" />
<span class="text-16px">{{ item.name }}</span> <span class="text-16px">{{ item.name }}</span>
</div> </div>
<div class="mt-16px text-14px text-gray-400">{{ t(item.message) }}</div> <div class="mt-12px text-9px text-gray-400">{{ t(item.message) }}</div>
<div class="mt-16px flex justify-between text-12px text-gray-400"> <div class="mt-12px flex justify-between text-12px text-gray-400">
<span>{{ item.personal }}</span> <span>{{ item.personal }}</span>
<span>{{ formatTime(item.time, 'yyyy-MM-dd') }}</span> <span>{{ formatTime(item.time, 'yyyy-MM-dd') }}</span>
</div> </div>
@ -204,45 +211,45 @@ let projects = reactive<Project[]>([])
const getProject = async () => { const getProject = async () => {
const data = [ const data = [
{ {
name: 'Github', name: 'ruoyi-vue-pro',
icon: 'akar-icons:github-fill', icon: 'akar-icons:github-fill',
message: 'workplace.introduction', message: 'https://github.com/YunaiV/ruoyi-vue-pro',
personal: 'Archer', personal: 'Spring Boot 单体架构',
time: new Date() time: new Date()
}, },
{ {
name: 'Vue', name: 'yudao-ui-admin-vue3',
icon: 'logos:vue', icon: 'logos:vue',
message: 'workplace.introduction', message: 'https://github.com/yudaocode/yudao-ui-admin-vue3',
personal: 'Archer', personal: 'Vue3 + element-plus',
time: new Date() time: new Date()
}, },
{ {
name: 'Angular', name: 'yudao-ui-admin-vben',
icon: 'logos:angular-icon', icon: 'logos:vue',
message: 'workplace.introduction', message: 'https://github.com/yudaocode/yudao-ui-admin-vben',
personal: 'Archer', personal: 'Vue3 + vben(antd)',
time: new Date() time: new Date()
}, },
{ {
name: 'React', name: 'yudao-cloud',
icon: 'logos:react', icon: 'akar-icons:github',
message: 'workplace.introduction', message: 'https://github.com/YunaiV/yudao-cloud',
personal: 'Archer', personal: 'Spring Cloud 微服务架构',
time: new Date() time: new Date()
}, },
{ {
name: 'Webpack', name: 'yudao-ui-mall-uniapp',
icon: 'logos:webpack', icon: 'logos:vue',
message: 'workplace.introduction', message: 'https://github.com/yudaocode/yudao-ui-admin-uniapp',
personal: 'Archer', personal: 'Vue3 + uniapp',
time: new Date() time: new Date()
}, },
{ {
name: 'Vite', name: 'yudao-ui-admin-vue2',
icon: 'vscode-icons:file-type-vite', icon: 'logos:vue',
message: 'workplace.introduction', message: 'https://github.com/yudaocode/yudao-ui-admin-vue2',
personal: 'Archer', personal: 'Vue2 + element-ui',
time: new Date() time: new Date()
} }
] ]
@ -254,27 +261,27 @@ let notice = reactive<Notice[]>([])
const getNotice = async () => { const getNotice = async () => {
const data = [ const data = [
{ {
title: '系统升级版本', title: '系统支持 JDK 8/17/21Vue 2/3',
type: '通知', type: '通知',
keys: ['通知', '升级'], keys: ['通知', '8', '17', '21', '2', '3'],
date: new Date() date: new Date()
}, },
{ {
title: '系统凌晨维护', title: '后端提供 Spring Boot 2.7/3.2 + Cloud 双架构',
type: '公告', type: '公告',
keys: ['公告', '维护'], keys: ['公告', 'Boot', 'Cloud'],
date: new Date() date: new Date()
}, },
{ {
title: '系统升级版本', title: '全部开源,个人与企业可 100% 直接使用,无需授权',
type: '通知', type: '通知',
keys: ['通知', '升级'], keys: ['通知', '无需授权'],
date: new Date() date: new Date()
}, },
{ {
title: '系统凌晨维护', title: '国内使用最广泛的快速开发平台,超 300+ 人贡献',
type: '公告', type: '公告',
keys: ['公告', '维护'], keys: ['公告', '最广泛'],
date: new Date() date: new Date()
} }
] ]

View File

@ -157,7 +157,7 @@
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime' import { dateFormatter } from '@/utils/formatTime'
import * as SeckillActivityApi from '@/api/mall/promotion/seckill/seckillActivity' import * as SeckillActivityApi from '@/api/mall/promotion/seckill/seckillActivity'
import * as SeckillConfigApi from '@/api/mall/promotion/seckill/seckillConfig' import { SeckillConfigApi } from '@/api/mall/promotion/seckill/seckillConfig'
import SeckillActivityForm from './SeckillActivityForm.vue' import SeckillActivityForm from './SeckillActivityForm.vue'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import { fenToYuanFormat } from '@/utils/formatter' import { fenToYuanFormat } from '@/utils/formatter'

View File

@ -1,6 +1,6 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter, dateFormatter2 } from '@/utils/formatTime' import { dateFormatter2 } from '@/utils/formatTime'
import { getSimpleSeckillConfigList } from '@/api/mall/promotion/seckill/seckillConfig' import { SeckillConfigApi } from '@/api/mall/promotion/seckill/seckillConfig'
// 表单校验 // 表单校验
export const rules = reactive({ export const rules = reactive({
@ -88,7 +88,7 @@ const crudSchemas = reactive<CrudSchema[]>([
valueField: 'id' valueField: 'id'
} }
}, },
api: getSimpleSeckillConfigList api: SeckillConfigApi.getSimpleSeckillConfigList
}, },
table: { table: {
width: 300 width: 300

View File

@ -26,9 +26,9 @@
icon="ep:view" icon="ep:view"
icon-color="bg-blue-100" icon-color="bg-blue-100"
icon-bg-color="text-blue-500" icon-bg-color="text-blue-500"
prefix="" prefix=""
:decimals="2" :decimals="0"
:value="fenToYuan(trendSummary?.value?.browseCount || 0)" :value="trendSummary?.value?.browseCount || 0"
:percent=" :percent="
calculateRelativeRate( calculateRelativeRate(
trendSummary?.value?.browseCount, trendSummary?.value?.browseCount,
@ -44,9 +44,9 @@
icon="ep:user-filled" icon="ep:user-filled"
icon-color="bg-purple-100" icon-color="bg-purple-100"
icon-bg-color="text-purple-500" icon-bg-color="text-purple-500"
prefix="" prefix=""
:decimals="2" :decimals="0"
:value="fenToYuan(trendSummary?.value?.browseUserCount || 0)" :value="trendSummary?.value?.browseUserCount || 0"
:percent=" :percent="
calculateRelativeRate( calculateRelativeRate(
trendSummary?.value?.browseUserCount, trendSummary?.value?.browseUserCount,
@ -62,9 +62,9 @@
icon="fa-solid:money-check-alt" icon="fa-solid:money-check-alt"
icon-color="bg-yellow-100" icon-color="bg-yellow-100"
icon-bg-color="text-yellow-500" icon-bg-color="text-yellow-500"
prefix="" prefix=""
:decimals="2" :decimals="0"
:value="fenToYuan(trendSummary?.value?.orderPayCount || 0)" :value="trendSummary?.value?.orderPayCount || 0"
:percent=" :percent="
calculateRelativeRate( calculateRelativeRate(
trendSummary?.value?.orderPayCount, trendSummary?.value?.orderPayCount,
@ -98,9 +98,9 @@
icon="fa-solid:wallet" icon="fa-solid:wallet"
icon-color="bg-cyan-100" icon-color="bg-cyan-100"
icon-bg-color="text-cyan-500" icon-bg-color="text-cyan-500"
prefix="" prefix=""
:decimals="2" :decimals="0"
:value="fenToYuan(trendSummary?.value?.afterSaleCount || 0)" :value="trendSummary?.value?.afterSaleCount || 0"
:percent=" :percent="
calculateRelativeRate( calculateRelativeRate(
trendSummary?.value?.afterSaleCount, trendSummary?.value?.afterSaleCount,

View File

@ -1,5 +1,7 @@
<template> <template>
<ContentWrap> <ContentWrap>
<doc-alert title="大屏设计器" url="https://doc.iocoder.cn/report/screen/" />
<IFrame :src="src" /> <IFrame :src="src" />
</ContentWrap> </ContentWrap>
</template> </template>

View File

@ -1,5 +1,7 @@
<template> <template>
<ContentWrap> <ContentWrap>
<doc-alert title="报表设计器" url="https://doc.iocoder.cn/report/" />
<IFrame :src="src" /> <IFrame :src="src" />
</ContentWrap> </ContentWrap>
</template> </template>