派生自 wuyushui/SewerAndRainNetwork

徐旺旺
2021-03-08 6bce1997cef9a58142258c0e12828f76d05762b1
菜单组件联动
4个文件已修改
83 ■■■■ 已修改文件
src/components/panel/MenuTopic.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/RightSearchPanel.vue 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/DischargeSearch.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/Topic.js 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/MenuTopic.vue
@@ -7,12 +7,12 @@
           @click="toggle()">
      <div id="menu-special-context" class="menu-special-context">
          <el-checkbox-button v-show="isShow" class="menu-special-item" v-model="topicSelectAll.check" :checked="topicSelectAll.checked" @change="checkedSpecialChangeAll(topicSelectAll)">
            <div style="height: 1rem;width: 1rem;display: inline-flex;">     <img :src="topicSelectAll.icon" ></div>
            <div style="height: 1rem;width: 1rem;display: inline-flex;"><img :src="topicSelectAll.icon" ></div>
            {{ topicSelectAll.name }}</el-checkbox-button>
        <el-checkbox-group :indeterminate="isIndeterminate" v-show="isShow" v-model="topicCheckedList" size="medium" @change="checkedGroupSpecialChange">
          <el-checkbox-button class="menu-special-item" v-for="item in topicList" :label="item.name" :key="item.id" :checked="item.checked" @change="checkedSpecialChange(item)">
            <div style="height: 1rem;width: 1rem;display: inline-flex;">     <img :src="item.icon" ></div>
          <el-checkbox-button class="menu-special-item" v-for="item in topicList" :label="item" :key="item.id" :checked="item.checked" @change="checkedSpecialChange(item)">
            <div style="height: 1rem;width: 1rem;display: inline-flex;"><img :src="item.icon" ></div>
            {{item.name}}</el-checkbox-button>
        </el-checkbox-group>
<!--        <ul class="menu-special-item" v-for="item in SpecialList" :key="item.id">-->
@@ -53,7 +53,7 @@
      this.$store.commit('setTopic', this.topicCheckedList)
    },
    checkedSpecialChangeAll (val) {
      this.topicCheckedList = val.check ? this.topicList.map(item => item.name) : []
      this.topicCheckedList = val.check ? this.topicList.map(item => item) : []
      this.isIndeterminate = false
      this.$store.commit('setTopic', this.topicCheckedList)
    },
src/components/panel/RightSearchPanel.vue
@@ -1,7 +1,7 @@
<template>
  <div id="right-panel">
    <div class="panel-tab">
      <div v-for="item in topicMenu" :key="item.id" :title="item.name" class="tab-item" @click="handleGd" :class="{'B-TMT-tab-waybill-isActive': isWaybillHover}">
      <div v-for="item in topicMenu" :key="item.id" :title="item.name" class="tab-item" @click="handleClick(item)">
        <img :src="item.icon" style="width: 24px;height: 24px;"></div>
<!--      <div class="tab-item" @click="handleHb" :class="{'B-TMT-tab-route-isActive': isRouteHover}"></div>-->
@@ -20,21 +20,16 @@
<script>
import $ from 'jquery'
import EnvProtectSearch from './topicSearch/EnvProtectSearch'
import DischargeSearch from './topicSearch/DischargeSearch'
import { TopicList } from '../../conf/Topic'
import SewersSearch from '@components/panel/topicSearch/SewersSearch'
import { TopicComp, TopicList } from '../../conf/Topic'
export default {
  name: 'MonitorPanel',
  components: { EnvProtectSearch, DischargeSearch },
  components: TopicComp,
  data () {
    return {
      topicMenu: [],
      topicList: TopicList,
      topicCheckedList: [],
      isPanelVisible: false,
      gcComp: SewersSearch,
      gcComp: 'sewersSearch',
      gdVisible: true,
      hbVisible: false,
@@ -45,21 +40,10 @@
    }
  },
  computed: {},
  watch: {
    '$store.state.map.topic.topicCheckedList': function (newVal, oldVal) {
      console.log(oldVal)
      console.log(newVal)
      this.topicCheckedList = newVal
      this.topicMenu = []
      this.topicList.forEach((item) => {
        this.topicCheckedList.forEach((itm) => {
          if (item.name === itm) {
            // item.checked = tr
            this.topicMenu.push(item)
          }
        })
      })
  computed: {
    topicMenu () {
      console.log(this.$store.state.map.topic.topicCheckedList)
      return this.$store.state.map.topic.topicCheckedList
    }
  },
  methods: {
@@ -69,8 +53,9 @@
    handlePage (page) {
    },
    handleGd () {
      this.title = '管道信息查询'
    handleClick (item) {
      this.title = item.name
      this.gcComp = item.comp
    },
    toggleMonitorPanel () {
      const el = $('.btn-stretch')
src/components/panel/topicSearch/DischargeSearch.vue
@@ -91,7 +91,7 @@
  components: {},
  data () {
    return {
      isPanelVisible: false,
      isPanelVisible: true,
      total: 0,
      list: [],
      form: {
src/conf/Topic.js
@@ -4,54 +4,70 @@
  icon: '/assets/images/menu/special.png'
}
export const TopicComp = {
  dischargeSearch: () => import('@components/panel/topicSearch/DischargeSearch'),
  envProtectSearch: () => import('@components/panel/topicSearch/EnvProtectSearch'),
  sewersSearch: () => import('@components/panel/topicSearch/SewersSearch.vue')
}
export const TopicList = [{
  name: '污染源',
  id: 1,
  check: false,
  icon: '/assets/images/menu/special.png'
  icon: '/assets/images/menu/special.png',
  comp: 'dischargeSearch'
}, {
  name: '废水监测',
  id: 2,
  checked: false,
  icon: '/assets/images/menu/special.png'
  icon: '/assets/images/menu/special.png',
  comp: 'envProtectSearch'
}, {
  name: '废气监测',
  id: 3,
  checked: false,
  icon: '/assets/images/menu/special.png'
  icon: '/assets/images/menu/special.png',
  comp: 'dischargeSearch'
}, {
  name: '固废管理',
  id: 4,
  checked: false,
  icon: '/assets/images/menu/special.png'
  icon: '/assets/images/menu/special.png',
  comp: 'envProtectSearch'
}, {
  name: '环境风险',
  id: 5,
  checked: false,
  icon: '/assets/images/menu/special.png'
  icon: '/assets/images/menu/special.png',
  comp: 'dischargeSearch'
}, {
  name: '土壤及地下水',
  id: 6,
  checked: false,
  icon: '/assets/images/menu/special.png'
  icon: '/assets/images/menu/special.png',
  comp: 'dischargeSearch'
}, {
  name: '污雨水管网',
  id: 7,
  checked: false,
  icon: '/assets/images/menu/special.png'
  icon: '/assets/images/menu/special.png',
  comp: 'envProtectSearch'
}, {
  name: '预警报警',
  id: 8,
  checked: false,
  icon: '/assets/images/menu/special.png'
  icon: '/assets/images/menu/special.png',
  comp: 'sewersSearch'
}, {
  name: '指标统计',
  id: 9,
  checked: false,
  icon: '/assets/images/menu/special.png'
  icon: '/assets/images/menu/special.png',
  comp: 'envProtectSearch'
}, {
  name: '应急地图',
  id: 10,
  checked: false,
  icon: '/assets/images/menu/special.png'
  icon: '/assets/images/menu/special.png',
  comp: 'sewersSearch'
}]