zouyf_dev #361
|
@ -18,13 +18,13 @@ export class Chat {
|
||||||
}
|
}
|
||||||
return Chat.instance;
|
return Chat.instance;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 初始化 获取IM签名
|
* 初始化 获取IM签名
|
||||||
* @param {*} isInit : 是否初始化IM
|
* @param {*} isInit : 是否初始化IM
|
||||||
* @param {*} isLogin : 是否登录IM
|
* @param {*} isLogin : 是否登录IM
|
||||||
* @param {*} callback: 监听消息回调函数
|
* @param {*} callback: 监听消息回调函数
|
||||||
* @returns Promise<ImChat>
|
* @returns Promise<ImChat>
|
||||||
*/
|
*/
|
||||||
async init(isInit = true, isLogin = true, callback) {
|
async init(isInit = true, isLogin = true, callback) {
|
||||||
// 特殊处理,只传1个参数且为函数,则默认为callback,isInit和isLogin默认为true
|
// 特殊处理,只传1个参数且为函数,则默认为callback,isInit和isLogin默认为true
|
||||||
if (typeof isInit == 'function'){
|
if (typeof isInit == 'function'){
|
||||||
|
|
|
@ -157,6 +157,7 @@ import ItemDialogScore from '@/views/classTask/container/classTask/item-dialog-s
|
||||||
import quizStats from '@/views/classTask/container/quizStats.vue'
|
import quizStats from '@/views/classTask/container/quizStats.vue'
|
||||||
import ClassOverview from '@/views/classTask/container/classOverview.vue'
|
import ClassOverview from '@/views/classTask/container/classOverview.vue'
|
||||||
import {sessionStore} from '@/utils/store'
|
import {sessionStore} from '@/utils/store'
|
||||||
|
import Chat from '@/utils/chat' // im 登录初始化
|
||||||
|
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance()
|
const { proxy } = getCurrentInstance()
|
||||||
|
@ -204,35 +205,38 @@ const classWorkAnalysisScore = reactive({
|
||||||
// form.name = newValue.label
|
// form.name = newValue.label
|
||||||
// }
|
// }
|
||||||
// )
|
// )
|
||||||
const openDialog = (data) => {
|
const openDialog = (data, isInit=true) => {
|
||||||
console.log(data, '点击的item完成情况')
|
console.log(data, '点击的item完成情况')
|
||||||
|
|
||||||
classWorkAnalysis.title = data.uniquekey ? data.uniquekey + '--' : ''
|
if (isInit) {
|
||||||
classWorkAnalysis.worktype = data.worktype
|
classWorkAnalysis.title = data.uniquekey ? data.uniquekey + '--' : ''
|
||||||
classWorkAnalysis.workclass = data.workclass
|
classWorkAnalysis.worktype = data.worktype
|
||||||
// 重置学生列表
|
classWorkAnalysis.workclass = data.workclass
|
||||||
tableRadio.list = []
|
// 重置学生列表
|
||||||
tableRadio.value = '1'
|
tableRadio.list = []
|
||||||
tableRadio.num0 = 0
|
tableRadio.value = '1'
|
||||||
tableRadio.num1 = 0
|
tableRadio.num0 = 0
|
||||||
|
tableRadio.num1 = 0
|
||||||
|
|
||||||
classWorkAnalysis.open = true
|
classWorkAnalysis.open = true
|
||||||
// 默认显示是学生作业反馈
|
// 默认显示是学生作业反馈
|
||||||
classWorkAnalysis.view = 'studentview'
|
classWorkAnalysis.view = 'studentview'
|
||||||
// 当前学习任务所包含的试题ID
|
// 当前学习任务所包含的试题ID
|
||||||
classWorkAnalysis.entpcourseworklistarray = data.entpcourseworklistarray
|
classWorkAnalysis.entpcourseworklistarray = data.entpcourseworklistarray
|
||||||
// 默认选中的学生
|
// 默认选中的学生
|
||||||
classWorkAnalysis.activeStudentQuizlist = []
|
classWorkAnalysis.activeStudentQuizlist = []
|
||||||
// 默认选中的试题
|
// 默认选中的试题
|
||||||
classWorkAnalysis.activeQuizAnalysisData = []
|
classWorkAnalysis.activeQuizAnalysisData = []
|
||||||
|
|
||||||
|
classWorkAnalysis.row = data
|
||||||
|
window.test = this
|
||||||
|
// zdg: 学生列表
|
||||||
|
const studentArr = data.classworkdatastudentids
|
||||||
|
? JSON.parse(`[${data.classworkdatastudentids}]`)
|
||||||
|
: []
|
||||||
|
classWorkActiveData.studentList = studentArr
|
||||||
|
}
|
||||||
|
|
||||||
classWorkAnalysis.row = data
|
|
||||||
window.test = this
|
|
||||||
// zdg: 学生列表
|
|
||||||
const studentArr = data.classworkdatastudentids
|
|
||||||
? JSON.parse(`[${data.classworkdatastudentids}]`)
|
|
||||||
: []
|
|
||||||
classWorkActiveData.studentList = studentArr
|
|
||||||
/** 学生完成情况分析--获取作业学生list数据 */
|
/** 学生完成情况分析--获取作业学生list数据 */
|
||||||
getClassWorkStudentList(data.id)
|
getClassWorkStudentList(data.id)
|
||||||
|
|
||||||
|
@ -638,6 +642,32 @@ const closeDialog = () => {
|
||||||
emit('cle-click')
|
emit('cle-click')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// im监听消息回调
|
||||||
|
const msgHandle = (msg) => {
|
||||||
|
const { type, data } = msg
|
||||||
|
switch(type) {
|
||||||
|
case 'TIMAddRecvNewMsgCallback': // 收到新消息 data=[]
|
||||||
|
{
|
||||||
|
(data||[]).forEach(o => {
|
||||||
|
const msgArr = o?.message_elem_array||[]
|
||||||
|
msgArr.forEach(info => {
|
||||||
|
const msgType = info?.elem_type // 消息类型 TIMElemType
|
||||||
|
const msgData = !!info.text_elem_content ? JSON.parse(info.text_elem_content)||'' : ''
|
||||||
|
// 处理学生端反馈得消息
|
||||||
|
//console.log('msgData->', msgData);
|
||||||
|
if (msgData.msgKey == "finishHomework"){
|
||||||
|
// 刷新
|
||||||
|
const data = JSON.parse(localStorage.getItem('teachClassWorkItem'));
|
||||||
|
//console.log('data->', data);
|
||||||
|
openDialog(data, false);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const reloadTimer = ref(0); // 开启定时查询,作业id是否刷新了,刷新了就重新获取
|
const reloadTimer = ref(0); // 开启定时查询,作业id是否刷新了,刷新了就重新获取
|
||||||
const cutid = ref(0); // 当前初始化的作业id
|
const cutid = ref(0); // 当前初始化的作业id
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
@ -649,6 +679,13 @@ onMounted(() => {
|
||||||
// 开始定时查询
|
// 开始定时查询
|
||||||
cutid.value = data.id;
|
cutid.value = data.id;
|
||||||
isReloadTimer();
|
isReloadTimer();
|
||||||
|
|
||||||
|
// im监听消息
|
||||||
|
if (!Chat.imChat) {
|
||||||
|
Chat.init(true, true, msgHandle);
|
||||||
|
} else {
|
||||||
|
Chat.listenMsg(msgHandle);
|
||||||
|
}
|
||||||
})
|
})
|
||||||
const isReloadTimer = () =>{
|
const isReloadTimer = () =>{
|
||||||
clearInterval(reloadTimer.value) // 关闭定时器
|
clearInterval(reloadTimer.value) // 关闭定时器
|
||||||
|
|
Loading…
Reference in New Issue