Jelajahi Sumber

bug修复:活动报名选人界面添加人员后返回选择确认无反应问题

htc 4 hari lalu
induk
melakukan
3fe0dfaa3d
2 mengubah file dengan 25 tambahan dan 13 penghapusan
  1. 24 10
      pagesHome/applyMember.vue
  2. 1 3
      pagesHome/applyMemberVindicate.vue

+ 24 - 10
pagesHome/applyMember.vue

@@ -48,6 +48,7 @@
 	import CusHeader from '@/components/CusHeader/index.vue'
 	import PageEmpty from '@/components/pageEmpty/index.vue'
 	import { ref, onMounted, getCurrentInstance } from 'vue'
+	import { onShow } from '@dcloudio/uni-app'
 	const { proxy } = getCurrentInstance()
 	
 	const queryParams = ref({
@@ -57,6 +58,22 @@
 	})
 	const list = ref([])
 	const selectNum = ref(0)
+	const eventChannel = ref(null)
+	
+	onShow(()=>{
+		const ec = proxy.getOpenerEventChannel();
+		if (Object.keys(ec).length) {
+			 eventChannel.value = ec;
+		}
+		
+		try{
+			queryParams.value.userId = JSON.parse(uni.getStorageSync('userInfo')).id;
+			queryParams.value.page = 1;
+			list.value = [];
+			getMemberList()
+		}catch(e){
+		}
+	})
 	
 	const getMemberList = () => {
 		proxy.$api.get('/core/family/member/page',queryParams.value).then(({data:res})=>{
@@ -121,17 +138,14 @@
 	const confirmSelect = () => {
 		if(list.value.filter(l=>l.select).length===0) return proxy.$showToast('请至少选择一位人员')
 		let selectList = list.value.filter(l=>l.select);
-		proxy.getOpenerEventChannel().emit('selectMembers',selectList);
-		uni.navigateBack();
-	}
-	
-	onMounted(()=>{
-		try{
-			queryParams.value.userId = JSON.parse(uni.getStorageSync('userInfo')).id;
-			getMemberList()
-		}catch(e){
+		
+		if (eventChannel.value) {
+			eventChannel.value.emit('selectMembers', selectList);
+			uni.navigateBack();
+		}else {
+			uni.navigateBack();
 		}
-	})
+	}
 </script>
 
 <style scoped lang="scss">

+ 1 - 3
pagesHome/applyMemberVindicate.vue

@@ -93,9 +93,7 @@
 			if(res.code!==0) return proxy.$showToast(res.msg)
 			proxy.$showToast(memberInfo.value.id?'编辑成功':'添加成功')
 			setTimeout(()=>{
-				uni.redirectTo({
-					url:'/pagesHome/applyMember'
-				})
+				uni.navigateBack();
 			},1500)
 		})
 	}