|
@@ -130,8 +130,8 @@
|
|
|
description="暂无搜索结果"
|
|
|
/>
|
|
|
<courseCollapse
|
|
|
- :activeCollapse="activeCourseware"
|
|
|
- :search="searchObj.search"
|
|
|
+ :activeCollapse="tempActiveCourseware || activeCourseware"
|
|
|
+ :search="searchObj.tempSearch || searchObj.search"
|
|
|
:courseList="tempCoursewareList"
|
|
|
@handleClick="handleCourseClick"
|
|
|
/>
|
|
@@ -202,10 +202,12 @@ const searchObj = reactive({
|
|
|
isSearch: false, // 是否搜索 标识
|
|
|
queryStr: route.query.search as any,
|
|
|
source: route.query.source as any, // 从哪里来的
|
|
|
- search: route.query.search as any // 默认的搜索条件 -
|
|
|
+ search: route.query.search as any, // 默认的搜索条件 -
|
|
|
+ tempSearch: route.query.search as any
|
|
|
})
|
|
|
|
|
|
// 选中的知识点
|
|
|
+const tempActiveCourseware: any = ref() // 临时数据
|
|
|
const activeCourseware = computed<undefined | Record<string, any>>(() => {
|
|
|
return flattenCoursewareList.value[activeCoursewareIndex.value]
|
|
|
})
|
|
@@ -380,6 +382,14 @@ function handlePointList(pointList: any[], isSearch?: boolean) {
|
|
|
index > -1 && (activeCoursewareIndex.value = index)
|
|
|
}
|
|
|
flattenCoursewareList.value = deepCopy(flattenCoursewareListData)
|
|
|
+ } else {
|
|
|
+ if (flattenCoursewareListData[0]) {
|
|
|
+ // 默认展开第一个
|
|
|
+ tempActiveCourseware.value = {
|
|
|
+ ...flattenCoursewareListData[0],
|
|
|
+ id: null
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
tempCoursewareList.value = list
|
|
|
tempFlattenCoursewareList.value = deepCopy(flattenCoursewareListData)
|
|
@@ -429,7 +439,7 @@ function handleChangeCourseware(index: -1 | 1) {
|
|
|
}
|
|
|
function handleCourseClick(value: any) {
|
|
|
// 选择之后初始化数据
|
|
|
- searchObj.search = JSON.parse(JSON.stringify(searchObj.queryStr))
|
|
|
+ searchObj.search = JSON.parse(JSON.stringify(searchObj.tempSearch))
|
|
|
coursewareList.value = deepCopy(tempCoursewareList.value)
|
|
|
flattenCoursewareList.value = deepCopy(tempFlattenCoursewareList.value)
|
|
|
activeCoursewareIndex.value = flattenCoursewareList.value.findIndex((item: any) => {
|
|
@@ -509,7 +519,10 @@ function preventDefaultContextmenu(event: MouseEvent) {
|
|
|
}
|
|
|
function handleKeydown(e: KeyboardEvent) {
|
|
|
const key = e.key
|
|
|
-
|
|
|
+ // 打开弹窗之后快捷键失效
|
|
|
+ if (drawerShow.value || drawerMenuShow.value) {
|
|
|
+ return
|
|
|
+ }
|
|
|
if (key === " ") {
|
|
|
closeAllModalFrame()
|
|
|
drawerShow.value = false
|
|
@@ -542,6 +555,7 @@ function handleToolClick(type: string) {
|
|
|
} else if (type === "point") {
|
|
|
tempCoursewareList.value = deepCopy(coursewareList.value)
|
|
|
searchObj.queryStr = JSON.parse(JSON.stringify(searchObj.search))
|
|
|
+ tempActiveCourseware.value = null
|
|
|
drawerShow.value = true
|
|
|
}
|
|
|
}
|
|
@@ -671,6 +685,7 @@ function onTitleTip(type: "phaseGoals" | "checkItem", text: string) {
|
|
|
function handleQuery() {
|
|
|
//
|
|
|
searchObj.isSearch = true
|
|
|
+ searchObj.tempSearch = JSON.parse(JSON.stringify(searchObj.queryStr))
|
|
|
getLessCoursewareList()
|
|
|
}
|
|
|
</script>
|
|
@@ -933,12 +948,14 @@ function handleQuery() {
|
|
|
.empty {
|
|
|
height: calc(100vh - 54px);
|
|
|
:deep(.el-empty__image) {
|
|
|
- width: 238px;
|
|
|
+ width: 228px;
|
|
|
}
|
|
|
|
|
|
:deep(.el-empty__description) {
|
|
|
- font-size: 18px;
|
|
|
color: #aaa;
|
|
|
+ p {
|
|
|
+ font-size: 18px;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</style>
|