const _Http = getApp().globalData.http;
import currency from "../../utils/currency";
let content = null,
  downCount = null;
Page({
  data: {
    isInsert: false,
    hidePrice: wx.getStorageSync('hidePrice'),
    CustomBar: getApp().globalData.CustomBar,
    filtratelist: [{
      label: "订单类型",
      index: null,
      showName: "value", //显示字段
      valueKey: "type", //返回Key
      selectKey: "value", //传参 代表选着字段 不传参返回整个选择对象
      value: "", //选中值
      list: [{
        value: "标准订单"
      }, {
        value: "促销订单"
      }, {
        value: "特殊订单"
      }]
    }, {
      label: "领域",
      index: null,
      showName: "tradefield", //显示字段
      valueKey: "tradefield", //返回Key
      selectKey: "tradefield", //传参 代表选着字段 不传参返回整个选择对象
      value: "", //选中值
      list: []
    }]
  },
  onLoad(options) {
    if (wx.getStorageSync('auth').worderform.options.some(v => v == 'insert')) this.setData({
      isInsert: true
    })
    content = {
      nocache: true,
      "isExport": 0,
      "pageNumber": 1,
      "pageTotal": 1,
      pageSize: 20,
      "where": {
        "condition": "",
        "status": "",
        "brandname": "",
        "tradefield": ""
      }
    };
    this.getList()
    this.getBrand()
    this.getDomain()
    this.getOrderList()
  },
  /* 获取产品 */
  getList(init = false) {
    if (init.detail != undefined) init = init.detail;
    if (init) content.pageNumber = 1;
    if (content.pageNumber > content.pageTotal) return;
    this.setListHeight();
    _Http.basic({
      "id": 20221224180302,
      content
    }).then(res => {
      console.log("订单列表", res)
      this.selectComponent('#ListBox').RefreshToComplete();
      /* 格式化价格 */
      if (res.data.length != 0) res.data = res.data.map(v => {
        v.defaultamount = currency(v.defaultamount, {
          symbol: "￥",
          precision: 2
        }).format();
        return v
      })
      content.pageNumber = res.pageNumber + 1
      content.pageTotal = res.pageTotal
      this.setData({
        list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
        total: res.total,
        amount: currency(res.tips.amount, {
          symbol: "￥",
          precision: 2
        }).format()
      })
    })
  },
  /* 更新列表 */
  updateList() {
    let params = JSON.parse(JSON.stringify(content));
    params.pageSize = (params.pageNumber - 1) * params.pageSize;
    params.pageNumber = 1;
    _Http.basic({
      "id": 20221224180302,
      content: params
    }).then(res => {
      console.log("订单列表", res)
      if (res.msg != '成功') return;
      /* 格式化价格 */
      if (res.data.length != 0) res.data = res.data.map(v => {
        v.defaultamount = currency(v.defaultamount, {
          symbol: "￥",
          precision: 2
        }).format();
        return v
      })
      this.setData({
        list: res.data,
        total: res.total,
        amount: currency(res.tips.amount, {
          symbol: "￥",
          precision: 2
        }).format()
      })
    })
  },
  /* 切换tabs */
  tabsChange(e) {
    let status = "";
    switch (e.detail.title) {
      case '全部':
        status = "";
        break;
      case '待确认':
        status = "交期待确认";
        break;
      default:
        status = e.detail.title
        break;
    }
    content.where.status = status;
    this.getList(true);
  },
  /* 搜索 */
  onSearch({
    detail
  }) {
    content.where.condition = detail;
    this.getList(true)
  },
  /* 获取品牌 */
  getBrand() {
    _Http.basic({
      "id": 20220924163702,
      "content": {
        "pageSize": 9999,
      }
    }, false).then(res => {
      console.log("查询品牌", res)
      if (res.msg == '成功') this.data.brandList = res.data
    })
  },
  /* 获取orderList */
  getOrderList() {
    _Http.basic({
      "classname": "sysmanage.develop.optiontype.optiontype",
      "method": "optiontypeselect",
      "content": {
        "typename": "ordertype"
      }
    }).then(res => {
      console.log("订单类型", res)
      let orderList = [];
      try {
        orderList = res.data.map(v => v.value);
      } catch (error) {}
      if (orderList.length == 0) orderList.push("标准订单")
      this.setData({
        orderList
      })
    })
  },
  /* 获取领域 */
  getDomain() {
    _Http.basic({
      "id": 20221223141802,
      "content": {
        "pageNumber": 1,
        "pageSize": 9999,
        "where": {
          "condition": ""
        }
      }
    }, false).then(res => {
      console.log("获取领域", res)
      if (res.msg == '成功') this.setData({
        'filtratelist[1].list': res.data
      });
    })
  },
  /* 设置页面高度 */
  setListHeight() {
    this.selectComponent("#ListBox").setHeight(".tips", this);
  },
  showModal(e) {
    this.setData({
      modalName: e.currentTarget.dataset.target
    })
  },
  hideModal(e) {
    this.setData({
      modalName: null
    })
  },
  handleFiltrate({
    detail
  }) {
    content.where.type = detail.type;
    content.where.tradefield = detail.tradefield;
    downCount = setTimeout(() => {
      this.getList(true);
    }, 300);
  },
  createOrder() {
    let orderList = this.data.orderList;
    if (this.data.brandList.length == 1 && this.data.filtratelist[1].list.length == 1 && orderList.length == 1) {
      wx.showModal({
        title: '提示',
        content: `是否确定创建${orderList[0]}`,
        complete: ({
          confirm
        }) => {
          if (confirm) _Http.basic({
            "id": 20221108111402,
            content: {
              sa_orderid: 0,
              rec_contactsid: 0,
              pay_enterpriseid: 0,
              sa_contractid: 0,
              sa_projectid: 0,
              "sa_brandid": this.data.brandList[0].sa_brandid, //品牌ID
              "type": orderList[0], //订单类型
              "tradefield": this.data.filtratelist[1].list[0].tradefield, //必选
              sys_enterpriseid: 0
            }
          }).then(res => {
            console.log(`创建${orderList[0]}`, res);
            wx.showToast({
              title: res.msg != '成功' ? res.msg : '创建成功',
              icon: "none",
              mask: true
            });
            if (res.msg == '成功') setTimeout(() => {
              wx.navigateTo({
                url: '/packageA/orderForm/detail?id=' + res.data.sa_orderid,
              });
            }, 500)
          })
        }
      })
    } else {
      wx.navigateTo({
        url: '/packageA/orderForm/add/add?type=标准订单',
      })
    }
  }
})