|
|
|
|
@ -131,6 +131,25 @@
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-skeleton>
|
|
|
|
|
</el-card>
|
|
|
|
|
<el-card shadow="never">
|
|
|
|
|
<template #header>
|
|
|
|
|
<div class="h-3 flex justify-between">
|
|
|
|
|
<span>大屏看板</span>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<el-skeleton :loading="loading" animated>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col v-for="item in kanban" :key="`team-${item.name}`" :span="8" class="mb-8px">
|
|
|
|
|
<div class="flex items-center" @click="jumpToRoute(item.url)">
|
|
|
|
|
<Icon :icon="item.icon" class="mr-8px" />
|
|
|
|
|
<el-link type="default" :underline="false" @click="setWatermark(item.name)">
|
|
|
|
|
{{ item.name }}
|
|
|
|
|
</el-link>
|
|
|
|
|
</div>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-skeleton>
|
|
|
|
|
</el-card>
|
|
|
|
|
<el-card shadow="never" class="mt-8px">
|
|
|
|
|
<template #header>
|
|
|
|
|
<div class="h-3 flex justify-between">
|
|
|
|
|
@ -286,12 +305,6 @@ const getNotice = async () => {
|
|
|
|
|
type: '通知',
|
|
|
|
|
keys: ['通知', '无需授权'],
|
|
|
|
|
date: new Date()
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '失物招领公告',
|
|
|
|
|
type: '公告',
|
|
|
|
|
keys: ['公告', '最广泛'],
|
|
|
|
|
date: new Date()
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
notice = Object.assign(notice, data)
|
|
|
|
|
@ -342,7 +355,9 @@ const router = useRouter()
|
|
|
|
|
const navigateToRoute = (url: string)=> {
|
|
|
|
|
router.push(url)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const jumpToRoute = (url: string)=> {
|
|
|
|
|
window.open(url, '_blank'); // 在新标签页中打开
|
|
|
|
|
}
|
|
|
|
|
// 用户来源
|
|
|
|
|
const getUserAccessSource = async () => {
|
|
|
|
|
const data = [
|
|
|
|
|
@ -397,11 +412,50 @@ const getAllApi = async () => {
|
|
|
|
|
getProject(),
|
|
|
|
|
getNotice(),
|
|
|
|
|
getShortcut(),
|
|
|
|
|
getKanban(),
|
|
|
|
|
getUserAccessSource(),
|
|
|
|
|
getWeeklyUserActivity()
|
|
|
|
|
])
|
|
|
|
|
loading.value = false
|
|
|
|
|
}
|
|
|
|
|
// 获取快捷入口
|
|
|
|
|
let kanban = reactive<Shortcut[]>([])
|
|
|
|
|
|
|
|
|
|
const getKanban = async () => {
|
|
|
|
|
const data = [
|
|
|
|
|
{
|
|
|
|
|
name: '原料能源大屏',
|
|
|
|
|
icon: 'akar-icons:github-fill',
|
|
|
|
|
url: 'http://111.67.199.122:8100/#/de-link/RDdq31Ky'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '库存监控大屏',
|
|
|
|
|
icon: 'logos:vue',
|
|
|
|
|
url: 'http://111.67.199.122:8100/#/de-link/uACZrxMr'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '采购大屏',
|
|
|
|
|
icon: 'vscode-icons:file-type-vite',
|
|
|
|
|
url: 'http://111.67.199.122:8100/#/de-link/kFI91k27'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '销售大屏',
|
|
|
|
|
icon: 'logos:angular-icon',
|
|
|
|
|
url: 'http://111.67.199.122:8100/#/de-link/EPQolq4g'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '生产管控大屏',
|
|
|
|
|
icon: 'logos:react',
|
|
|
|
|
url: 'http://111.67.199.122:8100/#/de-link/IMZeQ9Mr'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '仓库管理',
|
|
|
|
|
icon: 'logos:webpack',
|
|
|
|
|
url: '/erp/stock/warehouse'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
kanban = Object.assign(kanban, data)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
getAllApi()
|
|
|
|
|
</script>
|
|
|
|
|
|