doum
2025-09-23 bcadfb6de692c138774688efd7928a973d59860f
admin/src/views/index.vue
@@ -1,9 +1,105 @@
<template>
  <div class="main_home">
  <div class="main_home"  style="padding-bottom: 30px;">
    <div class="home_header">
      <div class="mb10 fs17">下午好,{{ userInfo.realname }}</div>
      <div class="fs13">
        今天是 {{ nowDate }} {{ nowWeek }},欢迎访问豆米跳跳官网后台管理平台
      </div>
      <div style="border: 1px solid #cccccc;padding: 20px;margin-top: 30px;">
        <div style="font-size: 20px;font-weight: bold;color: #144077">
          【PC网站静态化】
        </div>
        <div class="content">
          <el-button class="btn" :loading="loading[0]"  type="primary" @click="staticPage(0)">首页</el-button>
          <el-button class="btn" :loading="loading[6]"  type="primary"  @click="staticPage(6)">Alot物联</el-button>
          <el-button class="btn" :loading="loading[5]"  type="primary" @click="staticPage(5)">最新动态</el-button>
          <el-button class="btn" :loading="loading[3]"  type="primary" @click="staticPage(3)">关于我们</el-button>
          <el-button class="btn" :loading="loading[4]"  type="primary" @click="staticPage(4)">渠道合作</el-button>
        </div>
        <div class="content">
          <el-button class="btn" :loading="loading[7]"   type="primary" @click="staticPage(7)">最新动态详情</el-button>
          <el-button class="btn" :loading="loading[9]"  type="primary" @click="staticPage(9)">客户案例详情</el-button>
          <el-button class="btn" :loading="loading[9]"  type="primary" @click="staticPage(14)">轮播图详情</el-button>
        </div>
        <div style="font-size: 20px;font-weight: bold;margin-top: 30px;color: #144077">
          【智慧系统静态化】
        </div>
        <div class="content">
          <el-button class="btn" :loading="loading[1]"  type="primary" @click="staticPage(1)">智慧系统运营系统</el-button>
          <el-button class="btn" :loading="loading[2]"  type="primary" @click="staticPage(2)">智慧系统运维系统</el-button>
        </div>
        <div style="font-size: 20px;font-weight: bold;margin-top: 30px;color: #144077">
          【解决方案静态化】
        </div>
        <div class="content">
          <el-button class="btn" :loading="loading[8]"  type="primary" @click="staticPage(8)">数智体育场馆</el-button>
          <el-button class="btn" :loading="loading[10]"  type="primary" @click="staticPage(10)">24H智能场馆</el-button>
          <el-button class="btn" :loading="loading[11]"  type="primary" @click="staticPage(11)">景区&游乐园</el-button>
          <el-button class="btn" :loading="loading[12]"  type="primary" @click="staticPage(12)">数智体育平台</el-button>
          <el-button class="btn" :loading="loading[13]"  type="primary" @click="staticPage(13)">空间智慧管理</el-button>
        </div>
      </div>
      <div style="border: 1px solid #cccccc;padding: 20px;margin-top: 30px;">
        <div style="font-size: 20px;font-weight: bold; color: #144077">
          【手机端静态化】
        </div>
        <div class="content">
          <el-button class="btn1" :loading="loadingMobile[0]"  type="primary" @click="staticPageMobile(0)">首页</el-button>
          <el-button class="btn1" :loading="loadingMobile[21]"  type="primary" @click="staticPageMobile(21)">景区&游乐园</el-button>
          <el-button class="btn1" :loading="loading[18]"  type="primary" @click="staticPageMobile(18)">客户案例详情</el-button>
          <el-button class="btn1" :loading="loading[19]"  type="primary" @click="staticPageMobile(19)">轮播图详情</el-button>
        </div>
        <div class="content">
          <el-button class="btn1" :loading="loadingMobile[20]"  type="primary" @click="staticPageMobile(20)">渠道合作</el-button>
          <el-button class="btn1" :loading="loadingMobile[21]"  type="primary" @click="staticPageMobile(21)">关于我们</el-button>
          <el-button class="btn1" :loading="loadingMobile[16]"   type="primary" @click="staticPageMobile(16)">最新动态</el-button>
          <el-button class="btn1" :loading="loadingMobile[22]"   type="primary" @click="staticPageMobile(22)">最新动态列表</el-button>
          <el-button class="btn1" :loading="loadingMobile[17]"   type="primary" @click="staticPageMobile(17)">最新动态详情</el-button>
        </div>
        <div style="font-size: 20px;font-weight: bold;margin-top: 30px;color: #144077">
          【首页解决方案】
        </div>
        <div class="content">
          <el-button class="btn1" :loading="loading[11]"  type="primary" @click="staticPageMobile(11)">数智体育场馆</el-button>
          <el-button class="btn1" :loading="loading[12]"  type="primary" @click="staticPageMobile(12)">24H智能场馆</el-button>
          <el-button class="btn1" :loading="loading[13]"  type="primary" @click="staticPageMobile(13)">数智体育平台</el-button>
          <el-button class="btn1" :loading="loading[14]"  type="primary" @click="staticPageMobile(14)">景区&游乐园</el-button>
          <el-button class="btn1" :loading="loading[15]"  type="primary" @click="staticPageMobile(15)">空间智慧管理</el-button>
        </div>
        <div style="font-size: 20px;font-weight: bold; color: #144077;margin-top: 30px;">
          【智慧系统】
        </div>
        <div class="content">
          <el-button class="btn1" :loading="loadingMobile[1]"  type="primary" @click="staticPageMobile(1)">智慧系统运营系统</el-button>
          <el-button class="btn1" :loading="loadingMobile[2]"  type="primary" @click="staticPageMobile(2)">智慧系统运维系统</el-button>
        </div>
        <div style="font-size: 20px;font-weight: bold; color: #144077;margin-top: 30px;">
          【数智体育场馆】
        </div>
        <div class="content">
          <el-button class="btn1" :loading="loadingMobile[3]"  type="primary" @click="staticPageMobile(3)">综合体育场馆</el-button>
          <el-button class="btn1" :loading="loadingMobile[4]"  type="primary" @click="staticPageMobile(4)">全民健身中心</el-button>
          <el-button class="btn1" :loading="loadingMobile[5]"  type="primary" @click="staticPageMobile(5)">校园体育场馆</el-button>
          <el-button class="btn1" :loading="loadingMobile[6]"  type="primary" @click="staticPageMobile(6)">冰雪体育场馆</el-button>
          <el-button class="btn1" :loading="loadingMobile[7]"  type="primary" @click="staticPageMobile(7)">游泳体育场馆</el-button>
        </div>
        <div class="content">
          <el-button class="btn1" :loading="loadingMobile[8]"  type="primary" @click="staticPageMobile(8)">智慧体育公园</el-button>
        </div>
        <div style="font-size: 20px;font-weight: bold; color: #144077;margin-top: 30px;">
          【24H智能场馆】
        </div>
        <div class="content">
          <el-button class="btn1" :loading="loadingMobile[9]"  type="primary" @click="staticPageMobile(9)">24H智能场馆</el-button>
          <el-button class="btn1" :loading="loadingMobile[10]"  type="primary" @click="staticPageMobile(10)">无人值守场馆</el-button>
        </div>
        <div style="font-size: 20px;font-weight: bold; color: #144077;margin-top: 30px;">
          【数智体育平台】
        </div>
        <div class="content">
          <el-button class="btn1" :loading="loadingMobile[11]"  type="primary" @click="staticPageMobile(11)">体育连锁运营平台</el-button>
          <el-button class="btn1" :loading="loadingMobile[12]"  type="primary" @click="staticPageMobile(12)">省市级数智体育场馆</el-button>
        </div>
      </div>
    </div>
  </div>
@@ -11,30 +107,15 @@
<script>
import dayjs from 'dayjs'
import * as echarts from 'echarts'
import { weeks } from '@/utils/config'
const colors = ['#52a4f7', '#7678f7', '#5fc6d5']
import { create as createPage ,createMobile as createPageMobile} from '@/api/business/static'
export default {
  components: {
  },
  data () {
    return {
      searchForm: {
        timeType: null,
        timeName: '全部'
      },
      colors,
      nowDate: '',
      nowWeek: '',
      headerData: {},
      headerData1: {},
      staticData0: {},
      staticData01: {},
      staticData1: {},
      staticData2: {},
      staticData3: {},
      staticData4: {},
      manningRatio: []
      loading:[false,false,false,false,false,false,false,false,false,false],
      loadingMobile:[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]
    }
  },
  computed: {
@@ -49,6 +130,26 @@
    // this.initData()
  },
  methods: {
    staticPage (index) {
      this.loading[index] = true
      createPage({ pageIndex: index }).then(res => {
        this.$message.success('操作成功')
      }).catch(e => {
        this.$tip.apiFailed(e)
      }).finally(() => {
        this.loading[index] = false
      })
    },
    staticPageMobile (index) {
      this.loadingMobile[index] = true
      createPageMobile({ pageIndex: index }).then(res => {
        this.$message.success('操作成功')
      }).catch(e => {
        this.$tip.apiFailed(e)
      }).finally(() => {
        this.loading[index] = false
      })
    },
    updateDate () {
      this.nowDate = dayjs().format('YYYY年M月D日')
      this.nowWeek = weeks[new Date().getDay()]
@@ -59,10 +160,6 @@
<style lang="scss" scoped>
::v-deep .el-input--small .el-input__inner {
  height: 30px !important; // 这里就是修改默认高度
  width: 120px;
}
div {
  box-sizing: border-box;
}
@@ -73,187 +170,23 @@
  color: #222222;
  line-height: 22px;
}
.mb50{
  margin-bottom: 50px;
}
.main {
.content {
  display: flex;
  position: relative;
  z-index: 99;
  .app_content {
    flex: 1;
    .static_card {
      height: 187px;
      color: #fff;
      display: flex;
      justify-content: space-between;
      .card {
        flex: 1;
        height: 187px;
        background: linear-gradient(270deg, #29aeff 0%, #207ff7 100%);
        box-shadow: 0px 2px 10px 0px rgba(32, 127, 247, 0.4);
        border-radius: 8px;
        margin-right: 14px;
        &:nth-of-type(2) {
          background: linear-gradient(270deg, #8383ff 0%, #6b6eff 100%);
        }
        &:nth-of-type(3) {
          background: linear-gradient(270deg, #42d49d 0%, #12bb8b 100%);
        }
        &:nth-of-type(4) {
          margin-right: 0;
          background: linear-gradient(270deg, #c430dee3 0%, #cd04b9cf 100%);
        //linear-gradient(270deg, #de3049b8 0%, #cd0421d4 100%);
          //background: linear-gradient(270deg, #30d3de 0%, #04b7cd 100%);
        }
        .header {
          height: 103px;
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding: 20px 20px 12px;
          border-bottom: 1px solid rgba(255, 255, 255, 0.2);
          img {
            width: 40px;
            height: 40px;
          }
          .num {
            font-weight: 600;
            font-size: 30px;
            margin-top: 12px;
          }
        }
        .content {
          height: 82px;
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          font-size: 13px;
          padding: 15px 20px 20px;
        }
      }
    }
    .funcs {
      height: 149px;
      padding: 20px;
      background: #fff;
      margin: 10px 0;
      .list {
        display: flex;
        padding-top: 20px;
        .item {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          margin-right: 24px;
          cursor: pointer;
          img {
            width: 44px;
            height: 44px;
          }
        }
      }
    }
  margin-top: 30px;
  width: 100%;
  .btn{
    width: 18%;
    height: 60px;
    margin: 10px;
    font-size: 20px;
  }
  .static_wrap {
    .wrap {
      background: #fff;
      padding: 20px 20px 10px;
      border-radius: 2px;
      border: 1px solid #eeeeee;
      height: 280px;
      flex: 1;
      margin-top: 10px;
      margin-bottom: 20px;
      &:nth-of-type(2n) {
        //margin-left: 10px;
      }
      .echart {
        width: 100%;
        height: 190px;
        position: relative;
        display: flex;
        div{
          flex: 1;
          height: 190px;
        }
      }
      .header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 30px;
        .more {
          font-size: 13px;
          color: #999999;
        }
      }
    }
    .static1 {
      .content {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        .echart_wrap {
          position: relative;
          .pie_text {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            z-index: 999;
          }
        }
        .echart {
          width: 150px;
          height: 150px;
        }
        .list {
          margin-left: 36px;
          .item {
            display: flex;
            align-items: center;
            margin: 8px 0;
            .icon {
              width: 16px;
              height: 16px;
              border-radius: 50%;
              margin-right: 6px;
              background: linear-gradient(270deg, #29aeff 0%, #207ff7 100%);
            }
            .text {
              margin-right: 6px;
            }
          }
        }
      }
    }
  .btn1{
    width: 18%;
    height: 60px;
    margin: 10px;
    font-size: 20px;
    background-color: #f76920;
    border: #f76920;
  }
}