mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-28 04:01:10 -04:00
add customer filter on index
This commit is contained in:
@ -37,8 +37,13 @@ class ExpensesController extends Controller
|
|||||||
->select('expenses.*', 'expense_categories.name')
|
->select('expenses.*', 'expense_categories.name')
|
||||||
->paginate($limit);
|
->paginate($limit);
|
||||||
|
|
||||||
|
$customers = User::customer()
|
||||||
|
->whereCompany($request->header('company'))
|
||||||
|
->get();
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'expenses' => $expenses,
|
'expenses' => $expenses,
|
||||||
|
'customers' => $customers,
|
||||||
'currency' => Currency::findOrFail(
|
'currency' => Currency::findOrFail(
|
||||||
CompanySetting::getSetting('currency', $request->header('company'))
|
CompanySetting::getSetting('currency', $request->header('company'))
|
||||||
)
|
)
|
||||||
|
|||||||
@ -412,6 +412,7 @@
|
|||||||
"title": "النفقات",
|
"title": "النفقات",
|
||||||
"expenses_list": "قائمة النفقات",
|
"expenses_list": "قائمة النفقات",
|
||||||
"expense_title": "Title",
|
"expense_title": "Title",
|
||||||
|
"select_a_customer": "حدد عميلاً",
|
||||||
"customer": "العميل",
|
"customer": "العميل",
|
||||||
"contact": "تواصل",
|
"contact": "تواصل",
|
||||||
"category": "الفئة",
|
"category": "الفئة",
|
||||||
|
|||||||
@ -201,6 +201,7 @@
|
|||||||
"action": "Aktion",
|
"action": "Aktion",
|
||||||
"add_expense": "Aufwendung hinzufügen",
|
"add_expense": "Aufwendung hinzufügen",
|
||||||
"add_new_expense": "Neue Aufwendung hinzufügen",
|
"add_new_expense": "Neue Aufwendung hinzufügen",
|
||||||
|
"select_a_customer": "Wählen Sie einen Kunden aus",
|
||||||
"amount": "Summe",
|
"amount": "Summe",
|
||||||
"categories": {
|
"categories": {
|
||||||
"actions": "Aktionen",
|
"actions": "Aktionen",
|
||||||
|
|||||||
@ -426,6 +426,7 @@
|
|||||||
"expenses": {
|
"expenses": {
|
||||||
"title": "Expenses",
|
"title": "Expenses",
|
||||||
"expenses_list": "Expenses List",
|
"expenses_list": "Expenses List",
|
||||||
|
"select_a_customer": "Select a customer",
|
||||||
"expense_title": "Title",
|
"expense_title": "Title",
|
||||||
"customer": "Customer",
|
"customer": "Customer",
|
||||||
"contact": "Contact",
|
"contact": "Contact",
|
||||||
|
|||||||
@ -413,6 +413,7 @@
|
|||||||
"expense_title": "Título",
|
"expense_title": "Título",
|
||||||
"contact": "Contacto",
|
"contact": "Contacto",
|
||||||
"customer": "Cliente",
|
"customer": "Cliente",
|
||||||
|
"select_a_customer": "Selecciona un cliente",
|
||||||
"category": "Categoría",
|
"category": "Categoría",
|
||||||
"from_date": "Desde la fecha",
|
"from_date": "Desde la fecha",
|
||||||
"to_date": "Hasta la fecha",
|
"to_date": "Hasta la fecha",
|
||||||
|
|||||||
@ -411,6 +411,7 @@
|
|||||||
"expense_title": "Titre",
|
"expense_title": "Titre",
|
||||||
"contact": "Contact",
|
"contact": "Contact",
|
||||||
"customer": "Client Client",
|
"customer": "Client Client",
|
||||||
|
"select_a_customer": "Sélectionnez un client",
|
||||||
"category": "Catégorie",
|
"category": "Catégorie",
|
||||||
"from_date": "A partir de la date",
|
"from_date": "A partir de la date",
|
||||||
"to_date": "À ce jour",
|
"to_date": "À ce jour",
|
||||||
|
|||||||
@ -43,7 +43,19 @@
|
|||||||
<transition name="fade">
|
<transition name="fade">
|
||||||
<div v-show="showFilters" class="filter-section">
|
<div v-show="showFilters" class="filter-section">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-3">
|
||||||
|
<label>{{ $t('expenses.customer') }}</label>
|
||||||
|
<base-select
|
||||||
|
v-model="filters.user"
|
||||||
|
:options="customers"
|
||||||
|
:searchable="true"
|
||||||
|
:show-labels="false"
|
||||||
|
:placeholder="$t('expenses.select_a_customer')"
|
||||||
|
label="name"
|
||||||
|
@click="filter = ! filter"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
<label>{{ $t('expenses.category') }}</label>
|
<label>{{ $t('expenses.category') }}</label>
|
||||||
<base-select
|
<base-select
|
||||||
v-model="filters.category"
|
v-model="filters.category"
|
||||||
@ -55,7 +67,7 @@
|
|||||||
@click="filter = ! filter"
|
@click="filter = ! filter"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-3">
|
||||||
<label>{{ $t('expenses.from_date') }}</label>
|
<label>{{ $t('expenses.from_date') }}</label>
|
||||||
<base-date-picker
|
<base-date-picker
|
||||||
v-model="filters.from_date"
|
v-model="filters.from_date"
|
||||||
@ -63,7 +75,7 @@
|
|||||||
calendar-button-icon="calendar"
|
calendar-button-icon="calendar"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-3">
|
||||||
<label>{{ $t('expenses.to_date') }}</label>
|
<label>{{ $t('expenses.to_date') }}</label>
|
||||||
<base-date-picker
|
<base-date-picker
|
||||||
v-model="filters.to_date"
|
v-model="filters.to_date"
|
||||||
@ -237,10 +249,12 @@ export default {
|
|||||||
showFilters: false,
|
showFilters: false,
|
||||||
filtersApplied: false,
|
filtersApplied: false,
|
||||||
isRequestOngoing: true,
|
isRequestOngoing: true,
|
||||||
|
customers: [],
|
||||||
filters: {
|
filters: {
|
||||||
category: null,
|
category: null,
|
||||||
from_date: '',
|
from_date: '',
|
||||||
to_date: ''
|
to_date: '',
|
||||||
|
user: ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -308,6 +322,7 @@ export default {
|
|||||||
]),
|
]),
|
||||||
async fetchData ({ page, filter, sort }) {
|
async fetchData ({ page, filter, sort }) {
|
||||||
let data = {
|
let data = {
|
||||||
|
user_id: this.filters.user ? this.filters.user.id : null,
|
||||||
expense_category_id: this.filters.category !== null ? this.filters.category.id : '',
|
expense_category_id: this.filters.category !== null ? this.filters.category.id : '',
|
||||||
from_date: this.filters.from_date === '' ? this.filters.from_date : moment(this.filters.from_date).format('DD/MM/YYYY'),
|
from_date: this.filters.from_date === '' ? this.filters.from_date : moment(this.filters.from_date).format('DD/MM/YYYY'),
|
||||||
to_date: this.filters.to_date === '' ? this.filters.to_date : moment(this.filters.to_date).format('DD/MM/YYYY'),
|
to_date: this.filters.to_date === '' ? this.filters.to_date : moment(this.filters.to_date).format('DD/MM/YYYY'),
|
||||||
@ -318,6 +333,7 @@ export default {
|
|||||||
|
|
||||||
this.isRequestOngoing = true
|
this.isRequestOngoing = true
|
||||||
let response = await this.fetchExpenses(data)
|
let response = await this.fetchExpenses(data)
|
||||||
|
this.customers = response.data.customers
|
||||||
this.isRequestOngoing = false
|
this.isRequestOngoing = false
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@ -340,7 +356,8 @@ export default {
|
|||||||
this.filters = {
|
this.filters = {
|
||||||
category: null,
|
category: null,
|
||||||
from_date: '',
|
from_date: '',
|
||||||
to_date: ''
|
to_date: '',
|
||||||
|
user: null
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user