/******************************************************************************* * Copyright(c) 2022 dongke All rights reserved. / Confidential * 类的信息: * 1.程序名称: 出库办理列表 * 编辑履历: * 作者 日期 版本 修改内容 * jyh 2024-03-12 1.00 *******************************************************************************/ const Constants = require('@/utils/Constants.js'); const mixins = require('@/mixins/index.js'); const { outType } = require('@/utils/Constants.js'); const app = getApp() Page({ mixins: [mixins], /** * 页面的初始数据 */ data: { tagList: [ { title: mixins.$t('outboundProcessing') }, { title: mixins.$t('checkouted') } ], // 查询条件 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: 'outType', pullType: 'mSelect', typeName: 'outType' }, // { // code: 'outReason', // pullType: 'mSelect', // typeName: 'outReason' // }, { code: 'cusName', }, { code: 'cusPhone', }, { code: 'addressFull', }, { code: 'staffName', }, { code: 'orgName', }, { code: 'supName', }, ], // 列表区(脚部金额) footerAmount: { name: 'outingAmt', title: mixins.$t('totalAmount') }, // 列表区(脚部信息) footerInfo: [{ prefix: mixins.$t('together'), name: 'outingQty', title: mixins.$t('piece') }], // 列表区(内容) contentList: [], contentObj: { '销退出库': [{ name: 'orderNo', title: mixins.$t('orderNo') }, { name: 'addressFull', title: mixins.$t('returnAddress') }, { name: [{ name: 'orgName', title: '' }, { name: 'staffName', title: mixins.$t('staffId') }], title: mixins.$t('returnInfo') }, { name: 'outDate', title: mixins.$t('outDate') }], '销售出库': [{ name: 'outNo', title: mixins.$t('outOrderNo') }, { name: 'cusPhone', title: mixins.$t('cusPhone') }, { name: 'addressFull', title: mixins.$t('addressFull') }, { name: [{ name: 'orgName', title: '' }, { name: 'staffName', title: mixins.$t('staffId') }], title: mixins.$t('storeInformation') }, { name: 'outDate', title: mixins.$t('outDate') }], '其他出库': [{ name: 'outNo', title: mixins.$t('outOrderNo') }, { name: 'outReasonName', title: mixins.$t('reasonOutbound') }, { name: [{ name: 'orgName', title: '' }, { name: 'staffName', title: mixins.$t('staffId') }], title: mixins.$t('cpManager') }, { name: 'outObject', title: mixins.$t('outObject') }, { name: 'outDate', title: mixins.$t('outDate') }], }, // 弹出按钮 buttonList: [ { name: 'invaidOrder', title: mixins.$t('invaidOrder'), }, { name: 'ticketPirnt', title: mixins.$t('ticketPirnt'), } , { name: 'editOrder', title: mixins.$t('edit'), } ], // 底部保存按钮 buttonFootList: [{ name: 'addOther', title: mixins.$t('otherOutWh'), }], contentnFootList: [ { title: mixins.$t('totalAmount'), code: 'intoingAmt', content: 0, type: 'number' }, { type: 'count', code: 'count', bill: 1, quantity: 2 } ], btnFormData: null, // 路由 routeObjName: 'outbound', outboundOtherService: app.globalData['outboundOtherService'], outboundProcessingService: app.globalData['outboundProcessingService'], outboundSaleReturnService: app.globalData['outboundSaleReturnService'], active: 0, // 主键Id primaryKey: 'outId', }, /** * 切换 已出库 未出库 */ onChangeTabs(e) { let index = e.detail.detail.index this.setData({ active: index, }) this.searchData() }, /** * @desc : addOther * @date : 2024年3月8日 * @author : 姜永辉 */ addOther() { wx.navigateTo({ url: this.data.route.addOther.url, success: function (res) { // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取 res.eventChannel.emit('params', {}) } }) },/** * @desc : 设置查询参数 * @date : 2024年3月8日 * @author : 姜永辉 */ setSearchParams(params) { console.log(params); if (this.data.active == 0) { //待出库的查询参数 params.outStatus = Constants.outStatus.outBounding } if (this.data.active == 1) { //已出库的查询参数 if (params.outTypeList == null || params.outTypeList.length == 0) { params.outTypeList = [ Constants.outType.sale, Constants.outType.other, Constants.outType.purReturn] } params.outStatus = Constants.outStatus.outBounded } 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 let footerAmount = this.data.footerAmount let footerInfo = this.data.footerInfo let outingQty = Number(0) let outingAmt = Number(0) if (this.data.active == 0) { // 列表区(脚部金额) footerAmount.name = 'outingAmt' // 列表区(脚部信息) footerInfo[0].name = 'outingQty' temp.forEach(it => { it.makeTime = it.makeTime.substring(0, 10) outingQty += Math.abs(Number(it.outingQty)) outingAmt += Math.abs(Number(it.outingAmt)) // 出库对象 if (it.outType == Constants.outType.other) { it.outObject = it.cusName != null ? it.cusName : it.supplierName } }) } else { // 列表区(脚部金额) footerAmount.name = 'outAmt' // 列表区(脚部信息) footerInfo[0].name = 'outQty' temp.forEach(it => { it.makeTime = it.makeTime.substring(0, 10) outingQty += Math.abs(Number(it.outQty)) outingAmt += Math.abs(Number(it.outAmt)) // 出库对象 if (it.outType == Constants.outType.other) { it.outObject = it.cusName != null ? it.cusName : it.supplierName } }) } contentnFootList.forEach(it => { if (it.type == 'count') { it.bill = tableData.length it.quantity = outingQty } if (it.type == 'number') { it.content = outingAmt } }) this.setData({ tableData: temp, footerInfo, footerAmount, contentnFootList, }) }, /** * @desc : (编辑) * @date : 2024/2/1 15:49 * @author : 姜永辉 */ editOrder(e) { let item = e let id = item.outId // 销售出库 if (item.outType == Constants.outType.sale) { 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.outType == Constants.outType.other) { wx.navigateTo({ url: this.data.route.addOther.url, events: { // 回调后,在这里给页面赋值 bandData: function (e) { } }, success: function (res) { res.eventChannel.emit('params', { id: id, formMode: Constants.formMode.edit }) } }) // 销售退货 } else { wx.navigateTo({ url: this.data.route.addReturn.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 console.log("invaidOrder", e); let id = item.outId // 销售出库 if (item.outType == Constants.outType.sale) { this.excute(this.data.outboundProcessingService, this.data.outboundProcessingService.outboundRepeal + id, null).then(res => { if (res.data.code == Constants.SUCESS_CODE) { // 重新查询 this.searchData() } }) } // 其他出库 else if (item.outType == Constants.outType.other) { this.excute(this.data.outboundOtherService, this.data.outboundOtherService.outboundRepeal + id, null).then(res => { if (res.data.code == Constants.SUCESS_CODE) { // 重新查询 this.searchData() } }) // 销售退货 } else { this.excute(this.data.outboundSaleReturnService, this.data.outboundSaleReturnService.outboundRepeal + id, null).then(res => { if (res.data.code == Constants.SUCESS_CODE) { // 重新查询 this.searchData() } }) } }, })