瀏覽代碼

bug修改

liurongli 1 月之前
父節點
當前提交
17a992f6aa

+ 6 - 2
components/navBar.vue

@@ -23,7 +23,7 @@
 			</template>
 		</view>
 		<!-- 条件选择器 -->
-		<view class="filter_picker" v-if="showFilterPicker">
+		<view :class="['filter_picker',`len${PickerDataLens}`]" v-if="showFilterPicker">
 			<template v-for="(item,index) in filterPickerData" :key="index">
 				<picker class="item_filter_picker" mode="selector" v-if="item?.list?.length > 0" :range="item.list" :value="item.valueIndex" range-key="label" style="width: calc((100% - 32rpx * 2) / 3);" @change="(e)=>ChangeFilterPicker(e,index)">
 					<view class="filter_item">
@@ -61,7 +61,8 @@
 	import {
 		reactive,
 		onMounted,
-		watch
+		watch,
+		computed
 	} from 'vue';
 	const emit = defineEmits(['GoBack','CommonFilterData']);
 	const props = defineProps({
@@ -153,6 +154,9 @@
 		},
 		searchInputPlaceholderStyle: 'color: #C0C4CC;fontSize: 28rpx' //搜索框样式
 	})
+	const PickerDataLens = computed(()=>{
+		return props.filterPickerData.filter(item=>item?.list?.length > 0)?.length || 0;
+	})
 	watch(()=>props.tabList,(newVal, oldVal)=>{
 		if(newVal){
 			const firstValue = props?.tabList?.[0]?.value ?? '';

+ 1 - 1
components/popupPreviewFile.vue

@@ -39,7 +39,7 @@
 	const state = reactive({});
 	const popupDialog = ref(null);
 	onLoad(() => {
-		console.log(props.fileType,999)
+		// console.log(props.fileType,999)
 		if(props.fileType=='video'){
 			const instance = getCurrentInstance();
 			videoCtx.value = uni.createVideoContext('fileVideo', instance.proxy);

+ 28 - 44
pages/materialCollection/reviewMaterial/auditDetail.vue

@@ -170,41 +170,23 @@
 	const checkTextOverflow = () => {
 		nextTick(() => {
 			const instance = getCurrentInstance();
-			// 安全保护
-			if (!instance || !instance.proxy) {
-				// 备用方案:全局查询(要求元素 class 唯一)
-				let taskDescAllHeight = 0,
-					taskDescHeight = 0;
-				const query = uni.createSelectorQuery();
-				query.select('.task_desc_all').boundingClientRect((rect) => {
-					taskDescAllHeight = rect?.height || 0;
-				});
-				query.select('.task_desc').boundingClientRect((rect) => {
-					taskDescHeight = rect?.height || 0;
-				});
-				query.select('.page_content_data').boundingClientRect((rect) => {
-					state.searchBoxTop = rect?.top || 0;
-				});
-				query.exec(() => {
-					// 所有回调执行完毕后触发
-					state.showExpandBtn = taskDescAllHeight > taskDescHeight + 1;
-				});
-				return;
-			}
-			let taskDescAllHeight = 0,
-				taskDescHeight = 0;
-			const query = uni.createSelectorQuery().in(instance.proxy);
-			query.select('.task_desc_all').boundingClientRect((rect) => {
-				taskDescAllHeight = rect?.height || 0;
-			});
-			query.select('.task_desc').boundingClientRect((rect) => {
-				taskDescHeight = rect?.height || 0;
-			});
-			query.select('.page_content_data').boundingClientRect((rect) => {
-				state.searchBoxTop = rect?.top || 0;
-			});
-			query.exec(() => {
-				// 所有回调执行完毕后触发
+			const query = instance && instance.proxy 
+				? uni.createSelectorQuery().in(instance.proxy) 
+				: uni.createSelectorQuery();
+			
+			query.select('.task_desc_all').boundingClientRect();
+			query.select('.task_desc').boundingClientRect();
+			query.select('.page_content_data').boundingClientRect();
+			
+			query.exec((res) => {
+				const rectAll = res[0];
+				const rectShort = res[1];
+				const rectPageData = res[2];
+			
+				const taskDescAllHeight = rectAll?.height || 0;
+				const taskDescHeight = rectShort?.height || 0;
+				state.searchBoxTop = rectPageData?.top || 0;
+			
 				state.showExpandBtn = taskDescAllHeight > taskDescHeight + 1;
 			});
 		});
@@ -214,15 +196,17 @@
 		state.isExpand = !state.isExpand;
 		nextTick(() => {
 			const instance = getCurrentInstance();
-			// 安全保护
-			if (!instance || !instance.proxy) {
-				// 备用方案:全局查询(要求元素 class 唯一)
-				query.select('.page_content_data').boundingClientRect((rect) => {
-					state.searchBoxTop = rect?.top || 0;
-				});
-				return;
-			}
-			query.select('.page_content_data').boundingClientRect((rect) => {
+			// 自动选择查询上下文,消除重复if‑else
+			const query = instance && instance.proxy
+				? uni.createSelectorQuery().in(instance.proxy)
+				: uni.createSelectorQuery();
+			
+			// 只注册查询,不在回调做赋值
+			query.select('.page_content_data').boundingClientRect();
+			
+			// exec才真正执行查询,res[0]对应上面select的结果
+			query.exec((res) => {
+				const rect = res?.[0];
 				state.searchBoxTop = rect?.top || 0;
 			});
 		});

+ 13 - 1
pages/materialCollection/reviewMaterial/index.vue

@@ -526,8 +526,20 @@ onUnmounted(() => {
 }
 :deep(.filter_picker){
 	gap: 16rpx !important;
+	&.len2{
+		.item_filter_picker{
+			&:first-child{
+				flex:1;
+				max-width: 39%;
+			}
+			width: calc((100% - 16rpx * 2) / 3) !important;
+		}
+	}
 	.item_filter_picker{
-		width: calc((100% - 16rpx * 2) / 3) !important;
+		&:first-child{
+			flex:1;
+		}
+		width: calc((100% - 16rpx * 6) / 3) !important;
 	}
 }
 .task_status_list{

+ 13 - 1
pages/materialCollection/submitMaterial/index.vue

@@ -536,8 +536,20 @@
 }
 :deep(.filter_picker){
 	gap: 16rpx !important;
+	&.len2{
+		.item_filter_picker{
+			&:first-child{
+				flex:1;
+				max-width: 39%;
+			}
+			width: calc((100% - 16rpx * 2) / 3) !important;
+		}
+	}
 	.item_filter_picker{
-		width: calc((100% - 16rpx * 2) / 3) !important;
+		&:first-child{
+			flex:1;
+		}
+		width: calc((100% - 16rpx * 6) / 3) !important;
 	}
 }
 .task_status_list{

+ 24 - 31
pages/materialCollection/submitMaterial/submitDetail.vue

@@ -98,7 +98,7 @@
 				<view class="upload_box" v-if="(state?.targetFileList?.targetStatus === 2 || state?.targetFileList?.targetStatus === 4) && state?.details?.taskStatus !== 2">
 					<image class="upload_icon" src="@/static/image/icon/upload_locked.png"></image>
 					<view class="upload_text">
-						<view class="upload_title">点击重新编辑可再提交</view>
+						<view class="upload_title">请删除全部文件,再重新提交。</view>
 						<view class="upload_desc">支持Word、Excel、PPT、图片(最大100MB)</view>
 					</view>
 				</view>
@@ -175,7 +175,7 @@
 				<view :class="['submit',{'disabled':state?.targetFileList?.targetStatus === 3}]" @click="UpdateTaskTarget">提交</view>
 			</template>
 			<template v-else>
-				<view class="del disabled">删除全部</view>
+				<view @click="DeleteAllFiles" :class="['del',{'disabled':!state?.targetFileList?.taskTargetFileVos?.length}]">删除全部</view>
 				<view class="submit" @click="UpdateTaskTargetReset">重新编辑</view>
 			</template>
 		</view>
@@ -389,35 +389,20 @@
 	const checkTextOverflow = () => {
 		nextTick(() => {
 			const instance = getCurrentInstance();
-			// 安全保护
-			if (!instance || !instance.proxy) {
-				// 备用方案:全局查询(要求元素 class 唯一)
-				let taskDescAllHeight = 0,
-					taskDescHeight = 0;
-				const query = uni.createSelectorQuery();
-				query.select('.task_desc_all').boundingClientRect((rect) => {
-					taskDescAllHeight = rect?.height || 0;
-				});
-				query.select('.task_desc').boundingClientRect((rect) => {
-					taskDescHeight = rect?.height || 0;
-				});
-				query.exec(() => {
-					// 所有回调执行完毕后触发
-					state.showExpandBtn = taskDescAllHeight > taskDescHeight + 1;
-				});
-				return;
-			}
-			let taskDescAllHeight = 0,
-				taskDescHeight = 0;
-			const query = uni.createSelectorQuery().in(instance.proxy);
-			query.select('.task_desc_all').boundingClientRect((rect) => {
-				taskDescAllHeight = rect?.height || 0;
-			});
-			query.select('.task_desc').boundingClientRect((rect) => {
-				taskDescHeight = rect?.height || 0;
-			});
-			query.exec(() => {
-				// 所有回调执行完毕后触发
+			const query = instance && instance.proxy 
+				? uni.createSelectorQuery().in(instance.proxy) 
+				: uni.createSelectorQuery();
+			
+			query.select('.task_desc_all').boundingClientRect();
+			query.select('.task_desc').boundingClientRect();
+			
+			query.exec((res) => {
+				const rectAll = res[0];
+				const rectShort = res[1];
+			
+				const taskDescAllHeight = rectAll?.height || 0;
+				const taskDescHeight = rectShort?.height || 0;
+			
 				state.showExpandBtn = taskDescAllHeight > taskDescHeight + 1;
 			});
 		});
@@ -491,6 +476,14 @@
 	}
 	//重新提交
 	const UpdateTaskTargetReset = () => {
+		// 审核中/已提交重新编辑前必须先清空附件,避免旧文件和新文件混在一起
+		if (state?.targetFileList?.taskTargetFileVos?.length > 0) {
+			uni.showToast({
+				title: '请删除全部在重新提交!',
+				icon: 'none'
+			});
+			return
+		}
 		state.confirmDialog = {
 			type:'submit',
 			content:'是否重新编辑当前任务?',

+ 14 - 29
pages/materialCollection/submitMaterial/taskDetail.vue

@@ -120,35 +120,20 @@
 	const checkTextOverflow = () => {
 		nextTick(() => {
 			const instance = getCurrentInstance();
-			// 安全保护
-			if (!instance || !instance.proxy) {
-				// 备用方案:全局查询(要求元素 class 唯一)
-				let taskDescAllHeight = 0,
-					taskDescHeight = 0;
-				const query = uni.createSelectorQuery();
-				query.select('.task_desc_all').boundingClientRect((rect) => {
-					taskDescAllHeight = rect?.height || 0;
-				});
-				query.select('.task_desc').boundingClientRect((rect) => {
-					taskDescHeight = rect?.height || 0;
-				});
-				query.exec(() => {
-					// 所有回调执行完毕后触发
-					state.showExpandBtn = taskDescAllHeight > taskDescHeight + 1;
-				});
-				return;
-			}
-			let taskDescAllHeight = 0,
-				taskDescHeight = 0;
-			const query = uni.createSelectorQuery().in(instance.proxy);
-			query.select('.task_desc_all').boundingClientRect((rect) => {
-				taskDescAllHeight = rect?.height || 0;
-			});
-			query.select('.task_desc').boundingClientRect((rect) => {
-				taskDescHeight = rect?.height || 0;
-			});
-			query.exec(() => {
-				// 所有回调执行完毕后触发
+			const query = instance && instance.proxy 
+				? uni.createSelectorQuery().in(instance.proxy) 
+				: uni.createSelectorQuery();
+			
+			query.select('.task_desc_all').boundingClientRect();
+			query.select('.task_desc').boundingClientRect();
+			
+			query.exec((res) => {
+				const rectAll = res[0];
+				const rectShort = res[1];
+			
+				const taskDescAllHeight = rectAll?.height || 0;
+				const taskDescHeight = rectShort?.height || 0;
+			
 				state.showExpandBtn = taskDescAllHeight > taskDescHeight + 1;
 			});
 		});

+ 1 - 0
pages/materialCollection/taskOverview/addEdit.vue

@@ -144,6 +144,7 @@
 		if(taskTargetsTreeData){
 			state.formData.targetType = taskTargetsTreeData.targetType;
 			state.formData.taskTargets = taskTargetsTreeData.taskTargets;//采集对象
+			console.log(taskTargetsTreeData,state.formData.taskTargets.length,29999)
 		}
 	})
 	onLoad(async(option) => {

+ 13 - 2
pages/materialCollection/taskOverview/index.vue

@@ -530,10 +530,21 @@ onUnmounted(()=>{
 }
 :deep(.filter_picker){
 	gap: 16rpx !important;
+	&.len2{
+		.item_filter_picker{
+			&:first-child{
+				flex:1;
+				max-width: 39%;
+			}
+			width: calc((100% - 16rpx * 2) / 3) !important;
+		}
+	}
 	.item_filter_picker{
-		width: calc((100% - 16rpx * 2) / 3) !important;
+		&:first-child{
+			flex:1;
+		}
+		width: calc((100% - 16rpx * 6) / 3) !important;
 	}
-	
 }
 .add_btn{
 	width: 148rpx;

+ 5 - 4
pages/materialCollection/taskOverview/personList.vue

@@ -27,6 +27,7 @@
 
 <script setup>
 	import navBar from '@/components/navBar.vue';
+	import uniEasyinput from '@/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue';
 	import {onLoad} from '@dcloudio/uni-app';
 	import {reactive,ref,onUnmounted, computed} from 'vue';
 	import popupDialog from '@/components/popupDialog.vue';
@@ -63,9 +64,9 @@
 			return ''
 		}
 	});
-	onUnmounted(()=>{
-		uni.removeStorageSync('taskTargetsTreeData');//移除缓存
-	})
+	// onUnmounted(()=>{
+	// 	uni.removeStorageSync('taskTargetsTreeData');//移除缓存
+	// })
 	//搜索
 	const HandleSearchInput = (e) => {
 		const searchWord = (e || '').trim();
@@ -80,7 +81,7 @@
 		if(disabled){
 			return false
 		}
-		state.popupDelDialog.index = id;
+		state.popupDelDialog.index = index;
 		state.popupDelDialog.id = id;
 		state.popupDelDialog.targetName = targetName;
 		state.popupDelDialog.content = `确定要删除【${targetName}】吗?`;

+ 29 - 45
pages/materialCollection/taskOverview/taskDetail.vue

@@ -384,59 +384,43 @@
 	const checkTextOverflow = () => {
 		nextTick(() => {
 			const instance = getCurrentInstance();
-			// 安全保护
-			if (!instance || !instance.proxy) {
-				// 备用方案:全局查询(要求元素 class 唯一)
-				let taskDescAllHeight = 0,
-					taskDescHeight = 0;
-				const query = uni.createSelectorQuery();
-				query.select('.task_desc_all').boundingClientRect((rect) => {
-					taskDescAllHeight = rect?.height || 0;
-				});
-				query.select('.task_desc').boundingClientRect((rect) => {
-					taskDescHeight = rect?.height || 0;
-				});
-				query.select('.page_content_data').boundingClientRect((rect) => {
-					state.searchBoxTop = rect?.top || 0;
-				});
-				query.exec(() => {
-					// 所有回调执行完毕后触发
-					state.showExpandBtn = taskDescAllHeight > taskDescHeight + 1;
-				});
-				return;
-			}
-			let taskDescAllHeight = 0,
-				taskDescHeight = 0;
-			const query = uni.createSelectorQuery().in(instance.proxy);
-			query.select('.task_desc_all').boundingClientRect((rect) => {
-				taskDescAllHeight = rect?.height || 0;
-			});
-			query.select('.task_desc').boundingClientRect((rect) => {
-				taskDescHeight = rect?.height || 0;
-			});
-			query.select('.page_content_data').boundingClientRect((rect) => {
-				state.searchBoxTop = rect?.top || 0;
-			});
-			query.exec(() => {
-				// 所有回调执行完毕后触发
+			const query = instance && instance.proxy 
+				? uni.createSelectorQuery().in(instance.proxy) 
+				: uni.createSelectorQuery();
+	
+			query.select('.task_desc_all').boundingClientRect();
+			query.select('.task_desc').boundingClientRect();
+			query.select('.page_content_data').boundingClientRect();
+	
+			query.exec((res) => {
+				const rectAll = res[0];
+				const rectShort = res[1];
+				const rectPageData = res[2];
+	
+				const taskDescAllHeight = rectAll?.height || 0;
+				const taskDescHeight = rectShort?.height || 0;
+				state.searchBoxTop = rectPageData?.top || 0;
+	
 				state.showExpandBtn = taskDescAllHeight > taskDescHeight + 1;
 			});
 		});
-	}
+	};
 	// 展开收起切换
 	const toggleExpand = () => {
 		state.isExpand = !state.isExpand;
 		nextTick(() => {
 			const instance = getCurrentInstance();
-			// 安全保护
-			if (!instance || !instance.proxy) {
-				// 备用方案:全局查询(要求元素 class 唯一)
-				query.select('.page_content_data').boundingClientRect((rect) => {
-					state.searchBoxTop = rect?.top || 0;
-				});
-				return;
-			}
-			query.select('.page_content_data').boundingClientRect((rect) => {
+			// 自动选择查询上下文,消除重复if‑else
+			const query = instance && instance.proxy
+				? uni.createSelectorQuery().in(instance.proxy)
+				: uni.createSelectorQuery();
+	
+			// 只注册查询,不在回调做赋值
+			query.select('.page_content_data').boundingClientRect();
+	
+			// exec才真正执行查询,res[0]对应上面select的结果
+			query.exec((res) => {
+				const rect = res?.[0];
 				state.searchBoxTop = rect?.top || 0;
 			});
 		});

+ 28 - 44
pages/studentStudy/learningMonitor/taskDetails.vue

@@ -226,41 +226,23 @@
 	const checkTextOverflow = () => {
 		nextTick(() => {
 			const instance = getCurrentInstance();
-			// 安全保护
-			if (!instance || !instance.proxy) {
-				// 备用方案:全局查询(要求元素 class 唯一)
-				let taskDescAllHeight = 0,
-					taskDescHeight = 0;
-				const query = uni.createSelectorQuery();
-				query.select('.task_desc_all').boundingClientRect((rect) => {
-					taskDescAllHeight = rect?.height || 0;
-				});
-				query.select('.task_desc').boundingClientRect((rect) => {
-					taskDescHeight = rect?.height || 0;
-				});
-				query.select('.page_content_data').boundingClientRect((rect) => {
-					state.searchBoxTop = rect?.top || 0;
-				});
-				query.exec(() => {
-					// 所有回调执行完毕后触发
-					state.showExpandBtn = taskDescAllHeight > taskDescHeight + 1;
-				});
-				return;
-			}
-			let taskDescAllHeight = 0,
-				taskDescHeight = 0;
-			const query = uni.createSelectorQuery().in(instance.proxy);
-			query.select('.task_desc_all').boundingClientRect((rect) => {
-				taskDescAllHeight = rect?.height || 0;
-			});
-			query.select('.task_desc').boundingClientRect((rect) => {
-				taskDescHeight = rect?.height || 0;
-			});
-			query.select('.page_content_data').boundingClientRect((rect) => {
-				state.searchBoxTop = rect?.top || 0;
-			});
-			query.exec(() => {
-				// 所有回调执行完毕后触发
+			const query = instance && instance.proxy 
+				? uni.createSelectorQuery().in(instance.proxy) 
+				: uni.createSelectorQuery();
+			
+			query.select('.task_desc_all').boundingClientRect();
+			query.select('.task_desc').boundingClientRect();
+			query.select('.page_content_data').boundingClientRect();
+			
+			query.exec((res) => {
+				const rectAll = res[0];
+				const rectShort = res[1];
+				const rectPageData = res[2];
+			
+				const taskDescAllHeight = rectAll?.height || 0;
+				const taskDescHeight = rectShort?.height || 0;
+				state.searchBoxTop = rectPageData?.top || 0;
+			
 				state.showExpandBtn = taskDescAllHeight > taskDescHeight + 1;
 			});
 		});
@@ -270,15 +252,17 @@
 		state.isExpand = !state.isExpand;
 		nextTick(() => {
 			const instance = getCurrentInstance();
-			// 安全保护
-			if (!instance || !instance.proxy) {
-				// 备用方案:全局查询(要求元素 class 唯一)
-				query.select('.page_content_data').boundingClientRect((rect) => {
-					state.searchBoxTop = rect?.top || 0;
-				});
-				return;
-			}
-			query.select('.page_content_data').boundingClientRect((rect) => {
+			// 自动选择查询上下文,消除重复if‑else
+			const query = instance && instance.proxy
+				? uni.createSelectorQuery().in(instance.proxy)
+				: uni.createSelectorQuery();
+			
+			// 只注册查询,不在回调做赋值
+			query.select('.page_content_data').boundingClientRect();
+			
+			// exec才真正执行查询,res[0]对应上面select的结果
+			query.exec((res) => {
+				const rect = res?.[0];
 				state.searchBoxTop = rect?.top || 0;
 			});
 		});

+ 28 - 44
pages/teacherStudy/learningMonitor/taskDetails.vue

@@ -226,41 +226,23 @@
 	const checkTextOverflow = () => {
 		nextTick(() => {
 			const instance = getCurrentInstance();
-			// 安全保护
-			if (!instance || !instance.proxy) {
-				// 备用方案:全局查询(要求元素 class 唯一)
-				let taskDescAllHeight = 0,
-					taskDescHeight = 0;
-				const query = uni.createSelectorQuery();
-				query.select('.task_desc_all').boundingClientRect((rect) => {
-					taskDescAllHeight = rect?.height || 0;
-				});
-				query.select('.task_desc').boundingClientRect((rect) => {
-					taskDescHeight = rect?.height || 0;
-				});
-				query.select('.page_content_data').boundingClientRect((rect) => {
-					state.searchBoxTop = rect?.top || 0;
-				});
-				query.exec(() => {
-					// 所有回调执行完毕后触发
-					state.showExpandBtn = taskDescAllHeight > taskDescHeight + 1;
-				});
-				return;
-			}
-			let taskDescAllHeight = 0,
-				taskDescHeight = 0;
-			const query = uni.createSelectorQuery().in(instance.proxy);
-			query.select('.task_desc_all').boundingClientRect((rect) => {
-				taskDescAllHeight = rect?.height || 0;
-			});
-			query.select('.task_desc').boundingClientRect((rect) => {
-				taskDescHeight = rect?.height || 0;
-			});
-			query.select('.page_content_data').boundingClientRect((rect) => {
-				state.searchBoxTop = rect?.top || 0;
-			});
-			query.exec(() => {
-				// 所有回调执行完毕后触发
+			const query = instance && instance.proxy 
+				? uni.createSelectorQuery().in(instance.proxy) 
+				: uni.createSelectorQuery();
+			
+			query.select('.task_desc_all').boundingClientRect();
+			query.select('.task_desc').boundingClientRect();
+			query.select('.page_content_data').boundingClientRect();
+			
+			query.exec((res) => {
+				const rectAll = res[0];
+				const rectShort = res[1];
+				const rectPageData = res[2];
+			
+				const taskDescAllHeight = rectAll?.height || 0;
+				const taskDescHeight = rectShort?.height || 0;
+				state.searchBoxTop = rectPageData?.top || 0;
+			
 				state.showExpandBtn = taskDescAllHeight > taskDescHeight + 1;
 			});
 		});
@@ -270,15 +252,17 @@
 		state.isExpand = !state.isExpand;
 		nextTick(() => {
 			const instance = getCurrentInstance();
-			// 安全保护
-			if (!instance || !instance.proxy) {
-				// 备用方案:全局查询(要求元素 class 唯一)
-				query.select('.page_content_data').boundingClientRect((rect) => {
-					state.searchBoxTop = rect?.top || 0;
-				});
-				return;
-			}
-			query.select('.page_content_data').boundingClientRect((rect) => {
+			// 自动选择查询上下文,消除重复if‑else
+			const query = instance && instance.proxy
+				? uni.createSelectorQuery().in(instance.proxy)
+				: uni.createSelectorQuery();
+			
+			// 只注册查询,不在回调做赋值
+			query.select('.page_content_data').boundingClientRect();
+			
+			// exec才真正执行查询,res[0]对应上面select的结果
+			query.exec((res) => {
+				const rect = res?.[0];
 				state.searchBoxTop = rect?.top || 0;
 			});
 		});

+ 1 - 0
style/common.scss

@@ -498,6 +498,7 @@ uni-page-body {
 				margin-right: 8rpx;
 				white-space: nowrap;
 				overflow: hidden;
+				text-overflow: ellipsis;
 			}
 		}
 	}