diff --git a/Jenkinsfile b/Jenkinsfile
index a9db9d369..59bf09e22 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -125,7 +125,7 @@ pipeline {
sh "docker-compose ${env.COMPOSE_PARAMS} pull db"
sh "docker-compose ${env.COMPOSE_PARAMS} up -d"
- def modules = sh(script: 'node test/cypress/docker/find/find.js', returnStdout: true).trim()
+ def modules = sh(script: "node test/cypress/docker/find/find.js ${env.COMPOSE_TAG}", returnStdout: true).trim()
echo "E2E MODULES: ${modules}"
image.inside("--network ${env.COMPOSE_PROJECT}_default -e CI -e TZ --init") {
sh "sh test/cypress/docker/cypressParallel.sh 1 '${modules}'"
diff --git a/src/components/FormModel.vue b/src/components/FormModel.vue
index 1fec1e6c9..fffd5a985 100644
--- a/src/components/FormModel.vue
+++ b/src/components/FormModel.vue
@@ -284,7 +284,7 @@ function updateAndEmit(evt, { val, res, old } = { val: null, res: null, old: nul
state.set(modelValue, val);
if (!$props.url) arrayData.store.data = val;
- emit(evt, state.get(modelValue), res, old);
+ emit(evt, state.get(modelValue), res, old, formData);
}
function trimData(data) {
diff --git a/src/components/common/VnCard.vue b/src/components/common/VnCard.vue
index 0b9cc2cce..fb3ece207 100644
--- a/src/components/common/VnCard.vue
+++ b/src/components/common/VnCard.vue
@@ -33,7 +33,7 @@ onBeforeRouteLeave(() => {
});
onBeforeMount(async () => {
- stateStore.cardDescriptorChangeValue(markRaw(props.descriptor));
+ if (props.visual) stateStore.cardDescriptorChangeValue(markRaw(props.descriptor));
const route = router.currentRoute.value;
try {
diff --git a/src/components/common/VnDmsList.vue b/src/components/common/VnDmsList.vue
index aafa9f4ba..943a2a733 100644
--- a/src/components/common/VnDmsList.vue
+++ b/src/components/common/VnDmsList.vue
@@ -4,6 +4,7 @@ import { useI18n } from 'vue-i18n';
import { useRoute } from 'vue-router';
import { useQuasar, QCheckbox, QBtn, QInput } from 'quasar';
import axios from 'axios';
+import { usePrintService } from 'composables/usePrintService';
import VnUserLink from '../ui/VnUserLink.vue';
import { downloadFile } from 'src/composables/downloadFile';
@@ -21,6 +22,7 @@ const rows = ref([]);
const dmsRef = ref();
const formDialog = ref({});
const token = useSession().getTokenMultimedia();
+const { openReport } = usePrintService();
const $props = defineProps({
model: {
@@ -198,12 +200,7 @@ const columns = computed(() => [
color: 'primary',
}),
click: (prop) =>
- downloadFile(
- prop.row.id,
- $props.downloadModel,
- undefined,
- prop.row.download,
- ),
+ openReport(`dms/${prop.row.id}/downloadFile`, {}, '_blank'),
},
{
component: QBtn,
diff --git a/src/components/common/VnLog.vue b/src/components/common/VnLog.vue
index 7020c8489..6e9128a43 100644
--- a/src/components/common/VnLog.vue
+++ b/src/components/common/VnLog.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/src/composables/useArrayData.js b/src/composables/useArrayData.js
index 2e880a16d..9828b35ae 100644
--- a/src/composables/useArrayData.js
+++ b/src/composables/useArrayData.js
@@ -1,4 +1,4 @@
-import { onMounted, computed } from 'vue';
+import { onMounted, computed, ref } from 'vue';
import { useRouter, useRoute } from 'vue-router';
import axios from 'axios';
import { useArrayDataStore } from 'stores/useArrayDataStore';
@@ -346,7 +346,7 @@ export function useArrayData(key, userOptions) {
}
const totalRows = computed(() => (store.data && store.data.length) || 0);
- const isLoading = computed(() => store.isLoading || false);
+ const isLoading = ref(store.isLoading || false);
return {
fetch,
diff --git a/src/pages/Account/Card/AccountDescriptorProxy.vue b/src/pages/Account/Card/AccountDescriptorProxy.vue
index 6a4b3e267..b7bbc1ef9 100644
--- a/src/pages/Account/Card/AccountDescriptorProxy.vue
+++ b/src/pages/Account/Card/AccountDescriptorProxy.vue
@@ -4,11 +4,6 @@ import AccountSummary from './AccountSummary.vue';
-
+
diff --git a/src/pages/Claim/Card/ClaimDescriptor.vue b/src/pages/Claim/Card/ClaimDescriptor.vue
index 3728a18c0..01937a87a 100644
--- a/src/pages/Claim/Card/ClaimDescriptor.vue
+++ b/src/pages/Claim/Card/ClaimDescriptor.vue
@@ -1,5 +1,5 @@
@@ -126,7 +120,7 @@ onMounted(async () => {
size="md"
icon="assignment"
color="primary"
- :href="salixUrl + 'ticket/' + entity.ticketFk + '/sale-tracking'"
+ :to="{ name: 'TicketSaleTracking', params: { id: entity.ticketFk } }"
>
{{ t('claim.saleTracking') }}
@@ -134,7 +128,7 @@ onMounted(async () => {
size="md"
icon="visibility"
color="primary"
- :href="salixUrl + 'ticket/' + entity.ticketFk + '/tracking/index'"
+ :to="{ name: 'TicketTracking', params: { id: entity.ticketFk } }"
>
{{ t('claim.ticketTracking') }}
diff --git a/src/pages/Claim/Card/ClaimDescriptorProxy.vue b/src/pages/Claim/Card/ClaimDescriptorProxy.vue
index 78e686745..f4eff0843 100644
--- a/src/pages/Claim/Card/ClaimDescriptorProxy.vue
+++ b/src/pages/Claim/Card/ClaimDescriptorProxy.vue
@@ -4,11 +4,6 @@ import ClaimSummary from './ClaimSummary.vue';
-
+
diff --git a/src/pages/Customer/Card/CustomerAddress.vue b/src/pages/Customer/Card/CustomerAddress.vue
index f1799d0cc..418c4ec30 100644
--- a/src/pages/Customer/Card/CustomerAddress.vue
+++ b/src/pages/Customer/Card/CustomerAddress.vue
@@ -77,10 +77,10 @@ const isDefaultAddress = (address) => {
return client?.value?.defaultAddressFk === address.id ? 1 : 0;
};
-const setDefault = (address) => {
+const setDefault = async (address) => {
const url = `Clients/${route.params.id}`;
const payload = { defaultAddressFk: address.id };
- axios.patch(url, payload).then((res) => {
+ await axios.patch(url, payload).then((res) => {
if (res.data) {
client.value.defaultAddressFk = res.data.defaultAddressFk;
sortAddresses();
diff --git a/src/pages/Customer/components/CustomerFileManagementActions.vue b/src/pages/Customer/components/CustomerFileManagementActions.vue
index 683f062ff..1fcafdccd 100644
--- a/src/pages/Customer/components/CustomerFileManagementActions.vue
+++ b/src/pages/Customer/components/CustomerFileManagementActions.vue
@@ -1,9 +1,9 @@
-
+
diff --git a/src/pages/Supplier/Card/SupplierConsumption.vue b/src/pages/Supplier/Card/SupplierConsumption.vue
index 259561f4c..8aa6d9174 100644
--- a/src/pages/Supplier/Card/SupplierConsumption.vue
+++ b/src/pages/Supplier/Card/SupplierConsumption.vue
@@ -40,13 +40,11 @@ const dateRanges = computed(() => {
return { from, to };
});
-const reportParams = computed(() => {
- return {
- recipientId: Number(route.params.id),
- to: dateRange(dateRanges.value.to)[1],
- from: dateRange(dateRanges.value.from)[1],
- };
-});
+const reportParams = computed(() => ({
+ recipientId: Number(route.params.id),
+ from: dateRange(dateRanges.value.from)[0].toISOString(),
+ to: dateRange(dateRanges.value.to)[1].toISOString(),
+}));
async function getSupplierConsumptionData() {
await arrayData.fetch({ append: false });
diff --git a/src/pages/Ticket/Card/BasicData/TicketBasicDataForm.vue b/src/pages/Ticket/Card/BasicData/TicketBasicDataForm.vue
index 61932468c..13f2a8a94 100644
--- a/src/pages/Ticket/Card/BasicData/TicketBasicDataForm.vue
+++ b/src/pages/Ticket/Card/BasicData/TicketBasicDataForm.vue
@@ -8,7 +8,6 @@ import VnRow from 'components/ui/VnRow.vue';
import VnSelect from 'src/components/common/VnSelect.vue';
import VnInput from 'src/components/common/VnInput.vue';
import VnInputDate from 'src/components/common/VnInputDate.vue';
-import VnInputTime from 'components/common/VnInputTime.vue';
import axios from 'axios';
import useNotify from 'src/composables/useNotify.js';
@@ -25,7 +24,9 @@ const { validate } = useValidator();
const { notify } = useNotify();
const router = useRouter();
const { t } = useI18n();
-const canEditZone = useAcl().hasAcl('Ticket', 'editZone', 'WRITE');
+const canEditZone = useAcl().hasAny([
+ { model: 'Ticket', props: 'editZone', accessType: 'WRITE' },
+]);
const agencyFetchRef = ref();
const warehousesOptions = ref([]);
@@ -57,26 +58,38 @@ const zoneWhere = computed(() => {
});
async function getLanded(params) {
- getDate(`Agencies/getLanded`, params);
+ const data = await getDate(`Agencies/getLanded`, params);
+ formData.value.landed = data.landed;
+ const shippedDate = new Date(params.shipped);
+ const landedDate = new Date(data.hour);
+ shippedDate.setHours(
+ landedDate.getHours(),
+ landedDate.getMinutes(),
+ landedDate.getSeconds(),
+ );
+ formData.value.shipped = shippedDate.toISOString();
}
async function getShipped(params) {
- getDate(`Agencies/getShipped`, params);
+ const data = await getDate(`Agencies/getShipped`, params);
+ formData.value.landed = params.landed;
+ const [hours, minutes, seconds] = data.hour.split(':').map(Number);
+ let shippedDate = new Date(data.shipped);
+ shippedDate.setHours(hours, minutes, seconds);
+ formData.value.shipped = shippedDate.toISOString();
}
async function getDate(query, params) {
for (const param in params) {
if (!params[param]) return;
}
-
- formData.value.zoneFk = null;
zonesOptions.value = [];
const { data } = await axios.get(query, { params });
if (!data) return notify(t('basicData.noDeliveryZoneAvailable'), 'negative');
formData.value.zoneFk = data.zoneFk;
- if (data.landed) formData.value.landed = data.landed;
- if (data.shipped) formData.value.shipped = data.shipped;
+
+ return data;
}
const onChangeZone = async (zoneId) => {
@@ -125,6 +138,7 @@ const addressId = computed({
formData.value.addressFk = val;
onChangeAddress(val);
getShipped({
+ shipped: formData.value?.shipped,
landed: formData.value?.landed,
addressFk: val,
agencyModeFk: formData.value?.agencyModeFk,
@@ -262,8 +276,6 @@ async function getZone(options) {
-
+
+
+
+
-
-import { reactive } from 'vue';
import { useI18n } from 'vue-i18n';
import { useRouter } from 'vue-router';
@@ -30,31 +29,29 @@ const { t } = useI18n();
const router = useRouter();
const { notify } = useNotify();
-const newTicketFormData = reactive({});
const date = new Date();
-const createTicket = async () => {
+async function createTicket(formData) {
const expeditionIds = $props.selectedExpeditions.map((expedition) => expedition.id);
const params = {
clientId: $props.ticket.clientFk,
- landed: newTicketFormData.landed,
+ landed: formData.landed,
warehouseId: $props.ticket.warehouseFk,
addressId: $props.ticket.addressFk,
agencyModeId: $props.ticket.agencyModeFk,
- routeId: newTicketFormData.routeFk,
+ routeId: formData.routeFk,
expeditionIds: expeditionIds,
};
-
const { data } = await axios.post('Expeditions/moveExpeditions', params);
notify(t('globals.dataSaved'), 'positive');
router.push({ name: 'TicketSummary', params: { id: data.id } });
-};
+}
diff --git a/src/pages/Ticket/Card/TicketFilter.js b/src/pages/Ticket/Card/TicketFilter.js
index daa204a7a..0f12e98a3 100644
--- a/src/pages/Ticket/Card/TicketFilter.js
+++ b/src/pages/Ticket/Card/TicketFilter.js
@@ -20,6 +20,7 @@ export default {
'isFreezed',
'isTaxDataChecked',
'hasElectronicInvoice',
+ 'defaultAddressFk',
'credit',
],
include: [
diff --git a/src/pages/Ticket/Negative/TicketLackFilter.vue b/src/pages/Ticket/Negative/TicketLackFilter.vue
index f046cf5f2..60b50362e 100644
--- a/src/pages/Ticket/Negative/TicketLackFilter.vue
+++ b/src/pages/Ticket/Negative/TicketLackFilter.vue
@@ -144,8 +144,6 @@ const setUserParams = (params) => {
($event) => onCategoryChange($event, searchFn)
"
:options="categoriesOptions"
- option-value="id"
- option-label="name"
hide-selected
dense
filled
@@ -159,10 +157,7 @@ const setUserParams = (params) => {
[
format: (row, dashIfEmpty) => dashIfEmpty(row.lines),
},
{
- align: 'left',
+ align: 'right',
label: t('advanceTickets.import'),
name: 'totalWithVat',
hidden: true,
@@ -172,6 +172,15 @@ const ticketColumns = computed(() => [
headerClass: 'horizontal-separator',
name: 'futureLiters',
},
+ {
+ label: t('advanceTickets.preparation'),
+ name: 'futurePreparation',
+ field: 'futurePreparation',
+ align: 'left',
+ sortable: true,
+ headerClass: 'horizontal-separator',
+ columnFilter: false,
+ },
{
align: 'left',
label: t('advanceTickets.futureZone'),
@@ -196,15 +205,17 @@ const ticketColumns = computed(() => [
label: t('advanceTickets.notMovableLines'),
headerClass: 'horizontal-separator',
name: 'notMovableLines',
+ class: 'shrink',
},
{
align: 'left',
label: t('advanceTickets.futureLines'),
headerClass: 'horizontal-separator',
name: 'futureLines',
+ class: 'shrink',
},
{
- align: 'left',
+ align: 'right',
label: t('advanceTickets.futureImport'),
name: 'futureTotalWithVat',
hidden: true,
@@ -385,7 +396,12 @@ watch(
if (!$el) return;
const head = $el.querySelector('thead');
const firstRow = $el.querySelector('thead > tr');
-
+ const headSelectionCol = $el.querySelector(
+ 'thead tr.bg-header th.q-table--col-auto-width',
+ );
+ if (headSelectionCol) {
+ headSelectionCol.classList.add('horizontal-separator');
+ }
const newRow = document.createElement('tr');
destinationElRef.value = document.createElement('th');
originElRef.value = document.createElement('th');
@@ -394,8 +410,10 @@ watch(
destinationElRef.value.classList.add('text-uppercase', 'color-vn-label');
originElRef.value.classList.add('text-uppercase', 'color-vn-label');
- destinationElRef.value.setAttribute('colspan', '7');
- originElRef.value.setAttribute('colspan', '9');
+ originElRef.value.classList.add('advance-icon');
+
+ destinationElRef.value.setAttribute('colspan', '9');
+ originElRef.value.setAttribute('colspan', '11');
destinationElRef.value.textContent = `${t(
'advanceTickets.destination',
@@ -490,8 +508,6 @@ watch(
selection: 'multiple',
}"
v-model:selected="selectedTickets"
- :pagination="{ rowsPerPage: 0 }"
- :no-data-label="$t('globals.noResults')"
:right-search="false"
:order="['futureTotalWithVat ASC']"
auto-load
diff --git a/src/pages/Ticket/TicketAdvanceFilter.vue b/src/pages/Ticket/TicketAdvanceFilter.vue
index a88d06300..a961e8a7b 100644
--- a/src/pages/Ticket/TicketAdvanceFilter.vue
+++ b/src/pages/Ticket/TicketAdvanceFilter.vue
@@ -65,7 +65,7 @@ onMounted(async () => await getItemPackingTypes());
{{ formatFn(tag.value) }}
-
+
await getItemPackingTypes());
option-value="code"
option-label="description"
:info="t('iptInfo')"
- @update:model-value="searchFn()"
dense
filled
:use-like="false"
- >
-
+ />
@@ -110,12 +108,10 @@ onMounted(async () => await getItemPackingTypes());
option-value="code"
option-label="description"
:info="t('iptInfo')"
- @update:model-value="searchFn()"
dense
filled
:use-like="false"
- >
-
+ />
@@ -134,7 +130,6 @@ onMounted(async () => await getItemPackingTypes());
:label="t('params.isFullMovable')"
v-model="params.isFullMovable"
toggle-indeterminate
- @update:model-value="searchFn()"
dense
/>
@@ -157,13 +152,9 @@ onMounted(async () => await getItemPackingTypes());
:label="t('params.warehouseFk')"
v-model="params.warehouseFk"
:options="warehousesOptions"
- option-value="id"
- option-label="name"
- @update:model-value="searchFn()"
dense
filled
- >
-
+ />
@@ -172,7 +163,6 @@ onMounted(async () => await getItemPackingTypes());
toggle-indeterminate
:label="t('params.onlyWithDestination')"
v-model="params.onlyWithDestination"
- @update:model-value="searchFn()"
dense
/>
diff --git a/src/pages/Ticket/TicketFilter.vue b/src/pages/Ticket/TicketFilter.vue
index 9e9b17ca6..9b76b1a96 100644
--- a/src/pages/Ticket/TicketFilter.vue
+++ b/src/pages/Ticket/TicketFilter.vue
@@ -49,7 +49,7 @@ const groupedStates = ref([]);
{{ formatFn(tag.value) }}
-
+
@@ -97,10 +97,7 @@ const groupedStates = ref([]);
@@ -160,7 +155,6 @@ const groupedStates = ref([]);
@@ -170,7 +164,6 @@ const groupedStates = ref([]);
@@ -178,7 +171,6 @@ const groupedStates = ref([]);
@@ -192,10 +184,7 @@ const groupedStates = ref([]);
[
label: t('advanceTickets.liters'),
name: 'liters',
align: 'left',
+ class: 'shrink',
headerClass: 'horizontal-separator',
},
{
label: t('advanceTickets.import'),
- name: 'import',
+ name: 'totalWithVat',
align: 'left',
headerClass: 'horizontal-separator',
columnFilter: false,
@@ -177,7 +178,12 @@ watch(
if (!$el) return;
const head = $el.querySelector('thead');
const firstRow = $el.querySelector('thead > tr');
-
+ const headSelectionCol = $el.querySelector(
+ 'thead tr.bg-header th.q-table--col-auto-width',
+ );
+ if (headSelectionCol) {
+ headSelectionCol.classList.add('horizontal-separator');
+ }
const newRow = document.createElement('tr');
destinationElRef.value = document.createElement('th');
originElRef.value = document.createElement('th');
@@ -185,9 +191,10 @@ watch(
newRow.classList.add('bg-header');
destinationElRef.value.classList.add('text-uppercase', 'color-vn-label');
originElRef.value.classList.add('text-uppercase', 'color-vn-label');
+ originElRef.value.classList.add('advance-icon');
- destinationElRef.value.setAttribute('colspan', '7');
- originElRef.value.setAttribute('colspan', '9');
+ destinationElRef.value.setAttribute('colspan', '9');
+ originElRef.value.setAttribute('colspan', '7');
originElRef.value.textContent = `${t('advanceTickets.origin')}`;
destinationElRef.value.textContent = `${t('advanceTickets.destination')}`;
@@ -317,7 +324,7 @@ watch(
{{ dashIfEmpty(row.state) }}
-
+
+
{
option-value="code"
option-label="description"
:info="t('iptInfo')"
- @update:model-value="searchFn()"
dense
filled
- >
-
+ />
@@ -129,11 +127,9 @@ onMounted(async () => {
option-value="code"
option-label="description"
:info="t('iptInfo')"
- @update:model-value="searchFn()"
dense
filled
- >
-
+ />
@@ -142,13 +138,9 @@ onMounted(async () => {
:label="t('params.state')"
v-model="params.state"
:options="stateOptions"
- option-value="id"
- option-label="name"
- @update:model-value="searchFn()"
dense
filled
- >
-
+ />
@@ -157,13 +149,9 @@ onMounted(async () => {
:label="t('params.futureState')"
v-model="params.futureState"
:options="stateOptions"
- option-value="id"
- option-label="name"
- @update:model-value="searchFn()"
dense
filled
- >
-
+ />
@@ -173,7 +161,6 @@ onMounted(async () => {
:label="t('params.problems')"
v-model="params.problems"
:toggle-indeterminate="false"
- @update:model-value="searchFn()"
/>
@@ -183,13 +170,9 @@ onMounted(async () => {
:label="t('params.warehouseFk')"
v-model="params.warehouseFk"
:options="warehousesOptions"
- option-value="id"
- option-label="name"
- @update:model-value="searchFn()"
dense
filled
- >
-
+ />
diff --git a/src/pages/Ticket/TicketList.vue b/src/pages/Ticket/TicketList.vue
index 096aa101c..456747cf8 100644
--- a/src/pages/Ticket/TicketList.vue
+++ b/src/pages/Ticket/TicketList.vue
@@ -579,7 +579,7 @@ function setReference(data) {
hide-selected
required
@update:model-value="() => onClientSelected(data)"
- :sort-by="'id ASC'"
+ :sort-by="['id ASC']"
>
@@ -605,7 +605,7 @@ function setReference(data) {
map-options
required
:disable="!data.clientId"
- :sort-by="'isActive DESC'"
+ :sort-by="['isActive DESC']"
@update:model-value="() => fetchAvailableAgencies(data)"
>
diff --git a/src/pages/Ticket/locale/en.yml b/src/pages/Ticket/locale/en.yml
index ed456f171..c802e9c89 100644
--- a/src/pages/Ticket/locale/en.yml
+++ b/src/pages/Ticket/locale/en.yml
@@ -120,6 +120,7 @@ basicData:
difference: Difference
total: Total
price: Price
+ warehouse: Warehouse
newPrice: New price
chargeDifference: Charge difference to
withoutNegatives: Create without negatives
diff --git a/src/pages/Ticket/locale/es.yml b/src/pages/Ticket/locale/es.yml
index bb3a5ac10..ec4534e5f 100644
--- a/src/pages/Ticket/locale/es.yml
+++ b/src/pages/Ticket/locale/es.yml
@@ -47,6 +47,7 @@ basicData:
difference: Diferencia
total: Total
price: Precio
+ warehouse: Almacén
newPrice: Nuevo precio
chargeDifference: Cargar diferencia a
withoutNegatives: Crear sin negativos
diff --git a/src/pages/Worker/Card/WorkerBasicData.vue b/src/pages/Worker/Card/WorkerBasicData.vue
index f2a16b7e1..cb5ead5e3 100644
--- a/src/pages/Worker/Card/WorkerBasicData.vue
+++ b/src/pages/Worker/Card/WorkerBasicData.vue
@@ -1,6 +1,5 @@
{
ref="form"
:url-update="`Workers/${$route.params.id}`"
auto-load
- model="Worker"
+ :model
+ @on-fetch="(data, res, old, formData) => addAdvancedData(formData)"
>
diff --git a/src/pages/Worker/Card/WorkerCard.vue b/src/pages/Worker/Card/WorkerCard.vue
index 591dadcd2..b1bde6d75 100644
--- a/src/pages/Worker/Card/WorkerCard.vue
+++ b/src/pages/Worker/Card/WorkerCard.vue
@@ -4,9 +4,11 @@ import VnCard from 'src/components/common/VnCard.vue';
diff --git a/src/pages/Worker/Card/WorkerDescriptor.vue b/src/pages/Worker/Card/WorkerDescriptor.vue
index 9576e7e84..db0c7c096 100644
--- a/src/pages/Worker/Card/WorkerDescriptor.vue
+++ b/src/pages/Worker/Card/WorkerDescriptor.vue
@@ -2,7 +2,6 @@
import { computed, ref } from 'vue';
import { useRoute } from 'vue-router';
import { useI18n } from 'vue-i18n';
-import EntityDescriptor from 'src/components/ui/EntityDescriptor.vue';
import VnLv from 'src/components/ui/VnLv.vue';
import VnLinkPhone from 'src/components/ui/VnLinkPhone.vue';
import VnChangePassword from 'src/components/common/VnChangePassword.vue';
@@ -11,6 +10,8 @@ import VnImg from 'src/components/ui/VnImg.vue';
import EditPictureForm from 'components/EditPictureForm.vue';
import WorkerDescriptorMenu from './WorkerDescriptorMenu.vue';
import DepartmentDescriptorProxy from 'src/pages/Worker/Department/Card/DepartmentDescriptorProxy.vue';
+import CardDescriptor from 'src/components/ui/CardDescriptor.vue';
+import WorkerCard from './WorkerCard.vue';
const $props = defineProps({
id: {
@@ -52,14 +53,17 @@ const handlePhotoUpdated = (evt = false) => {
};
-
{
-
+
{
return {
code: { like: `%${value}%` },
};
+ case 'id':
+ case 'price':
case 'agencyModeFk':
return {
- agencyModeFk: value,
+ [param]: value,
};
case 'search':
return /^\d+$/.test(value) ? { id: value } : { name: { like: `%${value}%` } };
- case 'price':
- return {
- price: value,
- };
}
};
diff --git a/test/cypress/docker/find/find.js b/test/cypress/docker/find/find.js
index 4f8063c86..9570dafaa 100644
--- a/test/cypress/docker/find/find.js
+++ b/test/cypress/docker/find/find.js
@@ -6,6 +6,9 @@ const FINDED_PATHS = ['src', E2E_PATH];
function getGitDiff(options) {
const TARGET_BRANCH = options[2] || 'dev';
+ execSync(`git fetch origin ${TARGET_BRANCH}`, {
+ encoding: 'utf-8',
+ });
const diff = execSync(`git diff --name-only origin/${TARGET_BRANCH}`, {
encoding: 'utf-8',
});
diff --git a/test/cypress/integration/ticket/ticketList.spec.js b/test/cypress/integration/ticket/ticketList.spec.js
index 302707601..e3497dfe6 100644
--- a/test/cypress/integration/ticket/ticketList.spec.js
+++ b/test/cypress/integration/ticket/ticketList.spec.js
@@ -76,8 +76,8 @@ describe('TicketList', () => {
});
}).as('ticket');
- cy.get('[data-cy="Warehouse_select"]').type('Warehouse Five');
- cy.get('.q-menu .q-item').contains('Warehouse Five').click();
+ cy.selectOption('[data-cy="Warehouse_select"]', 'Warehouse Five');
+ cy.searchBtnFilterPanel();
cy.wait('@ticket').then((interception) => {
const data = interception.response.body[1];
expect(data.hasComponentLack).to.equal(1);