lyc-dev #172
|
@ -43,3 +43,12 @@ export function delClasswork(id) {
|
||||||
method: 'delete'
|
method: 'delete'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 新增classwork
|
||||||
|
export function addClassworkReturnId(data) {
|
||||||
|
return request({
|
||||||
|
url: '/education/classwork/saveAndReturnId',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
|
@ -75,6 +75,8 @@ const curBookImg = ref('')
|
||||||
const curBookPath = ref('')
|
const curBookPath = ref('')
|
||||||
// 上册
|
// 上册
|
||||||
const volumeOne = ref([])
|
const volumeOne = ref([])
|
||||||
|
//
|
||||||
|
const volumeTwo = ref([])
|
||||||
|
|
||||||
// 当前节点
|
// 当前节点
|
||||||
const currentNode = reactive({
|
const currentNode = reactive({
|
||||||
|
@ -90,13 +92,14 @@ const defaultExpandedKeys = ref([])
|
||||||
const refTree = ref(null)
|
const refTree = ref(null)
|
||||||
|
|
||||||
|
|
||||||
//获取教材下面的单元内容
|
//获取教材下面的单元 + 章节
|
||||||
const getSubjectContent = async () => {
|
const getSubjectContent = async () => {
|
||||||
treeLoading.value = true
|
treeLoading.value = true
|
||||||
const params = {
|
const params = {
|
||||||
edusubject,
|
edusubject,
|
||||||
edustage,
|
edustage,
|
||||||
entpcourseedituserid: userId,
|
// entpcourseedituserid: userId,
|
||||||
|
itemgroup: 'textbook',
|
||||||
pageSize: 500
|
pageSize: 500
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -114,7 +117,8 @@ const getSubjectContent = async () => {
|
||||||
* 不区分上下册
|
* 不区分上下册
|
||||||
* 2024/08/20调整
|
* 2024/08/20调整
|
||||||
*/
|
*/
|
||||||
volumeOne.value = data.filter(item => item.level == 1)
|
// volumeOne.value = data.filter(item => item.level == 1 && item.semester == '上册')
|
||||||
|
// volumeTwo.value = data.filter(item => item.level == 1 && item.semester == '下册')
|
||||||
getTreeData()
|
getTreeData()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,7 +136,9 @@ const changeBook = ({ id, itemtitle, avartar, fileurl }) => {
|
||||||
|
|
||||||
const getTreeData = () => {
|
const getTreeData = () => {
|
||||||
//数据过滤
|
//数据过滤
|
||||||
let upData = transData(volumeOne.value)
|
let upData = transData(evaluationList.value)
|
||||||
|
|
||||||
|
|
||||||
if(upData.length){
|
if(upData.length){
|
||||||
treeData.value = [...upData]
|
treeData.value = [...upData]
|
||||||
}
|
}
|
||||||
|
@ -222,30 +228,33 @@ const transData = (data) => {
|
||||||
let ary = []
|
let ary = []
|
||||||
data.forEach(item => {
|
data.forEach(item => {
|
||||||
let obj = {}
|
let obj = {}
|
||||||
|
// 根据当前教材ID 过滤出对应的单元、章节
|
||||||
if (item.rootid == curBookId.value) {
|
if (item.rootid == curBookId.value) {
|
||||||
obj.label = item.itemtitle
|
if(item.level == 1){
|
||||||
obj.id = item.id
|
obj.label = item.itemtitle
|
||||||
obj.itemtitle = item.itemtitle
|
obj.id = item.id
|
||||||
obj.edudegree = item.edudegree
|
obj.itemtitle = item.itemtitle
|
||||||
obj.edustage = item.edustage
|
obj.edudegree = item.edudegree
|
||||||
obj.edusubject = item.edusubject
|
obj.edustage = item.edustage
|
||||||
let ary2 = []
|
obj.edusubject = item.edusubject
|
||||||
evaluationList.value.forEach(el => {
|
let ary2 = []
|
||||||
let obj2 = {}
|
evaluationList.value.forEach(el => {
|
||||||
if (item.id == el.parentid) {
|
let obj2 = {}
|
||||||
obj2 = {
|
if (item.id == el.parentid) {
|
||||||
label: el.itemtitle,
|
obj2 = {
|
||||||
id: el.id,
|
label: el.itemtitle,
|
||||||
itemtitle : el.itemtitle,
|
id: el.id,
|
||||||
edudegree : el.edudegree,
|
itemtitle : el.itemtitle,
|
||||||
edustage : el.edustage,
|
edudegree : el.edudegree,
|
||||||
edusubject : el.edusubject,
|
edustage : el.edustage,
|
||||||
|
edusubject : el.edusubject,
|
||||||
|
}
|
||||||
|
ary2.push(obj2)
|
||||||
}
|
}
|
||||||
ary2.push(obj2)
|
obj.children = ary2
|
||||||
}
|
})
|
||||||
obj.children = ary2
|
ary.push(obj)
|
||||||
})
|
}
|
||||||
ary.push(obj)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return ary
|
return ary
|
||||||
|
@ -254,8 +263,10 @@ const transData = (data) => {
|
||||||
//获取教材
|
//获取教材
|
||||||
const getSubject = async () => {
|
const getSubject = async () => {
|
||||||
|
|
||||||
const { rows } = await listEvaluation({ itemkey: "version", pageSize: 500 })
|
const { rows } = await listEvaluation({ itemkey: "version", edusubject, edustage, pageSize: 500 })
|
||||||
subjectList.value = rows.filter(item => item.edustage == edustage && item.edusubject == edusubject && isHaveUnit(item.id))
|
|
||||||
|
// subjectList.value = rows.filter(item => item.edustage == edustage && item.edusubject == edusubject)
|
||||||
|
subjectList.value = rows
|
||||||
localStorage.setItem('subjectList', JSON.stringify(subjectList.value))
|
localStorage.setItem('subjectList', JSON.stringify(subjectList.value))
|
||||||
|
|
||||||
// 默认第一个
|
// 默认第一个
|
||||||
|
|
|
@ -113,7 +113,8 @@ const getSubjectContent = async () => {
|
||||||
const params = {
|
const params = {
|
||||||
edusubject,
|
edusubject,
|
||||||
edustage,
|
edustage,
|
||||||
entpcourseedituserid: userId,
|
// entpcourseedituserid: userId,
|
||||||
|
itemgroup: 'textbook',
|
||||||
pageSize: 500
|
pageSize: 500
|
||||||
}
|
}
|
||||||
let data;
|
let data;
|
||||||
|
@ -129,7 +130,7 @@ const getSubjectContent = async () => {
|
||||||
* 不区分上下册
|
* 不区分上下册
|
||||||
* 2024/08/20调整
|
* 2024/08/20调整
|
||||||
*/
|
*/
|
||||||
volumeOne.value = data.filter(item => item.level == 1)
|
// volumeOne.value = data.filter(item => item.level == 1)
|
||||||
|
|
||||||
getTreeData()
|
getTreeData()
|
||||||
}
|
}
|
||||||
|
@ -141,8 +142,8 @@ const getSubject = async () => {
|
||||||
subjectList.value = JSON.parse(localStorage.getItem('subjectList'))
|
subjectList.value = JSON.parse(localStorage.getItem('subjectList'))
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
const { rows } = await listEvaluation({ itemkey: "version", pageSize: 500 })
|
const { rows } = await listEvaluation({ itemkey: "version", edusubject, edustage, pageSize: 500 })
|
||||||
subjectList.value = rows.filter(item => item.edustage == edustage && item.edusubject == edusubject && isHaveUnit(item.id))
|
subjectList.value = rows
|
||||||
localStorage.setItem('subjectList', JSON.stringify(subjectList.value))
|
localStorage.setItem('subjectList', JSON.stringify(subjectList.value))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -160,7 +161,7 @@ const isHaveUnit = (id) => {
|
||||||
|
|
||||||
const getTreeData = () => {
|
const getTreeData = () => {
|
||||||
//数据过滤
|
//数据过滤
|
||||||
let upData = transData(volumeOne.value)
|
let upData = transData(evaluationList.value)
|
||||||
if(upData.length){
|
if(upData.length){
|
||||||
treeData.value = [...upData]
|
treeData.value = [...upData]
|
||||||
}
|
}
|
||||||
|
@ -248,26 +249,35 @@ const handleNodeClick = (data, node) => {
|
||||||
|
|
||||||
const transData = (data) => {
|
const transData = (data) => {
|
||||||
let ary = []
|
let ary = []
|
||||||
|
|
||||||
data.forEach(item => {
|
data.forEach(item => {
|
||||||
let obj = {}
|
let obj = {}
|
||||||
|
// 根据当前教材ID 过滤出对应的单元、章节
|
||||||
if (item.rootid == curBookId.value) {
|
if (item.rootid == curBookId.value) {
|
||||||
obj.label = item.itemtitle
|
if(item.level == 1){
|
||||||
obj.id = item.id
|
obj.label = item.itemtitle
|
||||||
let ary2 = []
|
obj.id = item.id
|
||||||
evaluationList.value.forEach(el => {
|
obj.itemtitle = item.itemtitle
|
||||||
let obj2 = {}
|
obj.edudegree = item.edudegree
|
||||||
if (item.id == el.parentid) {
|
obj.edustage = item.edustage
|
||||||
obj2 = {
|
obj.edusubject = item.edusubject
|
||||||
label: el.itemtitle,
|
let ary2 = []
|
||||||
id: el.id
|
evaluationList.value.forEach(el => {
|
||||||
|
let obj2 = {}
|
||||||
|
if (item.id == el.parentid) {
|
||||||
|
obj2 = {
|
||||||
|
label: el.itemtitle,
|
||||||
|
id: el.id,
|
||||||
|
itemtitle : el.itemtitle,
|
||||||
|
edudegree : el.edudegree,
|
||||||
|
edustage : el.edustage,
|
||||||
|
edusubject : el.edusubject,
|
||||||
|
}
|
||||||
|
ary2.push(obj2)
|
||||||
}
|
}
|
||||||
ary2.push(obj2)
|
obj.children = ary2
|
||||||
}
|
})
|
||||||
obj.children = ary2
|
ary.push(obj)
|
||||||
})
|
}
|
||||||
ary.push(obj)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return ary
|
return ary
|
||||||
|
|
|
@ -81,8 +81,8 @@ import { ipcMsgSend, ipcMsgSend2, ipcMsgInvoke } from '@/utils/tool'
|
||||||
import { useToolState } from '@/store/modules/tool'
|
import { useToolState } from '@/store/modules/tool'
|
||||||
import Lesson from './lesson.vue';
|
import Lesson from './lesson.vue';
|
||||||
import { parseCataByNode } from '@/utils/talkFile'
|
import { parseCataByNode } from '@/utils/talkFile'
|
||||||
import outLink from '@/utils/linkConfig'
|
|
||||||
import MsgEnum from '@/plugins/imChat/msgEnum' // 消息枚举
|
import MsgEnum from '@/plugins/imChat/msgEnum' // 消息枚举
|
||||||
|
import { createHomework } from '../createHomework'
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const usertore = useUserStore().user
|
const usertore = useUserStore().user
|
||||||
|
@ -129,16 +129,35 @@ const changeChapter = async (data)=>{
|
||||||
getResource()
|
getResource()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文件资源打开web AIX 布置作业
|
// 资源推送
|
||||||
const openFileLink = (item) =>{
|
const openFileLink = async (item) =>{
|
||||||
// key 对应的 linkConfig.js 外部链接配置
|
/**
|
||||||
let key = 'filehomework'
|
* 资源推送
|
||||||
let configObj = outLink()[key]
|
* 1:先生成作业
|
||||||
ipcMsgSend2('openWindow', {
|
* 2:再进行推送
|
||||||
key,
|
*/
|
||||||
fullPath: configObj.fullPath + `&fileShowName=${item.fileShowName}&fileFullPath=${item.fileFullPath}`,
|
|
||||||
cookieData: { ...configObj.data }
|
// 根据当前月份日期 生成一个作业编号
|
||||||
})
|
const today = new Date();
|
||||||
|
// 获取月份
|
||||||
|
const month = String(today.getMonth() + 1).padStart(2, '0');
|
||||||
|
// 获取当前日
|
||||||
|
const day = String(today.getDate()).padStart(2, '0');
|
||||||
|
// 生成一个作业编号
|
||||||
|
const uniquekey = `${usertore.edusubject}-${month}${day}-${dataList.value.length + 1}`
|
||||||
|
|
||||||
|
// 章节ID
|
||||||
|
const querySearch = toolStore.curSubjectNode.querySearch
|
||||||
|
const evalid = querySearch.levelSecondId ? querySearch.levelSecondId : querySearch.levelFirstId
|
||||||
|
|
||||||
|
// 资源数据
|
||||||
|
const data = [{name: item.fileShowName, ulr: item.fileFullPath}]
|
||||||
|
// 生成作业
|
||||||
|
await createHomework({ uniquekey, evalid, data, entpcourseid: entpcourseid.value })
|
||||||
|
// 查询作业
|
||||||
|
getHomework()
|
||||||
|
let row = dataList.value.at(-1)
|
||||||
|
sendHomework(row)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
import useUserStore from '@/store/modules/user'
|
||||||
|
import { addClassworkReturnId } from '@/api/teaching/classwork'
|
||||||
|
|
||||||
|
export const createHomework = ({ uniquekey, evalid, data, entpcourseid }) =>{
|
||||||
|
const usertore = useUserStore().user
|
||||||
|
|
||||||
|
var formObj = {};
|
||||||
|
formObj.id = 0;
|
||||||
|
|
||||||
|
formObj.deaddate = '';
|
||||||
|
formObj.entpid = usertore.deptId;
|
||||||
|
formObj.level = 1;
|
||||||
|
formObj.parentid = 0;
|
||||||
|
formObj.worktype = '常规作业';
|
||||||
|
formObj.workkey = '';
|
||||||
|
formObj.worktag = '';
|
||||||
|
|
||||||
|
formObj.uniquekey = uniquekey;
|
||||||
|
|
||||||
|
formObj.classid = 0;
|
||||||
|
formObj.classcourseid = 0;
|
||||||
|
|
||||||
|
formObj.entpcourseid = entpcourseid;
|
||||||
|
|
||||||
|
formObj.slideid = 0;
|
||||||
|
|
||||||
|
formObj.workcodes = JSON.stringify(data);
|
||||||
|
|
||||||
|
formObj.edusubject = usertore.edusubject;
|
||||||
|
formObj.evalid = evalid
|
||||||
|
|
||||||
|
formObj.edustage = usertore.edustage;
|
||||||
|
formObj.status = '';
|
||||||
|
formObj.edituserid = usertore.userId;
|
||||||
|
formObj.entpcourseworklist = JSON.stringify([{'id':-2, 'score': '10'}]);
|
||||||
|
return addClassworkReturnId(formObj)
|
||||||
|
}
|
Loading…
Reference in New Issue