/*******************************************************************************
 * 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 mixins = require('@/mixins/index.js')
const app = getApp();
Page({
  mixins: [mixins],
  /**
   * 页面的初始数据 
   */ 
  data: {
         // 查询条件
    searchContent: [{
      code: 'makeTime',
      title: mixins.$t('pastThirthtyDays'),//近30天',
      defaultValue: 5,
      searchType: Constants.searchType.date
    }, {
      code: 'choose',
      title: mixins.$t('choose'),//'筛选',
      searchType: Constants.searchType.pick
    }],
       // 查询条件-筛选
       pullMenuList: [{
        code: 'freezeStatus',
        pullType: 'mSelect',
        typeName: 'freezeStatus'
      }, {
        code: 'staffName', 
        title: mixins.$t('applyStaff')//申请人'
      }, {
        code: 'orgName', 
        title: mixins.$t('applyOrg')//'申请部门'
      }, {
        code: 'cusName', 
        title: mixins.$t('applicationObject')//申请对象'
      },
      {
        code: 'cusPhone', 
        title: mixins.$t('objectPhone')//'申请电话'
      },
      {
        code: 'freezeDateS',
        title: mixins.$t('freezeDate'),//'冻结日期',
        dataType: 'date'
      },
      {
        code: 'autoUnfreezeDateS',
        title: mixins.$t('thawingDate'),//'解冻日期',
        dataType: 'date'
      }, 
      {
        code: 'remarks', 
        title: mixins.$t('remarks'),//'备注'
      },
    ],
  
    // 列表区（脚部信息）
    footerInfo: [
      {
        name: 'categoryQuantity',
        title:  mixins.$t('together'),//'共计'
      }, {
        name: 'sumQuantity',
        title:  mixins.$t('piece'),//'件'
      }],
  

    contentObj: {
      [mixins.$t('freezeAll')]: [
        { name: 'freezeNo', title: mixins.$t('freezeNo') },
        { name: [{ name: 'orgName', title: '' }, { name: 'staffName', title: mixins.$t("staffId") }], title: mixins.$t('applyThawing') },
        { name: 'freezeDate', title: mixins.$t('thawingDate') },
        { name: 'remarks', title: mixins.$t('remarks') }
      ], 
      [mixins.$t('ufreezeAll')]: [
        { name: 'freezeNo', title: mixins.$t('freezeNo') },
        { name: [{ name: 'orgName', title: '' }, { name: 'staffName', title: mixins.$t("staffId") }], title: mixins.$t('applyThawing') },
        { name: 'freezeDate', title: mixins.$t('thawingDate') },
        { name: 'remarks', title: mixins.$t('remarks') }
      ],
    },
    buttonSaveList: [{ code: 'add', title: mixins.$t("add") }],
    contentnFootList: [{ type: 'count', code: 'count', bill: 0, quantity: 0 }],
    // 弹出按钮
    buttonList: [{
      name: 'thawing',
      title: mixins.$t('thawing')//'解冻'
    }, {
      name: 'editFreeze',
      title: mixins.$t('edit') 
    }, {
      name: 'printedBill',
      title: mixins.$t('printedBill') //打印票据
    }
    ],
    // 路由
    routeObjName: 'freeze',
    primaryKey: 'freezeId',
  },

  /**
    * @desc : 查询
    * @date : 2024/2/1 15:49
    * @author : 于继渤
    */
  getData(params) {
    return this.excute(this.data.service, this.data.service.selectByCond, params);
  },


  /**
   * @desc :   处理接口返回数据
   * @date : 2024年3月8日
   * @author : 王英杰
   */
  handleSearchData(tableData) { 
    let sumQty = 0 //总的 合集数量
    let contentnFootList = this.data.contentnFootList
    tableData.forEach(element => {
      if (element.freezeStatus == '冻结状态-全部冻结') {
        element.backgroundColor = "red"
      }
    });
    sumQty = tableData.sum('sumQuantity')
    contentnFootList.forEach(it => {
      if (it.code == 'count') {
        it.bill = tableData.length
        it.quantity = sumQty
      }
  
    })
    this.setData({
      contentnFootList:contentnFootList,
      tableData: tableData,
    })
  },
  /**
   * @desc :   跳转明细
   * @date : 2024年3月8日
   * @author : 王英杰
   */
  toDetail(e) {
    let freezeId = e.detail.item.freezeId
    wx.navigateTo({
      url: this.data.route.edit.url,
      success: function (res) {
        // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的，实际中，需要从route中读取
        res.eventChannel.emit('params', { id: freezeId, formMode: Constants.formMode.detail })
      }
    })
  },
  /**
   * @desc : （编辑）
   * @date : 2024/2/1 15:49
   * @author : 王英杰
   */
  editFreeze(e) {
    let item = e
    let freezeId = item.freezeId
    wx.navigateTo({
      url: this.data.route.add.url,
      events: {
        // 回调后，在这里给页面赋值
        bandData: function (e) {}
      },
      success: function (res) {
        res.eventChannel.emit('params', {
          id: freezeId,
          formMode: Constants.formMode.edit
        })
      }
    })
  },
/**
    * @desc : 解冻
    * @date : 2024/2/1 15:49
    * @author : 王英杰
    */
   thawing(e) {
    let item = e
    let id = item.freezeId
    this.excute(this.data.service, this.data.service.updateFreezeAll + id, null).then(res => {
      if (res.data.code == Constants.SUCESS_CODE) {
        // 重新查询
        this.searchData()
      }
    })

  },
})