From 9fddb955ce4eb18db759bb9b00e49254e3044175 Mon Sep 17 00:00:00 2001 From: qiaomu <3520484422@qq.com> Date: Tue, 7 May 2024 08:45:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=96=B0=E5=A2=9E=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E7=94=A8=E7=94=B5=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/home/index.js | 11 +++++++++-- pages/home/index.wxml | 2 +- pages/invoiceDetail/index.js | 25 ++++++++++++++++++++++++- pages/invoicing/index.js | 26 +++++++++++++++++--------- 4 files changed, 51 insertions(+), 13 deletions(-) diff --git a/pages/home/index.js b/pages/home/index.js index 5beee83..70cb515 100644 --- a/pages/home/index.js +++ b/pages/home/index.js @@ -258,6 +258,8 @@ Page({ const { code, message, data } = await getTenementMeterList(id); if (code !== OK) { alertInfo(message) + this.setData({ meterList: [], meter: {} }) + wx.setStorageSync('meter', {}) return; } const storageMeter = wx.getStorageSync('meter'); @@ -265,9 +267,14 @@ Page({ meterList: data || [], meter: storageMeter || (data?.[0] || {}) }) - if (!storageMeter) { + // if (!storageMeter) { wx.setStorageSync('meter', data?.[0]) - } + // } + }, + jumpToElectric() { + wx.navigateTo({ + url: '/pages/electricQuery/index', + }) }, async setUser() { const result = await getUserInfo(); diff --git a/pages/home/index.wxml b/pages/home/index.wxml index 5f6a7de..87fa668 100644 --- a/pages/home/index.wxml +++ b/pages/home/index.wxml @@ -93,7 +93,7 @@ - + diff --git a/pages/invoiceDetail/index.js b/pages/invoiceDetail/index.js index fbc2707..41ddfdb 100644 --- a/pages/invoiceDetail/index.js +++ b/pages/invoiceDetail/index.js @@ -1,4 +1,5 @@ import { getInvoiceInfoDetail, downloadInvoice } from "../../service/invoice"; +import { alertInfo } from "../../utils"; import request from '../../utils/request' const { OK } = request; // pages/invoiceInfo/index.js @@ -40,8 +41,30 @@ Page({ console.log('res', res.tapIndex) const { code, message, data } = await downloadInvoice(that.data.id, res.tapIndex); if (code !== OK) { - + alertInfo(message) + return; } + const filePath = `${wx.env.USER_DATA_PATH}/发票/${that.data.id}.${res.tapIndex === 0 ? 'xml' : "pdf"}`; + FileSystemManager.writeFile({ + filePath: filePath, + data: res.data, + encoding: 'base64', // 2. base64解密写入, 后台返回的byte[]数组是经过base64编码的,其他方式写入文件打开格式不对 + success: function(res) { + wx.openDocument({ + filePath: filePath, + fileType: [res.tapIndex === 0 ? 'xml' : "pdf"], // 3. 这个必须写合法类型,不然下载不了 !!! + success: function (res) { + console.log('打开文档成功') + }, + fail: function (e) { + console.log(e.errMsg); + } + }) + }, + fail: function (e) { + console.log(e.errMsg); + } + }); } }) }, diff --git a/pages/invoicing/index.js b/pages/invoicing/index.js index 44e62d6..38cd1db 100644 --- a/pages/invoicing/index.js +++ b/pages/invoicing/index.js @@ -1,5 +1,5 @@ import { getInvoiceInfo, makeInvoice } from "../../service/invoice" -import { alertInfo, alertSuccess } from "../../utils/index"; +import { alertInfo, alertSuccess, loadingFunc } from "../../utils/index"; import request from '../../utils/request' const { OK } = request @@ -91,14 +91,22 @@ Page({ }, async onSubmit() { - const {ids = [], remark } = this.data; - const tenement = wx.getStorageSync('tenement') - const { code, message, data } = await makeInvoice({ ids, tenement: tenement.id, remark }) - if (code !== OK) { - alertInfo(message) - return; - } - alertSuccess("开票成功,未完") + loadingFunc(async() => { + const {ids = [], remark } = this.data; + const tenement = wx.getStorageSync('tenement') + const { code, message, data } = await makeInvoice({ ids, tenement: tenement.id, remark }) + if (code !== OK) { + alertInfo(message) + return; + } + alertSuccess("操作成功") + setTimeout(() => { + wx.redirectTo({ + url: '/pages/invoiceList/index?tab=1', + }) + }, 500) + + }) }, changeShow() { this.setData({ show: true })