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

Merge pull request #49 from John-Hong/John/release-2.5.0/SCRM-3447

【DE】【C端】临时停车微服务。缴费记录底部“查看更多”和“没有更多数据了”,不会根据用户缴费记录实际情况显示
Tron 2 лет назад
Родитель
Сommit
1cacb97d3d

+ 6 - 2
src/api/request.js

@@ -156,8 +156,12 @@ export const createAxiosByinterceptors = (config) => {
       console.log('response:', response);
       const { loading = true } = response.config;
       if (loading) cancelLoading();
-      const { code, data, message } = response.data;
-      console.log('62response', response);
+      const { code, data, message, langMessage } = response.data;
+      console.log('success response', response);
+      const codeList = ['010902']
+      if (codeList.indexOf(code) > -1) {
+        uni.showToast({ title: langMessage || message, duration: 3000, icon: 'fail' });
+      }
       // TODO: 临时注释
       // Promise.reject(response.data)
       return response.data;

+ 1 - 1
src/main.js

@@ -5,7 +5,7 @@ import VConsole from 'vconsole';
 
 // 或者使用配置参数来初始化,详情见文档
 // 开发环境和qa环境 打开debug
-const debug = /dev-|qa-/.test(window?.injectConfig?.api) || window.location.href.indexOf(8080) > -1;
+const debug = /dev-|qa-|sl-/.test(window?.injectConfig?.api) || window.location.href.indexOf('8080') > -1;
 if (debug) {
   window.vConsole = new VConsole(
     // { theme: 'dark' }

+ 2 - 2
src/pages/parkingFee/components/base/parkingFeeList.vue

@@ -56,7 +56,7 @@
 <!--        <div>{{ list.length === 4 ? '查看更多' : '没有更多数据了' }}</div>-->
         <!-- 为确保用户可以执行下滑动作,设置单次响应的数据量为4 -->
         <div
-        >{{ list.length === 4 && list.length < numberOfElements? '查看更多' : '没有更多数据了' }}
+        >{{ numberOfElements ? '查看更多' : '没有更多数据了' }}
         </div>
 <!--        <uni-icons-->
 <!--          v-if="list.length === 4"-->
@@ -64,7 +64,7 @@
 <!--          size="14"-->
 <!--          color="##b5b3b3"-->
 <!--        ></uni-icons>-->
-        <van-icon v-if="list.length === 4" name="arrow-down" />
+        <van-icon v-if="numberOfElements" name="arrow-down" />
       </div>
     </div>
   </scroll-view>

+ 1 - 1
src/pages/parkingFee/components/officeBlue/parkingFeeList.vue

@@ -41,7 +41,7 @@
       <div class="notice-info">
         <!-- 为确保用户可以执行下滑动作,设置单次响应的数据量为4 -->
         <div
-          >{{ list.length === 4 && list.length < numberOfElements? '查看更多' : '没有更多数据了' }}
+          >{{ numberOfElements? '查看更多' : '没有更多数据了' }}
         </div>
       </div>
     </div>

+ 1 - 1
src/pages/parkingFee/mixins/parkingFee.js

@@ -212,7 +212,7 @@ export default {
         const res = await parkingLots(this.$store.state.lbsId); // TODO: 临时写死
         console.log(res);
         let reg = /[;;]/g;
-        this.description = res.description.replace(reg, '\r\n').replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>');
+        this.description = res?.description?.replace(reg, '\r\n').replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>');
         this.supportUnlicensed = res.supportUnlicensed || false
         const carList = uni.getStorageSync('carList');
         if (carList) {

+ 34 - 30
src/pages/parkingFee/mixins/parkingFeeList.js

@@ -4,7 +4,7 @@ import LoginDom from '@/components/Login/Login.vue';
 import { wxToLoginCallback } from '@/utils';
 import { orders } from '@/api/parking';
 import orderMockData from '@/api/mockData/orders.json'
-import {ORDER_STATUS} from '@/common/js/BaseDictionary'
+import { ORDER_STATUS } from '@/common/js/BaseDictionary'
 
 let canloading = true;
 let pageNum = 0;
@@ -20,24 +20,24 @@ export default {
   data() {
     return {
       list: [],
-      numberOfElements: 0,
+      numberOfElements: 1,
       pageNum: 0,
     };
   },
   computed: {
     ...mapState({
-      mallId: (state) => state.mallId,
-      openId: (state) => state.openid,
-      member: (state) => state.member,
+      mallId: ( state ) => state.mallId,
+      openId: ( state ) => state.openid,
+      member: ( state ) => state.member,
     }),
   },
-  components: { LoginDom },
+  components: {LoginDom},
   mounted() {
     setTimeout(() => {
       uni.setNavigationBarTitle({
         title: '缴费记录',
       });
-    }, 301);
+    },301);
     this.$store.dispatch('clearUnlicensed');
     this.list = [];
     this.numberOfElements = 0;
@@ -46,33 +46,33 @@ export default {
     pageNum = 0;
     const member = uni.getStorageSync('member');
     this.loadData();
-    if(!uni.getStorageSync('loadData') && !member){
-      uni.setStorageSync('loadData', 'loadData')
-      wxToLoginCallback('parkingFeeList', (options) => {
+    if ( !uni.getStorageSync('loadData') && !member ) {
+      uni.setStorageSync('loadData','loadData')
+      wxToLoginCallback('parkingFeeList',( options ) => {
         this.loadData();
       });
     }
   },
   filters: {
-    parkingTime(val) {
+    parkingTime( val ) {
       const days = parseInt(val / 60 / 24);
-      const hours = parseInt((val / 60) % 24);
+      const hours = parseInt(( val / 60 ) % 24);
       const minutes = parseInt(val % 60);
-      if (days > 0) {
-        return `${days}天 ${hours}小时 ${minutes}分钟`;
+      if ( days > 0 ) {
+        return `${ days }天 ${ hours }小时 ${ minutes }分钟`;
       }
-      if (hours > 0) {
-        return `${hours}小时 ${minutes}分钟`;
+      if ( hours > 0 ) {
+        return `${ hours }小时 ${ minutes }分钟`;
       }
-      return `${minutes}分钟`;
+      return `${ minutes }分钟`;
     },
-    orderStatus(val) {
+    orderStatus( val ) {
       return ORDER_STATUS[val]
     }
   },
   methods: {
     bindscrolltolower: function () {
-      if (canloading) {
+      if ( canloading ) {
         pageNum++;
         this.loadData();
       }
@@ -87,20 +87,24 @@ export default {
         page: pageNum || 0,
         pageSize: 4,
       };
-      console.log(120, orderMockData);
+      console.log(120,orderMockData);
       try {
         const res = await orders({
           page: params.page,
           size: params.pageSize,
         })
-        console.log('res2', res);
+        console.log('res2',res);
         // const res = orderMockData
         const records = res.content || [];
         this.numberOfElements = records.numberOfElements
-        if (records.length) {
+        if ( records.length ) {
           const list = this.list;
-          this.list = [...list, ...records];
+          this.list = [...list,...records];
+          this.numberOfElements = 1
+        } else if ( records.length < params.pageSize ) {
+          this.numberOfElements = 0
         } else {
+          this.numberOfElements = 0
           this.initPage();
         }
         canloading = true;
@@ -129,9 +133,9 @@ export default {
         data: params,
         method: 'POST',
         header: JSON.parse(uni.getStorageSync('handleUser')),
-        success: (res) => {
+        success: ( res ) => {
           uni.hideLoading();
-          if (res.data.code !== 0) {
+          if ( res.data.code !== 0 ) {
             uni.showToast({
               title: res.data.msg,
               duration: 2000,
@@ -141,9 +145,9 @@ export default {
           } else {
             // 合并数据
             const records = res.data.data || [];
-            if (records.length) {
+            if ( records.length ) {
               const list = this.list;
-              this.list = [...list, ...records];
+              this.list = [...list,...records];
             } else {
               this.initPage();
             }
@@ -151,7 +155,7 @@ export default {
           }
           canloading = true;
         },
-        fail: (err) => {
+        fail: ( err ) => {
           uni.hideLoading();
           canloading = true;
           this.initPage();
@@ -166,12 +170,12 @@ export default {
     // 页码复原
     initPage: function () {
       pageNum--;
-      if (pageNum <= 0) {
+      if ( pageNum <= 0 ) {
         pageNum = 0;
       }
     },
     // 查看详情
-    toDetail(orderno) {
+    toDetail( orderno ) {
       this.$router.push({
         path: 'parkingFeeDetailSuccess?orderNo=' + orderno,
       });