electricity_bill_calc_wx/pages/invoiceDetail/index.js

103 lines
2.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// pages/invoiceInfo/index.js
import { getInvoiceInfoDetail, downloadInvoice } from "../../service/invoice";
import { alertError, alertInfo, alertSuccess, loadingFunc } from "../../utils/index";
import request from '../../utils/request'
const { OK } = request;
Page({
/**
* 页面的初始数据
*/
data: {
detail: {},
id: "",
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
const { id } = options;
this.init(id);
},
async init(id) {
const { code, message, data } = await getInvoiceInfoDetail(id)
this.setData({ detail: data, id });
},
handleBack() {
wx.navigateBack()
},
jumpToDetail() {
wx.redirectTo({
url: '/pages/invoiceDetailContent/index?id=' + this.data.id,
})
},
download() {
const that = this;
wx.showActionSheet({
itemList: ['发票XML文件下载', '发票PDF文件下载'],
async success(sheetRes) {
loadingFunc(async () => {
const { code, message, data } = await downloadInvoice(that.data.id, sheetRes.tapIndex);
if (code !== OK) {
alertInfo(message)
return;
}
if (!data) {
alertInfo("暂无文档信息")
return
}
if (sheetRes.tapIndex === 0) {
wx.showModal({
title: '提示',
content: '暂不支持xml格式预览请复制链接后打开浏览器下载',
confirmText: '复制链接',
showCancel: true,
complete: (res) => {
if (res.cancel) {
}
if (res.confirm) {
wx.setClipboardData({
data,
success: () => {
alertSuccess("复制成功")
}
})
}
}
})
return;
}
wx.downloadFile({
url: data,
success(res) {
if (res.statusCode === 200) {
if (!res.tempFilePath) {
alertError("没有开票信息")
return;
}
wx.openDocument({
filePath: res.tempFilePath,
// fileType: sheetRes.tapIndex === 0 ? 'xml' : "pdf", // 3. 这个必须写合法类型,不然下载不了
success: function (res) {
},
fail: function (e) {
alertError("打开失败")
console.log('打开失败错误为', e)
}
})
}
},
fail: (e) => {
console.log('e', e)
alertInfo("下载文件失败")
}
})
})
}
})
},
})