Просмотр исходного кода

1. Financial management enhancement
https://dev.wormwood.com.sg/zentao/task-view-38.html

2. Fixed issues

vbea 2 лет назад
Родитель
Сommit
942ba68da8

+ 3 - 0
Strides-Admin/src/http/api/financial.js

@@ -69,6 +69,9 @@ const financial = {
   },
   },
   manualGenerationSettlement(data) {
   manualGenerationSettlement(data) {
     return post("financial/account-settlement/redo-account-settlement", data)
     return post("financial/account-settlement/redo-account-settlement", data)
+  },
+  getBillingTypeOptions() {
+    return get("dawn/api/v1/billing-type-select")
   }
   }
 }
 }
 
 

+ 7 - 2
Strides-Admin/src/views/access/index.vue

@@ -150,14 +150,19 @@ export default {
       this.table.loading = true;
       this.table.loading = true;
       api.getAccessPages(this.params).then(res => {
       api.getAccessPages(this.params).then(res => {
         if (res.data) {
         if (res.data) {
-          this.table.list = res.data
-          this.table.total = res.total
+          this.table.list = res.data;
+          this.table.total = res.total;
+        } else {
+          this.table.total = 0;
+          this.table.list = [];
         }
         }
       }).catch(err => {
       }).catch(err => {
         this.$message({
         this.$message({
           type: 'error',
           type: 'error',
           message: err
           message: err
         })
         })
+        this.table.total = 0;
+        this.table.list = [];
       }).finally(() => {
       }).finally(() => {
         this.table.loading = false
         this.table.loading = false
       })
       })

+ 3 - 0
Strides-Admin/src/views/driver/index.vue

@@ -188,6 +188,9 @@ export default {
       if (success) {
       if (success) {
         this.table.list = data
         this.table.list = data
         this.table.total = total
         this.table.total = total
+      } else {
+        this.table.total = 0;
+        this.table.list = [];
       }
       }
     },
     },
     onImportStart() {
     onImportStart() {

+ 5 - 0
Strides-Admin/src/views/financial/IdleFee.vue

@@ -214,6 +214,9 @@ export default {
         if (res.data) {
         if (res.data) {
           this.table.total = res.total
           this.table.total = res.total
           this.table.list = res.data
           this.table.list = res.data
+        } else {
+          this.table.total = 0;
+          this.table.list = [];
         }
         }
       }).catch(err => {
       }).catch(err => {
         this.loading = false;
         this.loading = false;
@@ -221,6 +224,8 @@ export default {
           message: err,
           message: err,
           type: 'error'
           type: 'error'
         })
         })
+        this.table.total = 0;
+        this.table.list = [];
       })
       })
     }
     }
   }
   }

+ 5 - 0
Strides-Admin/src/views/financial/TopUp.vue

@@ -227,6 +227,9 @@ export default {
         if (res.data) {
         if (res.data) {
           this.table.total = res.total
           this.table.total = res.total
           this.table.list = res.data
           this.table.list = res.data
+        } else {
+          this.table.total = 0;
+          this.table.list = [];
         }
         }
       }).catch(err => {
       }).catch(err => {
         this.loading = false;
         this.loading = false;
@@ -234,6 +237,8 @@ export default {
           message: err,
           message: err,
           type: 'error'
           type: 'error'
         })
         })
+        this.table.total = 0;
+        this.table.list = [];
       })
       })
     },
     },
     copyReference(data) {
     copyReference(data) {

+ 5 - 0
Strides-Admin/src/views/financial/index.vue

@@ -252,6 +252,9 @@ export default {
         if (res.data) {
         if (res.data) {
           this.table.total = res.total
           this.table.total = res.total
           this.table.list = res.data
           this.table.list = res.data
+        } else {
+          this.table.total = 0
+          this.table.list = []
         }
         }
       }).catch(err => {
       }).catch(err => {
         this.loading = false;
         this.loading = false;
@@ -259,6 +262,8 @@ export default {
           message: err,
           message: err,
           type: 'error'
           type: 'error'
         })
         })
+        this.table.total = 0
+        this.table.list = []
       })
       })
     },
     },
     viewTransiction(row) {
     viewTransiction(row) {

+ 6 - 1
Strides-Admin/src/views/financial/transactions.vue

@@ -164,13 +164,18 @@ export default {
         if (res.data) {
         if (res.data) {
           this.table.total = res.total
           this.table.total = res.total
           this.table.list = res.data
           this.table.list = res.data
+        } else {
+          this.table.total = 0
+          this.table.list = []
         }
         }
       }).catch(err => {
       }).catch(err => {
         this.loading = false;
         this.loading = false;
         this.$message({
         this.$message({
           message: err,
           message: err,
           type: 'error'
           type: 'error'
-        })
+        });
+        this.table.total = 0
+        this.table.list = []
       })
       })
     },
     },
   }
   }

+ 5 - 0
Strides-Admin/src/views/incident/connectivity.vue

@@ -173,12 +173,17 @@ export default {
         if (res.data) {
         if (res.data) {
           this.table.list = res.data
           this.table.list = res.data
           this.table.total = res.total
           this.table.total = res.total
+        } else {
+          this.table.total = 0;
+          this.table.list = [];
         }
         }
       }).catch(err => {
       }).catch(err => {
         this.$message({
         this.$message({
           type: 'error',
           type: 'error',
           message: err
           message: err
         })
         })
+        this.table.total = 0;
+        this.table.list = [];
       }).finally(() => {
       }).finally(() => {
         this.table.loading = false
         this.table.loading = false
       })
       })

+ 5 - 0
Strides-Admin/src/views/incident/error_table.vue

@@ -188,12 +188,17 @@ export default {
         if (success) {
         if (success) {
           this.tableList = data
           this.tableList = data
           this.total = total
           this.total = total
+        } else {
+          this.tableList = []
+          this.total = 0
         }
         }
       }).catch(err => {
       }).catch(err => {
         this.$message({
         this.$message({
           type: 'error',
           type: 'error',
           message: err
           message: err
         })
         })
+        this.tableList = []
+        this.total = 0
       }).finally(() => {
       }).finally(() => {
         this.listLoading = false
         this.listLoading = false
       })
       })

+ 5 - 0
Strides-Admin/src/views/incident/info.vue

@@ -136,12 +136,17 @@ export default {
         if (res.data) {
         if (res.data) {
           this.table.list = res.data
           this.table.list = res.data
           this.table.total = res.total
           this.table.total = res.total
+        } else {
+          this.table.total = 0;
+          this.table.list = [];
         }
         }
       }).catch(err => {
       }).catch(err => {
         this.$message({
         this.$message({
           type: 'error',
           type: 'error',
           message: err
           message: err
         })
         })
+        this.table.total = 0;
+        this.table.list = [];
       }).finally(() => {
       }).finally(() => {
         this.table.loading = false
         this.table.loading = false
       })
       })

+ 2 - 0
Strides-Admin/src/views/limit/CreditLimit.vue

@@ -188,6 +188,8 @@
             type: 'error',
             type: 'error',
             message: err
             message: err
           })
           })
+          this.tableList = []
+          this.total = 0
           this.listLoading = false;
           this.listLoading = false;
         });
         });
       },
       },

+ 5 - 0
Strides-Admin/src/views/notification/index.vue

@@ -135,12 +135,17 @@ export default {
         if (res.data) {
         if (res.data) {
           this.table.list = res.data
           this.table.list = res.data
           this.table.total = res.total
           this.table.total = res.total
+        } else {
+          this.table.total = 0;
+          this.table.list = [];
         }
         }
       }).catch(err => {
       }).catch(err => {
         this.$message({
         this.$message({
           type: 'error',
           type: 'error',
           message: err
           message: err
         })
         })
+        this.table.total = 0;
+        this.table.list = [];
       }).finally(() => {
       }).finally(() => {
         this.table.loading = false;
         this.table.loading = false;
       })
       })

+ 9 - 2
Strides-Admin/src/views/posDevice/index.vue

@@ -99,11 +99,18 @@ export default {
     getList() {
     getList() {
       api.getDevicePages(this.params).then(res => {
       api.getDevicePages(this.params).then(res => {
         this.table.loading = false;
         this.table.loading = false;
-        this.table.total = res.total;
-        this.table.data = res.data
+        if (res.data) {
+          this.table.total = res.total;
+          this.table.data = res.data
+        } else {
+          this.table.total = 0;
+          this.table.data = [];
+        }
       }).catch(err => {
       }).catch(err => {
         this.table.loading = false;
         this.table.loading = false;
         this.$message.error(err)
         this.$message.error(err)
+        this.table.total = 0;
+        this.table.data = [];
       });
       });
     },
     },
     addDevice() {
     addDevice() {

+ 3 - 0
Strides-Admin/src/views/rate-base/index.vue

@@ -152,6 +152,9 @@ export default {
         if (res.data && res.total) {
         if (res.data && res.total) {
           this.table.total = res.total;
           this.table.total = res.total;
           this.table.list = res.data;
           this.table.list = res.data;
+        } else {
+          this.table.total = 0;
+          this.table.list = [];
         }
         }
       }).catch(err => {
       }).catch(err => {
         this.$message({
         this.$message({

+ 3 - 0
Strides-Admin/src/views/rate-dynamic/index.vue

@@ -152,6 +152,9 @@ export default {
         if (res.data && res.total) {
         if (res.data && res.total) {
           this.table.total = res.total;
           this.table.total = res.total;
           this.table.list = res.data;
           this.table.list = res.data;
+        } else {
+          this.table.total = 0;
+          this.table.list = [];
         }
         }
       }).catch(err => {
       }).catch(err => {
         this.$message({
         this.$message({

+ 5 - 0
Strides-Admin/src/views/report/ReportV2.vue

@@ -372,12 +372,17 @@ export default {
             return report
             return report
           })
           })
           this.table.total = res.total
           this.table.total = res.total
+        } else {
+          this.table.total = 0;
+          this.table.data = [];
         }
         }
       }).catch(err => {
       }).catch(err => {
         this.$message({
         this.$message({
           message: err,
           message: err,
           type: 'error'
           type: 'error'
         })
         })
+        this.table.total = 0;
+        this.table.data = [];
       }).finally(() => {
       }).finally(() => {
         this.loading.table = false
         this.loading.table = false
       })
       })

+ 2 - 0
Strides-Admin/src/views/rfid/index.vue

@@ -205,6 +205,8 @@ export default {
       }).catch(err => {
       }).catch(err => {
         this.table.loading = false;
         this.table.loading = false;
         this.$message.error(err)
         this.$message.error(err)
+        this.table.total = 0;
+        this.table.data = [];
       });
       });
     },
     },
     addRfid() {
     addRfid() {

+ 5 - 0
Strides-Admin/src/views/settlement/AccountSetle.vue

@@ -79,6 +79,11 @@
         label="Amount"
         label="Amount"
         prop="amount"
         prop="amount"
         min-width="140"/>
         min-width="140"/>
+      <el-table-column
+        align="center"
+        label="Billing Type"
+        prop="billingType"
+        min-width="120"/>
       <el-table-column
       <el-table-column
         align="center"
         align="center"
         label="Status"
         label="Status"

+ 18 - 3
Strides-Admin/src/views/settlement/BillingAccount.vue

@@ -58,8 +58,18 @@
       <el-table-column
       <el-table-column
         align="center"
         align="center"
         label="Effective Date"
         label="Effective Date"
-        prop="effectiveDate"
-        min-width="150"/>
+        prop="effectiveDateRange"
+        min-width="150">
+        <template slot-scope="{row}">
+          <div
+            v-for="(item,index) in row.effectiveDateRange"
+            :key="index">
+            <span v-if="index==0">Start:</span>
+            <span v-else>&nbsp;End:</span>
+            {{item}}
+          </div>
+        </template>
+      </el-table-column>
       <el-table-column
       <el-table-column
         align="center"
         align="center"
         label="Billing Date"
         label="Billing Date"
@@ -70,11 +80,16 @@
         label="Update Date Time"
         label="Update Date Time"
         prop="updateDateTime"
         prop="updateDateTime"
         min-width="150"/>
         min-width="150"/>
+      <el-table-column
+        align="center"
+        label="Billing Type"
+        prop="billingType"
+        min-width="120"/>
       <el-table-column
       <el-table-column
         align="center"
         align="center"
         label="Status"
         label="Status"
         prop="status"
         prop="status"
-        min-width="120"/>
+        min-width="100"/>
       <el-table-column
       <el-table-column
         align="center"
         align="center"
         label="Action"
         label="Action"

+ 47 - 6
Strides-Admin/src/views/settlement/DetailAccount.vue

@@ -73,8 +73,7 @@
                   v-for="item in options.callingCode"
                   v-for="item in options.callingCode"
                   :key="item.callingCode"
                   :key="item.callingCode"
                   :label="'+' + item.callingCode"
                   :label="'+' + item.callingCode"
-                  :value="item.callingCode"
-                />
+                  :value="item.callingCode"/>
               </el-select>
               </el-select>
               <el-input
               <el-input
                 v-model="form.entityContactNumber"
                 v-model="form.entityContactNumber"
@@ -85,17 +84,25 @@
           </el-form-item>
           </el-form-item>
           <el-form-item
           <el-form-item
             label="Effective Date:">
             label="Effective Date:">
-            <el-date-picker
+            <!-- <el-date-picker
               v-model="form.entitySigningDate"
               v-model="form.entitySigningDate"
               class="add-text"
               class="add-text"
               format="yyyy-MM-dd"
               format="yyyy-MM-dd"
-              value-format="yyyy-MM-dd"/>
+              value-format="yyyy-MM-dd"/> -->
+            <el-date-picker
+              v-model="form.effectiveDateRange"
+              type="daterange"
+              value-format="yyyy-MM-dd"
+              start-placeholder="Start Date"
+              end-placeholder="End Date"
+              clearable
+              class="add-text"/>
           </el-form-item>
           </el-form-item>
           <el-form-item
           <el-form-item
             label="Billing Date:">
             label="Billing Date:">
             <div class="add-text flex">
             <div class="add-text flex">
               <el-select
               <el-select
-                style="width: 65px;"
+                style="min-width: 65px; max-width: 80px;"
                 v-model="form.entitySettlementDate"
                 v-model="form.entitySettlementDate"
                 placeholder="D/M">
                 placeholder="D/M">
                 <el-option
                 <el-option
@@ -105,10 +112,22 @@
                   :value="item"/>
                   :value="item"/>
               </el-select>
               </el-select>
               <div class="flex1 flexc" style="padding-left: 10px;">
               <div class="flex1 flexc" style="padding-left: 10px;">
-                <span style="font-size: 14px; font-weight: bold;">Of every subsequent month</span>
+                <span style="font-size: 14px; font-weight: bold; white-space: nowrap;">Of every subsequent month</span>
               </div>
               </div>
             </div>
             </div>
           </el-form-item>
           </el-form-item>
+          <el-form-item
+            label="Billing Type:">
+            <el-select
+              v-model="form.entityBillingType"
+              class="add-text">
+              <el-option
+                v-for="item in options.billingType"
+                :key="item"
+                :label="item"
+                :value="item" />
+            </el-select>
+          </el-form-item>
         </div>
         </div>
         <div class="flex1 card-content">
         <div class="flex1 card-content">
           <div class="section-title">Billing calculation details ({{currencyData[form.entityCountryCode]}})</div>
           <div class="section-title">Billing calculation details ({{currencyData[form.entityCountryCode]}})</div>
@@ -269,10 +288,12 @@ export default {
         entityCountryCode: settings.defaultCountry,
         entityCountryCode: settings.defaultCountry,
         entityCallingCode: settings.defaultCalling,
         entityCallingCode: settings.defaultCalling,
         entityType: "",
         entityType: "",
+        entityBillingType: "",
         entityContactName: "",
         entityContactName: "",
         entityContactEmail: "",
         entityContactEmail: "",
         entityContactNumber: "",
         entityContactNumber: "",
         entitySigningDate: "",
         entitySigningDate: "",
+        effectiveDateRange: [],
         entitySettlementDate: "",
         entitySettlementDate: "",
         items: [],
         items: [],
         tabulations: []
         tabulations: []
@@ -283,6 +304,7 @@ export default {
         country: [],
         country: [],
         itemType: [],
         itemType: [],
         accountType: [],
         accountType: [],
+        billingType: [],
         callingCode: []
         callingCode: []
       },
       },
       currencyData: {
       currencyData: {
@@ -296,6 +318,7 @@ export default {
     this.getCountryList();
     this.getCountryList();
     this.getItemTypeOptions();
     this.getItemTypeOptions();
     this.getAccountTypeOptions();
     this.getAccountTypeOptions();
+    this.getBilingTypeOptions();
     this.getBillingDateOptions();
     this.getBillingDateOptions();
     if (this.$route.params.id) {
     if (this.$route.params.id) {
       this.isEdit = true;
       this.isEdit = true;
@@ -349,12 +372,30 @@ export default {
       financial.getBillingAccountTypes().then(res => {
       financial.getBillingAccountTypes().then(res => {
         if (res.data) {
         if (res.data) {
           this.options.accountType = res.data
           this.options.accountType = res.data
+        } else {
+          this.options.accountType = []
+        }
+      }).catch(err => {
+        this.$message({
+          message: error,
+          type: 'error'
+        })
+        this.options.accountType = []
+      })
+    },
+    getBilingTypeOptions() {
+      financial.getBillingTypeOptions().then(res => {
+        if (res.data) {
+          this.options.billingType = res.data
+        } else {
+          this.options.billingType = []
         }
         }
       }).catch(err => {
       }).catch(err => {
         this.$message({
         this.$message({
           message: error,
           message: error,
           type: 'error'
           type: 'error'
         })
         })
+        this.options.billingType = []
       })
       })
     },
     },
     getItemTypeOptions() {
     getItemTypeOptions() {

+ 3 - 1
Strides-Admin/src/views/transaction/transactions.vue

@@ -34,7 +34,7 @@
           </el-select>
           </el-select>
           <div>
           <div>
             <el-date-picker
             <el-date-picker
-              v-model="filter.dateRange"
+              v-model="filter.pageVo.dateRange"
               type="daterange"
               type="daterange"
               range-separator="-"
               range-separator="-"
               start-placeholder="Start Date"
               start-placeholder="Start Date"
@@ -318,6 +318,8 @@ export default {
           type: "error",
           type: "error",
           message: err
           message: err
         })
         })
+        this.tableList = []
+        this.total = 0
       }).finally(() => {
       }).finally(() => {
         this.listLoading = false
         this.listLoading = false
       })
       })

+ 1 - 1
Strides-Admin/src/views/user/views/ListMember.vue

@@ -243,7 +243,7 @@ export default {
     onSubtItem(index) {
     onSubtItem(index) {
       let item = this.itemList[index]
       let item = this.itemList[index]
       if (item.membershipId) {
       if (item.membershipId) {
-        this.$confirm("Are you sure you want to delete this vehicle ?", "Delete", {
+        this.$confirm("Are you sure you want to delete this member ?", "Delete", {
           confirmButtonText: 'OK',
           confirmButtonText: 'OK',
           cancelButtonText: 'Cancel',
           cancelButtonText: 'Cancel',
           type: 'warning'
           type: 'warning'