<!--
 * @Descripttion: 当前组件信息
 * @version: 1.0.0
 * @Author: 无尘
 * @Date: 2019-04-12 17:56:45
 * @LastEditors  : 无尘
 * @LastEditTime : 2020-03-03 16:21:43
 -->
<template>
  <div class="my-customer-wrap common-set-wrap">
    <nav-crumb :navpath="navpath" @selectBrandId="selectBrandId"> </nav-crumb>
    <div class="right-content">
      <div class="right-box" :style="{ 'min-height': bgHeight }">
        <div class="apps-content flex" :style="{ 'min-height': bgHeight }">
          <div class="apps-content-left w-157">
            <common-detail-left :tabListData="tabListData" :activeSelTab="activeSelTab" @setSelectTab="setSelectTab"></common-detail-left>
          </div>
          <div class="apps-content-right">
            <transition name="fade" mode="out-in">
              <keep-alive v-if="$route.meta.keepAlive">
                <router-view :brandId="activeBrand" :activeGroupId="activeGroup" :tabType="activeTab" @showTab="showTab"></router-view>
              </keep-alive>
              <router-view v-else :brandId="activeBrand" :activeGroupId="activeGroup" :tabType="activeTab" @showTab="showTab"></router-view>
            </transition>
          </div>
        </div>
      </div>
    </div>
    <vue-gic-footer></vue-gic-footer>
  </div>
</template>
<script>
import navCrumb from '@/components/nav/nav-app.vue';
import commonDetailLeft from '@/components/app/app-detail-left.vue';
export default {
  name: 'reviewed',
  data() {
    return {
      bgHeight: window.screen.availHeight - 380 + 'px',
      appName: '指标管理',
      appIcon: 'icon-ribao',
      activeSelTab: '1',
      activeTab: '1',
      // 面包屑参数
      navpath: [
        {
          name: '首页',
          path: '/index'
        },
        {
          name: '指标管理',
          path: ''
        }
      ],
      tabListData: [
        {
          tabId: '1',
          tabName: '月指标',
          icon: 'iconzhibiao',
          onlyIconActive: false
        },
        {
          tabId: '2',
          tabName: '月指标任务',
          icon: 'iconrenwu'
        }
      ],
      activeBrand: '', // 商户(品牌) id
      activeGroup: '' // 商户(品牌) groupId
    };
  },
  computed: {},
  methods: {
    /**
     * 路由跳转
     */
    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(`monthList`);
          break;
        case '2':
          that.changeRoute(`monthTask`);
          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) {
        const that = this;
        if (val.path == '/storeMonthTask') {
          that.navpath = [
            {
              name: '首页',
              path: '/index'
            },
            {
              name: '指标管理',
              path: '/monthList'
            },
            {
              name: '门店月指标',
              path: ''
            }
          ];
        } else if (val.path == '/salerMonthDetail') {
          that.navpath = [
            {
              name: '首页',
              path: '/index'
            },
            {
              name: '指标管理',
              path: '/monthList'
            },
            {
              name: '门店月指标',
              path: 'storeMonthTask'
            },
            {
              name: '导购月指标详情',
              path: ''
            }
          ];
        } else if (val.path == '/companyDaySet') {
          that.navpath = [
            {
              name: '首页',
              path: '/index'
            },
            {
              name: '指标管理',
              path: '/monthList'
            },
            {
              name: '门店月指标',
              path: 'storeMonthTask'
            },
            {
              name: '商户日权重',
              path: ''
            }
          ];
        } else {
          that.navpath = [
            {
              name: '首页',
              path: '/index'
            },
            {
              name: '指标管理',
              path: ''
            }
          ];
        }
      },
      // 深度观察监听
      deep: true
    },
    activeBrand: function(newData, oldData) {
      const that = this;
      that.activeBrand = newData;
    },
    activeGroup: function(newData, oldData) {
      const that = this;
      that.activeGroup = newData;
    }
  },
  mounted() {
    let that = this;
    let iconUrl = that.$route.query.appIcon;
    if (iconUrl) {
      that.appIcon = window.unescape(iconUrl);
    }
    document.documentElement.style.backgroundColor = '#f0f2f5';
  },
  destroyed() {
    document.documentElement.style.backgroundColor = '#fff';
  },
  components: {
    navCrumb,
    commonDetailLeft
  }
};
</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%;
}
.right-content {
  /*width: 100%;*/
  padding: 0 20px 20px 20px;
  min-height: calc(100% - 160px);
  .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% - 120px);
        padding-left: 10px;
        background: #f0f2f5;
        .common-right-wrap {
          height: 100%;
          background: #fff;
        }
      }
    }
  }
}
</style>
