Kaynağa Gözat

联调我的团长页面;
优化H5链接刷新丢失参数的问题;

郭鹏飞 10 ay önce
ebeveyn
işleme
e49dc8eb92

+ 7 - 4
pages/groupMeal/goods/list.vue

@@ -59,7 +59,6 @@
 				:style="{ paddingBottom: isManaging ? '120rpx' : '0' }"
 				:scroll-into-view="scrollIntoViewId"  
 				:scroll-with-animation="true"
-				@scroll="onScroll"  
 			>
 				<view class="goods-category-section" :id="category.scrollId" v-for="category in filteredGoods" :key="category.id">
 					<view class="category-title">{{ category.name }}</view>
@@ -88,6 +87,7 @@
 						</view>
 					</u-checkbox-group>
 				</view>
+				<u-empty text="暂无数据" mode="list" v-if="filteredGoods.length === 0"></u-empty>
 			</scroll-view>
 		</view>
 
@@ -215,23 +215,26 @@ export default {
 			else if (this.currentStatusTab == 2) {
 				params = {
 					status: 0,
+					reviewStatus: 1,
 				}
 			}
 			return params;
 		}
 	},
 	onLoad() {
-		// 获取商品数据
-		this.getData();
 		// 获取餐品分类
 		this.getClassData();
 	},
+	onShow() {
+		// 获取商品数据
+		this.getData();
+	},
 	methods: {
 		// 商品数据
 		getData() {
 			let params = {
 				pageNo: 1,
-				pageSize: 10,
+				pageSize: 100,
 				...this.initParams
 			};
 			this.$http.post('/groupmeal/gmMerchantPackage/pageList', params).then(res => {

+ 8 - 4
pages/groupMeal/users/team-member.vue

@@ -16,13 +16,14 @@
 				<ListScrollView 
 					ref="listScroll"
 					:api="api"
+					:noPage="true"
 				>
 					<template v-slot:list="{ data }">
-						<view class="user-item" v-for="(item, i) in 10" :key="i" @click="onClick">
+						<view class="user-item" v-for="(item, i) in data" :key="i" @click="onClick">
 							<u-avatar size="80" src="/static/product/user.png" />
 							<view class="user-info">
-								<view class="name">{{ item.nickName || '' }}</view>
-								<view class="phone">{{ item.phone || '' }}</view>
+								<view class="name">{{ item.headName || '' }}</view>
+								<view class="phone">{{ item.headPhone || '' }}</view>
 							</view>
 						</view>
 					</template>
@@ -40,7 +41,10 @@ export default {
 	},
     data() {
         return {
-			api: null,
+			api: {
+				url: '/groupmeal/gmMerchantHead/regimentalCommander',
+				method: 'GET',
+			},
         };
     },
     onLoad() {

+ 22 - 16
plugin/uni-simple-router/helpers/urlQuery.js

@@ -69,7 +69,11 @@ class ParseQuery {
         if (intact) {
             formatQuery = '?';
         }
-        formatQuery += `query=${encodeURIComponent(strQuery)}`;
+        // 保留query的原逻辑赋值,使用substring去除第一位的?
+        formatQuery += uni.$u.queryParams({
+            query: encodeURIComponent(strQuery),
+            ...query,
+        }).substring(1);
         return formatQuery;
     }
 
@@ -108,24 +112,26 @@ class ParseQuery {
     }
 
     queryGet(query) {
+        // 直接给原query参数进行重新赋值操作,以确保decode方法无误
+        query = { query: JSON.stringify(query) };
         const { encodeURI } = Global.Router.CONFIG; // 获取到路由配置
         let [decode, historyObj, strQuery] = [query, query, ''];
         switch (encodeURI) {
-        case true: { // 加密模式
-            decode = this.decode(query);
-            strQuery = this.encode(decode);
-            historyObj = {
-                query: encodeURIComponent(JSON.stringify(decode)),
-            };
-            break;
-        }
-        case false: { // 不加密模式
-            strQuery = this.stringify(query);
-            break;
-        }
-        default: {
-            err('未知参数模式,请检查 \'encodeURI\'', true);
-        }
+            case true: { // 加密模式
+                decode = this.decode(query);
+                strQuery = this.encode(decode);
+                historyObj = {
+                    query: encodeURIComponent(JSON.stringify(decode)),
+                };
+                break;
+            }
+            case false: { // 不加密模式
+                strQuery = this.stringify(query);
+                break;
+            }
+            default: {
+                err('未知参数模式,请检查 \'encodeURI\'', true);
+            }
         }
         return { strQuery, historyObj, decode };
     }

+ 3 - 2
plugin/uni-simple-router/helpers/util.js

@@ -187,7 +187,7 @@ export const exactRule = function (cloneRule, routes, ruleKey, getRule = false)
     let i = 0;
     // eslint-disable-next-line
     while (true) {
-        const item = routes[i];
+        let item = routes[i];
         if (item == null) {
             if (!getRule) {
                 err(`路由表中未查找到 '${ruleKey}' 为 '${cloneRule[ruleKey]}'`);
@@ -197,7 +197,8 @@ export const exactRule = function (cloneRule, routes, ruleKey, getRule = false)
                 name: '',
             };
         }
-        if (item[ruleKey] != null && item[ruleKey] === cloneRule[ruleKey]) {
+        let a = cloneRule[ruleKey].split('?');
+        if (item[ruleKey] != null && item[ruleKey] === a[0]) {
             if (!getRule) {
                 params.url = item.path;
                 params.rule = item;