Merge pull request 'fix: refs #8616 update binding syntax for is-editable prop in AgencyList.vue' (!1446) from 8616-fixWarningsRouteSection into dev
gitea/salix-front/pipeline/head This commit looks good Details

Reviewed-on: #1446
Reviewed-by: Pablo Natek <pablone@verdnatura.es>
This commit is contained in:
Jose Antonio Tubau 2025-03-12 08:11:58 +00:00
commit 29a55987fe
15 changed files with 51 additions and 25 deletions

View File

@ -6,6 +6,7 @@ import VnSelect from 'components/common/VnSelect.vue';
import VnInput from 'components/common/VnInput.vue';
import VnInputDate from 'components/common/VnInputDate.vue';
import VnInputTime from 'components/common/VnInputTime.vue';
import VnCheckbox from 'components/common/VnCheckbox.vue';
import VnColumn from 'components/VnTable/VnColumn.vue';
const $props = defineProps({
@ -106,7 +107,7 @@ const components = {
},
},
checkbox: {
component: markRaw(QCheckbox),
component: markRaw(VnCheckbox),
event: updateEvent,
attrs: {
class: $props.showTitle ? 'q-py-sm' : 'q-px-md q-py-xs fit',

View File

@ -54,7 +54,7 @@ const $props = defineProps({
default: 'table',
},
redirect: {
type: Boolean,
type: [String, Boolean],
default: true,
},
arrayData: {

View File

@ -2,10 +2,13 @@
import { computed } from 'vue';
import { useRouter } from 'vue-router';
import { useI18n } from 'vue-i18n';
import { useSummaryDialog } from 'src/composables/useSummaryDialog';
import VnTable from 'components/VnTable/VnTable.vue';
import VnSection from 'src/components/common/VnSection.vue';
import AgencySummary from 'pages/Route/Agency/Card/AgencySummary.vue';
const { t } = useI18n();
const { viewSummary } = useSummaryDialog();
const router = useRouter();
const dataKey = 'AgencyList';
function navigate(id) {
@ -60,7 +63,8 @@ const columns = computed(() => [
{
title: t('Client ticket list'),
icon: 'preview',
action: (row) => navigate(row.id),
action: (row) => viewSummary(row?.id, AgencySummary),
isPrimary: true,
},
],
},
@ -82,7 +86,7 @@ const columns = computed(() => [
<VnTable
:data-key
:columns="columns"
is-editable="false"
:is-editable="false"
:right-search="false"
:use-model="true"
redirect="route/agency"

View File

@ -21,7 +21,7 @@ const warehouses = ref([]);
@on-fetch="(data) => (warehouses = data)"
auto-load
/>
<FormModel :update-url="`Agencies/${routeId}`" model="Agency" auto-load>
<FormModel :url-update="`Agencies/${routeId}`" model="Agency" auto-load>
<template #form="{ data }">
<VnRow>
<VnInput v-model="data.name" :label="t('globals.name')" />

View File

@ -7,19 +7,20 @@ import CardSummary from 'components/ui/CardSummary.vue';
import VnLv from 'components/ui/VnLv.vue';
import VnTitle from 'src/components/common/VnTitle.vue';
const route = useRoute();
const $props = defineProps({ id: { type: Number, default: 0 } });
const { t } = useI18n();
const entityId = computed(() => $props.id || useRoute().params.id);
const entityId = computed(() => $props.id || route.params.id);
</script>
<template>
<div class="q-pa-md">
<CardSummary :url="`Agencies/${entityId}`" data-key="Agency">
<CardSummary :url="`Agencies/${entityId}`" data-key="Agency" module-name="Agency">
<template #header="{ entity: agency }">{{ agency.name }}</template>
<template #body="{ entity: agency }">
<QCard class="vn-one">
<VnTitle
:url="`#/agency/${entityId}/basic-data`"
:url="`#/${route.meta.moduleName.toLowerCase()}/agency/${entityId}/basic-data`"
:text="t('globals.pageTitles.basicData')"
/>
<VnLv :label="t('globals.name')" :value="agency.name" />

View File

@ -135,7 +135,7 @@ const ticketColumns = ref([
<template #body="{ entity }">
<QCard class="vn-max">
<VnTitle
:url="`#/route/${entityId}/basic-data`"
:url="`#/${route.meta.moduleName.toLowerCase()}/${entityId}/basic-data`"
:text="t('globals.pageTitles.basicData')"
/>
</QCard>

View File

@ -17,7 +17,7 @@ const onSave = (data, response) => {
</script>
<template>
<FormModel
:update-url="`Roadmaps/${$route.params?.id}`"
:url-update="`Roadmaps/${$route.params?.id}`"
:url="`Roadmaps/${$route.params?.id}`"
observe-form-changes
model="Roadmap"

View File

@ -15,6 +15,10 @@ const $props = defineProps({
required: false,
default: null,
},
summary: {
type: Object,
default: null,
},
});
const route = useRoute();
@ -26,7 +30,12 @@ const entityId = computed(() => {
</script>
<template>
<CardDescriptor :url="`Roadmaps/${entityId}`" :filter="filter" data-key="Roadmap">
<CardDescriptor
:url="`Roadmaps/${entityId}`"
:filter="filter"
data-key="Roadmap"
:summary="summary"
>
<template #body="{ entity }">
<VnLv :label="t('Roadmap')" :value="entity?.name" />
<VnLv :label="t('ETD')" :value="toDateHourMin(entity?.etd)" />

View File

@ -98,7 +98,7 @@ const columns = computed(() => [
label: t('route.hourStarted'),
cardVisible: true,
columnFilter: false,
format: (row) => toHour(row.started),
format: ({ started }) => toHour(started),
},
{
align: 'left',
@ -106,7 +106,7 @@ const columns = computed(() => [
label: t('route.hourFinished'),
cardVisible: true,
columnFilter: false,
format: (row) => toHour(row.started),
format: ({ finished }) => toHour(finished),
},
{
align: 'left',

View File

@ -8,7 +8,6 @@ import { useSummaryDialog } from 'composables/useSummaryDialog';
import toCurrency from 'filters/toCurrency';
import axios from 'axios';
import VnSearchbar from 'components/ui/VnSearchbar.vue';
import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
import VnTable from 'components/VnTable/VnTable.vue';
import RoadmapSummary from 'pages/Route/Roadmap/RoadmapSummary.vue';

View File

@ -11,7 +11,6 @@ const { notify } = useNotify();
:url="`Vehicles/${$route.params.id}`"
data-key="Vehicle"
title="numberPlate"
:to-module="{ name: 'VehicleList' }"
>
<template #menu="{ entity }">
<QItem

View File

@ -13,12 +13,13 @@ const props = defineProps({ id: { type: [Number, String], default: null } });
const route = useRoute();
const entityId = computed(() => props.id || +route.params.id);
const baseLink = `#/${route.meta.moduleName.toLowerCase()}/vehicle/${entityId.value}`;
const links = {
'basic-data': `#/vehicle/${entityId.value}/basic-data`,
notes: `#/vehicle/${entityId.value}/notes`,
dms: `#/vehicle/${entityId.value}/dms`,
'invoice-in': `#/vehicle/${entityId.value}/invoice-in`,
events: `#/vehicle/${entityId.value}/events`,
'basic-data': `${baseLink}/basic-data`,
notes: `${baseLink}/notes`,
dms: `${baseLink}/dms`,
'invoice-in': `${baseLink}/invoice-in`,
events: `${baseLink}/events`,
};
</script>
<template>
@ -54,7 +55,10 @@ const links = {
<template #value>
<span class="link">
{{ entity.supplier?.name }}
<SupplierDescriptorProxy :id="entity.supplierFk" />
<SupplierDescriptorProxy
v-if="entity.supplierFk"
:id="entity.supplierFk"
/>
</span>
</template>
</VnLv>
@ -63,6 +67,7 @@ const links = {
<span class="link">
{{ entity.supplierCooler?.name }}
<SupplierDescriptorProxy
v-if="entity.supplierCoolerFk"
:id="entity.supplierCoolerFk"
/>
</span>

View File

@ -116,6 +116,7 @@ const columns = computed(() => [
title: t('components.smartCard.openSummary'),
icon: 'preview',
action: (row) => viewSummary(row.id, VehicleSummary),
isPrimary: true,
},
],
},

View File

@ -23,6 +23,10 @@ const $props = defineProps({
required: false,
default: 'Worker',
},
summary: {
type: Object,
default: null,
},
});
const image = ref(null);
@ -51,6 +55,7 @@ const handlePhotoUpdated = (evt = false) => {
<CardDescriptor
ref="cardDescriptorRef"
:data-key="dataKey"
:summary="$props.summary"
url="Workers/summary"
:filter="{ where: { id: entityId } }"
title="user.nickname"

View File

@ -220,7 +220,6 @@ export default {
path: '',
name: 'RouteIndexMain',
redirect: { name: 'RouteList' },
component: () => import('src/pages/Route/RouteList.vue'),
children: [
{
name: 'RouteList',
@ -229,6 +228,7 @@ export default {
title: 'list',
icon: 'view_list',
},
component: () => import('src/pages/Route/RouteList.vue'),
},
routeCard,
],
@ -268,7 +268,6 @@ export default {
title: 'RouteRoadmap',
icon: 'vn:troncales',
},
component: () => import('src/pages/Route/RouteRoadmap.vue'),
children: [
{
name: 'RoadmapList',
@ -277,6 +276,7 @@ export default {
title: 'list',
icon: 'view_list',
},
component: () => import('src/pages/Route/RouteRoadmap.vue'),
},
roadmapCard,
],
@ -298,7 +298,6 @@ export default {
title: 'agency',
icon: 'garage_home',
},
component: () => import('src/pages/Route/Agency/AgencyList.vue'),
children: [
{
name: 'AgencyList',
@ -307,6 +306,8 @@ export default {
title: 'list',
icon: 'view_list',
},
component: () =>
import('src/pages/Route/Agency/AgencyList.vue'),
},
agencyCard,
],
@ -319,7 +320,6 @@ export default {
title: 'vehicle',
icon: 'directions_car',
},
component: () => import('src/pages/Route/Vehicle/VehicleList.vue'),
children: [
{
path: 'list',
@ -328,6 +328,8 @@ export default {
title: 'vehicleList',
icon: 'directions_car',
},
component: () =>
import('src/pages/Route/Vehicle/VehicleList.vue'),
},
vehicleCard,
],