8315-devToTest #1094
84
CHANGELOG.md
84
CHANGELOG.md
|
@ -1,3 +1,87 @@
|
|||
# Version 24.50 - 2024-12-10
|
||||
|
||||
### Added 🆕
|
||||
|
||||
- feat: add reportFileName option by:Javier Segarra
|
||||
- feat: all clients just with global series by:jgallego
|
||||
- feat: improve Merge branch 'test' into dev by:Javier Segarra
|
||||
- feat: manual invoice in two lines by:jgallego
|
||||
- feat: manualInvoice with address by:jgallego
|
||||
- feat: randomize functions and example by:Javier Segarra
|
||||
- feat: refs #6999 added search when user tabs on a filter with value by:Jon
|
||||
- feat: refs #6999 added tab to search in VnTable filter by:Jon
|
||||
- feat: refs #7346 #7346 improve form by:Javier Segarra
|
||||
- feat: refs #7346 address ordered by:jgallego
|
||||
- feat: refs #7346 radioButton by:jgallego
|
||||
- feat: refs #7346 style radioButton by:jgallego
|
||||
- feat: refs #7346 traducciones en cammelCase (7346-manualInvoice) by:jgallego
|
||||
- feat: refs #8038 added new functionality in VnSelect and refactor styles by:Jon
|
||||
- feat: refs #8061 #8061 updates by:Javier Segarra
|
||||
- feat: refs #8087 reactive data by:jorgep
|
||||
- feat: refs #8087 refs#8087 Redadas en travel by:Carlos Andrés
|
||||
- feat: refs #8138 add component ticket problems by:pablone
|
||||
- feat: refs #8163 add max length and more tests by:wbuezas
|
||||
- feat: refs #8163 add prop by:wbuezas
|
||||
- feat: refs #8163 add VnInput insert functionality and e2e test by:wbuezas
|
||||
- feat: refs #8163 limit with maxLength by:Javier Segarra
|
||||
- feat: refs #8163 maxLength SupplierFD account by:Javier Segarra
|
||||
- feat: refs #8163 maxLengthVnInput by:Javier Segarra
|
||||
- feat: refs #8163 use VnAccountNumber in VnAccountNumber by:Javier Segarra
|
||||
- feat: refs #8166 show notification by:jorgep
|
||||
|
||||
### Changed 📦
|
||||
|
||||
- feat: refs #8038 added new functionality in VnSelect and refactor styles by:Jon
|
||||
- perf: add dataCy by:Javier Segarra
|
||||
- perf: refs #7346 #7346 Imrpove interface dialog by:Javier Segarra
|
||||
- perf: refs #7346 #7346 use v-show instead v-if by:Javier Segarra
|
||||
- perf: refs #8036 currentFilter by:alexm
|
||||
- perf: refs #8061 filter autonomy by:Javier Segarra
|
||||
- perf: refs #8061 solve conflicts and random posCode it by:Javier Segarra
|
||||
- perf: refs #8061 use opts from VnSelect by:Javier Segarra
|
||||
- perf: refs #8163 #8061 createNewPostCodeForm by:Javier Segarra
|
||||
- perf: remove console by:Javier Segarra
|
||||
- perf: remove timeout by:Javier Segarra
|
||||
- perf: test command fillInForm by:Javier Segarra
|
||||
- refactor: refs #8162 remove comment by:wbuezas
|
||||
- refactor: remove unnecesary things by:wbuezas
|
||||
|
||||
### Fixed 🛠️
|
||||
|
||||
- fix: #8016 fetching data by:Javier Segarra
|
||||
- fix: icons by:jgallego
|
||||
- fix: refs #7229 download file by:jorgep
|
||||
- fix: refs #7229 remove catch by:jorgep
|
||||
- fix: refs #7229 set url by:jorgep
|
||||
- fix: refs #7229 test by:jorgep
|
||||
- fix: refs #7229 url by:jorgep
|
||||
- fix: refs #7229 url + test by:jorgep
|
||||
- fix: refs #7304 7304 clean warning by:carlossa
|
||||
- fix: refs #7304 fix list by:carlossa
|
||||
- fix: refs #7304 fix warning by:carlossa
|
||||
- fix: refs #7346 traslations by:jgallego
|
||||
- fix: refs #7529 add save by:carlossa
|
||||
- fix: refs #7529 fix e2e by:carlossa
|
||||
- fix: refs #7529 fix front by:carlossa
|
||||
- fix: refs #7529 fix scss by:carlossa
|
||||
- fix: refs #7529 fix te2e by:carlossa
|
||||
- fix: refs #7529 fix workerPit e2e by:carlossa
|
||||
- fix: refs #7529 front by:carlossa
|
||||
- fix: refs #8036 apply exprBuilder after save filters by:alexm
|
||||
- fix: refs #8036 only add where when required by:alexm
|
||||
- fix: refs #8038 solve conflicts by:Jon
|
||||
- fix: refs #8061 improve code dependencies (origin/8061_improve_newCP) by:Javier Segarra
|
||||
- fix: refs #8138 move component from ui folder by:pablone
|
||||
- fix: refs #8138 sme minor issues by:pablone
|
||||
- fix: refs #8163 #8061 createNewPostCodeForm by:Javier Segarra
|
||||
- fix: refs #8163 minor problem when keypress by:Javier Segarra
|
||||
- fix: refs #8166 show zone error by:jorgep
|
||||
- fix: removed selectedClient by:jgallego
|
||||
- refs #7529 fix workerPit by:carlossa
|
||||
- revert: refs #8061 test #8061 updates by:Javier Segarra
|
||||
- test: fix own test by:Javier Segarra
|
||||
- test: refs #8162 #8162 fix TicketList spec by:Javier Segarra
|
||||
|
||||
# Version 24.48 - 2024-11-25
|
||||
|
||||
### Added 🆕
|
||||
|
|
|
@ -25,7 +25,6 @@ const townsFetchDataRef = ref(false);
|
|||
const townFilter = ref({});
|
||||
|
||||
const countriesRef = ref(false);
|
||||
const provincesFetchDataRef = ref(false);
|
||||
const provincesOptions = ref([]);
|
||||
const townsOptions = ref([]);
|
||||
const town = ref({});
|
||||
|
@ -71,9 +70,6 @@ async function setProvince(id, data) {
|
|||
await fetchTowns();
|
||||
}
|
||||
async function onProvinceCreated(data) {
|
||||
await provincesFetchDataRef.value.fetch({
|
||||
where: { countryFk: postcodeFormData.countryFk },
|
||||
});
|
||||
postcodeFormData.provinceFk = data.id;
|
||||
}
|
||||
function provinceByCountry(countryFk = postcodeFormData.countryFk) {
|
||||
|
@ -92,7 +88,6 @@ function setTown(newTown, data) {
|
|||
data.countryFk = newTown?.province?.countryFk ?? newTown;
|
||||
}
|
||||
async function onCityCreated(newTown, formData) {
|
||||
await provincesFetchDataRef.value.fetch();
|
||||
newTown.province = provincesOptions.value.find(
|
||||
(province) => province.id === newTown.provinceFk
|
||||
);
|
||||
|
@ -125,14 +120,6 @@ async function filterTowns(name) {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<FetchData
|
||||
ref="provincesFetchDataRef"
|
||||
@on-fetch="handleProvinces"
|
||||
:sort-by="['name ASC']"
|
||||
:limit="30"
|
||||
auto-load
|
||||
url="Provinces/location"
|
||||
/>
|
||||
<FetchData
|
||||
ref="townsFetchDataRef"
|
||||
:sort-by="['name ASC']"
|
||||
|
@ -205,6 +192,11 @@ async function filterTowns(name) {
|
|||
:country-fk="data.countryFk"
|
||||
:province-selected="data.provinceFk"
|
||||
@update:model-value="(value) => setProvince(value, data)"
|
||||
@update:options="
|
||||
(data) => {
|
||||
provincesOptions = data;
|
||||
}
|
||||
"
|
||||
v-model="data.provinceFk"
|
||||
@on-province-created="onProvinceCreated"
|
||||
required
|
||||
|
|
|
@ -7,7 +7,7 @@ import VnSelectDialog from 'components/common/VnSelectDialog.vue';
|
|||
import FetchData from 'components/FetchData.vue';
|
||||
import CreateNewProvinceForm from './CreateNewProvinceForm.vue';
|
||||
|
||||
const emit = defineEmits(['onProvinceCreated', 'onProvinceFetched']);
|
||||
const emit = defineEmits(['onProvinceCreated', 'onProvinceFetched', 'update:options']);
|
||||
const $props = defineProps({
|
||||
countryFk: {
|
||||
type: Number,
|
||||
|
@ -41,6 +41,7 @@ async function onProvinceCreated(_, data) {
|
|||
}
|
||||
async function handleProvinces(data) {
|
||||
provincesOptions.value = data;
|
||||
emit('update:options', data);
|
||||
}
|
||||
|
||||
watch(
|
||||
|
|
|
@ -281,7 +281,7 @@ async function onScroll({ to, direction, from, index }) {
|
|||
defineExpose({ opts: myOptions });
|
||||
|
||||
function handleKeyDown(event) {
|
||||
if (event.key === 'Tab') {
|
||||
if (event.key === 'Tab' && !event.shiftKey) {
|
||||
event.preventDefault();
|
||||
|
||||
const inputValue = vnSelectRef.value?.inputValue;
|
||||
|
@ -299,6 +299,17 @@ function handleKeyDown(event) {
|
|||
}
|
||||
vnSelectRef.value?.hidePopup();
|
||||
}
|
||||
|
||||
const focusableElements = document.querySelectorAll(
|
||||
'a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])'
|
||||
);
|
||||
const currentIndex = Array.prototype.indexOf.call(
|
||||
focusableElements,
|
||||
event.target
|
||||
);
|
||||
if (currentIndex >= 0 && currentIndex < focusableElements.length - 1) {
|
||||
focusableElements[currentIndex + 1].focus();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -8,7 +8,7 @@ import { useAcl } from 'src/composables/useAcl';
|
|||
import { useArrayData } from 'src/composables/useArrayData';
|
||||
import VnConfirm from 'src/components/ui/VnConfirm.vue';
|
||||
import VnChangePassword from 'src/components/common/VnChangePassword.vue';
|
||||
import useNotify from 'src/composables/useNotify.js';
|
||||
import { useQuasar } from 'quasar';
|
||||
|
||||
const $props = defineProps({
|
||||
hasAccount: {
|
||||
|
@ -21,7 +21,7 @@ const { t } = useI18n();
|
|||
const { hasAccount } = toRefs($props);
|
||||
const { openConfirmationModal } = useVnConfirm();
|
||||
const route = useRoute();
|
||||
const { notify } = useNotify();
|
||||
const { notify } = useQuasar();
|
||||
const account = computed(() => useArrayData('AccountId').store.data[0]);
|
||||
account.value.hasAccount = hasAccount.value;
|
||||
const entityId = computed(() => +route.params.id);
|
||||
|
|
|
@ -101,7 +101,7 @@ const sumRisk = ({ clientRisks }) => {
|
|||
<VnLv :value="entity.email" copy
|
||||
><template #label>
|
||||
{{ t('globals.params.email') }}
|
||||
<VnLinkMail email="entity.email"></VnLinkMail> </template
|
||||
<VnLinkMail :email="entity.email"></VnLinkMail> </template
|
||||
></VnLv>
|
||||
<VnLv
|
||||
:label="t('customer.summary.salesPerson')"
|
||||
|
|
|
@ -223,10 +223,10 @@ function navigate(id) {
|
|||
router.push({ path: `/route/${id}` });
|
||||
}
|
||||
|
||||
const cloneRoutes = () => {
|
||||
const cloneRoutes = async () => {
|
||||
if (!selectedRows.value.length || !startingDate.value) return;
|
||||
axios.post('Routes/clone', {
|
||||
created: startingDate.value,
|
||||
await axios.post('Routes/clone', {
|
||||
dated: startingDate.value,
|
||||
ids: selectedRows.value.map((row) => row?.id),
|
||||
});
|
||||
startingDate.value = null;
|
||||
|
@ -274,7 +274,6 @@ const openTicketsDialog = (id) => {
|
|||
<QCardSection>
|
||||
<p class="text-h6 q-ma-none">{{ t('route.Select the starting date') }}</p>
|
||||
</QCardSection>
|
||||
|
||||
<QCardSection class="q-pt-none">
|
||||
<VnInputDate
|
||||
:label="t('route.Stating date')"
|
||||
|
|
Loading…
Reference in New Issue