49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
const { request, buildResultView } = require('../../utils/request');
|
|
|
|
Page({
|
|
data: {
|
|
type: 'week',
|
|
start_date: '',
|
|
end_date: '',
|
|
include: 'diary,pay,remind',
|
|
mask_money: 'false',
|
|
mask_names: 'false',
|
|
page: 1,
|
|
pageSize: 5,
|
|
result: '',
|
|
resultCards: []
|
|
},
|
|
onInput(e) {
|
|
const key = e.currentTarget.dataset.key;
|
|
this.setData({ [key]: e.detail.value });
|
|
},
|
|
async generate() {
|
|
const body = {
|
|
type: this.data.type,
|
|
start_date: this.data.start_date,
|
|
end_date: this.data.end_date,
|
|
include: this.data.include ? this.data.include.split(',').map(s => s.trim()).filter(Boolean) : [],
|
|
mask: {
|
|
money: String(this.data.mask_money).toLowerCase() === 'true',
|
|
names: String(this.data.mask_names).toLowerCase() === 'true'
|
|
}
|
|
};
|
|
const result = await request({
|
|
url: '/api/console/report/generate',
|
|
method: 'POST',
|
|
data: body
|
|
});
|
|
const view = buildResultView(result);
|
|
this.setData({ result: view.text, resultCards: view.cards });
|
|
},
|
|
async history() {
|
|
const qs = [];
|
|
if (this.data.type) qs.push(`type=${encodeURIComponent(this.data.type)}`);
|
|
qs.push(`page=${encodeURIComponent(this.data.page)}`);
|
|
qs.push(`pageSize=${encodeURIComponent(this.data.pageSize)}`);
|
|
const result = await request({ url: `/api/console/report/history?${qs.join('&')}` });
|
|
const view = buildResultView(result);
|
|
this.setData({ result: view.text, resultCards: view.cards });
|
|
}
|
|
});
|