+
-
-
es:
- Search invoice: Buscar factura emitida
+ Search invoice: Buscar factura recibida
You can search by invoice reference: Puedes buscar por referencia de la factura
Download: Descargar
diff --git a/src/pages/InvoiceOut/Card/InvoiceOutSummaryDialog.vue b/src/pages/InvoiceOut/Card/InvoiceOutSummaryDialog.vue
deleted file mode 100644
index 76283ff10..000000000
--- a/src/pages/InvoiceOut/Card/InvoiceOutSummaryDialog.vue
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/pages/InvoiceOut/InvoiceOutFilter.vue b/src/pages/InvoiceOut/InvoiceOutFilter.vue
index 124ea00d1..f8a430b51 100644
--- a/src/pages/InvoiceOut/InvoiceOutFilter.vue
+++ b/src/pages/InvoiceOut/InvoiceOutFilter.vue
@@ -41,95 +41,89 @@ function setWorkers(data) {
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/src/pages/InvoiceOut/InvoiceOutList.vue b/src/pages/InvoiceOut/InvoiceOutList.vue
index 292fa2e0a..08f893db2 100644
--- a/src/pages/InvoiceOut/InvoiceOutList.vue
+++ b/src/pages/InvoiceOut/InvoiceOutList.vue
@@ -1,22 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/Item/Card/ItemDescriptor.vue b/src/pages/Item/Card/ItemDescriptor.vue
new file mode 100644
index 000000000..362fcfc67
--- /dev/null
+++ b/src/pages/Item/Card/ItemDescriptor.vue
@@ -0,0 +1,316 @@
+
+
+
+ {
+ item = data;
+ setData(data);
+ }
+ "
+ >
+
+
+
+ {{ t('Regularize stock') }}
+
+
+
+
+
+
+
+ {{ t('Clone') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('item.descriptor.item') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('item.descriptor.visible') }}
+
+ {{
+ visible
+ }}
+
+
+
+ {{ t('item.descriptor.available') }}
+
+ {{
+ available
+ }}
+
+
+
+ {{ warehouseText }}
+
+
+
+
+
+
+
+
+ {{ t('item.descriptor.buyer') }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('item.descriptor.itemDiary') }}
+
+
+
+
+
+
+
+es:
+ Regularize stock: Regularizar stock
+ Clone: Clonar
+ All it's properties will be copied: Todas sus propiedades serán copiadas
+ Do you want to clone this item?: ¿Desea clonar este artículo?
+
+
+
diff --git a/src/pages/Item/Card/ItemDescriptorProxy.vue b/src/pages/Item/Card/ItemDescriptorProxy.vue
new file mode 100644
index 000000000..5ddf434d5
--- /dev/null
+++ b/src/pages/Item/Card/ItemDescriptorProxy.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
diff --git a/src/pages/Item/Card/ItemDiary.vue b/src/pages/Item/Card/ItemDiary.vue
new file mode 100644
index 000000000..21249349f
--- /dev/null
+++ b/src/pages/Item/Card/ItemDiary.vue
@@ -0,0 +1 @@
+
Item diary (CREAR CUANDO SE DESARROLLE EL MODULO DE ITEMS)
diff --git a/src/pages/Item/Card/ItemSummary.vue b/src/pages/Item/Card/ItemSummary.vue
new file mode 100644
index 000000000..567fbf32b
--- /dev/null
+++ b/src/pages/Item/Card/ItemSummary.vue
@@ -0,0 +1 @@
+
Item summary
diff --git a/src/pages/Item/Card/ItemTags.vue b/src/pages/Item/Card/ItemTags.vue
new file mode 100644
index 000000000..95f4380e4
--- /dev/null
+++ b/src/pages/Item/Card/ItemTags.vue
@@ -0,0 +1 @@
+
Item tags (CREAR CUANDO SE DESARROLLE EL MODULO DE ITEMS)
diff --git a/src/pages/Item/ItemList.vue b/src/pages/Item/ItemList.vue
new file mode 100644
index 000000000..49a5dbb64
--- /dev/null
+++ b/src/pages/Item/ItemList.vue
@@ -0,0 +1 @@
+
Item list
diff --git a/src/pages/Item/ItemMain.vue b/src/pages/Item/ItemMain.vue
new file mode 100644
index 000000000..c1f2a31db
--- /dev/null
+++ b/src/pages/Item/ItemMain.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/Order/Card/OrderCatalogFilter.vue b/src/pages/Order/Card/OrderCatalogFilter.vue
index c325a9b05..760c48726 100644
--- a/src/pages/Order/Card/OrderCatalogFilter.vue
+++ b/src/pages/Order/Card/OrderCatalogFilter.vue
@@ -219,183 +219,181 @@ const getCategoryClass = (category, params) => {
-
-
-
-
-
- {{ t(category.name) }}
-
-
-
-
-
-
- {
- selectedTypeFk = value;
- searchFn();
- }
- "
- >
-
-
-
- {{ opt.name }}
-
- {{ opt.categoryName }}
-
-
-
-
-
-
-
-
-
-
- onOrderChange(value, params, searchFn)
- "
- />
-
-
-
-
- onOrderFieldChange(value, params, searchFn)
- "
- />
-
-
-
-
-
-
-
-
-
+
-
+
+
+ {{ t(category.name) }}
+
+
+
+
+
+
{
+ selectedTypeFk = value;
+ searchFn();
+ }
+ "
+ >
+
+
+
+ {{ opt.name }}
+
+ {{ opt.categoryName }}
+
+
+
+
+
+
+
+
+
+
+ onOrderChange(value, params, searchFn)
+ "
/>
+
+
+
+
+ onOrderFieldChange(value, params, searchFn)
+ "
+ />
+
+
+
+
+
+
+
+
+
+
+
- (tagOptions = data)"
- />
+ (tagOptions = data)"
+ />
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/src/pages/Order/Card/OrderCatalogItem.vue b/src/pages/Order/Card/OrderCatalogItem.vue
index bc448eb8c..ee73bcffb 100644
--- a/src/pages/Order/Card/OrderCatalogItem.vue
+++ b/src/pages/Order/Card/OrderCatalogItem.vue
@@ -1,10 +1,13 @@
-
-
-
-
-
-
-
-
diff --git a/src/pages/Order/OrderCatalog.vue b/src/pages/Order/OrderCatalog.vue
index 55f5e7da1..21442d10d 100644
--- a/src/pages/Order/OrderCatalog.vue
+++ b/src/pages/Order/OrderCatalog.vue
@@ -1,7 +1,7 @@
@@ -70,7 +70,7 @@ function extractTags(items) {
-
+
diff --git a/src/pages/Order/OrderVolume.vue b/src/pages/Order/OrderVolume.vue
index 4f4c269f6..5bb106edc 100644
--- a/src/pages/Order/OrderVolume.vue
+++ b/src/pages/Order/OrderVolume.vue
@@ -35,7 +35,7 @@ const loadVolumes = async (rows) => {
auto-load
/>
-
+
{
}
diff --git a/src/pages/Route/Cmr/CmrFilter.vue b/src/pages/Route/Cmr/CmrFilter.vue
index a5bf5513b..553f19431 100644
--- a/src/pages/Route/Cmr/CmrFilter.vue
+++ b/src/pages/Route/Cmr/CmrFilter.vue
@@ -28,103 +28,101 @@ const countries = ref();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/Route/RouteList.vue b/src/pages/Route/RouteList.vue
index 591f723e9..0b4aa6795 100644
--- a/src/pages/Route/RouteList.vue
+++ b/src/pages/Route/RouteList.vue
@@ -2,6 +2,7 @@
import VnPaginate from 'components/ui/VnPaginate.vue';
import { useStateStore } from 'stores/useStateStore';
import { useI18n } from 'vue-i18n';
+import { useQuasar } from 'quasar';
import { computed, onMounted, onUnmounted, ref } from 'vue';
import { dashIfEmpty, toDate, toHour } from 'src/filters';
import VnSelectFilter from 'components/common/VnSelectFilter.vue';
@@ -13,23 +14,16 @@ import VnInputTime from 'components/common/VnInputTime.vue';
import axios from 'axios';
import RouteSearchbar from 'pages/Route/Card/RouteSearchbar.vue';
import RouteFilter from 'pages/Route/Card/RouteFilter.vue';
-import { useQuasar } from 'quasar';
-import RouteSummaryDialog from 'pages/Route/Card/RouteSummaryDialog.vue';
+import RouteSummary from 'pages/Route/Card/RouteSummary.vue';
+import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
+import {useSession} from "composables/useSession";
+import { useSummaryDialog } from 'src/composables/useSummaryDialog';
const stateStore = useStateStore();
const { t } = useI18n();
const { validate } = useValidator();
-const quasar = useQuasar();
-
-const to = Date.vnNew();
-to.setDate(to.getDate() + 1);
-to.setHours(0, 0, 0, 0);
-
-const from = Date.vnNew();
-from.setDate(from.getDate());
-from.setHours(0, 0, 0, 0);
-
-const params = ref({ from, to });
+const session = useSession();
+const { viewSummary } = useSummaryDialog();
onMounted(() => (stateStore.rightDrawer = true));
onUnmounted(() => (stateStore.rightDrawer = false));
@@ -149,6 +143,23 @@ const cloneRoutes = () => {
startingDate.value = null;
};
+const showRouteReport = () => {
+ const ids = selectedRows.value.map(row => row?.id)
+ const idString = ids.join(',')
+ let url;
+
+ if (selectedRows.value.length <= 1) {
+ url = `api/Routes/${idString}/driver-route-pdf?access_token=${session.getToken()}`;
+ } else {
+ const params = new URLSearchParams({
+ access_token: session.getToken(),
+ id: idString
+ })
+ url = `api/Routes/downloadZip?${params.toString()}`;
+ }
+ window.open(url, '_blank');
+}
+
const markAsServed = () => {
selectedRows.value.forEach((row) => {
if (row?.id) {
@@ -158,18 +169,6 @@ const markAsServed = () => {
refreshKey.value++;
startingDate.value = null;
};
-
-function previewRoute(id) {
- if (!id) {
- return;
- }
- quasar.dialog({
- component: RouteSummaryDialog,
- componentProps: {
- id,
- },
- });
-}
@@ -206,7 +205,6 @@ function previewRoute(id) {
autofocus
/>
-
@@ -228,8 +226,8 @@ function previewRoute(id) {
(agencyList = data)" auto-load />
(vehicleList = data)" auto-load />
-
-
+
+
{{ t('Clone Selected Routes') }}
-
+
+ {{ t('Download selected routes as PDF') }}
+
{{ t('Mark as served') }}
-
-
+
+
@@ -458,11 +465,12 @@ function previewRoute(id) {
-
+
{{ t('Add ticket') }}
@@ -470,7 +478,10 @@ function previewRoute(id) {
name="preview"
size="xs"
color="primary"
- @click="previewRoute(props?.row?.id)"
+ @click="
+ viewSummary(props?.row?.id, RouteSummary)
+ "
+ class="cursor-pointer"
>
{{ t('Preview') }}
@@ -499,13 +510,7 @@ function previewRoute(id) {
}
.table-actions {
- display: flex;
- align-items: center;
gap: 12px;
-
- i {
- cursor: pointer;
- }
}
@@ -527,4 +532,7 @@ es:
Cancel: Cancelar
Clone: Clonar
Mark as served: Marcar como servidas
+ Download selected routes as PDF: Descargar rutas seleccionadas como PDF
+ Add ticket: Añadir tickets
+ Preview: Vista previa
diff --git a/src/pages/Shelving/Card/ShelvingDescriptorMenu.vue b/src/pages/Shelving/Card/ShelvingDescriptorMenu.vue
index 6290cda75..684a46807 100644
--- a/src/pages/Shelving/Card/ShelvingDescriptorMenu.vue
+++ b/src/pages/Shelving/Card/ShelvingDescriptorMenu.vue
@@ -21,19 +21,19 @@ function confirmRemove() {
.dialog({
component: VnConfirm,
componentProps: {
- title: t('confirmDeletion'),
- message: t('confirmDeletionMessage'),
- promise: remove,
+ title: t('Confirm deletion'),
+ message: t('Are you sure you want to delete this shelving?'),
+ promise: remove
},
})
- .onOk(async () => await router.push({ name: 'ShelvingList' }));
}
async function remove() {
- if (!$props.shelving.value.id) {
+ if (!$props.shelving.id) {
return;
}
- await axios.delete(`Shelvings/${$props.shelving.value.id}`);
+ await axios.delete(`Shelvings/${$props.shelving.id}`);
+ await router.push({ name: 'ShelvingList' });
quasar.notify({
message: t('globals.dataDeleted'),
type: 'positive',
@@ -45,17 +45,13 @@ async function remove() {
-
{{ t('deleteShelving') }}
+
{{ t('Delete Shelving') }}
-{
- "en": {
- "deleteShelving": "Delete Shelving"
- },
- "es": {
- "deleteShelving": "Eliminar carro"
- }
-}
+es:
+ Confirm deletion: Confirmar eliminación
+ Are you sure you want to delete this shelving?: ¿Seguro que quieres eliminar este carro?
+ Delete Shelving: Eliminar carro
diff --git a/src/pages/Shelving/Card/ShelvingFilter.vue b/src/pages/Shelving/Card/ShelvingFilter.vue
index 423402f89..abc91373b 100644
--- a/src/pages/Shelving/Card/ShelvingFilter.vue
+++ b/src/pages/Shelving/Card/ShelvingFilter.vue
@@ -41,7 +41,11 @@ function setParkings(data) {
@on-fetch="setWorkers"
auto-load
/>
-
+
{{ t(`params.${tag.label}`) }}:
@@ -49,59 +53,57 @@ function setParkings(data) {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -112,9 +114,11 @@ en:
parkingFk: Parking
userFk: Worker
isRecyclable: Recyclable
+ search: Search
es:
params:
parkingFk: Parking
userFk: Trabajador
isRecyclable: Reciclable
+ search: Contiene
diff --git a/src/pages/Shelving/Card/ShelvingForm.vue b/src/pages/Shelving/Card/ShelvingForm.vue
index e9e5e68c3..238879bd4 100644
--- a/src/pages/Shelving/Card/ShelvingForm.vue
+++ b/src/pages/Shelving/Card/ShelvingForm.vue
@@ -1,7 +1,7 @@
@@ -75,6 +82,7 @@ const shelvingFilter = {
model="shelving"
:auto-load="!isNew"
:form-initial-data="defaultInitialData"
+ @on-data-saved="onSave"
>
@@ -107,6 +115,7 @@ const shelvingFilter = {
diff --git a/src/pages/Shelving/Card/ShelvingSearchbar.vue b/src/pages/Shelving/Card/ShelvingSearchbar.vue
index 89a4de01e..bfc8ad4f5 100644
--- a/src/pages/Shelving/Card/ShelvingSearchbar.vue
+++ b/src/pages/Shelving/Card/ShelvingSearchbar.vue
@@ -7,12 +7,12 @@ const { t } = useI18n();
-
es:
Search shelving: Buscar carros
diff --git a/src/pages/Shelving/Card/ShelvingSummary.vue b/src/pages/Shelving/Card/ShelvingSummary.vue
index f1f914385..409329c88 100644
--- a/src/pages/Shelving/Card/ShelvingSummary.vue
+++ b/src/pages/Shelving/Card/ShelvingSummary.vue
@@ -6,6 +6,7 @@ import { useStateStore } from 'stores/useStateStore';
import CardSummary from 'components/ui/CardSummary.vue';
import VnLv from 'components/ui/VnLv.vue';
import ShelvingFilter from 'pages/Shelving/Card/ShelvingFilter.vue';
+import VnUserLink from "components/ui/VnUserLink.vue";
const $props = defineProps({
id: {
@@ -24,7 +25,7 @@ const hideRightDrawer = () => {
if (!isDialog) {
stateStore.rightDrawer = false;
}
-}
+};
onMounted(hideRightDrawer);
onUnmounted(hideRightDrawer);
const filter = {
@@ -69,9 +70,13 @@ const filter = {
-
+
+
-
+
+
+
+
+
-import { useDialogPluginComponent } from 'quasar';
-import ShelvingSummary from "pages/Shelving/Card/ShelvingSummary.vue";
-
-const $props = defineProps({
- id: {
- type: Number,
- required: true,
- },
-});
-
-defineEmits([...useDialogPluginComponent.emits]);
-
-const { dialogRef, onDialogHide } = useDialogPluginComponent();
-
-
-
-
-
-
-
-
-
diff --git a/src/pages/Shelving/ShelvingList.vue b/src/pages/Shelving/ShelvingList.vue
index 71b3a6ccf..a5a24e84d 100644
--- a/src/pages/Shelving/ShelvingList.vue
+++ b/src/pages/Shelving/ShelvingList.vue
@@ -5,16 +5,16 @@ import { useI18n } from 'vue-i18n';
import { onMounted, onUnmounted } from 'vue';
import CardList from 'components/ui/CardList.vue';
import VnLv from 'components/ui/VnLv.vue';
-import { useQuasar } from 'quasar';
import { useRouter } from 'vue-router';
import ShelvingFilter from 'pages/Shelving/Card/ShelvingFilter.vue';
-import ShelvingSummaryDialog from 'pages/Shelving/Card/ShelvingSummaryDialog.vue';
+import ShelvingSummary from 'pages/Shelving/Card/ShelvingSummary.vue';
import ShelvingSearchbar from 'pages/Shelving/Card/ShelvingSearchbar.vue';
+import { useSummaryDialog } from 'src/composables/useSummaryDialog';
const stateStore = useStateStore();
const router = useRouter();
-const quasar = useQuasar();
const { t } = useI18n();
+const { viewSummary } = useSummaryDialog();
const filter = {
include: [{ relation: 'parking' }],
};
@@ -26,15 +26,6 @@ function navigate(id) {
router.push({ path: `/shelving/${id}` });
}
-function viewSummary(id) {
- quasar.dialog({
- component: ShelvingSummaryDialog,
- componentProps: {
- id,
- },
- });
-}
-
function exprBuilder(param, value) {
switch (param) {
case 'search':
@@ -74,12 +65,13 @@ function exprBuilder(param, value) {
-
+
@@ -102,17 +94,10 @@ function exprBuilder(param, value) {
/>
-
@@ -129,10 +114,3 @@ function exprBuilder(param, value) {
-
-
diff --git a/src/pages/Supplier/Card/SupplierAccounts.vue b/src/pages/Supplier/Card/SupplierAccounts.vue
index 30edfb2fd..302e03217 100644
--- a/src/pages/Supplier/Card/SupplierAccounts.vue
+++ b/src/pages/Supplier/Card/SupplierAccounts.vue
@@ -8,7 +8,7 @@ import CrudModel from 'components/CrudModel.vue';
import VnRow from 'components/ui/VnRow.vue';
import VnInput from 'src/components/common/VnInput.vue';
import CreateBankEntityForm from 'src/components/CreateBankEntityForm.vue';
-import VnSelectCreate from 'src/components/common/VnSelectCreate.vue';
+import VnSelectDialog from 'src/components/common/VnSelectDialog.vue';
import axios from 'axios';
import useNotify from 'src/composables/useNotify.js';
@@ -99,13 +99,18 @@ onMounted(() => {
class="row q-gutter-md q-mb-md"
>
-
+
+
+
+ {{
+ t('components.iban_tooltip')
+ }}
+
+
+
- {
-
+
+ >
+
+
+ {{
+ t(
+ 'Name of the bank account holder if different from the provider'
+ )
+ }}
+
+
+
{
Do you want to change the pay method to wire transfer?: ¿Quieres modificar la forma de pago a transferencia?
Add account: Añadir cuenta
Remove account: Remover cuenta
+ Name of the bank account holder if different from the provider: Nombre del titular de la cuenta bancaria en caso de ser diferente del proveedor
diff --git a/src/pages/Supplier/Card/SupplierAddresses.vue b/src/pages/Supplier/Card/SupplierAddresses.vue
index df7cff932..c6b08075f 100644
--- a/src/pages/Supplier/Card/SupplierAddresses.vue
+++ b/src/pages/Supplier/Card/SupplierAddresses.vue
@@ -47,7 +47,7 @@ const redirectToUpdateView = (addressData) => {
-
+
{
-
-
diff --git a/src/pages/Supplier/Card/SupplierAddressesCreate.vue b/src/pages/Supplier/Card/SupplierAddressesCreate.vue
index 8ad0959f5..21c0cd61a 100644
--- a/src/pages/Supplier/Card/SupplierAddressesCreate.vue
+++ b/src/pages/Supplier/Card/SupplierAddressesCreate.vue
@@ -7,7 +7,7 @@ import FetchData from 'components/FetchData.vue';
import VnSelectFilter from 'src/components/common/VnSelectFilter.vue';
import FormModel from 'components/FormModel.vue';
import VnInput from 'src/components/common/VnInput.vue';
-import VnSelectCreate from 'src/components/common/VnSelectCreate.vue';
+import VnSelectDialog from 'src/components/common/VnSelectDialog.vue';
import VnRow from 'components/ui/VnRow.vue';
import CustomerCreateNewPostcode from 'src/components/CreateNewPostcodeForm.vue';
@@ -104,7 +104,7 @@ onMounted(() => {
- {
-
+
{
option-value="id"
/>
-
-
{
v-model="data.provinceFk"
/>
+
+
-
-
-
diff --git a/src/pages/Supplier/Card/SupplierAgencyTermCreate.vue b/src/pages/Supplier/Card/SupplierAgencyTermCreate.vue
index 00f0b868f..17786c1ea 100644
--- a/src/pages/Supplier/Card/SupplierAgencyTermCreate.vue
+++ b/src/pages/Supplier/Card/SupplierAgencyTermCreate.vue
@@ -80,8 +80,6 @@ const onDataSaved = () => {
type="number"
/>
-
-
{
type="number"
/>
+
+
{
type="number"
/>
-
-
{
type="number"
/>
-
diff --git a/src/pages/Supplier/Card/SupplierBasicData.vue b/src/pages/Supplier/Card/SupplierBasicData.vue
index b73ce9346..bc50deb9b 100644
--- a/src/pages/Supplier/Card/SupplierBasicData.vue
+++ b/src/pages/Supplier/Card/SupplierBasicData.vue
@@ -48,6 +48,13 @@ const workersOptions = ref([]);
map-options
:rules="validate('supplier.workerFk')"
>
+
+
+ {{
+ t('Responsible for approving invoices')
+ }}
+
+
@@ -88,10 +95,14 @@ const workersOptions = ref([]);
type="textarea"
v-model="data.note"
fill-input
- autogrow
/>
+
+
+es:
+ Responsible for approving invoices: Responsable de aprobar las facturas
+
diff --git a/src/pages/Supplier/Card/SupplierBillingData.vue b/src/pages/Supplier/Card/SupplierBillingData.vue
index 1237a0403..bf5ccb115 100644
--- a/src/pages/Supplier/Card/SupplierBillingData.vue
+++ b/src/pages/Supplier/Card/SupplierBillingData.vue
@@ -13,6 +13,13 @@ const { t } = useI18n();
const paymethodsOptions = ref([]);
const payDemsOptions = ref([]);
+
+const formatPayDems = (data) => {
+ payDemsOptions.value = data.map(({ id, payDem }) => ({
+ id: id,
+ payDem: payDem || '0',
+ }));
+};
(paymethodsOptions = data)"
auto-load
/>
- (payDemsOptions = data)" auto-load />
+ formatPayDems(data)" auto-load />
@@ -49,7 +55,6 @@ const payDemsOptions = ref([]);
option-value="id"
option-label="payDem"
hide-selected
- map-options
:rules="validate('supplier.payDemFk')"
/>
diff --git a/src/pages/Supplier/Card/SupplierCard.vue b/src/pages/Supplier/Card/SupplierCard.vue
index 1b9b858d3..ddac988e7 100644
--- a/src/pages/Supplier/Card/SupplierCard.vue
+++ b/src/pages/Supplier/Card/SupplierCard.vue
@@ -14,6 +14,7 @@ const { t } = useI18n();
diff --git a/src/pages/Supplier/Card/SupplierConsumption.vue b/src/pages/Supplier/Card/SupplierConsumption.vue
index 714499f63..59dd2281c 100644
--- a/src/pages/Supplier/Card/SupplierConsumption.vue
+++ b/src/pages/Supplier/Card/SupplierConsumption.vue
@@ -1,47 +1,64 @@
- (suppliersConsumption = data)"
- :filter="{
- where: { supplierFk: route.params.id },
- order: ['itemTypeFk', 'itemName', 'itemSize'],
- }"
- :params="userParams"
- auto-load
- />
-
-
-
-
- {{ t('Open as PDF') }}
-
-
-
-
- {{ t('Send to email') }}
-
-
-
-
-
-
+
+
+
+ {{ t('Open as PDF') }}
+
+
+
+
+ {{ t('Send to email') }}
+
+
+
+
+
+
+
+
+
@@ -156,7 +169,10 @@ const calculateTotal = (buysArray) => {
{{ row.invoiceNumber }}
- {{ buy.itemName }}
+
+ {{ buy.itemName }}
+
+
{{ buy.subName }}
diff --git a/src/pages/Supplier/Card/SupplierConsumptionFilter.vue b/src/pages/Supplier/Card/SupplierConsumptionFilter.vue
new file mode 100644
index 000000000..339a9d0d9
--- /dev/null
+++ b/src/pages/Supplier/Card/SupplierConsumptionFilter.vue
@@ -0,0 +1,181 @@
+
+
+
+ (buyersOptions = data)"
+ auto-load
+ />
+ (itemTypesOptions = data)"
+ auto-load
+ />
+ (itemCategoriesOptions = data)"
+ auto-load
+ />
+
+
+
+ {{ t(`params.${tag.label}`) }}:
+ {{ formatFn(tag.value) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.opt?.name }}
+ {{
+ scope.opt?.category?.name
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+en:
+ params:
+ search: General search
+ itemId: Item id
+ buyerId: Buyer
+ typeId: Type
+ categoryId: Category
+ from: From
+ to: To
+es:
+ params:
+ search: Búsqueda general
+ itemId: Id Artículo
+ buyerId: Comprador
+ typeId: Tipo
+ categoryId: Reino
+ from: Desde
+ to: Hasta
+
diff --git a/src/pages/Supplier/Card/SupplierDescriptor.vue b/src/pages/Supplier/Card/SupplierDescriptor.vue
index 43857fd1e..83bad87d2 100644
--- a/src/pages/Supplier/Card/SupplierDescriptor.vue
+++ b/src/pages/Supplier/Card/SupplierDescriptor.vue
@@ -1,10 +1,14 @@
@@ -73,6 +103,22 @@ const setData = (entity) => {
@on-fetch="setData"
data-key="Supplier"
>
+
+
+
+ {{ t('Go to module index') }}
+
+
+
@@ -87,8 +133,69 @@ const setData = (entity) => {
+
+
+
+ {{ t('Inactive supplier') }}
+
+
+ {{ t('Unverified supplier') }}
+
+
+
+
+
+
+ {{ t('All entries with current supplier') }}
+
+
+ {{ t('Go to client') }}
+
+
+ {{ t('Create invoiceIn') }}
+
+
+
-
+
+es:
+ All entries with current supplier: Todas las entradas con proveedor actual
+ Go to client: Ir a cliente
+ Create invoiceIn: Crear factura recibida
+ Go to module index: Ir al índice del módulo
+ Inactive supplier: Proveedor inactivo
+ Unverified supplier: Proveedor no verificado
diff --git a/src/pages/Supplier/Card/SupplierFiscalData.vue b/src/pages/Supplier/Card/SupplierFiscalData.vue
index d481d6205..b26582065 100644
--- a/src/pages/Supplier/Card/SupplierFiscalData.vue
+++ b/src/pages/Supplier/Card/SupplierFiscalData.vue
@@ -8,31 +8,24 @@ import FormModel from 'components/FormModel.vue';
import VnRow from 'components/ui/VnRow.vue';
import VnInput from 'src/components/common/VnInput.vue';
import VnSelectFilter from 'src/components/common/VnSelectFilter.vue';
-import VnSelectCreate from 'src/components/common/VnSelectCreate.vue';
-import CustomerCreateNewPostcode from 'src/components/CreateNewPostcodeForm.vue';
+import VnLocation from 'src/components/common/VnLocation.vue';
const route = useRoute();
const { t } = useI18n();
-const postcodeFetchDataRef = ref(null);
-const townsFetchDataRef = ref(null);
const sageTaxTypesOptions = ref([]);
const sageWithholdingsOptions = ref([]);
const sageTransactionTypesOptions = ref([]);
const supplierActivitiesOptions = ref([]);
const postcodesOptions = ref([]);
-const provincesLocationOptions = ref([]);
-const townsLocationOptions = ref([]);
-const countriesOptions = ref([]);
-const onPostcodeCreated = async ({ code, provinceFk, townFk, countryFk }, formData) => {
- await postcodeFetchDataRef.value.fetch();
- await townsFetchDataRef.value.fetch();
- formData.postCode = code;
- formData.provinceFk = provinceFk;
- formData.city = townsLocationOptions.value.find((town) => town.id === townFk).name;
- formData.countryFk = countryFk;
-};
+function handleLocation(data, location) {
+ const { town, code, provinceFk, countryFk } = location ?? {};
+ data.postcode = code;
+ data.city = town;
+ data.provinceFk = provinceFk;
+ data.countryFk = countryFk;
+}
(supplierActivitiesOptions = data)"
/>
- (postcodesOptions = data)"
- auto-load
- />
- (townsLocationOptions = data)"
- auto-load
- url="Towns/location"
- />
- (provincesLocationOptions = data)"
- auto-load
- url="Provinces/location"
- />
- (countriesOptions = data)"
- auto-load
- url="Countries"
- />
+
+
- handleLocation(data, location)"
>
-
-
-
-
-
-
- {{ scope.opt.code }}
- {{ scope.opt.code }} -
- {{ scope.opt.town.name }} ({{
- scope.opt.town.province.name
- }},
- {{
- scope.opt.town.province.country.country
- }})
-
-
-
-
+
-
-
-
-
-
- {{ scope.opt.name }}
- {{ scope.opt.name }},
- {{ scope.opt.province.name }} ({{
- scope.opt.province.country.country
- }})
-
-
-
-
-
-
-
-
-
-
- {{
- `${scope.opt.name} (${scope.opt.country.country})`
- }}
-
-
-
-
-
-
-
-
-
-
-import { useDialogPluginComponent } from 'quasar';
-import SupplierSummary from './SupplierSummary.vue';
-
-const $props = defineProps({
- id: {
- type: Number,
- required: true,
- },
-});
-
-defineEmits([...useDialogPluginComponent.emits]);
-
-const { dialogRef, onDialogHide } = useDialogPluginComponent();
-
-
-
-
-
-
-
-
-
diff --git a/src/pages/Supplier/SupplierCreate.vue b/src/pages/Supplier/SupplierCreate.vue
index ebe0518f2..d80bd2df8 100644
--- a/src/pages/Supplier/SupplierCreate.vue
+++ b/src/pages/Supplier/SupplierCreate.vue
@@ -1,6 +1,8 @@
@@ -34,6 +41,7 @@ const newSupplierForm = reactive({
url-create="Suppliers/newSupplier"
model="supplier"
:form-initial-data="newSupplierForm"
+ @on-data-saved="redirectToSupplierFiscalData"
>
@@ -41,6 +49,9 @@ const newSupplierForm = reactive({
diff --git a/src/pages/Supplier/SupplierList.vue b/src/pages/Supplier/SupplierList.vue
index ea7bc3cb0..e8668fa08 100644
--- a/src/pages/Supplier/SupplierList.vue
+++ b/src/pages/Supplier/SupplierList.vue
@@ -1,18 +1,19 @@
@@ -44,7 +36,12 @@ const viewSummary = (id) => {
-
+
+
+
+
+
+
{
>
-
+
{
@@ -95,13 +92,6 @@ const viewSummary = (id) => {
-
-
en:
Search suppliers: Search suppliers
diff --git a/src/pages/Supplier/SupplierListFilter.vue b/src/pages/Supplier/SupplierListFilter.vue
new file mode 100644
index 000000000..ff90df6e1
--- /dev/null
+++ b/src/pages/Supplier/SupplierListFilter.vue
@@ -0,0 +1,122 @@
+
+
+
+ (provincesOptions = data)"
+ auto-load
+ />
+ (countriesOptions = data)"
+ auto-load
+ />
+
+
+
+ {{ t(`params.${tag.label}`) }}:
+ {{ formatFn(tag.value) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+en:
+ params:
+ search: General search
+ nickname: Alias
+ nif: Tax number
+ provinceFk: Province
+ countryFk: Country
+es:
+ params:
+ search: Búsqueda general
+ nickname: Alias
+ nif: NIF/CIF
+ provinceFk: Provincia
+ countryFk: País
+
diff --git a/src/pages/Ticket/Card/TicketSummary.vue b/src/pages/Ticket/Card/TicketSummary.vue
index fe7dcee9a..f3e01d06b 100644
--- a/src/pages/Ticket/Card/TicketSummary.vue
+++ b/src/pages/Ticket/Card/TicketSummary.vue
@@ -270,7 +270,7 @@ async function changeState(value) {
{{ t('ticket.summary.visible') }}
{{ t('ticket.summary.available') }}
{{ t('ticket.summary.quantity') }}
- {{ t('ticket.summary.description') }}
+ {{ t('globals.description') }}
{{ t('ticket.summary.price') }}
{{ t('ticket.summary.discount') }}
{{ t('globals.amount') }}
@@ -425,7 +425,7 @@ async function changeState(value) {
{{ t('ticket.summary.quantity') }}
- {{ t('ticket.summary.description') }}
+ {{ t('globals.description') }}
{{ t('ticket.summary.price') }}
{{ t('ticket.summary.taxClass') }}
{{ t('globals.amount') }}
diff --git a/src/pages/Ticket/Card/TicketSummaryDialog.vue b/src/pages/Ticket/Card/TicketSummaryDialog.vue
deleted file mode 100644
index 11e12c8a9..000000000
--- a/src/pages/Ticket/Card/TicketSummaryDialog.vue
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/pages/Ticket/TicketFilter.vue b/src/pages/Ticket/TicketFilter.vue
index b0b584257..7b74117bb 100644
--- a/src/pages/Ticket/TicketFilter.vue
+++ b/src/pages/Ticket/TicketFilter.vue
@@ -56,66 +56,138 @@ const warehouses = ref();
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/src/pages/Ticket/TicketList.vue b/src/pages/Ticket/TicketList.vue
index 9186eb6ad..72c2da57c 100644
--- a/src/pages/Ticket/TicketList.vue
+++ b/src/pages/Ticket/TicketList.vue
@@ -1,21 +1,21 @@
@@ -74,7 +65,7 @@ function viewSummary(id) {
-
+
@@ -134,13 +125,6 @@ function viewSummary(id) {
-
-
es:
Search ticket: Buscar ticket
diff --git a/src/pages/Travel/Card/TravelBasicData.vue b/src/pages/Travel/Card/TravelBasicData.vue
new file mode 100644
index 000000000..2edaac853
--- /dev/null
+++ b/src/pages/Travel/Card/TravelBasicData.vue
@@ -0,0 +1,104 @@
+
+
+ (agenciesOptions = data)"
+ auto-load
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/Travel/Card/TravelCard.vue b/src/pages/Travel/Card/TravelCard.vue
index 34ecc25ee..1b185592b 100644
--- a/src/pages/Travel/Card/TravelCard.vue
+++ b/src/pages/Travel/Card/TravelCard.vue
@@ -17,7 +17,6 @@ const stateStore = useStateStore();
-
diff --git a/src/pages/Travel/Card/TravelDescriptor.vue b/src/pages/Travel/Card/TravelDescriptor.vue
index 6a45710ad..c7501b1d4 100644
--- a/src/pages/Travel/Card/TravelDescriptor.vue
+++ b/src/pages/Travel/Card/TravelDescriptor.vue
@@ -2,10 +2,13 @@
import { ref, computed } from 'vue';
import { useRoute } from 'vue-router';
import { useI18n } from 'vue-i18n';
-import { toDate } from 'src/filters';
+
import CardDescriptor from 'components/ui/CardDescriptor.vue';
import VnLv from 'src/components/ui/VnLv.vue';
+import TravelDescriptorMenuItems from './TravelDescriptorMenuItems.vue';
+
import useCardDescription from 'src/composables/useCardDescription';
+import { toDate } from 'src/filters';
const $props = defineProps({
id: {
@@ -28,6 +31,7 @@ const filter = {
'warehouseInFk',
'warehouseOutFk',
'cargoSupplierFk',
+ 'agencyModeFk',
],
include: [
{
@@ -66,6 +70,25 @@ const setData = (entity) => {
@on-fetch="setData"
data-key="travelData"
>
+
+
+
+ {{ t('Go to module index') }}
+
+
+
+
+
+
@@ -73,8 +96,32 @@ const setData = (entity) => {
+
+
+
+ {{ t('All travels with current agency') }}
+
+
+
-
+
+es:
+ Go to module index: Ir al índice del módulo
+ The travel will be deleted: El envío será eliminado
+ Do you want to delete this travel?: ¿Quieres eliminar este envío?
+ All travels with current agency: Todos los envíos con la agencia actual
diff --git a/src/pages/Travel/Card/TravelDescriptorMenuItems.vue b/src/pages/Travel/Card/TravelDescriptorMenuItems.vue
new file mode 100644
index 000000000..17b9333ca
--- /dev/null
+++ b/src/pages/Travel/Card/TravelDescriptorMenuItems.vue
@@ -0,0 +1,108 @@
+
+
+
+
+ {{ t('travel.summary.cloneShipping') }}
+
+
+
+ {{ t('travel.summary.CloneTravelAndEntries') }}
+
+
+
+
+ {{ t('travel.summary.deleteTravel') }}
+
+
+
+
+
+ {{ t('travel.summary.AddEntry') }}
+
+
+
+
+
+
+es:
+ The travel will be deleted: El envío será eliminado
+ Do you want to delete this travel?: ¿Quieres eliminar este envío?
+
diff --git a/src/pages/Travel/Card/TravelLog.vue b/src/pages/Travel/Card/TravelLog.vue
new file mode 100644
index 000000000..1a2667ff7
--- /dev/null
+++ b/src/pages/Travel/Card/TravelLog.vue
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/src/pages/Travel/Card/TravelSummary.vue b/src/pages/Travel/Card/TravelSummary.vue
index 4f0e8860a..2ed6a0487 100644
--- a/src/pages/Travel/Card/TravelSummary.vue
+++ b/src/pages/Travel/Card/TravelSummary.vue
@@ -1,22 +1,19 @@
+ (warehouses = data)"
+ auto-load
+ />
setTravelData(data)"
>
-
+ {{ t('travel.pageTitles.summary') }}
+
{{ travel.ref }} - {{ travel.id }}
@@ -207,10 +255,8 @@ const openEntryDescriptor = () => {};
{{ t('components.cardDescriptor.moreOptions') }}
-
-
- {{ option.name }}
-
+
+
@@ -225,11 +271,10 @@ const openEntryDescriptor = () => {};
/>
-
@@ -242,11 +287,10 @@ const openEntryDescriptor = () => {};
/>
-
@@ -255,13 +299,12 @@ const openEntryDescriptor = () => {};
-
+
-
+
{};
row-key="id"
class="full-width q-mt-md"
>
-
-
-
- {{ props.value }}
- {{
- props.col.toolTip
- }}
-
+
+
+
+ {{ t(col.label) }}
+
+
+
+
+
+
+
+
+
+ {{ value }}
+
+
+
+
+
+
+
+ {{ value }}
+
+
+
+
+
+
+
+
+ {{ entriesTotalHb }}
+ {{ entriesTotalFreight }}
+ {{ entriesTotalPackageValue }}
+ {{ entriesTotalCc }}
+ {{ entriesTotalPallet }}
+ {{ entriesTotalM3 }}
+
+
+
+
+
+
-
diff --git a/src/pages/Travel/Card/TravelSummaryDialog.vue b/src/pages/Travel/Card/TravelSummaryDialog.vue
deleted file mode 100644
index 8351d6e5b..000000000
--- a/src/pages/Travel/Card/TravelSummaryDialog.vue
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/pages/Travel/Card/TravelThermographs.vue b/src/pages/Travel/Card/TravelThermographs.vue
new file mode 100644
index 000000000..435d9054f
--- /dev/null
+++ b/src/pages/Travel/Card/TravelThermographs.vue
@@ -0,0 +1,216 @@
+
+
+
+ (warehouses = data)"
+ auto-load
+ />
+
+
+
+
+
+
+ {{ t('Download file') }}
+
+
+
+
+
+
+ {{ t('Edit file') }}
+
+
+
+
+
+
+ {{ t('Remove thermograph') }}
+
+
+
+
+
+
+
+
+
+ {{ t('Add thermograph') }}
+
+
+
+
+
+es:
+ Add thermograph: Añadir termógrafo
+ Download file: Descargar fichero
+ Edit file: Editar fichero
+ Remove thermograph: Eliminar termógrafo
+ Thermograph removed: Termógrafo eliminado
+ Are you sure you want to remove the thermograph?: ¿Seguro que quieres quitar el termógrafo?
+ No results: Sin resultados
+
diff --git a/src/pages/Travel/Card/TravelThermographsForm.vue b/src/pages/Travel/Card/TravelThermographsForm.vue
new file mode 100644
index 000000000..4462846cb
--- /dev/null
+++ b/src/pages/Travel/Card/TravelThermographsForm.vue
@@ -0,0 +1,348 @@
+
+
+
+ (allowedContentTypes = data.join(', '))"
+ auto-load
+ />
+ (thermographsOptions = data)"
+ :filter="thermographFilter"
+ auto-load
+ />
+ (dmsTypesOptions = data)"
+ auto-load
+ />
+ (companiesOptions = data)"
+ :filter="{ order: 'code' }"
+ auto-load
+ />
+ (warehousesOptions = data)"
+ :filter="{ order: 'name' }"
+ auto-load
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('Select files') }}
+
+
+ {{
+ t('globals.allowedFilesText', {
+ allowedContentTypes: allowedContentTypes,
+ })
+ }}
+
+
+
+
+
+
+
+
+
+
+
+es:
+ Select files: Selecciona ficheros
+ Thermograph created: Termógrafo creado
+ New thermograph: Nuevo termógrafo
+
diff --git a/src/pages/Travel/ExtraCommunity.vue b/src/pages/Travel/ExtraCommunity.vue
index 18824503f..f08cc64cb 100644
--- a/src/pages/Travel/ExtraCommunity.vue
+++ b/src/pages/Travel/ExtraCommunity.vue
@@ -16,7 +16,8 @@ import { toCurrency } from 'src/filters';
import { useArrayData } from 'composables/useArrayData';
import { toDate } from 'src/filters';
import { usePrintService } from 'composables/usePrintService';
-import travelService from 'src/services/travel.service';
+import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
+import axios from 'axios';
const router = useRouter();
const stateStore = useStateStore();
@@ -222,9 +223,13 @@ const openReportPdf = () => {
};
const saveFieldValue = async (val, field, index) => {
- const id = rows.value[index].id;
- const params = { [field]: val };
- await travelService.updateTravel(id, params);
+ try {
+ const id = rows.value[index].id;
+ const params = { [field]: val };
+ await axios.patch(`Travels/${id}`, params);
+ } catch (err) {
+ console.error('Error updating travel');
+ }
};
const navigateToTravelId = (id) => {
@@ -259,10 +264,8 @@ onMounted(async () => {
/>
-
-
-
-
+
+
{
{{ t('Open as PDF') }}
-
-
+
+
diff --git a/src/pages/Travel/ExtraCommunityFilter.vue b/src/pages/Travel/ExtraCommunityFilter.vue
index 260b0fb42..cac8e093d 100644
--- a/src/pages/Travel/ExtraCommunityFilter.vue
+++ b/src/pages/Travel/ExtraCommunityFilter.vue
@@ -66,158 +66,149 @@ const decrement = (paramsObj, key) => {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
en:
params:
diff --git a/src/pages/Travel/TravelList.vue b/src/pages/Travel/TravelList.vue
index 889f096aa..edcfbac52 100644
--- a/src/pages/Travel/TravelList.vue
+++ b/src/pages/Travel/TravelList.vue
@@ -1,22 +1,24 @@
+ (warehouses = data)"
+ auto-load
+ />
-
+
{
:value="row.agencyModeName"
/>
-
-
+
+
+
+ {{ toDate(row.shipped) }}
+
+ {{ toDate(row.shipped) }}
+
+
+
+
+
+ {{ toDate(row.landed) }}
+
+ {{ toDate(row.landed) }}
+
+
-
{
/>
@@ -132,20 +169,10 @@ onMounted(async () => {
-
-
en:
addEntry: Add entry
-
es:
addEntry: Añadir entrada
-
-
diff --git a/src/pages/Wagon/Type/WagonTypeList.vue b/src/pages/Wagon/Type/WagonTypeList.vue
index 8e4ace744..a7c713039 100644
--- a/src/pages/Wagon/Type/WagonTypeList.vue
+++ b/src/pages/Wagon/Type/WagonTypeList.vue
@@ -42,7 +42,7 @@ async function remove(row) {
-
+
-
-
diff --git a/src/pages/Wagon/WagonList.vue b/src/pages/Wagon/WagonList.vue
index 77d9da0bf..18417f433 100644
--- a/src/pages/Wagon/WagonList.vue
+++ b/src/pages/Wagon/WagonList.vue
@@ -48,7 +48,7 @@ async function remove(row) {
-
+
-
-
diff --git a/src/pages/Worker/Card/WorkerDescriptorProxy.vue b/src/pages/Worker/Card/WorkerDescriptorProxy.vue
index 98b06ad6e..a142570f9 100644
--- a/src/pages/Worker/Card/WorkerDescriptorProxy.vue
+++ b/src/pages/Worker/Card/WorkerDescriptorProxy.vue
@@ -1,6 +1,6 @@