<template>
	<view class="custom-content">
    <!--顶部搜索框-->
    <view class="search-content">
      <view class="search-box">
        <text class="iconfont icon-sousuo" @click="getStaffList(1)"></text>
        <input class="search-input" type='text' placeholder='请输入员工名称' v-model="search.keyword" @input="getStaffList(1)" />
      </view>
    </view>
    <!-- 员工列表 -->
    <view class="custom-list">
      <view class="list-item" v-for="(item,index) in list" :key="index">
        <view class="left-avatar">
          <image v-if="item.avatar.length > 10" :src="item.avatar" mode="widthFix"/>
        </view>
        <view class="center-info">
          <view class="info-top">{{ item.nickname }}</view>
          <view class="info-bottom">UID：{{ item.uid }}</view>
        </view>
        <view class="right-btn" v-if="uid != item.uid">
          <view class="give-btn edit-btn" @click="goToEditPage(item.service_id)">编辑</view>
          <view class="give-btn del-btn" @click="delInfo(item.service_id)">删除</view>
        </view>
      </view>
    </view>
    <!--添加按钮-->
    <view class="group-btn">
      <view class="add-btn" @click="addStaff()">添加员工</view>
    </view>
    <!-- 添加方式弹框 -->
    <uni-popup ref="addTypeList" type="bottom">
      <view class="add-type-content">
        <view class="add-type-box" @click="goToEditPage">手动添加</view>
        <view class="add-type-box" @click="createQrCode">二维码邀请</view>
      </view>
    </uni-popup>
    <!--二维码-->
    <uni-popup ref="qrCodePopup" type="center">
      <view class="qr-code-content">
        <image class="image" :src="qrCode"></image>
        <view class="close-qr-code" @click="closeQrCode()">关闭</view>
      </view>
    </uni-popup>
	</view>
</template>

<script>
import {mapGetters} from "vuex";
import {getStaffList,delStaff,staffInviteQrCode} from "@/api/service";
export default {
  name: 'custom',
  components: {},
  computed: {
    ...mapGetters(['isLogin','uid', 'userInfo', 'viewColor'])
  },
  data() {
    return {
      mer_id: 0,
      // 员工列表
      list: [],
      search:{
        page: 1,
        limit: 20,
        keyword: '',
      },
      // 二维码
      qrCode: '',
    }
  },
  onLoad: function(options) {
    this.mer_id = options.mer_id || 0;
    if(this.mer_id <= 0){
      uni.showModal({
        title: '提示',
        content: '非法访问，参数不明确！',
        success: function success(res) {
          uni.navigateBack();
        }
      });
    }
    // 获取用户列表
    this.getStaffList(1);
  },
  methods: {
    // 提货记录
    getStaffList(page) {
      // 初始化
      let _this = this;
      if(Number(page) == 1) _this.list = [];
      // 请求参数处理
      _this.search.page = Number(page) > 0 ? Number(page) : _this.search.page;
      let search = Object.assign({},_this.search);
      search.mer_id = _this.mer_id;
      // 请求
      getStaffList(search).then(res => {
        let list = res.data.list || {};
        if (Object.values(list).length > 0) {
          _this.list = _this.$util.SplitArray(list, _this.list);
          _this.$set(_this, 'list', _this.list);
          _this.search.page++;
        }
      }).catch(err => {
        this.$util.Tips({
          title: err
        });
      });
    },
    // 删除信息
    delInfo(service_id){
      let _this = this;
      uni.showModal({
        title: '确认删除当前员工？',
        success: (res) => {
          if (res.confirm) {
            let params = {
              service_id: service_id,
              mer_id: _this.mer_id
            };
            delStaff(params).then(res => {
              this.$util.Tips({
                title: '删除成功'
              }, () => {
                _this.getStaffList(1)
              });
            }).catch(err => {
              this.$util.Tips({
                title: err
              });
            });
          }
        }
      });
    },
    // 点击添加员工
    addStaff(){
      this.$refs.addTypeList.open('bottom');
    },
    // 二维码邀请 - 生成二维码
    createQrCode(){
      let _this = this;
      staffInviteQrCode({ mer_id: _this.mer_id }).then(res => {
        if (res.status == 200) {
          _this.qrCode = res.data.qr_code || '';
          _this.$refs.addTypeList.close();
          _this.$refs.qrCodePopup.open('center');
        }
      }).catch(err => {
        this.$util.Tips({
          title: err
        });
      });
    },
    // 关闭二维码
    closeQrCode(){
      this.$refs.qrCodePopup.close();
    },
    // 进入员工编辑页面
    goToEditPage(service_id){
      let path = '/pages/admin/business/edit_staff?mer_id=' + this.mer_id;
      if(Number(service_id) > 0) path += '&service_id=' +service_id;
      uni.navigateTo({
        url: path,
      });
    },
  },
  // 触底事件
  onReachBottom() {
    this.getStaffList();
  }
}
</script>

<style scoped lang="scss">
.custom-content{
  // 搜索框
  .search-content{
    width: 100vw;
    background: url("@/static/images/custom/custom_top_bg.jpg") no-repeat;
    padding: 20rpx 30rpx;

    .search-box{
      width: 100%;
      height: 70rpx;
      padding: 10rpx 15rpx;
      background: #FFFFFF;
      border-radius: 10rpx;
      display: inline-flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: flex-start;
      align-items: center;
      font-size: 28rpx;

      .icon-sousuo{
        width: calc(70rpx - 15rpx);
        padding-right: 15rpx;
        height: calc(70rpx - (10rpx * 2));
        line-height: calc(70rpx - (10rpx * 2));
        text-align: center;
      }
      .search-input{
        width: calc(100% - 70rpx + 15rpx);
        height: calc(70rpx - (10rpx * 2));
      }
    }
  }
  // 员工列表
  .custom-list{
    width: 100vw;
    background: #FFFFFF;
    display: inline-flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    .list-item:not(:last-child){
      border-bottom: 2rpx solid #f6f6f6;
    }
    .list-item{
      --item-height-value-: 100rpx;

      width: 100vw;
      padding: 20rpx 30rpx;
      display: inline-flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: flex-start;
      align-items: center;
      .left-avatar{
        width: 100rpx;
        height: var(--item-height-value-);
        display: inline-flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        image{
          width: 80rpx !important;
          height: 80rpx !important;
          border-radius: 50% !important;
        }
      }
      .center-info{
        width: calc(100% - 100rpx - 200rpx);
        height: var(--item-height-value-);
        display: inline-flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: center;
        padding-left: 10rpx;
        .info-top{
          width: 100%;
          height: calc(100rpx - 40rpx);
          display: inline-flex;
          flex-direction: row;
          flex-wrap: nowrap;
          align-items: center;
          justify-content: flex-start;
          font-size: 28rpx;
        }
        .info-bottom{
          width: 100%;
          height: 40rpx;
          line-height: 40rpx;
          font-size: 26rpx;
          color: #9e9e9e;
        }
      }
      .right-btn{
        width: 200rpx;
        height: var(--item-height-value-);
        display: inline-flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        .give-btn{
          padding: 6rpx 15rpx;
          border-radius: 50rpx;
          font-size: 26rpx;
          color: #FFFFFF;
          width: 95rpx;
          text-align: center;
        }
        .edit-btn{
          background: #409eff;
        }
        .del-btn{
          background: #f56c6c;
        }
      }
    }
  }
  // 添加员工
  .group-btn{
    width: 100vw;
    position: fixed;
    bottom: 100rpx!important;
    left: 0!important;
    padding: 0 30rpx;
    display: inline-flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    .add-btn{
      height: 80rpx;
      line-height: 80rpx;
      width: 100%;
      text-align: center;
      font-size: 30rpx;
      color: #fff;
      background-color: #409eff;
      border-color: #409eff;
      border-radius: 15rpx;
    }
  }
  // 添加员工方式弹框
  .add-type-content{
    width: 100%;
    background: #FFFFFF;
    padding: 20rpx;
    display: inline-flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    .add-type-box{
      height: 70rpx;
      line-height: 70rpx;
      color: #fff;
      background-color: #409eff;
      border-color: #409eff;
      width: 80%;
      border-radius: 100rpx;
      font-size: 30rpx;
      text-align: center;
    }
    .add-type-box:first-child{
      margin-bottom: 20rpx;
      background-color: #e6a23c!important;
      border-color: #e6a23c!important;
    }
  }
  // 二维码弹框
  .qr-code-content{
    width: 80vw;
    .image{
      width: 80vw;
      height: 80vw;
    }
    .close-qr-code{
      position: fixed;
      top: 35rpx;
      right: 70rpx;
      color: #FFFFFF;
      border: 2rpx solid #FFFFFF;
      height: 40rpx;
      line-height: 36rpx;
      padding: 0 20rpx;
      border-radius: 50rpx;
    }
  }
}
</style>
