add status dropdown and due tab

This commit is contained in:
makwanar587
2021-12-02 15:11:17 +05:30
parent d066efd3ce
commit cb2b5f0ca3

View File

@ -48,6 +48,18 @@
/> />
</BaseInputGroup> </BaseInputGroup>
<BaseInputGroup :label="$t('invoices.status')">
<BaseMultiselect
v-model="filters.status"
:groups="true"
:options="status"
searchable
:placeholder="$t('general.select_a_status')"
@update:modelValue="setActiveTab"
@remove="clearStatusSearch()"
/>
</BaseInputGroup>
<BaseInputGroup :label="$t('general.from')"> <BaseInputGroup :label="$t('general.from')">
<BaseDatePicker <BaseDatePicker
v-model="filters.from_date" v-model="filters.from_date"
@ -116,6 +128,7 @@
<!-- Tabs --> <!-- Tabs -->
<BaseTabGroup class="-mb-5" @change="setStatusFilter"> <BaseTabGroup class="-mb-5" @change="setStatusFilter">
<BaseTab :title="$t('general.draft')" filter="DRAFT" /> <BaseTab :title="$t('general.draft')" filter="DRAFT" />
<BaseTab :title="$t('general.due')" filter="DUE" />
<BaseTab :title="$t('general.sent')" filter="SENT" /> <BaseTab :title="$t('general.sent')" filter="SENT" />
<BaseTab :title="$t('general.all')" filter="" /> <BaseTab :title="$t('general.all')" filter="" />
</BaseTabGroup> </BaseTabGroup>
@ -265,12 +278,15 @@ const table = ref(null)
const showFilters = ref(false) const showFilters = ref(false)
const status = ref([ const status = ref([
'DRAFT', {
'SENT', label: 'Status',
'VIEWED', options: ['DRAFT', 'DUE', 'SENT', 'VIEWED', 'OVERDUE', 'COMPLETED'],
'EXPIRED', },
'ACCEPTED', {
'REJECTED', label: 'Paid Status',
options: ['UNPAID', 'PAID', 'PARTIALLY_PAID'],
},
,
]) ])
const isRequestOngoing = ref(true) const isRequestOngoing = ref(true)
const activeTab = ref('general.draft') const activeTab = ref('general.draft')
@ -357,6 +373,11 @@ function hasAtleastOneAbility() {
]) ])
} }
async function clearStatusSearch(removedOption, id) {
filters.status = ''
refreshTable()
}
function refreshTable() { function refreshTable() {
table.value && table.value.refresh() table.value && table.value.refresh()
} }
@ -404,6 +425,11 @@ function setStatusFilter(val) {
case t('general.sent'): case t('general.sent'):
filters.status = 'SENT' filters.status = 'SENT'
break break
case t('general.due'):
filters.status = 'DUE'
break
default: default:
filters.status = '' filters.status = ''
break break
@ -472,6 +498,35 @@ function setActiveTab(val) {
case 'SENT': case 'SENT':
activeTab.value = t('general.sent') activeTab.value = t('general.sent')
break break
case 'DUE':
activeTab.value = t('general.due')
break
case 'COMPLETED':
activeTab.value = t('invoices.completed')
break
case 'PAID':
activeTab.value = t('invoices.paid')
break
case 'UNPAID':
activeTab.value = t('invoices.unpaid')
break
case 'PARTIALLY_PAID':
activeTab.value = t('invoices.partially_paid')
break
case 'VIEWED':
activeTab.value = t('invoices.viewed')
break
case 'OVERDUE':
activeTab.value = t('invoices.overdue')
break
default: default:
activeTab.value = t('general.all') activeTab.value = t('general.all')
break break