zdg #233

Merged
zhengdegang merged 2 commits from zdg into main 2024-09-20 13:54:53 +08:00
7 changed files with 47 additions and 45 deletions
Showing only changes of commit 51cb1989a1 - Show all commits

View File

@ -1,6 +1,6 @@
{ {
"name": "aix-win", "name": "aix-win",
"version": "1.2.3", "version": "2.0.1",
"description": "An Electron application with Vue", "description": "An Electron application with Vue",
"main": "./out/main/index.js", "main": "./out/main/index.js",
"author": "example.com", "author": "example.com",

View File

@ -30,7 +30,7 @@
<el-scrollbar height="450px"> <el-scrollbar height="450px">
<div class="textbook-item flex" v-for="item in subjectList" :class="curBookId == item.id ? 'active-item' : ''" <div class="textbook-item flex" v-for="item in subjectList" :class="curBookId == item.id ? 'active-item' : ''"
:key="item.id" @click="changeBook(item)"> :key="item.id" @click="changeBook(item)">
<img v-if="item.avartar" :src="BaseUrl + item.avartar" class="textbook-img" alt=""> <img v-if="item.avartar" :src="item.avartar.indexOf('http') === 0 ? item.avartar : BaseUrl + item.avartar" class="textbook-img" alt="">
<div v-else class="textbook-img"> <div v-else class="textbook-img">
<i class="iconfont icon-jiaocaixuanze" style="font-size: 40px;"></i> <i class="iconfont icon-jiaocaixuanze" style="font-size: 40px;"></i>
</div> </div>
@ -42,7 +42,7 @@
</template> </template>
<script setup> <script setup>
import { onMounted, ref, nextTick, toRaw, reactive } from 'vue'; import { onMounted, ref, nextTick, toRaw, reactive, computed } from 'vue'
import useUserStore from '@/store/modules/user' import useUserStore from '@/store/modules/user'
import { listEvaluation } from '@/api/subject' import { listEvaluation } from '@/api/subject'
@ -64,6 +64,12 @@ const defaultProps = {
class: 'textbook-tree' class: 'textbook-tree'
} }
/*let coverImgUrl = computed((item)=>{
if(!item.avartar){
return ""
}
return item.avartar.indexOf('http') === 0 ? item.avartar : BaseUrl + item.avartar
})*/
const treeLoading = ref(false) const treeLoading = ref(false)
//ID //ID
const curBookId = ref(-1) const curBookId = ref(-1)
@ -115,7 +121,7 @@ const getSubjectContent = async () => {
localStorage.setItem('evaluationList', JSON.stringify(rows)) localStorage.setItem('evaluationList', JSON.stringify(rows))
evaluationList.value = rows evaluationList.value = rows
} }
treeLoading.value = false treeLoading.value = false
// //

View File

@ -8,15 +8,15 @@
<div class="teacher_content_con"> <div class="teacher_content_con">
<!-- 题目内容习题训练 --> <!-- 题目内容习题训练 -->
<div v-if="dialogProps.studentObj.worktype == '习题训练'"> <div v-if="dialogProps.studentObj.worktype == '习题训练'">
<div v-for="(stuItem, sIndex) in dialogProps.studentQuizAllList" :key="stuItem.id"> <div v-for="(quItem, qIndex) in dialogProps.quizlist" :key="quItem.id">
<div v-for="quItem in dialogProps.quizlist" :key="quItem.id"> <div v-for="(stuItem, sIndex) in dialogProps.studentQuizAllList" :key="stuItem.id">
<div v-if="stuItem.entpcourseworkid == quItem.id"> <div v-if="stuItem.entpcourseworkid == quItem.id">
<el-card style="max-width: 100%; margin-bottom: 10px"> <el-card style="max-width: 100%; margin-bottom: 10px">
<!-- 题型 分值 --> <!-- 题型 分值 -->
<template #header> <template #header>
<div class="card-header"> <div class="card-header">
<span <span
>{{ sIndex + 1 }}{{ quItem.worktype }} >{{ qIndex + 1 }}{{ quItem.worktype }}
{{ stuItem.score ? stuItem.score : 0 }}</span {{ stuItem.score ? stuItem.score : 0 }}</span
> >
</div> </div>
@ -94,21 +94,19 @@
</span> </span>
</el-col> </el-col>
<el-col :span="6" style="padding: 10px"> <el-col :span="6" style="padding: 10px">
<div <div v-if="stuItem.imagefile && stuItem.imagefile.length > 0">
v-for="(imageItem, index) in stuItem.imagefile" <div v-for="(imageItem, index) in stuItem.imagefile" :key="index">
v-if="stuItem.imagefile && stuItem.imagefile.length > 0" <el-image
:key="index" style="width: 30px; height: 30px"
> :src="imageItem"
<el-image :zoom-rate="1.2"
style="width: 30px; height: 30px" :max-scale="7"
:src="imageItem" :min-scale="0.2"
:zoom-rate="1.2" :preview-src-list="stuItem.imagefile"
:max-scale="7" :initial-index="4"
:min-scale="0.2" fit="contain"
:preview-src-list="stuItem.imagefile" />
:initial-index="4" </div>
fit="contain"
/>
</div> </div>
</el-col> </el-col>
<el-col :span="6" style="padding: 10px"> <el-col :span="6" style="padding: 10px">

View File

@ -34,7 +34,7 @@
</el-col> </el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item label="知识点" label-width="70"> <el-form-item label="知识点" label-width="70">
<el-cascader <el-cascader
v-model="entpCourseWorkQueryParams.point" v-model="entpCourseWorkQueryParams.point"
clearable clearable
style="width: 100%" style="width: 100%"
@ -59,15 +59,15 @@
<el-col :span="15"> <el-col :span="15">
<el-form-item label="关键词" label-width="70"> <el-form-item label="关键词" label-width="70">
<el-input <el-input
v-model="entpCourseWorkQueryParams.keyWord" v-model="entpCourseWorkQueryParams.keyWord"
style="width: 70%" type="text" style="width: 70%" type="text"
placeholder="请输入关键词" placeholder="请输入关键词"
/> />
<el-button @click="handleQueryParamFromEntpCourseWork(1)"><el-icon><Search /></el-icon> </el-button> <el-button @click="handleQueryParamFromEntpCourseWork(1)"><el-icon><Search /></el-icon> </el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-table :data="workResource.entpCourseWorkList" style="width: 100%;"> <el-table :data="workResource.entpCourseWorkList" style="width: 100%;">
<el-table-column type="index" width="60" /> <el-table-column type="index" width="60" />
<el-table-column align="left" > <el-table-column align="left" >
@ -96,10 +96,10 @@
<div style="height: 55px;"> <div style="height: 55px;">
<!-- 分页 --> <!-- 分页 -->
<pagination <pagination
v-show="entpCourseWorkTotal > 0" v-show="entpCourseWorkTotal > 0"
v-model:page="paginationParams.pageNum" v-model:page="paginationParams.pageNum"
v-model:limit="paginationParams.pageSize" v-model:limit="paginationParams.pageSize"
:total="entpCourseWorkTotal" :total="entpCourseWorkTotal"
:style="{ position: 'relative', 'margin-top': '5px' }" :style="{ position: 'relative', 'margin-top': '5px' }"
@pagination="getPaginationList" /> @pagination="getPaginationList" />
</div> </div>
@ -266,7 +266,7 @@ const entpCourseWorkTypeList = ref([
{value: 5, label: "主观题"}, {value: 5, label: "主观题"},
{value: 6, label: "复合题"}, {value: 6, label: "复合题"},
]); // - ]); // -
const entpCourseWorkGroupList = ref([{ const entpCourseWorkGroupList = ref([{
Key: -1, Key: -1,
Value: '不限', Value: '不限',
@ -323,7 +323,7 @@ const workResource = reactive({
const classWorkForm = reactive({ const classWorkForm = reactive({
worktype: '习题训练', // worktype: '习题训练', //
// uniquekey: userStore.edusubject+'-' + getCurrentTime('MMDD')+'-'+(this.taskList.length+1), // uniquekey: userStore.edusubject+'-' + getCurrentTime('MMDD')+'-'+(this.taskList.length+1),
}) })
const entpCourseWorkList = ref([]); // const entpCourseWorkList = ref([]); //
const entpCourseWorkTotal = ref(0); // const entpCourseWorkTotal = ref(0); //
@ -344,7 +344,7 @@ const queryForm = reactive({
sectionName: props.bookobj.coursetitle, sectionName: props.bookobj.coursetitle,
edusubject: userStore.edusubject, edusubject: userStore.edusubject,
edustage: userStore.edustage, edustage: userStore.edustage,
// //
// //
worktype: entpCourseWorkQueryParams.worktype.label, worktype: entpCourseWorkQueryParams.worktype.label,
workTypeId: entpCourseWorkQueryParams.worktype.value, workTypeId: entpCourseWorkQueryParams.worktype.value,
@ -381,8 +381,8 @@ const queryForm = reactive({
// // [+][+] // // [+][+]
// queryForm.edusubject = ''; // queryForm.edusubject = '';
// } // }
console.log(queryForm) console.log(queryForm)
listEntpcourseworkNew(queryForm).then(entpcourseworkres => { listEntpcourseworkNew(queryForm).then(entpcourseworkres => {
// if (queryType == 1 && this.entpCourseWorkQueryParams.worktype == '') { // if (queryType == 1 && this.entpCourseWorkQueryParams.worktype == '') {
@ -411,8 +411,6 @@ const queryForm = reactive({
entpCourseWorkTotal.value = entpcourseworkres.data.length; entpCourseWorkTotal.value = entpcourseworkres.data.length;
} }
if()
// //
processList(workResource.entpCourseWorkList); processList(workResource.entpCourseWorkList);
}) })
@ -447,8 +445,8 @@ onMounted(() => {
border-radius:5px; border-radius:5px;
} }
} }
} }
</style> </style>

View File

@ -2,9 +2,9 @@
<div class="desktop-work-item"> <div class="desktop-work-item">
<div class="item-title flex"> <div class="item-title flex">
<span class="title">工作动态</span> <span class="title">工作动态</span>
<el-radio-group v-model="type"> <!-- <el-radio-group v-model="type">
<el-radio-button label="全部" :value="-1" /> <el-radio-button label="全部" :value="-1" />
</el-radio-group> </el-radio-group> -->
</div> </div>
<div class="item-content" v-loading="loading"> <div class="item-content" v-loading="loading">
<el-scrollbar height="500px"> <el-scrollbar height="500px">

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="file-oper-batch-wrap"> <div class="file-oper-batch-wrap">
<div style="margin: 0 20px; line-height: 40px"> <div style="line-height: 40px">
<el-checkbox <el-checkbox
v-model="isCheckAll" v-model="isCheckAll"
:indeterminate="indeterminate" :indeterminate="indeterminate"
@ -15,7 +15,7 @@
</template> </template>
<script> <script>
import { deleteSmarttalkBatch } from '@/api/file' import { deleteSmarttalkBatch } from '@/api/file'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage } from 'element-plus'
import { exportFile } from '@/utils/talkFile' import { exportFile } from '@/utils/talkFile'
export default { export default {
name: 'FileOperBatch', name: 'FileOperBatch',

View File

@ -68,7 +68,7 @@
<el-tab-pane label="素材" name="素材"> <el-tab-pane label="素材" name="素材">
<div class="prepare-body-header"> <div class="prepare-body-header">
<div> <div>
<label style="font-size: 15px">{{ currentFileList.length }}个文件</label>&nbsp; <label style="font-size: 15px">{{ currentFileList.filter(ite=>ite.fileFlag!=='apt'&&ite.fileFlag!=='课件').length }}个文件</label>&nbsp;
<el-popover placement="top-start" :width="250" trigger="hover"> <el-popover placement="top-start" :width="250" trigger="hover">
<template #default> <template #default>
<div> <div>
@ -140,7 +140,7 @@
</div> </div>
<file-oper-batch <file-oper-batch
v-show="checkFileList.length > 0" v-show="checkFileList.length > 0"
:indeterminate="checkFileList.length > 0 && checkFileList.length < currentFileList.length" :indeterminate="checkFileList.length > 0 && checkFileList.length < currentSCFileList.length"
:choose="checkFileList" :choose="checkFileList"
:check-all="isCheckAll" :check-all="isCheckAll"
@click-delete="clickDelete" @click-delete="clickDelete"
@ -254,7 +254,7 @@ export default {
computed: { computed: {
isCheckAll() { isCheckAll() {
return ( return (
this.checkFileList.length > 0 && this.checkFileList.length === this.currentFileList.length this.checkFileList.length > 0 && this.checkFileList.length === this.currentSCFileList.length
) )
}, },
currentKJFileList() { currentKJFileList() {