南昌市物联网技防平台-前端
Administrator
2021-05-08 e0b5615d076c9b2b5a19bc4155eaf5139d54410a
Merge branch 'master' of http://192.168.0.105:10010/r/jfpt-Vue
5 files modified
9 files added
469 ■■■■■ changed files
public/img/anjian.jpg patch | view | raw | blame | history
public/img/bjkeji.jpg patch | view | raw | blame | history
public/img/bjkeji1.jpg patch | view | raw | blame | history
public/img/bjkeji2.jpg patch | view | raw | blame | history
public/img/fangyi.jpg patch | view | raw | blame | history
public/img/tiwen.jpg patch | view | raw | blame | history
public/img/tongji.jpg patch | view | raw | blame | history
public/img/yijianbaoj.jpg patch | view | raw | blame | history
src/page/crumbsL/crumbsL.vue 50 ●●●●● patch | view | raw | blame | history
src/page/index/top/index.vue 252 ●●●● patch | view | raw | blame | history
src/page/index/top/top-menu.vue 2 ●●● patch | view | raw | blame | history
src/router/views/index.js 16 ●●●●● patch | view | raw | blame | history
src/store/modules/dataL.js 4 ●●●● patch | view | raw | blame | history
src/views/dataL/homeL.vue 145 ●●●●● patch | view | raw | blame | history
public/img/anjian.jpg
public/img/bjkeji.jpg
public/img/bjkeji1.jpg
public/img/bjkeji2.jpg
public/img/fangyi.jpg
public/img/tiwen.jpg
public/img/tongji.jpg
public/img/yijianbaoj.jpg
src/page/crumbsL/crumbsL.vue
@@ -20,12 +20,14 @@
        v-for="(item, index) of breadListLast"
        :key="item.path"
      >
      <div class="aaa" v-show="breadListLast.length != index + 1">
        <a href="javascript:;" @click="$router.push({ path: item.path})">{{ item.name }}</a>&nbsp/&nbsp
      </div>
      <div class="bbb" v-show="breadListLast.length == index + 1">
        <div>{{ item.name }}</div>
      </div>
        <div class="aaa" v-show="breadListLast.length != index + 1">
          <a href="javascript:;" @click="$router.push({ path: item.path })"
            >{{ item.name }} </a
          >&nbsp/&nbsp
        </div>
        <div class="bbb" v-show="breadListLast.length == index + 1">
          <div>{{ item.name }}</div>
        </div>
      </div>
    </div>
    <!-- <router-view></router-view> -->
@@ -86,15 +88,31 @@
          p = path.split("/").pop(),
          n = this.$route.name,
          s = this.$store.state.common.liuState;
        var showDataL =
          n == "首页"
            ? false
            : n == "健康码管理"
            ? false
            : n == "包裹管理"
            ? false
            : n == "体温管理"
            ? false
            : n == "研判洞察"
            ? false
            : true;
        this.$store.commit("SET_SHOWDATAL", showDataL);
        // console.log("path:" + p);
        // console.log("name:" + n);
        // console.log("showDataL:" + showDataL);
        // console.log("state:  ", s);
        // console.log(this.sOld,s);
        if (this.sOld != s) {
          //一级菜单
          this.breadListLast = [];
          this.breadListLast.push({
            name: n == "首页" ? "数据模式" : n,
            // name: n == "首页" ? "数据模式" : n,
            name: n,
            path: path,
          });
          // console.log(p, n, "写入一级面包屑");
@@ -108,9 +126,9 @@
          //判断是否有重复项,有则删除其后路由↓
          var ourP = this.breadListLast;
          for (var os in ourP) {
            if (n == "首页") {
              n = "数据模式";
            }
            // if (n == "首页") {
            //   n = "数据模式";
            // }
            if (ourP[os].name == n && os != ourP.length - 1) {
              this.breadListLast.splice(
                +os + 1,
@@ -124,7 +142,6 @@
        this.sOld = s;
        // window.localStorage.crumbsl = this.breadListLast;
        localStorage.setItem("crumbsl", JSON.stringify(this.breadListLast));
      }
    },
    loadChange2(states) {
@@ -304,15 +321,14 @@
      var abb = localStorage.getItem("crumbsl");
      if (abb) {
        this.isrf = true;
        if(this.$store.state.common.liuState == 0){
        if (this.$store.state.common.liuState == 0) {
          this.sOld = 0;
        }
         console.log("页面被刷新");
        console.log("页面被刷新");
      } else {
        this.isrf = false;
         console.log("页面被刷新,但后台没有数据");
        console.log("页面被刷新,但后台没有数据");
      }
    }
    this.loadChange("moun");
  },
@@ -320,7 +336,7 @@
</script>
<style lang="scss" scoped>
.breadEval {
  color: rgba($color: #000000, $alpha: .7);
  color: rgba($color: #000000, $alpha: 0.7);
  position: relative;
  top: -10px;
  font-size: 14px;
@@ -342,7 +358,7 @@
      font-weight: 400;
      position: relative;
      top: -3px;
      a{
      a {
        font-weight: 400;
      }
    }
src/page/index/top/index.vue
@@ -1,129 +1,129 @@
<template>
<div>
  <div class="avue-top">
    <div class="top-bar__left">
      <div
        class="avue-breadcrumb"
        :class="[{ 'avue-breadcrumb--active': isCollapse }]"
        v-if="showCollapse"
      >
        <i class="icon-navicon" @click="setCollapse"></i>
  <div>
    <div class="avue-top">
      <div class="top-bar__left">
        <div
          class="avue-breadcrumb"
          :class="[{ 'avue-breadcrumb--active': isCollapse }]"
          v-if="showCollapse"
        >
          <i class="icon-navicon" @click="setCollapse"></i>
        </div>
      </div>
      <div class="top-bar__title">
        <div class="top-bar__item top-bar__item--show">
          <top-menu ref="topMenu" v-if="showMenu"></top-menu>
        </div>
        <!--去除顶部搜索栏-->
        <!--      <span class="top-bar__item"-->
        <!--            v-if="showSearch">-->
        <!--        <top-search></top-search>-->
        <!--      </span>-->
      </div>
      <div class="top-bar__right">
        <img
          src="/img/ydlogo.png"
          style="height: 44px; vertical-align: middle"
          alt=""
        />
        <el-tooltip
          v-if="showColor"
          effect="dark"
          :content="$t('navbar.color')"
          placement="bottom"
        >
          <div class="top-bar__item">
            <top-color></top-color>
          </div>
        </el-tooltip>
        <el-tooltip
          v-if="showDebug"
          effect="dark"
          :content="logsFlag ? $t('navbar.bug') : logsLen + $t('navbar.bugs')"
          placement="bottom"
        >
          <div class="top-bar__item">
            <top-logs></top-logs>
          </div>
        </el-tooltip>
        <el-tooltip
          v-if="showLock"
          effect="dark"
          :content="$t('navbar.lock')"
          placement="bottom"
        >
          <div class="top-bar__item">
            <top-lock></top-lock>
          </div>
        </el-tooltip>
        <el-tooltip
          v-if="showTheme"
          effect="dark"
          :content="$t('navbar.theme')"
          placement="bottom"
        >
          <div class="top-bar__item top-bar__item--show">
            <top-theme></top-theme>
          </div>
        </el-tooltip>
        <!--      <el-tooltip effect="dark"-->
        <!--                  :content="$t('navbar.notice')"-->
        <!--                  placement="bottom">-->
        <!--        <div class="top-bar__item top-bar__item&#45;&#45;show">-->
        <!--          <top-notice></top-notice>-->
        <!--        </div>-->
        <!--      </el-tooltip>-->
        <el-tooltip
          effect="dark"
          :content="$t('navbar.language')"
          placement="bottom"
        >
          <div class="top-bar__item top-bar__item--show">
            <top-lang></top-lang>
          </div>
        </el-tooltip>
        <el-tooltip
          v-if="showFullScren"
          effect="dark"
          :content="
            isFullScren ? $t('navbar.screenfullF') : $t('navbar.screenfull')
          "
          placement="bottom"
        >
          <div class="top-bar__item">
            <i
              :class="isFullScren ? 'icon-tuichuquanping' : 'icon-quanping'"
              @click="handleScreen"
            ></i>
          </div>
        </el-tooltip>
        <!-- 顶部导航用户图片位置 -->
        <img class="top-bar__img" :src="userInfo.avatar" />
        <el-dropdown>
          <span class="el-dropdown-link">
            {{ userInfo.userName }}
            <i class="el-icon-arrow-down el-icon--right"></i>
          </span>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item>
              <router-link to="/">{{ $t("navbar.dashboard") }}</router-link>
            </el-dropdown-item>
            <el-dropdown-item>
              <router-link to="/info/index">{{
                $t("navbar.userinfo")
              }}</router-link>
            </el-dropdown-item>
            <el-dropdown-item @click.native="logout" divided
              >{{ $t("navbar.logOut") }}
            </el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>
      </div>
    </div>
    <div class="top-bar__title">
      <div class="top-bar__item top-bar__item--show" v-if="showMenu">
        <top-menu ref="topMenu"></top-menu>
      </div>
      <!--去除顶部搜索栏-->
      <!--      <span class="top-bar__item"-->
      <!--            v-if="showSearch">-->
      <!--        <top-search></top-search>-->
      <!--      </span>-->
    <!-- //面包屑 -->
    <div id="crumbsL">
      <crumbsL></crumbsL>
    </div>
    <div class="top-bar__right">
      <img
        src="/img/ydlogo.png"
        style="height: 44px; vertical-align: middle"
        alt=""
      />
      <el-tooltip
        v-if="showColor"
        effect="dark"
        :content="$t('navbar.color')"
        placement="bottom"
      >
        <div class="top-bar__item">
          <top-color></top-color>
        </div>
      </el-tooltip>
      <el-tooltip
        v-if="showDebug"
        effect="dark"
        :content="logsFlag ? $t('navbar.bug') : logsLen + $t('navbar.bugs')"
        placement="bottom"
      >
        <div class="top-bar__item">
          <top-logs></top-logs>
        </div>
      </el-tooltip>
      <el-tooltip
        v-if="showLock"
        effect="dark"
        :content="$t('navbar.lock')"
        placement="bottom"
      >
        <div class="top-bar__item">
          <top-lock></top-lock>
        </div>
      </el-tooltip>
      <el-tooltip
        v-if="showTheme"
        effect="dark"
        :content="$t('navbar.theme')"
        placement="bottom"
      >
        <div class="top-bar__item top-bar__item--show">
          <top-theme></top-theme>
        </div>
      </el-tooltip>
      <!--      <el-tooltip effect="dark"-->
      <!--                  :content="$t('navbar.notice')"-->
      <!--                  placement="bottom">-->
      <!--        <div class="top-bar__item top-bar__item&#45;&#45;show">-->
      <!--          <top-notice></top-notice>-->
      <!--        </div>-->
      <!--      </el-tooltip>-->
      <el-tooltip
        effect="dark"
        :content="$t('navbar.language')"
        placement="bottom"
      >
        <div class="top-bar__item top-bar__item--show">
          <top-lang></top-lang>
        </div>
      </el-tooltip>
      <el-tooltip
        v-if="showFullScren"
        effect="dark"
        :content="
          isFullScren ? $t('navbar.screenfullF') : $t('navbar.screenfull')
        "
        placement="bottom"
      >
        <div class="top-bar__item">
          <i
            :class="isFullScren ? 'icon-tuichuquanping' : 'icon-quanping'"
            @click="handleScreen"
          ></i>
        </div>
      </el-tooltip>
      <!-- 顶部导航用户图片位置 -->
      <img class="top-bar__img" :src="userInfo.avatar" />
      <el-dropdown>
        <span class="el-dropdown-link">
          {{ userInfo.userName }}
          <i class="el-icon-arrow-down el-icon--right"></i>
        </span>
        <el-dropdown-menu slot="dropdown">
          <el-dropdown-item>
            <router-link to="/">{{ $t("navbar.dashboard") }}</router-link>
          </el-dropdown-item>
          <el-dropdown-item>
            <router-link to="/info/index">{{
              $t("navbar.userinfo")
            }}</router-link>
          </el-dropdown-item>
          <el-dropdown-item @click.native="logout" divided
            >{{ $t("navbar.logOut") }}
          </el-dropdown-item>
        </el-dropdown-menu>
      </el-dropdown>
    </div>
  </div>
  <!-- //面包屑 -->
  <div id="crumbsL">
    <crumbsL></crumbsL>
  </div>
  </div>
</template>
<script>
@@ -140,7 +140,7 @@
import topLang from "./top-lang";
//面包屑
import crumbsL from '../../crumbsL/crumbsL'
import crumbsL from "../../crumbsL/crumbsL";
export default {
  components: {
@@ -153,7 +153,7 @@
    topNotice,
    topLang,
    //面包屑
    crumbsL
    crumbsL,
  },
  name: "top",
  data() {
@@ -172,7 +172,7 @@
      showFullScren: (state) => state.common.showFullScren,
      showCollapse: (state) => state.common.showCollapse,
      showSearch: (state) => state.common.showSearch,
      showMenu: (state) => state.common.showMenu,
      showMenu: (state) => state.dataL.showdataL,
      showColor: (state) => state.common.showColor,
    }),
    ...mapGetters([
@@ -221,7 +221,7 @@
<style lang="scss" scoped>
//面包屑
#crumbsL{
#crumbsL {
  background-color: #fff;
  padding-left: 20px;
  height: 30px;
src/page/index/top/top-menu.vue
@@ -48,7 +48,7 @@
      dataItem: {
        name: "数据模式",
        source: "el-icon-s-data",
        path: "/wel/index",
        path: "/welcomeData/data",
      },
      mapItem: {
        name: "地图模式",
src/router/views/index.js
@@ -11,7 +11,7 @@
            i18n: 'dashboard'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/supervisoryConsole/data')
            import( /* webpackChunkName: "views" */ '@/views/dataL/homeL')
    }]
},
@@ -416,6 +416,20 @@
            import( /* webpackChunkName: "views" */ '@/views/report/announcementReport')
    }]
},
// {
//     path: '/dataL',
//     redirect: '/dataL/homeL',
//     component: Layout,
//     children: [{
//         path: 'homeL',
//         name: '首页',
//         meta: {
//             i18n: 'report'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/dataL/homeL')
//     }]
// },
src/store/modules/dataL.js
@@ -9,11 +9,15 @@
    state: {
        dataLa: null,
        showdataL: false,
    },
    mutations: {
        SET_DATAL: (state, dataLa) => {
            state.dataLa = dataLa;
        },
        SET_SHOWDATAL: (state, isit) => {
            state.showdataL = isit;
        },
    }
}
export default dataL;
src/views/dataL/homeL.vue
New file
@@ -0,0 +1,145 @@
<template>
  <div id="homeL">
    <div class="homeL-up">
      <span class="h1">物联网安保云服务平台</span>
      <span class="h2">IoT security cloud service platform</span>
    </div>
    <div class="homeL-bar">
      <div class="outS" @click="down1">
        <div class="down1"><span>一键报警</span></div>
      </div>
      <div class="outS" @click="down2">
        <div class="down2"><span>防疫健康码</span></div>
      </div>
      <div class="outS" @click="down3">
        <div class="down3"><span>违禁物品</span></div>
      </div>
      <div class="outS" @click="down4">
        <div class="down4"><span>体温检测</span></div>
      </div>
      <div class="outS" @click="down5">
        <div class="down5"><span>统计分析</span></div>
      </div>
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      a: 1,
    };
  },
  methods: {
    down1() {
      this.$router.push({ path: "/welcomeData/data" });
    },
    down2() {
      this.$router.push({ path: "/healthcode/healthcode" });
    },
    down3() {
      this.$router.push({ path: "/parcel/parcel" });
    },
    down4() {
      this.$router.push({ path: "/animalHeat/animalHeat" });
    },
    down5() {
      this.$router.push({ path: "/home/index" });
    },
  },
  mouted() {},
};
</script>
<style lang="scss">
#homeL {
  width: 100%;
  height: 100%;
  //   border: 1px solid #000;
  .homeL-up {
    width: 100%;
    height: 70%;
    // border: 1px solid rgb(39, 164, 185);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-image: url("../../../public/img/bjkeji.jpg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    -moz-background-size: 100% 100%;
    color: #fff;
    .h1 {
      font-size: 54px;
    }
    .h2 {
      font-size: 28px;
    }
  }
  .homeL-bar {
    width: 100%;
    height: 30%;
    position: relative;
    top: 2.5px;
    // border: 1px solid rgb(51, 22, 180);
    display: flex;
    align-items: center;
    justify-content: center;
    .outS {
      width: 20%;
      height: 100%;
      //   border: 1px solid rgb(180, 22, 75);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .down1,
    .down2,
    .down3,
    .down4,
    .down5 {
      width: 96%;
      height: 96%;
      background-repeat: no-repeat;
      background-size: 100% 100%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 5px;
      &:hover {
        width: 99%;
        height: 99%;
        transition: all 0.3s ease;
      }
      span {
        position: relative;
        top: -30px;
        left: -50px;
        font-weight: 600;
        font-size: 30px;
        color: #fff;
        display: inline-block;
        // border: 1px solid rgb(180, 22, 75);
      }
    }
    .down1 {
      background-image: url("../../../public/img/yijianbaoj.jpg");
    }
    .down2 {
      background-image: url("../../../public/img/fangyi.jpg");
    }
    .down3 {
      background-image: url("../../../public/img/anjian.jpg");
    }
    .down4 {
      background-image: url("../../../public/img/tiwen.jpg");
    }
    .down5 {
      background-image: url("../../../public/img/tongji.jpg");
    }
  }
}
</style>