diff --git a/src/components/ItemsFilterPanel.vue b/src/components/ItemsFilterPanel.vue
index 8449f9354..e89d32da4 100644
--- a/src/components/ItemsFilterPanel.vue
+++ b/src/components/ItemsFilterPanel.vue
@@ -297,11 +297,12 @@ const removeTag = (index, params, search) => {
/>
-
diff --git a/src/components/VnTable/VnTable.vue b/src/components/VnTable/VnTable.vue
index 55028080c..3e982919b 100644
--- a/src/components/VnTable/VnTable.vue
+++ b/src/components/VnTable/VnTable.vue
@@ -69,10 +69,7 @@ const $props = defineProps({
type: Boolean,
default: false,
},
- disableInfiniteScroll: {
- type: Boolean,
- default: false,
- },
+
hasSubToolbar: {
type: Boolean,
default: null,
@@ -305,6 +302,7 @@ defineExpose({
redirect: redirectFn,
selected,
CrudModelRef,
+ params,
});
function handleOnDataSaved(_) {
@@ -372,9 +370,7 @@ function handleOnDataSaved(_) {
ref="CrudModelRef"
@on-fetch="(...args) => emit('onFetch', ...args)"
:search-url="searchUrl"
- :disable-infinite-scroll="
- $attrs['disableInfiniteScroll'] ? isTableMode : !disableInfiniteScroll
- "
+ :disable-infinite-scroll="isTableMode"
@save-changes="reload"
:has-sub-toolbar="$props.hasSubToolbar ?? isEditable"
:auto-load="hasParams || $attrs['auto-load']"
@@ -394,7 +390,7 @@ function handleOnDataSaved(_) {
card-container-class="grid-three"
flat
:style="isTableMode && `max-height: ${tableHeight}`"
- :virtual-scroll="!isTableMode"
+ :virtual-scroll="isTableMode"
@virtual-scroll="
(event) =>
event.index > rows.length - 2 &&
diff --git a/src/components/common/VnDmsList.vue b/src/components/common/VnDmsList.vue
index 16e3c641f..52dd6ef79 100644
--- a/src/components/common/VnDmsList.vue
+++ b/src/components/common/VnDmsList.vue
@@ -400,7 +400,14 @@ defineExpose({
/>
-
+
{{ t('Upload file') }}
diff --git a/src/components/common/VnSelectEnum.vue b/src/components/common/VnSelectEnum.vue
new file mode 100644
index 000000000..b9db67c37
--- /dev/null
+++ b/src/components/common/VnSelectEnum.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
diff --git a/src/css/app.scss b/src/css/app.scss
index 3c51dc8af..905934d4c 100644
--- a/src/css/app.scss
+++ b/src/css/app.scss
@@ -268,6 +268,7 @@ input::-webkit-inner-spin-button {
max-width: 400px;
}
}
+
.edit-photo-btn {
position: absolute;
right: 12px;
@@ -280,3 +281,10 @@ input::-webkit-inner-spin-button {
color: var(--vn-label-color);
text-transform: uppercase;
}
+
+.q-date {
+ &__today {
+ border: 2px solid $info;
+ color: $info;
+ }
+}
diff --git a/src/pages/Account/Card/AccountBasicData.vue b/src/pages/Account/Card/AccountBasicData.vue
index f38299f9e..f1cdaf9df 100644
--- a/src/pages/Account/Card/AccountBasicData.vue
+++ b/src/pages/Account/Card/AccountBasicData.vue
@@ -2,6 +2,7 @@
import { useRoute } from 'vue-router';
import { useI18n } from 'vue-i18n';
import VnSelect from 'src/components/common/VnSelect.vue';
+import VnSelectEnum from 'src/components/common/VnSelectEnum.vue';
import FormModel from 'components/FormModel.vue';
import VnInput from 'src/components/common/VnInput.vue';
import { ref, watch } from 'vue';
@@ -24,7 +25,7 @@ watch(
+
diff --git a/src/pages/Account/Role/Card/SubRoles.vue b/src/pages/Account/Role/Card/SubRoles.vue
index 7a0088bac..d17f96dd8 100644
--- a/src/pages/Account/Role/Card/SubRoles.vue
+++ b/src/pages/Account/Role/Card/SubRoles.vue
@@ -142,7 +142,13 @@ const redirectToRoleSummary = (id) =>
-
+
{{ t('warehouses.add') }}
diff --git a/src/pages/Account/locale/en.yml b/src/pages/Account/locale/en.yml
index 3cf861fb2..fe8707eb8 100644
--- a/src/pages/Account/locale/en.yml
+++ b/src/pages/Account/locale/en.yml
@@ -35,6 +35,7 @@ account:
willDeactivated: User will be deactivated
activated: User activated!
deactivated: User deactivated!
+ twoFactor: Two factor
actions:
setPassword: Set password
disableAccount:
diff --git a/src/pages/Account/locale/es.yml b/src/pages/Account/locale/es.yml
index b53a0153c..112ffe9cc 100644
--- a/src/pages/Account/locale/es.yml
+++ b/src/pages/Account/locale/es.yml
@@ -32,6 +32,7 @@ account:
activated: ¡Usuario activado!
deactivated: ¡Usuario desactivado!
newUser: Nuevo usuario
+ twoFactor: Doble factor
privileges:
delegate: Puede delegar privilegios
actions:
diff --git a/src/pages/Claim/Card/ClaimBasicData.vue b/src/pages/Claim/Card/ClaimBasicData.vue
index b1d3e24cd..63b0b7c0d 100644
--- a/src/pages/Claim/Card/ClaimBasicData.vue
+++ b/src/pages/Claim/Card/ClaimBasicData.vue
@@ -3,58 +3,18 @@ import { ref } from 'vue';
import { useRoute } from 'vue-router';
import { useI18n } from 'vue-i18n';
import VnSelect from 'src/components/common/VnSelect.vue';
+import VnSelectEnum from 'src/components/common/VnSelectEnum.vue';
import FetchData from 'components/FetchData.vue';
import FormModel from 'components/FormModel.vue';
import VnRow from 'components/ui/VnRow.vue';
import VnInput from 'src/components/common/VnInput.vue';
import VnInputDate from 'components/common/VnInputDate.vue';
-import axios from 'axios';
import VnAvatar from 'src/components/ui/VnAvatar.vue';
const route = useRoute();
const { t } = useI18n();
-
-const claimStates = ref([]);
-const claimStatesCopy = ref([]);
-const optionsList = ref([]);
-
const workersOptions = ref([]);
-
-function setClaimStates(data) {
- claimStates.value = data;
- claimStatesCopy.value = data;
-}
-
-async function getEnumValues() {
- optionsList.value = [{ id: null, description: t('claim.null') }];
- const { data } = await axios.get(`Applications/get-enum-values`, {
- params: {
- schema: 'vn',
- table: 'claim',
- column: 'pickup',
- },
- });
- for (let value of data)
- optionsList.value.push({ id: value, description: t(`claim.${value}`) });
-}
-
-getEnumValues();
-
-const statesFilter = {
- options: claimStates,
- filterFn: (options, value) => {
- const search = value.toLowerCase();
-
- if (value === '') return claimStatesCopy.value;
-
- return options.value.filter((row) => {
- const description = row.description.toLowerCase();
-
- return description.indexOf(search) > -1;
- });
- },
-};
-
+
- filter(value, update, statesFilter)"
+ option-label="description"
:rules="validate('claim.claimStateFk')"
:input-debounce="0"
- >
-
+ />
-
diff --git a/src/pages/Claim/Card/ClaimLines.vue b/src/pages/Claim/Card/ClaimLines.vue
index 77c7dacf1..60c470d22 100644
--- a/src/pages/Claim/Card/ClaimLines.vue
+++ b/src/pages/Claim/Card/ClaimLines.vue
@@ -317,7 +317,7 @@ async function saveWhenHasChanges() {
-
+
diff --git a/src/pages/Claim/Card/ClaimPhoto.vue b/src/pages/Claim/Card/ClaimPhoto.vue
index 21f1be6ed..ec619cc7d 100644
--- a/src/pages/Claim/Card/ClaimPhoto.vue
+++ b/src/pages/Claim/Card/ClaimPhoto.vue
@@ -246,7 +246,13 @@ function onDrag() {