forked from verdnatura/salix-front
Correcciones comentarios pr
This commit is contained in:
parent
9c351b6494
commit
b06e5b9252
|
@ -22,12 +22,12 @@ const state = useState();
|
||||||
const user = state.getUser();
|
const user = state.getUser();
|
||||||
|
|
||||||
const clientRisks = ref(null);
|
const clientRisks = ref(null);
|
||||||
|
const clientRisksRef = ref(null);
|
||||||
const companiesOptions = ref([]);
|
const companiesOptions = ref([]);
|
||||||
const companyId = ref(null);
|
const companyId = ref(null);
|
||||||
const rows = ref(null);
|
|
||||||
const workerId = ref(0);
|
|
||||||
const receiptsRef = ref(null);
|
const receiptsRef = ref(null);
|
||||||
const clientRisksRef = ref(null);
|
const rows = ref([]);
|
||||||
|
const workerId = ref(null);
|
||||||
|
|
||||||
const filterCompanies = { order: ['code'] };
|
const filterCompanies = { order: ['code'] };
|
||||||
const params = {
|
const params = {
|
||||||
|
@ -44,44 +44,42 @@ const tableColumnComponents = {
|
||||||
payed: {
|
payed: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
created: {
|
created: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
userName: {
|
userName: {
|
||||||
component: QBtn,
|
component: QBtn,
|
||||||
props: () => ({ flat: true, color: 'blue' }),
|
props: () => ({ flat: true, color: 'blue' }),
|
||||||
event: (prop) => {
|
event: ({ row }) => (workerId.value = row.clientFk),
|
||||||
workerId.value = prop.row.clientFk;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
description: {
|
description: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
bankFk: {
|
bankFk: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
debit: {
|
debit: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
credit: {
|
credit: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
balance: {
|
balance: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
isConciliate: {
|
isConciliate: {
|
||||||
component: QCheckbox,
|
component: QCheckbox,
|
||||||
|
@ -89,7 +87,7 @@ const tableColumnComponents = {
|
||||||
disable: true,
|
disable: true,
|
||||||
'model-value': Boolean(prop.value),
|
'model-value': Boolean(prop.value),
|
||||||
}),
|
}),
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -88,6 +88,7 @@ const updateData = () => {
|
||||||
:class="{
|
:class="{
|
||||||
'customer-card': true,
|
'customer-card': true,
|
||||||
'q-mb-md': index < rows.length - 1,
|
'q-mb-md': index < rows.length - 1,
|
||||||
|
'is-active': !item.finished,
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<QCardSection class="flex q-py-none">
|
<QCardSection class="flex q-py-none">
|
||||||
|
@ -192,12 +193,14 @@ const updateData = () => {
|
||||||
}
|
}
|
||||||
.customer-card {
|
.customer-card {
|
||||||
border: 2px solid var(--vn-light-gray);
|
border: 2px solid var(--vn-light-gray);
|
||||||
background-color: var(--vn-light-gray);
|
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
.is-active {
|
||||||
|
background-color: var(--vn-light-gray);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<i18n>
|
<i18n>
|
||||||
|
|
|
@ -1,65 +1,52 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, computed, onBeforeMount } from 'vue';
|
import { ref, computed } from 'vue';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { useRoute, useRouter } from 'vue-router';
|
import { useRoute, useRouter } from 'vue-router';
|
||||||
|
|
||||||
import { date, QBtn } from 'quasar';
|
import { date, QBtn } from 'quasar';
|
||||||
|
|
||||||
import { toCurrency } from 'src/filters';
|
import { toCurrency } from 'src/filters';
|
||||||
import { useArrayData } from 'composables/useArrayData';
|
|
||||||
import { useStateStore } from 'stores/useStateStore';
|
|
||||||
|
|
||||||
|
import FetchData from 'components/FetchData.vue';
|
||||||
import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue';
|
import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const stateStore = useStateStore();
|
|
||||||
|
|
||||||
const arrayData = ref(null);
|
const workerId = ref(null);
|
||||||
const workerId = ref(0);
|
const rows = ref([]);
|
||||||
const rows = computed(() => arrayData.value.store.data);
|
|
||||||
|
|
||||||
onBeforeMount(async () => {
|
const filter = {
|
||||||
const filter = {
|
include: [
|
||||||
include: [
|
{
|
||||||
{
|
relation: 'worker',
|
||||||
relation: 'worker',
|
scope: {
|
||||||
scope: {
|
fields: ['id'],
|
||||||
fields: ['id'],
|
include: { relation: 'user', scope: { fields: ['name'] } },
|
||||||
include: { relation: 'user', scope: { fields: ['name'] } },
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
],
|
},
|
||||||
where: { clientFk: `${route.params.id}` },
|
],
|
||||||
order: ['created DESC'],
|
where: { clientFk: `${route.params.id}` },
|
||||||
limit: 20,
|
order: ['created DESC'],
|
||||||
};
|
limit: 20,
|
||||||
arrayData.value = useArrayData('CustomerCreditsCard', {
|
};
|
||||||
url: 'ClientCredits',
|
|
||||||
filter,
|
|
||||||
});
|
|
||||||
await arrayData.value.fetch({ append: false });
|
|
||||||
stateStore.rightDrawer = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
const tableColumnComponents = {
|
const tableColumnComponents = {
|
||||||
created: {
|
created: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
employee: {
|
employee: {
|
||||||
component: QBtn,
|
component: QBtn,
|
||||||
props: () => ({ flat: true, color: 'blue' }),
|
props: () => ({ flat: true, color: 'blue' }),
|
||||||
event: (prop) => {
|
event: ({ row }) => (workerId.value = row.clientFk),
|
||||||
selectWorkerId(prop.row.clientFk);
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
amount: {
|
amount: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -86,16 +73,19 @@ const columns = computed(() => [
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const selectWorkerId = (id) => {
|
|
||||||
workerId.value = id;
|
|
||||||
};
|
|
||||||
|
|
||||||
const toCustomerCreditCreate = () => {
|
const toCustomerCreditCreate = () => {
|
||||||
router.push({ name: 'CustomerCreditCreate' });
|
router.push({ name: 'CustomerCreditCreate' });
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
<FetchData
|
||||||
|
:filter="filter"
|
||||||
|
@on-fetch="(data) => (rows = data)"
|
||||||
|
auto-load
|
||||||
|
url="ClientCredits"
|
||||||
|
/>
|
||||||
|
|
||||||
<QPage class="column items-center q-pa-md">
|
<QPage class="column items-center q-pa-md">
|
||||||
<QTable
|
<QTable
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
|
|
|
@ -1,87 +1,70 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, computed, onBeforeMount } from 'vue';
|
import { ref, computed } from 'vue';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { useRoute, useRouter } from 'vue-router';
|
import { useRoute, useRouter } from 'vue-router';
|
||||||
|
|
||||||
import { date, QBtn } from 'quasar';
|
import { date, QBtn } from 'quasar';
|
||||||
|
|
||||||
import { useArrayData } from 'composables/useArrayData';
|
|
||||||
import { useStateStore } from 'stores/useStateStore';
|
|
||||||
import { toCurrency } from 'src/filters';
|
import { toCurrency } from 'src/filters';
|
||||||
|
|
||||||
|
import FetchData from 'components/FetchData.vue';
|
||||||
import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue';
|
import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const stateStore = useStateStore();
|
|
||||||
|
|
||||||
const arrayData = ref(null);
|
const rows = ref([]);
|
||||||
const totalAmount = ref(0);
|
const totalAmount = ref(0);
|
||||||
const workerId = ref(0);
|
const workerId = ref(null);
|
||||||
const rows = computed(() => arrayData.value.store.data);
|
|
||||||
|
|
||||||
onBeforeMount(async () => {
|
const filter = {
|
||||||
const filter = {
|
include: [
|
||||||
include: [
|
{
|
||||||
{
|
relation: 'greugeType',
|
||||||
relation: 'greugeType',
|
scope: {
|
||||||
scope: {
|
fields: ['id', 'name'],
|
||||||
fields: ['id', 'name'],
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
|
||||||
relation: 'user',
|
|
||||||
scope: {
|
|
||||||
fields: ['id', 'name'],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
order: 'shipped DESC, amount',
|
|
||||||
where: {
|
|
||||||
clientFk: `${route.params.id}`,
|
|
||||||
},
|
},
|
||||||
limit: 20,
|
{
|
||||||
};
|
relation: 'user',
|
||||||
|
scope: {
|
||||||
arrayData.value = useArrayData('CustomerGreugesCard', {
|
fields: ['id', 'name'],
|
||||||
url: 'greuges',
|
},
|
||||||
filter,
|
},
|
||||||
});
|
],
|
||||||
await arrayData.value.fetch({ append: false });
|
order: 'shipped DESC, amount',
|
||||||
totalAmount.value = arrayData.value.store.data.reduce((accumulator, currentValue) => {
|
where: {
|
||||||
return accumulator + currentValue.amount;
|
clientFk: `${route.params.id}`,
|
||||||
}, 0);
|
},
|
||||||
stateStore.rightDrawer = true;
|
limit: 20,
|
||||||
});
|
};
|
||||||
|
|
||||||
const tableColumnComponents = {
|
const tableColumnComponents = {
|
||||||
date: {
|
date: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
createdBy: {
|
createdBy: {
|
||||||
component: QBtn,
|
component: QBtn,
|
||||||
props: () => ({ flat: true, color: 'blue' }),
|
props: () => ({ flat: true, color: 'blue' }),
|
||||||
event: (prop) => {
|
event: ({ row }) => (workerId.value = row.clientFk),
|
||||||
selectWorkerId(prop.row.clientFk);
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
comment: {
|
comment: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
type: {
|
type: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
amount: {
|
amount: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -120,8 +103,11 @@ const columns = computed(() => [
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const selectWorkerId = (id) => {
|
const setRows = (data) => {
|
||||||
workerId.value = id;
|
rows.value = data;
|
||||||
|
totalAmount.value = data.reduce((accumulator, currentValue) => {
|
||||||
|
return accumulator + currentValue.amount;
|
||||||
|
}, 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
const toCustomerGreugeCreate = () => {
|
const toCustomerGreugeCreate = () => {
|
||||||
|
@ -130,6 +116,8 @@ const toCustomerGreugeCreate = () => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
<FetchData :filter="filter" @on-fetch="setRows" auto-load url="greuges" />
|
||||||
|
|
||||||
<QPage class="column items-center q-pa-md">
|
<QPage class="column items-center q-pa-md">
|
||||||
<QCard class="full-width" v-if="totalAmount">
|
<QCard class="full-width" v-if="totalAmount">
|
||||||
<h6 class="flex justify-end q-my-lg q-pr-lg">
|
<h6 class="flex justify-end q-my-lg q-pr-lg">
|
||||||
|
|
|
@ -1,39 +1,24 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, computed, onBeforeMount } from 'vue';
|
import { ref, computed } from 'vue';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { useRoute, useRouter } from 'vue-router';
|
import { useRoute, useRouter } from 'vue-router';
|
||||||
|
|
||||||
import { date, QBtn } from 'quasar';
|
import { date, QBtn } from 'quasar';
|
||||||
|
|
||||||
import { useArrayData } from 'composables/useArrayData';
|
|
||||||
import { useStateStore } from 'stores/useStateStore';
|
|
||||||
import { toCurrency } from 'src/filters';
|
import { toCurrency } from 'src/filters';
|
||||||
|
|
||||||
import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue';
|
import FetchData from 'components/FetchData.vue';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const stateStore = useStateStore();
|
const rows = ref([]);
|
||||||
|
|
||||||
const arrayData = ref(null);
|
const filter = {
|
||||||
const workerId = ref(0);
|
where: { clientFk: `${route.params.id}` },
|
||||||
const rows = computed(() => arrayData.value.store.data);
|
order: ['started DESC'],
|
||||||
|
limit: 20,
|
||||||
onBeforeMount(async () => {
|
};
|
||||||
const filter = {
|
|
||||||
where: { clientFk: `${route.params.id}` },
|
|
||||||
order: ['started DESC'],
|
|
||||||
limit: 20,
|
|
||||||
};
|
|
||||||
|
|
||||||
arrayData.value = useArrayData('CustomerRecoveriesCard', {
|
|
||||||
url: 'Recoveries',
|
|
||||||
filter,
|
|
||||||
});
|
|
||||||
await arrayData.value.fetch({ append: false });
|
|
||||||
stateStore.rightDrawer = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
const tableColumnComponents = {
|
const tableColumnComponents = {
|
||||||
since: {
|
since: {
|
||||||
|
@ -94,6 +79,13 @@ const toCustomerRecoverieCreate = () => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
<FetchData
|
||||||
|
:filter="filter"
|
||||||
|
@on-fetch="(data) => (rows = data)"
|
||||||
|
auto-load
|
||||||
|
url="Recoveries"
|
||||||
|
/>
|
||||||
|
|
||||||
<QPage class="column items-center q-pa-md">
|
<QPage class="column items-center q-pa-md">
|
||||||
<QTable
|
<QTable
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
|
@ -113,7 +105,6 @@ const toCustomerRecoverieCreate = () => {
|
||||||
@click="tableColumnComponents[props.col.name].event(props)"
|
@click="tableColumnComponents[props.col.name].event(props)"
|
||||||
>
|
>
|
||||||
{{ props.value }}
|
{{ props.value }}
|
||||||
<WorkerDescriptorProxy :id="workerId" />
|
|
||||||
</component>
|
</component>
|
||||||
</QTr>
|
</QTr>
|
||||||
</QTd>
|
</QTd>
|
||||||
|
|
|
@ -1,66 +1,51 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, computed, onBeforeMount } from 'vue';
|
import { ref, computed } from 'vue';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { useRoute, useRouter } from 'vue-router';
|
import { useRoute, useRouter } from 'vue-router';
|
||||||
|
|
||||||
import { date, QBtn } from 'quasar';
|
import { date, QBtn } from 'quasar';
|
||||||
|
|
||||||
import { useArrayData } from 'composables/useArrayData';
|
import FetchData from 'components/FetchData.vue';
|
||||||
import { useStateStore } from 'stores/useStateStore';
|
|
||||||
|
|
||||||
import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue';
|
import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const stateStore = useStateStore();
|
|
||||||
|
|
||||||
const arrayData = ref(null);
|
const workerId = ref(null);
|
||||||
const workerId = ref(0);
|
const rows = ref([]);
|
||||||
const rows = computed(() => arrayData.value.store.data);
|
|
||||||
|
|
||||||
onBeforeMount(async () => {
|
const filter = {
|
||||||
const filter = {
|
include: [
|
||||||
include: [
|
{ relation: 'type', scope: { fields: ['code', 'description'] } },
|
||||||
{ relation: 'type', scope: { fields: ['code', 'description'] } },
|
{ relation: 'user', scope: { fields: ['id', 'name'] } },
|
||||||
{ relation: 'user', scope: { fields: ['id', 'name'] } },
|
{ relation: 'company', scope: { fields: ['code'] } },
|
||||||
{ relation: 'company', scope: { fields: ['code'] } },
|
],
|
||||||
],
|
where: { clientFk: route.params.id },
|
||||||
where: { clientFk: route.params.id },
|
order: ['created DESC'],
|
||||||
order: ['created DESC'],
|
limit: 20,
|
||||||
limit: 20,
|
};
|
||||||
};
|
|
||||||
|
|
||||||
arrayData.value = useArrayData('CustomerSamplesCard', {
|
|
||||||
url: 'ClientSamples',
|
|
||||||
filter,
|
|
||||||
});
|
|
||||||
await arrayData.value.fetch({ append: false });
|
|
||||||
stateStore.rightDrawer = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
const tableColumnComponents = {
|
const tableColumnComponents = {
|
||||||
sent: {
|
sent: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
description: {
|
description: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
worker: {
|
worker: {
|
||||||
component: QBtn,
|
component: QBtn,
|
||||||
props: () => ({ flat: true, color: 'blue' }),
|
props: () => ({ flat: true, color: 'blue' }),
|
||||||
event: (prop) => {
|
event: ({ row }) => (workerId.value = row.clientFk),
|
||||||
selectWorkerId(prop.row.clientFk);
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
company: {
|
company: {
|
||||||
component: 'span',
|
component: 'span',
|
||||||
props: () => {},
|
props: () => {},
|
||||||
event: () => {},
|
event: () => (workerId.value = null),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -92,16 +77,19 @@ const columns = computed(() => [
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const selectWorkerId = (id) => {
|
|
||||||
workerId.value = id;
|
|
||||||
};
|
|
||||||
|
|
||||||
const toCustomerSamplesCreate = () => {
|
const toCustomerSamplesCreate = () => {
|
||||||
router.push({ name: 'CustomerSamplesCreate' });
|
router.push({ name: 'CustomerSamplesCreate' });
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
<FetchData
|
||||||
|
:filter="filter"
|
||||||
|
@on-fetch="(data) => (rows = data)"
|
||||||
|
auto-load
|
||||||
|
url="ClientSamples"
|
||||||
|
/>
|
||||||
|
|
||||||
<QPage class="column items-center q-pa-md">
|
<QPage class="column items-center q-pa-md">
|
||||||
<QTable
|
<QTable
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, computed, onBeforeMount } from 'vue';
|
import { ref, computed } from 'vue';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|
||||||
import { QBtn, QCheckbox, useQuasar } from 'quasar';
|
import { QBtn, QCheckbox, useQuasar } from 'quasar';
|
||||||
|
|
||||||
import { toCurrency, toDate } from 'filters/index';
|
import { toCurrency, toDate } from 'filters/index';
|
||||||
import { useArrayData } from 'composables/useArrayData';
|
|
||||||
import { useStateStore } from 'stores/useStateStore';
|
|
||||||
|
|
||||||
|
import FetchData from 'components/FetchData.vue';
|
||||||
import CustomerNotificationsFilter from './CustomerDefaulterFilter.vue';
|
import CustomerNotificationsFilter from './CustomerDefaulterFilter.vue';
|
||||||
import CustomerBalanceDueTotal from './CustomerBalanceDueTotal.vue';
|
import CustomerBalanceDueTotal from './CustomerBalanceDueTotal.vue';
|
||||||
import CustomerDescriptorProxy from 'src/pages/Customer/Card/CustomerDescriptorProxy.vue';
|
import CustomerDescriptorProxy from 'src/pages/Customer/Card/CustomerDescriptorProxy.vue';
|
||||||
|
@ -15,16 +14,13 @@ import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.v
|
||||||
import CustomerDefaulterAddObservation from './CustomerDefaulterAddObservation.vue';
|
import CustomerDefaulterAddObservation from './CustomerDefaulterAddObservation.vue';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const stateStore = useStateStore();
|
|
||||||
const quasar = useQuasar();
|
const quasar = useQuasar();
|
||||||
|
|
||||||
const arrayData = ref(null);
|
|
||||||
const balanceDueTotal = ref(0);
|
const balanceDueTotal = ref(0);
|
||||||
const customerId = ref(0);
|
const customerId = ref(0);
|
||||||
const selected = ref([]);
|
const selected = ref([]);
|
||||||
const workerId = ref(0);
|
const workerId = ref(0);
|
||||||
|
const rows = ref([]);
|
||||||
const rows = computed(() => arrayData.value.store.data);
|
|
||||||
|
|
||||||
const tableColumnComponents = {
|
const tableColumnComponents = {
|
||||||
client: {
|
client: {
|
||||||
|
@ -155,23 +151,11 @@ const columns = computed(() => [
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
onBeforeMount(() => {
|
const setRows = (data) => {
|
||||||
getArrayData();
|
rows.value = data;
|
||||||
});
|
balanceDueTotal.value = data.reduce((accumulator, currentValue) => {
|
||||||
|
return accumulator + (currentValue['amount'] || 0);
|
||||||
const getArrayData = async () => {
|
}, 0);
|
||||||
arrayData.value = useArrayData('CustomerDefaulter', {
|
|
||||||
url: 'Defaulters/filter',
|
|
||||||
limit: 0,
|
|
||||||
});
|
|
||||||
await arrayData.value.fetch({ append: false });
|
|
||||||
balanceDueTotal.value = arrayData.value.store.data.reduce(
|
|
||||||
(accumulator, currentValue) => {
|
|
||||||
return accumulator + (currentValue['amount'] || 0);
|
|
||||||
},
|
|
||||||
0
|
|
||||||
);
|
|
||||||
stateStore.rightDrawer = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const selectCustomerId = (id) => {
|
const selectCustomerId = (id) => {
|
||||||
|
@ -195,12 +179,19 @@ const viewAddObservation = (rowsSelected) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const refreshData = () => {
|
const refreshData = () => {
|
||||||
getArrayData();
|
setRows();
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<QDrawer v-model="stateStore.rightDrawer" side="right" :width="256" show-if-above>
|
<FetchData
|
||||||
|
:filter="filter"
|
||||||
|
@on-fetch="(data) => (rows = data)"
|
||||||
|
auto-load
|
||||||
|
url="Defaulters/filter"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<QDrawer side="right" :width="256" show-if-above>
|
||||||
<QScrollArea class="fit text-grey-8">
|
<QScrollArea class="fit text-grey-8">
|
||||||
<CustomerNotificationsFilter data-key="CustomerDefaulter" />
|
<CustomerNotificationsFilter data-key="CustomerDefaulter" />
|
||||||
</QScrollArea>
|
</QScrollArea>
|
||||||
|
|
|
@ -1,33 +1,29 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, computed, onBeforeMount, onMounted } from 'vue';
|
import { ref, computed, onMounted } from 'vue';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
|
|
||||||
import { QBtn, QIcon } from 'quasar';
|
import { QBtn, QIcon } from 'quasar';
|
||||||
|
|
||||||
|
import { useStateStore } from 'stores/useStateStore';
|
||||||
|
import { dashIfEmpty, toDate } from 'src/filters';
|
||||||
|
|
||||||
|
import FetchData from 'components/FetchData.vue';
|
||||||
import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue';
|
import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue';
|
||||||
import CustomerDescriptorProxy from 'src/pages/Customer/Card/CustomerDescriptorProxy.vue';
|
import CustomerDescriptorProxy from 'src/pages/Customer/Card/CustomerDescriptorProxy.vue';
|
||||||
import CustomerExtendedListActions from './CustomerExtendedListActions.vue';
|
import CustomerExtendedListActions from './CustomerExtendedListActions.vue';
|
||||||
import CustomerExtendedListFilter from './CustomerExtendedListFilter.vue';
|
import CustomerExtendedListFilter from './CustomerExtendedListFilter.vue';
|
||||||
import TableVisibleColumns from 'src/components/common/TableVisibleColumns.vue';
|
import TableVisibleColumns from 'src/components/common/TableVisibleColumns.vue';
|
||||||
|
|
||||||
import { useArrayData } from 'composables/useArrayData';
|
|
||||||
import { useStateStore } from 'stores/useStateStore';
|
|
||||||
import { dashIfEmpty, toDate } from 'src/filters';
|
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const stateStore = useStateStore();
|
const stateStore = useStateStore();
|
||||||
|
|
||||||
const arrayData = ref(null);
|
const allColumnNames = ref([]);
|
||||||
|
const rows = ref([]);
|
||||||
onBeforeMount(async () => {
|
const selectedCustomerId = ref(0);
|
||||||
arrayData.value = useArrayData('CustomerExtendedList', {
|
const selectedSalesPersonId = ref(0);
|
||||||
url: 'Clients/extendedListFilter',
|
const visibleColumns = ref([]);
|
||||||
limit: 0,
|
|
||||||
});
|
|
||||||
await arrayData.value.fetch({ append: false });
|
|
||||||
stateStore.rightDrawer = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
const filteredColumns = columns.value.filter(
|
const filteredColumns = columns.value.filter(
|
||||||
|
@ -36,13 +32,6 @@ onMounted(() => {
|
||||||
allColumnNames.value = filteredColumns.map((col) => col.name);
|
allColumnNames.value = filteredColumns.map((col) => col.name);
|
||||||
});
|
});
|
||||||
|
|
||||||
const rows = computed(() => arrayData.value.store.data);
|
|
||||||
|
|
||||||
const selectedCustomerId = ref(0);
|
|
||||||
const selectedSalesPersonId = ref(0);
|
|
||||||
const allColumnNames = ref([]);
|
|
||||||
const visibleColumns = ref([]);
|
|
||||||
|
|
||||||
const tableColumnComponents = {
|
const tableColumnComponents = {
|
||||||
customerStatus: {
|
customerStatus: {
|
||||||
component: QIcon,
|
component: QIcon,
|
||||||
|
@ -490,6 +479,13 @@ const selectSalesPersonId = (id) => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
<FetchData
|
||||||
|
:filter="filter"
|
||||||
|
@on-fetch="(data) => (rows = data)"
|
||||||
|
auto-load
|
||||||
|
url="Clients/extendedListFilter"
|
||||||
|
/>
|
||||||
|
|
||||||
<QDrawer v-model="stateStore.rightDrawer" side="right" :width="256" show-if-above>
|
<QDrawer v-model="stateStore.rightDrawer" side="right" :width="256" show-if-above>
|
||||||
<QScrollArea class="fit text-grey-8">
|
<QScrollArea class="fit text-grey-8">
|
||||||
<CustomerExtendedListFilter
|
<CustomerExtendedListFilter
|
||||||
|
|
|
@ -1,32 +1,17 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, computed, onBeforeMount } from 'vue';
|
import { ref, computed } from 'vue';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|
||||||
import { QBtn } from 'quasar';
|
import { QBtn } from 'quasar';
|
||||||
|
|
||||||
import { useArrayData } from 'composables/useArrayData';
|
import FetchData from 'components/FetchData.vue';
|
||||||
import { useStateStore } from 'stores/useStateStore';
|
|
||||||
|
|
||||||
import CustomerNotificationsFilter from './CustomerNotificationsFilter.vue';
|
import CustomerNotificationsFilter from './CustomerNotificationsFilter.vue';
|
||||||
import CustomerDescriptorProxy from '../Card/CustomerDescriptorProxy.vue';
|
import CustomerDescriptorProxy from '../Card/CustomerDescriptorProxy.vue';
|
||||||
import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
|
import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const stateStore = useStateStore();
|
|
||||||
|
|
||||||
const arrayData = ref(null);
|
|
||||||
|
|
||||||
onBeforeMount(async () => {
|
|
||||||
arrayData.value = useArrayData('CustomerNotifications', {
|
|
||||||
url: 'Clients',
|
|
||||||
limit: 0,
|
|
||||||
});
|
|
||||||
await arrayData.value.fetch({ append: false });
|
|
||||||
stateStore.rightDrawer = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
const rows = computed(() => arrayData.value.store.data);
|
|
||||||
|
|
||||||
|
const rows = ref([]);
|
||||||
const selected = ref([]);
|
const selected = ref([]);
|
||||||
const selectedCustomerId = ref(0);
|
const selectedCustomerId = ref(0);
|
||||||
|
|
||||||
|
@ -97,7 +82,14 @@ const selectCustomerId = (id) => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<QDrawer v-model="stateStore.rightDrawer" side="right" :width="256" show-if-above>
|
<FetchData
|
||||||
|
:filter="filter"
|
||||||
|
@on-fetch="(data) => (rows = data)"
|
||||||
|
auto-load
|
||||||
|
url="Clients"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<QDrawer side="right" :width="256" show-if-above>
|
||||||
<QScrollArea class="fit text-grey-8">
|
<QScrollArea class="fit text-grey-8">
|
||||||
<CustomerNotificationsFilter data-key="CustomerNotifications" />
|
<CustomerNotificationsFilter data-key="CustomerNotifications" />
|
||||||
</QScrollArea>
|
</QScrollArea>
|
||||||
|
|
|
@ -1,35 +1,25 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed, onBeforeMount, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
|
|
||||||
import { date } from 'quasar';
|
import { date } from 'quasar';
|
||||||
|
|
||||||
import { useArrayData } from 'src/composables/useArrayData';
|
|
||||||
import { toCurrency } from 'src/filters';
|
import { toCurrency } from 'src/filters';
|
||||||
import { useStateStore } from 'src/stores/useStateStore';
|
|
||||||
|
import FetchData from 'components/FetchData.vue';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const stateStore = useStateStore();
|
|
||||||
|
|
||||||
const arrayData = ref(null);
|
const rows = ref([]);
|
||||||
const rows = computed(() => arrayData.value.store.data);
|
|
||||||
|
|
||||||
onBeforeMount(async () => {
|
const filter = {
|
||||||
const filter = {
|
where: {
|
||||||
where: {
|
creditClassificationFk: `${route.params.creditId}`,
|
||||||
creditClassificationFk: `${route.params.creditId}`,
|
},
|
||||||
},
|
limit: 20,
|
||||||
limit: 20,
|
};
|
||||||
};
|
|
||||||
arrayData.value = useArrayData('CustomerCreditsContractsInsuranceCard', {
|
|
||||||
url: 'CreditInsurances',
|
|
||||||
filter,
|
|
||||||
});
|
|
||||||
await arrayData.value.fetch({ append: false });
|
|
||||||
stateStore.rightDrawer = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
const tableColumnComponents = {
|
const tableColumnComponents = {
|
||||||
created: {
|
created: {
|
||||||
|
@ -74,6 +64,13 @@ const columns = computed(() => [
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
<FetchData
|
||||||
|
:filter="filter"
|
||||||
|
@on-fetch="(data) => (rows = data)"
|
||||||
|
auto-load
|
||||||
|
url="CreditInsurances"
|
||||||
|
/>
|
||||||
|
|
||||||
<QPage class="column items-center q-pa-md">
|
<QPage class="column items-center q-pa-md">
|
||||||
<QTable
|
<QTable
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
|
|
|
@ -227,14 +227,6 @@ const onDataSaved = async ({
|
||||||
</FormModel>
|
</FormModel>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.add-icon {
|
|
||||||
cursor: pointer;
|
|
||||||
background-color: $primary;
|
|
||||||
border-radius: 50px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<i18n>
|
<i18n>
|
||||||
es:
|
es:
|
||||||
Sample: Plantilla
|
Sample: Plantilla
|
||||||
|
|
|
@ -561,6 +561,33 @@ export default {
|
||||||
'src/pages/Customer/Card/CustomerFileManagement.vue'
|
'src/pages/Customer/Card/CustomerFileManagement.vue'
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'file-management',
|
||||||
|
name: 'CustomerFileManagementCard',
|
||||||
|
redirect: { name: 'CustomerFileManagement' },
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
name: 'CustomerFileManagement',
|
||||||
|
meta: {
|
||||||
|
title: 'fileManagement',
|
||||||
|
icon: 'paid',
|
||||||
|
},
|
||||||
|
component: () =>
|
||||||
|
import(
|
||||||
|
'src/pages/Customer/Card/CustomerFileManagement.vue'
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'create',
|
||||||
|
name: 'CustomerFileManagementCreate',
|
||||||
|
component: () =>
|
||||||
|
import(
|
||||||
|
'src/pages/Customer/components/CustomerFileManagementCreate.vue'
|
||||||
|
),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: 'unpaid',
|
path: 'unpaid',
|
||||||
name: 'CustomerUnpaid',
|
name: 'CustomerUnpaid',
|
||||||
|
|
Loading…
Reference in New Issue