Merge branch 'main' into lyc-dev
This commit is contained in:
commit
ef77069329
|
@ -238,7 +238,7 @@ export default async function ({ app, shell, BrowserWindow, ipcMain }) {
|
||||||
//下载文件
|
//下载文件
|
||||||
ipcMain.on('download-file-default', (e, { url, fileName }) => {
|
ipcMain.on('download-file-default', (e, { url, fileName }) => {
|
||||||
createFolder('selfFile').then(async () => {
|
createFolder('selfFile').then(async () => {
|
||||||
const browserWindow = BrowserWindow.fromId(e.sender.id)
|
const browserWindow = BrowserWindow.getFocusedWindow()
|
||||||
const id = await manager.download({
|
const id = await manager.download({
|
||||||
window: browserWindow,
|
window: browserWindow,
|
||||||
url: url,
|
url: url,
|
||||||
|
|
|
@ -61,11 +61,11 @@ const menus = ref([
|
||||||
name: '备课',
|
name: '备课',
|
||||||
path: '/prepare'
|
path: '/prepare'
|
||||||
},
|
},
|
||||||
{
|
/*{
|
||||||
icon: 'icon-jiangke1 icon-teach',
|
icon: 'icon-jiangke1 icon-teach',
|
||||||
name: '授课',
|
name: '授课',
|
||||||
path: '/teach'
|
path: '/teach'
|
||||||
}
|
}*/
|
||||||
])
|
])
|
||||||
|
|
||||||
// 监听当前路由
|
// 监听当前路由
|
||||||
|
|
|
@ -25,15 +25,6 @@
|
||||||
<div class="prepare-uploader-progress" :style="{ width: item.percentage + '%' }"></div>
|
<div class="prepare-uploader-progress" :style="{ width: item.percentage + '%' }"></div>
|
||||||
<div class="prepare-body-main-item-icon">
|
<div class="prepare-body-main-item-icon">
|
||||||
<FileImage :size="50" :file-name="item.raw.name" />
|
<FileImage :size="50" :file-name="item.raw.name" />
|
||||||
<!-- <svg
|
|
||||||
class="icon"
|
|
||||||
aria-hidden="true"
|
|
||||||
font-size="50px"
|
|
||||||
color="red"
|
|
||||||
style="margin: auto"
|
|
||||||
>
|
|
||||||
<use xlink:href="#icon-ppt"></use>
|
|
||||||
</svg>-->
|
|
||||||
</div>
|
</div>
|
||||||
<div class="prepare-body-main-item-info">
|
<div class="prepare-body-main-item-info">
|
||||||
<div class="prepare-item-info-title">{{ item.raw.name }}</div>
|
<div class="prepare-item-info-title">{{ item.raw.name }}</div>
|
||||||
|
|
|
@ -19,7 +19,7 @@ export const constantRoutes = [
|
||||||
path: '/resource',
|
path: '/resource',
|
||||||
component: () => import('@/views/resource/index.vue'),
|
component: () => import('@/views/resource/index.vue'),
|
||||||
name: 'resource',
|
name: 'resource',
|
||||||
meta: {title: '资源',keepAlive:true}
|
meta: {title: '资源'}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/prepare',
|
path: '/prepare',
|
||||||
|
|
|
@ -20,6 +20,10 @@ export const resourceFormat = [
|
||||||
label: 'ppt',
|
label: 'ppt',
|
||||||
value: 'ppt'
|
value: 'ppt'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: 'pptx',
|
||||||
|
value: 'pptx'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: 'mp3',
|
label: 'mp3',
|
||||||
value: 'mp3'
|
value: 'mp3'
|
||||||
|
@ -62,4 +66,4 @@ export const resourceType = [
|
||||||
label: '教案',
|
label: '教案',
|
||||||
value: '教案'
|
value: '教案'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -110,7 +110,6 @@
|
||||||
import {listClassmain, listClassuser, addClassgroup, listClassgroup, delClassgroup,getClassgroup,updateClassgroup} from '@/api/classManage/index'
|
import {listClassmain, listClassuser, addClassgroup, listClassgroup, delClassgroup,getClassgroup,updateClassgroup} from '@/api/classManage/index'
|
||||||
import {ref, onMounted, reactive, defineProps, watch} from 'vue'
|
import {ref, onMounted, reactive, defineProps, watch} from 'vue'
|
||||||
import useUserStore from '@/store/modules/user'
|
import useUserStore from '@/store/modules/user'
|
||||||
import {useRoute} from 'vue-router'
|
|
||||||
import {ElMessage} from "element-plus";
|
import {ElMessage} from "element-plus";
|
||||||
|
|
||||||
const userStore = useUserStore().user
|
const userStore = useUserStore().user
|
||||||
|
|
|
@ -9,9 +9,10 @@
|
||||||
<el-descriptions :column="1">
|
<el-descriptions :column="1">
|
||||||
<el-descriptions-item label="班级名称">{{ classInfo.className }}</el-descriptions-item>
|
<el-descriptions-item label="班级名称">{{ classInfo.className }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="教师">
|
<el-descriptions-item label="教师">
|
||||||
<template>
|
<template v-if="classInfo.teacher.length > 0">
|
||||||
<el-tag type="primary" v-for="(item, index) in classInfo.teacher" :key="index">{{item.name}}</el-tag>
|
<el-tag type="primary" v-for="(item, index) in classInfo.teacher" :key="index">{{item.name}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
|
<template v-else>暂无</template>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="学生人数">{{ classInfo.student.length }}人</el-descriptions-item>
|
<el-descriptions-item label="学生人数">{{ classInfo.student.length }}人</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
|
|
@ -110,7 +110,7 @@
|
||||||
//学科列表
|
//学科列表
|
||||||
const courseList = ref([])
|
const courseList = ref([])
|
||||||
//班级id
|
//班级id
|
||||||
const classId = ref('')
|
const classId = ref(0)
|
||||||
//当前页面
|
//当前页面
|
||||||
const currentIndex = ref(0)
|
const currentIndex = ref(0)
|
||||||
//年级
|
//年级
|
||||||
|
@ -265,7 +265,6 @@
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getClassInfo()
|
getClassInfo()
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
console.log(userStore.deptId,'123')
|
|
||||||
viewportHeight.value = getViewportHeight()
|
viewportHeight.value = getViewportHeight()
|
||||||
})
|
})
|
||||||
window.addEventListener('resize', () => {
|
window.addEventListener('resize', () => {
|
||||||
|
|
|
@ -19,7 +19,8 @@
|
||||||
src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"
|
src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div>{{ item.name }}</div>
|
<div><el-text class="mx-1" type="primary">{{ item.name }}</el-text></div>
|
||||||
|
<div><el-text class="mx-1" type="warning">{{ item.username }}</el-text></div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
</div>
|
</div>
|
||||||
<el-button type="primary" class="to-class-btn" @click="openLesson">
|
<el-button type="primary" class="to-class-btn" @click="openLesson">
|
||||||
<i class="iconfont icon-lingdang"></i>上课</el-button>
|
<i class="iconfont icon-lingdang"></i>上课</el-button>
|
||||||
|
<div class="top-zoom-style"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="prepare-body-header">
|
<div class="prepare-body-header">
|
||||||
|
|
||||||
|
@ -117,10 +118,15 @@ export default {
|
||||||
this.callback(param)
|
this.callback(param)
|
||||||
})
|
})
|
||||||
this.lastAsyncAllTime = localStorage.getItem('lastAsyncAllTime')
|
this.lastAsyncAllTime = localStorage.getItem('lastAsyncAllTime')
|
||||||
|
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
},
|
},
|
||||||
|
activated() {
|
||||||
|
if (this.uploadData.textbookId !== null) {
|
||||||
|
this.asyncAllFile()
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
createFile() {
|
createFile() {
|
||||||
creatPPT(this.currentNode.label + '.pptx', this.uploadData).then((res) => {
|
creatPPT(this.currentNode.label + '.pptx', this.uploadData).then((res) => {
|
||||||
|
@ -252,9 +258,9 @@ export default {
|
||||||
},
|
},
|
||||||
// 打开外部链接
|
// 打开外部链接
|
||||||
handleOutLink(key){
|
handleOutLink(key){
|
||||||
// key 对应的 linkConfig.js 外部链接配置
|
// key 对应的 linkConfig.js 外部链接配置
|
||||||
let configObj = outLink[key]
|
let configObj = outLink[key]
|
||||||
// 通知主进程
|
// 通知主进程
|
||||||
ipcRenderer.send('openWindow', {
|
ipcRenderer.send('openWindow', {
|
||||||
fullPath: configObj.fullPath,
|
fullPath: configObj.fullPath,
|
||||||
cookieData: {...(configObj.data)}
|
cookieData: {...(configObj.data)}
|
||||||
|
@ -321,8 +327,16 @@ export default {
|
||||||
height: 150px;
|
height: 150px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
background: linear-gradient(#97c4ed, #7aa8e5);
|
position: relative;
|
||||||
padding-right: 20px;
|
background: linear-gradient(#b0d1ef, #3e7bcb);
|
||||||
|
.top-zoom-style{
|
||||||
|
position: absolute;
|
||||||
|
width: 90%;
|
||||||
|
height: 30px;
|
||||||
|
background: linear-gradient(#b0d1ef, #5283c4);
|
||||||
|
bottom: 0;
|
||||||
|
clip-path: polygon(3% 0%, 97% 0%, 100% 100%, 0% 100%);
|
||||||
|
}
|
||||||
.textbook-img{
|
.textbook-img{
|
||||||
height: 120px;
|
height: 120px;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
|
@ -330,11 +344,13 @@ export default {
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
|
z-index: 1;
|
||||||
}
|
}
|
||||||
.top-item{
|
.top-item{
|
||||||
width: 230px;
|
width: 230px;
|
||||||
|
position: relative;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
z-index: 1;
|
||||||
.btn{
|
.btn{
|
||||||
width: 102px;
|
width: 102px;
|
||||||
background: none;
|
background: none;
|
||||||
|
@ -358,6 +374,7 @@ export default {
|
||||||
height: 80px;
|
height: 80px;
|
||||||
margin-left: 25px;
|
margin-left: 25px;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
|
z-index: 1;
|
||||||
.icon-lingdang{
|
.icon-lingdang{
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
|
Loading…
Reference in New Issue