/*******************************************************************************
 * 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: {
       // 列表区（脚部金额）
       footerAmount: {
        name: 'sumAmtPay',
        title: mixins.$t('amountCollected')
      },
      // 列表区（脚部信息）
      footerInfo: [{ name: 'sumAmtPay', }],
    // 查询条件
    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: 'payableNo', 
        title: mixins.$t('paymentOrderNo'),
      },
      {
        code: 'supName',
      }, 
      {
        code: 'accDate',
        title: mixins.$t('accDate'),
        dataType: 'date'
      },

      {
        code: 'staffName',
      },
      {
        code: 'orgName',
      },
      { 
        code: 'flgValid',
        title: mixins.$t('flgValid'),
        dataType: 'checkbox'
      },
    ],
    // 列表区（内容）
    contentList: [
      { name: 'payableNo', title: mixins.$t('receiptOrderNo'),},//'收款单号' 
      {
        name: [{ name: 'orgName', title: '' },
        { name: 'staffName', title: '' },],
        title: mixins.$t('storeInformation')
      },
      { name: 'accDate', title: mixins.$t('receiptDate') },//收款日期
    ],
    // 弹出按钮
    buttonList: [
      {
        name: 'editOtherPayable',
        title:  mixins.$t('edit'),//编辑
      },
      {
        name: 'invaidOrder',
        title:  mixins.$t('invaidOrder'),//'作废',
      }, {
        name: 'printedBill',
        title: mixins.$t('printedBill') //打印票据
      }
    ],
 
    // 底部保存按钮
    buttonFootList: [{
      name: 'add',
      title: mixins.$t('add'),
    }],
    contentnFootList: [
      {
        title:  mixins.$t('totalPayable'),
        code: 'totalAmount',
        content: 0,
        type: 'number'
      }, {
        type: 'count',
        code: 'count',
        bill: 1, 
      }
    ], 
    btnFormData: null,
    // 路由
    routeObjName: 'otherPayable',
    // 主键Id 
    primaryKey: 'payableId',
   
  },
/**
    * @desc : 作废
    * @date : 2024/2/1 15:49
    * @author : 王英杰
    */
   invaidOrder(e) {
    let item = e
    let id = item.payableId
    this.excute(this.data.service, this.data.service.invalid + id, null).then(res => {
      if (res.data.code == Constants.SUCESS_CODE) {
        // 重新查询
        this.searchData()
      }
    })

  },
  /**
   * @desc : （编辑）
   * @date : 2024/2/1 15:49
   * @author : 王英杰
   */
  editOtherPayable(e) { 
    let item = e
    let payableId = item.payableId
    wx.navigateTo({
      url: this.data.route.add.url,
      events: {
        // 回调后，在这里给页面赋值
        bandData: function (e) {}
      },
      success: function (res) {
        res.eventChannel.emit('params', {
          id: payableId,
          formMode: Constants.formMode.edit
        })
      }
    })
  },
  /**
  * @desc : 设置查询参数
  * @date : 2024年3月8日
  * @author : 王英杰
  */
  setSearchParams(params) {
    //收付款类型-收款的查询参数
  //  params.rpType = Constants.rpType.receipt
  if( params.flgValid){//true 说明包含作废单据  查出数据不受 flgValid 筛选
    params.flgValid = null
  }else{//默认不查作废单据
    params.flgValid =   !params.flgValid
  }
    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 sumAmount = 0 //总的 合计金额 
      let sumQty = 0 //总的 合集数量
      let contentnFootList = this.data.contentnFootList
      if (tableData && tableData.length > 0) {
       
        tableData.forEach(res => {
          res.collectStatus = 'cusCollection'
          res.collectStatus = res.sumAmtPay
          res.sumAmtPayable = res.sumAmtPayable != null ? Number(res.sumAmtPayable).toFixed(2) : '0.00'
        })
      
        sumAmount = tableData.sum('sumAmtPay')
        sumQty = tableData.sum('sumAmtPayable')
    
        contentnFootList.forEach(it => {
          if (it.code == 'count') {
            it.bill = tableData.length
          }
          if (it.code == 'totalAmount') {
            it.content = sumAmount
          }
        })
      }
      this.setData({
        contentnFootList:contentnFootList,
        tableData: tableData
      })
    },
 
})