|
@@ -1,46 +1,51 @@
|
|
|
<template>
|
|
<template>
|
|
|
<breadcrumbs style="margin-top: 29px; margin-bottom: 19px;" />
|
|
<breadcrumbs style="margin-top: 29px; margin-bottom: 19px;" />
|
|
|
- <entity-index v-if="mounted"
|
|
|
|
|
- ref="entityIndex"
|
|
|
|
|
- v-model:value="inputs"
|
|
|
|
|
- title="لیست دوره ها"
|
|
|
|
|
- :api="api"
|
|
|
|
|
- :table="table"
|
|
|
|
|
- :table-keys="tableKeys"
|
|
|
|
|
- :table-grid-size="$q.screen.lt.sm"
|
|
|
|
|
- :show-expand-button="false"
|
|
|
|
|
- :show-reload-button="false"
|
|
|
|
|
- :show-search-button="false">
|
|
|
|
|
- <template #entity-index-table-cell="{inputData}">
|
|
|
|
|
- <template v-if="inputData.col.name === 'number'">
|
|
|
|
|
- {{ inputData.rowNumber }}
|
|
|
|
|
- </template>
|
|
|
|
|
- <template v-else-if="inputData.col.name === 'action'">
|
|
|
|
|
- <q-btn size="md"
|
|
|
|
|
- color="primary"
|
|
|
|
|
- label="جزییات"
|
|
|
|
|
- :to="{name: 'UserPanel.Profile.ClassroomInfo', params: {id: inputData.props.row.classroom_info.id}}" />
|
|
|
|
|
- </template>
|
|
|
|
|
- <template v-else>
|
|
|
|
|
- {{ inputData.col.value }}
|
|
|
|
|
|
|
+ <template v-if="user.has_overdue_instalment">
|
|
|
|
|
+ <overdue-instalments />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-else>
|
|
|
|
|
+ <entity-index v-if="mounted"
|
|
|
|
|
+ ref="entityIndex"
|
|
|
|
|
+ v-model:value="inputs"
|
|
|
|
|
+ title="لیست دوره ها"
|
|
|
|
|
+ :api="api"
|
|
|
|
|
+ :table="table"
|
|
|
|
|
+ :table-keys="tableKeys"
|
|
|
|
|
+ :table-grid-size="$q.screen.lt.sm"
|
|
|
|
|
+ :show-expand-button="false"
|
|
|
|
|
+ :show-reload-button="false"
|
|
|
|
|
+ :show-search-button="false">
|
|
|
|
|
+ <template #entity-index-table-cell="{inputData}">
|
|
|
|
|
+ <template v-if="inputData.col.name === 'number'">
|
|
|
|
|
+ {{ inputData.rowNumber }}
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-else-if="inputData.col.name === 'action'">
|
|
|
|
|
+ <q-btn size="md"
|
|
|
|
|
+ color="primary"
|
|
|
|
|
+ label="جزییات"
|
|
|
|
|
+ :to="{name: 'UserPanel.Profile.ClassroomInfo', params: {id: inputData.props.row.classroom_info.id}}" />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-else>
|
|
|
|
|
+ {{ inputData.col.value }}
|
|
|
|
|
+ </template>
|
|
|
</template>
|
|
</template>
|
|
|
- </template>
|
|
|
|
|
- <template #entity-index-table-item-cell="{inputData}">
|
|
|
|
|
- <entity-index-grid-item :input-data="inputData">
|
|
|
|
|
- <template #col="{col, row}">
|
|
|
|
|
- <template v-if="col.name === 'number'">
|
|
|
|
|
- {{ inputData.rowNumber }}
|
|
|
|
|
- </template>
|
|
|
|
|
- <template v-else-if="col.name === 'action'">
|
|
|
|
|
- <q-btn size="md"
|
|
|
|
|
- color="primary"
|
|
|
|
|
- label="جزییات"
|
|
|
|
|
- :to="{name: 'UserPanel.Profile.ClassroomInfo', params: {id: row.classroom_info.id}}" />
|
|
|
|
|
|
|
+ <template #entity-index-table-item-cell="{inputData}">
|
|
|
|
|
+ <entity-index-grid-item :input-data="inputData">
|
|
|
|
|
+ <template #col="{col, row}">
|
|
|
|
|
+ <template v-if="col.name === 'number'">
|
|
|
|
|
+ {{ inputData.rowNumber }}
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-else-if="col.name === 'action'">
|
|
|
|
|
+ <q-btn size="md"
|
|
|
|
|
+ color="primary"
|
|
|
|
|
+ label="جزییات"
|
|
|
|
|
+ :to="{name: 'UserPanel.Profile.ClassroomInfo', params: {id: row.classroom_info.id}}" />
|
|
|
|
|
+ </template>
|
|
|
</template>
|
|
</template>
|
|
|
- </template>
|
|
|
|
|
- </entity-index-grid-item>
|
|
|
|
|
- </template>
|
|
|
|
|
- </entity-index>
|
|
|
|
|
|
|
+ </entity-index-grid-item>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </entity-index>
|
|
|
|
|
+ </template>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
@@ -48,6 +53,7 @@ import { shallowRef } from 'vue'
|
|
|
import { EntityIndex } from 'quasar-crud'
|
|
import { EntityIndex } from 'quasar-crud'
|
|
|
import Enums from 'src/assets/Enums/Enums.js'
|
|
import Enums from 'src/assets/Enums/Enums.js'
|
|
|
import { Invoice } from 'src/models/Invoice.js'
|
|
import { Invoice } from 'src/models/Invoice.js'
|
|
|
|
|
+import { mixinAuth } from 'src/mixin/Mixins.js'
|
|
|
import ShamsiDate from 'src/assets/ShamsiDate.js'
|
|
import ShamsiDate from 'src/assets/ShamsiDate.js'
|
|
|
import { APIGateway } from 'src/api/APIGateway.js'
|
|
import { APIGateway } from 'src/api/APIGateway.js'
|
|
|
import { FormBuilderAssist } from 'quasar-form-builder'
|
|
import { FormBuilderAssist } from 'quasar-form-builder'
|
|
@@ -55,6 +61,7 @@ import BtnControl from 'src/components/Control/btn.vue'
|
|
|
import { Registration } from 'src/models/Registration.js'
|
|
import { Registration } from 'src/models/Registration.js'
|
|
|
import EntityIndexGridItem from 'src/components/EntityIndexGridItem.vue'
|
|
import EntityIndexGridItem from 'src/components/EntityIndexGridItem.vue'
|
|
|
import Breadcrumbs from 'src/components/Widgets/Breadcrumbs/Breadcrumbs.vue'
|
|
import Breadcrumbs from 'src/components/Widgets/Breadcrumbs/Breadcrumbs.vue'
|
|
|
|
|
+import OverdueInstalments from 'src/components/Widgets/Invoice/OverdueInstalments/OverdueInstalments.vue'
|
|
|
|
|
|
|
|
const BtnControlComp = shallowRef(BtnControl)
|
|
const BtnControlComp = shallowRef(BtnControl)
|
|
|
|
|
|
|
@@ -63,8 +70,10 @@ export default {
|
|
|
components: {
|
|
components: {
|
|
|
EntityIndex,
|
|
EntityIndex,
|
|
|
Breadcrumbs,
|
|
Breadcrumbs,
|
|
|
|
|
+ OverdueInstalments,
|
|
|
EntityIndexGridItem
|
|
EntityIndexGridItem
|
|
|
},
|
|
},
|
|
|
|
|
+ mixins: [mixinAuth],
|
|
|
data () {
|
|
data () {
|
|
|
return {
|
|
return {
|
|
|
mounted: false,
|
|
mounted: false,
|
|
@@ -199,7 +208,6 @@ export default {
|
|
|
label: 'وضعیت مالی',
|
|
label: 'وضعیت مالی',
|
|
|
align: 'left',
|
|
align: 'left',
|
|
|
field: row => (new Invoice(row.invoice_info)).status_info.label ? (new Invoice(row.invoice_info)).status_info.label : '-'
|
|
field: row => (new Invoice(row.invoice_info)).status_info.label ? (new Invoice(row.invoice_info)).status_info.label : '-'
|
|
|
- // field: row => row.invoice_info ? this.getInvoiceStatusTitle(row.invoice_info) : 'نام مشخص'
|
|
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
name: 'action',
|
|
name: 'action',
|