mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-28 04:01:10 -04:00
add scroll to load invoices and fixed limited category and customer issue in payment and expense
This commit is contained in:
@ -77,6 +77,7 @@
|
||||
label="name"
|
||||
track-by="id"
|
||||
:options="searchCategory"
|
||||
v-if="!isFetchingInitialData"
|
||||
:filter-results="false"
|
||||
resolve-on-load
|
||||
:delay="500"
|
||||
@ -180,6 +181,7 @@
|
||||
label="name"
|
||||
track-by="id"
|
||||
:options="searchCustomer"
|
||||
v-if="!isFetchingInitialData"
|
||||
:filter-results="false"
|
||||
resolve-on-load
|
||||
:delay="500"
|
||||
@ -280,7 +282,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, computed, onMounted } from 'vue'
|
||||
import { ref, computed, onMounted, onBeforeUnmount } from 'vue'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import {
|
||||
@ -413,11 +415,25 @@ function onCurrencyChange(v) {
|
||||
|
||||
async function searchCategory(search) {
|
||||
let res = await categoryStore.fetchCategories({ search })
|
||||
if(res.data.data.length>0 && categoryStore.editCategory) {
|
||||
let checkCategoryExist = res.data.data.find((c) => c.id==categoryStore.editCategory.id)
|
||||
if(!checkCategoryExist) {
|
||||
let edit_category = Object.assign({}, categoryStore.editCategory)
|
||||
res.data.data.push(edit_category)
|
||||
}
|
||||
}
|
||||
return res.data.data
|
||||
}
|
||||
|
||||
async function searchCustomer(search) {
|
||||
let res = await customerStore.fetchCustomers({ search })
|
||||
if(res.data.data.length>0 && customerStore.editCustomer) {
|
||||
let checkCustomerExist = res.data.data.find((c) => c.id==customerStore.editCustomer.id)
|
||||
if(!checkCustomerExist) {
|
||||
let edit_customer = Object.assign({}, customerStore.editCustomer)
|
||||
res.data.data.push(edit_customer)
|
||||
}
|
||||
}
|
||||
return res.data.data
|
||||
}
|
||||
|
||||
@ -433,10 +449,21 @@ async function loadData() {
|
||||
await expenseStore.fetchPaymentModes({ limit: 'all' })
|
||||
|
||||
if (isEdit.value) {
|
||||
await expenseStore.fetchExpense(route.params.id)
|
||||
const expenseData = await expenseStore.fetchExpense(route.params.id)
|
||||
|
||||
expenseStore.currentExpense.currency_id =
|
||||
expenseStore.currentExpense.selectedCurrency.id
|
||||
|
||||
if(expenseData.data) {
|
||||
if(!categoryStore.editCategory && expenseData.data.data.expense_category) {
|
||||
categoryStore.editCategory = expenseData.data.data.expense_category
|
||||
}
|
||||
|
||||
if(!customerStore.editCustomer && expenseData.data.data.customer) {
|
||||
customerStore.editCustomer = expenseData.data.data.customer
|
||||
}
|
||||
}
|
||||
|
||||
} else if (route.query.customer) {
|
||||
expenseStore.currentExpense.customer_id = route.query.customer
|
||||
}
|
||||
@ -472,4 +499,10 @@ async function submitForm() {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
expenseStore.resetCurrentExpenseData()
|
||||
customerStore.editCustomer = null
|
||||
categoryStore.editCategory = null
|
||||
})
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user