/*******************************************************************************
 * Copyright(c) 2022 dongke All rights reserved. / Confidential
 * 类的信息：
 *		1.程序名称：
 *		2.销售退货列表
 * 编辑履历：
 *		作者				日期					版本				修改内容
 *		于继渤		        2022-0-12	            1.00		   	    
 *******************************************************************************/
const Constants = require('@/utils/Constants.js');
const util = require('@/utils/util.js')
const app = getApp()
const mixins = require('@/mixins/index.js')
Page({
  mixins: [mixins],
  /**
   * 页面的初始数据 
   */
  data: {
    // 系统参数
    flgHandleSetting: app.globalData.setting[Constants.settingCode.IVT001] == "true" ? true : false,
    tagList: [{ title: mixins.$t("all"), code: '' }, { title: mixins.$t("inBoundingIntoStatusName"), code: mixins.$t("outBoundingOutStatus") }, { title: mixins.$t("inBoundedIntoStatusName"), code: mixins.$t("outBoundedOutStatus") }],
    // 查询条件
    searchContent: [{
      code: 'makeTime',
      title: mixins.$t('pastThirthtyDays'),
      defaultValue: 5,
      searchType: Constants.searchType.date
    }, {
      code: 'choose',
      title: mixins.$t('choose'),
      searchType: Constants.searchType.pick
    }],

    // 查询条件-筛选
    pullMenuList: [{
      code: 'orderNo',
    }, {
      code: 'cusName',
    }, {
      code: 'cusPhone',
    }, {
      code: 'addressFull',
      title: mixins.$t('address')
    },
    {
      code: 'staffName',
    }, {
      code: 'orgName',
    },
    // 筛选新增作废选项 刘尧 2024.5.30
    {
      code: 'viewVoidedDocuments',
      dataType: 'checkbox'
    },],



    // 列表区（脚部金额）
    footerAmount: {
      name: 'sumOutAmt',
      title: '退货金额'
    },
    // 列表区（脚部信息）
    footerInfo: [{
      name: 'categoryQuantity',
      title: '共计'
    }, {
      name: 'sumOutQty',
      title: '件'
    }],
    // 列表区（内容）
    contentList: [
      { name: 'outNo', title: '退货单号' },
      { name: 'cusPhone', title: '客户电话' },
      { name: 'addressFull', title: '客户地址' },
      { name: [{ name: 'orgName', title: '' }, { name: 'staffName', title: mixins.$t('staffId') }], title: mixins.$t('storeInformation') }
    ],
    buttonSaveList: [{ code: 'add', title: mixins.$t("add") }],
    contentSaveList: [{ code: 'need', title: mixins.$t("totalAmount"), type: 'str' }, { code: 'amount', content: 0, type: 'number' }],
    contentObj: {

    },

    // 弹出按钮
    buttonList: [
      {
        name: 'editInto',
        title: mixins.$t('edit')
      },
      { name: 'salesOutReturnBound', title: mixins.$t("outProcessing") },
      {
        name: 'printedBill',
        title: mixins.$t('printedBill') //打印票据
      },
      { name: 'invalid', title: mixins.$t("invaidOrder") } //作废
    ],

    // 路由
    routeObjName: 'saleOutBoundReturn',
    active: 0
  },
  /**
 * @desc :   三个小点打开
 * @date : 2024年3月8日
 * @author : 于继渤 
 */
  toPoint(e) {
    let item = e.detail.item
    let buttonList = null
    if (!item.flgValid) { //作废
      buttonList = [{
        name: 'printedBill',
        title: mixins.$t("printedBill")
      },] //打印
    } else {
      // 弹出按钮
      buttonList = [
        {
          name: 'editInto',
          title: mixins.$t('edit')
        },
        { name: 'salesOutReturnBound', title: mixins.$t("outProcessing") },
        {
          name: 'printedBill',
          title: mixins.$t('printedBill') //打印票据
        },
        { name: 'invalid', title: mixins.$t("invaidOrder") } //作废
      ]
    }
    this.setData({
      // 弹出按钮
      buttonList: buttonList
    })
  },
  /**
 * @desc : 切换
 * @date : 2024/2/1 15:49
 * @author : 于继渤
 */
  onChangeTabs(e) {
    let code = e.detail.detail.code
    console.log(e)
    this.setData({
      outStatus: code,
    })
    this.searchData()
  },
  /**
* @desc : 设置查询参数
* @date : 2024/2/1 15:49
* @author : 于继渤
*/
  setSearchParams(params) {
    //销售状态
    params.outTypeList = [Constants.outType.intoReturn]
    params.outStatus = this.data.outStatus == 'all' ? '' : this.data.outStatus
    if (this.data.flgHandleSetting) {
      params.outStatus = mixins.$t("outBoundedOutStatus")
    }
    params.cusId = this.data.id ? this.data.id : null
    // 筛选新增作废选项 模块不查询废除数据 刘尧 2024.5.30
    params.viewVoidedDocuments = params.viewVoidedDocuments ? true : false
    return params
  },
  /**
     * @desc : 编辑
     * @author : 于继渤
     * @date : 2024/1/23 9:16
     */
  editInto(e) {
    let item = e
    wx.navigateTo({
      url: this.data.route.add.url,
      success: function (res) {
        // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的，实际中，需要从route中读取
        res.eventChannel.emit('params', { id: item.outId, formMode: Constants.formMode.other, formType: Constants.formMode.edit, item: item })
      }
    })
  },


  /**
* @desc :   作废
* @date : 2024年3月8日
* @author : 于继渤
*/
  invalid(e) {
    return this.excute(this.data.service, this.data.service.repeal + '/' + e.outId, {}).then(res => {
      if (res.data.code == 200) {
        wx.showToast({
          title: mixins.$t('invalidSuccessfully'),
          image: '/static/image/success.png',
          duration: 1000
        })
        // 查询
        this.searchData();
      }
      this.setData({
        loading: false
      })
    })
  },
  /**
     * @desc : 加载数据
     * @author : 于继渤
     * @date : 2024/1/23 9:16
     */
  getData(params) {
    return this.excute(this.data.service, this.data.service.selectByCond, params);
  },
  /**
   * @desc : 处理查询数据
   * @date : 2024/2/1 15:49
   * @author : 于继渤
   */
  handleSearchData(tableData) {
    //计算底部金额
    this.calculateTotalAmount()
  },
  /**
* @desc :   计算底部合计金额等
* @date : 2024年4月8日
* @author : 于继渤
*/
  calculateTotalAmount() {
    let tableData = this.data.tableData
    let contentSaveList = this.data.contentSaveList
    let outAmt = Number(0)
    let outQty = Number(0)
    tableData.forEach(res => {
      outAmt += res.sumOutAmt
      outQty += res.sumOutQty
      res.inStatusName = (res.outStatus == Constants.outStatus.outBounded) ? mixins.$t('received') : mixins.$t('inStorage')
    })
    contentSaveList[1].content = outAmt
    contentSaveList[1].bill = tableData.length
    contentSaveList[1].quantity = outQty
    this.setData({
      contentSaveList: contentSaveList,
      tableData: tableData
    })

  },

  /**
  * @desc :   跳转客户详情
  * @date :   2024年5月27日
  * @author : 姜永辉
  */
  toTitle(e) {
    let cusId = e.detail.item.cusId
    wx.navigateTo({
      url: this.data.route.detailCustomer.url,
      success: function (res) {
        // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的，实际中，需要从route中读取
        res.eventChannel.emit('params', { id: cusId, formMode: Constants.formMode.edit })
      }
    })
  },

  toDetail(e) {

    let outId = e.outId ? e.outId : e.detail.item.outId
    wx.navigateTo({
      url: this.data.route.edit.url,
      success: function (res) {
        // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的，实际中，需要从route中读取
        res.eventChannel.emit('params', { id: outId, formMode: Constants.formMode.detail, formType: Constants.formMode.detail })
      }
    })
  }
})