Kaynağa Gözat

解决 一些 bug

于添 5 ay önce
ebeveyn
işleme
bd3da9936e

+ 4 - 4
.env.production

@@ -5,11 +5,11 @@ NODE_ENV = production
 VITE_TITLE = 飞行学院
 
 # 接口地址
-VITE_API_BASEURL = http://192.168.1.245:19003
-#VITE_API_BASEURL = http://22.120.128.109:19003
+#VITE_API_BASEURL = http://192.168.43.130:19004
+VITE_API_BASEURL = http://22.120.128.109:19003
 #VITE_API_BASEURL = http://192.168.31.56:19003
-VITE_FILEURL = http://192.168.1.245:10005/education/
-#VITE_FILEURL = http://22.120.128.108:10005/education/
+#VITE_FILEURL = http://192.168.43.130:10005/education/
+VITE_FILEURL = http://22.120.128.108:10005/education/
 #VITE_FILEURL = http://192.168.31.56:10005/education/
 # 本地端口
 VITE_PORT = 9000

+ 121 - 5
public/html/loginJump.html

@@ -48,15 +48,116 @@
 		.login-btn:hover {
 			opacity: 0.9;
 		}
+		* {
+			margin: 0;
+			padding: 0;
+			box-sizing: border-box;
+		}
+
+		body {
+			font-family: 'Arial', sans-serif;
+			background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+			min-height: 100vh;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+		}
+
+		.container {
+			text-align: center;
+		}
+
+		.loading-container {
+			background: rgba(255, 255, 255, 0.95);
+			border-radius: 20px;
+			padding: 40px;
+			box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
+			backdrop-filter: blur(10px);
+			margin-bottom: 30px;
+			transition: all 0.3s ease;
+		}
+
+		.spinner {
+			width: 50px;
+			height: 50px;
+			border: 5px solid #f3f3f3;
+			border-top: 5px solid #667eea;
+			border-radius: 50%;
+			animation: spin 1s linear infinite;
+			margin: 0 auto 20px;
+		}
+
+		@keyframes spin {
+			0% { transform: rotate(0deg); }
+			100% { transform: rotate(360deg); }
+		}
+
+		.loading-text {
+			font-size: 18px;
+			color: #333;
+			font-weight: 500;
+		}
+
+		/* 准备进入状态样式 */
+		.ready-enter {
+			animation: pulse 2s infinite;
+		}
+
+		@keyframes pulse {
+			0% {
+				transform: scale(1);
+				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
+			}
+			50% {
+				transform: scale(1.05);
+				box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2);
+			}
+			100% {
+				transform: scale(1);
+				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
+			}
+		}
+
+		.trigger-btn {
+			background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+			color: white;
+			border: none;
+			padding: 15px 30px;
+			font-size: 16px;
+			border-radius: 50px;
+			cursor: pointer;
+			transition: all 0.3s ease;
+			box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
+		}
+
+		.trigger-btn:hover {
+			transform: translateY(-3px);
+			box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
+		}
+
+		.trigger-btn:active {
+			transform: translateY(0);
+		}
 	</style>
 </head>
 <body>
+<div class="container">
+	<div class="loading-container" id="loadingContainer">
+		<div class="spinner"></div>
+		<div class="loading-text" id="loadingText">加载中...</div>
+	</div>
+<!--	<button class="trigger-btn" id="triggerBtn">发起网络请求</button>-->
+</div>
 <!--<div class="login-container">-->
 <!--	<h1>在线教育平台</h1>-->
 <!--	<button class="login-btn student-btn" onclick="login()">登录</button>-->
 <!--</div>-->
-<!--http://localhost:63342/onlineEducation-front/public/html/loginJump.html?_ijt=eqdbr9d1k5uh8if53et5u8j8su&_ij_reload=RELOAD_ON_SAVE&code=126345&type=1&id=1958766027408039938-->
+<!--http://localhost:63342/onlineEducation-front/public/html/loginJump.html?_ijt=eqdbr9d1k5uh8if53et5u8j8su&_ij_reload=RELOAD_ON_SAVE&code=teacher&state=type=1&id=1958766027408039938-->
 <script>
+	let loadingContainer
+	let loadingText
+	let triggerBtn
+
 
 	let baseUrl = 'http://192.168.1.213:9003'
 	let baseUrlt = 'http://192.168.1.202:9000'
@@ -64,14 +165,14 @@
 	// 创建axios实例,参考request.js中的配置
 	const service = axios.create({
 		baseURL: '/api',
-		timeout: 5000
+		timeout: 10000
 	});
 
 	// 登录函数
 	const login = async () => {
 		const urlParams = new URLSearchParams(window.location.search);
 		let code = urlParams.get('code');
-		let type = urlParams.get('type');
+		let type = urlParams.get('state').split('=')[1];
 		let id = urlParams.get('id');
 		if (code == undefined || type == undefined) {
 			alert('数据参数不对');
@@ -82,6 +183,9 @@
 			return
 		}
 		console.log('什么数值呢', code)
+
+		loadingContainer.classList.remove('ready-enter');
+		loadingText.textContent = '加载中...';
 		// 这里需要替换为实际的登录接口URL
 		const loginUrl = baseUrl+'/api/webapp/disk/CollegeUser/getUser';
 
@@ -100,15 +204,24 @@
 				let url =  baseUrl+'/api/webapp/auth/b/getLoginUser'
 			let ress = await service.get(url, {
 				headers: {
-					'token': res.data.msg,
+					'token': res.data.data,
 				}
 			})
 			console.log('获取人员信息:', ress);
 			if(ress.data.code == 200 && ress.data.data.eduIdentity == 1){
+				// 请求完成后切换到准备进入状态
+				loadingText.textContent = '准备进入';
+				loadingContainer.classList.add('ready-enter');
+
+				// 可选:移除spinner,只显示文字
+				const spinner = document.querySelector('.spinner');
+				if (spinner) {
+					spinner.style.display = 'none';
+				}
 				//去教师段
 				// 构建带参数的URL
 				const params = new URLSearchParams({
-					token: res.data.msg,
+					userId: ress.data.data.id,
 					type,
 					id
 				});
@@ -150,6 +263,9 @@
 	// 在<script>标签内添加
 	window.onload = function() {
 		console.log('页面加载完成');
+		 loadingContainer = document.getElementById('loadingContainer');
+		 loadingText = document.getElementById('loadingText');
+		 triggerBtn = document.getElementById('triggerBtn');
 		login()
 		// 在这里可以执行初始化操作
 		// 比如自动登录等

+ 3 - 0
src/api/college/index.js

@@ -14,6 +14,9 @@ export default {
 	},
 	getUser(p){
 		return requests('disk/CollegeUser/getUser', p, 'get')
+	},
+	getToken(p){
+		return requests('disk/CollegeUser/getToken', p, 'get')
 	}
 
 

+ 1 - 1
src/api/portal/index.js

@@ -14,7 +14,7 @@ export const list = (p) => request('disk/resourcecentre/page', p, 'get')
 // 进入详情之后增加观看次数
 export const addViewCount = (p) => request('disk/courseauditrecord/addViewCount', p, 'post')
 //详情
-export const detail = (p) => request('disk/courseauditrecord/detail', p, 'get')
+export const detail = (p) => request('disk/resourcecentre/detail', p, 'get')
 //收藏增加
 export const add = (p) => request('disk/collect/add', p, 'post')
 //收藏查询

+ 2 - 1
src/components/UpLoadBreakPoint/index.vue

@@ -136,7 +136,8 @@
 		},
 		upLoadfileLists: {
 			type: Array,
-			default: () => ['jpg','png','pdf','mp4','docx','doc','xlsx','xls','pptx','ppt','txt','cad','zip','rar','dwg','dxf','dwt']
+			// 视频"wmv","avi","flv","mpeg","mpg","rmvb","mov","mkv","mp4"以及文档"doc","docx","ppt","pptx","xls","xlsx","pdf"应该都允许
+			default: () => ['jpg','png','pdf','mp4','wmv','avi','flv','mpeg','mpg','rmvb','mov','mkv','docx','doc','xlsx','xls','pptx','ppt','txt','cad','zip','rar','dwg','dxf','dwt']
 		},
 	})
 

+ 2 - 2
src/components/UpLoadDoc/index.vue

@@ -10,11 +10,11 @@
 			:action="action"
 			:headers="headers"
 		>
-			<a-button v-if="form.id == ''" style="margin-left: 20px">
+			<a-button v-if="form.id == ''" >
 				<CloudUploadOutlined/>
 				上传文件
 			</a-button>
-			<a-button v-if="form.id != ''" style="margin-left: 20px">
+			<a-button v-if="form.id != ''" >
 				<CloudUploadOutlined/>
 				更换文件
 			</a-button>

+ 2 - 2
src/components/UpLoadSrt/index.vue

@@ -10,11 +10,11 @@
 			:action="action"
 			:headers="headers"
 		>
-			<a-button v-if="form.id == ''" style="margin-left: 20px">
+			<a-button v-if="form.id == ''" >
 				<CloudUploadOutlined/>
 				上传文件
 			</a-button>
-			<a-button v-if="form.id != ''" style="margin-left: 20px">
+			<a-button v-if="form.id != ''" >
 				<CloudUploadOutlined/>
 				更换文件
 			</a-button>

+ 4 - 0
src/router/index.js

@@ -15,6 +15,7 @@ import fullPageTool from './fullPageTool'
 import { cloneDeep } from 'lodash-es'
 const modules = import.meta.glob('/src/views/**/**.vue')
 import { globalStore, searchStore } from '@/store'
+import EventBus from "@/utils/EventBus";
 
 // 进度条配置
 NProgress.configure({ showSpinner: false, speed: 500 })
@@ -52,6 +53,7 @@ const whiteList = exportWhiteListFromRouter(whiteListRouters)
 console.log('拥有的白名单',whiteList)
 router.beforeEach(async (to, from, next) => {
 	NProgress.start()
+	EventBus.emit('getCounts')
 	const store = globalStore()
 
 	const sysBaseConfig = tool.data.get('SNOWY_SYS_BASE_CONFIG') || store.sysBaseConfig
@@ -123,11 +125,13 @@ router.beforeEach(async (to, from, next) => {
 		next({ ...to, replace: true })
 		return false
 	}
+
 	beforeEach(to, from)
 	next()
 })
 
 router.afterEach((to, from) => {
+
 	afterEach(to, from)
 	NProgress.done()
 })

+ 1 - 1
src/views/announcementLookManagement/components/ListView.vue

@@ -174,7 +174,7 @@ const handleEdit = (record) => {
 
 	if(record.read == false){
 		addCount({mainId :record.noticeId , funcType : 2 }).then((res)=>{
-			EventBus.emit('getCount')
+			EventBus.emit('getCounts')
 			getList()
 		})
 	}

+ 42 - 18
src/views/answerManagement/components/DialogView.vue

@@ -41,7 +41,7 @@ import { QuillEditor } from '@vueup/vue-quill'
 import '@vueup/vue-quill/dist/vue-quill.snow.css'
 const recordList = ref([]) //专业
 const formRef = ref(null) //专业
-const quillEditorRef = ref(null) // 预览回显
+const quillEditorRef = ref() // 预览回显
 const mode = ref('add') //专业
 import {addItem, detail, editItem} from '@/api/answer'
 
@@ -71,31 +71,55 @@ const open = () => {
 
 	visible.value = true
 	formState.info = undefined
+
 	// 重置富文本编辑器
-	if (quillEditorRef.value) {
-		quillEditorRef.value.setHTML('')
-	}
+
+	nextTick(()=>{
+		let quill = quillEditorRef.value.getQuill()
+		console.log('看看',quill)
+		quill.root.addEventListener('paste', handlePaste, false);
+
+		// 重置富文本编辑器
+		if (quillEditorRef.value) {
+			quillEditorRef.value.setHTML('')
+		}
+	})
 	mode.value = 'add'
 }
 const edit = (item) => {
 	visible.value = true
 	formState.info = undefined
 	formState.info = undefined
-	// 重置富文本编辑器
-	if (quillEditorRef.value) {
-		quillEditorRef.value.setHTML('')
-	}
-	mode.value = 'edit'
-	console.log('编辑内容',item)
-	detail({id : item.id}).then((res)=>{
-		if(res.code == 200){
-			// toRaw(quillEditorRef.value).setHTML(formState.courseDesc)
-			formState.pid = item.id
-			formState.hourId = item.hourId
-			recordList.value = item.recordChildList
+
+	nextTick(()=>{
+		let quill = quillEditorRef.value.getQuill()
+		console.log('看看',quill)
+		quill.root.addEventListener('paste', handlePaste, false);
+
+		// 重置富文本编辑器
+		if (quillEditorRef.value) {
+			quillEditorRef.value.setHTML('')
 		}
+
+		mode.value = 'edit'
+		console.log('编辑内容',item)
+		detail({id : item.id}).then((res)=>{
+			if(res.code == 200){
+				console.log('详情呢',' res ',res,' item ',item)
+				// toRaw(quillEditorRef.value).setHTML(formState.courseDesc)
+				formState.pid = item.id
+				formState.hourId = item.hourId
+				recordList.value = res.data.recordList
+			}
+		})
 	})
 
+
+
+
+
+
+
 }
 
 const handlePaste = (e) => {
@@ -133,9 +157,9 @@ const handleOk = (e) => {
 	// console.logckPoint.value = false
 }
 onMounted(() => {
+
 	// getOrgTreeSelector()
-	let quill = quillEditorRef.value.quill;
-	quill.root.addEventListener('paste', handlePaste, false);
+
 })
 
 defineExpose({open,edit})

+ 2 - 0
src/views/classManagement/components/DialogView.vue

@@ -153,7 +153,9 @@ const edit = (item) => {
 	}
 const changeCollegeMajor = (value, selectedOptions) => {
 	console.log('Selected:', value, selectedOptions)
+	formState.majorId = undefined
 	if (!value) {
+
 		formState.collegeId = undefined
 		// majorIdName.value = ''
 		return false

+ 34 - 0
src/views/courseAdd/components/courseInfo.vue

@@ -67,6 +67,7 @@
 				contentType="html"
 				theme="snow"
 			/>
+			<span>{{MIN_LENGTH}}/{{MAX_LENGTH}}</span>
 		</a-form-item>
 
 		<a-form-item :wrapper-col="{ offset: 5, span: 12 }">
@@ -131,6 +132,8 @@
 	const majorIdName = ref([]) //院系回显
 	const majorOptions = ref([]) //专业
 	const courseOptions = ref([]) //课程
+	const MAX_LENGTH = ref(50) //教师
+	const MIN_LENGTH = ref(0) //教师
 	const teacherOptions = ref([]) //教师
 	const coverImagePath = ref() // 预览回显
 	const quillEditorRef = ref(null) // 预览回显
@@ -277,6 +280,10 @@
 			// getCollegeMajor(formState.collegeTwoId)
 			formState.courseType = res.data.courseType
 			formState.courseDesc = res.data.courseDesc
+
+
+			MIN_LENGTH.value = formState.courseDesc.length || 0
+
 			toRaw(quillEditorRef.value).setHTML(formState.courseDesc)
 			formState.coverImageId = res.data.coverImageId
 			coverImagePath.value = res.data.coverImagePath
@@ -302,7 +309,34 @@
 		if (props.courseInfoId) {
 			getDetail()
 		}
+
+		nextTick(()=>{
+			let quill = quillEditorRef.value.getQuill()
+			console.log('看看',quill)
+			quill.root.addEventListener('paste', handlePaste, false);
+			// 限制最大字符数
+			// const MAX_LENGTH = 100;
+
+			quill.on('text-change', function(delta, oldDelta, source) {
+				const text = quill.getText();
+				console.log('看看记录',text.length)
+				MIN_LENGTH.value = text.length-1
+				if (text.length > MAX_LENGTH.value) {
+
+					// 截断超出部分
+					quill.deleteText(MAX_LENGTH.value, text.length - MAX_LENGTH.value);
+				}
+			});
+		})
 	})
+	const handlePaste = (e) => {
+		const clipboardData = e.clipboardData;
+		const types = clipboardData.types;
+		if (types.includes('Files')) {
+// 禁止粘贴图片
+			e.preventDefault();
+		}
+	}
 </script>
 
 <style scoped>

+ 2 - 2
src/views/courseDetails/components/AddClassHours.vue

@@ -46,7 +46,7 @@
 					:custom-request="dummyRequest"
 					accept=".ppt,.pptx,.doc,.docx,.pdf"
 				>
-					<a-button><CloudUploadOutlined /> 上传文件</a-button>
+					<a-button><CloudUploadOutlined />上传文件</a-button>
 				</a-upload>
 				<span class="upload-tip">支持ppt、word等格式文件上传,文件大小不超过10MB</span>
 			</a-form-item>
@@ -57,7 +57,7 @@
 					:custom-request="dummyRequest"
 					accept=".srt"
 				>
-					<a-button><CloudUploadOutlined /> 上传文件</a-button>
+					<a-button><CloudUploadOutlined />上传文件</a-button>
 				</a-upload>
 				<span class="upload-tip">仅支持srt格式文件上传,文件大小不超过1MB</span>
 			</a-form-item>

+ 6 - 6
src/views/courseDetails/index.vue

@@ -270,8 +270,8 @@
 	// 处理一键催缴
 	function onUrgeSubmit(lesson) {
 		Modal.confirm({
-			title: '确认催',
-			content: `确定要对课时"${lesson.name}"进行催吗?`,
+			title: '确认催',
+			content: `确定要对课时"${lesson.name}"进行催吗?`,
 			okText: '确认',
 			cancelText: '取消',
 			onOk: async () => {
@@ -281,13 +281,13 @@
 					}
 					const res = await urgeSubmit(params)
 					if (res.code === 200) {
-						message.success('催成功')
+						message.success('催成功')
 					} else {
-						message.error(res.msg || '催失败')
+						message.error(res.msg || '催失败')
 					}
 				} catch (error) {
-					console.error('催失败:', error)
-					message.error('催失败,请稍后重试')
+					console.error('催失败:', error)
+					message.error('催失败,请稍后重试')
 				}
 			}
 		})

+ 9 - 16
src/views/jump/index.vue

@@ -3,37 +3,30 @@
 </template>
 
 <script setup>
-	import loginApi from '@/api/auth/loginApi'
-	import phoneLoginForm from './phoneLoginForm.vue'
-	import threeLogin from './threeLogin.vue'
-	import smCrypto from '@/utils/smCrypto'
-	import { required } from '@/utils/formRules'
 	import { afterLogin } from './util'
 	import { onMounted } from 'vue'
-	import config from '@/config'
-	import configApi from '@/api/dev/configApi'
-	import tool from '@/utils/tool'
-	import { globalStore, iframeStore, keepAliveStore, viewTagsStore } from '@/store'
-	import { mapActions, mapState } from 'pinia'
+	import college from '@/api/college'
 
-	onMounted( ()=>{
+	onMounted( async ()=>{
 		const urlParams = new URLSearchParams(window.location.search);
 
-		let token = urlParams.get('token');
+		let userId = urlParams.get('userId');
 		let type = urlParams.get('type');
 		let id = urlParams.get('id');
-		console.log('什么呢',token)
-		if (token == undefined) {
+		console.log('什么呢',userId)
+		if (userId == undefined) {
 			return
 		}
 		const params = new URLSearchParams({
 			id
 		});
+		let token = await college.getToken({userId})
+		console.log('token的呢',token)
 		if(type == 0){
-			afterLogin(token,'/')
+			afterLogin(token.data,'/')
 		}else{
 			console.log('什么呢路径',params.toString())
-			afterLogin(token,`/portal/resourceDetails`,{id : id})
+			afterLogin(token.data,`/portal/resourceDetails`,{id : id})
 		}
 
 	})

+ 5 - 5
src/views/myResources/myResources.vue

@@ -75,10 +75,10 @@
 							<!--					<span>租户:</span>-->
 							<!--					<a-input placeholder="请选择" style="width: calc(100% - 50px); margin-left: 8px" disabled />-->
 							<!--				</a-col>-->
-							<a-col :span="6">
-								<span>创建人:</span>
-								<a-input placeholder="请输入名字" style="width: calc(100% - 64px); margin-left: 8px" />
-							</a-col>
+<!--							<a-col :span="6">-->
+<!--								<span>创建人:</span>-->
+<!--								<a-input placeholder="请输入名字" style="width: calc(100% - 64px); margin-left: 8px" />-->
+<!--							</a-col>-->
 
 						</a-row>
 						<a-row style="margin-top: 16px">
@@ -762,7 +762,7 @@
 				verifyStatus: 1
 			}
 			console.log(params, '批量发布参数')
-			// handleRelease(params)
+			handleRelease(params)
 		} else {
 			const params = {
 				ids: publishedData.value.id,

+ 1 - 1
src/views/myResources/releaseModal.vue

@@ -28,7 +28,7 @@
 			</a-form-item> -->
 
 			<a-form-item label="资源描述" name="courseDesc">
-				<a-textarea v-model:value="uploadForm.courseDesc" placeholder="请输入资源描述" :rows="4"/>
+				<a-textarea v-model:value="uploadForm.courseDesc" placeholder="请输入资源描述" :rows="4"  maxlength="50" showCount/>
 			</a-form-item>
 
 			<a-form-item label="上传封面" name="coverImageId">

+ 2 - 4
src/views/portal/components/UserHeader.vue

@@ -66,7 +66,6 @@
 	import {ExclamationCircleOutlined, FolderOutlined} from '@ant-design/icons-vue'
 	import { Modal } from 'ant-design-vue'
 	import loginApi from '@/api/auth/loginApi'
-	import {getCount} from '@/api/portal/index'
 	import { message } from 'ant-design-vue'
 	import { ref } from 'vue'
 	import { useRouter, useRoute } from 'vue-router'
@@ -183,9 +182,8 @@
 		getCounts()
 	})
 
-	EventBus.off('getCount', getCounts)
-	EventBus.on('getCount', getCounts)
-
+	EventBus.off('getCounts', getCounts)
+	EventBus.on('getCounts', getCounts)
 </script>
 
 <style scoped lang="less">

+ 7 - 2
src/views/resourceCenter/components/ResourceList.vue

@@ -206,7 +206,10 @@ const onChange = (page, pageSize) => {
 
 const getList = () => {
 	loading.value = true
-	list({...currentPage, ...queryData.value})
+
+	let json = JSON.parse(JSON.stringify(currentPage))
+	json.date = undefined
+	list({...json, ...queryData.value})
 		.then((res) => {
 			console.log('下面列表获取', res)
 			if (res.code == 200) {
@@ -227,7 +230,9 @@ const upLoadList = (data) => {
 	currentPage.size = 12
 	queryData.value = data
 	loading.value = true
-	list({...currentPage, ...queryData.value})
+	let json = JSON.parse(JSON.stringify(currentPage))
+	json.date = undefined
+	list({...json, ...queryData.value})
 		.then((res) => {
 			// console.log('外面控制的刷新列表', res)
 			if (res.code == 200) {

+ 1 - 1
src/views/resourceDetails/components/ShareDialog.vue

@@ -7,7 +7,7 @@
 			</div>
 
 			<div style="display: flex; align-items: center; width: 100%; justify-content: space-between">
-				<p>{{ thisUrl }}</p>
+				<p style="width: 90%">{{ thisUrl }}</p>
 			</div>
 			<a-button type="primary" @click="copyLink()">复制链接</a-button>
 		</div>

+ 1 - 1
src/views/resourceDetails/components/TallItem.vue

@@ -110,7 +110,7 @@
 			</div>
 			<div v-if="tallTag">
 				<div>
-					<a-textarea placeholder="" v-model:value="talk" :rows="4" style="margin-top: 5px" />
+					<a-textarea placeholder="" v-model:value="talk" :rows="4" style="margin-top: 5px" maxlength="100" showCount/>
 					<div style="display: flex; justify-content: flex-end; margin-top: 10px">
 						<a-button style="width: 100px" @click="handerPublish">回复</a-button>
 					</div>

+ 24 - 5
src/views/resourceDetails/components/TallList.vue

@@ -25,7 +25,7 @@
 					</div>
 
 					<div style="width: 100%; height: 100%; display: flex; position: relative">
-						<a-textarea placeholder="" :rows="4" disabled style="margin-top: 5px" />
+						<a-textarea placeholder="" :rows="4" disabled style="margin-top: 5px" maxlength="100" showCount/>
 						<div
 							style="
 								flex-direction: column;
@@ -75,8 +75,8 @@
 <!--						<span style="display: block; font-size: 10px">未登录</span>-->
 <!--					</div>-->
 
-					<div style="width: 100%; height: 100%; display: flex; position: relative;  margin-left: 10px">
-						<a-textarea placeholder="" :rows="4" v-model:value="talk" style="margin-top: 5px" />
+					<div style="width: 100%; height: 100%;  position: relative;  margin-left: 10px">
+						<a-textarea placeholder="" :rows="4" v-model:value="talk" style="margin-top: 5px" maxlength="100" showCount/>
 					</div>
 				</div>
 				<div style="display: flex; justify-content: flex-end; margin-top: 10px">
@@ -141,7 +141,7 @@
 	const tabKey = ref(0)
 	const total = ref(0)
 	const route = useRoute()
-	const id = route.query.id
+	let id = route.query.id
 	const talk = ref('')
 
 	const pagers = reactive({
@@ -255,6 +255,8 @@
 	}
 
 	const getPageComment = () => {
+		talk.value = ''
+		id = route.query.id
 		pageComment({ resourceId: id, ...pagers })
 			.then((res) => {
 				if (res.code == 200) {
@@ -289,6 +291,7 @@
 	}
 	const onGetPageCommentNew = (data) => {
 		getPageCommentNew(data)
+		getPageComment()
 	}
 	const getHotPageComment = () => {
 		getTalkPageList({ resourceId: id, ...pagers })
@@ -304,15 +307,31 @@
 				console.log(err)
 			})
 	}
+	const openResourceDetailsInner = (data) => {
+		console.log('放进去了123123    ', id)
+		pageComment({ resourceId: data.id, ...pagers })
+			.then((res) => {
+				if (res.code == 200) {
+					talkList.value = res.data.records
+					console.log('放进去了', talkList.value)
+					pagers.pages = res.data.pages
+					pagers.size = res.data.size
 
+					total.value = res.data.total
+				}
+			})
+			.catch((err) => {
+				console.log(err)
+			})
+	}
 	onMounted(() => {
 		// getList()
+		id = route.query.id
 		getPageComment()
 	})
 
 	EventBus.off('onGetPageComment', handelrSelectTabget)
 	EventBus.on('onGetPageComment', handelrSelectTabget)
-
 	defineExpose({ onGetPageCommentNew })
 	// EventBus.off('onGetPageCommentNew', getPageCommentNew)
 	// EventBus.on('onGetPageCommentNew', getPageCommentNew)

+ 4 - 0
src/views/resourceDetails/components/VideoDetails.vue

@@ -20,6 +20,7 @@
 						<!-- <image :src="resSrc" style="object-fit: cover" /> -->
 					</div>
 					<!-- "wmv","avi","flv","mpeg","mpg","rmvb","mov","mkv" -->
+
 					<div
 						v-if="
 						videoFormat == 'mkv' ||
@@ -37,6 +38,7 @@
 						<video :src="resSrc" controls style="width: 100%; height: 100%" />
 					</div>
 					<!-- "doc","docx","ppt","pptx","xls","xlsx" -->
+<!--					'jpg','png','pdf','mp4','wmv','avi','flv','mpeg','mpg','rmvb','mov','mkv','docx','doc','xlsx','xls','pptx','ppt','txt','cad','zip','rar','dwg','dxf','dwt'-->
 					<div
 						v-if="
 						videoFormat == 'docx' ||
@@ -55,7 +57,9 @@
 						<!-- <a-button type="primary" @click="handleDownload(resSrc)">去预览</a-button> -->
 					</div>
 <!--					'jpg','png','pdf','mp4','docx','doc','xlsx','xls','pptx','ppt','txt','cad','zip','rar','dwg','dxf','dwt'-->
+<!--					'cad','zip','rar','dwg','dxf','dwt'-->
 					<div
+
 						v-if="
 						videoFormat == 'txt' ||
 						videoFormat == 'cad' ||

+ 1 - 1
src/views/resourceDetails/index.vue

@@ -103,7 +103,7 @@
 				if (res.code == 200) {
 					itemData.value = res.data
 
-					// VideoDetailsRef.value.setData(res.data)
+					VideoDetailsRef.value.setData(res.data)
 				}
 			})
 			.catch((err) => {})

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
stats.html


Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor