118 lines
2.6 KiB
JavaScript
118 lines
2.6 KiB
JavaScript
import { getInvoiceInfoDetail, downloadInvoice } from "../../service/invoice";
|
||
import { alertInfo } from "../../utils/index";
|
||
import request from '../../utils/request'
|
||
const { OK } = request;
|
||
// pages/invoiceInfo/index.js
|
||
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() {
|
||
// console.log('---------')
|
||
const that = this;
|
||
wx.showActionSheet({
|
||
itemList: ['发票XML文件下载', '发票PDF文件下载'],
|
||
async success(res) {
|
||
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);
|
||
}
|
||
});
|
||
}
|
||
})
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady() {
|
||
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage() {
|
||
|
||
}
|
||
}) |