Compare commits

..

No commits in common. "cc44a86437859e077f339bbf3b4bbbcce8b39209" and "656a58693f3a25e510c0f12eb736da69be481d0d" have entirely different histories.

3 changed files with 52 additions and 75 deletions

View File

@ -60,6 +60,7 @@ export class PPTApi {
return new Promise(async (resolve, reject) => {
const params: object = { parentid, orderByColumn: 'fileidx', isAsc: 'asc', pageSize: 9999 }
const res: Result = await API_entpcoursefile.listEntpcoursefileNew(params)
console.log(res.rows,'res.rows');
if (res.code === 200) {
const slides = (res.rows || []).map(o => {
if (!!o.datacontent) {
@ -73,8 +74,7 @@ export class PPTApi {
// 活动列表处理
const workList = (res.rows || []).map(o => o.activityContent)
const workItem = [...res.rows]
// 加入活动后刷新ppt数据内容不跟换为第一页
// slidesStore.updateSlideIndex(0) // 下标0 为第一页
slidesStore.updateSlideIndex(0) // 下标0 为第一页
slidesStore.setSlides(slides) // 写入数据
// 写入作业列表数据
slidesStore.setWorkList(workList)

View File

@ -30,7 +30,7 @@
<Divider />
<!-- 作业列表 -->
<div class="c-apt-r" v-loading='loadingActive'>
<div class="c-apt-r">
<!-- 显示-作业内容 -->
<template v-for="(item, index) in workList" :key="index">
<div class="item">
@ -45,11 +45,9 @@
</template>
</div>
<!-- // -->
<el-dialog v-model="dialogVisible" append-to-body :show-close="false" width="90%" height="500">
<el-scrollbar height="550">
<div style="height: 550px;">
<NewClassTsakAssign :currentCourse='currentCourse' @getData="getData" />
</div>
<el-dialog v-model="dialogVisible" append-to-body :show-close="false" width="80%" height="500">
<el-scrollbar height="500">
<NewClassTsakAssign :currentCourse='currentCourse' @getData="getData" />
</el-scrollbar>
</el-dialog>
<!-- 活动引用 -->
@ -144,6 +142,7 @@ const currentCourse = reactive<CurrentCourse>({
worktype: '',
})
const dataList = ref<WorkItem[]>([])
const dialogVisible = ref<boolean>(false)
const tasklist_loading = ref<boolean>(false)
@ -153,6 +152,11 @@ const taskList = ref<WorkItem[]>([])
//
const activeVisible = ref<boolean>(false)
const params = reactive<Params>({
parentid: 14766,
pageSize: 500,
orderby: 'fileidx'
})
const type = ref<WorkType[]>([
{
@ -175,8 +179,6 @@ const workList = ref<WorkItem[]>([])
//
const selectedWorkList = ref<WorkItem[]>([])
// loading
const loadingActive = ref<boolean>(false)
const paramData = ref<{ id: number, activityContent: string }>({} as { id: number, activityContent: string })
@ -194,6 +196,7 @@ const formatClassWorkFile = async (postData: WorkItem[]): Promise<void> => {
}
break;
case '习题训练': {
console.log(item,'item');
// let workIds = item.quizlist!.map(items => items.id).join(',');
// let ress = await listEntpcoursework({ ids: workIds });
// const arr = ress.rows.map((item:{id:number}) => {
@ -210,20 +213,23 @@ const formatClassWorkFile = async (postData: WorkItem[]): Promise<void> => {
case '常规作业': {
// item.prevData = JSON.parse(item.workcodes);
}
}
workList.value.push(item)
loadingActive.value = false
}
const arr = paramData.value.activityContent.split(',')
arr.push(item.id.toString())
await PPTApi.updateSlide(paramData.value)
addWorkList(item)
}
await nextTick();
}//
}
//
const addWorkList = (item: WorkItem) => {
workList.value.push(item)
}
//
const handleRemoveDemoActivityClassWork = (item: WorkItem) => {
ElMessageBox.confirm('是否确认删除?')
.then(() => {
workList.value = []
const arr = paramData.value.activityContent.split(',')
const filterArr = arr.filter(itemId => itemId!== item.id.toString())
paramData.value.activityContent = filterArr.join(',')
upDateData()
workList.value.splice(workList.value.indexOf(item), 1);
})
.catch(() => { });
}
@ -263,50 +269,11 @@ const savePPtData = async () => {
ElMessage.warning('请选择活动')
return
}
workList.value = []
const arr = selectedWorkList.value.map(item => item.id)
//
debugger
const existingIds = paramData.value.activityContent ? paramData.value.activityContent.split(',') : []
paramData.value.activityContent = Array.from(new Set([...existingIds, ...arr])).join(',')
upDateData()
activeVisible.value = false
}
// ppt
const getCurrentPPtData = async () => {
workList.value = []
objItem.value = workItem.value[slideIndex.value]
paramData.value.id = objItem.value.id
paramData.value.activityContent = objItem.value?.activityContent
if (objItem.value?.activityContent) {
loadingActive.value = true
const res = await homeworklist({ ids: objItem.value?.activityContent, pageSize: 100 })
await formatClassWorkFile(res.rows)
}
}
//
const getData = async (data: WorkItem) => {
workList.value = []
if(paramData.value.activityContent){
const arr = paramData.value.activityContent.split(',')
arr.push(data.id.toString())
const unitArr = Array.from(new Set(arr))
paramData.value.activityContent = unitArr.join(',')
}else{
paramData.value.activityContent = data.id.toString()
}
upDateData()
dialogVisible.value = false
}
const upDateData = async () => {
paramData.value.activityContent = arr.join(',')
await PPTApi.updateSlide(paramData.value)
loadingActive.value = true
const res = await homeworklist({ ids: paramData.value.activityContent, pageSize: 100 })
await formatClassWorkFile(res.rows)
const resource = sessionStore.get('curr.resource')
await PPTApi.getSlideList(resource.id)
activeVisible.value = false
}
onMounted(() => {
@ -316,12 +283,33 @@ onMounted(() => {
currentCourse.levelSecondId = curNode.id
currentCourse.coursetitle = curNode.itemtitle
currentCourse.node = curNode
listEntpcoursefile(params).then((res: { rows: WorkItem[] }) => {
dataList.value = [...res.rows]
})
objItem.value = workItem.value[slideIndex.value]
getCurrentPPtData()
})
watch(() => slideIndex.value, () => {
getCurrentPPtData()
})
// ppt
const getCurrentPPtData = async () => {
workList.value = []
objItem.value = workItem.value[slideIndex.value]
paramData.value.id = objItem.value.id
if (objItem.value?.activityContent) {
paramData.value.activityContent = objItem.value?.activityContent
const res = await homeworklist({ ids: objItem.value?.activityContent, pageSize: 100 })
await formatClassWorkFile(res.rows)
}
}
//
const getData = async (data: WorkItem) => {
console.log(data, 'data')
await formatClassWorkFile([data])
}
</script>
<style scoped lang="scss">
.buttonDiv{
@ -387,8 +375,5 @@ watch(() => slideIndex.value, () => {
--el-border-color: var(--current-color);
}
}
.page .page-resource{
height: 500px !important;
}
}
</style>

View File

@ -157,7 +157,6 @@ const props = defineProps({
currentCourse: Object,
})
const emits = defineEmits(['getData'])
// ppt
const isShow = ref(false)
const propsQueryCourseObj = route.query.courseObj;//
@ -491,13 +490,11 @@ const handleClassWorkFormQuizRemove = (index) =>{
// [] newWorkSpaceEdit true
if(isShow.value === false){
if(classWorkForm.id != '' ) {// id
editWork(cform); //
if(classWorkForm.id != '' ) {// id
editWork(cform); //
return;
}
}
if (classWorkForm.worktype === "课堂展示") {
boardLoading.value = true
@ -599,12 +596,7 @@ const handleClassWorkFormQuizRemove = (index) =>{
}
console.log('该清空左侧列表数据了');
//
debugger
if(isShow.value){
currentRow.value = {id:1};
}else{
currentRow.value = {id:0};
}
currentRow.value = {id:0};
initHomeWork();