perf: minor changes
This commit is contained in:
parent
adf33c14ae
commit
22f77fc70c
|
@ -12,7 +12,7 @@ const $props = defineProps({
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
showEvent: {
|
isPopupOpen: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
@ -114,7 +114,7 @@ const manageDate = (dates) => {
|
||||||
} else {
|
} else {
|
||||||
formattedDate.value = dates;
|
formattedDate.value = dates;
|
||||||
}
|
}
|
||||||
isPopupOpen.value = false;
|
if ($props.isPopupOpen) isPopupOpen.value = false;
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -255,9 +255,17 @@ async function handleTicketConfig(data) {
|
||||||
:row-click="change"
|
:row-click="change"
|
||||||
:is-editable="false"
|
:is-editable="false"
|
||||||
:right-search="false"
|
:right-search="false"
|
||||||
:without-header="true"
|
|
||||||
:disable-option="{ card: true, table: true }"
|
:disable-option="{ card: true, table: true }"
|
||||||
>
|
>
|
||||||
|
<template #top-right>
|
||||||
|
<QBtn
|
||||||
|
flat
|
||||||
|
class="q-mr-sm"
|
||||||
|
color="primary"
|
||||||
|
icon="refresh"
|
||||||
|
@click="proposalTableRef.reload()"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
<template #column-longName="{ row }">
|
<template #column-longName="{ row }">
|
||||||
<QTd
|
<QTd
|
||||||
class="flex"
|
class="flex"
|
||||||
|
@ -270,10 +278,10 @@ async function handleTicketConfig(data) {
|
||||||
<QTooltip> {{ statusConditionalValue(row) }}% </QTooltip>
|
<QTooltip> {{ statusConditionalValue(row) }}% </QTooltip>
|
||||||
</div>
|
</div>
|
||||||
<div style="flex: 2 0 100%; align-content: center">
|
<div style="flex: 2 0 100%; align-content: center">
|
||||||
<div>
|
<span class="link" @click.stop>
|
||||||
<span class="link">{{ row.longName }}</span>
|
{{ row.longName }}
|
||||||
<ItemDescriptorProxy :id="row.id" />
|
<ItemDescriptorProxy :id="row.id" />
|
||||||
</div>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</QTd>
|
</QTd>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -7,7 +7,6 @@ import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
|
||||||
import VnInput from 'src/components/common/VnInput.vue';
|
import VnInput from 'src/components/common/VnInput.vue';
|
||||||
import VnSelect from 'src/components/common/VnSelect.vue';
|
import VnSelect from 'src/components/common/VnSelect.vue';
|
||||||
import VnInputDateTime from 'src/components/common/VnInputDateTime.vue';
|
import VnInputDateTime from 'src/components/common/VnInputDateTime.vue';
|
||||||
import VnDate from 'src/components/common/VnDate.vue';
|
|
||||||
import VnInputDate from 'src/components/common/VnInputDate.vue';
|
import VnInputDate from 'src/components/common/VnInputDate.vue';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
|
@ -131,6 +130,7 @@ const setUserParams = (params) => {
|
||||||
filled
|
filled
|
||||||
:label="t('negative.excludedDates')"
|
:label="t('negative.excludedDates')"
|
||||||
:multiple="true"
|
:multiple="true"
|
||||||
|
:is-popup-open="false"
|
||||||
>
|
>
|
||||||
</VnInputDate>
|
</VnInputDate>
|
||||||
</QItemSection>
|
</QItemSection>
|
||||||
|
|
|
@ -227,7 +227,7 @@ negative:
|
||||||
origen: Origen
|
origen: Origen
|
||||||
value: Negativo
|
value: Negativo
|
||||||
warehouseFk: Almacen
|
warehouseFk: Almacen
|
||||||
producer: Producer
|
producer: Productor
|
||||||
excludedDates: Fechas excluidas
|
excludedDates: Fechas excluidas
|
||||||
category: Categoría
|
category: Categoría
|
||||||
categoryFk: Familia
|
categoryFk: Familia
|
||||||
|
|
|
@ -1,147 +1,173 @@
|
||||||
/// <reference types="cypress" />
|
/// <reference types="cypress" />
|
||||||
describe.skip('Ticket Lack detail', () => {
|
|
||||||
|
const firstRow = 'tr.cursor-pointer > :nth-child(1)';
|
||||||
|
const ticketId = 1000000;
|
||||||
|
const findTr = (index) => `tbody > tr > :nth-child(${index}) > div`;
|
||||||
|
const clickNotificationAction = () => {
|
||||||
|
const notification = '.q-notification';
|
||||||
|
cy.waitForElement(notification);
|
||||||
|
cy.get(notification).should('be.visible');
|
||||||
|
cy.get(notification).find('.q-btn').click();
|
||||||
|
cy.get(notification).should('not.be.visible');
|
||||||
|
};
|
||||||
|
describe('Ticket Lack detail', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
|
cy.viewport(1280, 720);
|
||||||
cy.login('developer');
|
cy.login('developer');
|
||||||
cy.intercept('GET', /\/api\/Tickets\/itemLack\/5.*$/, {
|
cy.intercept('GET', /\/api\/Tickets\/itemLack\/88.*$/).as('getItemLack');
|
||||||
statusCode: 200,
|
cy.visit('/#/ticket/negative/88');
|
||||||
body: [
|
|
||||||
{
|
|
||||||
saleFk: 33,
|
|
||||||
code: 'OK',
|
|
||||||
ticketFk: 142,
|
|
||||||
nickname: 'Malibu Point',
|
|
||||||
shipped: '2000-12-31T23:00:00.000Z',
|
|
||||||
hour: 0,
|
|
||||||
quantity: 50,
|
|
||||||
agName: 'Super-Man delivery',
|
|
||||||
alertLevel: 0,
|
|
||||||
stateName: 'OK',
|
|
||||||
stateId: 3,
|
|
||||||
itemFk: 5,
|
|
||||||
price: 1.79,
|
|
||||||
alertLevelCode: 'FREE',
|
|
||||||
zoneFk: 9,
|
|
||||||
zoneName: 'Zone superMan',
|
|
||||||
theoreticalhour: '2011-11-01T22:59:00.000Z',
|
|
||||||
isRookie: 1,
|
|
||||||
turno: 1,
|
|
||||||
peticionCompra: 1,
|
|
||||||
hasObservation: 1,
|
|
||||||
hasToIgnore: 1,
|
|
||||||
isBasket: 1,
|
|
||||||
minTimed: 0,
|
|
||||||
customerId: 1104,
|
|
||||||
customerName: 'Tony Stark',
|
|
||||||
observationTypeCode: 'administrative',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}).as('getItemLack');
|
|
||||||
|
|
||||||
cy.visit('/#/ticket/negative/5', false);
|
cy.wait('@getItemLack').then((interception) => {
|
||||||
cy.wait('@getItemLack');
|
const { query } = interception.request;
|
||||||
|
const filter = JSON.parse(query.filter);
|
||||||
|
expect(filter).to.have.property('where');
|
||||||
|
expect(filter.where).to.have.property('alertLevelCode', 'FREE');
|
||||||
|
});
|
||||||
|
cy.domContentLoad();
|
||||||
|
cy.waitForElement('.q-table');
|
||||||
});
|
});
|
||||||
describe('Table actions', () => {
|
describe('Table detail', () => {
|
||||||
|
it('should open descriptors', () => {
|
||||||
|
cy.get('.q-table').should('be.visible');
|
||||||
|
cy.colField('zoneName').click();
|
||||||
|
cy.dataCy('zoneDescriptorProxy').should('be.visible');
|
||||||
|
cy.get('.q-item > .q-item__label').should('have.text', ' #1');
|
||||||
|
cy.colField('ticketFk').click();
|
||||||
|
cy.dataCy('ticketDescriptorProxy').should('be.visible');
|
||||||
|
cy.get('.q-item > .q-item__label').should('have.text', ` #${ticketId}`);
|
||||||
|
cy.colField('nickname').find('.link').click();
|
||||||
|
cy.waitForElement('[data-cy="customerDescriptorProxy"]');
|
||||||
|
cy.dataCy('customerDescriptorProxy').should('be.visible');
|
||||||
|
cy.get('.q-item > .q-item__label').should('have.text', ' #1');
|
||||||
|
});
|
||||||
it('should display only one row in the lack list', () => {
|
it('should display only one row in the lack list', () => {
|
||||||
cy.location('href').should('contain', '#/ticket/negative/5');
|
cy.dataCy('changeItem').should('be.disabled');
|
||||||
|
cy.dataCy('changeState').should('be.disabled');
|
||||||
cy.get('[data-cy="changeItem"]').should('be.disabled');
|
cy.dataCy('changeQuantity').should('be.disabled');
|
||||||
cy.get('[data-cy="changeState"]').should('be.disabled');
|
cy.dataCy('itemProposal').should('be.disabled');
|
||||||
cy.get('[data-cy="changeQuantity"]').should('be.disabled');
|
cy.dataCy('transferLines').should('be.disabled');
|
||||||
cy.get('[data-cy="itemProposal"]').should('be.disabled');
|
|
||||||
cy.get('[data-cy="transferLines"]').should('be.disabled');
|
|
||||||
cy.get('tr.cursor-pointer > :nth-child(1)').click();
|
cy.get('tr.cursor-pointer > :nth-child(1)').click();
|
||||||
cy.get('[data-cy="changeItem"]').should('be.enabled');
|
cy.dataCy('changeItem').should('be.enabled');
|
||||||
cy.get('[data-cy="changeState"]').should('be.enabled');
|
cy.dataCy('changeState').should('be.enabled');
|
||||||
cy.get('[data-cy="changeQuantity"]').should('be.enabled');
|
cy.dataCy('changeQuantity').should('be.enabled');
|
||||||
cy.get('[data-cy="itemProposal"]').should('be.enabled');
|
cy.dataCy('itemProposal').should('be.enabled');
|
||||||
cy.get('[data-cy="transferLines"]').should('be.enabled');
|
cy.dataCy('transferLines').should('be.enabled');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('Split', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.get(firstRow).click();
|
||||||
|
cy.dataCy('transferLines').click();
|
||||||
|
});
|
||||||
|
it('Split', () => {
|
||||||
|
cy.dataCy('ticketTransferPopup').find('.flex > .q-btn').click();
|
||||||
|
|
||||||
|
clickNotificationAction();
|
||||||
|
|
||||||
|
cy.dataCy('HandleLackDialog').should('be.visible');
|
||||||
|
cy.dataCy('HandleLackDialog').find('tbody > tr > :nth-child(1) > .q-icon');
|
||||||
|
cy.dataCy('HandleLackDialog').find(findTr(2)).should('have.class', 'link');
|
||||||
|
cy.dataCy('HandleLackDialog')
|
||||||
|
.find(`${findTr(2)}.link > div > span`)
|
||||||
|
.should('have.text', `${ticketId} `);
|
||||||
|
cy.dataCy('HandleLackDialog').find(findTr(3)).should('have.text', 'noSplit');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe('Change Item', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.get(firstRow).click();
|
||||||
|
cy.dataCy('changeItem').click();
|
||||||
|
});
|
||||||
|
it('Change failed', () => {
|
||||||
|
cy.dataCy('New item_select').should('be.visible').click();
|
||||||
|
cy.get('.q-item').contains('Palito rojo').click();
|
||||||
|
cy.get('.q-btn--unelevated > .q-btn__content > .block').click();
|
||||||
|
|
||||||
|
clickNotificationAction();
|
||||||
|
|
||||||
|
cy.dataCy('HandleLackDialog').should('be.visible');
|
||||||
|
cy.dataCy('HandleLackDialog').find('tbody > tr > :nth-child(1) > .q-icon');
|
||||||
|
cy.dataCy('HandleLackDialog').find(findTr(2)).should('have.class', 'link');
|
||||||
|
cy.dataCy('HandleLackDialog')
|
||||||
|
.find(`${findTr(2)}.link > span`)
|
||||||
|
.should('have.text', `${ticketId}`);
|
||||||
|
cy.dataCy('HandleLackDialog')
|
||||||
|
.find(findTr(3))
|
||||||
|
.should('have.text', 'price retrieval failed');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe('Change state', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.get(firstRow).click();
|
||||||
|
cy.dataCy('changeState').click();
|
||||||
|
});
|
||||||
|
it('Change success', () => {
|
||||||
|
cy.dataCy('New state_select').should('be.visible').click();
|
||||||
|
cy.get('.q-item').contains('OK').click();
|
||||||
|
cy.get('.q-btn--unelevated > .q-btn__content > .block').click();
|
||||||
|
|
||||||
|
clickNotificationAction();
|
||||||
|
|
||||||
|
cy.dataCy('HandleLackDialog')
|
||||||
|
.should('be.visible')
|
||||||
|
.find('tbody > tr > :nth-child(1) > .q-icon');
|
||||||
|
cy.dataCy('HandleLackDialog').find(findTr(2)).should('have.class', 'link');
|
||||||
|
cy.dataCy('HandleLackDialog')
|
||||||
|
.find(`${findTr(2)}.link > div > span`)
|
||||||
|
.should('have.text', `${ticketId} `);
|
||||||
|
cy.dataCy('HandleLackDialog').find(findTr(3)).should('have.text', 'OK');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe('change quantity', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.get(firstRow).click();
|
||||||
|
|
||||||
|
cy.dataCy('changeQuantity').click();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Change success', () => {
|
||||||
|
cy.dataCy('New quantity_input').type(10);
|
||||||
|
cy.get('.q-btn--unelevated > .q-btn__content > .block').click();
|
||||||
|
|
||||||
|
clickNotificationAction();
|
||||||
|
|
||||||
|
cy.dataCy('HandleLackDialog')
|
||||||
|
.should('be.visible')
|
||||||
|
.find('tbody > tr > :nth-child(1) > .q-icon');
|
||||||
|
cy.dataCy('HandleLackDialog').find(findTr(2)).should('have.class', 'link');
|
||||||
|
cy.dataCy('HandleLackDialog')
|
||||||
|
.find(`${findTr(2)}.link > div > span`)
|
||||||
|
.should('have.text', `${ticketId} `);
|
||||||
|
cy.dataCy('HandleLackDialog').find(findTr(3)).should('have.text', '10');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe('Item proposal', () => {
|
describe('Item proposal', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
cy.get('tr.cursor-pointer > :nth-child(1)').click();
|
cy.get(firstRow).click();
|
||||||
|
cy.dataCy('itemProposal').click();
|
||||||
cy.intercept('GET', /\/api\/Items\/getSimilar\?.*$/, {
|
|
||||||
statusCode: 200,
|
|
||||||
body: [
|
|
||||||
{
|
|
||||||
id: 1,
|
|
||||||
longName: 'Ranged weapon longbow 50cm',
|
|
||||||
subName: 'Stark Industries',
|
|
||||||
tag5: 'Color',
|
|
||||||
value5: 'Brown',
|
|
||||||
match5: 0,
|
|
||||||
match6: 0,
|
|
||||||
match7: 0,
|
|
||||||
match8: 1,
|
|
||||||
tag6: 'Categoria',
|
|
||||||
value6: '+1 precission',
|
|
||||||
tag7: 'Tallos',
|
|
||||||
value7: '1',
|
|
||||||
tag8: null,
|
|
||||||
value8: null,
|
|
||||||
available: 20,
|
|
||||||
calc_id: 6,
|
|
||||||
counter: 0,
|
|
||||||
minQuantity: 1,
|
|
||||||
visible: null,
|
|
||||||
price2: 1,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 2,
|
|
||||||
longName: 'Ranged weapon longbow 100cm',
|
|
||||||
subName: 'Stark Industries',
|
|
||||||
tag5: 'Color',
|
|
||||||
value5: 'Brown',
|
|
||||||
match5: 0,
|
|
||||||
match6: 1,
|
|
||||||
match7: 0,
|
|
||||||
match8: 1,
|
|
||||||
tag6: 'Categoria',
|
|
||||||
value6: '+1 precission',
|
|
||||||
tag7: 'Tallos',
|
|
||||||
value7: '1',
|
|
||||||
tag8: null,
|
|
||||||
value8: null,
|
|
||||||
available: 50,
|
|
||||||
calc_id: 6,
|
|
||||||
counter: 1,
|
|
||||||
minQuantity: 5,
|
|
||||||
visible: null,
|
|
||||||
price2: 10,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 3,
|
|
||||||
longName: 'Ranged weapon longbow 200cm',
|
|
||||||
subName: 'Stark Industries',
|
|
||||||
tag5: 'Color',
|
|
||||||
value5: 'Brown',
|
|
||||||
match5: 1,
|
|
||||||
match6: 1,
|
|
||||||
match7: 1,
|
|
||||||
match8: 1,
|
|
||||||
tag6: 'Categoria',
|
|
||||||
value6: '+1 precission',
|
|
||||||
tag7: 'Tallos',
|
|
||||||
value7: '1',
|
|
||||||
tag8: null,
|
|
||||||
value8: null,
|
|
||||||
available: 185,
|
|
||||||
calc_id: 6,
|
|
||||||
counter: 10,
|
|
||||||
minQuantity: 10,
|
|
||||||
visible: null,
|
|
||||||
price2: 100,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}).as('getItemGetSimilar');
|
|
||||||
cy.get('[data-cy="itemProposal"]').click();
|
|
||||||
cy.wait('@getItemGetSimilar');
|
|
||||||
});
|
});
|
||||||
describe.skip('Replace item if', () => {
|
describe('Replace item if', () => {
|
||||||
it('Quantity is less than available', () => {
|
it.skip('Quantity is less than available', () => {
|
||||||
cy.get(':nth-child(1) > .text-right > .q-btn').click();
|
cy.get(':nth-child(1) > .text-right > .q-btn').click();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('item proposal cells', () => {
|
||||||
|
cy.get('[data-col-field="longName"] .link').first().click();
|
||||||
|
|
||||||
|
cy.dataCy('itemDescriptorProxy').should('be.visible');
|
||||||
|
|
||||||
|
cy.colField('longName', 2)
|
||||||
|
.find('.no-padding > .q-td > .middle')
|
||||||
|
.should('have.class', 'proposal-primary');
|
||||||
|
cy.colField('tag5', 2)
|
||||||
|
.find('.no-padding > .match')
|
||||||
|
.should('have.class', 'match');
|
||||||
|
cy.colField('tag6', 2)
|
||||||
|
.find('.no-padding > .match')
|
||||||
|
.should('have.class', 'match');
|
||||||
|
cy.colField('tag7', 2).click();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,34 +1,16 @@
|
||||||
/// <reference types="cypress" />
|
/// <reference types="cypress" />
|
||||||
describe('Ticket Lack list', () => {
|
describe('Ticket Lack list', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
cy.login('developer');
|
cy.viewport(1280, 720);
|
||||||
cy.intercept('GET', /Tickets\/itemLack\?.*$/, {
|
|
||||||
statusCode: 200,
|
|
||||||
body: [
|
|
||||||
{
|
|
||||||
itemFk: 5,
|
|
||||||
longName: 'Ranged weapon pistol 9mm',
|
|
||||||
warehouseFk: 1,
|
|
||||||
producer: null,
|
|
||||||
size: 15,
|
|
||||||
category: null,
|
|
||||||
warehouse: 'Warehouse One',
|
|
||||||
lack: -50,
|
|
||||||
inkFk: 'SLV',
|
|
||||||
timed: '2025-01-25T22:59:00.000Z',
|
|
||||||
minTimed: '23:59',
|
|
||||||
originFk: 'Holand',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}).as('getLack');
|
|
||||||
|
|
||||||
|
cy.login('developer');
|
||||||
cy.visit('/#/ticket/negative');
|
cy.visit('/#/ticket/negative');
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Table actions', () => {
|
describe('Table actions', () => {
|
||||||
it('should display only one row in the lack list', () => {
|
it('should display only one row in the lack list', () => {
|
||||||
cy.wait('@getLack', { timeout: 10000 });
|
cy.get('[data-col-field="longName"]').first().click();
|
||||||
|
cy.dataCy('itemDescriptorProxy').should('be.visible');
|
||||||
cy.get('.q-virtual-scroll__content > :nth-child(1) > .sticky').click();
|
cy.get('.q-virtual-scroll__content > :nth-child(1) > .sticky').click();
|
||||||
cy.location('href').should('contain', '#/ticket/negative/5');
|
cy.location('href').should('contain', '#/ticket/negative/5');
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue