diff --git a/.husky/addReferenceTag.js b/.husky/addReferenceTag.js
index 857d15739..a88baf2e1 100644
--- a/.husky/addReferenceTag.js
+++ b/.husky/addReferenceTag.js
@@ -26,7 +26,7 @@ if (branchName) {
const splitedMsg = msg.split(':');
if (splitedMsg.length > 1) {
- const finalMsg = splitedMsg[0] + ': ' + referenceTag + splitedMsg.slice(1).join(':');
+ const finalMsg = `${splitedMsg[0]}: ${referenceTag}${splitedMsg.slice(1).join(':')}`;
writeFileSync(msgPath, finalMsg);
}
}
diff --git a/cypress.config.js b/cypress.config.js
index d9cdbe728..90d950450 100644
--- a/cypress.config.js
+++ b/cypress.config.js
@@ -1,6 +1,9 @@
import { defineConfig } from 'cypress';
-let urlHost, reporter, reporterOptions, timeouts;
+let urlHost;
+let reporter;
+let reporterOptions;
+let timeouts;
if (process.env.CI) {
urlHost = 'front';
@@ -44,6 +47,7 @@ export default defineConfig({
supportFile: 'test/cypress/support/index.js',
videosFolder: 'test/cypress/videos',
downloadsFolder: 'test/cypress/downloads',
+ tmpUploadFolder: 'test/cypress/storage/tmp/dms',
video: false,
specPattern: 'test/cypress/integration/**/*.spec.js',
experimentalRunAllSpecs: true,
@@ -60,5 +64,6 @@ export default defineConfig({
...timeouts,
includeShadowDom: true,
waitForAnimations: true,
+ testIsolation: false,
},
});
diff --git a/index.html b/index.html
index c1bd4681b..63b2f2f51 100644
--- a/index.html
+++ b/index.html
@@ -1,4 +1,4 @@
-
+
<%= productName %>
@@ -12,7 +12,12 @@
content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width<% if (ctx.mode.cordova || ctx.mode.capacitor) { %>, viewport-fit=cover<% } %>"
/>
-
+
diff --git a/package.json b/package.json
index 19b4c7a6f..f903a5ab6 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "salix-front",
- "version": "25.16.0",
+ "version": "25.18.0",
"description": "Salix frontend",
"productName": "Salix",
"author": "Verdnatura",
diff --git a/postcss.config.js b/postcss.config.js
index 9ec43d0cb..164f207d4 100644
--- a/postcss.config.js
+++ b/postcss.config.js
@@ -1,4 +1,3 @@
-/* eslint-disable */
// https://github.com/michael-ciniawsky/postcss-load-config
import autoprefixer from 'autoprefixer';
diff --git a/quasar.config.js b/quasar.config.js
index 2bc0be37f..227f5840c 100644
--- a/quasar.config.js
+++ b/quasar.config.js
@@ -13,7 +13,7 @@ import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite';
import path from 'path';
const target = `http://${process.env.CI ? 'back' : 'localhost'}:3000`;
-export default configure(function (/* ctx */) {
+export default configure((/* ctx */) => {
return {
eslint: {
// fix: true,
diff --git a/quasar.extensions.json b/quasar.extensions.json
index 050f605cc..867769090 100644
--- a/quasar.extensions.json
+++ b/quasar.extensions.json
@@ -1,8 +1,6 @@
{
"@quasar/testing-unit-vitest": {
- "options": [
- "scripts"
- ]
+ "options": ["scripts"]
},
"@quasar/qcalendar": {}
}
diff --git a/quasar.testing.json b/quasar.testing.json
index a59d9af89..6957efe67 100644
--- a/quasar.testing.json
+++ b/quasar.testing.json
@@ -1,5 +1,5 @@
{
- "unit-vitest": {
- "runnerCommand": "vitest run"
- }
-}
\ No newline at end of file
+ "unit-vitest": {
+ "runnerCommand": "vitest run"
+ }
+}
diff --git a/src/App.vue b/src/App.vue
index 27cc34c38..bec50ae9d 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -2,6 +2,7 @@
import { onMounted } from 'vue';
import { useQuasar, Dark } from 'quasar';
import { useI18n } from 'vue-i18n';
+import VnScroll from './components/common/VnScroll.vue';
const quasar = useQuasar();
const { availableLocales, locale, fallbackLocale } = useI18n();
@@ -38,6 +39,7 @@ quasar.iconMapFn = (iconName) => {
+
diff --git a/src/components/EntityCalendarGrid.vue b/src/components/EntityCalendarGrid.vue
new file mode 100644
index 000000000..19fb5a061
--- /dev/null
+++ b/src/components/EntityCalendarGrid.vue
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+ emit('onDateSelected', data)"
+ />
+
+
+
diff --git a/src/components/FilterTravelForm.vue b/src/components/FilterTravelForm.vue
index 4aad327b2..f2a7a09eb 100644
--- a/src/components/FilterTravelForm.vue
+++ b/src/components/FilterTravelForm.vue
@@ -156,6 +156,9 @@ const selectTravel = ({ id }) => {
option-label="name"
option-value="id"
v-model="travelFilterParams.warehouseOutFk"
+ :where="{
+ isOrigin: true,
+ }"
/>
{
option-label="name"
option-value="id"
v-model="travelFilterParams.warehouseInFk"
+ :where="{
+ isDestiny: true,
+ }"
/>
{},
},
+ preventSubmit: {
+ type: Boolean,
+ default: false,
+ },
});
-const emit = defineEmits(['onFetch', 'onDataSaved']);
+const emit = defineEmits(['onFetch', 'onDataSaved', 'submit']);
const modelValue = computed(
() => $props.model ?? `formModel_${route?.meta?.title ?? route.name}`,
).value;
@@ -301,7 +304,7 @@ function onBeforeSave(formData, originalData) {
);
}
async function onKeyup(evt) {
- if (evt.key === 'Enter' && !('prevent-submit' in attrs)) {
+ if (evt.key === 'Enter' && !$props.preventSubmit) {
const input = evt.target;
if (input.type == 'textarea' && evt.shiftKey) {
let { selectionStart, selectionEnd } = input;
@@ -330,6 +333,7 @@ defineExpose({
{
-
+
{
-
+