| | |
| | | <view style="width: 100%; height: var(--status-bar-height)" /> |
| | | <view class="home"> |
| | | <!-- 当前用户 --> |
| | | <view class="text-[#0D867F] font-medium py-2 text-lg">亨旺特导线缆上报系统</view> |
| | | <view class="flex items-center justify-between"> |
| | | <view class="text-[#0D867F] font-medium py-2 text-lg"> |
| | | <text>亨旺特导线缆上报系统</text> |
| | | </view> |
| | | </view> |
| | | <WorkerCallingCard /> |
| | | |
| | | <!-- 通知公告 --> |
| | | <wd-notice-bar |
| | | text="vue-uniapp-template 是一个基于 Vue3 + UniApp 的前端模板项目,提供了一套完整的前端解决方案,包括登录、权限、字典、接口请求、状态管理、页面布局、组件封装等功能。" |
| | | custom-class="space" |
| | | > |
| | | <wd-notice-bar text="这是一条测试通知的数据" custom-class="space"> |
| | | <template #prefix> |
| | | <wd-icon class="prefix" name="warn-bold" size="14px"></wd-icon> |
| | | <text class="text-xs">通知</text> |
| | | </template> |
| | | </wd-notice-bar> |
| | | <!-- 快捷导航 --> |
| | | <wd-grid clickable :column="4" class="mt-2"> |
| | | <wd-grid-item |
| | | v-for="(item, index) in navList" |
| | | :key="index" |
| | | use-slot |
| | | link-type="navigateTo" |
| | | :url="item.url" |
| | | > |
| | | <view class="p-2"> |
| | | <image class="w-72rpx h-72rpx rounded-8rpx" :src="item.icon" /> |
| | | </view> |
| | | <view class="text">{{ item.title }}</view> |
| | | </wd-grid-item> |
| | | <wd-grid clickable :column="1" class="mt-2"> |
| | | <view v-for="(item, index) in navList"> |
| | | <wd-grid-item v-if="item.show" :key="index" use-slot link-type="navigateTo" :url="item.url"> |
| | | <view class="p-2"> |
| | | <image class="w-72rpx h-72rpx rounded-8rpx" :src="item.icon" /> |
| | | </view> |
| | | <view class="text">{{ item.title }}</view> |
| | | </wd-grid-item> |
| | | </view> |
| | | </wd-grid> |
| | | |
| | | <!-- 数据统计 --> |
| | |
| | | </wd-grid-item> |
| | | </wd-grid> --> |
| | | |
| | | <wd-card> |
| | | <!-- <wd-card> |
| | | <template #title> |
| | | <view class="flex-between"> |
| | | <view>访问趋势</view> |
| | |
| | | <view class="charts-box"> |
| | | <qiun-data-charts type="area" :chartData="chartData" :opts="chartOpts" /> |
| | | </view> |
| | | </wd-card> |
| | | </wd-card> --> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { reactive } from "vue"; |
| | | import { dayjs } from "wot-design-uni"; |
| | | import LogAPI, { VisitStatsVO } from "@/api/system/log"; |
| | | import WorkerCallingCard from "@/components/worker-calling-card/index.vue"; |
| | | import HomeApi from "@/api/home"; |
| | | |
| | | const visitStatsData = ref<VisitStatsVO>({ |
| | | todayUvCount: 0, |
| | |
| | | icon: "/static/icons/user.png", |
| | | title: "生产管理", |
| | | url: "/pages/production/index", |
| | | show: false, |
| | | }, |
| | | // { |
| | | // icon: "/static/icons/role.png", |
| | | // title: "角色管理", |
| | | // url: "/pages/work/role/index", |
| | | // prem: "sys:role:query", |
| | | // }, |
| | | // { |
| | | // icon: "/static/icons/notice.png", |
| | | // title: "通知公告", |
| | | // url: "/pages/work/notice/index", |
| | | // prem: "sys:notice:query", |
| | | // }, |
| | | // { |
| | | // icon: "/static/icons/setting.png", |
| | | // title: "系统配置", |
| | | // url: "/pages/work/config/index", |
| | | // prem: "sys:config:query", |
| | | // }, |
| | | { |
| | | icon: "/static/icons/role.png", |
| | | title: "角色管理", |
| | | url: "/pages/work/role/index", |
| | | prem: "sys:role:query", |
| | | }, |
| | | { |
| | | icon: "/static/icons/notice.png", |
| | | title: "通知公告", |
| | | url: "/pages/work/notice/index", |
| | | prem: "sys:notice:query", |
| | | }, |
| | | { |
| | | icon: "/static/icons/setting.png", |
| | | title: "系统配置", |
| | | url: "/pages/work/config/index", |
| | | prem: "sys:config:query", |
| | | icon: "/static/icons/log.png", |
| | | title: "时效报工", |
| | | url: "/pages/timely/index", |
| | | show: false, |
| | | }, |
| | | ]); |
| | | |
| | |
| | | loadVisitTrendData(); |
| | | }; |
| | | |
| | | onReady(() => { |
| | | // loadVisitStatsData(); |
| | | // loadVisitTrendData(); |
| | | const init = async () => { |
| | | const { data } = await HomeApi.getIndex(); |
| | | if (data.deviceGroupName == "时效组") { |
| | | navList[1].show = true; |
| | | } else { |
| | | navList[0].show = true; |
| | | } |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | init(); |
| | | }); |
| | | </script> |
| | | |