/*******************************************************************************
 * Copyright(c) 2022 dongke All rights reserved. / Confidential
 * 类的信息：
 *		1.程序名称：  付款单列表
 * 编辑履历：
 *		作者				日期					版本				修改内容
 *		姜永辉      2024-03-22    1.00		   	    
 *******************************************************************************/
const Constants = require('@/utils/Constants.js');
const mixins = require('@/mixins/index.js')
Page({
  mixins: [mixins],
  /**
   * 页面的初始数据
   */
  data: {
    // 查询条件
    searchContent: [
      {
        code: 'makeTime', title: mixins.$t('pastThirthtyDays'),
        defaultValue: 5, searchType: Constants.searchType.date
      },
      { code: 'staff', title: mixins.$t('staffId'), dropType: 'staff' },
      { code: 'org', title: mixins.$t('orgId'), dropType: 'org' },
      { code: 'choose', title: mixins.$t('choose'), searchType: Constants.searchType.pick }],
    // 查询条件-筛选
    pullMenuList: [
      {
        code: 'rpNo',
      },
      {
        code: 'supCode',
      },
      {
        code: 'supName',
      },
      {
        code: 'accDate',
        title: 'accDate',
        dataType: 'date'
      },

      {
        code: 'staffName',
      },
      {
        code: 'orgName',
      },
    ],
    // 列表区（内容）
    contentList: [
      { name: 'rpNo', title: mixins.$t('paymentOrderNo') },
      {
        name: [{ name: 'orgName', title: '' },
        { name: 'staffName', title: '' },],
        title: mixins.$t('paymentInfo')
      },
      { name: 'sumAmtPayableHandle', title: mixins.$t('sumAmtPayableHandle') },
    ],
    // 弹出按钮
    buttonList: [
      {
        name: 'cusReturnCollection',
        title: mixins.$t('refund'),
      },
      {
        name: 'invaidOrder',
        title: mixins.$t('invaidOrder'),
      }, {
        name: 'ticketPirnt',
        title: mixins.$t('ticketPirnt'),
      }
      // , {
      //   name: 'editOrder',
      //   title: mixins.$t('edit'),
      // }
    ],
    // 底部保存按钮
    buttonFootList: [{
      code: 'addPay',
      name: 'addPay',
      title: mixins.$t('add'),
    }],
    // 列表区（脚部金额）
    footerAmount: {
      name: 'sumAmtPay',
      title: mixins.$t('totalAmount')
    },
    contentnFootList: [
      {
        title: mixins.$t('totalAmount'),
        code: 'sumAmtPay',
        content: 0,
        type: 'number'
      }, {
        type: 'count',
        code: 'count',
        bill: 1,
      }
    ],
    btnFormData: null,
    // 路由
    routeObjName: 'payment',
    // 主键Id
    primaryKey: 'rpId',

  },

  /**
  * @desc : 设置查询参数
  * @date : 2024年3月8日
  * @author : 姜永辉
  */
  setSearchParams(params) {
    //收付款类型-收款的查询参数
    params.rpType = Constants.rpType.payment
    return params;
  },

  /** 
   * @desc : 查询 单据
   * @date : 2024年3月8日
   * @author : 姜永辉
   */
  getData(params) {
    return this.excute(this.data.service, this.data.service.selectByCond, params);
  },
  /**
     * @desc :   处理接口返回数据
     * @date : 2024年3月8日
     * @author : 姜永辉
     */
  handleSearchData(tableData) {
    let temp = tableData
    let contentnFootList = this.data.contentnFootList
    temp.forEach(it => {
      it.makeTime = it.makeTime.substring(0, 10)
      // 不加这个字段不显示收款字样
      it.collectStatus = ' '
    })
    let sumAmount = 0 //总的 合计金额 
    let sumQty = 0 //总的 合集数量
    sumAmount = tableData.sum('sumAmtPay')
    sumQty = tableData.sum('sumAmtPayableHandle')
    contentnFootList.forEach(it => {
      if (it.type == 'count') {
        it.bill = tableData.length
      }
      if (it.type == 'number') {
        it.content = sumAmount
      }
    })

    this.setData({
      tableData: temp,
      sumAmount,
      sumQty,
      contentnFootList
    })
  },

  /**
    * @desc : （供应商退款）-退收款单
    * @date : 2024/2/1 15:49
    * @author : 姜永辉
    */
  cusReturnCollection(e) {
    let item = e
    wx.navigateTo({
      url: this.data.route.addReturnPay.url,
      events: {
        // 回调后，在这里给页面赋值
        bandData: function (e) { }
      },
      success: function (res) {
        res.eventChannel.emit('params', {
          item: item,
          formType: 5,
          formMode: Constants.formMode.add
        })
      }
    })

  },

  /**
    * @desc : （编辑）
    * @date : 2024/2/1 15:49
    * @author : 姜永辉
    */
  editOrder(e) {
    let item = e
    let id = item.rpId
    // 收款
    if (item.rpType == Constants.rpType.payment) {
      wx.navigateTo({
        url: this.data.route.add.url,
        events: {
          // 回调后，在这里给页面赋值
          bandData: function (e) { }
        },
        success: function (res) {
          res.eventChannel.emit('params', {
            id: id,
            formMode: Constants.formMode.edit
          })
        }
      })
    }
    // 退收款
    else if (item.rpType == Constants.rpType.returnPayment) {
      wx.navigateTo({
        url: this.data.route.addReturnPay.url,
        events: {
          // 回调后，在这里给页面赋值
          bandData: function (e) { }
        },
        success: function (res) {
          res.eventChannel.emit('params', {
            id: id,
            formMode: Constants.formMode.edit
          })
        }
      })
    }

  },

  /**
    * @desc : 作废
    * @date : 2024/2/1 15:49
    * @author : 姜永辉
    */
  invaidOrder(e) {
    let item = e
    let id = item.rpId
    this.excute(this.data.service, this.data.service.invalid + id, null).then(res => {
      if (res.data.code == Constants.SUCESS_CODE) {
        // 重新查询
        this.searchData()
      }
    })

  },
})