/******************************************************************************* * Copyright(c) 2024 dongke All rights reserved. / Confidential * 类的信息: * 1.程序名称: * 2.功能描述:oa 开发票 * 编辑履历: * 作者 日期 版本 修改内容 * 王英杰 2024-1-19 1.00 列表查询 *******************************************************************************/ const Constants = require('@/utils/Constants.js'); const util = require('@/utils/util.js') const mixins = require('@/mixins/index.js') Page({ mixins: [mixins], /** * 页面的初始数据 */ data: { pageFlag: false, searchContent: [{ code: 'tradeTime', title: mixins.$t("pastThirthtyDays"), defaultValue: 5, searchType: Constants.searchType.date }, ], // 列表区(内容) contentList: [{ name: 'tradeTime', title: mixins.$t('orderDate') }, { name: 'orderAmount', title: mixins.$t('orderAmount'), type: 'amount' }, { name: 'integral', title: mixins.$t('usingCloudCoins') }, { name: 'discountName', title: mixins.$t('useDiscountCoupons') }, { name: 'tradeAmount', title: mixins.$t('paidInAmount'), type: 'amount' }, ], buttonSaveList: [{ code: 'drawBill', title: '开发票', width: '120rpx', }, ], contentSaveList: [{ code: 'flag', title: mixins.$t("allChoose"), type: 'checkbox' }, { code: 'totalInvoicedAmount', content: 0, type: 'number', title: mixins.$t("totalInvoicedAmount") }, ], routeObjName: 'trade', }, /** * @desc : 设置查询参数 * @date : 2024年3月8日 * @author : 王英杰 */ setSearchParams(params) { params.tradeStatus = '交易状态-生效' params.receiptStatus = '开票状态-未开票' params.buyEndDate = params.createtimeEnd 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 temp.forEach(it => { it.tradeTime = this.formatDateOnly(it.tradeTime) it.integralName = it.integral + "枚" it.receiptStatusName = it.receiptStatusName ? it.receiptStatusName : '未开票' it.discountName = it.discount != null ? it.discount + "折优惠卷" : "-" }) this.setData({ tableData: temp, }) }, /** * @desc : 选择事件 * @date : 2024/2/1 15:49 * @author : 王英杰 */ listChoose(e) { let temp = this.data.tableData temp[e.detail.index].checked = e.detail.checked let contentSaveList = this.data.contentSaveList let totalInvoicedAmount_index = contentSaveList.findIndex(it => it.code == "totalInvoicedAmount") let amountNmber = Number(0) temp.forEach(it => { it.tradeTime = this.formatDateOnly(it.tradeTime) if (it.checked) { amountNmber = amountNmber + Number(it.tradeAmount) } }) contentSaveList[totalInvoicedAmount_index].content = amountNmber this.setData({ tableData: temp, contentSaveList: contentSaveList }) }, /** * @desc : 底部按钮事件 * @date : 2024/2/1 15:49 * @author : 王英杰 */ saveButton(e) { let tableData = this.data.tableData let tradeLits = [] tradeLits = tableData.filter(res => { return res.checked }) if (tradeLits.length <= 0) { util.showToast('请至少选择一条记录') return } wx.navigateTo({ url: '/package-basic-data/pages/draw-bill/add/add', events: { // 回调后,在这里给页面赋值 refresh: function (e) {} }, success: function (res) { // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取 res.eventChannel.emit('params', { item: tradeLits }) } }) }, /** * @desc : 底部 新建按钮旁 启用回调事件 * @date : 2024/2/1 15:49 * @author : 王英杰 */ cke_change(e) { let btnFormData = JSON.parse(this.data.btnFormData) let temp = this.data.tableData let contentSaveList = this.data.contentSaveList let totalInvoicedAmount_index = contentSaveList.findIndex(it => it.code == "totalInvoicedAmount") let amountNmber = Number(0) temp.forEach(element => { element.checked = btnFormData.flag if (element.checked) { amountNmber = amountNmber + Number(element.tradeAmount) } }); contentSaveList[totalInvoicedAmount_index].content = amountNmber this.setData({ tableData: temp, contentSaveList: contentSaveList }) }, })