yuminge-app/yun-min-program-plugin-master/packageI/invoice/invoiceCenter/invoiceCenter.js

136 lines
3.7 KiB
JavaScript

// packageI/invoice/invoiceCenter/invoiceCenter.js
const app = getApp();
Page({
data: {
invoiceType: 1,
loading: false,
finshed: false,
page: 1,
total: 0,
invoiceList: [], // 发票列表
orderList: [], // 订单列表
bearerList: [], // 发票抬头列表
sinvoice: {},
},
onLoad: function (options) {
if (options.type !== undefined)
this.setData({
invoiceType: options.type * 1
})
},
onShow: function () {
this._initData();
this.getListData();
},
changeTab (event) {
// 禁止初始化重复触发
if (event.detail.name != this.data.invoiceType) {
this.setData({invoiceType: event.detail.name})
this._initData();
this.getListData();
}
},
_initData () {
this.setData({
loading: false,
finshed: false,
page: 1,
total: 0,
invoiceList: [],
orderList: [],
bearerList: [],
})
},
getListData () {
if (this.data.finshed || this.data.loading) {
return false;
}
let urlStr = "";
let requestJson = { page: this.data.page };
if (this.data.invoiceType == "-1") {
// 发票抬头
urlStr = app.getNetAddresss("plugin.invoice.frontend.rise.get-list");
} else if (this.data.invoiceType == "3") {
// 申请开票
urlStr = app.getNetAddresss("plugin.invoice.frontend.index.not-invoice");
} else {
// 已开票、申请中
urlStr = app.getNetAddresss("plugin.invoice.frontend.index.index");
requestJson.status = this.data.invoiceType;
}
this.setData({loading: true});
app._getNetWork({
url: urlStr,
data: requestJson,
success: ({data:res}) => {
if (res.result != 1) {
return app.tips(res.msg);
}
let resData = res.data;
if (this.data.page >= resData.last_page || resData.data.length < resData.pre_page) {
this.setData({ finshed: true });
}
this.setChildData(resData);
this.setData({
page: this.data.page + 1,
total: resData.total,
});
},
complete: () => {
this.setData({loading: false})
}
})
},
// 设置子组件数据
setChildData (data) {
let invoiceType = this.data.invoiceType;
if (invoiceType == "-1") {
this.setData({
bearerList: this.data.bearerList.concat(data.data)
})
} else if (invoiceType == "3") {
// 后端没有返回 手动添加开发票按钮
data.data.forEach(item => {
item.button_models = [{name: "申请开票", value: "apply_invoice", api: "test", type: ""}]
})
this.setData({
orderList: this.data.orderList.concat(data.data),
sinvoice: data.sinvoice
})
} else {
this.setData({
invoiceList: this.data.invoiceList.concat(data.data)
})
}
},
refreshComponent () {
this.setData({
loading: false,
finshed: false,
page: 1,
total: 0,
invoiceList: [],
orderList: [],
bearerList: [],
})
this.getListData();
},
onReachBottom () {
this.getListData();
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})