2766-ticket_index_col_order #535
|
@ -392,12 +392,15 @@ export default {
|
|||
descriptorTicketId: 'vn-ticket-descriptor > vn-descriptor-content > div > div.body > div.top > div'
|
||||
},
|
||||
ticketsIndex: {
|
||||
anySearchResult: 'vn-ticket-index vn-tbody > a',
|
||||
openAdvancedSearchButton: 'vn-searchbar .append vn-icon[icon="arrow_drop_down"]',
|
||||
advancedSearchInvoiceOut: 'vn-ticket-search-panel vn-textfield[ng-model="filter.refFk"]',
|
||||
advancedSearchDaysOnward: 'vn-ticket-search-panel vn-input-number[ng-model="filter.scopeDays"]',
|
||||
advancedSearchClient: 'vn-ticket-search-panel vn-textfield[ng-model="filter.clientFk"]',
|
||||
advancedSearchButton: 'vn-ticket-search-panel button[type=submit]',
|
||||
newTicketButton: 'vn-ticket-index a[ui-sref="ticket.create"]',
|
||||
searchResult: 'vn-ticket-index vn-card > vn-table > div > vn-tbody > a.vn-tr',
|
||||
firstTicketCheckbox: 'vn-ticket-index vn-tbody > a:nth-child(1) > vn-td:nth-child(1) > vn-check',
|
||||
secondTicketCheckbox: 'vn-ticket-index vn-tbody > a:nth-child(2) > vn-td:nth-child(1) > vn-check',
|
||||
thirdTicketCheckbox: 'vn-ticket-index vn-tbody > a:nth-child(3) > vn-td:nth-child(1) > vn-check',
|
||||
sixthTicketCheckbox: 'vn-ticket-index vn-tbody > a:nth-child(6) > vn-td:nth-child(1) > vn-check',
|
||||
|
|
|
@ -22,16 +22,21 @@ describe('Ticket index payout path', () => {
|
|||
it('should check the second ticket from a client and 1 of another', async() => {
|
||||
await page.waitToClick(selectors.globalItems.searchButton);
|
||||
await page.waitToClick(selectors.ticketsIndex.secondTicketCheckbox);
|
||||
await page.waitToClick(selectors.ticketsIndex.sixthTicketCheckbox);
|
||||
await page.waitToClick(selectors.ticketsIndex.thirdTicketCheckbox);
|
||||
await page.waitToClick(selectors.ticketsIndex.payoutButton);
|
||||
const message = await page.waitForSnackbar();
|
||||
|
||||
expect(message.text).toContain('You cannot make a payment on account from multiple clients');
|
||||
});
|
||||
|
||||
it('should uncheck the sixth ticket result and check the third which is from the same client then open the payout form', async() => {
|
||||
await page.waitToClick(selectors.ticketsIndex.sixthTicketCheckbox);
|
||||
await page.waitToClick(selectors.ticketsIndex.thirdTicketCheckbox);
|
||||
it('should search for tickets of the same client then open the payout form', async() => {
|
||||
await page.waitToClick(selectors.ticketsIndex.openAdvancedSearchButton);
|
||||
await page.write(selectors.ticketsIndex.advancedSearchClient, '101');
|
||||
await page.keyboard.press('Enter');
|
||||
await page.waitForNumberOfElements(selectors.ticketsIndex.anySearchResult, 6);
|
||||
await page.waitToClick(selectors.ticketsIndex.firstTicketCheckbox);
|
||||
await page.waitToClick(selectors.ticketsIndex.secondTicketCheckbox);
|
||||
|
||||
await page.waitToClick(selectors.ticketsIndex.payoutButton);
|
||||
|
||||
await page.waitForSelector(selectors.ticketsIndex.payoutCompany);
|
||||
|
|
|
@ -197,6 +197,7 @@ module.exports = Self => {
|
|||
t.id,
|
||||
t.shipped,
|
||||
CAST(DATE(t.shipped) AS CHAR) AS shippedDate,
|
||||
HOUR(t.shipped) AS shippedHour,
|
||||
t.nickname,
|
||||
t.refFk,
|
||||
t.routeFk,
|
||||
|
|
|
@ -18,12 +18,12 @@
|
|||
<vn-th field="salesPersonFk" class="expendable">Salesperson</vn-th>
|
||||
<vn-th field="shipped">Date</vn-th>
|
||||
<vn-th>Hour</vn-th>
|
||||
<vn-th field="hour" shrink>Closure</vn-th>
|
||||
<vn-th field="nickname">Alias</vn-th>
|
||||
<vn-th field="provinceFk" class="expendable">Province</vn-th>
|
||||
<vn-th field="stateFk" >State</vn-th>
|
||||
<vn-th field="zoneFk">Zone</vn-th>
|
||||
<vn-th field="warehouseFk">Warehouse</vn-th>
|
||||
<vn-th field="hour" shrink>Closure</vn-th>
|
||||
<vn-th number>Total</vn-th>
|
||||
<vn-th></vn-th>
|
||||
</vn-tr>
|
||||
|
@ -86,6 +86,7 @@
|
|||
</span>
|
||||
</vn-td>
|
||||
<vn-td>{{::ticket.shipped | date: 'HH:mm'}}</vn-td>
|
||||
<vn-td shrink>{{::ticket.zoneLanding | date: 'HH:mm'}}</vn-td>
|
||||
<vn-td>
|
||||
<span
|
||||
title="{{::ticket.nickname}}"
|
||||
|
@ -118,7 +119,6 @@
|
|||
</span>
|
||||
</vn-td>
|
||||
<vn-td>{{::ticket.warehouse}}</vn-td>
|
||||
<vn-td shrink>{{::ticket.zoneLanding | date: 'HH:mm'}}</vn-td>
|
||||
<vn-td number>
|
||||
<span class="chip {{$ctrl.totalPriceColor(ticket)}}">
|
||||
{{::ticket.total | currency: 'EUR': 2}}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
vn-id="model"
|
||||
url="Tickets/filter"
|
||||
limit="20"
|
||||
order="shipped DESC, zoneHour DESC, zoneMinute DESC, clientFk">
|
||||
order="shippedDate DESC, shippedHour ASC, zoneLanding ASC">
|
||||
</vn-crud-model>
|
||||
<vn-portal slot="topbar">
|
||||
<vn-searchbar
|
||||
|
|
|
@ -54,18 +54,14 @@ class Controller extends Summary {
|
|||
}
|
||||
|
||||
setOkState() {
|
||||
let params = {};
|
||||
|
||||
if (this.$params.id)
|
||||
params = {ticketFk: this.$params.id};
|
||||
|
||||
if (!this.$params.id)
|
||||
params = {ticketFk: this.ticket.id};
|
||||
const params = {ticketFk: 'id' in this.ticket ? this.ticket.id : this.$params.id};
|
||||
|
||||
params.code = 'OK';
|
||||
|
||||
this.$http.post(`TicketTrackings/changeState`, params)
|
||||
.then(() => this.reload())
|
||||
.then(() => {
|
||||
if ('id' in this.$params) this.reload();
|
||||
})
|
||||
.then(() => {
|
||||
this.vnApp.showSuccess(this.$t('Data saved!'));
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue