2020年度总结

分宜一体化

在分宜一体化项目总结(项目以vue2.x为框架,element2.15为组件库,图表为echarts4(已有echarts5版本,当变动不大))

左侧列表树

在这里插入图片描述

<template>
  <div class="chooseMain">
    <div class="drawer-left">
      <div class="drawer-left-title">
        <img
          style="height:14px;width:14px"
          src="@/assets/images/icons/zuocecaidan/icon-lefthtml.svg"
        />
        <span>功能分类列表</span>
      </div>
      <div v-for="(item,index) in favortieList" :key="index" class>
        <div class="recentActionsList" style="cursor: pointer;" @click="jumpUrl(item)">
          <i class="iconfont icon-icon-xingxing on" />
          {{ item.name }}
        </div>
      </div>
    </div>
    <div class="chooseMain-body">
      <div class="flex chooseMain-body-input">
        <el-input v-model="keyWord" placeholder="请输入关键字" @input="handleSearch">
          <i slot="prefix" class="el-input__icon el-icon-search" />
        </el-input>
        <!-- <el-button type="primary" @click="Search">搜索</el-button> -->
      </div>
      <!-- 搜索结果 -->
      <div v-if="isShowSearch" class="gridSearch-tips">
        共找到
        <span>{{ searchMenuItems.length }}</span> 个与
        <span>{{ keyWord }}</span> 相关的产品
      </div>
      <div v-if="isShowSearch" class="grid">
        <div v-for="item in searchCategoryItems" :key="item.id" class="grid-item">
          <div :id="item.id" class="main-con">
            <div class="main-con-default">{{ item.name }}</div>
            <div v-for="subItem in searchMenuItems" :key="subItem.id">
              <div v-if="subItem.parentId === item.id" class="main-con-item">
                <span @click="jumpUrl(subItem)">{{ subItem.name }}</span>
                <i
                  :class="subItem.favorite === 0 ? 'iconfont icon-icon-xingxing' : 'iconfont icon-icon-xingxing on'"
                  @click="setFavorite(subItem)"
                />
              </div>
            </div>
          </div>
        </div>
      </div>
      <!-- 菜单列表-->
      <div v-else class style="height: calc(100vh - 70px);overflow: auto">
        <div class="recentsearch-title">最近访问</div>
        <el-row class="recentsearch">
          <el-col
            v-for="(item,index) in recentSearchList.slice(0,6)"
            :key="index"
            class="recentsearch-main"
            :span="8"
          >
            <a class="recentsearch-item" @click="jumpUrl(item)">{{ item.name }}</a>
          </el-col>
        </el-row>

        <!-- 功能菜单分类 -->
        <div class="grid">
          <div v-for="(item,index) in data" :key="index" class="grid-item">
            <div :id="item.id" class="main-con">
              <div
                v-if="item.id === selectCategory"
                :id="index"
                :href="'#'+index"
                class="main-con-on main-con-default"
              >{{ item.name }}</div>
              <div v-else class="main-con-default">{{ item.name }}</div>
              <div v-for="subItem in item.children" :key="subItem.key">
                <div
                  v-if="item.id === subItem.parentId && subItem.url.split('/').length > 2"
                  :key="item.id"
                  class="main-con-item"
                >
                  <span @click="jumpUrl(subItem)">{{ subItem.name }}</span>
                  <i
                    :class="subItem.favorite === 0 ? 'iconfont icon-icon-xingxing' : 'iconfont icon-icon-xingxing on'"
                    @click="setFavorite(subItem)"
                  />
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div class="right-list">
      <div class="right-list-title" />
      <div v-for="(item,index) in data" :key="index" class="right-list-item">
        <a
          v-if="item.id === selectCategory"
          class="right-list-item-on"
          :href="'#'+item.id"
          rel="skip"
          @click="setSels(item.id,index)"
        >{{ item.name }}</a>
        <a v-else :href="'#'+item.id" rel="skip" @click="setSels(item.id,index)">{{ item.name }}</a>
      </div>
    </div>
  </div>
</template>
<script>
import portalMenuApi from "@/api/portal/portalMenuApi.js";
export default {
  data() {
    return {
      keyWord: "",
      data: [],
      // 搜索菜单分类
      searchCategoryItems: [],
      // 搜索菜单
      searchMenuItems: [],
      categoryList: [
        {
          name: "人事行政",
          id: 1,
        },
        {
          name: "财务管理",
          id: 2,
        },
        {
          name: "设备管理",
          id: 3,
        },
        {
          name: "检修管理",
          id: 4,
        },
        {
          name: "人事行政2",
          id: 5,
        },
        {
          name: "财务管理2",
          id: 6,
        },
        {
          name: "设备管理2",
          id: 7,
        },
        {
          name: "检修管理2",
          id: 8,
        },
      ],
      // 选中分类
      selectCategory: 1,
      recentActionsList: ["请假", "出差", "外出"],
      recentSearchList: [],
      favortieList: [],
      // 菜单
      menuItems: [],
    };
  },
  computed: {
    // 展示搜索表示
    isShowSearch() {
      return this.keyWord.length > 0;
    },
  },
  created() {
    this.getMenuData();
    this.favoriteItems();
    this.getRecentlyVisited();
  },
  methods: {
    pick(id) {
      this.$emit("getmm", id);
    },
    jumpUrl(obj) {
      // portalMenuApi.visitRecord(obj.id).then((e) => {
        this.getRecentlyVisited(); // 重新获取最近使用列表
      // }); // 提交最近访问地址id记录最近到最近访问
      this.$bus.emit('slideSwitch', false)
      this.$router.push(obj.url)
      this.getRecentlyVisited();
    },
    getMenuData() {
      // 获取菜单详情      接口返回数据   {"code":200,"msg":"成功","data":[{"path":"7967001163202146304","level":0,"orderNum":2,"children":[{"path":"7967001163202146304_7967031336572137472_7967031912294887424","level":1,"orderNum":101,"name":"工作指令","icon":"icon-weixiu","id":"7967031912294887424","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-workorder","iconName":"7958227179926016000.png","favorite":1},{"path":"7967001163202146304_7967031336572137472_7967032249386905600","level":1,"orderNum":102,"name":"工作联系","icon":"icon-weixiu","id":"7967032249386905600","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-workconn","iconName":"7958227263686266880.png","favorite":0},{"path":"7967001163202146304_7967031336572137472_7967032648017752064","level":1,"orderNum":103,"name":"工作协作","icon":"icon-weixiu","id":"7967032648017752064","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-workxz","iconName":"7958227284179636224.png","favorite":1},{"path":"7967001163202146304_7967031336572137472_7967033002314805248","level":1,"orderNum":104,"name":"工作计划","icon":"icon-weixiu","id":"7967033002314805248","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-work-plan","iconName":"7958227792239874048.png","favorite":0},{"path":"7967001163202146304_7967031336572137472_7967033537709322240","level":1,"orderNum":105,"name":"请假单","icon":"icon-weixiu","id":"7967033537709322240","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-leave","iconName":"7958227859113857024.png","favorite":0},{"path":"7967001163202146304_7967031336572137472_7967033825522462720","level":1,"orderNum":106,"name":"备忘录","icon":"icon-weixiu","id":"7967033825522462720","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-memo","iconName":"7958227977422589952.png","favorite":0},{"path":"7967001163202146304_7967031336572137472_7967034193761382400","level":1,"orderNum":107,"name":"盖章申请单","icon":"icon-weixiu","id":"7967034193761382400","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-seal","iconName":"7958228043482877952.png","favorite":1},{"path":"7967001163202146304_7967031336572137472_8007445158476423168","level":1,"orderNum":108,"name":"盖章统计","icon":"sys","id":"8007445158476423168","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-seal-statistics","favorite":0},{"path":"7967001163202146304_7967031336572137472_7967034579377303552","level":1,"orderNum":109,"name":"事务申请单","icon":"icon-weixiu","id":"7967034579377303552","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-tranreqfrom","iconName":"7958228143810629632.png","favorite":0},{"path":"7967001163202146304_7967031336572137472_7967034973402804224","level":1,"orderNum":109,"name":"稿件管理","icon":"icon-weixiu","id":"7967034973402804224","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-contribute","iconName":"7958228302963494912.png","favorite":0},{"path":"7967001163202146304_7967031336572137472_7969563559160508416","level":1,"orderNum":110,"name":"我的稿件","icon":"icon-weixiu","id":"7969563559160508416","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-contribute-statistics","iconName":"7958236045141168128.png","favorite":0},{"path":"7967001163202146304_7967031336572137472_7998140539685347328","level":1,"orderNum":111,"name":"稿件统计","icon":"sys","id":"7998140539685347328","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-manuscript-statistics","favorite":0},{"path":"7967001163202146304_7967013340881465344_7967014602087706624","level":1,"orderNum":201,"name":"信息分类","icon":"icon-weixiu","id":"7967014602087706624","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-news-type","iconName":"7958221992691847168.png","favorite":0},{"path":"7967001163202146304_7967013340881465344_7967021475515969536","level":1,"orderNum":202,"name":"信息管理","icon":" icon-weixiu","id":"7967021475515969536","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-news","iconName":"7958222147130314752.png","favorite":0},{"path":"7967001163202146304_7967013340881465344_7975900696065724416","level":1,"orderNum":203,"name":"权限分配","icon":"sys","id":"7975900696065724416","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-news-role","iconName":"7958213473186959360.png","favorite":0},{"path":"7967001163202146304_7967013340881465344_7979547468857147392","level":1,"orderNum":204,"name":"首页新闻分类列表配置","icon":"sys","id":"7979547468857147392","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-news-type-home-config","iconName":"7958213631916199936.png","favorite":0},{"path":"7967001163202146304_7967013340881465344_8009326091081129984","level":1,"orderNum":205,"name":"测点配置","icon":"sys","id":"8009326091081129984","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-news-type-point-codes","favorite":0},{"path":"7967001163202146304_7967024998458699776_7967026015036354560","level":1,"orderNum":301,"name":"会议类型","icon":"icon-weixiu","id":"7967026015036354560","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-meeting-type","iconName":"7958223069097054208.png","favorite":0},{"path":"7967001163202146304_7967024998458699776_7967025565419548672","level":1,"orderNum":302,"name":"会议管理","icon":"icon-weixiu","id":"7967025565419548672","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-meeting","iconName":"7958222981167665152.png","favorite":0},{"path":"7967001163202146304_7967024998458699776_7969564602682372096","level":1,"orderNum":303,"name":"会议通知","icon":"icon-weixiu","id":"7969564602682372096","parentId":"7967001163202146304","url":"/intelligent-administrative12","iconName":"7958236092993982464.png","favorite":0},{"path":"7967001163202146304_7967024998458699776_7969565248781348864","level":1,"orderNum":304,"name":"会议任务管理","icon":"icon-weixiu","id":"7969565248781348864","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-meeting-tasks","iconName":"7958236122647711744.png","favorite":0},{"path":"7967001163202146304_7967024998458699776_7969565556043476992","level":1,"orderNum":305,"name":"会议任务统计","icon":"icon-weixiu","id":"7969565556043476992","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-meeting-tasks-view","iconName":"7958236326348279808.png","favorite":0},{"path":"7967001163202146304_7967024998458699776_7969565837061844992","level":1,"orderNum":306,"name":"会议室预排表","icon":"icon-weixiu","id":"7969565837061844992","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-meeting-room-walkthrough","iconName":"7958236490588835840.png","favorite":0},{"path":"7967001163202146304_7967024998458699776_7967063925475356672","level":1,"orderNum":307,"name":"会议室管理","icon":"icon-weixiu","id":"7967063925475356672","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-meeting-room","iconName":"7958235765376897024.png","favorite":0},{"path":"7967001163202146304_7967024998458699776_7967064204832780288","level":1,"orderNum":308,"name":"会议配置表","icon":"icon-weixiu","id":"7967064204832780288","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-meeting-config","iconName":"7958235893240254464.png","favorite":0},{"path":"7967001163202146304_7967023388533829632_7967023929057980416","level":1,"orderNum":401,"name":"企业标准类型","icon":"icon-weixiu","id":"7967023929057980416","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-enterprise-standard-type","iconName":"7958222699918610432.png","favorite":0},{"path":"7967001163202146304_7967023388533829632_7967024169290936320","level":1,"orderNum":402,"name":"企业标准","icon":"icon-weixiu","id":"7967024169290936320","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-enterprise-standard","iconName":"7958222780935786496.png","favorite":0},{"path":"7967001163202146304_7967022170415673344_7967022640496488448","level":1,"orderNum":501,"name":"合理化建议类型","icon":"icon-weixiu","id":"7967022640496488448","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-suggestion-type","iconName":"7958222363623510016.png","favorite":0},{"path":"7967001163202146304_7967022170415673344_7967022875905994752","level":1,"orderNum":502,"name":"合理化建议","icon":"icon-weixiu","id":"7967022875905994752","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-suggestion","iconName":"7958222508838703104.png","favorite":0},{"path":"7967001163202146304_7967022170415673344_7969566274825547776","level":1,"orderNum":503,"name":"合理化建议统计","icon":"icon-weixiu","id":"7969566274825547776","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-suggestion-statistical","iconName":"7958236533538508800.png","favorite":0},{"path":"7967001163202146304_7967026612745646080_7967030124405698560","level":1,"orderNum":705,"name":"IT服务中心主页","icon":"icon-weixiu","id":"7967030124405698560","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-service","iconName":"7958226189705367552.png","favorite":0},{"path":"7967001163202146304_7967026612745646080_7967030495710654464","level":1,"orderNum":706,"name":"应用系统台账","icon":"icon-weixiu","id":"7967030495710654464","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-application","iconName":"7958226322467672064.png","favorite":0},{"path":"7967001163202146304_7967026612745646080_7967030977476800512","level":1,"orderNum":707,"name":"IT资产台账","icon":"icon-weixiu","id":"7967030977476800512","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-equipment","iconName":"7958226399424761856.png","favorite":0},{"path":"7967001163202146304_7967035410495418368_7967035798875385856","level":1,"orderNum":801,"name":"消息","icon":"icon-weixiu","id":"7967035798875385856","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-email","iconName":"7958228506043305984.png","favorite":0},{"path":"7967001163202146304_7967035410495418368_7967036047601807360","level":1,"orderNum":802,"name":"消息人员表","icon":"icon-weixiu","id":"7967036047601807360","parentId":"7967001163202146304","url":" /intelligent-administrative/ia-email-recuser","iconName":"7958229726749347840.png","favorite":0},{"path":"7967001163202146304_8037884170452115456_8037884404297146368","level":1,"orderNum":901,"name":"短信阿里云模板信息","icon":"sys","id":"8037884404297146368","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-sms-aliyun-model-info","favorite":0},{"path":"7967001163202146304_8034973014406242304_8034973165925474304","level":1,"orderNum":901,"name":"资源下载","id":"8034973165925474304","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-download-resources","favorite":0},{"path":"7967001163202146304_8037884170452115456_8037884583096131584","level":1,"orderNum":902,"name":"群发短信申请","icon":"sys","id":"8037884583096131584","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-sms","favorite":0},{"path":"7967001163202146304_8034973014406242304_8034973304475918336","level":1,"orderNum":902,"name":"资源上传","id":"8034973304475918336","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-uploading-resources","favorite":0},{"path":"7967001163202146304_8037884170452115456_8037884821257101312","level":1,"orderNum":903,"name":"短信","icon":"sys","id":"8037884821257101312","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-sms-info","favorite":0},{"path":"7967001163202146304_7967031336572137472_7982161678614220800","level":1,"orderNum":999,"name":"通讯录配置","icon":"sys","id":"7982161678614220800","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-communication/role","iconName":"7958222508838703104.png","favorite":0},{"path":"7967001163202146304_7967031336572137472_7982138970003820544","level":1,"orderNum":999,"name":"通讯录","icon":"sys","id":"7982138970003820544","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-communication","iconName":"7958222363623510016.png","favorite":0},{"path":"7967001163202146304_7967024998458699776_8019879590702915584","level":1,"orderNum":999,"name":"会议任务数量统计","icon":"sys","id":"8019879590702915584","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-meeting-tasks-view-by-number","favorite":0},{"path":"7967001163202146304_8009445553320009728_8009445864008884224","level":1,"orderNum":999,"name":"未完成超时任务","icon":"icon-weixiu","id":"8009445864008884224","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-production-morning-meeting","favorite":0},{"path":"7967001163202146304_7967026612745646080_7967027219887927296_7967027973625327616","level":1,"orderNum":702,"name":"信息服务事务申请单","icon":"icon-weixiu","id":"7967027973625327616","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-applicationform","iconName":"7958223214249332736.png","favorite":0},{"path":"7967001163202146304_7967026612745646080_7967027219887927296_7967028972335247360","level":1,"orderNum":703,"name":"超三天未处理事务申请单","icon":"icon-weixiu","id":"7967028972335247360","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-applicationform-untreated","iconName":"7958223455652499456.png","favorite":0},{"path":"7967001163202146304_7967026612745646080_7967027219887927296_7967029305329430528","level":1,"orderNum":704,"name":"申请单业务数据统计","icon":"icon-weixiu","id":"7967029305329430528","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-tranreqfrom-statistics","iconName":"7958223652088532992.png","favorite":0},{"path":"7967001163202146304_8009445553320009728_8009446502440673280_8009448079146655744","level":1,"orderNum":999,"name":"厂级未完成工作任务","icon":"icon-weixiu","id":"8009448079146655744","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-factory-level-unfinished","favorite":0},{"path":"7967001163202146304_8009445553320009728_8009446312619057152_8019880764055265280","level":1,"orderNum":999,"name":"安健环不符合项","icon":"icon-weixiu","id":"8019880764055265280","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-production-morning-meeting-nosa","favorite":0},{"path":"7967001163202146304_8009445553320009728_8009446115524517888_8009447298808979456","level":1,"orderNum":999,"name":"超时未消除缺陷","icon":"sys","id":"8009447298808979456","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-defects-unfinished-timeout","favorite":0},{"path":"7967001163202146304_8009445553320009728_8009446805445582848_8019880996407123968","level":1,"orderNum":999,"name":"未完成的工作票","icon":"icon-weixiu","id":"8019880996407123968","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-Incomplete-work-ticket","favorite":0},{"path":"7967001163202146304_8009445553320009728_8009446502440673280_8009447897659121664","level":1,"orderNum":999,"name":"厂级会议工作任务","icon":"icon-weixiu","id":"8009447897659121664","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-factory-level-tasks","favorite":0},{"path":"7967001163202146304_8009445553320009728_8009446115524517888_8009447060325048320","level":1,"orderNum":999,"name":"生产缺陷","icon":"sys","id":"8009447060325048320","parentId":"7967001163202146304","url":"/intelligent-administrative/ia-production-morning-meeting-produce","favorite":0}],"name":"智能行政","icon":"icon-weixiu","id":"7967001163202146304","parentId":"0","url":"/1"},{"path":"7980015478438952960","level":0,"orderNum":3,"children":[{"path":"7980015478438952960_7986138818896048128","level":1,"orderNum":4,"name":"状态检修","id":"7986138818896048128","parentId":"7980015478438952960","url":"/cbm/index","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980019690610688000","level":1,"orderNum":1,"name":"智能柜台账","icon":"icon-weixiu","id":"7980019690610688000","parentId":"7980015478438952960","url":"/intelligent-production/intelligent-cabinet-asset-register","iconName":"7958214362161303552.png","favorite":0},{"path":"7980015478438952960_7980085069254033408_7980085364184907776","level":1,"orderNum":1,"name":"工艺编码","icon":"icon-weixiu","id":"7980085364184907776","parentId":"7980015478438952960","url":"/intelligent-production/fourCode/Technology","iconName":"7958219986279419904.png","favorite":0},{"path":"7980015478438952960_7980085069254033408_7980085505910439936","level":1,"orderNum":2,"name":"设备分类台账","icon":"sys","id":"7980085505910439936","parentId":"7980015478438952960","url":"/intelligent-production/fourCode/Device/classify","iconName":"7958220306594222080.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980017547329732608","level":1,"orderNum":2,"name":"物资主数据","icon":"icon-weixiu","id":"7980017547329732608","parentId":"7980015478438952960","url":"/intelligent-production/material-data","iconName":"7958214179256094720.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980020218384154624","level":1,"orderNum":3,"name":"开锁日志","icon":"sys","id":"7980020218384154624","parentId":"7980015478438952960","url":"/intelligent-production/unlock-log","iconName":"7958214770254499840.png","favorite":0},{"path":"7980015478438952960_7980085069254033408_7980085705567698944","level":1,"orderNum":3,"name":"设备组台账","icon":"sys","id":"7980085705567698944","parentId":"7980015478438952960","url":"/intelligent-production/fourCode/Device/group","iconName":"7958220400143978496.png","favorite":0},{"path":"7980015478438952960_7980085069254033408_7980085861469978624","level":1,"orderNum":4,"name":"设备台账","icon":"sys","id":"7980085861469978624","parentId":"7980015478438952960","url":"/intelligent-production/fourCode/Device/record","iconName":"7958220494054445056.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980020354199912448","level":1,"orderNum":4,"name":"门禁授权日志","icon":"sys","id":"7980020354199912448","parentId":"7980015478438952960","url":"/intelligent-production/door-control-authorization-log","iconName":"7958215042309640192.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980020460009619456","level":1,"orderNum":5,"name":"门禁进出日志","icon":"sys","id":"7980020460009619456","parentId":"7980015478438952960","url":"/intelligent-production/access-log","iconName":"7958215177869545472.png","favorite":0},{"path":"7980015478438952960_7980085069254033408_7980086165687042048","level":1,"orderNum":5,"name":"物资主数据","icon":"sys","id":"7980086165687042048","parentId":"7980015478438952960","url":"/intelligent-production/fourCode/Materials/masterData","iconName":"7958220873009811456.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980020691291930624","level":1,"orderNum":6,"name":"智能柜授权日志","icon":"sys","id":"7980020691291930624","parentId":"7980015478438952960","url":"/intelligent-production/cabinet-authorization-log","iconName":"7958215463925272576.png","favorite":0},{"path":"7980015478438952960_7980085069254033408_7980086322939887616","level":1,"orderNum":6,"name":"物资台账","icon":"sys","id":"7980086322939887616","parentId":"7980015478438952960","url":"/intelligent-production/fourCode/Materials/maParameter","iconName":"7958221035232907264.png","favorite":0},{"path":"7980015478438952960_7980085069254033408_7980086484965851136","level":1,"orderNum":7,"name":"资产台账","icon":"sys","id":"7980086484965851136","parentId":"7980015478438952960","url":"/intelligent-production/fourCode/Assets","iconName":"7958221114299731968.png","favorite":0},{"path":"7980015478438952960_7980085069254033408_7980086687101943808","level":1,"orderNum":8,"name":"我的关注","icon":"sys","id":"7980086687101943808","parentId":"7980015478438952960","url":"/intelligent-production/fourCode/myFocus","iconName":"7958221274505367552.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980025666537586688_7980020806865977344","level":1,"orderNum":7,"name":"入库单","icon":"sys","id":"7980020806865977344","parentId":"7980015478438952960","url":"/intelligent-production/godown-entry","iconName":"7958215794184769536.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980025666537586688_7980020902663880704","level":1,"orderNum":8,"name":"入库操作日志","icon":"sys","id":"7980020902663880704","parentId":"7980015478438952960","url":"/intelligent-production/godown-entry/components/operationLog","iconName":"7958215974443372544.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980025666537586688_7980021060038361088","level":1,"orderNum":9,"name":"入库操作过程视频回放","icon":"sys","id":"7980021060038361088","parentId":"7980015478438952960","url":"/intelligent-production/godown-entry/components/videoSurveillance","iconName":"7958216363079192576.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980026533508612096_7980021163159519232","level":1,"orderNum":10,"name":"出库单","icon":"sys","id":"7980021163159519232","parentId":"7980015478438952960","url":"/intelligent-production/outbound-delivery-order","iconName":"7958216417315737600.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980026533508612096_7980021286027460608","level":1,"orderNum":11,"name":"出库操作日志","icon":"sys","id":"7980021286027460608","parentId":"7980015478438952960","url":"/intelligent-production/outbound-delivery-order/components/operationLog","iconName":"7958216660732170240.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980026533508612096_7980021405367992320","level":1,"orderNum":12,"name":"出库操作过程视频回放","icon":"sys","id":"7980021405367992320","parentId":"7980015478438952960","url":"/intelligent-production/outbound-delivery-order/components/videoSurveillance","iconName":"7958216758321041408.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980027282313510912_7980021508141023232","level":1,"orderNum":13,"name":"领料单","icon":"sys","id":"7980021508141023232","parentId":"7980015478438952960","url":"/intelligent-production/good-taking-form","iconName":"7958216998130372608.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980027282313510912_7980021640240627712","level":1,"orderNum":14,"name":"领料操作日志","icon":"sys","id":"7980021640240627712","parentId":"7980015478438952960","url":"/intelligent-production/good-taking-form/components/operationLog","iconName":"7958217149104345088.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980027813673107456_7980023647923929088","level":1,"orderNum":15,"name":"退料单","icon":"sys","id":"7980023647923929088","parentId":"7980015478438952960","url":"/intelligent-production/good-recieving-form","iconName":"7958218764847763456.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980027813673107456_7980024002170650624","level":1,"orderNum":16,"name":"退料操作日志","icon":"sys","id":"7980024002170650624","parentId":"7980015478438952960","url":"/intelligent-production/good-recieving-form/components/operationLog","iconName":"7958218888953024512.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980027282313510912_7980027588787109888","level":1,"orderNum":16,"name":"领料操作过程视频回放","icon":"sys","id":"7980027588787109888","parentId":"7980015478438952960","url":"/intelligent-production/good-taking-form/components/videoSurveillance","iconName":"7958219481864032256.png","favorite":0},{"path":"7980015478438952960_7980015823143632896_7980027813673107456_7980024092054585344","level":1,"orderNum":17,"name":"退料操作过程视频回放","icon":"sys","id":"7980024092054585344","parentId":"7980015478438952960","url":"/intelligent-production/good-recieving-form/components/videoSurveillance","iconName":"7958218948767993856.png","favorite":0}],"name":"智能生产","icon":"icon-weixiu","id":"7980015478438952960","parentId":"0","url":"/90"},{"path":"8027375434075774976","level":0,"orderNum":6,"children":[{"path":"8027375434075774976_8027432700799918080","level":1,"orderNum":1,"name":"海康人员","id":"8027432700799918080","parentId":"8027375434075774976","url":"/hik/person","favorite":0}],"name":"海康平台","id":"8027375434075774976","parentId":"0","url":"/hik"},{"path":"7997423725000040448","level":0,"orderNum":10,"children":[{"path":"7997423725000040448_7997426016927129600","level":1,"orderNum":101,"name":"DCS1","id":"7997426016927129600","parentId":"7997423725000040448","url":"/sis/dcs1","iconName":"dcs1.png","favorite":0},{"path":"7997423725000040448_8022436169011208192","level":1,"orderNum":102,"name":"DCS2","id":"8022436169011208192","parentId":"7997423725000040448","url":"/sis/dcs2","iconName":"dcs2.png","favorite":0},{"path":"7997423725000040448_8022436655298813952","level":1,"orderNum":103,"name":"辅网","id":"8022436655298813952","parentId":"7997423725000040448","url":"/sis/bop","iconName":"bop.png","favorite":0},{"path":"7997423725000040448_8022436852942807040","level":1,"orderNum":104,"name":"脱硫","id":"8022436852942807040","parentId":"7997423725000040448","url":"/sis/fgd","iconName":"so2.png","favorite":0}],"name":"SIS系统","id":"7997423725000040448","parentId":"0","url":"/10"},{"path":"8045223362411655168","level":0,"orderNum":999,"children":[{"path":"8045223362411655168_8050562801199509504","level":1,"orderNum":999,"name":"字典管理","id":"8050562801199509504","parentId":"8045223362411655168","url":"/sys/dict","favorite":0},{"path":"8045223362411655168_8045485868455587840","level":1,"orderNum":999,"name":"角色管理","id":"8045485868455587840","parentId":"8045223362411655168","url":"/sys/role","favorite":0},{"path":"8045223362411655168_8050581381953646592","level":1,"orderNum":999,"name":"部门管理","id":"8050581381953646592","parentId":"8045223362411655168","url":"/sys/group","favorite":0},{"path":"8045223362411655168_8045223609217085440","level":1,"orderNum":999,"name":"菜单管理","id":"8045223609217085440","parentId":"8045223362411655168","url":"/sys/menu","favorite":0}],"name":"系统管理","id":"8045223362411655168","parentId":"0","url":"/sys"},{"path":"8040871808125136896","level":0,"orderNum":999,"children":[{"path":"8040871808125136896_8040875168547565568","level":1,"orderNum":999,"name":"测试","id":"8040875168547565568","parentId":"8040871808125136896","url":"/ss","favorite":0}],"name":"测试","id":"8040871808125136896","parentId":"0","url":"http://47.115.11.138:9528/dashboard"},{"path":"8022466177363648512","level":0,"orderNum":10000,"children":[{"path":"8022466177363648512_8022322983926800384","level":1,"orderNum":999,"name":"安全大屏","icon":"sys","id":"8022322983926800384","parentId":"8022466177363648512","url":"/bigScreen/safety","favorite":0},{"path":"8022466177363648512_8022323347212247040","level":1,"orderNum":999,"name":"生产大屏","icon":"sys","id":"8022323347212247040","parentId":"8022466177363648512","url":"/bigScreen/produce","favorite":0},{"path":"8022466177363648512_8022437914114301952","level":1,"orderNum":1000,"name":"状态检修大屏","id":"8022437914114301952","parentId":"8022466177363648512","url":"/ztjx","favorite":0}],"name":"大屏","id":"8022466177363648512","parentId":"0","url":"/dp"},{"path":"7967036413336727552","level":0,"orderNum":2,"children":[{"path":"7967036413336727552_7971276536807976960","level":1,"orderNum":999,"name":"项目信息","id":"7971276536807976960","parentId":"7967036413336727552","url":"/intelligent-security/is-project-info","iconName":"7958241433823563776.png","favorite":1},{"path":"7967036413336727552_7967038286445785088_7967054078549798912","level":1,"orderNum":1,"name":"风险发布","icon":"icon-weixiu","id":"7967054078549798912","parentId":"7967036413336727552","url":"/intelligent-security/is-risk-info","iconName":"7958234235751976960.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967043413948870656","level":1,"orderNum":5,"name":"项目开工流程","icon":"icon-weixiu","id":"7967043413948870656","parentId":"7967036413336727552","url":"/intelligent-security/is-project-begin","iconName":"7958231620544712704.png","favorite":1},{"path":"7967036413336727552_7967038149724057600_7967043792795185152","level":1,"orderNum":6,"name":"项目验收流程","icon":"icon-weixiu","id":"7967043792795185152","parentId":"7967036413336727552","url":"/intelligent-security/is-project-finish","iconName":"7958231876288204800.png","favorite":1},{"path":"7967036413336727552_7967037351736750080_7967038892757594112","level":1,"orderNum":101,"name":"项目信息管理","icon":"icon-weixiu","id":"7967038892757594112","parentId":"7967036413336727552","url":"/intelligent-security/is-project-info","iconName":"7958230074297765888.png","favorite":1},{"path":"7967036413336727552_7967037351736750080_7969567609792819200","level":1,"orderNum":103,"name":"施工单位管理","icon":"icon-weixiu","id":"7969567609792819200","parentId":"7967036413336727552","url":"/intelligent-security/is-com-info","iconName":"7958237198243418112.png","favorite":0},{"path":"7967036413336727552_7967037351736750080_7967039820227260416","level":1,"orderNum":105,"name":"技术协议流程","icon":"icon-weixiu","id":"7967039820227260416","parentId":"7967036413336727552","url":"/intelligent-security/is-project-technologyagreement","iconName":"7958230506315272192.png","favorite":0},{"path":"7967036413336727552_7967037351736750080_7969568624340430848","level":1,"orderNum":106,"name":"项目安全措施管理","icon":"icon-weixiu","id":"7969568624340430848","parentId":"7967036413336727552","url":"/intelligent-security/is-project-safetyprecautions","iconName":"7958237245655830528.png","favorite":0},{"path":"7967036413336727552_7967037351736750080_7969569002003951616","level":1,"orderNum":107,"name":"项目到期提醒","icon":"icon-weixiu","id":"7969569002003951616","parentId":"7967036413336727552","url":"/intelligent-security/is-project-timeout","iconName":"7958237332821856256.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_7972021406696800256","level":1,"orderNum":306,"name":"工作票管理","icon":"sys","id":"7972021406696800256","parentId":"7967036413336727552","url":"/intelligent-security/is-com-workticket","iconName":"7958185181457240064.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_8019874543035785216","level":1,"orderNum":307,"name":"缺陷管理","icon":"sys","id":"8019874543035785216","parentId":"7967036413336727552","url":"/intelligent-security/is-defect-management","favorite":0},{"path":"7967036413336727552_7967038286445785088_7967055231459110912","level":1,"orderNum":307,"name":"班组安全活动","icon":"icon-weixiu","id":"7967055231459110912","parentId":"7967036413336727552","url":"/intelligent-security/is-safeactionsign1","iconName":"7958234340953509888.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_8019875215781175296","level":1,"orderNum":308,"name":"动火票","icon":"sys","id":"8019875215781175296","parentId":"7967036413336727552","url":"/intelligent-security/is-when-hot-ticket","favorite":0},{"path":"7967036413336727552_7967038286445785088_8019877597982269440","level":1,"orderNum":308,"name":"工作票","icon":"sys","id":"8019877597982269440","parentId":"7967036413336727552","url":"/intelligent-security/is-work-ticket","favorite":0},{"path":"7967036413336727552_7967038286445785088_8019877876927078400","level":1,"orderNum":309,"name":"操作票","icon":"sys","id":"8019877876927078400","parentId":"7967036413336727552","url":"/intelligent-security/is-operation-ticket","favorite":0},{"path":"7967036413336727552_7967038286445785088_8019878303345188864","level":1,"orderNum":350,"name":"隐患排查管理","icon":"sys","id":"8019878303345188864","parentId":"7967036413336727552","url":"/intelligent-security/is-hidden","favorite":0},{"path":"7967036413336727552_7967038286445785088_8019878469259272192","level":1,"orderNum":351,"name":"隐患排查延期","icon":"sys","id":"8019878469259272192","parentId":"7967036413336727552","url":"/intelligent-security/is-hidden-delay","favorite":0},{"path":"7967036413336727552_7967038374383562752_8031845694426357760","level":1,"orderNum":402,"name":"应急预案提醒","icon":"icon-weixiu","id":"8031845694426357760","parentId":"7967036413336727552","url":"/intelligent-security/is-rehearse-plan-remind","favorite":0},{"path":"7967036413336727552_7967038374383562752_7967058844982030336","level":1,"orderNum":408,"name":"安全事故警戒卡","icon":"icon-weixiu","id":"7967058844982030336","parentId":"7967036413336727552","url":"/intelligent-security/is-security-accident","iconName":"7958234945050726400.png","favorite":0},{"path":"7967036413336727552_7967038374383562752_7967057744849645568","level":1,"orderNum":409,"name":"安全学习记录","icon":"icon-weixiu","id":"7967057744849645568","parentId":"7967036413336727552","url":"/intelligent-security/is-safeactionsign","iconName":"7958234840407035904.png","favorite":0},{"path":"7967036413336727552_7967038374383562752_7969573264880627712","level":1,"orderNum":410,"name":"安全学习记录查询","icon":"icon-weixiu","id":"7969573264880627712","parentId":"7967036413336727552","url":"/intelligent-security/is-safeactionsign-statistics","iconName":"7958237463440871424.png","favorite":0},{"path":"7967036413336727552_7967038374383562752_7969572622787211264","level":1,"orderNum":411,"name":"安全学习记录统计","icon":"icon-weixiu","id":"7969572622787211264","parentId":"7967036413336727552","url":"/intelligent-security/is-safeactionsign-dept","iconName":"7958237397552549888.png","favorite":0},{"path":"7967036413336727552_7967038374383562752_7969573000291348480","level":1,"orderNum":412,"name":"安全学习记录-领导统计","icon":"icon-weixiu","id":"7969573000291348480","parentId":"7967036413336727552","url":"/intelligent-security/is-safeactionsign-leadership","iconName":"7958237431434137600.png","favorite":0},{"path":"7967036413336727552_8019873971872243712_8019881373043040256","level":1,"orderNum":990,"name":"视频告警","icon":"sys","id":"8019881373043040256","parentId":"7967036413336727552","url":"/intelligent-security/is-hik-data","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042649876705280","level":1,"orderNum":3,"name":"安全技术交底","icon":"icon-weixiu","id":"7967042649876705280","parentId":"7967036413336727552","url":"/intelligent-security/is-project-safety-seience-instr","iconName":"7958231453099708416.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967041464218267648_7967044300024950784","level":1,"orderNum":101,"name":"施工人员资质流程管理","icon":"icon-weixiu","id":"7967044300024950784","parentId":"7967036413336727552","url":"/intelligent-security/is-com-usersqualification-list","iconName":"7958231919724417024.png","favorite":0},{"path":"7967036413336727552_7967037351736750080_7967039357792661504","level":1,"orderNum":102,"name":"外包工程资质审核流程","icon":"icon-weixiu","id":"7967039357792661504","parentId":"7967036413336727552","url":"/intelligent-security/is-project-qulification","iconName":"7958230351927136256.png","favorite":0},{"path":"7967036413336727552_7967037351736750080_7967040257378594816","level":1,"orderNum":104,"name":"安全协议流程","icon":"icon-weixiu","id":"7967040257378594816","parentId":"7967036413336727552","url":"/intelligent-security/is-project-securityprotocol","iconName":"7958231299302969344.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967041464218267648_7967045117327028224","level":1,"orderNum":108,"name":"出入证申请流程","icon":"icon-weixiu","id":"7967045117327028224","parentId":"7967036413336727552","url":"/intelligent-security/is-project-intofactory","iconName":"7958232213338279936.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042229901045760_8028920038426714112","level":1,"orderNum":201,"name":"开始培训","id":"8028920038426714112","parentId":"7967036413336727552","url":"/intelligent-security/is-training-record-management","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042229901045760_7967050531171053568","level":1,"orderNum":202,"name":"开始考试","icon":"icon-weixiu","id":"7967050531171053568","parentId":"7967036413336727552","url":"/intelligent-security/is-exam-management","iconName":"7958233727603658752.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042229901045760_8028920350789115904","level":1,"orderNum":203,"name":"培训考试人员管理","id":"8028920350789115904","parentId":"7967036413336727552","url":"/intelligent-security/is-attend-training","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042229901045760_7967050267789733888","level":1,"orderNum":203,"name":"试卷培训","icon":"icon-weixiu","id":"7967050267789733888","parentId":"7967036413336727552","url":"/intelligent-security/is-exam-com-train","iconName":"7958233537807208448.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042229901045760_8028920239287738368","level":1,"orderNum":204,"name":"培训资料管理","id":"8028920239287738368","parentId":"7967036413336727552","url":"/intelligent-security/is-material-for-training","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042229901045760_7967049048216154112","level":1,"orderNum":205,"name":"题库管理","icon":"icon-weixiu","id":"7967049048216154112","parentId":"7967036413336727552","url":"/intelligent-security/is-exam-questions","iconName":"7958233032737509376.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042229901045760_7967049410830512128","level":1,"orderNum":206,"name":"试卷管理","icon":"icon-weixiu","id":"7967049410830512128","parentId":"7967036413336727552","url":"/intelligent-security/is-exam-papers","iconName":"7958233325680283648.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042229901045760_7970123745880756224","level":1,"orderNum":206,"name":"信息发布(资料管理)","icon":"icon-weixiu","id":"7970123745880756224","parentId":"7967036413336727552","url":"/intelligent-security25","iconName":"7958238112115150848.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042229901045760_8038266129630142464","level":1,"orderNum":207,"name":"培训记录","id":"8038266129630142464","parentId":"7967036413336727552","url":"1","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042973484036096_7967051953040109568","level":1,"orderNum":207,"name":"工器具台账","icon":"icon-weixiu","id":"7967051953040109568","parentId":"7967036413336727552","url":"/intelligent-security/is-com-tool","iconName":"7958233923767062528.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042229901045760_7967050877280825344","level":1,"orderNum":208,"name":"成绩管理","icon":"icon-weixiu","id":"7967050877280825344","parentId":"7967036413336727552","url":"/intelligent-security/is-exam-users-score","iconName":"7958233796247638016.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042973484036096_7969577059199021056","level":1,"orderNum":208,"name":"到期工器具提醒","icon":"icon-weixiu","id":"7969577059199021056","parentId":"7967036413336727552","url":"/intelligent-security/is-com-tool-expire","iconName":"7958238018271793152.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042973484036096_7967052558118793216","level":1,"orderNum":209,"name":"工器具检测记录","icon":"icon-weixiu","id":"7967052558118793216","parentId":"7967036413336727552","url":"/intelligent-security/is-com-tool-checkinfo","iconName":"7958234053039706112.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_7967055601895845888_7967056235013451776","level":1,"orderNum":312,"name":"施工单位黑名单","icon":"icon-weixiu","id":"7967056235013451776","parentId":"7967036413336727552","url":"/intelligent-security/is-com-blacklist","iconName":"7958234603999285248.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_7967055601895845888_7967056551033286656","level":1,"orderNum":313,"name":"施工人员黑名单管理","icon":"icon-weixiu","id":"7967056551033286656","parentId":"7967036413336727552","url":"/intelligent-security/is-com-userblacklist","iconName":"7958234681061232640.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174441648869376_7969574759910928384","level":1,"orderNum":314,"name":"按违章人员统计","id":"7969574759910928384","parentId":"7967036413336727552","url":"/intelligent-security/is-project-violation-statistics-workers","iconName":"7958237495720235008.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_7967055601895845888_7969574900516581376","level":1,"orderNum":315,"name":"黑名单信息查询","id":"7969574900516581376","parentId":"7967036413336727552","url":"/intelligent-security19","iconName":"7958237556743163904.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_7970138382105890816_7967053495973556224","level":1,"orderNum":331,"name":"现场违章管理(随手拍)","icon":"icon-weixiu","id":"7967053495973556224","parentId":"7967036413336727552","url":"/intelligent-security/is-bug-recordinfo","iconName":"7958234142349021184.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_7970138382105890816_7969575389157191680","level":1,"orderNum":332,"name":"违章整改查询","icon":"icon-weixiu","id":"7969575389157191680","parentId":"7967036413336727552","url":"/intelligent-security/is-bug-regulation","iconName":"7958237704319750144.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_7970138382105890816_7969575519453245440","level":1,"orderNum":333,"name":"所有违章记录查询","icon":"icon-weixiu","id":"7969575519453245440","parentId":"7967036413336727552","url":"/intelligent-security/is-bug-recordinfo-all","iconName":"7958237762838679552.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_7970138382105890816_7969575809623584768","level":1,"orderNum":334,"name":"违章考核标准","icon":"icon-weixiu","id":"7969575809623584768","parentId":"7967036413336727552","url":"/intelligent-security/is-bug-filestandard","iconName":"7958237814772551680.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_7967054799802314752_7970140855512125440","level":1,"orderNum":342,"name":"二维码签到管理","icon":"icon-weixiu","id":"7970140855512125440","parentId":"7967036413336727552","url":"/intelligent-security/is-project-userleave3","iconName":"7958238555025264640.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_7967054799802314752_7970141525560578048","level":1,"orderNum":345,"name":"重大事项领导拍照签到","icon":"icon-weixiu","id":"7970141525560578048","parentId":"7967036413336727552","url":"/intelligent-security/is-my-pic-sign2","iconName":"7958238591490543616.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_7967054799802314752_7970141748135514112","level":1,"orderNum":346,"name":"重大事项领导拍照签到-按部门","icon":"icon-weixiu","id":"7970141748135514112","parentId":"7967036413336727552","url":"/intelligent-security/is-my-pic-sign-dept","iconName":"7958238643114037248.png","favorite":0},{"path":"7967036413336727552_7967038286445785088_7967054799802314752_7970141879505309696","level":1,"orderNum":347,"name":"重大事项领导拍照签到-按个人","icon":"icon-weixiu","id":"7970141879505309696","parentId":"7967036413336727552","url":"/intelligent-security/is-my-pic-sign-personal","iconName":"7958238691948318720.png","favorite":0},{"path":"7967036413336727552_7967038374383562752_7967057293601255424","level":1,"orderNum":401,"name":"应急预案管理","icon":"icon-weixiu","id":"7967057293601255424","parentId":"7967036413336727552","url":"/intelligent-security/is-rehearse-plan","iconName":"7958234757913464832.png","favorite":0},{"path":"7967036413336727552_7967038374383562752_7967058061628649472_7967060445071257600","level":1,"orderNum":407,"name":"特种设备更新检测记录","icon":"icon-weixiu","id":"7967060445071257600","parentId":"7967036413336727552","url":"/intelligent-security/is-special-equipment-checkrecord","iconName":"7958235327692886016.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970171873287786496_7967062463051575296","level":1,"orderNum":501,"name":"项目资料台账","icon":"icon-weixiu","id":"7967062463051575296","parentId":"7967036413336727552","url":"/intelligent-security/is-project-view","iconName":"7958235366796382208.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970171873287786496_7970177046814969856","level":1,"orderNum":502,"name":"外包工程文件表单统计","icon":"icon-weixiu","id":"7970177046814969856","parentId":"7967036413336727552","url":"/intelligent-security/is-project-qulification-statistics","iconName":"7958239295210868736.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970171873287786496_7970177257738129408","level":1,"orderNum":503,"name":"项目进度表","icon":"icon-weixiu","id":"7970177257738129408","parentId":"7967036413336727552","url":"/intelligent-security/is-project-schedule","iconName":"7958239354509938688.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970171873287786496_7970177542724308992","level":1,"orderNum":504,"name":"项目到期提醒","icon":"icon-weixiu","id":"7970177542724308992","parentId":"7967036413336727552","url":"/intelligent-security/is-project-timeout2","iconName":"7958239561939243008.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970171873287786496_8007445800548868096","level":1,"orderNum":505,"name":"项目资质到期提醒","icon":"icon-weixiu","id":"8007445800548868096","parentId":"7967036413336727552","url":"/intelligent-security/is-project-qualification-reminder","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970173449633058816_7967063000283197440","level":1,"orderNum":521,"name":"人员台账","icon":"icon-weixiu","id":"7967063000283197440","parentId":"7967036413336727552","url":"/intelligent-security/is-com-usersqualification-info","iconName":"7958235674083676160.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970173449633058816_7970178685395324928","level":1,"orderNum":522,"name":"人员资质信息查询(有效人员)","icon":"icon-weixiu","id":"7970178685395324928","parentId":"7967036413336727552","url":"/intelligent-security/is-com-usersqualification-list-search","iconName":"7958239759298023424.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970173449633058816_7970178839863152640","level":1,"orderNum":523,"name":"人员资质信息查询(所有人员)","icon":"icon-weixiu","id":"7970178839863152640","parentId":"7967036413336727552","url":"/intelligent-security/is-com-usersqualification-list-all","iconName":"7958239843104411648.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970173449633058816_7970178963054055424","level":1,"orderNum":524,"name":"人员资质到期提醒","icon":"icon-weixiu","id":"7970178963054055424","parentId":"7967036413336727552","url":"/intelligent-security/is-com-expire","iconName":"7958239894803402752.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970173449633058816_7970179114913026048","level":1,"orderNum":525,"name":"人员超龄提醒","icon":"icon-weixiu","id":"7970179114913026048","parentId":"7967036413336727552","url":"/intelligent-security48","iconName":"7958239934863200256.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174146822852608_7970179510700134400","level":1,"orderNum":531,"name":"工器具台账","icon":"icon-weixiu","id":"7970179510700134400","parentId":"7967036413336727552","url":"/intelligent-security/is-com-tool","iconName":"7958239974902026240.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174146822852608_7970179751881003008","level":1,"orderNum":532,"name":"工器具到期提醒","icon":"icon-weixiu","id":"7970179751881003008","parentId":"7967036413336727552","url":"/intelligent-security/is-com-tool-expire","iconName":"7958240017499377664.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174307028488192_7970180198922506240","level":1,"orderNum":541,"name":"二维码签到统计","icon":"icon-weixiu","id":"7970180198922506240","parentId":"7967036413336727552","url":"/intelligent-security/is-checkin-by-qr-code-division","iconName":"7958240097405063168.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174307028488192_7970180309593411584","level":1,"orderNum":542,"name":"二维码签到统计-按项目","icon":"icon-weixiu","id":"7970180309593411584","parentId":"7967036413336727552","url":"/intelligent-security/is-checkin-by-qr-code-project","iconName":"7958240165281484800.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174307028488192_7971312339219148800","level":1,"orderNum":543,"name":"二维码签到管理","icon":"icon-weixiu","id":"7971312339219148800","parentId":"7967036413336727552","url":"/intelligent-security/is-project-userleave","iconName":"7957207210866630656.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174307028488192_7972392661517627392","level":1,"orderNum":544,"name":"重大事项领导拍照签到管理","icon":"icon-weixiu","id":"7972392661517627392","parentId":"7967036413336727552","url":"/intelligent-security/is-my-pic-sign","iconName":"7958212799904698368.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174307028488192_7970180405622001664","level":1,"orderNum":545,"name":"重大事项领导拍照签到统计","icon":"icon-weixiu","id":"7970180405622001664","parentId":"7967036413336727552","url":"/intelligent-security/is-checkin-by-photo-division","iconName":"7958240207929167872.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174307028488192_7972393276570365952","level":1,"orderNum":546,"name":"拍照签到-按个人","icon":"icon-weixiu","id":"7972393276570365952","parentId":"7967036413336727552","url":"/intelligent-security/is-my-pic-sign-personal","iconName":"7958213166801440768.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174441648869376_7970180622127779840","level":1,"orderNum":551,"name":"项目奖惩统计","icon":"icon-weixiu","id":"7970180622127779840","parentId":"7967036413336727552","url":"/intelligent-security/is-project-violation-statistics","iconName":"7958240444051705856.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174441648869376_7970180739673149440","level":1,"orderNum":552,"name":"承包商奖惩统计","icon":"icon-weixiu","id":"7970180739673149440","parentId":"7967036413336727552","url":"/intelligent-security/is-project-violation-statistics-contractor-true","iconName":"7958240522531328000.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174441648869376_7970180882464034816","level":1,"orderNum":553,"name":"按考核项目统计","icon":"icon-weixiu","id":"7970180882464034816","parentId":"7967036413336727552","url":"/intelligent-security/is-project-violation-statistics-factory","iconName":"7958240584799965184.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174441648869376_7970180993613090816","level":1,"orderNum":554,"name":"按违章现象统计","icon":"icon-weixiu","id":"7970180993613090816","parentId":"7967036413336727552","url":"/intelligent-security/is-project-violation-statistics-contractor","iconName":"7958240617188380672.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174441648869376_7970181100261658624","level":1,"orderNum":555,"name":"违章统计月报表","icon":"icon-weixiu","id":"7970181100261658624","parentId":"7967036413336727552","url":"/intelligent-security/is-project-violation-statistics-month","iconName":"7958240651426484224.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174441648869376_7970181244596047872","level":1,"orderNum":556,"name":"违章统计年报表","icon":"icon-weixiu","id":"7970181244596047872","parentId":"7967036413336727552","url":"/intelligent-security/is-project-violation-statistics-year","iconName":"7958240762202247168.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174441648869376_7970181400703848448","level":1,"orderNum":557,"name":"违章按提交部门统计","icon":"icon-weixiu","id":"7970181400703848448","parentId":"7967036413336727552","url":"/intelligent-security/is-project-violation-statistics-department","iconName":"7958240809153286144.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174441648869376_7970181518878363648","level":1,"orderNum":558,"name":"违章按提交人员统计","icon":"icon-weixiu","id":"7970181518878363648","parentId":"7967036413336727552","url":"/intelligent-security/is-project-violation-statistics-submitter","iconName":"7958240901960650752.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174441648869376_7970181614407831552","level":1,"orderNum":559,"name":"承包商违章统计统计","icon":"icon-weixiu","id":"7970181614407831552","parentId":"7967036413336727552","url":"/intelligent-security/is-project-violation-statistics-contractor-statistical","iconName":"7958240939780689920.png","favorite":0},{"path":"7967036413336727552_7967038477576024064_7970174441648869376_7970181735698714624","level":1,"orderNum":560,"name":"违章明细记录查询","icon":"icon-weixiu","id":"7970181735698714624","parentId":"7967036413336727552","url":"/intelligent-security62","iconName":"7958240973511282688.png","favorite":0},{"path":"7967036413336727552_8019873971872243712_8019882454569492480_8019883183782797312","level":1,"orderNum":999,"name":"门禁进出历史","id":"8019883183782797312","parentId":"7967036413336727552","url":"/intelligent-security/is-history-of-access-control","favorite":0},{"path":"7967036413336727552_8019873971872243712_8019882454569492480_8019883064614232064","level":1,"orderNum":999,"name":"门禁授权历史","id":"8019883064614232064","parentId":"7967036413336727552","url":"/intelligent-security/is-access-control-authorization-history","favorite":0},{"path":"7967036413336727552_8019873971872243712_8019881710030200832_8019883737485451264","level":1,"orderNum":999,"name":"我关注的视频查看","id":"8019883737485451264","parentId":"7967036413336727552","url":"/views/video-modules/emphasis","favorite":0},{"path":"7967036413336727552_8019873971872243712_8019882454569492480_8019882935517749248","level":1,"orderNum":999,"name":"门禁台账","id":"8019882935517749248","parentId":"7967036413336727552","url":"/intelligent-security/is-entrance-guard-parameter","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967041464218267648_7967044689927450624_7967045663349911552","level":1,"orderNum":102,"name":"基本信息","icon":"icon-weixiu","id":"7967045663349911552","parentId":"7967036413336727552","url":"/sys/user2","iconName":"7958232536723312640.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967041464218267648_7967044689927450624_7967046428885889024","level":1,"orderNum":103,"name":"人员资质申请单","icon":"icon-weixiu","id":"7967046428885889024","parentId":"7967036413336727552","url":"/intelligent-security/is-com-usersqualification-list2","iconName":"7958232628322717696.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967041464218267648_7967044689927450624_7967047385610825728","level":1,"orderNum":104,"name":"违章信息","icon":"icon-weixiu","id":"7967047385610825728","parentId":"7967036413336727552","url":"/intelligent-security/is-bug-recordinfo-list","iconName":"7958232677974888448.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967041464218267648_7967044689927450624_8031854553291333632","level":1,"orderNum":106,"name":"人员证件信息到期提醒","icon":"icon-weixiu","id":"8031854553291333632","parentId":"7967036413336727552","url":"/intelligent-security/is-com-user-qualification-remind","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967041464218267648_7967044689927450624_7967048702580338688","level":1,"orderNum":106,"name":"考试成绩","icon":"icon-weixiu","id":"7967048702580338688","parentId":"7967036413336727552","url":"/intelligent-security/is-project-train-results","iconName":"7958232923920486400.png","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967042973484036096_7967051675310075904","level":1,"orderNum":206,"name":"项目工器具报备流程","icon":"icon-weixiu","id":"7967051675310075904","parentId":"7967036413336727552","url":"/intelligent-security/is-com-tool-report","iconName":"7958233861112549376.png","favorite":0},{"path":"7967036413336727552_7967038374383562752_7967058061628649472_7967059587587747840","level":1,"orderNum":404,"name":"特种车辆","icon":"icon-weixiu","id":"7967059587587747840","parentId":"7967036413336727552","url":"/intelligent-security/is-special-equipment-car","iconName":"7958234972095598592.png","favorite":0},{"path":"7967036413336727552_7967038374383562752_7967058061628649472_7967059898696052736","level":1,"orderNum":405,"name":"起重机械管理","icon":"icon-weixiu","id":"7967059898696052736","parentId":"7967036413336727552","url":"/intelligent-security/is-special-equipment-crane","iconName":"7958235035169542144.png","favorite":0},{"path":"7967036413336727552_7967038374383562752_7967058061628649472_7967060138991923200","level":1,"orderNum":406,"name":"电梯","icon":"icon-weixiu","id":"7967060138991923200","parentId":"7967036413336727552","url":"/intelligent-security/is-special-equipment-elevator","iconName":"7958235093164183552.png","favorite":0},{"path":"7967036413336727552_8019873971872243712_8019881710030200832_8019883558325755904","level":1,"orderNum":999,"name":"视频实时查看","id":"8019883558325755904","parentId":"7967036413336727552","url":"/views/video-modules/view","favorite":0},{"path":"7967036413336727552_8019873971872243712_8019881710030200832_8019884146287484928","level":1,"orderNum":999,"name":"视频授权管理","id":"8019884146287484928","parentId":"7967036413336727552","url":"/video-modules/config/ment-role","favorite":0},{"path":"7967036413336727552_8019873971872243712_8019881710030200832_8019883936438067200","level":1,"orderNum":999,"name":"历史视频查看","id":"8019883936438067200","parentId":"7967036413336727552","url":"/views/video-modules/history","favorite":0},{"path":"7967036413336727552_8019873971872243712_8019881710030200832_8019883438729371648","level":1,"orderNum":999,"name":"视频设备台帐","id":"8019883438729371648","parentId":"7967036413336727552","url":"/views/video-modules/ledger","favorite":0},{"path":"7967036413336727552_8019873971872243712_8019881710030200832_8019884272456343552","level":1,"orderNum":999,"name":"视频授权历史","id":"8019884272456343552","parentId":"7967036413336727552","url":"/video-modules/config/history","favorite":0},{"path":"7967036413336727552_7967038149724057600_7967041464218267648_7967044689927450624_7967047844203442176","level":1,"orderNum":105,"name":"人员证件信息","icon":"icon-weixiu","id":"7967047844203442176","parentId":"7967036413336727552","url":"/intelligent-security/is-com-user-qualification","iconName":"7958232787148427264.png","favorite":0}],"name":"智能安全","icon":"icon-weixiu","id":"7967036413336727552","parentId":"0","url":"/intelligent-security1"},{"path":"7980358669928824832","level":0,"orderNum":4,"children":[{"path":"7980358669928824832_7980359080395997184","level":1,"orderNum":2,"name":"任务调度管理","icon":"sys","id":"7980359080395997184","parentId":"1","url":"/sys/job","iconName":"7958221904531771392.png","favorite":1},{"path":"7980358669928824832_7986071644676882432","level":1,"orderNum":11,"name":"修改密码","icon":"sys","id":"7986071644676882432","parentId":"1","url":"/sys/userPassUpdate","iconName":"7958222638929235968.png","favorite":0},{"path":"7980358669928824832_8019881501736869888","level":1,"orderNum":991,"name":"用户登录日志","icon":"sys","id":"8019881501736869888","parentId":"1","url":"/intelligent-security/is-user-login-log","favorite":0}],"name":"系统管理","icon":"sys","id":"1","parentId":"0","url":"/system-management"}]}
      portalMenuApi.getPortalMenu().then((response) => {
        this.data = response.data
        // 把每个菜单下的每个按钮提取出来
        const list = []
        response.data.forEach((e) => {
          e.children.forEach((t) => {
            console.log(JSON.stringify(t),'4444');
            list.push(t)
          })
        })
        this.menuItems = list
      })
    },
    // 设置喜爱
    setFavorite(obj) {
      if (obj.favorite === 0) {
        obj.favorite = 1;
        portalMenuApi.addFavoriteMenu(obj.id).then((response) => {
          this.favoriteItems();
        });
      } else {
        obj.favorite = 0;
        portalMenuApi.delFavoriteMenu(obj.id).then((response) => {
          this.favoriteItems();
        });
      }
    },
    handleSearch() {
      this.searchMenuItems = [];
      this.searchCategoryItems = [];
      if (this.keyWord) {
        this.searchMenuItems = this.menuItems.filter(
          (i) => i.name.indexOf(this.keyWord) !== -1
        );
        this.data.forEach((item) => {
          this.searchMenuItems.forEach((subItem) => {
            if (item.id === subItem.parentId) {
              if (this.searchCategoryItems.length === 0) {
                this.searchCategoryItems.push(item);
              } else {
                if (!this.searchCategoryItems.includes(item)) {
                  this.searchCategoryItems.push(item);
                }
              }
            }
          });
        });
      }
    },
    // 设置选中分类
    setSels(id, index) {
      this.selectCategory = id;
      // document.querySelector('#' + index).scrollIntoView(true)
      // this.$el.querySelector('#' + index).scrollIntoView()
    },
    // 喜爱的菜单
    // 接口返回数据    {"code":200,"msg":"成功","data":[{"id":"7967037351736750080","name":"项目启动","url":"/intelligent-security2","favorite":1,"level":1,"parentId":"7967036413336727552","icon":"icon-weixiu","orderNum":1,"iconName":"7958229790163030016.png","showFlag":1},{"id":"7980359080395997184","name":"任务调度管理","url":"/sys/job","favorite":1,"level":1,"parentId":"1","icon":"sys","orderNum":2,"iconName":"7958221904531771392.png","showFlag":1},{"id":"7967043413948870656","name":"项目开工流程","url":"/intelligent-security/is-project-begin","favorite":1,"level":2,"parentId":"7967038149724057600","icon":"icon-weixiu","orderNum":5,"iconName":"7958231620544712704.png","showFlag":1},{"id":"7967043792795185152","name":"项目验收流程","url":"/intelligent-security/is-project-finish","favorite":1,"level":2,"parentId":"7967038149724057600","icon":"icon-weixiu","orderNum":6,"iconName":"7958231876288204800.png","showFlag":1},{"id":"7967035410495418368","name":"站内消息","url":"/intelligent-administrative/ia-email","favorite":1,"level":1,"parentId":"7967001163202146304","icon":"icon-weixiu","orderNum":7,"iconName":"7958228390792220672.png","showFlag":1},{"id":"7980359870380572672","name":"数字字典","url":"/sys/dict","favorite":1,"level":2,"parentId":"7980358669928824832","icon":"sys","orderNum":9,"iconName":"7958222225064677376.png","showFlag":1},{"id":"7967031912294887424","name":"工作指令","url":"/intelligent-administrative/ia-workorder","favorite":1,"level":2,"parentId":"7967031336572137472","icon":"icon-weixiu","orderNum":101,"iconName":"7958227179926016000.png","showFlag":1},{"id":"7967038892757594112","name":"项目信息管理","url":"/intelligent-security/is-project-info","favorite":1,"level":2,"parentId":"7967037351736750080","icon":"icon-weixiu","orderNum":101,"iconName":"7958230074297765888.png","showFlag":1},{"id":"7967032648017752064","name":"工作协作","url":"/intelligent-administrative/ia-workxz","favorite":1,"level":2,"parentId":"7967031336572137472","icon":"icon-weixiu","orderNum":103,"iconName":"7958227284179636224.png","showFlag":1},{"id":"7967034193761382400","name":"盖章申请单","url":"/intelligent-administrative/ia-seal","favorite":1,"level":2,"parentId":"7967031336572137472","icon":"icon-weixiu","orderNum":107,"iconName":"7958228043482877952.png","showFlag":1}]}
    favoriteItems() {
      this.listLoading = true;
      portalMenuApi.getFavoriteMenu().then((response) => {
        this.favortieList = response.data;
        // console.log("类型列表", response);
        setTimeout(() => {
          this.listLoading = false;
        });
      });
    },
    getRecentlyVisited() {
    //接口返回数据 {"code":200,"msg":"成功","data":[{"id":"7967031912294887424","name":"工作指令","url":"/intelligent-administrative/ia-workorder","favorite":null,"level":2,"parentId":"7967031336572137472","icon":"icon-weixiu","orderNum":101,"iconName":"7958227179926016000.png","showFlag":1},{"id":"7980019690610688000","name":"智能柜台账","url":"/intelligent-production/intelligent-cabinet-asset-register","favorite":null,"level":2,"parentId":"7980015823143632896","icon":"icon-weixiu","orderNum":1,"iconName":"7958214362161303552.png","showFlag":1},{"id":"7980017547329732608","name":"物资主数据","url":"/intelligent-production/material-data","favorite":null,"level":2,"parentId":"7980015823143632896","icon":"icon-weixiu","orderNum":2,"iconName":"7958214179256094720.png","showFlag":1},{"id":"7967044300024950784","name":"施工人员资质流程管理","url":"/intelligent-security/is-com-usersqualification-list","favorite":null,"level":3,"parentId":"7967041464218267648","icon":"icon-weixiu","orderNum":101,"iconName":"7958231919724417024.png","showFlag":1},{"id":"7969568624340430848","name":"项目安全措施管理","url":"/intelligent-security/is-project-safetyprecautions","favorite":null,"level":2,"parentId":"7967037351736750080","icon":"icon-weixiu","orderNum":106,"iconName":"7958237245655830528.png","showFlag":1},{"id":"7967039820227260416","name":"技术协议流程","url":"/intelligent-security/is-project-technologyagreement","favorite":null,"level":2,"parentId":"7967037351736750080","icon":"icon-weixiu","orderNum":105,"iconName":"7958230506315272192.png","showFlag":1},{"id":"7967040257378594816","name":"安全协议流程","url":"/intelligent-security/is-project-securityprotocol","favorite":null,"level":3,"parentId":"7967037351736750080","icon":"icon-weixiu","orderNum":104,"iconName":"7958231299302969344.png","showFlag":1},{"id":"7969567609792819200","name":"施工单位管理","url":"/intelligent-security/is-com-info","favorite":null,"level":2,"parentId":"7967037351736750080","icon":"icon-weixiu","orderNum":103,"iconName":"7958237198243418112.png","showFlag":1},{"id":"7967039357792661504","name":"外包工程资质审核流程","url":"/intelligent-security/is-project-qulification","favorite":null,"level":3,"parentId":"7967037351736750080","icon":"icon-weixiu","orderNum":102,"iconName":"7958230351927136256.png","showFlag":1},{"id":"7967038892757594112","name":"项目信息管理","url":"/intelligent-security/is-project-info","favorite":null,"level":2,"parentId":"7967037351736750080","icon":"icon-weixiu","orderNum":101,"iconName":"7958230074297765888.png","showFlag":1}]}
      this.listLoading = true;
      portalMenuApi.getRecentlyVisited(10).then((response) => {
        this.recentSearchList = response.data;
        setTimeout(() => {
          this.listLoading = false;
        });
      });
    },
  },
};
</script>

css样式

//功能分类列表 star----
.chooseMain {
    position: absolute;
    min-height: 100%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    background-color: #233045;
  }
  .chooseMain-body {
    flex-grow: 1;
  }
  .right-list {
    display: flex;
    align-items: center;
    flex-direction: column;
    position: sticky;
    top: 0;
    left: 0;
    width: 13.75rem;
    border-left: 0.0625rem solid;
    color: rgba(255, 255, 255, 0.05);
  }
  .right-list-item {
    height: 2.75rem;
    width: 100%;
    display: flex;
    align-items: center;
    text-indent: 1rem;
  }
  .right-list-item a {
    color: rgba(255, 255, 255, 0.8);
  }
  .main-con {
    width: 100%;
    font-weight: 600;
    color: #23a0ff;
    font-family: "微软雅黑";
    margin-bottom: 2.375rem;
  }
  .main-con-on {
    background-color: #23a0ff;
    color: rgba(255, 255, 255, 0.8);
    border-radius: 5px;
  }
  .main-con-item {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.875rem;
    padding-left: 0.8125rem;
    padding-right: 0.8125rem;
    line-height: 2.375rem;
    font-weight: normal;
    display: flex;
    justify-content: space-between;
    cursor: pointer;
  }
  .main-con-item:hover {
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 0.3125rem;
  }
  .main-con-item i {
    display: none;
  }
  .main-con-item i.on {
    display: block;
    color: #ffad00;
  }
  .main-con-item:hover i {
    display: block;
  }
  .main-con-default {
    height: 2.1875rem;
    display: flex;
   align-items: center;
    padding-left: 0.8125rem;
    margin-bottom: 0.5rem;
  }
  .choose {
    height: 200px;
    display: flex;
  }
  .flex {
    display: flex;
  }
  .grid {
    margin-top: 1rem;
    column-count: 3;
    margin-left: 1.108rem;
    margin-right: 1.108rem;
  }
  .gridSearch-tips {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.875rem;
    margin: 2rem 2rem 1rem;
    width: 100%;
  }
  .gridSearch-tips span {
    color: #23a0ff;
  }
  .grid-item {
    break-inside: avoid;
  }
  .right-list-item-on {
    color: #23a0ff !important;
    border-left: 3px solid #23a0ff;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
  }
  .drawer-left {
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    left: 0;
    width: 13.75rem;
    border-right: 0.0625rem solid;
   border-color: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.8);
  
    background-color: rgba(255, 255, 255, 0.02);
  }
  .drawer-left-title {
    width: 100%;
    height: 4.1875rem;
    display: flex;
    align-items: center;
    border-bottom: 0.0625rem solid;
    border-color: rgba(255, 255, 255, 0.05);
  }
  .drawer-left-title img {
    margin-left: 1rem;
  }
  .drawer-left-title span {
    margin-left: 0.5rem;
  }
  .recentActionsList {
    height: 2.75rem;
    width: 100%;
    display: flex;
   align-items: center;
    text-indent: 1rem;
    font-size: 0.875rem;
  }
  .recentActionsList i {
    margin-right: 0.5rem;
    font-size: 0.875rem;
  }
  .chooseMain-body-input {
    padding-left: 2.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    // position: fixed;
    // z-index: 99999;
    .el-input--mini{
      font-size: 1rem;
    }
    .el-input__inner{
      &:focus,&:hover {
        border: 0;
      }
    }
    
  }
  
  .flex .el-input__inner {
    font-family: "微软雅黑";
    font-size: 1rem;
    background-color: transparent;
    border: none;
    color: #fff;
   height: 4.1875rem;
   /* margin-left: 5rem; */
  }
  .right-list-title {
    height: 4.1875rem;
    text-align: left;
  }
  .recentsearch {
    padding: 1rem;
  }
  .recentsearch-main {
    display: flex;
    padding: 0.5rem 1rem;
    color: rgba(255, 255, 255, 0.8);
  }
  .recentsearch-title {
    padding: 1.5rem 2rem 0;
    color: rgba(255, 255, 255, 0.6);
  }
  .recentsearch-item{
    cursor: pointer;
  }

良田高拍仪

vue项目如何集成良田高拍仪

海康摄像头

vue项目集成海康监控摄像头

操作列样式

在这里插入图片描述

鼠标悬浮
在这里插入图片描述

			<el-dropdown trigger="click" placement="bottom">
                <span class="el-dropdown-link">
                  <i class="el-icon-more iconfont-choose" />
                </span>
                <el-dropdown-menu slot="dropdown">
                  <el-dropdown-item>
                    <vcom-perms>
                      <a @click="handleUpdate(scope.row)">修改</a>
                    </vcom-perms>
                  </el-dropdown-item>
                  <el-dropdown-item>
                    <vcom-perms>
                      <a @click="handleDel(scope.row)">删除</a>
                    </vcom-perms>
                  </el-dropdown-item>
                </el-dropdown-menu>
              </el-dropdown>
// 图标悬浮按钮背景色
.iconfont-choose {
  height: 21px;
  width: 21px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.iconfont-choose:hover {
  // background: rgba($color: #1890FF, $alpha: 0.2);
  color: rgba(255, 255, 255, 0.85);
  border-radius: 50px;
  cursor: pointer;
}

超过年龄报红(根据身份证)

具体要求:性别为女,并且大过50岁
性别为男,并且大过55岁,精确到天数,(例如一个男的明天55岁生日,但是今天还是54岁,依旧不报红)
在这里插入图片描述

<span
  v-if="ageLimited(scope.row.cardNo)"
  style="color: red"
  >{{ scope.row.age2 }}</span
>
<span v-else>{{ scope.row.age2 }}</span>

判断方法

ageLimited(cardNo) {
      var sex = 1; //性别男为1,女为2
      if (parseInt(cardNo.substr(16, 1)) % 2 == 1) {
        sex = 1;
      } else {
        sex = 2;
      }
      var agetime =
        cardNo.substring(6, 10) +
        "-" +
        cardNo.substring(10, 12) +
        "-" +
        cardNo.substring(12, 14);
      var time1 = Date.parse(agetime); //身份证时间戳
      var timestamp = Date.parse(new Date()); //今天时间戳
      if (sex === 2 && timestamp - time1 > 1609430400000) {
        //性别为女,并且大过50岁
        return true;
      } else if (sex === 1 && timestamp - time1 > 1767196800000) {
        //性别为男,并且大过55岁
        return true;
      } else {
        return false;
      }
    }

会议预排表

在这里插入图片描述

<template>
  <!-- 项目进度表 -->
  <section>
    <div class="app-func-bar">
      <div class="app-form-group">
        <div class>
          <el-date-picker
            v-model.trim="listQuery.startTime"
            placeholder="开始日期"
            clearable
            value-format="yyyy-MM-dd"
            type="date"
            class="filter-item"
          />
        </div>
      </div>
      <div class="app-btn-group">
        <el-button
          v-waves
          size="mini"
          class="filter-item"
          type="primary"
          @click="handleFilter"
        >{{ $t('btn.search') }}</el-button>
        <el-button v-waves class="filter-item" size="mini" @click="handleRest">{{ $t('btn.reset') }}</el-button>
      </div>
    </div>
    <el-container class="app-container-h col">
      <div class="content">
        <!-- <div style="color:#fff">{{dateList}}</div>
        <el-divider></el-divider>
        <div style="color:#fff">{{list}}</div> -->
        <!-- 注释了一个bored属性,并且给了一个45px的行高 -->
        <el-table
          v-loading="listLoading"
          :data="list"
          class="app-table"
          size="mini"
          :span-method="objectSpanMethod"
          highlight-current-row
          @selection-change="selsChange"
        >
          <template slot="empty">
            <img src="@/assets/images/icon-noData2.png" alt style="margin-top:104px">
            <p style="margin-bottom:104px">暂无数据</p>
          </template>
          <el-table-column
            show-overflow-tooltip
            prop="pname"
            label="会议室"
            header-align="left"
            align="left"
            style="height:190px"
          >
            <template slot-scope="scope">
              <a class="bianTwo skinColor" @click="handleView(scope.row)">{{ scope.row.roomName }}</a>
            </template>
          </el-table-column>
          <el-table-column
            show-overflow-tooltip
            prop="pname"
            label="时间"
            header-align="left"
            align="left"
            style="height:50px"
          >
            <template slot-scope="scope">
              <a v-if="scope.$index%2 ===0">上午</a>
              <a v-else>下午</a>
            </template>
          </el-table-column>
          <el-table-column :label="dateList[0].week">
            <el-table-column
              show-overflow-tooltip
              :label="dateList[0].date"
              header-align="left"
              align="left"
              width="200"
            >
              <template slot-scope="scope">
                <div class="">
                  <el-card v-for="(item,index) in scope.row.AM" v-if="scope.$index%2 ===0 && isSameDay(item.meetingStartTime,dateList[0].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                  <el-card v-for="(item,index) in scope.row.PM" v-if="scope.$index%2 ===1 && isSameDay(item.meetingStartTime,dateList[0].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                </div>
              </template>
            </el-table-column>
          </el-table-column>
          <el-table-column :label="dateList[1].week">
            <el-table-column
              prop="fwStatus"
              :label="dateList[1].date"
              header-align="left"
              align="left"
              width="200"
            >
              <template slot-scope="scope">
                <div class="">
                  <el-card v-for="(item,index) in scope.row.AM" v-if="scope.$index%2 ===0 && isSameDay(item.meetingStartTime,dateList[1].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                  <el-card v-for="(item,index) in scope.row.PM" v-if="scope.$index%2 ===1 && isSameDay(item.meetingStartTime,dateList[1].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                </div>
              </template>
            </el-table-column>
          </el-table-column>
          <el-table-column :label="dateList[2].week">
            <el-table-column :label="dateList[2].date" header-align="left" width="200" align="left">
              <template slot-scope="scope">
                <div class="">
                  <el-card v-for="(item,index) in scope.row.AM" v-if="scope.$index%2 ===0 && isSameDay(item.meetingStartTime,dateList[2].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                  <el-card v-for="(item,index) in scope.row.PM" v-if="scope.$index%2 ===1 && isSameDay(item.meetingStartTime,dateList[2].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                </div>
              </template>
            </el-table-column>
          </el-table-column>
          <el-table-column :label="dateList[3].week">
            <el-table-column :label="dateList[3].date" header-align="left" width="200" align="left">
              <template slot-scope="scope">
                <div class="">
                  <el-card v-for="(item,index) in scope.row.AM" v-if="scope.$index%2 ===0 && isSameDay(item.meetingStartTime,dateList[3].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                  <el-card v-for="(item,index) in scope.row.PM" v-if="scope.$index%2 ===1 && isSameDay(item.meetingStartTime,dateList[3].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                </div>
              </template>
            </el-table-column>
          </el-table-column>
          <el-table-column :label="dateList[4].week">
            <el-table-column :label="dateList[4].date" header-align="left" width="200" align="left">
              <template slot-scope="scope">
                <div class="">
                  <el-card v-for="(item,index) in scope.row.AM" v-if="scope.$index%2 ===0 && isSameDay(item.meetingStartTime,dateList[4].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                  <el-card v-for="(item,index) in scope.row.PM" v-if="scope.$index%2 ===1 && isSameDay(item.meetingStartTime,dateList[4].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                </div>
              </template>
            </el-table-column>
          </el-table-column>
          <el-table-column :label="dateList[5].week">
            <el-table-column :label="dateList[5].date" header-align="left" width="200" align="left">
              <template slot-scope="scope">
                <div class="">
                  <el-card v-for="(item,index) in scope.row.AM" v-if="scope.$index%2 ===0 && isSameDay(item.meetingStartTime,dateList[5].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                  <el-card v-for="(item,index) in scope.row.PM" v-if="scope.$index%2 ===1 && isSameDay(item.meetingStartTime,dateList[5].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                </div>
              </template>
            </el-table-column>
          </el-table-column>
          <el-table-column :label="dateList[6].week">
            <el-table-column :label="dateList[6].date" header-align="left" width="200" align="left">
              <template slot-scope="scope">
                <div class="">
                  <el-card v-for="(item,index) in scope.row.AM" v-if="scope.$index%2 ===0 && isSameDay(item.meetingStartTime,dateList[6].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                  <el-card v-for="(item,index) in scope.row.PM" v-if="scope.$index%2 ===1 && isSameDay(item.meetingStartTime,dateList[6].date)" :key="index" class="card" body-style="padding:5px">
                    <div>
                      {{ item.meetingStartTime | parseTime('{h}:{i}') }}~
                      {{ item.meetingEndTime | parseTime('{h}:{i}') }}
                    </div>
                    <div>
                      {{ item.meetingName }}
                    </div>
                  </el-card>
                </div>
              </template>
            </el-table-column>
          </el-table-column>
        </el-table>
      </div>
    </el-container>
  </section>
</template>

<script>
let vm = {}
export default {
  name: 'IsProjectInfoIndex',
  components: {},
  // 过滤器filters获取data中的数据
  filters: {
    contractorFilter(value) {
      if (!value) return ''
      const result = vm.contractorList.find(item => item.value === value)
      if (result) {
        return result.label
      } else {
        return value
      }
    }
  },
  data() {
    vm = this
    return {
      name: 'isProjectInfo',
      list: [],
      meetingList: [],
      contractorList: [],
      listLoading: true,
      listQuery: {
        startTime: undefined,
        pageNum: 1,
        pageSize: 13
      },
      sels: [],
      textMap: {
        view: '查看',
        update: '修改',
        create: '新增'
      },

      dialogFormVisible: false,
      dialogStatus: null,
      title: undefined,
      formId: undefined,
      data: [],
      filterText: '',
      searchSwitch: false,
      props: {
        label: 'label',
        children: 'children',
        isLeaf: 'leaf'
      },
      dateList: []
    }
  },
  watch: {
    dialogStatus: {
      handler() {
        this.title = this.textMap[this.dialogStatus]
      }
    }
  },
  created() {
    // this.getContractorList()
    this.getList()
    this.getDate(7, new Date())
  },
  methods: {
    // 两行合并
    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
      if (columnIndex === 0) {
        if (rowIndex % 2 === 0) {
          return [2, 1]
        } else {
          return {
            rowspan: 0,
            colspan: 0
          }
        }
      }
    },
    // 获取后7天表格日期和星期几
    getDate(aa, date1) {
      var date2 = new Date(date1)
      const list = []
      for (let index = 0; index < aa; index++) {
        date2.setDate(date1.getDate() + index)
        var time2 = date2.getFullYear() + '-' + (date2.getMonth() + 1) + '-' + date2.getDate()
        const json = {}
        this.$set(json, 'date', time2)
        this.$set(json, 'week', '星期' + '日一二三四五六'.charAt(date2.getDay()))
        // console.log(json, 'json')

        list.push(json)
      }
      this.$set(this, 'dateList', list)
    },
    // 表格选择
    selsChange(row) {
      this.sels = row
    },
    // 重置按钮方法
    handleRest() {
      this.$set(this, 'listQuery', {
        startTime: undefined,
        pageNum: 1,
        pageSize: 13
      })
      this.getList()
    },
    // 获取承包商数据
    async getContractorList() {
      this.$baseApi.setName('isComInfo')
      const res = await this.$baseApi.callGetMethod('getCominfoAll')
      this.contractorList = res.data
    },
    isSameDay(timeStampA, timeStampB) { // 判断是否同一天
      const dateA = new Date(timeStampA)
      const dateB = new Date(timeStampB)
      // console.log(dateA, dateB)
      // console.log((dateA.setHours(0, 0, 0, 0) === dateB.setHours(0, 0, 0, 0)), 555555555555555555)

      return (dateA.setHours(0, 0, 0, 0) === dateB.setHours(0, 0, 0, 0))
    },
    // 获取列表
    async getList() {
      this.listLoading = true
      let roomList = []
      try {
        this.$baseApi.setName('iaMeetingRoom')
        const res = await this.$baseApi.fetchList()
        // 接受数据  {"code":200,"msg":"成功","data":{"total":"1","list":[{"id":"7990149477506772992","roomType":1,"planShow":1,"address":"会议大厅","userCount":30,"remark":"会议大厅","recordSta":1,"createBy":"admin","createTime":"2020-09-04T09:05:29.000+0000","lastUpdateBy":"admin","lastUpdateTime":"2020-11-03T06:47:27.000+0000","orderNum":9,"roomName":"会议大厅"}],"pageNum":1,"pageSize":10,"size":1,"startRow":1,"endRow":1,"pages":1,"prePage":0,"nextPage":0,"isFirstPage":true,"isLastPage":true,"hasPreviousPage":false,"hasNextPage":false,"navigatePages":8,"navigatepageNums":[1],"navigateFirstPage":1,"navigateLastPage":1}}
        roomList = res.data.list
        setTimeout(() => {
          this.listLoading = false
        }, 200)
      } catch (error) {
        this.listLoading = false
      }
      try {
        this.$baseApi.setName('iaMeeting')
        const res = await this.$baseApi.callGetMethod('getInfoByTime', this.listQuery)
        // 接受数据 {"code":200,"msg":"成功","data":[{"meetingName":"cs","meetingStartTime":"2021-02-19T00:00:00.000+0000","meetingEndTime":"2021-02-19T01:00:00.000+0000","roomName":"会议大厅"}]}
        if (res.msg === '成功') {
          if (this.listQuery.startTime) this.getDate(7, new Date(this.listQuery.startTime))
          else this.getDate(7, new Date())
          const list = []
          for (const t in roomList) {
            const tasksList = res.data.filter(i => { return roomList[t].roomName === i.roomName })
            const AM = tasksList.filter(i => { return new Date(i.meetingStartTime).getHours() < 12 })
            const PM = tasksList.filter(i => { return new Date(i.meetingStartTime).getHours() > 12 })
            this.$set(roomList[t], 'AM', AM)
            this.$set(roomList[t], 'PM', PM)
            list.push(roomList[t])
            list.push(roomList[t])
          }
          this.list = list
        }
        setTimeout(() => {
          this.listLoading = false
        }, 200)
      } catch (error) {
        this.listLoading = false
      }
    },
    // 搜索
    handleFilter() {
      this.$set(this.listQuery, 'pageNum', 1)
      this.getList()
    },
    // 改变页数方法
    handleSizeChange(val) {
      this.$set(this.listQuery, 'pageSize', val)
      this.getList()
    },
    // 选择页方法
    handleCurrentChange(val) {
      this.$set(this.listQuery, 'pageNum', val)
      this.getList()
    },
    // 修改表单
    handleUpdate(row) {
      this.formId = row.id
      this.$set(this, 'dialogStatus', 'update')
      this.dialogFormVisible = true
    },
    // 查看表单
    handleView(row) {
      this.formId = row.id
      this.$set(this, 'dialogStatus', 'view')
      this.dialogFormVisible = true
    },
    // 创建表单
    handleCreate() {
      this.formId = undefined
      this.$set(this, 'dialogStatus', 'create')
      this.dialogFormVisible = true
    },
    // 删除数据
    handleDel(row) {
      this.$confirm(this.$t('tips.del'), this.$t('tips.title'), {
        confirmButtonText: this.$t('btn.confirm'),
        cancelButtonText: this.$t('btn.cancel'),
        type: 'warning'
      })
        .then(() => {
          this.$baseApi.setName(this.name)
          this.$baseApi.del(row.id).then(res => {
            if (res.data === 1) {
              this.getList()
              this.$message({
                message: this.$t('tips.operationSuccess'),
                type: 'success',
                duration: 1000
              })
            }
          })
        })
        .catch(() => {
          this.$message({
            type: 'info',
            message: this.$t('tips.operationCancel')
          })
        })
    },
    // 批量删除
    handleBatchDel(row) {
      this.$confirm(this.$t('table.delTips'), this.$t('table.tips'), {
        confirmButtonText: this.$t('table.confirm'),
        cancelButtonText: this.$t('table.cancel'),
        confirmButtonClass: 'btn-true',
        type: 'warning'
      })
        .then(async() => {
          const ids = this.sels.map(item => item.id).join() // 获取所有选中行的id组成的字符串,以逗号分隔
          this.$baseApi.setName(this.name)
          await this.$baseApi.batchDel(ids).then(res => {
            if (res.data > 0) {
              this.getList()
              this.$message({
                message: this.$t('table.operationSuccess'),
                type: 'success'
              })
            }
          })
        })
        .catch(() => {
          this.$message({
            type: 'info',
            message: this.$t('table.operationCancel')
          })
        })
    },
    // 修改成功回调方法
    successDrawer() {
      this.dialogFormVisible = false
      this.getList()
      this.$message({
        message: this.$t('tips.operationSuccess'),
        type: 'success',
        duration: 1000
      })
    },
    // 筛选树数据
    filterNode(value, data) {
      if (!value) return true
      return data.label.indexOf(value) !== -1
    },
    // 加载树节点
    loadNode(node, resolve) {
      if (node.level === 0) {
        this.$baseApi.setName('isProjectInfo')
        this.$baseApi.treeRoot().then(response => {
          return resolve(response.data)
        })
      }
      if (node.level > 0) {
        this.$baseApi.setName('isProjectInfo')
        // console.log('node.level:', node.level)
        this.$baseApi.treeByParentId(node.data.value).then(response => {
          return resolve(response.data)
        })
      }
    }
  }
}
</script>
<style lang="scss" scoped>
.card{
  width:150px;
  padding:0px 10px;
  margin:5px 5px;
  height: 50px;
}
/deep/.el-table th, .el-table .el-table__row{
    height: 72px;
  }
  /deep/ .el-table__body{
    /deep/ .el-table__row{
      height: 72px!important; 
    }
  }
  /deep/.el-table {
  border: 1px solid rgba(255,255,255,0.10);
  /deep/.el-table__header tr {
    & > th {
      border: 1px solid rgba(255,255,255,0.10);
    }
  }
  /deep/ td,.el-table th.is-leaf {
    border: 1px solid rgba(255,255,255,0.10);
  }
}
</style>

仪表盘

在这里插入图片描述
主页面

<gauge
   v-if="
     centerDataForm[pointCodeP12.pointCode] &&
       centerDataForm[pointCodeP11.pointCode]
   "
   :percentage="
     Number(
       centerDataForm[pointCodeP11.pointCode].value /
         centerDataForm[pointCodeP12.pointCode].value
     )
   "
 />
 <el-progress
   v-show="dashBoard"
   type="dashboard"
   :percentage="100"
   :color="customColor"
   :stroke-width="20"
   :width="230"
   class="progress"
   :format="format1"//设置为' ',不然中间有文字
 />
 <div class="target" v-show="dashBoard">//中间文字
   <div class="num">
     <span
       v-if="
         centerDataForm[pointCodeP12.pointCode] &&
           centerDataForm[pointCodeP11.pointCode]
       "
       >{{
         (
           (centerDataForm[pointCodeP11.pointCode].value /
             centerDataForm[pointCodeP12.pointCode].value) *
           100
         ).toFixed(2)
       }}</span
     >%
   </div>
   <div class="title">全厂总负荷</div>

gauge

<template>
  <section ref="echart" :style="{width: width,height: height}" :class="className" />
</template>

<script>
import echarts from 'echarts'
// import { mapState } from 'vuex'
// import resize from '@/views/dashboard/mixin.js'
export default {
  // mixins: [resize],
  props: {
    width: {
      type: [String, Number],
      default: '100%'
    },
    height: {
      type: [String, Number],
      default: '300px'
    },
    series: {
      default: () => [],
      type: Array
    },
    xAxis: {
      default: () => [],
      type: Array
    },
    className: {
      default: null,
      type: String
    },
    yAxisName: {
      type: String,
      default: ''
    },
    legendSwitch: {
      type: Boolean,
      default: true
    },
    percentage: {
      type: [String, Number],
      default: ''
    }
  },
  data() {
    return {
      option: {
        tooltip: {
          formatter: '{a} <br/>{b} : {c}%'
        },
        toolbox: {
          // feature: {
          //   restore: {},
          //   saveAsImage: {}
          // }
        },
        series: [
          {
            type: 'gauge',
            center: ['50%', '58.5%'], // 仪表位置
            radius: '100%', // 仪表大小
            startAngle: 200, // 仪表盘起始角度,默认 225。圆心 正右手侧为0度,正上方为90度,正左手侧为180度。
            endAngle: -20, // 仪表盘结束角度,默认 -45,
            min: 0, // 最小的数据值,默认 0 。映射到 minAngle。
            max: 100, // 最大的数据值,默认 100 。映射到 maxAngle。
            data: [{ value: 0.00, name: '安全度' }],
            // 仪表盘轴线(轮廓线)相关配置。
            axisLine: {
              show: true, // 是否显示仪表盘轴线(轮廓线),默认true
              lineStyle: {
                color: [[this.percentage, '#FFF906'], [1, '#77ABFF']],
                width: 0
              }
            },
            // 分割线
            splitLine: {
              show: true,
              length: 30,
              lineStyle: {
                color: 'auto',
                width: 5
              }
            },
            axisLabel: { // 刻度标签。
              show: true, // 是否显示标签,默认 true。
              distance: -55, // 标签与刻度线的距离,默认 5。
              color: '#fff', // 文字的颜色,默认 #fff。
              // distance: -35,
              fontSize: 19, // 文字的字体大小,默认 5。
              formatter: '{value}' // 刻度标签的内容格式器,支持字符串模板和回调函数两种形式。 示例:// 使用字符串模板,模板变量为刻度默认标签 {value},如:formatter: '{value} kg'; // 使用函数模板,函数参数分别为刻度数值,如formatter: function (value) {return value + 'km/h';}
            },
            // 刻度线
            axisTick: {
              show: true,
              length: 20,
              splitNumber: 10,
              lineStyle: {
                color: 'auto',
                width: 2
              }
            },
            pointer: { // 仪表盘指针。
              show: false, // 是否显示指针,默认 true。
              length: '70%', // 指针长度,可以是绝对数值,也可以是相对于半径的百分比,默认 80%。
              width: 5 // 指针宽度,默认 8。
            },
            title: { // 仪表盘标题。
              show: false, // 是否显示标题,默认 true。
              offsetCenter: [0, '20%'], // 相对于仪表盘中心的偏移位置,数组第一项是水平方向的偏移,第二项是垂直方向的偏移。可以是绝对的数值,也可以是相对于仪表盘半径的百分比。
              color: '#fff', // 文字的颜色,默认 #333。
              fontSize: 20 // 文字的字体大小,默认 15。
            },
            detail: { // 仪表盘详情,用于显示数据。
              show: false, // 是否显示详情,默认 true。
              offsetCenter: [0, '50%'], // 相对于仪表盘中心的偏移位置,数组第一项是水平方向的偏移,第二项是垂直方向的偏移。可以是绝对的数值,也可以是相对于仪表盘半径的百分比。
              color: 'auto', // 文字的颜色,默认 auto。
              fontSize: 30, // 文字的字体大小,默认 15。
              formatter: '{value}%' // 格式化函数或者字符串
            }
          }
        ]
      }

    }
  },
  watch: {
    opened: {
      handler() {
        this.getCharts()
      },
      deep: true
    }
  },
  created() {
    this.getCharts()
  },
  mounted() {
    window.addEventListener('resize', this.getCharts, 20)
  },
  destroyed() {
    window.removeEventListener('resize', this.getCharts, 20)
  },
  methods: {
    getCharts() {
      setTimeout(() => {
        var myChart = echarts.init(this.$refs.echart)
        myChart.clear()
        myChart.resize()
        myChart.setOption(this.option)
      }, 200)
    }
  }
}
</script>

样式

.center{
 flex:1;
 display: flex;
 justify-content: center;
 align-items: center;
 flex-direction: column;
 .first{
   flex: 1;
   width: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   overflow:hidden;
   .progress{
     margin-top: -15.125rem;
     opacity: 0.4;
   }
   .target{
     margin-top: -10.125rem;
     .num{
       color: #EEEA38;
       span{
         font-size: 49px;
       }
     }
     .title{
       color: rgba(255,255,255,0.8);
       font-size: 20px;
       text-align: center;
     }
   }
 }
}

百分比饼图

在这里插入图片描述

包装使用方法

<pie
 v-if="
     turbineValue && boilerValue && electricValue & electricValue
   "
   :data1="turbineValue"
   :data2="boilerValue"
   :data3="electricValue"
   :data4="thermalValue"
   height="290px"
 />

pie页面

<template>
  <section
    ref="echart"
    :style="{ width: width, height: height }"
    :class="className"
  />
</template>

<script>
import echarts from "echarts";
// import { mapState } from 'vuex'
// import resize from '@/views/dashboard/mixin.js'
export default {
  // mixins: [resize],
  props: {
    width: {
      type: [String, Number],
      default: "250px"
    },
    height: {
      type: [String, Number],
      default: "247px"
    },
    series: {
      default: () => [],
      type: Array
    },
    xAxis: {
      default: () => [],
      type: Array
    },
    className: {
      default: null,
      type: String
    },
    yAxisName: {
      type: String,
      default: ""
    },
    data1: {
      type: [String, Number],
      default: ""
    },
    data2: {
      type: [String, Number],
      default: ""
    },
    data3: {
      type: [String, Number],
      default: ""
    },
    data4: {
      type: [String, Number],
      default: ""
    }
  },
  data() {
    return {
      option: {
        color: ["#0DA6FF", "#09C200", "#EDD11E"],
        tooltip: {
          trigger: "item",
          formatter: "{a} <br/>{b}: {c} ({d}%)"
        },
        legend: {
          orient: "vertical",
          bottom: 10,
          data: ["汽机", "锅炉", "电气", "热工"],
          textStyle: {
            color: "#fff",
            fontSize: 16,
            lineHeight: 24
          },
          itemHeight: 14,
          itemWidth: 14
        },
        series: [
          {
            name: "事件类型",
            type: "pie",
            radius: ["30%", "40%"],
            center: ["50%", "30%"],
            label: {
              normal: {
                formatter: "{d}%", // 图形外文字上下显示
                borderWidth: 20,
                borderRadius: 4
              }
            },
            data: [
              { value: this.data1, name: "汽机" },
              { value: this.data2, name: "锅炉" },
              { value: this.data3, name: "电气" },
              { value: this.data4, name: "热工" }
            ]
          }
        ]
      }
    };
  },
  // computed: {
  //   ...mapState({
  //     opened: state => state.app.sidebar.opened
  //   })
  // },
  watch: {
    opened: {
      handler() {
        this.getCharts();
      },
      deep: true
    },
    "option.series.data": {
      handler() {
        this.getCharts();
      },
      deep: true
    }
  },
  created() {
    this.getCharts();
  },
  mounted() {
    window.addEventListener("resize", this.getCharts, 20);
  },
  destroyed() {
    window.removeEventListener("resize", this.getCharts, 20);
  },
  methods: {
    getCharts() {
      setTimeout(() => {
        var myChart = echarts.init(this.$refs.echart);
        myChart.clear();
        myChart.resize();
        myChart.setOption(this.option);
      }, 200);
    }
  }
};
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值