47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
import ngModule from '../module';
|
|
import Section from 'salix/components/section';
|
|
|
|
export default class Controller extends Section {
|
|
get checked() {
|
|
const rows = this.$.model.data || [];
|
|
const checkedRows = [];
|
|
for (let row of rows) {
|
|
if (row.checked)
|
|
checkedRows.push(row.id);
|
|
}
|
|
|
|
return checkedRows;
|
|
}
|
|
|
|
get totalChecked() {
|
|
return this.checked.length;
|
|
}
|
|
|
|
preview(invoiceOut) {
|
|
this.selectedInvoiceOut = invoiceOut;
|
|
this.$.summary.show();
|
|
}
|
|
|
|
openPdf() {
|
|
if (this.checked.length <= 1) {
|
|
const [invoiceOutId] = this.checked;
|
|
const url = `api/InvoiceOuts/${invoiceOutId}/download?access_token=${this.vnToken.token}`;
|
|
window.open(url, '_blank');
|
|
} else {
|
|
const invoiceOutIds = this.checked;
|
|
const params = {
|
|
ids: invoiceOutIds
|
|
};
|
|
this.$http.post(`InvoiceOuts/downloadZip`, params)
|
|
.then(res => {
|
|
location.href = 'data:application/zip;base64,' + res.data;
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
ngModule.vnComponent('vnInvoiceOutIndex', {
|
|
template: require('./index.html'),
|
|
controller: Controller
|
|
});
|