<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>个人业绩-参与商户-爽客邦</title>
    <meta name="keywords" content="个人业绩-参与商户-爽客邦">
    <meta name="description" content="个人业绩-参与商户-爽客邦">
    <meta content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,shrink-to-fit=no,user-scalable=no" name="viewport" viewport="cover">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
    <meta content="telephone=no" name="format-detection">
    <meta content="email=no" name="format-detection">
    <meta name="apple-mobile-web-app-title" content="个人业绩-参与商户-爽客邦">
    <meta http-equiv="Cache-Control" content="no-siteapp">
    <link rel="stylesheet" href="./static/css/main.css">
  </head>
  <body class="bgc-back merchant_personal_actives pb0">
    <div class="merchant_achievement" id="app" v-cloak>
      <van-nav-bar class="camp_title user_title_normal titlef16 left_icon_cfff" left-arrow title="个人业绩-参与商户" v-if="toptitleisshow" @click-left="goback" @click-right="mymerchant">
        <template #left> 
          <van-icon name="arrow-left"></van-icon>
        </template>
        <template #right> 
          <div class="cfff f12">我的商户</div>
        </template>
      </van-nav-bar>
      <div class="merchant_achievement_topblock"></div>
      <van-tabs class="toptab" v-model="active" @click="changetab" title-active-color="#FF5A32" title-inactive-color="#333" line-width="32" line-height="2"> 
        <van-tab>
          <template #title>
            <div @click="choosetime"><span>{{nowdate}}</span>
              <van-icon name="arrow"></van-icon>
            </div>
          </template>
          <van-row class="main ovh rel" v-if="active === 0">
            <van-col class="infobox infobox_personal">
              <van-pull-refresh v-model="refreshing" @refresh="onRefresh"> 
                <van-list v-model="loading" :finished="finished" finished-text="没有更多数据了" @load="onLoad" :immediate-check="false">
                  <div class="panel bgcfff" v-for="obj in activeinfo">
                    <div class="toppanel df">
                      <div class="block"></div>
                      <div class="f14 c333 b">{{obj.Date}}</div>
                    </div>
                    <div class="mainpanel"> 
                      <div class="title df c333 f16 flexsb">
                        <div>总参与</div>
                        <div>{{obj.ActTotal}}户</div>
                      </div>
                      <div class="df c666 f12 flexsb" v-for="item in obj.ProductList" @click="detail(item.Id)">
                        <div class="type">{{item.Name}}</div>
                        <div class="num_personal df cm"><span>{{item.ActCount}}户</span>
                          <van-icon name="arrow"> </van-icon>
                        </div>
                      </div>
                    </div>
                  </div>
                </van-list>
              </van-pull-refresh>
            </van-col>
          </van-row>
        </van-tab>
        <van-tab>
          <template #title><span>近半年</span></template>
          <van-row class="main rel" v-if="active === 1">
            <van-col class="infobox infobox_personal">
              <div class="panel bgcfff" v-for="obj in activeinfo">
                <div class="toppanel df">
                  <div class="block"></div>
                  <div class="f14 c333 b">{{obj.Month}}</div>
                </div>
                <div class="mainpanel"> 
                  <div class="title df c333 f16 flexsb">
                    <div>总参与</div>
                    <div>{{obj.ActTotal}}户</div>
                  </div>
                  <div class="df c666 f12 flexsb" v-for="item in obj.ProductList" @click="detail(item.Id)">
                    <div class="type">{{item.Name}}</div>
                    <div class="num_personal df cm"><span>{{item.ActCount}}户</span>
                      <van-icon name="arrow"> </van-icon>
                    </div>
                  </div>
                </div>
              </div>
            </van-col>
          </van-row>
        </van-tab>
      </van-tabs>
      <van-popup class="product_mymerchant_transaction" v-model="showDate" position="bottom" :style="{ height: '50%' }" v-cloak>
        <van-datetime-picker v-model="currentDate" type="year-month" title="选择年月" :min-date="minDate" :max-date="maxDate" @cancel="showDate = false" :formatter="formatter" @confirm="onConfirmDate"></van-datetime-picker>
      </van-popup>
    </div>
    <script src="./static/js/klm-vv.min.js"></script>
    <script src="./static/js/klm-axios-config.js"></script>
    <script>
      // 通过 CDN 引入时不会自动注册 Lazyload 组件
      // 可以通过下面的方式手动注册
      Vue.use(vant.Lazyload);
      
      // 在 #app 标签下渲染一个按钮组件
      let app = new Vue({
        el: '#app',
        data() {
          return {
            toptitleisshow:true,
            active:0,
            loading: false,
            finished: false,
            refreshing: false,
            activeinfo:[
            ],
            showDate: false,
            minDate: new Date(2020, 0, 1),
            maxDate: new Date(),
            currentDate: new Date(),
            nowdate:'',
            pageinfo:{
              PageSize:10,
              PageNum:1
            },
            ismonth:true,
          };
        },
        created() {
          this.onConfirmDate();
        },
        methods: {
          onLoad() {
              if (this.refreshing) {
                this.activeinfo = [];
                this.refreshing = false;
                this.pageinfo.PageNum = 0;
              }
              this.pageinfo.PageNum++;
              this.getmonthinfo();
          },
          onRefresh() {
            // 清空列表数据
            this.finished = false;
            // 重新加载数据
            // 将 loading 设置为 true,表示处于加载状态
            this.loading = true;
            this.onLoad();
          },
          changetab(){
            if(this.active === 0 && !this.ismonth) {
              this.activeinfo = []
              this.getmonthinfo();
              this.ismonth = true;
            }
            if(this.active === 1){
              this.activeinfo = []
              this.gethalfyearinfo();
              this.ismonth = false;
            };
          },
          choosetime(){
            if(this.active !== 0) return
            this.showDate = true
          },
          formatter(type, val) {
            if (type === 'year') {
              return `${val}年`;
            } else if (type === 'month') {
              return `${val}月`;
            } else if (type === 'day') {
              return `${val}日`;
            }
            return val;
          },
          onConformateDate(){
            return formatDate(this.currentDate.getFullYear(),this.currentDate.getMonth() + 1);
          },
          onConfirmDate() {
            this.activeinfo = [];
            this.showDate = false;
            this.nowdate = this.currentDate.getFullYear() + '-' + (this.currentDate.getMonth() + 1);
            this.getmonthinfo();
          },
          async getmonthinfo(){
            PublicLib.ShowLoading({Message:''});
            const UserId = PublicLib.getCookieInfo('userId');
            const res = await getRequest('/api/v1/activereward/actmerchantformonth',JSON.stringify({...this.pageinfo,Month:this.onConformateDate(),UserId}));
            if(res.status !== '1')return tips('月个人业绩获取失败!');
            PublicLib.HideLoading();
            if(res.data.length < this.pageinfo.PageSize) {
              this.finished = true
            };
            this.activeinfo.push(...res.data);
            this.loading = false;
          },
          async gethalfyearinfo(){
            PublicLib.ShowLoading({Message:''});
            const UserId = PublicLib.getCookieInfo('userId');
            const res = await getRequest('/api/v1/activereward/actmerchantforhalfyear',JSON.stringify({...this.pageinfo,UserId}));
            if(res.status !== '1')return tips('半年个人业绩获取失败!');
            PublicLib.HideLoading();
            this.activeinfo = res.data;
          },
          goback(){
            PublicLib.GoBack({Level:1});
          },
          mymerchant(){
            PublicLib.Goto({Url:'merchant-list'});
          },
          detail(id){
            PublicLib.putCookieInfo('producttypeId', id);
            PublicLib.Goto({Url:'merchant-personal-detail'});
          }
        }
      });
    </script>
  </body>
</html>