forked from verdnatura/salix-front
Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 6553-workerBusiness
This commit is contained in:
commit
00cd6feb12
|
@ -1,11 +1,10 @@
|
|||
import axios from 'axios';
|
||||
import { Notify } from 'quasar';
|
||||
import { useSession } from 'src/composables/useSession';
|
||||
import { Router } from 'src/router';
|
||||
import { i18n } from './i18n';
|
||||
import useNotify from 'src/composables/useNotify.js';
|
||||
|
||||
const session = useSession();
|
||||
const { t } = i18n.global;
|
||||
const { notify } = useNotify();
|
||||
|
||||
axios.defaults.baseURL = '/api/';
|
||||
|
||||
|
@ -27,10 +26,7 @@ const onResponse = (response) => {
|
|||
|
||||
const isSaveRequest = method === 'patch';
|
||||
if (isSaveRequest) {
|
||||
Notify.create({
|
||||
message: t('globals.dataSaved'),
|
||||
type: 'positive',
|
||||
});
|
||||
notify('globals.dataSaved', 'positive');
|
||||
}
|
||||
|
||||
return response;
|
||||
|
@ -67,10 +63,7 @@ const onResponseError = (error) => {
|
|||
return Promise.reject(error);
|
||||
}
|
||||
|
||||
Notify.create({
|
||||
message: t(message),
|
||||
type: 'negative',
|
||||
});
|
||||
notify(message, 'negative');
|
||||
|
||||
return Promise.reject(error);
|
||||
};
|
||||
|
|
|
@ -148,7 +148,7 @@ async function onSubmit() {
|
|||
await saveChanges($props.saveFn ? formData.value : null);
|
||||
}
|
||||
|
||||
async function onSumbitAndGo() {
|
||||
async function onSubmitAndGo() {
|
||||
await onSubmit();
|
||||
push({ path: $props.goTo });
|
||||
}
|
||||
|
@ -339,7 +339,7 @@ watch(formUrl, async () => {
|
|||
/>
|
||||
<QBtnDropdown
|
||||
v-if="$props.goTo && $props.defaultSave"
|
||||
@click="onSumbitAndGo"
|
||||
@click="onSubmitAndGo"
|
||||
:label="tMobile('globals.saveAndContinue')"
|
||||
:title="t('globals.saveAndContinue')"
|
||||
:disable="!hasChanges"
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
<script setup>
|
||||
defineProps({
|
||||
title: { type: String, default: null },
|
||||
content: { type: [String, Number], default: null },
|
||||
});
|
||||
</script>
|
||||
<template>
|
||||
<QPopupProxy>
|
||||
<QCard>
|
||||
<slot name="title">
|
||||
<div
|
||||
class="header q-px-sm q-py-xs q-ma-none text-white text-bold bg-primary"
|
||||
v-text="title"
|
||||
/>
|
||||
</slot>
|
||||
<slot name="content">
|
||||
<QCardSection class="change-detail q-pa-sm">
|
||||
{{ content }}
|
||||
</QCardSection>
|
||||
</slot>
|
||||
</QCard>
|
||||
</QPopupProxy>
|
||||
</template>
|
|
@ -39,6 +39,7 @@ const $props = defineProps({
|
|||
});
|
||||
|
||||
const state = useState();
|
||||
const route = useRoute();
|
||||
const { t } = useI18n();
|
||||
const { viewSummary } = useSummaryDialog();
|
||||
let arrayData;
|
||||
|
@ -57,7 +58,7 @@ onBeforeMount(async () => {
|
|||
store = arrayData.store;
|
||||
entity = computed(() => (Array.isArray(store.data) ? store.data[0] : store.data));
|
||||
// It enables to load data only once if the module is the same as the dataKey
|
||||
if ($props.dataKey !== useRoute().meta.moduleName) await getData();
|
||||
if ($props.dataKey !== route.meta.moduleName || !route.params.id) await getData();
|
||||
watch(
|
||||
() => [$props.url, $props.filter],
|
||||
async () => await getData()
|
||||
|
|
|
@ -22,6 +22,10 @@ const props = defineProps({
|
|||
type: String,
|
||||
default: '',
|
||||
},
|
||||
moduleName: {
|
||||
type: String,
|
||||
default: null,
|
||||
},
|
||||
});
|
||||
const emit = defineEmits(['onFetch']);
|
||||
const route = useRoute();
|
||||
|
@ -83,7 +87,7 @@ function existSummary(routes) {
|
|||
v-if="showRedirectToSummaryIcon"
|
||||
class="header link"
|
||||
:to="{
|
||||
name: `${route.meta.moduleName}Summary`,
|
||||
name: `${moduleName ?? route.meta.moduleName}Summary`,
|
||||
params: { id: entityId || entity.id },
|
||||
}"
|
||||
>
|
||||
|
|
|
@ -113,6 +113,7 @@ globals:
|
|||
name: Name
|
||||
new: New
|
||||
comment: Comment
|
||||
observations: Observations
|
||||
errors:
|
||||
statusUnauthorized: Access denied
|
||||
statusInternalServerError: An internal server error has ocurred
|
||||
|
|
|
@ -114,6 +114,7 @@ globals:
|
|||
name: Nombre
|
||||
new: Nuevo
|
||||
comment: Comentario
|
||||
observations: Observaciones
|
||||
errors:
|
||||
statusUnauthorized: Acceso denegado
|
||||
statusInternalServerError: Ha ocurrido un error interno del servidor
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<script setup>
|
||||
import DepartmentDescriptor from './DepartmentDescriptor.vue';
|
||||
import DepartmentSummaryDialog from './DepartmentSummaryDialog.vue';
|
||||
import DepartmentSummary from './DepartmentSummary.vue';
|
||||
|
||||
const $props = defineProps({
|
||||
id: {
|
||||
|
@ -15,7 +15,7 @@ const $props = defineProps({
|
|||
<DepartmentDescriptor
|
||||
v-if="$props.id"
|
||||
:id="$props.id"
|
||||
:summary="DepartmentSummaryDialog"
|
||||
:summary="DepartmentSummary"
|
||||
/>
|
||||
</QPopupProxy>
|
||||
</template>
|
||||
|
|
|
@ -32,6 +32,7 @@ onMounted(async () => {
|
|||
:url="`Departments/${entityId}`"
|
||||
class="full-width"
|
||||
style="max-width: 900px"
|
||||
module-name="Department"
|
||||
>
|
||||
<template #header="{ entity }">
|
||||
<div>{{ entity.name }}</div>
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
<script setup>
|
||||
import VnLog from 'src/components/common/VnLog.vue';
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<VnLog model="Ticket" url="/TicketLogs"></VnLog>
|
||||
</template>
|
|
@ -2,5 +2,5 @@
|
|||
import VnLog from 'src/components/common/VnLog.vue';
|
||||
</script>
|
||||
<template>
|
||||
<VnLog model="Entry" url="/TravelLogs"></VnLog>
|
||||
<VnLog model="Travel" url="/TravelLogs"></VnLog>
|
||||
</template>
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
import { onMounted, ref, computed, watch } from 'vue';
|
||||
import { QBtn } from 'quasar';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import { useRouter } from 'vue-router';
|
||||
|
||||
import SupplierDescriptorProxy from 'src/pages/Supplier/Card/SupplierDescriptorProxy.vue';
|
||||
import TravelDescriptorProxy from 'src/pages/Travel/Card/TravelDescriptorProxy.vue';
|
||||
|
@ -19,8 +18,8 @@ import { usePrintService } from 'composables/usePrintService';
|
|||
import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
|
||||
import axios from 'axios';
|
||||
import RightMenu from 'src/components/common/RightMenu.vue';
|
||||
import VnPopup from 'src/components/common/VnPopup.vue';
|
||||
|
||||
const router = useRouter();
|
||||
const stateStore = useStateStore();
|
||||
const { t } = useI18n();
|
||||
const { openReport } = usePrintService();
|
||||
|
@ -125,6 +124,10 @@ const tableColumnComponents = {
|
|||
component: 'span',
|
||||
attrs: {},
|
||||
},
|
||||
notes: {
|
||||
component: 'span',
|
||||
attrs: {},
|
||||
},
|
||||
};
|
||||
|
||||
const columns = computed(() => [
|
||||
|
@ -250,6 +253,14 @@ const columns = computed(() => [
|
|||
sortable: true,
|
||||
format: (value) => toDate(value),
|
||||
},
|
||||
{
|
||||
label: t('notes'),
|
||||
field: '',
|
||||
name: 'notes',
|
||||
align: 'center',
|
||||
showValue: false,
|
||||
sortable: true,
|
||||
},
|
||||
]);
|
||||
|
||||
async function getData() {
|
||||
|
@ -298,10 +309,6 @@ const saveFieldValue = async (val, field, index) => {
|
|||
}
|
||||
};
|
||||
|
||||
const navigateToTravelId = (id) => {
|
||||
router.push({ path: `/travel/${id}` });
|
||||
};
|
||||
|
||||
const stopEventPropagation = (event, col) => {
|
||||
// Detener la propagación del evento de los siguientes elementos para evitar el click sobre la row que dispararía la función navigateToTravelId
|
||||
if (!['ref', 'id', 'cargoSupplierNickname', 'kg'].includes(col.name)) return;
|
||||
|
@ -486,7 +493,7 @@ const getColor = (percentage) => {
|
|||
<QTr
|
||||
:props="props"
|
||||
class="cursor-pointer bg-travel"
|
||||
@click="navigateToTravelId(props.row.id)"
|
||||
@click="$router.push({ path: `/travel/${props.row.id}` })"
|
||||
@dragenter="handleDragEnter($event, props.rowIndex)"
|
||||
@dragover.prevent
|
||||
@drop="handleDrop()"
|
||||
|
@ -607,6 +614,20 @@ const getColor = (percentage) => {
|
|||
<QTd />
|
||||
<QTd />
|
||||
<QTd />
|
||||
<QTd>
|
||||
<QBtn
|
||||
v-if="entry.evaNotes"
|
||||
icon="comment"
|
||||
size="sm"
|
||||
flat
|
||||
color="primary"
|
||||
>
|
||||
<VnPopup
|
||||
:title="t('globals.observations')"
|
||||
:content="entry.evaNotes"
|
||||
/>
|
||||
</QBtn>
|
||||
</QTd>
|
||||
</QTr>
|
||||
</template>
|
||||
</QTable>
|
||||
|
|
|
@ -9,7 +9,7 @@ export default {
|
|||
moduleName: 'Department',
|
||||
},
|
||||
component: RouterView,
|
||||
redirect: { name: 'DepartmentCard' },
|
||||
redirect: { name: 'WorkerDepartment' },
|
||||
menus: {
|
||||
main: [],
|
||||
card: ['DepartmentBasicData'],
|
||||
|
|
|
@ -12,7 +12,7 @@ export default {
|
|||
redirect: { name: 'TicketMain' },
|
||||
menus: {
|
||||
main: ['TicketList'],
|
||||
card: ['TicketBoxing', 'TicketSms', 'TicketSale'],
|
||||
card: ['TicketBoxing', 'TicketSms', 'TicketSale', 'TicketLog'],
|
||||
},
|
||||
children: [
|
||||
{
|
||||
|
@ -93,6 +93,15 @@ export default {
|
|||
},
|
||||
component: () => import('src/pages/Ticket/Card/TicketSms.vue'),
|
||||
},
|
||||
{
|
||||
path: 'log',
|
||||
name: 'TicketLog',
|
||||
meta: {
|
||||
title: 'log',
|
||||
icon: 'history',
|
||||
},
|
||||
component: () => import('src/pages/Ticket/Card/TicketLog.vue'),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
|
|
Loading…
Reference in New Issue