<!--
 * @Descripttion: 当前组件信息
 * @version: 1.0.0
 * @Author: 无尘
 * @Date: 2019-03-20 14:36:37
 * @LastEditors: 无尘
 * @LastEditTime: 2020-05-14 16:14:12
 -->
<template>
  <div class="my-customer-wrap common-set-wrap">
    <vue-office-header :projectName="projectName" @collapseTag="collapseTag" @toRouterView="toRouterView"> </vue-office-header>
    <div class="enterprise-wrap__body">
      <div id="content" class="content">
        <div class="content-body">
          <div class="right-content border-box">
            <div class="right-box" style="min-height: calc(100vh - 86px);">
              <div class="apps-content flex" style="min-height: calc(100vh - 86px);">
                <div class="apps-content-left w-157" style="min-height: calc(100vh - 86px);">
                  <common-detail-left :tabListData="tabListData" :activeSelTab="activeSelTab" @setSelectTab="setSelectTab"></common-detail-left>
                </div>
                <div class="apps-content-right border-box">
                  <transition name="fade" mode="out-in">
                    <router-view :brandId="activeBrand" :activeGroupId="activeGroup" :tabType="activeTab" @showTab="showTab"></router-view>
                  </transition>
                </div>
              </div>
            </div>
          </div>
          <!-- <vue-gic-footer></vue-gic-footer> -->
          <!-- 公共组件 -->
        </div>
      </div>
    </div>
  </div>
</template>
<script>
import navCrumb from '@/components/nav/nav-app.vue';
import commonDetailLeft from '@/components/app/app-detail-left.vue';
import vueOfficeHeader from '@/components/vue-office-header';
export default {
  name: 'reviewed',
  data() {
    return {
      bgHeight: window.screen.availHeight - 288 + 'px',
      activeSelTab: '1',
      activeTab: '1',

      tabListData: [
        {
          tabId: '1',
          tabName: '企业信息',
          icon: 'iconqiyexinxi'
        },
        {
          tabId: '2',
          tabName: '管理员列表',
          icon: 'iconguanliyuanliebiao'
        },
        {
          tabId: '3',
          tabName: '素材库',
          icon: 'iconsucaiku'
        },
        {
          tabId: '4',
          tabName: '欢迎语',
          icon: 'iconhuanyingci'
        }
      ],
      activeBrand: '', // 商户(品牌) id
      activeGroup: '' // 商户(品牌) groupId
    };
  },
  computed: {},
  methods: {
    // 处理路由跳转
    toRouterView(val) {
      let that = this;
      // 模拟检查数据
      // //有两个参数
      //{
      //  name:,
      //  path:
      //}
      that.$router.push({
        path: val.path
      });
    },
    /**
     * 路由跳转
     */
    changeRoute(path) {
      this.$router.push(path);
    },

    /**
     * 返回 的 brandId
     */
    selectBrandId(id, groupId) {
      let that = this;
      that.activeBrand = id;
      that.activeGroup = groupId;
    },

    /**
     * 选择后返回tabId，做各路由判断
     */
    setSelectTab(item) {
      let that = this;
      that.activeTab = item.tabId;
      switch (item.tabId) {
        case '1':
          that.changeRoute(`enterpriseSet`);
          break;
        case '2':
          that.changeRoute(`adminList`);
          break;
        case '3':
          that.changeRoute(`material`);
          break;
        case '4':
          that.changeRoute(`salutatory`);
          break;
      }
    },

    /**
     * 各路由返回 tabId
     */
    showTab(id) {
      let that = this;
      that.activeTab = id;
      that.activeSelTab = id;
      that.tabListData.forEach(ele => {
        if (ele.tabId == id) {
          ele.onlyIconActive = false;
        }
        if (!!ele.children) {
          ele.children.forEach(el => {
            if (el.tabId == id) {
              ele.onlyIconActive = true;
            }
            if (!!el.children) {
              el.children.forEach(item => {
                if (item.tabId == id) {
                  ele.onlyIconActive = true;
                }
              });
            }
          });
        }
      });
    }
  },
  watch: {
    $route: {
      handler: function(val, oldVal) {},
      // 深度观察监听
      deep: true
    },
    activeBrand: function(newData, oldData) {
      const that = this;
      that.activeBrand = newData;
    },
    activeGroup: function(newData, oldData) {
      const that = this;
      that.activeGroup = newData;
    }
  },
  mounted() {
    // const that = this;
    document.documentElement.style.backgroundColor = '#f0f2f5';
  },
  destroyed() {
    document.documentElement.style.backgroundColor = '#fff';
  },
  components: {
    navCrumb,
    commonDetailLeft,
    vueOfficeHeader
  }
};
</script>
<style type="text/scss" lang="scss" scoped>
.bg-82C5FF {
  background: #82c5ff;
}
.color-508CEE {
  color: #508cee;
}
.color-FF585C {
  color: #ff585c;
}
.line-h-18 {
  line-height: 18px;
}
.tooltip-text {
  width: 100%;
  white-space: pre-wrap;
  word-break: break-all;
}
.my-customer-wrap {
  height: 100%;
}

.content {
  padding-top: 46px;
  min-width: 1400px;
  box-sizing: border-box;
}
.right-content {
  /*width: 100%;*/
  padding: 20px;
  min-height: calc(100% - 157px);
  .right-box {
    background: #fff;
    min-height: 500px;
    padding: 0px;
    .apps-content {
      .apps-content-left {
        min-width: 157px;
        height: 100%;
        background: #fff;
        overflow-x: hidden;
        overflow-y: auto;
        .apps-content-left__title {
          height: 55px;
          line-height: 55px;
          padding: 0 0 0 18px;
        }
        .tab-left-list-cell {
          position: relative;
          text-align: left;
          margin-top: 15px;
          height: 30px;
          line-height: 30px;
          white-space: nowrap;
          overflow: hidden;
          cursor: pointer;
          &:hover {
            background: rgba(24, 144, 255, 0.06);
            i {
              color: #2f54eb;
            }
          }
          &.active-tab {
            background: rgba(24, 144, 255, 0.06);
            &::before {
              content: ' ';
              position: absolute;
              left: 0;
              top: 0;
              bottom: 0;
              width: 2px;
              background: #2f54eb;
              z-index: 1;
            }
            i {
              color: #2f54eb;
            }
          }
          .child-tab-left-list {
            li {
              position: relative;
              text-align: left;
              height: 30px;
              line-height: 30px;
              white-space: nowrap;
              overflow: hidden;
              cursor: pointer;
              &:hover {
                background: rgba(24, 144, 255, 0.06);
                i {
                  color: #2f54eb;
                }
              }
              &.active-tab {
                background: rgba(24, 144, 255, 0.06);
                &::before {
                  content: ' ';
                  position: absolute;
                  left: 0;
                  top: 0;
                  bottom: 0;
                  width: 2px;
                  background: #2f54eb;
                  z-index: 1;
                }
                i {
                  color: #2f54eb;
                }
              }
            }
          }
        }
      }
      .apps-content-right {
        width: calc(100% - 157px);
        padding-left: 10px;
        background: #f0f2f5;
        .daily-set-wrap {
          height: 100%;
          background: #fff;
        }
        .app-detail-wrap {
          height: 100%;
          background: #fff;
        }
        .common-set-wrap {
          height: 100%;
          background: #fff;
        }
      }
    }
  }
}
</style>
