136 lines
3.7 KiB
JavaScript
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 () {
|
|
|
|
}
|
|
}) |