[习题上传] - 章节下增加对应知识点数据

This commit is contained in:
“zouyf” 2024-11-25 10:59:27 +08:00
parent 630a7b4c50
commit 122fb41690
3 changed files with 58 additions and 16 deletions

View File

@ -9,6 +9,15 @@ export function listKnowlegepoint(query) {
})
}
// 查询知识点列表
export function listKnowlegepointFormat(query) {
return request({
url: '/point/formatList',
method: 'get',
params: query
})
}
// 查询一级知识点查下级所有层级
export function childKnowlegepoint(query) {

View File

@ -99,6 +99,8 @@ const router = useRouter()
const { proxy } = getCurrentInstance()
const props = defineProps({
})
const curLessionList = ref([]);
const activeParams = reactive({
version: {},
lession: {},

View File

@ -407,7 +407,7 @@ import { ElMessage, ElNotification } from 'element-plus'
import { Search } from '@element-plus/icons-vue'
import { onMounted, ref, watch, reactive, getCurrentInstance,nextTick } from 'vue'
import { getBindlist, listKnowlegepoint } from '@/api/education/knowledgePoint'
import { getBindlist, listKnowlegepointFormat } from '@/api/education/knowledgePoint'
import { listEvaluation } from '@/api/subject'
import { listEntpcoursework, getEntpcoursework, delEntpcoursework, addEntpcoursework, updateEntpcoursework, uploadEntpcourseworkFile } from "@/api/education/entpCourseWork";
import { isJson } from "@/hooks/useProcessList";
@ -1670,24 +1670,44 @@ const myMessageShow=(title, msg, status)=>{
// },
// },
/**
* @desc: 遍历原知识点数据, 将title字段转为knowTitle以供knowledgePointProps进行tree的格式转换显示
* @return: {*}
* @param {*} list
*/
const updateKnowledgePoint = (list) => {
list.forEach(item => {
if (item.title && item.title != '') {
item.knowTitle = item.title;
}
if (item.children && Array.isArray(item.children)) {
updateKnowledgePoint(item.children);
}
});
return list;
};
watch(() => props.bookobj.levelSecondId, async (newVal, oldVal) => {
console.log(props.bookobj,'课程选择')
// props.bookobj.levelSecondId? props.bookobj.levelSecondId : props.bookobj.levelFirstId
lessionid.value = props.bookobj.levelSecondId? props.bookobj.levelSecondId : props.bookobj.levelFirstId;
//
console.log('123', props.bookobj.node.edusubject == '语文' );
/**
* 格式化知识点: 分两种情况
* 1. 语文/英语: 获取学科下的所有知识点(该学科对应无章节与知识点绑定, 故只获取全知识点)
* 2. 其他: 获取当前章节下的所有知识点
*/
let id = props.bookobj.levelSecondId;
if(props.bookobj.node.edusubject == '语文' || props.bookobj.node.edusubject == '英语'){
id = props.bookobj.node.rootid;
const res = await listEvaluation({ edusubject: props.bookobj.node.edusubject, edustage: props.bookobj.node.edustage, itemkey: "subject", pageSize: 10 });
id = res.rows[0]?.id;
listKnowlegepoint({evalId: id}).then(res => {
curKnowledgePointList.value = res.rows;
curKnowledgePointList.value.forEach(item => {
item.knowTitle = item.title;
});
if (id) {
listKnowlegepointFormat({evalId: id, pageNum: 1, pageSize: 5000,}).then(res => {
//console.log('listKnowlegepointFormat->', res.rows);
curKnowledgePointList.value = updateKnowledgePoint(res.rows);
});
}
}else{
getBindlist({ eid: id }).then(res => {
if (!res.data || res.data.length < 1) {
@ -1710,7 +1730,20 @@ defineExpose({
cropperFormItemCallBack,
})
</script>
<style lang="scss">
.el-cascader-panel {
li[aria-haspopup="true"] {
.el-checkbox {
display: none;
}
}
}
</style>
<style scoped lang="scss">
.questForm-item-cover{
position: relative;
@ -1728,6 +1761,4 @@ defineExpose({
z-index: 9999;
}
}
</style>