liurongli 1 месяц назад
Родитель
Сommit
37f9ef8876

+ 1 - 0
components/popupPreviewFile.vue

@@ -95,6 +95,7 @@
 		text-align: center;
 		text-align: center;
 		font-size: 28rpx;
 		font-size: 28rpx;
 		color: #333;
 		color: #333;
+		word-break: break-all;
 	}
 	}
 	.colse{
 	.colse{
 		position: fixed;
 		position: fixed;

+ 19 - 5
pages/teacherHonor/honorAudit/teacherDetail.vue

@@ -35,8 +35,8 @@
 						</view>
 						</view>
 						<!-- #ifdef APP-PLUS -->
 						<!-- #ifdef APP-PLUS -->
 						<!-- app端处理 -->
 						<!-- app端处理 -->
-						<template v-if="['word','excel','pdf','txt'].includes(getFileTypeBySuffix(item?.documentName?.split('.')?.[1] || ''))">
-							<cjx-previewOffice :value="item.documentUrl" :name="item.documentName" :type="getFileTypeBySuffix(item?.documentName?.split('.')?.[1] || '')">
+						<template v-if="['word','excel','pdf','txt'].includes(getFileTypeBySuffix(item.fileNameSuffix || ''))">
+							<cjx-previewOffice :value="item.documentUrl" :name="item.documentName" :type="getFileTypeBySuffix(item?.fileNameSuffix || '')">
 								<view class="preview_btn" @click="OpenPreviewFileDialog(item)">预览</view>
 								<view class="preview_btn" @click="OpenPreviewFileDialog(item)">预览</view>
 							</cjx-previewOffice>
 							</cjx-previewOffice>
 						</template>
 						</template>
@@ -131,10 +131,25 @@
 					...item,
 					...item,
 					url:item.picUrl
 					url:item.picUrl
 				}))
 				}))
+				const supportDocumentList = resdata?.supportDocumentList || [];
+				resdata.supportDocumentList = supportDocumentList.map(item=>{
+					const fileNameSuffix = GetFileNameSuffix(item.documentName);
+					return{
+						...item,
+						fileNameSuffix
+					}
+				})
 				state.reviewDetail = resdata;
 				state.reviewDetail = resdata;
 			}
 			}
 		})
 		})
 	}
 	}
+	//获取文件后缀名称
+	const GetFileNameSuffix = (documentName) => {
+		const documentNameArr = documentName?.split('.') || [];
+		const lens = documentNameArr.length;
+		const fileNameSuffix = lens?documentNameArr[lens - 1]:'';
+		return fileNameSuffix
+	}
 	//通过
 	//通过
 	const HandlePassHonor = () => {
 	const HandlePassHonor = () => {
 		HandleRejectOrPass(1)
 		HandleRejectOrPass(1)
@@ -175,10 +190,9 @@
 	}
 	}
 	//预览
 	//预览
 	const OpenPreviewFileDialog = (item) => {
 	const OpenPreviewFileDialog = (item) => {
-		const fileNameSuffix = item?.documentName?.split('.')?.[1] || '';
-		const fileType = getFileTypeBySuffix(fileNameSuffix);
+		const fileType = getFileTypeBySuffix(item.fileNameSuffix);
 		console.log(fileType,899)
 		console.log(fileType,899)
-		state.previewPopup.fileType = fileType?fileType:fileNameSuffix;
+		state.previewPopup.fileType = fileType?fileType:item.fileNameSuffix;
 		state.previewPopup.filePath = item.documentUrl;
 		state.previewPopup.filePath = item.documentUrl;
 		state.previewPopup.fileName = item.documentName;
 		state.previewPopup.fileName = item.documentName;
 		if(['word','excel','pptx','pdf','txt'].includes(fileType)){
 		if(['word','excel','pptx','pdf','txt'].includes(fileType)){

+ 1 - 0
pages/teacherHonor/honorOverview/honorTypeAuditDetail.vue

@@ -54,6 +54,7 @@
 
 
 <script setup>
 <script setup>
 	import navBar from '@/components/navBar.vue';
 	import navBar from '@/components/navBar.vue';
+	import uniEasyinput from '@/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue';
 	import {queryHonorTableDataList} from '@/reqApi/teacherHonor.js';
 	import {queryHonorTableDataList} from '@/reqApi/teacherHonor.js';
 	import {
 	import {
 		reactive,
 		reactive,

+ 10 - 5
pages/teacherHonor/honorOverview/honorTypeDetail.vue

@@ -253,11 +253,14 @@
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 	.page_body{
 	.page_body{
+		display: flex;
+		flex-direction: column;
 		height: 100%;
 		height: 100%;
 		min-height: auto;
 		min-height: auto;
 	}
 	}
 	.page_content{
 	.page_content{
-		height: calc(100% - 230rpx);
+		// height: calc(100% - 230rpx);
+		flex:1;
 		overflow: hidden;
 		overflow: hidden;
 	}
 	}
 	.forms_style{
 	.forms_style{
@@ -370,11 +373,13 @@
 		}
 		}
 	}
 	}
 	.page_foot{
 	.page_foot{
-		position: fixed;
-		left:0;
-		right: 0;
-		bottom: 0;
+		// position: fixed;
+		// left:0;
+		// right: 0;
+		// bottom: 0;
+		width: 100%;
 		padding: 20rpx 24rpx;
 		padding: 20rpx 24rpx;
+		box-sizing: border-box;
 		background-color:#FFFFFF;
 		background-color:#FFFFFF;
 		.btn_submit{
 		.btn_submit{
 			width: 100%;
 			width: 100%;

+ 19 - 6
pages/teacherHonor/honorTeacher/honorDetail.vue

@@ -35,8 +35,8 @@
 						</view>
 						</view>
 						<!-- #ifdef APP-PLUS -->
 						<!-- #ifdef APP-PLUS -->
 						<!-- app端处理 -->
 						<!-- app端处理 -->
-						<template v-if="['word','excel','pdf','txt'].includes(getFileTypeBySuffix(item?.documentName?.split('.')?.[1] || ''))">
-							<cjx-previewOffice :value="item.documentUrl" :name="item.documentName" :type="getFileTypeBySuffix(item?.documentName?.split('.')?.[1] || '')">
+						<template v-if="['word','excel','pdf','txt'].includes(getFileTypeBySuffix(item?.fileNameSuffix || ''))">
+							<cjx-previewOffice :value="item.documentUrl" :name="item.documentName" :type="getFileTypeBySuffix(item?.fileNameSuffix || '')">
 								<view class="preview_btn" @click="OpenPreviewFileDialog(item)">预览</view>
 								<view class="preview_btn" @click="OpenPreviewFileDialog(item)">预览</view>
 							</cjx-previewOffice>
 							</cjx-previewOffice>
 						</template>
 						</template>
@@ -111,16 +111,29 @@
 					...item,
 					...item,
 					url:item.picUrl
 					url:item.picUrl
 				}))
 				}))
+				const supportDocumentList = resdata?.supportDocumentList || [];
+				resdata.supportDocumentList = supportDocumentList.map(item=>{
+					const fileNameSuffix = GetFileNameSuffix(item.documentName);
+					return{
+						...item,
+						fileNameSuffix
+					}
+				})
 				state.detail = resdata;
 				state.detail = resdata;
 			}
 			}
 		})
 		})
 	}
 	}
+	//获取文件后缀名称
+	const GetFileNameSuffix = (documentName) => {
+		const documentNameArr = documentName?.split('.') || [];
+		const lens = documentNameArr.length;
+		const fileNameSuffix = lens?documentNameArr[lens - 1]:'';
+		return fileNameSuffix
+	}
 	//预览
 	//预览
 	const OpenPreviewFileDialog = (item) => {
 	const OpenPreviewFileDialog = (item) => {
-		const fileNameSuffix = item?.documentName?.split('.')?.[1] || '';
-		const fileType = getFileTypeBySuffix(fileNameSuffix);
-		console.log(fileType,899)
-		state.previewPopup.fileType = fileType?fileType:fileNameSuffix;
+		const fileType = getFileTypeBySuffix(item.fileNameSuffix);
+		state.previewPopup.fileType = fileType?fileType:item.fileNameSuffix;
 		state.previewPopup.filePath = item.documentUrl;
 		state.previewPopup.filePath = item.documentUrl;
 		state.previewPopup.fileName = item.documentName;
 		state.previewPopup.fileName = item.documentName;
 		if(['word','excel','pptx','pdf','txt'].includes(fileType)){
 		if(['word','excel','pptx','pdf','txt'].includes(fileType)){

+ 28 - 13
pages/teacherHonor/myHonor/uploadEditMyHonor.vue

@@ -42,8 +42,8 @@
 							</view>
 							</view>
 							<!-- #ifdef APP-PLUS -->
 							<!-- #ifdef APP-PLUS -->
 							<!-- app端处理 -->
 							<!-- app端处理 -->
-							<template v-if="['word','excel','pdf','txt'].includes(getFileTypeBySuffix(item?.documentName?.split('.')?.[1] || ''))">
-								<cjx-previewOffice :value="item.documentUrl" :name="item.documentName" :type="getFileTypeBySuffix(item?.documentName?.split('.')?.[1] || '')">
+							<template v-if="['word','excel','pdf','txt'].includes(getFileTypeBySuffix(item?.fileNameSuffix || ''))">
+								<cjx-previewOffice :value="item.documentUrl" :name="item.documentName" :type="getFileTypeBySuffix(item?.fileNameSuffix || '')">
 									<view class="list_item_preview" @click="OpenPreviewFileDialog(item)">预览</view>
 									<view class="list_item_preview" @click="OpenPreviewFileDialog(item)">预览</view>
 								</cjx-previewOffice>
 								</cjx-previewOffice>
 							</template>
 							</template>
@@ -280,15 +280,28 @@
 					...item,
 					...item,
 					url:item.picUrl
 					url:item.picUrl
 				}));//荣誉证书
 				}));//荣誉证书
-				state.formData.docDatas = res?.data?.supportDocumentList || [];//佐证材料
+				const supportDocumentList = res?.data?.supportDocumentList || [];
+				state.formData.docDatas = supportDocumentList.map(item=>{
+					const fileNameSuffix = GetFileNameSuffix(item.documentName);
+					return {
+						...item,
+						fileNameSuffix
+					}
+				});//佐证材料
 				state.formData.overruleContent = res?.data?.overruleContent || '';//驳回原因
 				state.formData.overruleContent = res?.data?.overruleContent || '';//驳回原因
 				state.formData.reviewTeacherName = res?.data?.reviewTeacherName || '';//审核人
 				state.formData.reviewTeacherName = res?.data?.reviewTeacherName || '';//审核人
 			}
 			}
 		})
 		})
 	}
 	}
+	//获取文件后缀名称
+	const GetFileNameSuffix = (documentName) => {
+		const documentNameArr = documentName?.split('.') || [];
+		const lens = documentNameArr.length;
+		const fileNameSuffix = lens?documentNameArr[lens - 1]:'';
+		return fileNameSuffix
+	}
 	//提交
 	//提交
 	const honorTypeConfirm = () => {
 	const honorTypeConfirm = () => {
-		console.log(state.formData,rules.value)
 		for (const key in rules.value) {
 		for (const key in rules.value) {
 			if (state.formData?.[key] === "" || state.formData?.[key] === null || state.formData?.[key]&&state.formData?.[key]?.length === 0) {
 			if (state.formData?.[key] === "" || state.formData?.[key] === null || state.formData?.[key]&&state.formData?.[key]?.length === 0) {
 				const errorMessage = rules.value[key].rules[0].errorMessage;
 				const errorMessage = rules.value[key].rules[0].errorMessage;
@@ -488,21 +501,20 @@
 		const result = JSON.parse(res.data || res.result);
 		const result = JSON.parse(res.data || res.result);
 		const fileObj = result?.data;
 		const fileObj = result?.data;
 		if(fileObj){
 		if(fileObj){
+			const fileNameSuffix = GetFileNameSuffix(fileObj?.fileName);
 			state.formData.docDatas.push({
 			state.formData.docDatas.push({
 				documentName:fileObj.fileName,
 				documentName:fileObj.fileName,
+				fileNameSuffix:fileNameSuffix,
 				documentUrl:fileObj.url,
 				documentUrl:fileObj.url,
 				fileSize:fileSizeConvert(file?.size || 0),
 				fileSize:fileSizeConvert(file?.size || 0),
 				createdAt:unioformDateTransform(new Date())
 				createdAt:unioformDateTransform(new Date())
 			})
 			})
 		}
 		}
-		
 	}
 	}
 	//预览
 	//预览
 	const OpenPreviewFileDialog = (item) => {
 	const OpenPreviewFileDialog = (item) => {
-		const fileNameSuffix = item?.documentName?.split('.')?.[1] || '';
-		const fileType = getFileTypeBySuffix(fileNameSuffix);
-		console.log(fileType,899)
-		state.previewPopup.fileType = fileType?fileType:fileNameSuffix;
+		const fileType = getFileTypeBySuffix(item.fileNameSuffix);
+		state.previewPopup.fileType = fileType?fileType:item.fileNameSuffix;
 		state.previewPopup.filePath = item.documentUrl;
 		state.previewPopup.filePath = item.documentUrl;
 		state.previewPopup.fileName = item.documentName;
 		state.previewPopup.fileName = item.documentName;
 		if(['word','excel','pptx','pdf','txt'].includes(fileType)){
 		if(['word','excel','pptx','pdf','txt'].includes(fileType)){
@@ -552,15 +564,18 @@
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 	.page_body{
 	.page_body{
 		height: 100%;
 		height: 100%;
+		display: flex;
+		flex-direction: column;
 		min-height: auto;
 		min-height: auto;
 		overflow: hidden;
 		overflow: hidden;
 	}
 	}
 	.page_content{
 	.page_content{
-		height: calc(100% - 250rpx);
+		// height: calc(100% - 250rpx);
+		flex:1;
 		overflow: auto;
 		overflow: auto;
-		&.view{
-			height: calc(100% - 96rpx);
-		}
+		// &.view{
+		// 	height: calc(100% - 96rpx);
+		// }
 	}
 	}
 	.forms_style{
 	.forms_style{
 		&.view{
 		&.view{