canghailong 6 месяцев назад
Родитель
Сommit
9c5b68f81c

+ 4 - 0
.env.production

@@ -12,6 +12,10 @@ VITE_FILEURL = http://192.168.1.245:10005/education/
 # VITE_API_BASEURL = http://22.120.128.109:19003
 # VITE_FILEURL = http://22.120.128.108:10005/education/
 
+# 打包地址1
+# VITE_API_BASEURL = http://192.168.1.232:19004
+# VITE_FILEURL = http://192.168.1.232:10005/education/
+
 
 # 本地端口
 VITE_PORT = 9000

+ 10 - 13
src/views/resourceDetails/components/TabSwitcher.vue

@@ -1,10 +1,10 @@
 <template>
 	<div class="tab-switcher">
-		<div :class="{ active: selectedTab === 'latest' }" class="fcc" @click="selectTab('latest')">
-			<span style="font-size: 10px">最新</span>
+		<div :class="{ active: selectedTab === 'latest' }" @click="selectTab('latest')">
+			<span style="font-size: 12px">最新</span>
 		</div>
-		<div :class="{ active: selectedTab === 'hot' }" class="fcc" @click="selectTab('hot')">
-			<span style="font-size: 10px">热门</span>
+		<div :class="{ active: selectedTab === 'hot' }" @click="selectTab('hot')">
+			<span style="font-size: 12px">热门</span>
 		</div>
 	</div>
 </template>
@@ -25,25 +25,22 @@
 <style scoped>
 	.tab-switcher {
 		display: flex;
-		border-radius: 20px;
+		border-radius: 4px;
 		border: 1px solid #1e90ff;
 		overflow: hidden;
 	}
 
 	.tab-switcher div {
-		padding: 2px 15px;
-		background-color: #f5f5f5;
-
+		padding: 2px 20px;
+		background-color: white;
 		cursor: pointer;
+		display: flex;
+		justify-content: center;
+		align-items: center;
 	}
 
 	.tab-switcher div.active {
 		background-color: #1e90ff;
 		color: white;
 	}
-	.fcc {
-		display: flex;
-		justify-content: center;
-		align-items: center;
-	}
 </style>

+ 52 - 34
src/views/resourceDetails/components/TallItem.vue

@@ -2,7 +2,11 @@
 	<div>
 		<div>
 			<div style="display: flex; margin-left: 10px; margin-right: 10px">
-				<div style="width: 40px; height: 40px; background: #1e90ff; border-radius: 50%; margin-right: 10px"></div>
+				<div style="margin-right: 10px">
+					<a-avatar :src="props.item.avatar">
+						<template #icon><UserOutlined /></template>
+					</a-avatar>
+				</div>
 				<div style="width: 100%">
 					<div style="display: flex; flex-direction: column; margin-bottom: 0px">
 						<span style="display: block; font-size: 14px; font-weight: bold; margin-bottom: 0px">{{
@@ -19,6 +23,11 @@
 								<MessageOutlined style="cursor: pointer" @click="handerMessage" />
 								<span style="margin-left: 5px">{{ props.item.childSize }}</span>
 							</div>
+							<div v-if="userInfo.id == props.item.userId" class="ml-3">
+								<a-popconfirm title="确定要删除么?" ok-text="确定" cancel-text="取消" @confirm="confirm($event, props.item)">
+									<delete-outlined />
+								</a-popconfirm>
+							</div>
 							<div style="margin-left: 15px">
 								<LikeFilled v-if="item.giveNumSelf > 0" style="cursor: pointer" @click="handerfollwDecrease" />
 								<LikeOutlined v-if="item.giveNumSelf == 0" style="cursor: pointer" @click="handerfollw" />
@@ -28,9 +37,19 @@
 					</div>
 				</div>
 			</div>
-			<div v-show="props.item.child.length > 0" v-for="(item, index) in props.item.child" :key="index">
-				<div style="display: flex; margin-left: 50px; margin-right: 0px">
-					<div style="width: 40px; height: 40px; background: #1e90ff; border-radius: 50%; margin-right: 10px"></div>
+			<a-divider />
+			<div
+				v-show="props.item.child.length > 0"
+				v-for="(item, index) in props.item.child"
+				:key="index"
+				style="margin-left: 50px"
+			>
+				<div style="display: flex">
+					<div style="margin-right: 10px">
+						<a-avatar :src="item.avatar">
+							<template #icon><UserOutlined /></template>
+						</a-avatar>
+					</div>
 					<div style="width: 100%">
 						<div style="display: flex; flex-direction: column; margin-bottom: 0px">
 							<span style="display: block; font-size: 14px; font-weight: bold; margin-bottom: 5px">{{
@@ -44,9 +63,19 @@
 							</div>
 							<div style="display: flex">
 								<!-- <div>
-								<MessageOutlined @click="handerMessage" />
-								<span style="margin-left: 5px">10</span>
-							</div> -->
+									<MessageOutlined @click="handerMessage" />
+									<span style="margin-left: 5px">10</span>
+								</div> -->
+								<div v-if="userInfo.id == item.userId">
+									<a-popconfirm
+										title="确定要删除么?"
+										ok-text="确定"
+										cancel-text="取消"
+										@confirm="confirm($event, item)"
+									>
+										<delete-outlined />
+									</a-popconfirm>
+								</div>
 								<div style="margin-left: 15px">
 									<LikeFilled
 										v-if="item.giveNumSelf > 0"
@@ -60,8 +89,8 @@
 						</div>
 					</div>
 				</div>
+				<a-divider />
 			</div>
-
 			<div v-if="tallTag">
 				<div>
 					<a-textarea placeholder="" v-model:value="talk" :rows="4" style="margin-top: 5px" :maxlength="500" />
@@ -87,15 +116,16 @@
 		pageComment,
 		addComment,
 		giveComment,
-		giveCancelComment
+		giveCancelComment,
+		deleteComment
 	} from '@/api/portal'
+	import { globalStore } from '@/store'
+	const store = globalStore()
+	const userInfo = computed(() => {
+		return store.userInfo
+	})
 	const emit = defineEmits(['selectTab'])
 
-	// id: 1,
-	// 			name: '张三',
-	// 			talk: '今天,我被你给打赏了1000元,请给我一个好评,谢谢',
-	// 			follw: 0,
-
 	const props = defineProps({
 		item: {
 			type: Object,
@@ -105,31 +135,22 @@
 			type: String,
 			default: () => ''
 		}
-		// talk: {
-		// 	type: String,
-		// 	default: () => ''
-		// },
-		// follw: {
-		// 	type: Number,
-		// 	default: () => 0
-		// },
-		// callBackTalk: {
-		// 	type: Array,
-		// 	default: () => []
-		// }
 	})
 	const listUnpublishedView = ref(null)
 	const tallTag = ref(false)
 	const talk = ref('')
 	const handerMessage = (form) => {
-		console.log('查询内容', form)
+		talk.value = ''
 		tallTag.value == true ? (tallTag.value = false) : (tallTag.value = true)
 		EventBus.emit('closeInput', null, props.item.id)
-
 		EventBus.emit('upDataDetailsNum')
-		//....
-
-		// listUnpublishedView.value.setData(tableData.value)
+	}
+	const confirm = (e, o) => {
+		delMessage(o)
+	}
+	const delMessage = async (event) => {
+		await deleteComment([{ id: event.id }])
+		EventBus.emit('onGetPageComment')
 	}
 
 	const handerfollw = async () => {
@@ -153,9 +174,6 @@
 	const handerPublish = () => {
 		tallTag.value = false
 		emit('publish', { resourceId: props.id, id: props.item.id, talk: talk.value })
-
-		//....
-		// listUnpublishedView.value.setData(tableData.value)
 	}
 	const handleCloseInput = (data, tag) => {
 		if (props.item.id != tag) {

+ 52 - 156
src/views/resourceDetails/components/TallList.vue

@@ -1,100 +1,54 @@
 <template>
-	<div style="display: flex">
-		<div class="tallList">
-			<div>
-				<span style="font-weight: bold; font-size: 14px">发表评论</span>
-				<span class="tallListInfo">文明上网理性发言,请遵守评论服务协议</span>
-			</div>
-			<!-- 切换 -->
-			<div v-if="false">
-				<div style="display: flex">
-					<div style="display: flex; flex-direction: column; margin-left: 10px; margin-right: 10px">
-						<div
-							style="
-								width: 30px;
-								height: 30px;
-								background: #1e90ff;
-								border-radius: 50%;
-								margin-top: 15px;
-								margin-right: 15px;
-							"
-						></div>
-						<span style="display: block; font-size: 10px">未登录</span>
-					</div>
+	<div style="display: flex" class="mt-3">
+		<a-card class="flex-3 mr-3">
+			<div class="tallList">
+				<div>
+					<span style="font-weight: bold;">发表评论</span>
+					<span class="tallListInfo ml-3">文明上网理性发言,请遵守评论服务协议</span>
+				</div>
+				<div class="mt-3">
+					<div style="display: flex">
+						<div style="display: flex; flex-direction: column; margin-left: 10px; margin-right: 10px">
+							<div style="margin-right: 15px">
+								<a-avatar :src="userInfo.avatar">
+									<template #icon><UserOutlined /></template>
+								</a-avatar>
+							</div>
+							<span style="display: block; font-size: 12px">{{ userInfo.name }}</span>
+						</div>
 
-					<div style="width: 100%; height: 100%; display: flex; position: relative">
-						<a-textarea placeholder="" :rows="4" disabled style="margin-top: 5px" :maxlength="500"/>
-						<div
-							style="
-								flex-direction: column;
-								display: flex;
-								justify-content: center;
-								align-items: center;
-								position: absolute;
-								left: 50%;
-								top: 50%;
-								transform: translate(-50%, -50%);
-							"
-						>
-							<span style="display: block; cursor: pointer; font-size: 12px">登陆后可以发表评论</span>
-							<span style="display: block; cursor: pointer; font-size: 12px; color: #1e90ff">立即登录</span>
+						<div style="width: 100%; height: 100%; display: flex; position: relative">
+							<a-textarea placeholder="" :rows="4" v-model:value="talk" style="margin-top: 5px" :maxlength="500" />
 						</div>
 					</div>
+					<div style="display: flex; justify-content: flex-end; margin-top: 10px">
+						<a-button style="width: 100px" @click="handerPublish">发布</a-button>
+					</div>
+				</div>
+				<a-divider />
+				<div style="display: flex; justify-content: flex-end">
+					<TabSwitcher @selectTab="handelrSelectTab"></TabSwitcher>
 				</div>
-				<div style="display: flex; justify-content: flex-end; margin-top: 10px">
-					<a-button style="width: 100px" disabled>发布</a-button>
+				<div>
+					<TallItem v-for="(item, index) in talkList" :key="index" :item="item" :id="id" @publish="publish"></TallItem>
 				</div>
 			</div>
-			<div>
-				<div style="display: flex">
-					<div style="display: flex; flex-direction: column; margin-left: 10px; margin-right: 10px">
-						<div
-							style="
-								width: 30px;
-								height: 30px;
-								background: #1e90ff;
-								border-radius: 50%;
-								margin-top: 15px;
-								margin-right: 15px;
-							"
-						></div>
-						<span style="display: block; font-size: 10px">未登录</span>
-					</div>
-
-					<div style="width: 100%; height: 100%; display: flex; position: relative">
-						<a-textarea placeholder="" :rows="4" v-model:value="talk" style="margin-top: 5px" :maxlength="500" />
-					</div>
+		</a-card>
+		<a-card class="flex-1">
+			<div class="equalList">
+				<div style="display: flex; align-items: center">
+					<span style="font-size: 20px; font-weight: bold">同类型资源</span>
 				</div>
-				<div style="display: flex; justify-content: flex-end; margin-top: 10px">
-					<a-button style="width: 100px" @click="handerPublish">发布</a-button>
+				<div style="display: flex; flex-direction: column; padding: 10px">
+					<EqualItem
+						v-for="(item, index) in equalList"
+						:key="index"
+						:item="item"
+						:class="equalList.length == index + 1 ? '' : 'mb-2'"
+					></EqualItem>
 				</div>
 			</div>
-
-			<div style="display: flex; justify-content: space-between; margin-top: 40px">
-				<!-- <div style="display: flex; align-items: center">
-					<span style="font-weight: bold">全部评论</span>
-					<span style="font-size: 10px; color: darkgray; margin-left: 5px">{{ total }}</span>
-				</div> -->
-				<div></div>
-				<TabSwitcher @selectTab="handelrSelectTab"></TabSwitcher>
-			</div>
-
-			<div class="line"></div>
-
-			<div>
-				<TallItem v-for="(item, index) in talkList" :key="index" :item="item" :id="id" @publish="publish"></TallItem>
-			</div>
-		</div>
-
-		<div class="equalList">
-			<div style="display: flex; align-items: center">
-				<div class="resInfoTitile"></div>
-				<span style="font-size: 20px; font-weight: bold">同类型资源</span>
-			</div>
-			<div style="display: flex; flex-direction: column; padding: 10px;">
-				<EqualItem v-for="(item, index) in equalList" :key="index" :item="item" :class="equalList.length == index+1 ?'':'mb-2'"></EqualItem>
-			</div>
-		</div>
+		</a-card>
 	</div>
 </template>
 
@@ -116,6 +70,11 @@
 	} from '@/api/portal'
 	import { useRoute } from 'vue-router'
 	import EventBus from '@/utils/EventBus'
+	import { globalStore } from '@/store'
+	const store = globalStore()
+	const userInfo = computed(() => {
+		return store.userInfo
+	})
 	const currentPage = reactive({
 		funcType: 2,
 		current: 1,
@@ -136,16 +95,6 @@
 
 	const equalList = ref([])
 	const talkList = ref([])
-
-	// callBackTalk: [
-	// 			{
-	// 				id: 2,
-	// 				name: '李四',
-	// 				talk: '不给',
-	// 				follw: 0
-	// 			}
-	// 		]
-
 	const getList = () => {
 		list(currentPage)
 			.then((res) => {
@@ -153,9 +102,6 @@
 				if (res.code == 200) {
 					equalList.value = res.data.records
 					currentPage.current = res.data.current
-					// "size": 20,
-					//                 "current": 1,
-					//   "pages": 1
 				}
 			})
 			.catch((err) => {
@@ -163,7 +109,6 @@
 			})
 	}
 	const publish = (data) => {
-		// { pid: props.item.id, talk }
 		addComment({ pid: data.id, resourceId: data.resourceId, commentName: data.talk })
 			.then((res) => {
 				getPageComment()
@@ -172,14 +117,6 @@
 			.catch((err) => {
 				console.log(err)
 			})
-		// list.value[0].callBackTalk.push({
-		// 	id: 1,
-		// 	name: '张三',
-		// 	talk: '今天,我被你给打赏了1000元,请给我一个好评,谢谢123123123',
-		// 	follw: 0
-		// })
-		// list.value = [...list.value]
-		// console.log('最后的', list.value)
 	}
 	const handelrSelectTab = (data) => {
 		if (data == 'latest') {
@@ -189,7 +126,6 @@
 		}
 		pagers.pages = 1
 		pagers.size = 20
-		// pagers.sortflag = tabKey.value
 		if (tabKey.value == 0) {
 			getPageComment()
 		} else {
@@ -206,16 +142,7 @@
 			.catch((err) => {
 				console.log(err)
 			})
-		//....
-		// listUnpublishedView.value.setData(tableData.value)
 	}
-	const onQuery = (form) => {
-		console.log('查询内容', form)
-		//....
-
-		// listUnpublishedView.value.setData(tableData.value)
-	}
-
 	const getPageComment = () => {
 		pageComment({ resourceId: id, ...pagers })
 			.then((res) => {
@@ -239,9 +166,6 @@
 				if (res.code == 200) {
 					equalList.value = res.data.records
 					currentPage.current = res.data.current
-					// "size": 20,
-					//                 "current": 1,
-					//   "pages": 1
 				}
 			})
 			.catch((err) => {
@@ -267,7 +191,6 @@
 	}
 
 	onMounted(() => {
-		// getList()
 		getPageComment()
 	})
 
@@ -275,33 +198,9 @@
 	EventBus.on('onGetPageComment', getPageComment)
 
 	defineExpose({ onGetPageCommentNew })
-	// EventBus.off('onGetPageCommentNew', getPageCommentNew)
-	// EventBus.on('onGetPageCommentNew', getPageCommentNew)
 </script>
 
 <style scoped>
-	.tab-switcher {
-		display: flex;
-		border-radius: 20px;
-		border: 1px solid #1e90ff;
-		overflow: hidden;
-	}
-
-	.tab-switcher div {
-		padding: 2px 20px;
-		background-color: #f5f5f5;
-
-		cursor: pointer;
-	}
-
-	.tab-switcher div.active {
-		background-color: #1e90ff;
-		color: white;
-	}
-
-	.tab-switcher div:not(:last-child) {
-	}
-
 	.user-info {
 		display: flex;
 		align-items: center;
@@ -432,10 +331,6 @@
 	.tallList {
 		display: flex;
 		flex-direction: column;
-		border: 1px solid #dfe2e5;
-		padding: 20px;
-		margin-top: 10px;
-		flex:1;
 	}
 
 	.tallListInfo {
@@ -454,11 +349,6 @@
 	.equalList {
 		display: flex;
 		flex-direction: column;
-		width: 300px;
-		border: 1px solid #dfe2e5;
-		padding: 10px;
-		margin-top: 10px;
-		margin-left: 10px;
 	}
 	.resInfoTitile {
 		width: 5px;
@@ -466,4 +356,10 @@
 		background-color: #1e90ff;
 		margin-right: 5px;
 	}
+	.flex-3 {
+		flex: 3;
+	}
+	.flex-1 {
+		flex: 1;
+	}
 </style>

+ 132 - 129
src/views/resourceDetails/components/VideoDetails.vue

@@ -1,139 +1,137 @@
 <template>
 	<div>
 		<h1>{{ resName }}</h1>
-		<div style="height: 25px"></div>
 		<div class="user-info-container">
-			<div class="video-info">
-				<div
-					v-if="videoFormat == 'jpg' || videoFormat == 'bmp' || videoFormat == 'png' || videoFormat == 'jpeg'"
-					style="width: 100%; height: 600px"
-				>
-					<a-image width="100%" height="600px" :src="fileSrc(resSrc)" :preview="true" />
-				</div>
-				<div
-					v-if="
-						videoFormat == 'mkv' ||
-						videoFormat == 'mp4' ||
-						videoFormat == 'wmv' ||
-						videoFormat == 'avi' ||
-						videoFormat == 'flv' ||
-						videoFormat == 'mpeg' ||
-						videoFormat == 'mpg' ||
-						videoFormat == 'rmvb' ||
-						videoFormat == 'mov'
-					"
-					style="width: 100%; height: 600px"
-				>
-					<video :src="fileSrc(resSrc)" controls style="width: 100%; height: 100%" />
-				</div>
-				<div
-					v-if="
-						videoFormat == 'docx' ||
-						videoFormat == 'doc' ||
-						videoFormat == 'ppt' ||
-						videoFormat == 'pptx' ||
-						videoFormat == 'xls' ||
-						videoFormat == 'xlsx' ||
-						videoFormat == 'pdf'
-					"
-					style="width: 100%; height: 600px"
-				>
-					<FilePreviewer v-if="resSrc" :fileUrl="fileSrc(resSrc)" :fileName="resName" :fileType="fileType" />
-					<div v-if="!resSrc">暂无数据</div>
-				</div>
-				<div style="height: 20px"></div>
-				<!-- 用户信息部分 -->
-				<div class="user-info" style="display: flex; flex-direction: column">
-					<div style="display: flex; align-items: center; justify-content: space-between; width: 100%">
-						<div style="display: flex; align-items: center">
-							<div class="user-avatar"></div>
-							<div class="user-details">
-								<div class="user-name">{{ itemData.resourceCreaterUserName }}</div>
-								<div class="publish-time">{{ itemData.uploadTime }}</div>
-							</div>
-						</div>
-
-						<div style="display: flex; align-items: center" v-if="!isState">
-							<div class="metrics">
-								<div class="metric-item">
-									<span>{{ itemData.viewCount }}</span>
-									<span>播放量</span>
-								</div>
-								<div class="liene"></div>
-								<div class="metric-item">
-									<span>{{ talkNum }}</span>
-									<span>评论</span>
-								</div>
-								<div class="liene"></div>
-								<div class="metric-item">
-									<span>{{ collectNum }}</span>
-									<span>收藏</span>
+			<a-card :bordered="false" class="boxShadow cardBox mr-3 flex-3">
+				<div class="video-info">
+					<div
+						v-if="videoFormat == 'jpg' || videoFormat == 'bmp' || videoFormat == 'png' || videoFormat == 'jpeg'"
+						style="width: 100%; height: 600px"
+					>
+						<a-image width="100%" height="600px" :src="fileSrc(resSrc)" :preview="true" />
+					</div>
+					<div
+						v-if="
+							videoFormat == 'mkv' ||
+							videoFormat == 'mp4' ||
+							videoFormat == 'wmv' ||
+							videoFormat == 'avi' ||
+							videoFormat == 'flv' ||
+							videoFormat == 'mpeg' ||
+							videoFormat == 'mpg' ||
+							videoFormat == 'rmvb' ||
+							videoFormat == 'mov'
+						"
+						style="width: 100%; height: 600px"
+					>
+						<video :src="fileSrc(resSrc)" controls style="width: 100%; height: 100%" />
+					</div>
+					<div
+						v-if="
+							videoFormat == 'docx' ||
+							videoFormat == 'doc' ||
+							videoFormat == 'ppt' ||
+							videoFormat == 'pptx' ||
+							videoFormat == 'xls' ||
+							videoFormat == 'xlsx' ||
+							videoFormat == 'pdf'
+						"
+						style="width: 100%; height: 600px"
+					>
+						<FilePreviewer v-if="resSrc" :fileUrl="fileSrc(resSrc)" :fileName="resName" :fileType="fileType" />
+						<div v-if="!resSrc">暂无数据</div>
+					</div>
+					<!-- 用户信息部分 -->
+					<div class="user-info" style="display: flex; flex-direction: column">
+						<div style="display: flex; align-items: center; justify-content: space-between; width: 100%">
+							<div style="display: flex; align-items: center">
+								<div class="user-avatar"></div>
+								<div class="user-details">
+									<div class="user-name">{{ itemData.resourceCreaterUserName }}</div>
+									<div class="publish-time">{{ itemData.uploadTime }}</div>
 								</div>
 							</div>
-							<div style="width: 10px"></div>
-							<div class="actions">
-								<div
-									style="display: flex; align-items: center; cursor: pointer; margin-right: 5px"
-									@click="handlerShareDialog"
-								>
-									<ExportOutlined />
-									<div style="width: 10px"></div>
-									<button class="share-btn">分享资源</button>
+
+							<div style="display: flex; align-items: center" v-if="!isState">
+								<div class="metrics">
+									<div class="metric-item">
+										<span>{{ itemData.viewCount }}</span>
+										<span>播放量</span>
+									</div>
+									<div class="liene"></div>
+									<div class="metric-item">
+										<span>{{ talkNum }}</span>
+										<span>评论</span>
+									</div>
+									<div class="liene"></div>
+									<div class="metric-item">
+										<span>{{ collectNum }}</span>
+										<span>收藏</span>
+									</div>
 								</div>
-								<div style="display: flex; align-items: center; cursor: pointer" @click="handlerCollection">
-									<StarOutlined v-if="starTag == false" />
-									<StarFilled v-if="starTag == true" />
-									<div style="width: 10px"></div>
-									<button class="favorite-btn">收藏资源</button>
+								<div style="width: 10px"></div>
+								<div class="actions">
+									<div
+										style="display: flex; align-items: center; cursor: pointer; margin-right: 5px"
+										@click="handlerShareDialog"
+									>
+										<ExportOutlined />
+										<div style="width: 10px"></div>
+										<button class="share-btn">分享资源</button>
+									</div>
+									<div style="display: flex; align-items: center; cursor: pointer" @click="handlerCollection">
+										<StarOutlined v-if="starTag == false" />
+										<StarFilled v-if="starTag == true" />
+										<div style="width: 10px"></div>
+										<button class="favorite-btn">收藏资源</button>
+									</div>
 								</div>
 							</div>
 						</div>
 					</div>
-					
-				</div>
-			</div>
-			<div class="resInfo">
-				<div class="titleBox">
-					<div class="resInfoTitile"></div>
-					<span style="display: block; font-weight: bold;font-size: 20px;">资源信息</span>
-				</div>
-				<div class="lableBox">
-					<span style="display: block; font-weight: bold;font-size: 18px;">{{ resName }}</span>
-				</div>
-
-				<div class="lableBox">
-					<span class="lableName">所属院系: </span>
-					<span class="lableVal">{{ department }}</span>
 				</div>
+			</a-card>
+			<a-card class="flex-1">
+				<div class="resInfo">
+					<div class="titleBox">
+						<span style="display: block; font-weight: bold; font-size: 20px">资源信息</span>
+					</div>
+					<div class="lableBox">
+						<span style="display: block; font-weight: bold; font-size: 18px">{{ resName }}</span>
+					</div>
 
-				<div class="lableBox">
-					<span class="lableName">资源类型: </span>
-					<span class="lableVal">{{ courseType }}</span>
-				</div>
-				<div class="lableBox">
-					<span class="lableName">资源格式: </span>
-					<span class="lableVal">{{ videoFormat }}</span>
-				</div>
+					<div class="lableBox">
+						<span class="lableName">所属院系: </span>
+						<span class="lableVal">{{ department }}</span>
+					</div>
 
-				<div class="lableBox">
-					<span class="lableName">容量大小: </span>
-					<span class="lableVal">{{ videoSize }}</span>
-				</div>
-				<div class="lableBox">
-					<span class="lableName">发布时间: </span>
-					<span class="lableVal">{{ releaseTime }}</span>
-				</div>
-				<div class="lableBox">
-					<span class="lableName">资源描述: </span>
-					<span class="lableVal">{{ itemData.resourceDesc }}</span>
-				</div>
+					<div class="lableBox">
+						<span class="lableName">资源类型: </span>
+						<span class="lableVal">{{ courseType }}</span>
+					</div>
+					<div class="lableBox">
+						<span class="lableName">资源格式: </span>
+						<span class="lableVal">{{ videoFormat }}</span>
+					</div>
 
-				<br />
-				<span>资源标签</span>
-				<div style="display: flex; width: 100%; flex-wrap: wrap">
-					<a-tag style="margin-top: 5px" v-for="tag in tags" :key="tag">{{ tag }}</a-tag>
+					<div class="lableBox">
+						<span class="lableName">容量大小: </span>
+						<span class="lableVal">{{ videoSize }}</span>
+					</div>
+					<div class="lableBox">
+						<span class="lableName">发布时间: </span>
+						<span class="lableVal">{{ releaseTime }}</span>
+					</div>
+					<div class="lableBox">
+						<span class="lableName">资源描述: </span>
+						<span class="lableVal">{{ itemData.resourceDesc }}</span>
+					</div>
+					<span>资源标签</span>
+					<div style="display: flex; width: 100%; flex-wrap: wrap">
+						<a-tag style="margin-top: 5px" v-for="tag in tags" :key="tag">{{ tag }}</a-tag>
+					</div>
 				</div>
-			</div>
+			</a-card>
 		</div>
 		<ShareDialog ref="ShareDialogRef"></ShareDialog>
 	</div>
@@ -344,8 +342,6 @@
 		display: flex;
 		align-items: center;
 		width: 100%;
-		height: 90px;
-		border: 1px solid #dfe2e5;
 		padding: 20px;
 	}
 
@@ -457,16 +453,10 @@
 		height: 100%; /* 确保填满容器高度 */
 		flex: 1;
 	}
-	.resInfo {
-		margin-left: 10px;
-		width: 300px;
-		height: 710px;
-		border: 1px solid #dfe2e5;
-		padding: 10px;
-	}
 
 	.user-info-container {
 		display: flex;
+		align-items: stretch;
 	}
 
 	.resInfoTitile {
@@ -508,4 +498,17 @@
 		width: 200px;
 		margin-left: 6px;
 	}
+	.boxShadow {
+		border: 1px solid rgba(0, 0, 0, 0.04);
+		border-radius: 4px;
+	}
+	:deep(.cardBox .ant-card-body) {
+		padding: 0;
+	}
+	.flex-3 {
+		flex: 3;
+	}
+	.flex-1 {
+		flex: 1;
+	}
 </style>

+ 8 - 29
src/views/resourceDetails/index.vue

@@ -1,15 +1,13 @@
 <template>
-	<a-card>
-		<div style="width: 100%">
+	<div>
+		<div>
 			<VideoDetails :isState="isState" ref="VideoDetailsRef" @onGetPageCommentNew="onGetPageCommentNew" />
+		</div>
+		<div>
 			<TallList ref="tallList" v-show="!isState" />
-			<div style="display: flex; justify-content: flex-end; margin-top: 10px" v-if="isAudit && isState">
-				<a-button @click="handleAuditResult(3)" style="margin-right: 10px">不同意</a-button>
-				<a-button type="primary" @click="handleAuditResult(2)">同意</a-button>
-			</div>
 		</div>
-		<forumBtn :forumData="forumData" :isShow="[1,3]"></forumBtn>
-	</a-card>
+		<forumBtn :forumData="forumData" :isShow="[1, 3]"></forumBtn>
+	</div>
 </template>
 
 <script setup>
@@ -20,7 +18,6 @@
 	import { useRoute, useRouter } from 'vue-router'
 	import TallList from './components/TallList.vue'
 	import { addViewCount, detail, add, queryList } from '@/api/portal'
-	import resourceAuditApi from '@/api/resourceAudit.js'
 	import EventBus from '@/utils/EventBus'
 	import classCentre from '@/api/student/classCentre'
 
@@ -32,28 +29,10 @@
 	const VideoDetailsRef = ref(null)
 	const route = useRoute()
 	const isState = ref(route.query.state || null)
-	const isAudit = ref(route.query.audit || null)
+
 	const onGetPageCommentNew = (item) => {
 		tallList.value.onGetPageCommentNew(item)
 	}
-	const handleAuditResult = (val) => {
-		const params = {
-			ids: route.query.id,
-			verifyStatus: val
-		}
-		resourceAuditApi
-			.updateStatus(params)
-			.then((res) => {
-				if (res.code == 200) {
-					// auditModalVisible.value = false
-					router.go(-1)
-				}
-				// getListData()
-			})
-			.catch((err) => {
-				console.error(err)
-			})
-	}
 	const onChangeCurrent = (current) => {
 		indexType.value = current
 
@@ -96,7 +75,7 @@
 	const forumData = computed(() => {
 		return {
 			id: route.query.id,
-			title: itemData.value.fileName ,
+			title: itemData.value.fileName
 		}
 	})
 	defineExpose({

+ 0 - 2
src/views/student/In-site-message/index.vue

@@ -16,8 +16,6 @@
 						:data="loadData"
 						bordered
 						:row-key="(record) => record.id"
-						:size="15"
-						:pageSizeOptions="['15', '30', '50', '100']"
 					>
 						<template #bodyCell="{ column, record }">
 							<template v-if="column.dataIndex === 'subject'">

+ 0 - 2
src/views/student/classNotice/index.vue

@@ -6,8 +6,6 @@
 			:data="loadData"
 			bordered
 			:row-key="(record) => record.id"
-			:size="15"
-			:pageSizeOptions="['15', '30', '50', '100']"
 		>
 			<template #bodyCell="{ column, record }">
 				<template v-if="column.dataIndex == 'platform'">{{ platformType(record.platform) }}</template>

+ 0 - 2
src/views/student/learningFootprint/index.vue

@@ -6,8 +6,6 @@
 			:data="loadData"
 			bordered
 			:row-key="(record) => record.id"
-			:size="15"
-			:pageSizeOptions="['15', '30', '50', '100']"
 		>
 			<template #bodyCell="{ column, record }">
 				<template v-if="column.dataIndex == 'endTime'">{{ classTime(record.endTime) }}</template>