@@ -140,6 +145,7 @@ import { editListItem } from '@/hooks/useClassTask'
import MyQuestion from '@/views/classTask/newClassTaskAssign/myQuestion/index.vue'
import SchoolQuestion from '@/views/classTask/newClassTaskAssign/schoolQuestion/index.vue'
import SearchQuestion from '@/views/classTask/newClassTaskAssign/searchQuestion/index.vue'
+import ExperimentQuestion from "@/views/classTask/newClassTaskAssign/experimentQuestion/index.vue";
import whiteboard from '@/components/whiteboard/whiteboard.vue'
import FileUpload from "@/components/FileUpload/index.vue";
import Right from './Right/index.vue'
@@ -194,7 +200,7 @@ const fileLoading = ref(false); // 常规作业loading
onMounted(() => {
console.log("----onMounted-------")
- currentRow.value = {id:0};
+ currentRow.value.id = 0
if(propsQueryCourseObj){
if(JSON.parse(propsQueryCourseObj)){
courseObj.textbookId = JSON.parse(propsQueryCourseObj).bookObj // 版本
@@ -229,7 +235,7 @@ const isInToMyQuestion = () => {
if(useClassTaskStores.isOpenQuestUploadView){
useClassTaskStores.isOpenQuestUploadView = false;
- currentRow.value = {id:1}; // 作业设计
+ currentRow.value.id = 1; // 作业设计
activeAptTab.value = "个人题库";
//提交内容清空 重置
classWorkForm.id = 0;
@@ -258,6 +264,16 @@ watch(() => props.currentCourse, (newVal, oldVal) => {
}
console.log(newVal,'newval');
},{deep:true})
+
+// ------------科学实验
+const getExpObj = (obj)=>{
+ // obj:{
+ // fileurl: "https://phet.colorado.edu/sims/html/number-compare/latest/number-compare_zh_CN.html"
+ // label: "数量比较"
+ // subject: "math"
+ // }
+ classWorkForm.fileHomeworkList = [obj];
+}
//---------作业设计---
const handleItemClick = (itemName) => {
console.log('itemName', itemName);
@@ -266,7 +282,7 @@ const handleItemClick = (itemName) => {
return;
}
- currentRow.value = {id:1}; // 作业设计
+ currentRow.value.id = 1; // 作业设计
/**
* 智能推荐?AI设计作业?
* 习题训练: 自主搜题 校本题库 个人题库
@@ -309,7 +325,7 @@ const initHomeWork = async()=> {
const handleNewAllClass = () => {
taskTable.value.setCurrentRow({});// 清除表格选中项背景色
- currentRow.value = {id:0}; // 作业设计
+ currentRow.value.id = 0; // 作业设计
//--------
classWorkForm.id = 0;
classWorkForm.uniquekey = ""; // 作业唯一标识 作业名称
@@ -336,7 +352,7 @@ const handleDelete =() => {
return delClasswork(ids.join(','));
}).then(() => {
taskTable.value.setCurrentRow({});// 清除表格选中项背景色
- currentRow.value = {id:0}; // 作业设计
+ currentRow.value.id = 0; // 作业设计
taskList.value = [];
// initHomeWork();
setTimeout(() => {
@@ -430,7 +446,7 @@ const handleCurrentChange = (val) => {
console.log(val,'???????????')
if(val && val.id >0 ) {
- currentRow.value = val;
+ currentRow.value.id = 1;
classWorkForm.worktype = val.worktype; //作业类型
editListItem(val, courseObj).then((obj) => {
if(obj){
@@ -582,6 +598,32 @@ const handleClassWorkFormQuizRemove = (index) =>{
fileLoading.value = false
}
}
+ else if(classWorkForm.worktype === "科学实验"){
+ if (classWorkForm.fileHomeworkList.length == 0) return ElMessage({ type: 'warning', message: '请选择科学实验的课程!'});
+ cform.workcodes = JSON.stringify(classWorkForm.fileHomeworkList);
+ cform.entpcourseworklist = JSON.stringify([{'id':-3, 'score': '10'}]);
+ try {
+ console.log(cform,'科学实验')
+ addClassworkReturnId(cform).then((res) => {
+ ElMessage({ type: 'success', message: '作业设计成功!'});
+ // 重置提交表单
+ classWorkForm.worktype = "科学实验";
+ classWorkForm.uniquekey = ''; // props.propsformobj.uniquekey, // 作业唯一标识 作业名称
+ classWorkForm.title = "";
+ classWorkForm.quizlist = [], // 作业习题列表内容
+
+ // 情况选择的资源缓存
+ classWorkForm.chooseWorkLists = []; // 框架梳理list
+ classWorkForm.whiteboardObj = ''; // ? // 清空白板
+ classWorkForm.fileHomeworkList = []; // 常规作业list
+ classWorkForm.id = res
+ emits('getData',classWorkForm)
+ // TODO 科学实验 待完善
+ })
+ } finally{
+ //
+ }
+ }
else {
// 正常新任务
var ll = [];
@@ -628,9 +670,9 @@ const handleClassWorkFormQuizRemove = (index) =>{
console.log('该清空左侧列表数据了');
// 清空左侧 选中的布置列表 并刷新列表
if(isShow.value){
- currentRow.value = {id:1};
+ currentRow.value.id = 1;
}else{
- currentRow.value = {id:0};
+ currentRow.value.id = 0;
}
initHomeWork();
@@ -667,7 +709,10 @@ const editWork = async (cform) =>{
}else{
if (classWorkForm.fileHomeworkList.length == 0) return ElMessage({ type: 'warning', message: '请上传常规作业附件!'});
}
- }else {
+ }else if( classWorkForm.worktype == '科学实验') {
+ if (classWorkForm.fileHomeworkList.length == 0) return ElMessage({ type: 'warning', message: '请选择科学实验科目!'});
+ }
+ else {
if (classWorkForm.chooseWorkLists.length == 0) {
// 框架梳理
ElMessage.error('请先添加作业资源!');
@@ -759,13 +804,21 @@ const editWork = async (cform) =>{
// 1.更新作业任务下的课堂展示内容 (这里未做校验, 直接将当前文件对象更新过去)
cform.workcodes = JSON.stringify(classWorkForm.fileHomeworkList);
}
+ else if (classWorkForm.worktype=='科学实验') { //TODO 注意,fileHomeworkList字段与常规作业共用
+ // 1.更新作业任务下的课堂展示内容 (这里未做校验, 直接将当前文件对象更新过去)
+ cform.workcodes = JSON.stringify(classWorkForm.fileHomeworkList);
+ }
// 3.更新作业任务本身
let res = await updateClasswork(cform);
if (res.code == 200) {
ElMessage.success('更新成功');
// 清空左侧 选中的布置列表 并刷新列表
- currentRow.value = {id:0};
+ if(isShow.value){
+ currentRow.value.id = 1;
+ }else{
+ currentRow.value.id = 0;
+ }
initHomeWork();
// // 返回上一页
// router.back()
@@ -865,6 +918,11 @@ const editWork = async (cform) =>{
padding: 20px;
box-sizing: border-box;
}
+
+ .experiment-homework{
+ padding: 15px;
+ height: 100%;
+ }
}
.page-right {
overflow: hidden;
diff --git a/src/renderer/src/views/classTask/newClassTaskAssign/questToPPTist/index.vue b/src/renderer/src/views/classTask/newClassTaskAssign/questToPPTist/index.vue
index 2d7e448..156da53 100644
--- a/src/renderer/src/views/classTask/newClassTaskAssign/questToPPTist/index.vue
+++ b/src/renderer/src/views/classTask/newClassTaskAssign/questToPPTist/index.vue
@@ -6,9 +6,9 @@
-
+
diff --git a/src/renderer/src/views/classTask/teachClassTask.vue b/src/renderer/src/views/classTask/teachClassTask.vue
index 83b5ec9..0d1afe6 100644
--- a/src/renderer/src/views/classTask/teachClassTask.vue
+++ b/src/renderer/src/views/classTask/teachClassTask.vue
@@ -721,19 +721,23 @@ const msgHandle = (msg) => {
const { head, content, ...other } = msg
switch(head) {
case MsgEnum.HEADS.MSG_closed: // 下课:
- Homework.win = null
- window.close() // 关闭窗口
- break
+ Homework.win = null
+ window.close() // 关闭窗口
+ break
case MsgEnum.HEADS.MSG_finishHomework: // 跟新作业:
console.log('更新作业', head, content)
const data = JSON.parse(localStorage.getItem('teachClassWorkItem'));
openDialog(data, false);
- break
+ break
case MsgEnum.HEADS.MSG_slideFlapping: // 切换页面
console.log('切换页面-关闭窗口')
Homework.win = null
window.close() // 关闭窗口
- break
+ break
+ case MsgEnum.HEADS.MSG_pushSreen_experiment: // 实验:
+ Homework.win = null
+ window.close() // 关闭窗口
+ break
// case 'TIMAddRecvNewMsgCallback': // 收到新消息 data=[]
// {
// (data||[]).forEach(o => {
diff --git a/src/renderer/src/views/login/defult-login.vue b/src/renderer/src/views/login/defult-login.vue
new file mode 100644
index 0000000..9b506aa
--- /dev/null
+++ b/src/renderer/src/views/login/defult-login.vue
@@ -0,0 +1,427 @@
+
+
+
+
+
+
+
+
+
账号登录
+
+
+
+
+
+
+
+
+ 记住密码
+
+
+
+
+ 登录
+
+
+
+
+
+
+
+
账号注册
+
+
+
+
+
+ {{ codeName }}
+
+
+
+
+
+
+ 立即注册
+
+
+
+
+
+
+
+
+
+ 根据图片回答相关问题1
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/renderer/src/views/login/index.vue b/src/renderer/src/views/login/index.vue
index 9b506aa..290f79d 100644
--- a/src/renderer/src/views/login/index.vue
+++ b/src/renderer/src/views/login/index.vue
@@ -1,427 +1,13 @@
-
-
-
-
-
-
-
-
账号登录
-
-
-
-
-
-
-
-
- 记住密码
-
-
-
-
- 登录
-
-
-
-
-
-
-
-
账号注册
-
-
-
-
-
- {{ codeName }}
-
-
-
-
-
-
- 立即注册
-
-
-
-
-
-
-
-
-
- 根据图片回答相关问题1
-
-
-
-
-
- 确定
-
-
-
-
-
-
-
-
+
+
+
+
diff --git a/src/renderer/src/views/login/yc-login.vue b/src/renderer/src/views/login/yc-login.vue
new file mode 100644
index 0000000..32ecf38
--- /dev/null
+++ b/src/renderer/src/views/login/yc-login.vue
@@ -0,0 +1,463 @@
+
+
+
+
+
+
+
+
+
永川中小学
+
{{buildMode === 'yc2'?'虚拟仿真AI实训教学管理系统':'人工智能赋能科学素养与劳动技能系统'}}
+
+
+
+
+
+
+
+
+ 记住密码
+
+
+
+
+ 登录
+
+
+
+ 重庆市永川区教育委员会
+
+
+
+
+
+
+
账号注册
+
+
+
+
+
+ {{ codeName }}
+
+
+
+
+
+
+ 立即注册
+
+
+
+
+
+
+
+
+
+ 根据图片回答相关问题1
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/renderer/src/views/model/index.vue b/src/renderer/src/views/model/index.vue
index 4bc6ebb..dd15098 100644
--- a/src/renderer/src/views/model/index.vue
+++ b/src/renderer/src/views/model/index.vue
@@ -98,10 +98,13 @@ import progressDialog from '@/views/teachingDesign/container/progress-dialog.vue
import msgUtils from "@/plugins/modal";
import * as commUtils from "@/utils/comm";
import * as Api_server from "@/api/apiService"; // 学科名字文生图
+import useClassTaskStore from '@/store/modules/classTask'
+
const router = useRouter()
const userStore = useUserStore().user // 用户信息
const currentNode = ref({})
const refs = ref([]);
+const classTaskStore = useClassTaskStore();
const collectRef = (key) => {
return (el) => {
@@ -513,7 +516,9 @@ const changeClass = async (type, row, other) => {
}
// 页面加载
-onMounted(() => {
+onMounted(async () => {
+ // 更新第三方题型题类
+ await classTaskStore.initJYInfo(userStore);
})
diff --git a/src/renderer/src/views/prepare/container/class-start.vue b/src/renderer/src/views/prepare/container/class-start.vue
index c9c518b..3edc5d7 100644
--- a/src/renderer/src/views/prepare/container/class-start.vue
+++ b/src/renderer/src/views/prepare/container/class-start.vue
@@ -61,7 +61,8 @@
开始新的课堂,需要点击先创建课堂,才能显示手机二维码
开始新的课堂,需要点击先创建课堂
-
创建课堂
+
创建课堂
+
公屏上课
@@ -146,7 +147,7 @@ const open = async (id, classObj) => {
await getAptInfo(id)
// 获取班级列表
getClassList()
- console.log('classObj', classObj)
+ // console.log('classObj', classObj)
// 继续上课
if (!!classObj) {
dt.ctCourse = classObj
@@ -245,8 +246,8 @@ const getClasscourseList = async type => {
}
}
}
-// 创建课程
-const createClasscourse = async () => {
+// 创建课程 isPublic 公屏上课
+const createClasscourse = async (isPublic = false) => {
const { classid } = classForm.form
if (!classid) {
ElMessage.warning('请选择班级')
@@ -255,8 +256,8 @@ const createClasscourse = async () => {
dt.loading = true
const { entpcourseid, evalid, id, coursetitle } = myClassActive.value // 课件对象
const curDate = commUtil.getDateNow('yyyy-MM-dd')
- const params = {
- id: 0, coursetype: '', courseverid: 0, coursedesc: '', status: '',
+ const params = { // 公屏上课直接 status = open
+ id: 0, coursetype: '', courseverid: 0, coursedesc: '', status: isPublic?'open':'',
teacherid: userStore.id, entpcoursefileid: id, classid,
entpcourseid, evalid, coursetitle,
plandate: curDate, opendate: curDate
@@ -274,7 +275,7 @@ const createClasscourse = async () => {
setTimeout(async() => {
msgEl.close()
const res = await Http_Classcourse.getClasscourse(teacherForm.form.classcourseid)
- openPublicScreen(res.data)
+ openPublicScreen(res.data, isPublic)
}, 2000);
}, 1000);
}
@@ -355,7 +356,7 @@ const getQrUrl = async() => {
}
// 打开公屏
-const openPublicScreen = (classcourse) => {
+const openPublicScreen = (classcourse, isPublic) => {
console.log('打开公屏', classcourse)
if (!dt.ctCourse) { // 新开课需要发送消息-继续上课不需要直接打开
// 发送app端待开课消息
@@ -366,11 +367,14 @@ const openPublicScreen = (classcourse) => {
const resource = toRaw(myClassActive.value)
sessionStore.set('curr.resource', resource) // 缓存当前资源信息
sessionStore.set('curr.classcourse', classcourse) // 缓存当前当前上课
+ // 公屏开课
+ sessionStore.set('curr.isPublic', isPublic) // 缓存是否公屏开课
createWindow('open-win', {
url: '/pptist', // 窗口关闭时,清除缓存
close: () => {
sessionStore.set('curr.resource', null) // 清除缓存
sessionStore.set('curr.classcourse', null) // 清除缓存
+ sessionStore.set('curr.isPublic', null) // 清除缓存
}
})
visible.value = false // 关闭弹窗
diff --git a/src/renderer/src/views/prepare/container/file-list-item.vue b/src/renderer/src/views/prepare/container/file-list-item.vue
index c2e3e90..7f28cdb 100644
--- a/src/renderer/src/views/prepare/container/file-list-item.vue
+++ b/src/renderer/src/views/prepare/container/file-list-item.vue
@@ -126,11 +126,17 @@
下载