Compare commits

...

16 Commits

Author SHA1 Message Date
白了个白 129f875469 Merge branch 'main' of http://27.128.240.72:3000/zhuhao/AIx_Smarttalk into baigl 2024-09-19 10:54:31 +08:00
lyc c58322ca0b Merge pull request '作业查询修改' (#219) from lyc-dev into main 2024-09-18 16:11:59 +08:00
lyc 08dad41e4d 作业查询修改 2024-09-18 16:11:54 +08:00
zhengdegang 675613bbee Merge pull request 'zdg' (#218) from zdg into main
Reviewed-on: #218
2024-09-18 15:01:31 +08:00
zdg 9188df0d94 Merge branch 'main' of http://27.128.240.72:3000/zhuhao/AIx_Smarttalk into zdg 2024-09-18 15:00:30 +08:00
zdg 4e8560b033 解决二维码不出现的问题 2024-09-18 15:00:17 +08:00
yangws d047e85d03 Merge pull request 'fix: 个人中心任选学科报错问题;' (#217) from yangws into main
Reviewed-on: #217
2024-09-18 14:05:31 +08:00
yangws acd66c11fa fix: 个人中心任选学科报错问题; 2024-09-18 14:04:58 +08:00
yangws c32bd6eef4 Merge pull request 'fix: 解决资源库报错的问题;' (#216) from yangws into main
Reviewed-on: #216
2024-09-18 13:56:28 +08:00
yangws 3b9877e788 fix: 解决资源库报错的问题; 2024-09-18 13:55:30 +08:00
lyc aaa2aef3ca move-file 2024-09-18 11:13:32 +08:00
lyc 5cfd5747a1 Merge pull request 'move-file' (#215) from lyc-dev into main 2024-09-18 11:13:31 +08:00
lyc 04263cd519 Merge pull request '预约课程-时间限制修改' (#214) from lyc-dev into main 2024-09-18 10:53:27 +08:00
lyc aee945f90f 预约课程-时间限制修改 2024-09-18 10:53:22 +08:00
lyc 7439c9759a Merge pull request '布置作业-截止时间默认当前时间' (#213) from lyc-dev into main 2024-09-18 09:42:58 +08:00
lyc ddd53943b8 布置作业-截止时间默认当前时间 2024-09-18 09:42:35 +08:00
8 changed files with 37 additions and 39 deletions

View File

@ -115,7 +115,8 @@ const getSubjectContent = async () => {
edustage, edustage,
// entpcourseedituserid: userId, // entpcourseedituserid: userId,
itemgroup: 'textbook', itemgroup: 'textbook',
pageSize: 500 orderby: 'orderidx asc',
pageSize: 10000
} }
let data; let data;
const { rows } = await listEvaluation(params) const { rows } = await listEvaluation(params)
@ -142,7 +143,7 @@ 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", edusubject, edustage, pageSize: 500 }) const { rows } = await listEvaluation({ itemkey: "version", edusubject, edustage, pageSize: 10000, orderby: 'orderidx asc', })
subjectList.value = rows subjectList.value = rows
localStorage.setItem('subjectList', JSON.stringify(subjectList.value)) localStorage.setItem('subjectList', JSON.stringify(subjectList.value))
} }

View File

@ -10,13 +10,13 @@
<div v-loading="setLoading"> <div v-loading="setLoading">
<el-form :model="form" label-width="80px" ref="ruleFormRef" :rules="rules"> <el-form :model="form" label-width="80px" ref="ruleFormRef" :rules="rules">
<el-form-item label="班级" prop="grade"> <el-form-item label="班级" prop="grade">
<el-scrollbar max-height="200px" style="width: 100%"> <el-scrollbar max-height="150px" style="width: 100%">
<el-tree :props="defaultProps" :load="getLoad" node-key="id" highlight-current @check="handleCheckChange" <el-tree :props="defaultProps" :load="getLoad" node-key="id" highlight-current @check="handleCheckChange"
lazy show-checkbox /> lazy show-checkbox />
</el-scrollbar> </el-scrollbar>
</el-form-item> </el-form-item>
<el-form-item label="选中学生" prop="student"> <el-form-item label="选中学生" prop="student">
<el-scrollbar max-height="200px"> <el-scrollbar max-height="130px">
<el-tag v-for="(tag, index) in studentList" :key="tag.studentid" closable type="primary" <el-tag v-for="(tag, index) in studentList" :key="tag.studentid" closable type="primary"
@close="delStudent(index)"> @close="delStudent(index)">
{{ tag.name }} {{ tag.name }}
@ -53,6 +53,7 @@ import { ElMessage } from 'element-plus'
import { listClassmain, listClassgroup } from '@/api/classManage/index' import { listClassmain, listClassgroup } from '@/api/classManage/index'
import { saveByClassWorkArray } from '@/api/teaching/classwork' import { saveByClassWorkArray } from '@/api/teaching/classwork'
import useUserStore from '@/store/modules/user' import useUserStore from '@/store/modules/user'
import { getCurrentTime } from '@/utils/date'
import { uniqBy, groupBy } from 'lodash' import { uniqBy, groupBy } from 'lodash'
const model = defineModel({ type: Boolean, default: false }) const model = defineModel({ type: Boolean, default: false })
@ -233,7 +234,7 @@ const onSubmit = (formEl) => {
timelength: form.timelength, timelength: form.timelength,
weights: 1, weights: 1,
deaddate: form.deaddate, deaddate: form.deaddate,
workdate: getCurrentDate(), workdate: getCurrentTime('YYYY-MM-DD'),
uniquekey: props.row.uniquekey, uniquekey: props.row.uniquekey,
entpcourseworklist: '[' + props.row.entpcourseworklist + ']', entpcourseworklist: '[' + props.row.entpcourseworklist + ']',
needMsgNotifine: 'false', needMsgNotifine: 'false',
@ -243,7 +244,7 @@ const onSubmit = (formEl) => {
teachername: userInfo.nickName, teachername: userInfo.nickName,
unixstamp: new Date().getTime(), unixstamp: new Date().getTime(),
worktype: props.row.worktype, worktype: props.row.worktype,
status: '1', //1 status: '1'
} }
ary.push(obj) ary.push(obj)
} }
@ -276,24 +277,10 @@ const cloneDialog = (formEl) => {
formEl.resetFields() formEl.resetFields()
model.value = false model.value = false
} }
//
const getCurrentDate = () => {
const now = new Date()
const year = now.getFullYear()
let month = now.getMonth() + 1 // 0+1
let day = now.getDate()
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
return `${year}-${month}-${day}`
}
onMounted(() => { onMounted(() => {
// //
form.deaddate = getCurrentDate() + ' ' + '10:00:00' form.deaddate = getCurrentTime('YYYY-MM-DD HH:mm')
}) })
</script> </script>

View File

@ -71,7 +71,8 @@ const getHomeWorkList = async () => {
return await homeworklist({ return await homeworklist({
entpcourseid: chapterId, entpcourseid: chapterId,
edituserid: userStore.user.userId, edituserid: userStore.user.userId,
pageSize: 100 pageSize: 100,
status: '10'
}).then((res) => { }).then((res) => {
//以下代码 参照AIx web端 作业布置 //以下代码 参照AIx web端 作业布置
let list = [] let list = []

View File

@ -304,7 +304,7 @@ const eventHandles = (type, win) => {
*/ */
export const toLinkWeb = (path) => { export const toLinkWeb = (path) => {
const config = baseConfig() const config = baseConfig()
console.log(config) // console.log(config)
const fullPath = config.url + path const fullPath = config.url + path
// 通知主进程 // 通知主进程
ipcRenderer.send('openWindow', { ipcRenderer.send('openWindow', {

View File

@ -42,7 +42,7 @@
<!-- 老师扫码 --> <!-- 老师扫码 -->
<template #item_qrUrl="{value}"> <template #item_qrUrl="{value}">
<div :title="value" v-if="!!value"> <div :title="value" v-if="!!value">
<vue-qr :text="value" :size="200" :margin="10" colorDark="green" colorLight="white" logoSrc="/img/logo.png" :logoScale="0.2" :dotScale="0.7"></vue-qr> <vue-qr :text="value" :size="200" :margin="10" colorDark="green" colorLight="white" :logoSrc="getStaticUrl('/img/logo.png')" :logoScale="0.2" :dotScale="0.7"></vue-qr>
</div> </div>
<el-button type="warning" :loading="dt.loadingDel" @click="removeClasscourse()">删除记录</el-button> <el-button type="warning" :loading="dt.loadingDel" @click="removeClasscourse()">删除记录</el-button>
</template> </template>
@ -77,7 +77,7 @@ import vueQr from 'vue-qr/src/packages/vue-qr.vue' // 插件: 二维码
import imChat from '@/views/tool/components/imChat.vue' // im-chat- import imChat from '@/views/tool/components/imChat.vue' // im-chat-
import MsgEnum from '@/plugins/imChat/msgEnum' // -(nuem) import MsgEnum from '@/plugins/imChat/msgEnum' // -(nuem)
import * as commUtil from '@/utils/comm' // - import * as commUtil from '@/utils/comm' // -
import { toLinkWeb } from '@/utils/tool' import { toLinkWeb, getStaticUrl } from '@/utils/tool'
import * as Http_ClassManage from '@/api/classManage' // api import * as Http_ClassManage from '@/api/classManage' // api
import * as Http_Classcourse from '@/api/teaching/classcourse' // api import * as Http_Classcourse from '@/api/teaching/classcourse' // api
@ -178,9 +178,9 @@ const open = async (id) => {
getClassList() getClassList()
// im-chat // im-chat
nextTick(async() => { // nextTick(async() => {
chat = await imChatRef.value?.initImChat() // chat = await imChatRef.value?.initImChat()
}) // })
} }
// //
const handleClose = async () => { const handleClose = async () => {

View File

@ -55,7 +55,7 @@ const chartDom = ref(null);
let chartInstance = null let chartInstance = null
const menuList = [{ const menuList = [{
name: '教学分析', name: '课程教学',
span: 24, span: 24,
id: 1, id: 1,
list: [ list: [
@ -81,11 +81,11 @@ const menuList = [{
icon: 'icon-xueqingfenxi', icon: 'icon-xueqingfenxi',
disabled: true disabled: true
}, },
{ // {
name: '教学设计', // name: '',
icon: 'icon-jiaoxuesheji', // icon: 'icon-jiaoxuesheji',
path: '/prepare' // path: '/prepare'
}, // },
{ {
name: '教学实施', name: '教学实施',
icon: 'icon-jiaoxuefenxi', icon: 'icon-jiaoxuefenxi',

View File

@ -172,16 +172,23 @@ const disabledHours = ()=>{
} }
// - // -
const disabledMinute = (hour,role) => { const disabledMinute = (hour,role) => {
if(form.time == null) return
if(getCurrentTime('YYYY-MM-DD') == form.day){ if(getCurrentTime('YYYY-MM-DD') == form.day){
const arrs = [] const arrs = []
if(role == 'start'){ if(role == 'start'){
for (let i = 0; i < 60; i++) { let nowHour = new Date().getHours().toString().padStart(2, '0');
if (new Date().getMinutes() <= i) continue; if(nowHour < hour){
arrs.push(i) return []
}
else{
for (let i = 0; i < 60; i++) {
if (new Date().getMinutes() <= i) continue;
arrs.push(i)
}
return arrs;
} }
return arrs;
} }
else{ if(role == 'end'){
if(form.time[0]) return [] if(form.time[0]) return []
} }
} }

View File

@ -91,6 +91,8 @@ const subjectList = ref([])
// //
const getSubject = () => { const getSubject = () => {
//
if(!userStore.user.subject) return
listEvaluation({ itemkey: 'subject', pageSize: 500 }).then((res) => { listEvaluation({ itemkey: 'subject', pageSize: 500 }).then((res) => {
const arr = userStore.user.subject.split(',') const arr = userStore.user.subject.split(',')
subjectList.value = res.rows.filter(item => arr.includes(String(item.id))).map(items => items) subjectList.value = res.rows.filter(item => arr.includes(String(item.id))).map(items => items)