// pages/HomeSeller/HomeSeller.js
// var WxParse = require('../../../wxParse/wxParse.js');
var app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    language: '',
    category: [],
    mainInfo: {},
    telephone: "",
    path: '',
    title: '',
    info: {},
    infoShow: false,
    // pet_status: false,
    //more
    isLoadMore: true,
    page: 1,
    total_page: 0,
    
    isShow: false,
    //
    store_member: [],
    store_room: [], //直播间列表

    micro_communities: [],
    get_recommend_goods: [],
    commentList: [],
    //门店配送 start +++++++++++++++++++++++
    delivery_note: "", //门店配送说明
    delivery_area: [
      [116.403322, 39.920255]
    ], // 配送范围经纬度
    locations: [116.403322, 39.920255], //门店经纬度
    delivery_status: 0, //是否开启门店配送
    markers_2: [{ // 获取返回结果，放到mks数组中
      latitude: 23.099994,
      longitude: 113.324520,
      iconPath: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png", //图标路径
      width: 20,
      height: 25,
      callout: {
        padding: '10rpx',
        borderRadius: '5rpx'
      }
    }],
    polygons_2: [{
      points: [],
      fillColor: "#FF88887F",
      strokeColor: "#FFF",
      strokeWidth: 2,
      zIndex: 1
    }],
    delivery: {
      longitude: "113.324520",
      latitude: "23.099994"
    },
    delivery_amount: 0, //门店起送金额
    // end ---------------------------
    // 门店独立余额
    // 1:显示余额模块0:不显示模块
    is_open: 0,
    // 余额名称
    balanceTitle: '',
    // 	会员拥有该门店的余额数量
    member_balance: '',
    // 	1:显示充值按钮0:不显示充值按钮
    show_button: 0,
    // 是否显示二维码
    show_qr_code: false,
    // 门店独立余额 end

    tabList: [],
    menuList: [], //标签的数组集合
    tabName: "门店详情",
    tabIndex: 0,
    isLoading: false //是否处于请求状态
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    if (options.scene) {
      let scene = decodeURIComponent(options.scene);
      if (scene) {
        var info_arr = [];
        info_arr = scene.split(',');
        for (let i = 0; i < info_arr.length; i++) {
          let chil_arr = [];
          chil_arr = info_arr[i].split('=');
          console.log(chil_arr);
          if (chil_arr[0] == 'store_id') {
            this.setData({
              store_id: chil_arr[1]
            });
          }
          if (chil_arr[0] == 'mid') {
            app._setMid(chil_arr[1]);
          }
        }
      }
    }
    if (options.store_id) {
      this.setData({
        store_id: options.store_id
      });
    }
    this.getStoreInfo();
    this.getBalance();
    // this.checked_pet()
  },
  toStoreBalance(e) {
    let key = e.currentTarget.dataset.key;
    if (key == 'balance') {
      wx.navigateTo({
        url: '/packageI/independenceBalance/storeBalance/balance_recharge?store_id=' + this.data.store_id,
      });
    } else {
      wx.navigateTo({
        url: '/packageI/independenceBalance/independenceBalance?store_id=' + this.data.store_id,
      });
    }
  },
  copybtn(e) {
    let wechatCode = e.currentTarget.dataset.wechat;
    wx.setClipboardData({
      data: wechatCode ? wechatCode : '',
      success(res) {
        wx.showToast({
          icon: 'none',
          title: '复制成功',
          duration: 1000
        });
      }
    });
  },
  chooseTab(e) {
    let item = e.currentTarget.dataset.item;
    this.setData({
      tabIndex: e.currentTarget.dataset.index,
      tabName: item.name
    });
    if (this.data.tabIndex == '门店活动') {
      wx.navigateTo({
        url: '/packageD/ActivityDetail/ActivityDetail?id=' + tab.id + '&store_id=' + this.data.store_id
      });
    } else if (this.data.tabIndex == '赛车成绩') {
      wx.navigateTo({
        url: '/packageH/turmaroundTime/turmaroundIndex/turmaroundIndex?id=' + this.data.store_id,
      });
    } else if (item.value == 80){
      wx.navigateTo({
        url: '/packageF/storeSign/storeSign/storeSign?id='+this.data.store_id,
      })
      return
    }

    this.getTabsData(); //请求标签数据
  },
  getTabsData() {
    if (!this.data.menuList[this.data.tabIndex].url) {
      // getStoreInfo()方法返回并处理menuList数组
      // 如该标签数据需要请求api获取，让后端返回请求接口的api;
      console.log("menu_list该标签没有返回请求api");
      return;
    }
    if (this.data.menuList[this.data.tabIndex].list.length > 0) {
      this.data.isLoadMore = this.data.menuList[this.data.tabIndex].isLoadMore;
      return;
    }
    let _totalPage = 1;
    let _list = [];
    this.data.isLoading = true;
    let urlStr = app.getNetAddresss(this.data.menuList[this.data.tabIndex].url);
    app._postNetWork({
      url: urlStr,
      data: {
        page: 1,
        store_id: this.data.store_id
      },
      success: (resdata) => {
        let res = resdata.data;
        if (res.result == 1) {
          if (this.data.tabName == "门店微贴") {
            _totalPage = res.data.last_page;
            _list = this.setCommunities(res.data.data);
          } else if (this.data.tabName == "门店员工") {
            _list = res.data;
          } else if (res.data?.data) {
            _totalPage = res.data.last_page;
            _list = res.data.data;
          } else {
            console.log("getTabsData()::error", res.data);
          }
          this.data.isLoadMore = true;
          this.data.menuList[this.data.tabIndex].isLoadMore = true;
          this.data.menuList[this.data.tabIndex].total_page = _totalPage;
          if (!this.data.menuList[this.data.tabIndex].total_page) {
            this.data.menuList[this.data.tabIndex].total_page = 0;
          }
          this.setData({
            ['menuList[' + this.data.tabIndex + '].list']: _list
          });
        } else {
          wx.showToast({
            icon: "none",
            title: res.msg,
            duration: 1000,
          });
        }
      },
      fail: (res) => {
        console.log(res);
      },
    });
  },

  setCommunities(_data) {
    let arr = [];
    _data.map(item => {
      arr.push({
        id: item.id,
        title: item.title,
        praise_num: item.praise_num,
        has_one_stick_user: {
          avatar: item.user_avatar,
          nickname: item.user_nickname,
        },
        has_many_image: [{
          url: item.image,
          stick_id: item.id
        }]
      });
    });
    return arr;
  },

  toCard(e) {
    let id = e.currentTarget.dataset.cardid;
    if (id) {
      wx.navigateTo({
        url: '/packageB/member/business_card/BusinessCard/BusinessCard?card_id=' + id +
          '&mark=card'
      });
    }
  },
  gomenphone(e) {
    let mobile = e.currentTarget.dataset.phone;
    wx.makePhoneCall({
      phoneNumber: mobile
    });
  },
  toGood(e) {
    let id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: '/packageA/detail_v2/detail_v2?id=' + id
    });
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    let language = wx.getStorageSync('langIndex');
    this.setData({
      'language': language.en
    });
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.setData({
      tabName: '门店详情',
      tabIndex: 0
    });
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (this.data.isLoadMore) {
      this._getMoreData();
    } else {
      console.log('没有更多数据');
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareTimeline: function () {
    return {
      title: this.data.title,
    };
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    this._share();
    return {
      title: this.data.title,
      path: this.data.path
    };
  },
  //获取页面主要信息
  getStore(data) {
    this.setData({
      mainInfo: data,
      telephone: data.store_mobile,
      commentList: data.comment
    });
  },
  _share() {
    let uid = wx.getStorageSync('yz_uid');
    let _title = this.data.mainInfo.store_name || '';
    let _link = '/packageC/o2o/HomeSeller/HomeSeller?share_tag=2&mid=' + uid + '&store_id=' + this.data.store_id;
    this.setData({
      title: _title,
      path: _link
    });
  },
  goToAdress() {
    let latitude = this.data.mainInfo.lat;
    let longitude = this.data.mainInfo.lng;
    let store_name = this.data.mainInfo.store_name;
    let point = app.BMapTransqqMap(parseFloat(longitude), parseFloat(latitude));
    wx.openLocation({
      latitude: point.lat,
      longitude: point.lng,
      scale: 18,
      name: store_name
    });
  },
  gophone() {
    let mobile = this.data.mainInfo.store_mobile;
    wx.makePhoneCall({
      phoneNumber: mobile
    });
  },
  goToShop() {
    wx.navigateTo({
      url: '/packageC/o2o/o2oStore/o2oStore?store_id=' + this.data.store_id + '&fromHome=1'
    });
  },
  goToCrash() {
    wx.navigateTo({
      url: '/packageC/cashier/cashier_pay/cashier_pay?store_id=' + this.data.store_id + '&fromHome=1'
    });
  },
  getStoreInfo() {
    let that = this;
    let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.get-store-info.get-the-provider");
    app._getNetWork({
      url: urlStr,
      data: {
        store_id: this.data.store_id,
        url: ""
      },
      success: function (resdata) {
        var res = resdata.data;
        if (res.result == 1) {
          if (res.data.store_decorate && res.data.store_decorate.datas) {
            // 判断是否门店装修跳转 "/packageG/o2o/HomeSeller/HomeSeller"
            wx.redirectTo({
              url: '/packageG/o2o/HomeSeller/HomeSeller?store_id=' + that.data.store_id
            });
            return;
          }
          that.getStore(res.data.store_info);
          that.setTabsList(res.data.menu_list);
          that.setData({
            isShow: true,
            get_recommend_goods: res.data.get_recommend_goods
          });

          if (!app._isTextEmpty(res.data.store_information)) {
            res.data.store_information = res.data.store_information.replace(/<img/gi, '<img style="max-width:100%;height:auto;display:block"');
            that.setData({
              info: res.data.store_information,
              infoShow: true
            });
          }

          // 门店配送 start ++++++++++++++++++++++++++++
          if (that.data.mainInfo.store_delivery && that.data.mainInfo.store_delivery.delivery_status == 1) {
            that.setData({
              delivery_status: 1,
              delivery_note: that.data.mainInfo.store_delivery ? that.data.mainInfo.store_delivery.delivery_note : '',
              delivery_amount: that.data.mainInfo.store_delivery ? that.data.mainInfo.store_delivery.delivery_amount : 0,
            });
            let delivery_area = that.data.mainInfo.store_delivery ? that.data.mainInfo.store_delivery.delivery_area : [];
            let locations = that.data.mainInfo.store_delivery ? that.data.mainInfo.store_delivery.locations : [];
            let arr_delivery_area = [];
            delivery_area.forEach((item, index) => {
              arr_delivery_area.push([Number(item.R), Number(item.Q)]);
            });
            that.setData({
              delivery_area: arr_delivery_area,
              locations: [Number(locations.longitude).toFixed(6), Number(locations.latitude).toFixed(6)]
            });
            if (that.data.locations && that.data.locations.length > 0) {
              that.setData({
                "markers_2[0].longitude": that.data.locations[0],
                "markers_2[0].latitude": that.data.locations[1],
                "delivery.longitude": that.data.locations[0],
                "delivery.latitude": that.data.locations[1],
              });
            }
            if (that.data.delivery_area && that.data.delivery_area.length > 0) {
              let points = [];
              for (let i = 0; i < that.data.delivery_area.length; i++) {
                points.push({
                  longitude: that.data.delivery_area[i][0],
                  latitude: that.data.delivery_area[i][1]
                });
              }
              that.setData({
                "polygons_2[0].points": points,
              });
            }
          }
          // end ----------------------------
        } else {
          wx.showToast({
            title: res.msg,
            icon: 'none',
            duration: 1500
          });
        }
      },
      fail: function (res) {
        console.log(res);
      }
    });
  },
  setTabsList(_data){
    let tabList = [];
    let menuList = [];
    // 处理并重新组装新数组和请求api
    _data.forEach((val, index) => {
      if (val.is_show) {
        tabList.push(val);
        menuList.push({
          isLoadMore: true,
          page: 1,
          total_page: 0,
          list: [],
          url: val.api
        });
      }
    });
    this.setData({tabList,menuList});
  },
  // checked_pet() {
  // 	if (wx.getStorageSync('is_open_pet') == 1) {
  // 		this.setData({
  // 			pet_status: true
  // 		})
  // 	}
  // },
  //直播间跳转
  gopage(e) {
    let status = e.currentTarget.dataset.status;
    let id = e.currentTarget.dataset.id;
    let backid = e.currentTarget.dataset.backid;
    if (status == 1) {
      wx.navigateTo({
        url: '/packageD/directSeeding/livePage/livePage?id=' + id + '&playerType=live'
      });
    } else if (status == 2) {
      wx.navigateTo({
        url: '/packageD/directSeeding/livePage/livePage?id=' + id + '&playerType=video' + '&backid=' + backid
      });
    } else if (status == 3) {
      wx.navigateTo({
        url: '/packageD/directSeeding/foreshow/foreshow?id=' + id
      });
    }
  },

  _getMoreData() {
    let that = this;
    this.data.menuList[this.data.tabIndex].isLoadMore = false;
    this.data.isLoadMore = false; // 防止多次请求分页数据

    if (this.data.menuList[this.data.tabIndex].page >= this.data.menuList[this.data.tabIndex].total_page) {
      return;
    } else {
      let _list = [];
      let _json = { store_id: this.data.store_id };
      this.data.menuList[this.data.tabIndex].page = this.data.menuList[this.data.tabIndex].page + 1;
      _json.page = this.data.menuList[this.data.tabIndex].page;
      let urlStr = app.getNetAddresss(this.data.menuList[this.data.tabIndex].url);
      app._postNetWork({
        url: urlStr,
        showToastIn: false,
        data: _json,
        success: (resdata)=> {
          var res = resdata.data;
          if (res.result == 1) {
            that.data.isLoadMore = true;

            if (this.tabName == "门店微贴") {
              _list = this.setCommunities(res.data);
            } else if (this.tabName == "门店员工") {
              _list = res;
            } else if (res&&res.data) {
              _list = res.data;
            } else {
              console.log("getTabsData()::error", res);
            }
            this.setData({
              ['menuList[' + this.data.tabIndex + '].list']: this.data.menuList[this.data.tabIndex].list.concat(_list)
            });
          } else {
            this.data.menuList[this.data.tabIndex].page = this.data.menuList[this.data.tabIndex].page - 1;
            this.data.menuList[this.data.tabIndex].isLoadMore = false;
            this.data.isLoadMore = false;
            return;
          }
        },
        fail: function (res) {
          console.log(res.msg);
        }
      });
    }
  },
  // 门店独立余额
  goToCode() {
    wx.navigateTo({
      url: '/packageC/cashier/cashier_qr/cashier_qr?name=storeBalance&store_id=' + this.data.store_id,
    });
  },
  getBalance() {
    let urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.balance.setting.index");
    app._postNetWork({
      url: urlStr,
      data: {
        store_id: this.data.store_id,
      },
      success: (resdata) => {
        console.log(resdata);
        let res = resdata.data;
        this.setData({
          is_open: res.data.is_open,
          balanceTitle: res.data.title,
          member_balance: res.data.member_balance,
          show_button: res.data.show_button,
          show_qr_code: res.data.show_qr_code,
        });
      },
      fail: function (res) {
        wx.showToast({
          title: res.data.msg,
          duration: 1000,
          icon: 'none'
        });
      }
    });
  }
  // yuyue() {
  // 	if (wx.getStorageSync('pet_status') == 1) {
  // 		wx.navigateTo({
  // 			url: '/packageA/member/editmobile/editmobile',
  // 		})
  // 	}
  // 	if (wx.getStorageSync('pet_status') == 3) {
  // 		wx.navigateTo({
  // 			url: '/packageC/hospital/memberinfo/memberinfo',
  // 		})
  // 	}
  // 	if (wx.getStorageSync('pet_status') == 4) {
  // 		wx.navigateTo({
  // 			url: '/packageC/hospital/preorder/preorder',
  // 		})
  // 	}
  // }
});