<template>
  <div class="AppMerchantManage">
    <AiTopFixed>
      <u-search placeholder="请输入姓名、手机号、店面" :show-action="false" v-model="keyword" @search="current=1,getList()"/>
    </AiTopFixed>
    <div class="list">
      <div class="item" v-for="item in list" :key="item.id" @click="linkTo('./detail?id=' + item.id)">
        <div class="title">
          <img :src="$cdn + 'xincheng/icon.png'" alt="">
          <p>{{ item.businessName }}</p>
          <span>店员 ({{ item.detailList ? item.detailList.length : 0 }}) </span>
        </div>
        <div class="info">
          <img :src="$cdn + 'xincheng/dh.png'" alt="">
          <div>{{ item.bossName }} {{ item.telephone }}</div>
        </div>
        <div class="info">
          <img :src="$cdn + 'xincheng/dz@2x.png'" alt="">
          <div>{{ item.businessAddress }}</div>
        </div>
        <div class="info" style="margin-bottom: 0;">
          <img :src="$cdn + 'xincheng/wgz@2x.png'" alt="">
          <div>李毅-网格长</div>
        </div>
      </div>
      <AiEmpty v-if="!list.length"></AiEmpty>
    </div>
    <div class="btn" @click="linkTo('./add')">新增商户</div>
  </div>
</template>

<script>
  import {mapState} from 'vuex'

  export default {
    name: 'AppMerchantManage',
    appName: '商户管理',
    data() {
      return {
        keyword: '',
        current: 1,
        pages: 2,
        list: []
      }
    },

    computed: {...mapState(['user'])},

    onLoad () {
      this.$loading()
      this.getList()
      uni.$on('update', () => {
        this.current = 1
        this.getList()
      })
    },

    onShow() {
      document.title = "商户管理"
    },

    methods: {
      getList() {
        if (this.current > this.pages) return

        this.$http.post('/app/appcompany/list', null, {
          params: {
            size: 10,
            current: this.current,
            con: this.keyword,
          },
        }).then((res) => {
          if (res.code == 0) {
            this.list = this.current > 1 ? [...this.list, ...res.data.records] : res.data.records
            this.pages = res.data.pages
          }
        })
      },

      linkTo (url) {
        uni.navigateTo({
          url
        })
      }
    },

    onReachBottom() {
      this.current ++
      this.getList()
    }
  }
</script>

<style lang="scss" scoped>
.AppMerchantManage {
  .list{
    padding: 24px 30px 136px;
    .item{
      width: 100%;
      background: #FFF;
      border-radius: 16px;
      padding: 32px 24px 32px 32px;
      box-sizing: border-box;
      margin-bottom: 30px;

      &:active {
        background: #eee;
      }
      .title{
        margin-bottom: 38px;
        img{
          width: 72px;
          height: 72px;
          margin-right: 16px;
          vertical-align: middle;
        }
        p{
          display: inline-block;
          width: 400px;
          font-size: 32px;
          font-family: PingFangSC-Medium, PingFang SC;
          font-weight: 500;
          color: #000;
          line-height: 32px;
        }
        span{
          display: inline-block;
          width: calc(100% - 488px);
          text-align: right;
          font-size: 24px;
          font-family: PingFangSC-Regular, PingFang SC;
          color: #999;
          line-height: 24px;
        }
      }
      .info{
        line-height: 1;
        margin-bottom: 20px;
        img{
          width: 28px;
          height: 28px;
          margin-right: 16px;
        }
        div{
          display: inline-block;
          width: calc(100% - 44px);
          word-break: break-all;
          font-size: 28px;
          font-family: PingFangSC-Regular, PingFang SC;
          color: #333;
          line-height: 40px;
          vertical-align: text-top;
        }
      }
    }
  }
  .btn{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    height: 112px;
    line-height: 112px;
    background: #3975C6;
    box-shadow: inset 0px 2px 0px 0px #EEEEEE;
    font-size: 32px;
    font-family: PingFangSC-Medium, PingFang SC;
    font-weight: 500;
    color: #FFF;
  }
}
</style>
