Browse Source

fixed #42

ali 3 years ago
parent
commit
181a381b22

+ 14 - 7
src/components/Widgets/Invoice/AdminInvoiceList/AdminInvoiceList.vue

@@ -16,7 +16,7 @@
         <template v-if="inputData.col.name === 'action'">
           <q-btn color="primary"
                  :to="{name: 'Admin.Invoice.Show', params: {id: inputData.props.row.id}}">
-            مشاهده جزییات
+            جزییات جزییات
           </q-btn>
         </template>
         <template v-else>
@@ -81,11 +81,18 @@ export default {
             field: row => row.id
           },
           {
-            name: 'title',
+            name: 'id',
+            required: true,
+            label: 'سفارش دهنده',
+            align: 'left',
+            field: row => row.owner_info.firstname + ' ' + row.owner_info.lastname
+          },
+          {
+            name: 'id',
             required: true,
-            label: 'عنوان',
+            label: 'نوع صورتحساب',
             align: 'left',
-            field: row => row.title
+            field: row => (new Invoice(row)).type_info.label
           },
           {
             name: 'amount',
@@ -95,9 +102,9 @@ export default {
             field: row => row.amount.toLocaleString('fa')
           },
           {
-            name: 'status',
+            name: 'id',
             required: true,
-            label: 'وضعیت',
+            label: 'وضعیت تراکنش',
             align: 'left',
             field: row => (new Invoice(row)).status_info.label
           },
@@ -113,7 +120,7 @@ export default {
             required: true,
             label: 'زمان آخرین بروز رسانی',
             align: 'left',
-            field: row => Assist.miladiToShamsi(row.creation_time)
+            field: row => Assist.miladiToShamsi(row.last_modification_time)
           },
           {
             name: 'action',

+ 101 - 33
src/models/Invoice.js

@@ -38,42 +38,110 @@ class Invoice extends Model {
       }
     ])
 
-    this.statusEnums = [
-      {
-        label: 'در حال تأیید',
-        value: 'VERIFYING'
-      },
-      {
-        label: 'لغو شد',
-        value: 'CANCELED'
-      },
-      {
-        label: 'تأیید نشده',
-        value: 'NOT_VERIFIED'
-      },
-      {
-        label: 'درحال پرداخت',
-        value: 'PAYING'
-      },
-      {
-        label: 'درحال تایید پرداخت',
-        value: 'TRANSACTION_VERIFYING'
-      },
-      {
-        label: 'پرداخت شده',
-        value: 'PAID_FULL'
-      },
-      {
-        label: 'درحال پرداخت اقساط',
-        value: 'PAYING_IN_INSTALMENT'
+    this.enumKeysForLoad = {
+      status: {
+        infoKey: 'status_info',
+        enums: [
+          {
+            label: 'در حال تأیید',
+            value: 'VERIFYING'
+          },
+          {
+            label: 'لغو شد',
+            value: 'CANCELED'
+          },
+          {
+            label: 'تأیید نشده',
+            value: 'NOT_VERIFIED'
+          },
+          {
+            label: 'درحال پرداخت',
+            value: 'PAYING'
+          },
+          {
+            label: 'درحال تایید پرداخت',
+            value: 'TRANSACTION_VERIFYING'
+          },
+          {
+            label: 'پرداخت شده',
+            value: 'PAID_FULL'
+          },
+          {
+            label: 'درحال پرداخت اقساط',
+            value: 'PAYING_IN_INSTALMENT'
+          },
+          {
+            label: 'اقساط پرداخت شده',
+            value: 'PAID_IN_INSTALMENT'
+          }
+        ]
       },
-      {
-        label: 'اقساط پرداخت شده',
-        value: 'PAID_IN_INSTALMENT'
+      type: {
+        infoKey: 'type_info',
+        enums: [
+          {
+            label: 'دوره آموزشی',
+            value: 'CLASSROOM'
+          }
+        ]
       }
-    ]
+    }
+    //
+    // this.statusEnums = [
+    //   {
+    //     label: 'در حال تأیید',
+    //     value: 'VERIFYING'
+    //   },
+    //   {
+    //     label: 'لغو شد',
+    //     value: 'CANCELED'
+    //   },
+    //   {
+    //     label: 'تأیید نشده',
+    //     value: 'NOT_VERIFIED'
+    //   },
+    //   {
+    //     label: 'درحال پرداخت',
+    //     value: 'PAYING'
+    //   },
+    //   {
+    //     label: 'درحال تایید پرداخت',
+    //     value: 'TRANSACTION_VERIFYING'
+    //   },
+    //   {
+    //     label: 'پرداخت شده',
+    //     value: 'PAID_FULL'
+    //   },
+    //   {
+    //     label: 'درحال پرداخت اقساط',
+    //     value: 'PAYING_IN_INSTALMENT'
+    //   },
+    //   {
+    //     label: 'اقساط پرداخت شده',
+    //     value: 'PAID_IN_INSTALMENT'
+    //   }
+    // ]
+    //
+    // this.loadStatusInfo()
+    this.loadEnums()
+  }
+
+  loadEnums () {
+    Object.keys(this.enumKeysForLoad).forEach(enumKey => {
+      this.loadEnum(enumKey, this.enumKeysForLoad[enumKey])
+    })
+  }
 
-    this.loadStatusInfo()
+  loadEnum (enumKey, enumItem) {
+    const target = enumItem.enums.find(type => type.value === this[enumKey])
+    if (!target) {
+      this[enumItem.infoKey] = {
+        label: null,
+        value: null
+      }
+    } else {
+      this[enumItem.infoKey] = target
+    }
   }
 
   loadStatusInfo () {