forked from verdnatura/salix-front
feat(VnTable): refs #6825 merge where's
This commit is contained in:
parent
a4db4bd2a5
commit
92244ad96b
|
@ -106,7 +106,7 @@ async function addFilter(value) {
|
||||||
let params = { [field]: value };
|
let params = { [field]: value };
|
||||||
if (columnFilter.value?.inWhere) {
|
if (columnFilter.value?.inWhere) {
|
||||||
if (columnFilter.value.alias) field = columnFilter.value.alias + '.' + field;
|
if (columnFilter.value.alias) field = columnFilter.value.alias + '.' + field;
|
||||||
params = { filter: { where: { [field]: value } } };
|
return await arrayData.addFilterWhere(params);
|
||||||
}
|
}
|
||||||
await arrayData.addFilter({ params });
|
await arrayData.addFilter({ params });
|
||||||
}
|
}
|
||||||
|
|
|
@ -150,6 +150,13 @@ export function useArrayData(key, userOptions) {
|
||||||
return { filter, params };
|
return { filter, params };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function addFilterWhere(where) {
|
||||||
|
const storedFilter = { ...store.userFilter };
|
||||||
|
if (!storedFilter?.where) storedFilter.where = {};
|
||||||
|
where = { ...storedFilter.where, ...where };
|
||||||
|
await addFilter({ filter: { where } });
|
||||||
|
}
|
||||||
|
|
||||||
function sanitizerParams(params, exprBuilder) {
|
function sanitizerParams(params, exprBuilder) {
|
||||||
for (const param in params) {
|
for (const param in params) {
|
||||||
if (params[param] === '' || params[param] === null) {
|
if (params[param] === '' || params[param] === null) {
|
||||||
|
@ -188,7 +195,12 @@ export function useArrayData(key, userOptions) {
|
||||||
if (store.limit) query.limit = store.limit;
|
if (store.limit) query.limit = store.limit;
|
||||||
if (store.skip) query.skip = store.skip;
|
if (store.skip) query.skip = store.skip;
|
||||||
if (store.userParams && Object.keys(store.userParams).length !== 0)
|
if (store.userParams && Object.keys(store.userParams).length !== 0)
|
||||||
query.params = JSON.stringify(store.userParams);
|
query.params = store.userParams;
|
||||||
|
if (store.userFilter && Object.keys(store.userFilter).length !== 0) {
|
||||||
|
if (!query.params) query.params = {};
|
||||||
|
query.params.filter = store.userFilter;
|
||||||
|
}
|
||||||
|
if (query.params) query.params = JSON.stringify(query.params);
|
||||||
|
|
||||||
router.replace({
|
router.replace({
|
||||||
path: route.path,
|
path: route.path,
|
||||||
|
@ -203,6 +215,7 @@ export function useArrayData(key, userOptions) {
|
||||||
fetch,
|
fetch,
|
||||||
applyFilter,
|
applyFilter,
|
||||||
addFilter,
|
addFilter,
|
||||||
|
addFilterWhere,
|
||||||
refresh,
|
refresh,
|
||||||
destroy,
|
destroy,
|
||||||
loadMore,
|
loadMore,
|
||||||
|
|
|
@ -198,16 +198,44 @@ const columns = computed(() => [
|
||||||
align: 'left',
|
align: 'left',
|
||||||
label: t('customer.extendedList.tableVisibleColumns.payMethodFk'),
|
label: t('customer.extendedList.tableVisibleColumns.payMethodFk'),
|
||||||
name: 'payMethodFk',
|
name: 'payMethodFk',
|
||||||
|
columnFilter: {
|
||||||
|
component: 'select',
|
||||||
|
attrs: {
|
||||||
|
url: 'PayMethods',
|
||||||
|
},
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
|
format: (row, dashIfEmpty) => dashIfEmpty(row.payMethod),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
label: t('customer.extendedList.tableVisibleColumns.sageTaxTypeFk'),
|
label: t('customer.extendedList.tableVisibleColumns.sageTaxTypeFk'),
|
||||||
name: 'sageTaxTypeFk',
|
name: 'sageTaxTypeFk',
|
||||||
|
columnFilter: {
|
||||||
|
component: 'select',
|
||||||
|
attrs: {
|
||||||
|
optionLabel: 'vat',
|
||||||
|
url: 'SageTaxTypes',
|
||||||
|
},
|
||||||
|
alias: 'sti',
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
|
format: (row, dashIfEmpty) => dashIfEmpty(row.sageTaxType),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
label: t('customer.extendedList.tableVisibleColumns.sageTransactionTypeFk'),
|
label: t('customer.extendedList.tableVisibleColumns.sageTransactionTypeFk'),
|
||||||
name: 'sageTransactionTypeFk',
|
name: 'sageTransactionTypeFk',
|
||||||
|
columnFilter: {
|
||||||
|
component: 'select',
|
||||||
|
attrs: {
|
||||||
|
optionLabel: 'transaction',
|
||||||
|
url: 'SageTransactionTypes',
|
||||||
|
},
|
||||||
|
alias: 'stt',
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
|
format: (row, dashIfEmpty) => dashIfEmpty(row.sageTransactionType),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
|
@ -218,22 +246,34 @@ const columns = computed(() => [
|
||||||
condition: (value) => !value,
|
condition: (value) => !value,
|
||||||
icon: 'vn:disabled',
|
icon: 'vn:disabled',
|
||||||
},
|
},
|
||||||
|
columnFilter: {
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
label: t('customer.extendedList.tableVisibleColumns.isVies'),
|
label: t('customer.extendedList.tableVisibleColumns.isVies'),
|
||||||
name: 'isVies',
|
name: 'isVies',
|
||||||
|
columnFilter: {
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
label: t('customer.extendedList.tableVisibleColumns.isTaxDataChecked'),
|
label: t('customer.extendedList.tableVisibleColumns.isTaxDataChecked'),
|
||||||
name: 'isTaxDataChecked',
|
name: 'isTaxDataChecked',
|
||||||
|
columnFilter: {
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
label: t('customer.extendedList.tableVisibleColumns.isEqualizated'),
|
label: t('customer.extendedList.tableVisibleColumns.isEqualizated'),
|
||||||
name: 'isEqualizated',
|
name: 'isEqualizated',
|
||||||
created: true,
|
created: true,
|
||||||
|
columnFilter: {
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
|
@ -244,36 +284,57 @@ const columns = computed(() => [
|
||||||
condition: (value) => value,
|
condition: (value) => value,
|
||||||
icon: 'vn:frozen',
|
icon: 'vn:frozen',
|
||||||
},
|
},
|
||||||
|
columnFilter: {
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
label: t('customer.extendedList.tableVisibleColumns.hasToInvoice'),
|
label: t('customer.extendedList.tableVisibleColumns.hasToInvoice'),
|
||||||
name: 'hasToInvoice',
|
name: 'hasToInvoice',
|
||||||
|
columnFilter: {
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
label: t('customer.extendedList.tableVisibleColumns.hasToInvoiceByAddress'),
|
label: t('customer.extendedList.tableVisibleColumns.hasToInvoiceByAddress'),
|
||||||
name: 'hasToInvoiceByAddress',
|
name: 'hasToInvoiceByAddress',
|
||||||
|
columnFilter: {
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
label: t('customer.extendedList.tableVisibleColumns.isToBeMailed'),
|
label: t('customer.extendedList.tableVisibleColumns.isToBeMailed'),
|
||||||
name: 'isToBeMailed',
|
name: 'isToBeMailed',
|
||||||
|
columnFilter: {
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
label: t('customer.extendedList.tableVisibleColumns.hasLcr'),
|
label: t('customer.extendedList.tableVisibleColumns.hasLcr'),
|
||||||
name: 'hasLcr',
|
name: 'hasLcr',
|
||||||
|
columnFilter: {
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
label: t('customer.extendedList.tableVisibleColumns.hasCoreVnl'),
|
label: t('customer.extendedList.tableVisibleColumns.hasCoreVnl'),
|
||||||
name: 'hasCoreVnl',
|
name: 'hasCoreVnl',
|
||||||
|
columnFilter: {
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
label: t('customer.extendedList.tableVisibleColumns.hasSepaVnl'),
|
label: t('customer.extendedList.tableVisibleColumns.hasSepaVnl'),
|
||||||
name: 'hasSepaVnl',
|
name: 'hasSepaVnl',
|
||||||
|
columnFilter: {
|
||||||
|
inWhere: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'right',
|
align: 'right',
|
||||||
|
|
|
@ -1,60 +0,0 @@
|
||||||
<script setup>
|
|
||||||
import { useI18n } from 'vue-i18n';
|
|
||||||
import { useRouter } from 'vue-router';
|
|
||||||
import CustomerSummary from '../Card/CustomerSummary.vue';
|
|
||||||
import { useSummaryDialog } from 'src/composables/useSummaryDialog';
|
|
||||||
|
|
||||||
const { t } = useI18n();
|
|
||||||
const router = useRouter();
|
|
||||||
const { viewSummary } = useSummaryDialog();
|
|
||||||
|
|
||||||
const $props = defineProps({
|
|
||||||
id: {
|
|
||||||
type: Number,
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const redirectToCreateView = () => {
|
|
||||||
router.push({
|
|
||||||
name: 'TicketList',
|
|
||||||
query: {
|
|
||||||
params: JSON.stringify({
|
|
||||||
clientFk: $props.id,
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
});
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
<QIcon
|
|
||||||
@click.stop="redirectToCreateView"
|
|
||||||
color="primary"
|
|
||||||
name="vn:ticket"
|
|
||||||
size="sm"
|
|
||||||
>
|
|
||||||
<QTooltip>
|
|
||||||
{{ t('Client ticket list') }}
|
|
||||||
</QTooltip>
|
|
||||||
</QIcon>
|
|
||||||
<QIcon
|
|
||||||
@click.stop="viewSummary($props.id, CustomerSummary)"
|
|
||||||
class="q-ml-md"
|
|
||||||
color="primary"
|
|
||||||
name="preview"
|
|
||||||
size="sm"
|
|
||||||
>
|
|
||||||
<QTooltip>
|
|
||||||
{{ t('Preview') }}
|
|
||||||
</QTooltip>
|
|
||||||
</QIcon>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<i18n>
|
|
||||||
es:
|
|
||||||
Client ticket list: Listado de tickets del cliente
|
|
||||||
Preview: Vista previa
|
|
||||||
</i18n>
|
|
|
@ -1,571 +0,0 @@
|
||||||
<script setup>
|
|
||||||
import { ref, computed } from 'vue';
|
|
||||||
import { useI18n } from 'vue-i18n';
|
|
||||||
|
|
||||||
import FetchData from 'components/FetchData.vue';
|
|
||||||
import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
|
|
||||||
import VnSelect from 'components/common/VnSelect.vue';
|
|
||||||
import VnInput from 'src/components/common/VnInput.vue';
|
|
||||||
import VnInputDate from 'components/common/VnInputDate.vue';
|
|
||||||
import { dateRange } from 'src/filters';
|
|
||||||
|
|
||||||
const props = defineProps({
|
|
||||||
dataKey: {
|
|
||||||
type: String,
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
visibleColumns: {
|
|
||||||
type: Array,
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const { t } = useI18n();
|
|
||||||
|
|
||||||
const clients = ref();
|
|
||||||
const workers = ref();
|
|
||||||
const countriesOptions = ref([]);
|
|
||||||
const provincesOptions = ref([]);
|
|
||||||
const paymethodsOptions = ref([]);
|
|
||||||
const businessTypesOptions = ref([]);
|
|
||||||
const sageTaxTypesOptions = ref([]);
|
|
||||||
const sageTransactionTypesOptions = ref([]);
|
|
||||||
|
|
||||||
const visibleColumnsSet = computed(() => new Set(props.visibleColumns));
|
|
||||||
|
|
||||||
const exprBuilder = (param, value) => {
|
|
||||||
switch (param) {
|
|
||||||
case 'created':
|
|
||||||
return {
|
|
||||||
'c.created': {
|
|
||||||
between: dateRange(value),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
case 'id':
|
|
||||||
case 'name':
|
|
||||||
case 'socialName':
|
|
||||||
case 'fi':
|
|
||||||
case 'credit':
|
|
||||||
case 'creditInsurance':
|
|
||||||
case 'phone':
|
|
||||||
case 'mobile':
|
|
||||||
case 'street':
|
|
||||||
case 'city':
|
|
||||||
case 'postcode':
|
|
||||||
case 'email':
|
|
||||||
case 'isActive':
|
|
||||||
case 'isVies':
|
|
||||||
case 'isTaxDataChecked':
|
|
||||||
case 'isEqualizated':
|
|
||||||
case 'isFreezed':
|
|
||||||
case 'hasToInvoice':
|
|
||||||
case 'hasToInvoiceByAddress':
|
|
||||||
case 'isToBeMailed':
|
|
||||||
case 'hasSepaVnl':
|
|
||||||
case 'hasLcr':
|
|
||||||
case 'hasCoreVnl':
|
|
||||||
case 'countryFk':
|
|
||||||
case 'provinceFk':
|
|
||||||
case 'salesPersonFk':
|
|
||||||
case 'businessTypeFk':
|
|
||||||
case 'payMethodFk':
|
|
||||||
case 'sageTaxTypeFk':
|
|
||||||
case 'sageTransactionTypeFk':
|
|
||||||
return { [`c.${param}`]: value };
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const shouldRenderColumn = (colName) => {
|
|
||||||
return visibleColumnsSet.value.has(colName);
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<FetchData
|
|
||||||
url="Clients"
|
|
||||||
:filter="{ where: { role: 'socialName' } }"
|
|
||||||
@on-fetch="(data) => (clients = data)"
|
|
||||||
auto-load
|
|
||||||
/>
|
|
||||||
<FetchData
|
|
||||||
url="Workers/activeWithInheritedRole"
|
|
||||||
:filter="{ where: { role: 'salesPerson' } }"
|
|
||||||
@on-fetch="(data) => (workers = data)"
|
|
||||||
auto-load
|
|
||||||
/>
|
|
||||||
<FetchData
|
|
||||||
url="Workers/activeWithInheritedRole"
|
|
||||||
:filter="{ where: { role: 'salesPerson' } }"
|
|
||||||
@on-fetch="(data) => (workers = data)"
|
|
||||||
auto-load
|
|
||||||
/>
|
|
||||||
<FetchData
|
|
||||||
url="Countries"
|
|
||||||
:filter="{ fields: ['id', 'country'], order: 'country ASC' }"
|
|
||||||
@on-fetch="(data) => (countriesOptions = data)"
|
|
||||||
auto-load
|
|
||||||
/>
|
|
||||||
<FetchData
|
|
||||||
ref="provincesFetchDataRef"
|
|
||||||
@on-fetch="(data) => (provincesOptions = data)"
|
|
||||||
auto-load
|
|
||||||
url="Provinces"
|
|
||||||
/>
|
|
||||||
<FetchData
|
|
||||||
url="Paymethods"
|
|
||||||
@on-fetch="(data) => (paymethodsOptions = data)"
|
|
||||||
auto-load
|
|
||||||
/>
|
|
||||||
<FetchData
|
|
||||||
url="BusinessTypes"
|
|
||||||
@on-fetch="(data) => (businessTypesOptions = data)"
|
|
||||||
auto-load
|
|
||||||
/>
|
|
||||||
<FetchData
|
|
||||||
url="SageTaxTypes"
|
|
||||||
auto-load
|
|
||||||
@on-fetch="(data) => (sageTaxTypesOptions = data)"
|
|
||||||
/>
|
|
||||||
<FetchData
|
|
||||||
url="sageTransactionTypes"
|
|
||||||
auto-load
|
|
||||||
@on-fetch="(data) => (sageTransactionTypesOptions = data)"
|
|
||||||
/>
|
|
||||||
<VnFilterPanel
|
|
||||||
:data-key="props.dataKey"
|
|
||||||
:search-button="true"
|
|
||||||
:expr-builder="exprBuilder"
|
|
||||||
>
|
|
||||||
<template #tags="{ tag, formatFn }">
|
|
||||||
<div class="q-gutter-x-xs">
|
|
||||||
<strong
|
|
||||||
>{{ t(`customer.extendedList.tableVisibleColumns.${tag.label}`) }}:
|
|
||||||
</strong>
|
|
||||||
<span>{{ formatFn(tag.value) }}</span>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template #body="{ params, searchFn }">
|
|
||||||
<QItem v-if="shouldRenderColumn('id')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnInput
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.id')"
|
|
||||||
v-model="params.id"
|
|
||||||
is-outlined
|
|
||||||
clearable
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('name')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnInput
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.name')"
|
|
||||||
v-model="params.name"
|
|
||||||
is-outlined
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<!-- <QItem class="q-mb-sm">
|
|
||||||
<QItemSection v-if="!clients">
|
|
||||||
<QSkeleton type="QInput" class="full-width" />
|
|
||||||
</QItemSection>
|
|
||||||
<QItemSection v-if="clients">
|
|
||||||
<VnSelect
|
|
||||||
:label="t('Social name')"
|
|
||||||
v-model="params.socialName"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:options="clients"
|
|
||||||
option-value="socialName"
|
|
||||||
option-label="socialName"
|
|
||||||
emit-value
|
|
||||||
map-options
|
|
||||||
use-input
|
|
||||||
hide-selected
|
|
||||||
dense
|
|
||||||
outlined
|
|
||||||
rounded
|
|
||||||
:input-debounce="0"
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem> -->
|
|
||||||
<QItem v-if="shouldRenderColumn('fi')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnInput
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.fi')"
|
|
||||||
v-model="params.fi"
|
|
||||||
is-outlined
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('salesPersonFk')">
|
|
||||||
<QItemSection v-if="!workers">
|
|
||||||
<QSkeleton type="QInput" class="full-width" />
|
|
||||||
</QItemSection>
|
|
||||||
<QItemSection v-if="workers">
|
|
||||||
<VnSelect
|
|
||||||
:label="
|
|
||||||
t('customer.extendedList.tableVisibleColumns.salesPersonFk')
|
|
||||||
"
|
|
||||||
v-model="params.salesPersonFk"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:options="workers"
|
|
||||||
option-value="id"
|
|
||||||
option-label="name"
|
|
||||||
emit-value
|
|
||||||
map-options
|
|
||||||
use-input
|
|
||||||
hide-selected
|
|
||||||
dense
|
|
||||||
outlined
|
|
||||||
rounded
|
|
||||||
:input-debounce="0"
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('credit')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnInput
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.credit')"
|
|
||||||
v-model="params.credit"
|
|
||||||
is-outlined
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('creditInsurance')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnInput
|
|
||||||
:label="
|
|
||||||
t('customer.extendedList.tableVisibleColumns.creditInsurance')
|
|
||||||
"
|
|
||||||
v-model="params.creditInsurance"
|
|
||||||
is-outlined
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('phone')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnInput
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.phone')"
|
|
||||||
v-model="params.phone"
|
|
||||||
is-outlined
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('mobile')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnInput
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.mobile')"
|
|
||||||
v-model="params.mobile"
|
|
||||||
is-outlined
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('street')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnInput
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.street')"
|
|
||||||
v-model="params.street"
|
|
||||||
is-outlined
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('countryFk')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnSelect
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.countryFk')"
|
|
||||||
v-model="params.countryFk"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:options="countriesOptions"
|
|
||||||
option-value="id"
|
|
||||||
option-label="country"
|
|
||||||
map-options
|
|
||||||
hide-selected
|
|
||||||
dense
|
|
||||||
outlined
|
|
||||||
rounded
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('provinceFk')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnSelect
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.provinceFk')"
|
|
||||||
v-model="params.provinceFk"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:options="provincesOptions"
|
|
||||||
option-value="id"
|
|
||||||
option-label="name"
|
|
||||||
map-options
|
|
||||||
hide-selected
|
|
||||||
dense
|
|
||||||
outlined
|
|
||||||
rounded
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('city')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnInput
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.city')"
|
|
||||||
v-model="params.city"
|
|
||||||
is-outlined
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('postcode')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnInput
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.postcode')"
|
|
||||||
v-model="params.postcode"
|
|
||||||
is-outlined
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('email')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnInput
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.email')"
|
|
||||||
v-model="params.email"
|
|
||||||
is-outlined
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
|
|
||||||
<QItem v-if="shouldRenderColumn('created')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnInputDate
|
|
||||||
v-model="params.created"
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.created')"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
is-outlined
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('businessTypeFk')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnSelect
|
|
||||||
:label="
|
|
||||||
t('customer.extendedList.tableVisibleColumns.businessTypeFk')
|
|
||||||
"
|
|
||||||
v-model="params.businessTypeFk"
|
|
||||||
:options="businessTypesOptions"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
option-value="code"
|
|
||||||
option-label="description"
|
|
||||||
map-options
|
|
||||||
hide-selected
|
|
||||||
dense
|
|
||||||
outlined
|
|
||||||
rounded
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('payMethodFk')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnSelect
|
|
||||||
:label="
|
|
||||||
t('customer.extendedList.tableVisibleColumns.payMethodFk')
|
|
||||||
"
|
|
||||||
v-model="params.payMethodFk"
|
|
||||||
:options="paymethodsOptions"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
option-value="id"
|
|
||||||
option-label="name"
|
|
||||||
map-options
|
|
||||||
hide-selected
|
|
||||||
dense
|
|
||||||
outlined
|
|
||||||
rounded
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('sageTaxTypeFk')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnSelect
|
|
||||||
:label="
|
|
||||||
t('customer.extendedList.tableVisibleColumns.sageTaxTypeFk')
|
|
||||||
"
|
|
||||||
v-model="params.sageTaxTypeFk"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:options="sageTaxTypesOptions"
|
|
||||||
option-value="id"
|
|
||||||
option-label="vat"
|
|
||||||
map-options
|
|
||||||
hide-selected
|
|
||||||
dense
|
|
||||||
outlined
|
|
||||||
rounded
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('sageTransactionTypeFk')">
|
|
||||||
<QItemSection>
|
|
||||||
<VnSelect
|
|
||||||
:label="
|
|
||||||
t(
|
|
||||||
'customer.extendedList.tableVisibleColumns.sageTransactionTypeFk'
|
|
||||||
)
|
|
||||||
"
|
|
||||||
v-model="params.sageTransactionTypeFk"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:options="sageTransactionTypesOptions"
|
|
||||||
option-value="id"
|
|
||||||
option-label="transaction"
|
|
||||||
map-options
|
|
||||||
hide-selected
|
|
||||||
dense
|
|
||||||
outlined
|
|
||||||
rounded
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('isActive') || shouldRenderColumn('isVies')">
|
|
||||||
<QItemSection v-if="shouldRenderColumn('isActive')">
|
|
||||||
<QCheckbox
|
|
||||||
v-model="params.isActive"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.isActive')"
|
|
||||||
toggle-indeterminate
|
|
||||||
:false-value="undefined"
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
<QItemSection v-if="shouldRenderColumn('isVies')">
|
|
||||||
<QCheckbox
|
|
||||||
v-model="params.isVies"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.isVies')"
|
|
||||||
toggle-indeterminate
|
|
||||||
:false-value="undefined"
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem
|
|
||||||
v-if="
|
|
||||||
shouldRenderColumn('isEqualizated') ||
|
|
||||||
shouldRenderColumn('isTaxDataChecked')
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<QItemSection v-if="shouldRenderColumn('isTaxDataChecked')">
|
|
||||||
<QCheckbox
|
|
||||||
v-model="params.isTaxDataChecked"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:label="
|
|
||||||
t(
|
|
||||||
'customer.extendedList.tableVisibleColumns.isTaxDataChecked'
|
|
||||||
)
|
|
||||||
"
|
|
||||||
toggle-indeterminate
|
|
||||||
:false-value="undefined"
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
<QItemSection v-if="shouldRenderColumn('isEqualizated')">
|
|
||||||
<QCheckbox
|
|
||||||
v-model="params.isEqualizated"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:label="
|
|
||||||
t('customer.extendedList.tableVisibleColumns.isEqualizated')
|
|
||||||
"
|
|
||||||
toggle-indeterminate
|
|
||||||
:false-value="undefined"
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem
|
|
||||||
v-if="
|
|
||||||
shouldRenderColumn('hasToInvoice') || shouldRenderColumn('isFreezed')
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<QItemSection v-if="shouldRenderColumn('isFreezed')">
|
|
||||||
<QCheckbox
|
|
||||||
v-model="params.isFreezed"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.isFreezed')"
|
|
||||||
toggle-indeterminate
|
|
||||||
:false-value="undefined"
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
<QItemSection v-if="shouldRenderColumn('hasToInvoice')">
|
|
||||||
<QCheckbox
|
|
||||||
v-model="params.hasToInvoice"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:label="
|
|
||||||
t('customer.extendedList.tableVisibleColumns.hasToInvoice')
|
|
||||||
"
|
|
||||||
toggle-indeterminate
|
|
||||||
:false-value="undefined"
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem
|
|
||||||
v-if="
|
|
||||||
shouldRenderColumn('isToBeMailed') ||
|
|
||||||
shouldRenderColumn('hasToInvoiceByAddress')
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<QItemSection v-if="shouldRenderColumn('hasToInvoiceByAddress')">
|
|
||||||
<QCheckbox
|
|
||||||
v-model="params.hasToInvoiceByAddress"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:label="
|
|
||||||
t(
|
|
||||||
'customer.extendedList.tableVisibleColumns.hasToInvoiceByAddress'
|
|
||||||
)
|
|
||||||
"
|
|
||||||
toggle-indeterminate
|
|
||||||
:false-value="undefined"
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
<QItemSection v-if="shouldRenderColumn('isToBeMailed')">
|
|
||||||
<QCheckbox
|
|
||||||
v-model="params.isToBeMailed"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:label="
|
|
||||||
t('customer.extendedList.tableVisibleColumns.isToBeMailed')
|
|
||||||
"
|
|
||||||
toggle-indeterminate
|
|
||||||
:false-value="undefined"
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem
|
|
||||||
v-if="shouldRenderColumn('hasLcr') || shouldRenderColumn('hasCoreVnl')"
|
|
||||||
>
|
|
||||||
<QItemSection v-if="shouldRenderColumn('hasLcr')">
|
|
||||||
<QCheckbox
|
|
||||||
v-model="params.hasLcr"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.hasLcr')"
|
|
||||||
toggle-indeterminate
|
|
||||||
:false-value="undefined"
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
<QItemSection v-if="shouldRenderColumn('hasCoreVnl')">
|
|
||||||
<QCheckbox
|
|
||||||
v-model="params.hasCoreVnl"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.hasCoreVnl')"
|
|
||||||
toggle-indeterminate
|
|
||||||
:false-value="undefined"
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-if="shouldRenderColumn('hasSepaVnl')">
|
|
||||||
<QItemSection>
|
|
||||||
<QCheckbox
|
|
||||||
v-model="params.hasSepaVnl"
|
|
||||||
@update:model-value="searchFn()"
|
|
||||||
:label="t('customer.extendedList.tableVisibleColumns.hasSepaVnl')"
|
|
||||||
toggle-indeterminate
|
|
||||||
:false-value="undefined"
|
|
||||||
/>
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
|
|
||||||
<QSeparator />
|
|
||||||
</template>
|
|
||||||
</VnFilterPanel>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<i18n>
|
|
||||||
es:
|
|
||||||
Social name: Razón social
|
|
||||||
</i18n>
|
|
Loading…
Reference in New Issue