/*******************************************************************************
 * 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: 'sumAmtRec',
      title: mixins.$t('totalAccountsReceivable')
    },
    // 列表区（脚部信息）
    footerInfo: [{ name: 'sumAmtRec', }],
    // 查询条件
    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: 'receivableNo',
        title: mixins.$t('receiptOrderNo'),
      },
      {
        code: 'cusName',
      },
      {
        code: 'cusPhone',
      }, 
      { 
        code: 'flgValid',
        title: mixins.$t('flgValid'),
        dataType: 'checkbox'
      },
       
    ],
    // 列表区（内容）
    contentList: [{
        name: 'receivableNo',
        title: mixins.$t('receiptOrderNo'),
      }, //'收款单号' 
      {
        name: [{
            name: 'orgName',
            title: ''
          },
          {
            name: 'staffName',
            title: ''
          },
        ],
        title: mixins.$t('receiptInfo')
      },
      {
        name: 'sumAmtReceivable',
        title: mixins.$t('amountReceivable')
      }, //应收金额
    ],
    // 弹出按钮
    buttonList: [{
        name: 'editOtherReceipt',
        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('totalAccountsReceivable'),
      code: 'totalAmount',
      content: 0,
      type: 'number'
    }, {
      type: 'count',
      code: 'count',
      bill: 1, 
    }],
    btnFormData: null,
    // 路由
    routeObjName: 'otherReceivable',
    // 主键Id 
    primaryKey: 'receivableId',

  },
  /**
    * @desc : 作废
    * @date : 2024/2/1 15:49
    * @author : 王英杰
    */
   invaidOrder(e) {
    let item = e
    let id = item.receivableId
    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 : 王英杰
   */
  editOtherReceipt(e) {
    let item = e
    let receivableId = item.receivableId
    wx.navigateTo({
      url: this.data.route.add.url,
      events: {
        // 回调后，在这里给页面赋值
        bandData: function (e) {}
      },
      success: function (res) {
        res.eventChannel.emit('params', {
          id: receivableId,
          formMode: Constants.formMode.edit
        })
      }
    })
  },
  /**
   * @desc : 三个小点点击回调
   * @date : 2024年3月8日
   * @author : 王英杰
   */
  toPoint(e) {
    console.log("aiqingshishenme", e);
    let item = e.detail.item
    if (item.flgValid) {
      this.setData({
        buttonList: [{
            name: 'editOtherReceipt',
            title: mixins.$t('edit'), //编辑
          },
          {
            name: 'invaidOrder',
            title: mixins.$t('invaidOrder'),
          }, {
            name: 'printedBill',
            title: mixins.$t('printedBill') //打印票据
          }
        ],
      })
    } else {
      this.setData({
        // 弹出按钮
        buttonList: [{
          name: 'printedBill',
          title: mixins.$t('printedBill') //打印票据
        }],
      })
    }
  },
  /**
   * @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.sumAmtRec
        res.sumAmtReceivable = res.sumAmtReceivable != null ? Number(res.sumAmtReceivable).toFixed(2) : '0.00'
      })
      sumAmount = tableData.sum('sumAmtRec')
      sumQty = tableData.sum('sumAmtReceivable')
  
      contentnFootList.forEach(it => {
        if (it.code == 'count') {
          it.bill = tableData.length
        }
        if (it.code == 'totalAmount') {
          it.content = sumAmount
        }
      })
    }
    this.setData({
      contentnFootList:contentnFootList,
      tableData: tableData
    })
  },

})