<template>
  <div class="unCreateStore">
    <div class="header">
      <van-nav-bar class="navBar" title="调色机预警门店明细" left-arrow @click-left="onClickLeft" />
    </div>
    <div class="content">
      <van-collapse v-model="activeName" accordion @change="collapseCange">
        <van-collapse-item v-for="(val, key, ind) in list" :key="ind" :name="key">
          <template #title>
            <div class="title">{{ key | storeType }}</div>
            <div class="num">{{ val.storeNum }}家</div>
          </template>
          <div class="itemContent">
            <template v-if="val.storeList && val.storeList.length >= 1">
              <div class="item" v-for="(item, index) in val.storeList" :key="index">
                <van-cell>
                  <div class="card">
                    <div class="title titlero">
                      <template v-if="item.storeLabels">
                        <!-- 金牌店ABC -->
                        <img
                          class="JPABC"
                          :src="require('@/assets/Icon/storeA.png')"
                          v-if="item.storeLabels.storeA" />
                        <img
                          class="JPABC"
                          :src="require('@/assets/Icon/storeB.png')"
                          v-if="item.storeLabels.storeB" />
                        <img
                          class="JPABC"
                          :src="require('@/assets/Icon/storeC.png')"
                          v-if="item.storeLabels.storeC" />
                        <img
                          class="JPABC"
                          :src="require('@/assets/Icon/storeD.png')"
                          v-if="item.storeLabels.storeD" />
                        <img
                          class="JPABC"
                          :src="require('@/assets/Icon/storeE.png')"
                          v-if="item.storeLabels.storeE" />
                        <img
                          class="JPABC"
                          :src="require('@/assets/Icon/storeS.png')"
                          v-if="item.storeLabels.storeS" />
                      </template>
                      <span @click="goOtherSystem(item)" :style="setStroeNameStyle(item)">
                        <span>{{ item.storeName }}</span>
                        (<span>{{ item.storeCode }}</span
                        >)
                      </span>
                      <span class="btn" :data-clipboard-text="item.storeCode">
                        <van-icon
                          :name="paste"
                          color="#ee0a24"
                          size="20"
                          style="top: 6px; margin-left: 4px" />
                      </span>
                      <!-- "approvalStatus": 1:已结案;0:未结案， -->
                      <!-- "processApprovalStatus": 审批状态（0=未提交，1=已提交待审核，2=审批通过，3=审批拒绝） -->
                      <template v-if="item.approvalStatus == 0">
                        <span class="statusIcon submit" v-if="item.processApprovalStatus == 1"
                          >已提交</span
                        >
                        <span class="statusIcon noSubmit" v-if="item.processApprovalStatus == 0"
                          >未提交</span
                        >
                      </template>
                    </div>
                    <div class="info" style="position: relative">
                      联系人：{{ item.contactName }}
                      <div style="position: absolute; bottom: 0px; right: 0px">
                        <!-- 凤凰客户 -->
                        <el-popover
                          popper-class="zpover"
                          placement="bottom"
                          width="120"
                          trigger="click"
                          content="该客户为凤凰客户">
                          <div
                            v-if="item.storeLabels.fhCustomer"
                            class="visitStoreIco"
                            style="background-color: #fff"
                            slot="reference">
                            <van-icon
                              :name="require('@/assets/Icon/fenghuangjihua.png')"
                              size="26" />
                          </div>
                        </el-popover>
                        <el-popover
                          popper-class="zpover zpover6"
                          placement="bottom-start"
                          trigger="click">
                          <div>
                            <p>
                              本店{{ timeData }}下单SKU数：<a
                                @click="linkList(item)"
                                style="text-decoration: underline"
                                >点击查看详情</a
                              >
                            </p>
                          </div>
                          <div
                            class="visitStoreIco"
                            v-if="item.storeLabels.zysslNums !== false"
                            style="background-color: #fff; position: relative"
                            slot="reference">
                            <p
                              style="
                                width: 100%;
                                position: absolute;
                                z-index: 1;
                                top: 0.2px;
                                width: 22px;
                                margin: 0;
                                margin-left: 3.6px;
                                text-align: center;
                                font-size: 12px;
                              ">
                              {{ item.storeLabels.zysslNums }}
                            </p>
                            <van-icon :name="ord" size="26" />
                          </div>
                        </el-popover>
                        <el-popover
                          popper-class="zpover zpover5"
                          placement="bottom"
                          width="200"
                          trigger="click">
                          <div v-if="item.storeLabels">
                            <p>{{ timeData }}未通过的陈列任务:</p>
                            <p v-for="(tt, ind) in (item.storeLabels.targetOne + '').split(';')">
                              <template v-if="tt"> {{ ind + 1 }}、{{ tt }};</template>
                            </p>
                          </div>
                          <div
                            class="visitStoreIco"
                            v-if="item.storeLabels.targetOne"
                            style="background-color: #fff"
                            slot="reference">
                            <van-icon :name="targetOne" size="26" />
                          </div>
                        </el-popover>
                        <el-popover
                          popper-class="zpover"
                          placement="bottom"
                          width="120"
                          trigger="click"
                          content="调色机7天未调色">
                          <div
                            v-if="item.storeLabels.stopColorMixerSeven"
                            class="visitStoreIco"
                            style="background-color: #fff"
                            slot="reference">
                            <van-icon :name="Network" size="26" />
                          </div>
                        </el-popover>
                        <el-popover
                          popper-class="zpover"
                          placement="bottom"
                          width="120"
                          trigger="click"
                          content="调色机当月未调色">
                          <div
                            v-if="item.storeLabels.stopColorMixerMonth"
                            class="visitStoreIco"
                            style="background-color: #fff"
                            slot="reference">
                            <van-icon :name="WiFi" size="26" />
                          </div>
                        </el-popover>
                        <el-popover
                          popper-class="zpover"
                          placement="bottom"
                          width="200"
                          trigger="click"
                          content="同城店近60天未下单">
                          <div
                            v-if="item.storeLabels.fxNoOrder"
                            class="visitStoreIco"
                            style="background-color: #fff"
                            slot="reference">
                            <van-icon :name="order60" size="26" />
                          </div>
                        </el-popover>
                        <el-popover
                          popper-class="zpover"
                          placement="bottom"
                          width="200"
                          trigger="click"
                          content="金牌店近30天未下单">
                          <div
                            v-if="item.storeLabels.noOrder"
                            class="visitStoreIco"
                            style="background-color: #fff"
                            slot="reference">
                            <van-icon :name="order" size="26" />
                          </div>
                        </el-popover>
                        <el-popover
                          popper-class="zpover"
                          placement="bottom"
                          width="200"
                          trigger="click"
                          content="本店本月进过专业时时丽">
                          <div
                            class="visitStoreIco"
                            v-if="item.storeLabels.zyssl"
                            style="background-color: #ed5c68"
                            slot="reference">
                            专
                          </div>
                        </el-popover>
                        <el-popover
                          popper-class="zpover zpover1"
                          placement="bottom"
                          width="200"
                          trigger="click"
                          content="本店本月进过超好贴">
                          <div
                            v-if="item.storeLabels.chtczj"
                            class="visitStoreIco"
                            style="background-color: #0057ba"
                            slot="reference">
                            超
                          </div>
                        </el-popover>
                        <el-popover
                          placement="bottom"
                          popper-class="zpover zpover1 zpover1sb"
                          :disabled="!item.userVisitTimesMap"
                          trigger="click">
                          <div
                            v-if="item.storeLabels.visitTimes && item.storeLabels.visitTimes > 0"
                            class="visitStoreIco"
                            slot="reference"
                            style="background-color: #fff; position: relative">
                            <p
                              style="
                                width: 100%;
                                position: absolute;
                                z-index: 10;
                                top: -2px;
                                margin: 0;
                                text-align: center;
                                font-size: 12px;
                              ">
                              {{ item.storeLabels.visitTimes }}
                            </p>
                            <!-- A级金牌店拜访次数少于needVisitNum 需要拜访的次数 -->
                            <van-icon
                              :name="require('@/assets/ordernumRed.png')"
                              size="26"
                              v-if="
                                (item.storeLabels.storeA || item.storeLabels.storeS) &&
                                item.needVisitNum &&
                                item.storeLabels.visitTimes < item.needVisitNum
                              " />
                            <!-- 其他门店拜访 -->
                            <van-icon :name="require('@/assets/ordernum.png')" size="26" v-else />
                          </div>
                          <p
                            style="
                              text-align: center;
                              background: #fff;
                              color: #000;
                              padding: 5px 0;
                            ">
                            本店本月已拜访过{{ item.storeLabels.visitTimes }}次
                          </p>
                          <p
                            v-if="
                              (item.storeLabels.storeA || item.storeLabels.storeS) &&
                              item.needVisitNum
                            "
                            style="
                              text-align: center;
                              background: #fff;
                              color: red;
                              padding: 5px 0;
                            ">
                            <span v-if="item.storeLabels.storeA">A</span>
                            <span v-if="item.storeLabels.storeS">S</span>
                            级金牌店拜访标准：1月{{ item.needVisitNum }}次
                          </p>
                          <el-table :data="item.userVisitTimesMap" border max-height="180px">
                            <el-table-column label="业务员" prop="userName" />
                            <el-table-column label="拜访次数" prop="visitTimes" width="110px" />
                          </el-table>
                        </el-popover>
                      </div>
                    </div>
                    <div class="info">
                      类型：{{ item.storeCategory }}&nbsp;
                      <!-- <el-popover popper-class="zpover zpover6" placement="bottom-start" trigger="click">
                        <div>
                          <p>
                            本店经营品项指导:
                            <a @click="linkimg(item)" style="text-decoration: underline">点击查看</a>
                          </p>
                        </div>
                        <van-icon name="question-o" size="18" slot="reference" />
                      </el-popover> -->
                    </div>
                    <div class="info" v-if="item.telephone" @click="buryingPointFn(item)">
                      联系电话：<a
                        style="color: #0057ba; font-weight: bold; text-decoration: underline"
                        :href="'tel:' + item.telephone"
                        >{{ item.telephone }}<van-icon name="phone"
                      /></a>
                    </div>
                    <div class="info">
                      地址：{{ item.addressLine }}
                      <img
                        v-if="item.storeLonExist"
                        style="width: 36px"
                        :src="sbpmdh"
                        @click="linkapp(item)" />
                    </div>
                    <!-- 潜在店不显示经销商 -->
                    <template v-if="item.sfaStoreType.type != 'qzd'">
                      <!-- 分销店 -->
                      <template
                        v-if="
                          item.sfaStoreType &&
                          item.sfaStoreType.type == 'fxd' &&
                          item.sfaStoreChainsContactList
                        ">
                        <div class="info" v-if="typeShow">
                          经销商：
                          <div
                            class="TCFXListItem"
                            v-for="(item, index) in item.sfaStoreChainsContactList"
                            :key="index">
                            <el-popover
                              popper-class="zpover zpoverStoreztype"
                              placement="bottom-start"
                              trigger="click">
                              <div>
                                <div>{{ item.chainCode }}</div>
                                <div>{{ item.chainName }}</div>
                              </div>
                              <div slot="reference" :key="index">
                                {{ item.categoryDescribe }}
                              </div>
                            </el-popover>
                          </div>
                        </div>
                      </template>
                      <template v-else>
                        <div class="info" v-if="typeShow">经销商：{{ item.chainName }}</div>
                      </template>
                    </template>
                    <!-- storeLonExist 门店是否存在经纬度 字段false=不显示导航和距离，true=显示 -->
                    <div class="info" v-if="item.storeLonExist">
                      距离：{{ Micrometer(item.distance) }}m
                    </div>
                    <div class="info" v-if="item.cntOrderAmtYear">
                      门店销额(全年累计)：{{ Micrometer(item.cntOrderAmtYear) }}元
                    </div>
                  </div>
                </van-cell>
              </div>
            </template>
            <van-empty description="暂无数据" v-else />
          </div>
        </van-collapse-item>
      </van-collapse>
    </div>
  </div>
</template>
<script>
import { getColorMixerStoreInfos } from '@/api/home';
import { mapState } from 'vuex';
import store from '@/store';
import { getMonthCommon } from '@/utils';
import { buryingPoint, ProductItemImge } from '@/api/index';
import order from '@/assets/order.png';
import order60 from '@/assets/order60.png';
import targetOne from '@/assets/targetOne.png';
import ord from '@/assets/ord.png';
import Network from '@/assets/Network.png';
import WiFi from '@/assets/WiFi.png';
import paste from '@/assets/paste.png';
import axios from 'axios';
export default {
  name: 'unCreateStore',
  computed: {
    ...mapState({
      activaCreateTypeStore: (state) => state.user.activaCreateTypeStore,
    }),
  },
  data() {
    return {
      typeShow: true,
      ord: ord,
      order: order,
      order60: order60,
      Network: Network,
      WiFi: WiFi,
      targetOne: targetOne,
      paste: paste,
      activeName: 'keKong',
      list: {},
      TXPiont: {}, //腾讯定位数据
      TXisBD: {}, // 腾讯定位数据转百度
      activatStoreVal: {}, //当前点击门店数据
      visitRoutePath: '', //拜访页面路径
      clickIsFlage: true,
      timeData: '',
    };
  },
  filters: {
    storeType(value) {
      let type = '';
      if (value == 'keKong') {
        type = '可控店';
      } else if (value == 'jinPai') {
        type = '金牌店';
      }
      return type;
    },
  },
  activated() {
    this.timeData = getMonthCommon();
    this.getList();
    // this.activeName = this.activaCreateTypeStore || '';
  },
  methods: {
    collapseCange(value) {
      store.dispatch('activaCreateTypeStore', value);
    },
    getList() {
      this.toastLoading(0, '加载中...', true);
      getColorMixerStoreInfos()
        .then((res) => {
          this.toastLoading().clear();
          this.list = res.data;
          console.log(this.list);
        })
        .catch(() => {
          this.toastLoading().clear();
        });
    },
    storeDetailFn(id) {
      this.$router.push({
        path: '/storeDetail',
        query: { id: id },
      });
    },
    onClickLeft() {
      this.$router.go(-1);
    },
    linkapp(val) {
      var poind = this.gcj02BD(val.lat, val.lon);
      let url = window.location.href;
      let wx = this.wx;
      let qiyeData;
      const instance = axios.create();
      instance.defaults.headers.common['userId'] = localStorage.getItem('loginName');
      instance
        .get(process.env.VUE_APP_BASE_API + 'mobile/wx/ticket', {
          params: {
            url: url,
            agent: 1,
          },
        })
        .then((response) => {
          if (response.status == 200) {
            qiyeData = response.data.data;
            wx.agentConfig({
              corpid: qiyeData.appId, // 必填，企业微信的corpid，必须与当前登录的企业一致
              agentid: qiyeData.agentId, // 必填，企业微信的应用id （e.g. 1000247）
              timestamp: qiyeData.timestamp, // 必填，生成签名的时间戳
              nonceStr: qiyeData.nonceStr, // 必填，生成签名的随机串
              signature: qiyeData.signature, // 必填，签名，见附录-JS-SDK使用权限签名算法
              jsApiList: ['launchMiniprogram'], //必填，传入需要使用的接口名称
              success: function () {
                wx.invoke('launchMiniprogram', {
                  appid: 'wx238bbb5f6d958414',
                  path:
                    'pages/relayStation/relayStation?latitude=' +
                    poind.lat +
                    '&longitude=' +
                    poind.lon +
                    '&name=' +
                    val.addressLine,
                });
              },
              fail: function (res) {
                if (res.errMsg.indexOf('function not exist') > -1) {
                  alert('版本过低请升级');
                }
              },
            });
          }
        });
    },
    buryingPointFn(val) {
      buryingPoint({
        systemModel: '调色机预警门店明细',
        buryingPointType: 1,
        buryingPointValue: val.telephone,
        buryingPointName: '点击电话',
        buryingPointPosition: val.storeName + '(' + val.storeCode + ')',
      });
    },
    linkList(val) {
      this.$router.push({
        path: '/pItem',
        query: {
          id: val.storeId,
          detilId: 'a',
          storeCode: val.storeCode,
          showOrderButton: val.showOrderButton,
        },
      });
    },
    linkimg(val) {
      ProductItemImge({ storeId: val.storeId }).then((response) => {
        if (response.code == 200) {
          if (response.data != undefined) {
            window.open(response.data);
          } else {
            this.$toast(response.msg);
          }
        } else {
          this.$toast(response.msg);
        }
      });
    },
    setStroeNameStyle(item) {
      // 家装或工装 approvalStatus:是否结案 0：未结案，1：已结案
      if (
        (item.sfaStoreType && (item.sfaStoreType.jz || item.sfaStoreType.gz)) ||
        item.approvalStatus == null ||
        item.approvalStatus == 0
      ) {
        return {};
      } else {
        return { color: '#0057ba', 'text-decoration': 'underline' };
      }
    },
    // 跳转好帮手门店详情
    goOtherSystem(item) {
      // 家装或工装 approvalStatus:是否结案 0：未结案，1：已结案
      if (
        (item.sfaStoreType && (item.sfaStoreType.jz || item.sfaStoreType.gz)) ||
        item.approvalStatus == null ||
        item.approvalStatus == 0
      ) {
        return false;
      }
      if (item.storeCode) {
        window.location.href =
          process.env.VUE_APP_SSB_LINK + '/order/storeDetail/index?shopCode=' + item.storeCode;
      } else {
        this.$dialog.alert({
          message: '缺少门店code',
        });
      }
    },
  },
};
</script>
<style lang="scss" scoped>
/* Base container styles */
.unCreateStore {
  height: 100%;
  width: 100%;

  .content {
    padding: 8px 10px;
  }
}

/* Store item styles */
.item {
  padding: 8px 10px;
  margin: 10px 0;
  background: #fff;

  .van-cell {
    padding: 0;

    &__right-icon {
      height: 144px;
      line-height: 144px;
      margin-right: 10px;
    }
  }
}

/* Card styles */
.card {
  box-sizing: border-box;

  .title {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    line-height: 30px;
  }

  .info {
    font-size: 14px;
    color: #909090;
    line-height: 26px;
  }
}

/* Icon styles */
.visitStoreIco {
  float: left;
  width: 26px;
  text-align: center;
  background-color: #ffba13;
  color: #fff;
  border-radius: 100%;
  margin-left: 14px;
  line-height: 26px;
  height: 26px;
}

/* Button styles */
.centerBtn {
  display: block;
  color: #0057ba;
  border-radius: 5px;
  padding: 0 6px;
  height: 28px;

  &.ctns {
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
  }
}

/* Status styles */
.statusIcon {
  padding: 3px;
  font-size: 12px;
  margin: 0 3px;
  color: #fff;
  display: inline-block;
  height: 20px;
  line-height: 16px;
  vertical-align: -1px;

  &.submit {
    background: #ffba13;
  }

  &.noSubmit {
    background: #f11818;
  }
}

/* List item styles */
.TCFXListItem {
  display: inline-block;
  border: 1px solid #ccc;
  padding: 3px 5px;
  margin: 0 5px;
  border-radius: 6px;
}

/* Collapse styles */
.van-collapse-item {
  border-bottom: 1px solid #dcdcdc;
}
</style>
<style lang="scss">
.unCreateStore {
  .van-cell__title {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    display: flex;
    justify-content: space-between;

    .num {
      color: #909090;
      margin-right: 5px;
    }
  }

  .van-collapse-item__wrapper {
    border-top: 1px solid #dcdcdc;
  }

  .van-collapse-item__title--expanded {
    position: sticky;
    top: 0px;
    z-index: 10;
  }

  .van-collapse-item__content {
    background-color: unset;
    padding: 0;
  }
}
</style>
<style lang="scss">
.van-dialog__confirm,
.van-dialog__confirm:active {
  color: #0057ba;
}

.searchDiv {
  .van-search {
    background: #fff;
  }

  .van-search__action {
    font-size: 14px;
    color: #0057ba;
    font-weight: bold;
    background: #f1f1f1;
    border-bottom-right-radius: 60px;
    border-top-right-radius: 60px;
    border: 1px solid #c1c1c1;
    padding: 0 20px;
  }

  .van-search--show-action {
    padding-right: 12px;
  }

  .van-search__content {
    border: 1px solid #c1c1c1;
    border-bottom-left-radius: 60px;
    border-top-left-radius: 60px;
    background: #f1f1f1;
    border-right: 0;
  }
}
</style>
<style lang="scss" scoped>
.bgcolor {
  background-color: #f5f5f5;
}

.container {
  padding-bottom: 50px;
}

.monthNow {
  height: 48px;
  line-height: 48px;
  text-align: center;
  font-weight: bold;
  padding: 0 15px;
  box-sizing: border-box;
  background-color: #f5f5f5;
  font-size: 16px;

  .CalendarIcon {
    font-size: 24px;
    color: #0057ba;
    position: relative;
    top: 6px;
    margin-left: 10px;
  }
}

.card {
  padding: 10px 16px;
  box-sizing: border-box;

  .title {
    font-size: 15px;
    font-weight: bold;
    color: #333;
    line-height: 22px;
    padding-right: 52px;

    /*word-break: break-all;*/
    .JPABC {
      width: 20px;
      position: relative;
      top: 4px;
      margin-right: 3px;
    }

    .statusIcon {
      padding: 3px;
      font-size: 12px;
      margin: 0 3px;
      color: #fff;
      display: inline-block;
      height: 20px;
      line-height: 16px;
      vertical-align: -1px;
    }

    .submit {
      background: #ffba13;
    }

    .noSubmit {
      background: #f11818;
    }
  }

  .info {
    font-size: 14px;
    color: #909090;
    line-height: 26px;
  }
}

.navBarTOP {
  position: fixed;
  width: 100%;
  z-index: 2;
  top: 0;
}

.cellcontent .centerBtn {
  margin: 0 auto 10px;
  display: block;
  width: 92%;
  border-radius: 5px;
  color: #0057ba;
  border: 1px solid #0057ba;
}

.cellcontent .centerBtn1 {
  background-color: #0057ba;
  color: #fff;
}

.btnbox {
  padding-top: 14px;
  border-top: 1px solid #eee;
  margin: 0 10px;
}

.cellcontent .centerBtn2 {
  margin: 0 auto 10px;
  display: block;
  width: 92%;
  color: #0057ba;
  border-radius: 5px;
  padding: 0;
}

.statstext {
  background-color: #0057ba;
  position: absolute;
  right: 0;
  top: 6px;
  padding: 2px 6px 2px 12px;
  border-bottom-left-radius: 60px;
  border-top-left-radius: 60px;
  color: #fff;
}

.lineGrey {
  height: 10px;
  width: 100%;
  background: #f1f1f1;
}

.cellcontent .van-cell {
  padding: 10px 0;
}

.statstext .van-icon__image {
  height: 0.7em;
}

.visitStoreIco {
  float: left;
  float: left;
  width: 26px;
  text-align: center;
  background-color: #ffba13;
  color: #fff;
  border-radius: 100%;
  margin-left: 14px;
  line-height: 26px;
  height: 26px;
}
</style>
