<template>
  <!-- 代理商页面 -->
  <view v-if="!isFirstload" class="container" :style="appThemeStyle">
    <!-- 页面头部 -->
    <view class="main-header">
      <image class="bg-image bg-dls" src="/static/background/zjx-bg.jpeg" mode="scaleToFill"></image>

      <!-- 用户信息 -->
      <view v-if="isLogin" class="user-info">
        <view class="user-avatar" @click="handlePersonal()">
          <image class="shalou-image" style="width: 50rpx; height: 50rpx" src="/static/background/woshou.png" mode="scaleToFill"></image>
        </view>
        <view class="user-content">
          <!-- 会员昵称 -->
          <view class="nick-name oneline-hide" @click="handlePersonal()">{{ userInfo.nick_name }}</view>
          <!-- 会员等级 -->
          <view v-if="$checkModule('user-grade') && userInfo.grade_id > 0 && userInfo.grade" class="user-grade">
            <view class="user-grade_icon">
              <image
                class="image"
                src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAA0lBMVEUAAAD/tjL/tzH/uDP/uC7/tjH/tzH/tzL/tTH+tTL+tjP/tDD/tTD+tzD/tjL/szD/uDH/tjL/tjL+tjD/tjT/szb/tzL/tTL+uTH+tjL/tjL/tjL/tTT/tjL/tjL+tjH/uTL/vDD/tjL/tjH/tzL9uS//tTL/nBr/sS7/tjH/ujL/szD/uTv+rzf/tzL+tzH+vDP+uzL+tjP+ry7+tDL9ki/7szf/sEX/tTL/tjL+tjL/tTH/tTT/tzH/tzL/tjP/sTX/uTP/wzX+rTn/vDX9vC8m8ckhAAAAOXRSTlMAlnAMB/vjxKWGMh0S6drMiVxPRkEY9PLy0ru0sKagmo5+dGtgVCMgBP716eXWyMGxqJGRe2o5KSmFNjaYAAABP0lEQVQ4y8XS13KDMBAF0AWDDe4t7r3ETu9lVxJgJ/n/X8rKAzHG5TE+Twz3zki7I/g/KXdghIbGJewrU4yzn08Ebgl6TuZzzuOC6W5es3HX6qsSz3NFShRU0MpucytDmOSpu3yULx3CA9RD1HjVedc0jSjqm6ZzhUjDsFDQhSp/OKj5GQvg0+ZCOixsbtDLAeTTOm/yGi8GyIphIVsgH737FEDV44LJa88IRKK/SetrwT9G/GUIr6vXjoy4GXn7+RboVXnghuSjaoGecwQxL2su3CwAKlO+QFoqxI4FMctHQhQd2OhxTu184jWUlI+rMTBTn1/IQcJHQ6GQdZ7pWiDaNdhTt330efISeiqYwQEzQpTlsURJLhzkEmpCPsERfeIUVyXr6MNuIyp5uziW6xURtt7hhGwzmMNJExfO4Bd9X0ZPqAxdNwAAAABJRU5ErkJggg=="
              >
              </image>
            </view>
            <view class="user-grade_name">
              <text>{{ userInfo.grade.name }}</text>
            </view>
          </view>
          <!-- 会员无等级时显示手机号 -->
          <view v-else class="mobile">{{ userInfo.mobile }}</view>
        </view>
      </view>
      <!-- 未登录 -->
      <view v-else class="user-info">
        <view class="user-avatar">
          <image class="user-img" style="width: 80rpx; height: 80rpx" src="/static/background/qiye.png" mode="scaleToFill"></image>
        </view>
        <view class="user-content">
          <view class="nick-name">{{ dlsInfoData.agentsname + '，' + '您好！' }}</view>
          <view class="login-tips">{{ dlsInfoData.agentscustomerid }}</view>
          <!-- <view class="login-tips">点击登录账号-</view> -->
        </view>
      </view>
    </view>

    <!-- 绑定手机号 -->
    <!-- <view v-show="!userInfoData.agentstaxnumber" class="my-mobile" @click="handleBindMobile()">
      <view class="info">点击绑定手机号；及实名证件信息 </view>
      <view class="btn-bind">去绑定</view>
    </view> -->

    <!-- 我的钱包 -->
    <view v-if="false" class="my-asset">
      <view class="asset-left flex-box dis-flex flex-x-around">
        <view v-if="$checkModule('market-recharge')" class="asset-left-item" style="max-width: 200rpx" @click="onTargetWallet">
          <view class="item-value dis-flex flex-x-center">
            <text class="oneline-hide">{{ isLogin ? assets.balance : '--' }}</text>
          </view>
          <view class="item-name dis-flex flex-x-center">
            <text>账户余额</text>
          </view>
        </view>
        <view v-if="$checkModule('market-points')" class="asset-left-item" @click="onTargetPoints">
          <view class="item-value dis-flex flex-x-center">
            <text class="oneline-hide">{{ isLogin ? assets.points : '--' }}</text>
          </view>
          <view class="item-name dis-flex flex-x-center">
            <text>{{ setting[SettingKeyEnum.POINTS.value].points_name }}</text>
          </view>
        </view>
        <view v-if="$checkModule('market-coupon')" class="asset-left-item" @click="onTargetMyCoupon">
          <view class="item-value dis-flex flex-x-center">
            <text class="oneline-hide">{{ isLogin ? assets.coupon : '--' }}</text>
          </view>
          <view class="item-name dis-flex flex-x-center">
            <text>优惠券</text>
          </view>
        </view>
      </view>
      <view v-if="$checkModule('market-recharge')" class="asset-right">
        <view class="asset-right-item" @click="onTargetWallet">
          <view class="item-icon dis-flex flex-x-center">
            <text class="iconfont icon-qianbao"></text>
          </view>
          <view class="item-name dis-flex flex-x-center">
            <text>我的钱包</text>
          </view>
        </view>
      </view>
    </view>

    <!-- 绑定营业执照 -->
    <view v-if="!dlsInfoData.agentstaxnumber" class="my-mobile2" @click="handleLogin">
      <view class="info">还没有认证企业信息</view>
      <view class="btn-bind">点击完善</view>
    </view>

    <view v-else class="my-mobile-true">
      <i-shield-add theme="outline" style="margin-right: 10rpx" size="20" fill="#fff" :strokeWidth="3" strokeLinejoin="bevel" strokeLinecap="square" />
      <view class="info">企业已认证</view>
    </view>

    <!-- 我的服务  fff0 -->
    <view class="my-service" v-if="dlsInfoData.agentstaxnumber">
      <view class="service-title" @click="getCreateOpenid">
        <text>您的企业识别码</text>
        <text style="font-weight: 900">{{ dlsInfoData.agentsqym }}</text>
      </view>
      <view class="service-content uqrCodeBox">
        <view class="uqrCodeText" style="border: none"> 扫一扫下面的二维码图案 </view>
        <uqrcode
          ref="uqrcode"
          class="uqrcode"
          canvas-id="qrcode"
          :value="distribution"
          :options="{margin: 10, areaColor: '', foregroundColor: '', foregroundColor: '#0081ff'}"
        ></uqrcode>
        <view class="uqrCodeText" style="border: none" @click="getCreateOpenid"> 刷新 </view>

        <!-- <view class="uqrCodeText" @click="fuzhi(distribution)">
          <view class="textmsg">{{ distribution }}</view>
          <view class="texButton">复制链接</view>
        </view> -->
      </view>
    </view>
    <view class="r_flex_center fenxiao_order" @click="onTargetOrder()" v-if="dlsInfoData.agentstaxnumber">
      <view class="item-name">查看我的分销订单</view>
    </view>
    <!-- 退出登录 -->
    <view v-if="isLogin" class="my-logout">
      <view class="logout-btn" @click="handleLogout()">
        <text>退出登录</text>
      </view>
    </view>
  </view>
</template>

<script>
import store from '@/store'
import {inArray} from '@/utils/util'
import AvatarImage from '@/components/avatar-image'
import CustomerBtn from '@/components/customer-btn'
import {setCartTabBadge} from '@/core/app'
import SettingKeyEnum from '@/common/enum/setting/Key'
import SettingModel from '@/common/model/Setting' // 网址设置接口
import * as UserApi from '@/api/user'
import * as OrderApi from '@/api/order'
import {checkLogin, filterModules} from '@/core/app'
import storage from '@/utils/storage'
import * as AppApi from '@/api/app'
import StoreModel from '@/common/model/Store'

// 订单操作
const orderNavbar = [
  {
    id: 'all',
    name: '分销订单',
    icon: 'qpdingdan'
  }
  // {
  //   id: 'payment',
  //   name: '待支付',
  //   icon: 'daifukuan',
  //   count: 0
  // },
  // {
  //   id: 'delivery',
  //   name: '待发货',
  //   icon: 'daifahuo',
  //   count: 0
  // },
  // {
  //   id: 'comment',
  //   name: '已经完成',
  //   icon: 'daishouhuo',
  //   count: 0
  // }
]

/**
 * 我的服务
 * id: 标识; name: 标题名称; icon: 图标; type 类型(link和button); url: 跳转的链接
 */
const service = [
  {
    id: 'address',
    name: '人脸核实',
    icon: 'shouhuodizhi',
    type: 'link',
    url: 'pages/address/index'
  },
  {
    id: 'coupon',
    name: '销户',
    icon: 'lingquan',
    type: 'link',
    url: 'pages/coupon/index',
    moduleKey: 'market-coupon'
  },
  {
    id: 'myCoupon',
    name: '变更套餐',
    icon: 'youhuiquan',
    type: 'link',
    url: 'pages/my-coupon/index',
    moduleKey: 'market-coupon'
  },
  {
    id: 'refund',
    name: '退换/售后',
    icon: 'shouhou',
    type: 'link',
    url: 'pages/refund/index',
    count: 0
  },
  {
    id: 'contact',
    name: '在线客服',
    icon: 'kefu',
    type: 'contact'
  },
  {
    id: 'points',
    name: '成为代理商',
    icon: 'jifen',
    type: 'link',
    url: 'pages/login/index',
    moduleKey: 'market-points'
  },
  {
    id: 'orderCenter',
    name: '订单中心',
    icon: 'order-c',
    type: 'link',
    url: 'pages/order/center'
  },
  {
    id: 'help',
    name: '我的帮助',
    icon: 'bangzhu',
    type: 'link',
    url: 'pages/help/index',
    moduleKey: 'content-help'
  }
]

export default {
  components: {
    AvatarImage,
    CustomerBtn
  },
  // 计算属性
  computed: {
    // 计算属性的
    userInfoComputd: () => {
      return storage.get('wx_userinfo')
    }
  },
  data() {
    return {
      inArray,
      // 枚举类
      SettingKeyEnum,
      // 正在加载
      isLoading: true,
      // 首次加载
      isFirstload: true,
      // 是否已登录
      isLogin: false,
      // 系统设置
      setting: {},
      // 当前用户信息
      userInfo: {},
      // 账户资产
      assets: {
        balance: '--',
        points: '--',
        coupon: '--'
      },
      // 我的服务
      service,
      // 订单操作
      orderNavbar,
      // 当前用户待处理的订单数量
      todoCounts: {
        payment: 0,
        deliver: 0,
        received: 0
      },
      wx_qyid: storage.get('wx_qyid'),
      userInfoData: {},
      distribution: 'https://hnapi.kdboss.cn/pages/index/index'
    }
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onLoad(options) {
    uni.stopPullDownRefresh()
    this.onRefreshPage()
    this.userInfoData = storage.get('wx_userinfo')
    if (!storage.get('wx_dlsinfo')) {
      this.getPageData()
    } else {
      this.dlsInfoData = storage.get('wx_dlsinfo') || {agentsname: '加载中', agentscustomerid: '加载中'}
    }
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow(options) {
    // 获取图形验证码
    // this.getCaptcha()
  },

  methods: {
    // 刷新页面
    onRefreshPage() {
      // 更新购物车角标
      // setCartTabBadge()
      // 判断是否已登录
      // this.isLogin = checkLogin()
      // 获取页面数据
      this.getPageData()
    },

    chsCode() {
      this.distribution = ''
      this.distribution = 'https://hnapi.kdboss.cn/pages/index/index'
    },

    // 二维码链接
    async getCreateOpenid() {
      this.distribution = ''
      const resAgents = await AppApi.createOpenid({openid: storage.get('wx_openid')})
      this.distribution = resAgents.Data
      console.log('二维码连接', this.distribution)
    },

    // 复制文本
    fuzhi(value) {
      const oInput = document.createElement('input')
      oInput.value = value
      document.body.appendChild(oInput)
      oInput.select()
      document.execCommand('Copy')
      uni.showToast({
        title: '复制成功',
        icon: 'success',
        duration: 2000
      })
    },

    // 获取页面数据
    async getPageData(callback) {
      console.log('下拉刷新user')
      const app = this
      // 更新user信息
      await StoreModel.getCustomerData()
      // 更新二维码
      await this.getCreateOpenid()
      app.isFirstload = false
      uni.stopPullDownRefresh()
    },

    // 初始化我的服务数据
    async initService() {},

    // 初始化订单操作数据
    initOrderTabbar() {},

    // 获取商城设置
    getSetting() {
      return new Promise(async (resolve, reject) => {
        this.dlsInfoData = {agentsname: '加载中', agentscustomerid: '加载中'}
        const resAgents = await AppApi.getAgents({'agentsid.value': storage.get('wx_qyid')})
        console.log('更新代理商信息', resAgents)
        if (resAgents.Data) {
          storage.set('wx_dlsinfo', resAgents.Data.Data[0])
          this.dlsInfoData = storage.get('wx_dlsinfo')
          this.userInfoData = storage.get('wx_userinfo')

          // 如果不是代理商，跳转到注册页面
          if (this.userInfoData.customertype != '代理商') {
            this.$navTo('pages/firm/index')
          }

          resolve(true)
        } else {
          resolve(false)
        }
      })
    },

    // 获取当前用户信息
    getUserInfo() {
      const app = this
      return new Promise((resolve, reject) => {
        resolve(true)
      })
    },

    // 获取账户资产
    getUserAssets() {
      const app = this
      return new Promise((resolve, reject) => {
        resolve(true)
      })
    },

    // 获取当前用户待处理的订单数量
    getTodoCounts() {
      const app = this
      return new Promise((resolve, reject) => {
        resolve(true)
      })
    },

    // 跳转到登录页
    handleLogin() {
      this.$navTo('pages/firm/authentication/index')
    },

    // 跳转到绑定手机号页面
    handleBindMobile() {
      // this.$navTo('pages/user/bind/index')
      this.$navTo('pages/user/certificate/index')
    },

    // 跳转到修改个人信息页
    handlePersonal() {
      this.$navTo('pages/user/personal/index')
    },

    // 退出登录
    handleLogout() {
      const app = this
      uni.showModal({
        title: '友情提示',
        content: '您确定要退出登录吗?',
        success(res) {
          if (res.confirm) {
            store.dispatch('Logout', {}).then((result) => app.onRefreshPage())
          }
        }
      })
    },

    // 跳转到钱包页面
    onTargetWallet() {
      this.$toast('开发中,敬请期待')
      return
      this.$navTo('pages/wallet/index')
    },

    // 跳转到订单页
    onTargetOrder(item) {
      this.$navTo('pages/order/index', {
        dataType: 'all'
      })
    },

    // 跳转到我的积分页面
    onTargetPoints() {
      this.$toast('开发中,敬请期待')
      return
      this.$navTo('pages/points/log')
    },

    // 跳转到我的优惠券页
    onTargetMyCoupon() {
      this.$toast('开发中,敬请期待')
      return
      this.$navTo('pages/my-coupon/index')
    },

    // 跳转到服务页面
    handleService({url}) {
      console.log(url, 'url')
      this.$navTo(url)
    }
  },

  /**
   * 下拉刷新
   */
  onPullDownRefresh() {
    // 获取首页数据
    this.getPageData(() => {
      uni.stopPullDownRefresh()
    })
  }
}
</script>

<style lang="scss" scoped>
.user-img {
  border: 2px solid #0081ff;
  padding: 10rpx;
  border-radius: 100%;
  background: #a7e0fb;
}
.container {
  padding-bottom: 60rpx;
  height: 100vh;
  background: #fff;
}

// 页面头部
.main-header {
  // background-color: #FBF7EF;
  position: relative;
  width: 100%;
  height: 280rpx;
  background-size: 100% 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding-left: 30rpx;

  .bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
  }

  .bg-dls {
    height: 1200rpx;
  }

  .user-info {
    display: flex;
    align-items: center;
    z-index: 1;
    width: 100%;

    .user-content {
      display: flex;
      flex-direction: column;
      justify-content: center;
      margin-left: 30rpx;
      color: #0081ff;
      width: 100%;

      .nick-name {
        font-size: 34rpx;
        font-weight: bold;
        width: 100%;
        width: 600rpx;
        overflow: hidden; //超出的文本隐藏
        text-overflow: ellipsis; //溢出用省略号显示
        white-space: nowrap; //溢出不换行
        margin-right: 20rpx;
      }

      .mobile {
        margin-top: 15rpx;
        font-size: 28rpx;
      }

      .user-grade {
        align-self: baseline;
        display: flex;
        align-items: center;
        background: #3c3c3c;
        margin-top: 12rpx;
        border-radius: 10rpx;
        padding: 4rpx 12rpx;

        .user-grade_icon .image {
          display: block;
          width: 32rpx;
          height: 32rpx;
        }

        .user-grade_name {
          margin-left: 5rpx;
          font-size: 26rpx;
          color: #eee0c3;
        }
      }

      .login-tips {
        margin-top: 12rpx;
        font-size: 30rpx;
      }
    }
  }
}

// 角标组件
.item-badge {
  position: absolute;
  top: 0;
  right: 55rpx;
  // background: $main-bg;
  background: #fa2209;
  color: #fff;
  border-radius: 100%;
  min-width: 38rpx;
  height: 38rpx;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rpx;
  font-size: 24rpx;
}

// 我的钱包
.my-asset {
  display: flex;
  background: #fff;
  padding: 40rpx 0;

  .asset-right {
    width: 200rpx;
    border-left: 1rpx solid #eee;
  }

  .asset-right-item {
    text-align: center;
    color: #545454;

    .item-icon {
      font-size: 44rpx;
    }

    .item-name {
      margin-top: 14rpx;
      font-size: 28rpx;
    }
  }

  .asset-left-item {
    max-width: 183rpx;
    text-align: center;
    color: #666;
    padding: 0 16rpx;

    .item-value {
      font-size: 34rpx;
      color: $main-bg;
    }

    .item-name {
      margin-top: 14rpx;
      font-size: 28rpx;
    }
  }
}

// 订单操作
.order-navbar {
  display: flex;
  margin: 20rpx auto 20rpx auto;
  padding: 20rpx 0 26rpx 0;
  width: 94%;
  box-shadow: 0 1rpx 5rpx 0px rgba(0, 0, 0, 0.05);
  font-size: 30rpx;
  border-radius: 5rpx;
  background: #fff;

  &-item {
    position: relative;
    width: 25%;

    .item-icon {
      text-align: center;
      margin: 0 auto;
      padding: 10rpx 0;
      color: #545454;
      font-size: 44rpx;
    }

    .item-name {
      font-size: 28rpx;
      color: #545454;
      text-align: center;
      margin-right: 10rpx;
    }
  }
}

.fenxiao_order {
  padding: 30rpx;
  color: #0081ff;
  .item-name {
    border-bottom: 1px solid #0081ff;
  }
}

// 我的服务
.my-service {
  margin: 22rpx auto 22rpx auto;
  padding: 22rpx 0;
  width: 94%;
  box-shadow: 0 1rpx 5rpx 0px rgba(0, 0, 0, 0.05);
  border-radius: 5rpx;
  background: #ffffff00;
  color: #0081ff;
  background-image: linear-gradient(120deg, #84fab0 0%, #8fd3f4 100%);
  background-image: linear-gradient(120deg, #a1c4fd70 0%, #c2e9fb6c 100%);
  .uqrCodeBox {
    padding: 20rpx 0rpx;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    .uqrcode {
      overflow: hidden;
    }
    .uqrCodeText {
      display: flex;
      justify-content: center;
      border: 1px solid #0081ff;
      border-radius: 15rpx;
      padding: 10rpx 20rpx;
      font-size: 26rpx;
      .textmsg {
        width: 400rpx;
        overflow: hidden; //超出的文本隐藏
        text-overflow: ellipsis; //溢出用省略号显示
        white-space: nowrap; //溢出不换行
        margin-right: 20rpx;
      }
    }
  }

  .service-title {
    display: flex;
    justify-content: space-between;
    padding: 0rpx 24rpx;
    font-size: 30rpx;
  }

  .service-content {
    margin-bottom: -20rpx;

    .service-item {
      position: relative;
      width: 25%;
      float: left;
      margin-bottom: 30rpx;

      .item-icon {
        text-align: center;
        margin: 0 auto;
        padding: 14rpx 0;
        color: $main-bg;
        font-size: 44rpx;
      }

      .item-name {
        font-size: 28rpx;
        color: #545454;
        text-align: center;
      }
    }
  }
}

// 退出登录
.my-logout {
  display: flex;
  justify-content: center;
  margin-top: 50rpx;

  .logout-btn {
    width: 60%;
    margin: 0 auto;
    font-size: 28rpx;
    color: #616161;
    border-radius: 20rpx;
    border: 1px solid #dcdcdc;
    padding: 16rpx 0;
    text-align: center;
  }
}

// 绑定手机号 样式1
.my-mobile {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16rpx 40rpx;
  background: #fcebd1;

  .info {
    color: #cd8c0c;
    font-size: 28rpx;
  }

  .btn-bind {
    padding: 8rpx 24rpx;
    background-color: #eab766;
    color: #fff;
    border-radius: 30rpx;
    font-size: 26rpx;
    text-align: center;
  }
}

.my-mobile-true {
  display: flex;
  align-items: center;
  padding: 12rpx 40rpx;
  width: 100%;
  box-shadow: 0 1rpx 5rpx 0px rgba(0, 0, 0, 0.05);
  font-size: 26rpx;
  color: #fff;
  background: #60d08a;
}

// 绑定手机号 样式2
.my-mobile2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20rpx auto 20rpx auto;
  padding: 12rpx 40rpx;
  width: 94%;
  box-shadow: 0 1rpx 5rpx 0px rgba(0, 0, 0, 0.05);
  font-size: 30rpx;
  border-radius: 5rpx;
  color: red;
  background: #ffe7e7;
  border: 1px solid red;

  .info {
    // color: #cd8c0c;
    font-size: 26rpx;
  }

  .btn-bind {
    padding: 8rpx 24rpx;
    background-color: #fa3534;
    color: #fff;
    border-radius: 30rpx;
    font-size: 26rpx;
    text-align: center;
  }
}
</style>
