Bläddra i källkod

问答编辑/问答列表

canghailong 7 månader sedan
förälder
incheckning
95e8a258cd

+ 7 - 5
src/views/student/classCentre/ask.vue

@@ -11,7 +11,7 @@
 				<a-skeleton avatar :title="false" :loading="!!item.loading" active>
 					<div style="width: 100%">
 						<a-list-item-meta>
-							<template #title>{{ item.name }}</template>
+							<template #title>{{ item.info }}</template>
 							<template #avatar v-if="item.avatar">
 								<a-avatar :src="item.avatar" />
 							</template>
@@ -28,11 +28,11 @@
 									<delete-outlined />
 								</a-tooltip>
 							</div>
-							<div class="ml-2" @click="giveFun(item)">
+							<!-- <div class="ml-2" @click="giveFun(item)">
 								<a-tooltip title="点赞" :getPopupContainer="(trigger) => trigger.parentElement">
 									<like-outlined :style="{ color: item.isLike == 1 ? '#fa6c8d' : '' }" />
 								</a-tooltip>
-							</div>
+							</div> -->
 						</div>
 					</div>
 				</a-skeleton>
@@ -65,6 +65,7 @@
 		getList()
 	})
 	const pagination = ref({
+		current:1,
 		onChange: (page) => {
 			pagination.value.current = page
 			getList()
@@ -75,6 +76,7 @@
 		classCentre
 			.askList(
 				{
+					current:pagination.value.current,
 					size: pagination.value.pageSize,
 					...props.idsObj
 				},
@@ -95,8 +97,8 @@
 	}
 
 	const editNote = (e) => {
-		itemNote.value = e.noteId
-		emit('edit', e)
+		itemNote.value = e.id
+		emit('edit', JSON.parse(JSON.stringify(e)))
 	}
 	const delNote = (e) => {
 		Modal.confirm({

+ 21 - 9
src/views/student/classCentre/form.vue

@@ -25,11 +25,8 @@
 								<a-textarea v-model:value="formData.noteContent" placeholder="请输入内容" :rows="4" />
 							</a-form-item>
 							<div v-if="itemObj.type == 4">
-								<a-form-item name="name" label="问题">
-									<a-input v-model:value="formData.name" placeholder="请输入问题" allow-clear />
-								</a-form-item>
-								<a-form-item name="remark" label="备注">
-									<a-textarea v-model:value="formData.remark" placeholder="请输入备注" :rows="4" />
+								<a-form-item name="info" label="问题">
+									<a-textarea v-model:value="formData.info" placeholder="请输入问题" :rows="4" />
 								</a-form-item>
 							</div>
 						</a-col>
@@ -84,17 +81,26 @@
 	const onOpen = (edit) => {
 		visible.value = true
 		if (edit) {
-			formData.value = edit
+			if (itemObj.value.type == 2) {
+				formData.value.noteId = edit.noteId
+				formData.value.noteContent = edit.noteContent
+			} else {
+				formData.value.info = edit.info
+				formData.value.id = edit.id
+			}
 		}
 	}
 	// 关闭抽屉
 	const onClose = () => {
 		formRef.value?.resetFields()
+		formData.value.id = null
+		formData.value.noteId = null
 		visible.value = false
 	}
 	// 默认要校验的
 	const formRules = {
-		noteContent: [required('请输入内容')]
+		noteContent: [required('请输入内容')],
+		info: [required('请输入内容')]
 	}
 	// 提交数据
 	const onSubmit = () => {
@@ -107,7 +113,7 @@
 						...props.idsObj,
 						...formData.value
 					},
-					formData.value.noteId
+					itemObj.value.type == 2 ? formData.value.noteId : formData.value.id
 				).then(() => {
 					emit('successful')
 					formRef.value.resetFields()
@@ -120,7 +126,13 @@
 	}
 	const editForm = (e) => {
 		onOpen(e)
-		formData.value = e
+		if (itemObj.value.type == 2) {
+			formData.value.noteId = e.noteId
+			formData.value.noteContent = e.noteContent
+		} else {
+			formData.value.info = e.info
+			formData.value.id = e.id
+		}
 	}
 	const videoSpeed = (e) => {
 		emit('videoSpeed', e)

+ 24 - 22
src/views/student/classCentre/index.vue

@@ -65,29 +65,31 @@
 					</video>
 					<rightMenu :idsObj="idsObj" :dataList="classTimeData" ref="rightNenuRef" @videoSpeed="videoSpeed"></rightMenu>
 				</a-card>
-				<a-card :bordered="false" class="mt-2">
-					<a-tabs v-model:activeKey="tabsActiveKey">
-						<a-tab-pane key="1" tab="讲义">
-							<div style="height: 900px">
-								<vue-office-pdf :src="itemObj.url" style="width: 100%; height: 100%" />
-							</div>
-						</a-tab-pane>
-						<a-tab-pane key="2" tab="字幕">
-							<div style="height: 900px; overflow-y: auto">
-								<div v-for="(item, idx) in danmuObj.srtInfoList" :key="idx">
-									<div>{{ item.startTime }}~{{ item.endTime }}</div>
-									<div style="cursor: pointer; padding: 10px 0" @click="videoSpeed(item)">{{ item.text }}</div>
+				<div style="display: flex;justify-content: center;">
+					<a-card :bordered="false" class="mt-2" style="max-width: 1200px">
+						<a-tabs v-model:activeKey="tabsActiveKey">
+							<a-tab-pane key="1" tab="讲义">
+								<div style="height: 900px;">
+									<vue-office-pdf :src="itemObj.url" style="width: 100%; height: 100%" />
 								</div>
-							</div>
-						</a-tab-pane>
-						<a-tab-pane key="3" tab="笔记">
-							<note :idsObj="idsObj" ref="noteRef" @edit="noteEdit"></note>
-						</a-tab-pane>
-						<a-tab-pane key="4" tab="问答">
-							<askDiv :idsObj="idsObj" ref="askDivRef" @edit="askEdit"></askDiv>
-						</a-tab-pane>
-					</a-tabs>
-				</a-card>
+							</a-tab-pane>
+							<a-tab-pane key="2" tab="字幕">
+								<div style="height: 900px; overflow-y: auto">
+									<div v-for="(item, idx) in danmuObj.srtInfoList" :key="idx">
+										<div>{{ item.startTime }}~{{ item.endTime }}</div>
+										<div style="cursor: pointer; padding: 10px 0" @click="videoSpeed(item)">{{ item.text }}</div>
+									</div>
+								</div>
+							</a-tab-pane>
+							<a-tab-pane key="3" tab="笔记">
+								<note :idsObj="idsObj" ref="noteRef" @edit="noteEdit"></note>
+							</a-tab-pane>
+							<a-tab-pane key="4" tab="问答">
+								<askDiv :idsObj="idsObj" ref="askDivRef" @edit="askEdit"></askDiv>
+							</a-tab-pane>
+						</a-tabs>
+					</a-card>
+				</div>
 			</a-layout-content>
 		</a-layout>
 	</a-layout>

+ 1 - 1
src/views/student/classCentre/note.vue

@@ -92,7 +92,7 @@
 	}
 	const editNote = (e) => {
 		itemNote.value = e.noteId
-		emit('edit', e)
+		emit('edit', JSON.parse(JSON.stringify(e)))
 	}
 	const delNote = (e) => {
 		Modal.confirm({