曹睿
9 天以前 aca7aa9ce32acc4c8795342f945b027d3bc9f62a
src/pages/index/index.vue
@@ -2,37 +2,34 @@
  <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 :column="2" :gutter="2">
    <!-- <wd-grid :column="2" :gutter="2">
      <wd-grid-item use-slot custom-class="custom-item">
        <view class="flex justify-start pl-5">
          <view class="flex-center">
@@ -55,9 +52,9 @@
          </view>
        </view>
      </wd-grid-item>
    </wd-grid>
    </wd-grid> -->
    <wd-card>
    <!-- <wd-card>
      <template #title>
        <view class="flex-between">
          <view>访问趋势</view>
@@ -78,14 +75,16 @@
      <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,
@@ -136,24 +135,31 @@
    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,
  },
]);
@@ -200,9 +206,17 @@
  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>