Merge branch 'main' into lyc-dev

This commit is contained in:
lyc 2024-09-25 11:24:38 +08:00
commit a24da0f6a6
3 changed files with 105 additions and 30 deletions

View File

@ -26,9 +26,9 @@
<!-- <el-button type="primary" icon="Postcard" @click="handleNewClassWorkDialog" style="margin-left: 20px; margin-top: 10px">{{initDataProps.queryType!=='single'?'设计新作业':'设计新活动'}}</el-button> <!-- <el-button type="primary" icon="Postcard" @click="handleNewClassWorkDialog" style="margin-left: 20px; margin-top: 10px">{{initDataProps.queryType!=='single'?'设计新作业':'设计新活动'}}</el-button>
<el-button v-if="initDataProps.queryType!=='single'" type="success" icon="Promotion" @click="handleTaskAssignToAllClass()" style="margin-left: 20px; margin-top: 10px">一键推送</el-button> <el-button v-if="initDataProps.queryType!=='single'" type="success" icon="Promotion" @click="handleTaskAssignToAllClass()" style="margin-left: 20px; margin-top: 10px">一键推送</el-button>
<el-button type="danger" icon="delete" @click="handleDelete" style="margin-left: 20px; margin-top: 10px">删除</el-button> --> <el-button type="danger" icon="delete" @click="handleDelete" style="margin-left: 20px; margin-top: 10px">删除</el-button> -->
<el-button type="primary" @click="handleNewClassWorkDialog" style="margin-left: 20px; margin-top: 10px">设计新作业</el-button> <el-button type="primary" style="margin-left: 20px; margin-top: 10px" @click="handleNewClassWorkDialog">设计新作业</el-button>
<el-button type="success" @click="handleTaskAssignToAllClass()" style="margin-left: 20px; margin-top: 10px">一键推送</el-button> <el-button type="success" style="margin-left: 20px; margin-top: 10px" @click="handleTaskAssignToAllClass()">一键推送</el-button>
<el-button type="danger" @click="handleDelete" style="margin-left: 20px; margin-top: 10px">删除</el-button> <el-button type="danger" style="margin-left: 20px; margin-top: 10px" @click="handleDelete">删除</el-button>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
@ -71,14 +71,14 @@
<template #default="scope"> <template #default="scope">
<div style="border: 1px solid #ccc; width: 100%; height: auto; display: flex; justify-content: space-between; padding-left: 10px"> <div style="border: 1px solid #ccc; width: 100%; height: auto; display: flex; justify-content: space-between; padding-left: 10px">
<div style="display: flex; margin-top: 5px"> <div style="display: flex; margin-top: 5px">
<div v-html="scope.row.title" style="max-width: 200px" class="singe-line"></div> <div class="singe-line" style="max-width: 200px" v-html="scope.row.title"></div>
</div> </div>
<div> <div>
<div v-if="scope.row.status == '10'"> <div v-if="scope.row.status == '10'">
<el-button text @click="handleWorkTitleEdit(scope.row, scope.$index)" v-hasPermi="['teaching:classwork:edit']">编辑</el-button> <el-button v-hasPermi="['teaching:classwork:edit']" text @click="handleWorkTitleEdit(scope.row, scope.$index)">编辑</el-button>
</div> </div>
<div v-else> <div v-else>
<el-button text @click="handleWorkTitleEdit(scope.row, scope.$index)" v-hasPermi="['teaching:classwork:edit']">查看详情</el-button> <el-button v-hasPermi="['teaching:classwork:edit']" text @click="handleWorkTitleEdit(scope.row, scope.$index)">查看详情</el-button>
</div> </div>
</div> </div>
</div> </div>
@ -112,19 +112,19 @@
<el-table-column label="题目内容" align="left" > <el-table-column label="题目内容" align="left" >
<template #default="scope"> <template #default="scope">
<div> <div>
<div v-html="scope.row.titleFormat" style="overflow: hidden; text-overflow: ellipsis; font-weight:700"></div> <div style="overflow: hidden; text-overflow: ellipsis; font-weight:700" v-html="scope.row.titleFormat"></div>
<div v-html="scope.row.workdescFormat" style="overflow: hidden; text-overflow: ellipsis; margin-top: 6px;"></div> <div style="overflow: hidden; text-overflow: ellipsis; margin-top: 6px;" v-html="scope.row.workdescFormat"></div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="分值" align="center" width="180"> <el-table-column label="分值" align="center" width="180">
<template #default="scope"> <template #default="scope">
<el-input-number v-model="scope.row.score" :min="1" :max="100" :disabled="taskParams.viewkey=='作业反馈'||checkTaskAssigned(currentTask)"></el-input-number > <el-input-number v-model="scope.row.score" :min="1" :max="100" :disabled="checkTaskAssigned(currentWorkEdit.currentTask)"></el-input-number >
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="100"> <el-table-column label="操作" align="center" width="100">
<template #default="scope"> <template #default="scope">
<el-button @click="handleWorkConfigQuizMinus(scope.$index)" :disabled="taskParams.viewkey=='作业反馈'||checkTaskAssigned(currentTask)">删除</el-button> <el-button :disabled="checkTaskAssigned(currentWorkEdit.currentTask)" @click="handleWorkConfigQuizMinus(scope.$index)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -133,9 +133,9 @@
<div slot="footer" class="dialog-footer" style="text-align: right; margin-top: 20px;"> <div slot="footer" class="dialog-footer" style="text-align: right; margin-top: 20px;">
<div style="display: flex"> <div style="display: flex">
<el-button v-if="currentTag=='习题训练'" style="margin-right: auto" type="primary" <el-button v-if="currentTag=='习题训练'" style="margin-right: auto" type="primary"
@click="handleWorkEdit2ClassWorkQuizAdd" :disabled="taskParams.viewkey=='作业反馈'||checkTaskAssigned(currentTask)">添加作业</el-button> :disabled="checkTaskAssigned(currentWorkEdit.currentTask)" @click="handleWorkEdit2ClassWorkQuizAdd">添加作业</el-button>
<el-button type="primary" style="margin-left: auto" @click="submitStudy('submit')" <el-button type="primary" style="margin-left: auto" :disabled="checkTaskAssigned(currentWorkEdit.currentTask)"
:disabled="taskParams.viewkey=='作业反馈'||checkTaskAssigned(currentTask)"> </el-button> @click="submitStudy('submit')"> </el-button>
</div> </div>
</div> </div>
@ -143,10 +143,10 @@
<!-- 作业说明编辑 --> <!-- 作业说明编辑 -->
<el-dialog v-model="currentWorkEdit.workTitleEdit" title="作业说明编辑" width="70%" append-to-body> <el-dialog v-model="currentWorkEdit.workTitleEdit" title="作业说明编辑" width="70%" append-to-body>
<el-input v-model="currentTitle" type="textarea" rows="5" placeholder="请输入作业说明" :disabled="taskParams.viewkey=='作业反馈'||checkTaskAssigned(currentTask)"/> <el-input v-model="currentWorkEdit.currentTitle" type="textarea" rows="5" placeholder="请输入作业说明" :disabled="checkTaskAssigned(currentWorkEdit.currentTask)"/>
<div slot="footer" class="dialog-footer" style="text-align: right; margin-top: 20px;"> <div slot="footer" class="dialog-footer" style="text-align: right; margin-top: 20px;">
<el-button type="primary" @click="submitWorkTitle('submit')" <el-button type="primary" :disabled="checkTaskAssigned(currentWorkEdit.currentTask)"
:disabled="taskParams.viewkey=='作业反馈'||checkTaskAssigned(currentTask)"> </el-button> @click="submitWorkTitle('submit')"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
@ -154,9 +154,12 @@
</template> </template>
<script setup> <script setup>
import { onMounted, ref, toRaw,watch, reactive } from 'vue' import { onMounted, ref, toRaw,watch, reactive, getCurrentInstance } from 'vue'
import { ElMessage } from 'element-plus'
import ChooseTextbook from '@/components/choose-textbook/index.vue' import ChooseTextbook from '@/components/choose-textbook/index.vue'
import { homeworklist, listEntpcoursework, listClassworkeval } from '@/api/teaching/classwork' import { homeworklist, delClasswork } from '@/api/teaching/classwork'
import { listEntpcoursework, listClassworkeval,updateClasswork } from '@/api/classTask'
import { useGetHomework } from '@/hooks/useGetHomework' import { useGetHomework } from '@/hooks/useGetHomework'
import { processList } from '@/hooks/useProcessList' import { processList } from '@/hooks/useProcessList'
@ -164,6 +167,7 @@ import { processList } from '@/hooks/useProcessList'
import { getCurrentTime } from '@/utils/date' import { getCurrentTime } from '@/utils/date'
import useUserStore from '@/store/modules/user' import useUserStore from '@/store/modules/user'
const userStore = useUserStore().user const userStore = useUserStore().user
const { proxy } = getCurrentInstance()
const props = defineProps({ const props = defineProps({
initDataProps: { initDataProps: {
@ -232,6 +236,30 @@ const getData = (data) => {
localStorage.setItem('unitId', JSON.stringify({ levelFirstId, levelSecondId})) localStorage.setItem('unitId', JSON.stringify({ levelFirstId, levelSecondId}))
} }
/**
* 删除按钮操作 TODO 待完善
* */
const handleDelete =() => {
let rows = proxy.$refs.taskTable.getSelectionRows();
if (rows.length > 0) {
proxy.$modal.confirm('是否确认选中的学习任务?').then(()=> {
let ids = [];
for (let i = 0; i < rows.length; i++) {
ids.push(rows[i].id);
}
return delClasswork(ids.join(','));
}).then(() => {
setTimeout(() => {
getTaskList();
}, 1500);
proxy.$modal.msgSuccess("删除成功");
}).catch(() => {})
}else{
proxy.$modal.alertWarning("请选择删除项")
}
};
/** /**
* 1.获取作业列表 * 1.获取作业列表
*/ */
@ -422,6 +450,54 @@ const handleWorkEdit = (row, index) =>{
} }
}; };
// -
const submitWorkTitle = () => {
console.log(taskList.value)
console.log(currentWorkEdit)
// ? taskList currentIndex
// if (taskList.value[currentWorkEdit.currentIndex].title == currentWorkEdit.currentTitle) {
// currentWorkEdit.workTitleEdit = false;
// return;
// }
taskList.value&&taskList.value.forEach((item)=>{
if(item.children.length>0){
item.children.map(_item=>{
if(_item.title == currentWorkEdit.currentTitle){
currentWorkEdit.workTitleEdit = false;
return;
}
})
}else{
if(item.title == currentWorkEdit.currentTitle){
currentWorkEdit.workTitleEdit = false;
return;
}
}
})
console.log('有更改!')
//
taskList.value[currentWorkEdit.currentIndex].title = currentWorkEdit.currentTitle;
updateClasswork({id: taskList.value[currentWorkEdit.currentIndex].id, title: currentWorkEdit.currentTitle}).then(response => {
ElMessage("修改成功");
currentWorkEdit.workTitleEdit = false;
//this.getClassWorkAllList();
});
};
//
const checkTaskAssigned = (row) => {
console.log(row,'checkTaskAssigned')
// taskconfigid0
let bAssigned = false;
for (let i=0; i<row.taskconfig.length; i++) {
if (row.taskconfig[i].id != 0) {
bAssigned = true;
return bAssigned;
}
}
return bAssigned;
};
/** /**
* 表格子项背景暗调 * 表格子项背景暗调

View File

@ -647,13 +647,15 @@ defineExpose({
}) })
</script> </script>
<style src="@/assets/styles/JYStyle.css"></style>
<style scoped lang="scss"> <style scoped lang="scss">
// :deep(.reserv-date-pick) { /*:deep(.reserv-date-pick) {
// width: 140px; width: 140px;
// } }
// :deep(.reserv-time-pick) { :deep(.reserv-time-pick) {
// width: 240px; width: 240px;
// } }*/
.clwk_dialog { .clwk_dialog {
.clwk_dialog_view { .clwk_dialog_view {
display: flex; display: flex;
@ -669,7 +671,7 @@ defineExpose({
.view_teachrting { .view_teachrting {
flex: 1; flex: 1;
height: 100%; height: 100%;
// overflow-y: auto; /*overflow-y: auto; */
overflow: hidden; overflow: hidden;
} }
} }

View File

@ -106,10 +106,7 @@ const menuList = [{
icon: 'icon-jiaoxuefansi', icon: 'icon-jiaoxuefansi',
isOuter: true, isOuter: true,
path: '/teaching/classtaskassign?titleName=作业布置&openDialog=newClassTask', path: '/teaching/classtaskassign?titleName=作业布置&openDialog=newClassTask',
// path: '/newClassTask' // path: '/newClassTask',
//path: '/classTaskAssign'
//isOuter: true,
//path: '/teaching/classtaskassign?titleName=&&openDialog=newClassTask'
id: '2-1' id: '2-1'
}, },
{ {
@ -117,8 +114,8 @@ const menuList = [{
icon: 'icon-xiezuo1', icon: 'icon-xiezuo1',
isOuter: true, isOuter: true,
path: '/teaching/classtaskassign?titleName=作业布置', path: '/teaching/classtaskassign?titleName=作业布置',
// path: '/classTaskAssign',
id: '2-2' id: '2-2'
// path: '/classTaskAssign'
}, },
{ {
name: '作业批改', name: '作业批改',