|
|
@@ -4,7 +4,7 @@
|
|
|
<div class="page_search">
|
|
|
<div class="search_content">
|
|
|
<div class="content_left">
|
|
|
- <el-checkbox v-model="is_head_teacher_involved" >班主任参与评价</el-checkbox>
|
|
|
+ <el-checkbox v-model="isHeadTeacherInvolved" >班主任参与评价</el-checkbox>
|
|
|
</div>
|
|
|
<div class="content_right">
|
|
|
<el-button class="button_border" @click="OpenAddGradeForm">新增年级</el-button>
|
|
|
@@ -27,11 +27,11 @@
|
|
|
<div class="grade_title">
|
|
|
{{ gradeOpt.gradeName }} (共{{ gradeOpt.subjectCount }}科)
|
|
|
</div>
|
|
|
- <el-checkbox v-model="gradeOpt.isSelectSubject" >选科</el-checkbox>
|
|
|
+ <el-checkbox v-model="gradeOpt.selectionStatus" >选科</el-checkbox>
|
|
|
|
|
|
- <div class="selection_params" v-if="gradeOpt.isSelectSubject">
|
|
|
+ <div class="selection_params" v-if="gradeOpt.selectionStatus">
|
|
|
<span class="param_text">一共 </span>
|
|
|
- <el-input type="number" v-model="gradeOpt.selectionCount"></el-input>
|
|
|
+ <el-input type="number" v-model="gradeOpt.selectionStatus"></el-input>
|
|
|
<span class="param_text"> 科,需要选择 </span>
|
|
|
<el-input type="number" v-model="gradeOpt.needCount"></el-input>
|
|
|
<span class="param_text"> 科</span>
|
|
|
@@ -39,7 +39,7 @@
|
|
|
|
|
|
</div>
|
|
|
<div class="content_right table_row_option">
|
|
|
- <span class="button_delete" @click="HandleDeleteOpen(gradeOpt)"> 删除</span>
|
|
|
+ <span class="button_delete" @click="HandleDeleteOpen(gradeOpt,'grade')"> 删除</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -64,13 +64,13 @@
|
|
|
:key="tag"
|
|
|
closable
|
|
|
:disable-transitions="false"
|
|
|
- @close="HandleDeleteOpen(tag)"
|
|
|
+ @close="HandleDeleteOpen(tag,'subject')"
|
|
|
>
|
|
|
{{ tag.name }}
|
|
|
</el-tag>
|
|
|
|
|
|
<el-button class="button_border"
|
|
|
- @click="OpenAddSubjectForm">
|
|
|
+ @click="OpenAddSubjectForm(gradeOpt,'subject')">
|
|
|
+ 新增
|
|
|
</el-button>
|
|
|
</div>
|
|
|
@@ -88,13 +88,13 @@
|
|
|
:key="tag"
|
|
|
closable
|
|
|
:disable-transitions="false"
|
|
|
- @close="HandleDeleteOpen(tag)"
|
|
|
+ @close="HandleDeleteOpen(tag,'selectedSubject')"
|
|
|
>
|
|
|
{{ tag.name }}
|
|
|
</el-tag>
|
|
|
|
|
|
<el-button class="button_border"
|
|
|
- @click="OpenAddSubjectForm">
|
|
|
+ @click="OpenAddSubjectForm(gradeOpt,'selectedSubject')">
|
|
|
+ 新增
|
|
|
</el-button>
|
|
|
</div>
|
|
|
@@ -137,11 +137,11 @@
|
|
|
<FormDialog
|
|
|
:submitLoading="addGradeDialogLoading"
|
|
|
title="选择年级"
|
|
|
- :defaultFormData="{}"
|
|
|
+ :defaultFormData="defaultGradeFormData"
|
|
|
:formItemList="addGradeFormItemList"
|
|
|
:visible="addGradeDialogVisible"
|
|
|
@close="CloseAddGradeForm"
|
|
|
- @confirm="CloseAddGradeForm"
|
|
|
+ @confirm="EditSelectedGrade"
|
|
|
>
|
|
|
</FormDialog>
|
|
|
|
|
|
@@ -168,8 +168,12 @@
|
|
|
|
|
|
<div class="tree">
|
|
|
<TreeList
|
|
|
- :defaultTreeData="[]"
|
|
|
- :showCheckBox="true">
|
|
|
+ v-model:treeRef="optionalSubjetTree"
|
|
|
+ :defaultTreeData="allTreeData"
|
|
|
+ :showCheckBox="true"
|
|
|
+ operation="none"
|
|
|
+ @updateSelectedTreeNode="UpdataCheckedSubject"
|
|
|
+ >
|
|
|
</TreeList>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -180,8 +184,11 @@
|
|
|
</div>
|
|
|
<div class="tree">
|
|
|
<TreeList
|
|
|
- :defaultTreeData="[]"
|
|
|
- :showCheckBox="true">
|
|
|
+ :defaultTreeData="selectedTreeData"
|
|
|
+ :showCheckBox="false"
|
|
|
+ operation="close"
|
|
|
+ @deleteTreeNode="DeleteCheckedSubject"
|
|
|
+ >
|
|
|
</TreeList>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -203,231 +210,371 @@
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
import { ref,onMounted } from 'vue';
|
|
|
-
|
|
|
+import { useRoute } from 'vue-router';
|
|
|
import FormDialog from '@/baseComponents/FormDialog.vue';
|
|
|
import TreeList from '@/baseComponents/TreeList.vue';
|
|
|
import {addGradeFormItemList, addSubjectFormItemList} from './formDialog'
|
|
|
import Dialog from '@/baseComponents/Dialog.vue';
|
|
|
|
|
|
-import {getEvaluationDataDetailApi} from '@/api/step1Component.ts'
|
|
|
+import {
|
|
|
+ getEvaluationDataDetailApi, getEvaluationTaskDetailApi,
|
|
|
+ addGradeSubjectApi,addGradeSelectedSubjectApi,
|
|
|
+ deleteGradeSubjectApi,deleteGradeSelectedSubjectApi,
|
|
|
+ addCustomSubjectApi,editCustomSubjectApi,editGradeApi,
|
|
|
+ getGradeListApi,getSubjectDataApi,getSubjectSelectedDataApi,
|
|
|
+ saveEvaluationDataDetailApi
|
|
|
+} from '@/api/step1Component.ts'
|
|
|
+import { ElMessage } from 'element-plus';
|
|
|
+
|
|
|
+interface subjectOrClassDataItm {
|
|
|
+ id:string,
|
|
|
+ name:string
|
|
|
+}
|
|
|
+
|
|
|
+interface gradeOptItm {
|
|
|
+ id:string,
|
|
|
+ gradeId: string,
|
|
|
+ gradeName:string,
|
|
|
+ subjectCount:string,
|
|
|
+ selectionStatus:number |string, // 0——未勾选 1——已勾选
|
|
|
+ selectionCount:number,
|
|
|
+ needCount: number, //
|
|
|
+ subjectData:subjectOrClassDataItm[],
|
|
|
+ selectSubjectData: subjectOrClassDataItm[],
|
|
|
+ classData: subjectOrClassDataItm[],
|
|
|
+ selectedClassData: subjectOrClassDataItm[],
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+const route = useRoute();
|
|
|
+
|
|
|
+
|
|
|
+//1.查询评价任务详情 信息
|
|
|
+// 班主任是否参与评价
|
|
|
+const isHeadTeacherInvolved = ref(false);
|
|
|
+// 查询评价管理 任务详情
|
|
|
+const GetEvaluationTaskDetail = async ()=>{
|
|
|
+ let res = await getEvaluationTaskDetailApi(route.query.id)
|
|
|
+ if(res?.code === 200){
|
|
|
+ isHeadTeacherInvolved.value = Boolean(res.data.classMasterStatus); // 0 否 不勾选 || 1 是 勾选
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+//2. 获取评价数据详情
|
|
|
+const gradeOptions = ref<gradeOptItm[]>([]); // 年级配置列表数据
|
|
|
+const GetEvaluationDataDetail = async () => {
|
|
|
+ let evaluationId = route.query.id;
|
|
|
+ let res = await getEvaluationDataDetailApi(evaluationId);
|
|
|
+ if(res?.code === 200){
|
|
|
+ gradeOptions.value = res.data;
|
|
|
+ defaultGradeFormData.value.grade = res?.data?.map(item=>{
|
|
|
+ return item.id
|
|
|
+ }) || []
|
|
|
+ }
|
|
|
+};
|
|
|
|
|
|
|
|
|
-// 新增年级弹窗操作
|
|
|
+
|
|
|
+//3. 新增年级弹窗操作
|
|
|
const addGradeDialogVisible = ref(false);
|
|
|
const addGradeDialogLoading = ref(false);
|
|
|
+const defaultGradeFormData = ref({ grade:[]})
|
|
|
+// 获取可选年级信息
|
|
|
+const GetGradeList = async ()=>{
|
|
|
+ let res = await getGradeListApi(route.query.id)
|
|
|
+ if(res?.code == 200){
|
|
|
+ let gradeOpt = res?.data?.map(itm=>{
|
|
|
+ return {
|
|
|
+ label:itm.gradeName,
|
|
|
+ value:itm.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ addGradeFormItemList.value = addGradeFormItemList.value.map(item=>{
|
|
|
+ if(item.key == 'grade'){
|
|
|
+ item.selectList = gradeOpt
|
|
|
+ }
|
|
|
+ return item
|
|
|
+ })
|
|
|
+ }
|
|
|
+}
|
|
|
// 打开新增年级弹窗
|
|
|
-const OpenAddGradeForm = () => {
|
|
|
+const OpenAddGradeForm = async () => {
|
|
|
console.log('点击了新增年级');
|
|
|
addGradeDialogVisible.value = true
|
|
|
+ await GetGradeList()
|
|
|
};
|
|
|
// 关闭新增年级弹窗
|
|
|
const CloseAddGradeForm = () => {
|
|
|
+ addGradeDialogLoading.value = false
|
|
|
addGradeDialogVisible.value = false
|
|
|
};
|
|
|
+// 保存修改后的年级
|
|
|
+const EditSelectedGrade = async()=>{
|
|
|
+ addGradeDialogLoading.value = true
|
|
|
+ let params = {
|
|
|
+ evaluationId: route.query.id,
|
|
|
+ gradeData: defaultGradeFormData.value.grade?.map(item=>{
|
|
|
+ return {id:item}
|
|
|
+ }) || []
|
|
|
+ }
|
|
|
+ let res = undefined
|
|
|
+ try{
|
|
|
+ res = await editGradeApi(params)
|
|
|
+ }catch{}
|
|
|
+
|
|
|
+ if(res?.code == 200){
|
|
|
+ ElMessage.success(res?.msg)
|
|
|
+ CloseAddGradeForm()
|
|
|
+ // 重新查询评价数据
|
|
|
+ await GetEvaluationDataDetail()
|
|
|
+ }else{
|
|
|
+ addGradeDialogLoading.value = false
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
|
|
|
-// 配置科目/选科 弹窗操作
|
|
|
+// 4. 配置科目/选科 弹窗操作
|
|
|
+const optionalSubjetTree = ref()
|
|
|
const addSubjectDialogVisible = ref(false);
|
|
|
const addSubjectDialogLoading = ref(false);
|
|
|
const subjectTitle = ref('配置科目/选科');
|
|
|
+const currentOpenType = ref('') //当前打开的弹窗类型 subject 、selectedSubject ,grade ,
|
|
|
+const currentOperationRow = ref()
|
|
|
+// 已选的数据
|
|
|
+const selectedTreeData = ref([])
|
|
|
+// 所有可选的数据
|
|
|
+const allTreeData = ref([])
|
|
|
+
|
|
|
+// 可选科目列表赋值
|
|
|
+const RenderOptionalSubjectTree = async (type,row)=>{
|
|
|
+ let res = undefined
|
|
|
+ switch(type){
|
|
|
+ case 'subject':{
|
|
|
+ res = await getSubjectDataApi(row.id)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ case 'selectedSubject':{
|
|
|
+ res = await getSubjectSelectedDataApi(row.id)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(res?.code == 200){
|
|
|
+ allTreeData.value = res.data.map(item=>{
|
|
|
+ return {
|
|
|
+ label:item.name,
|
|
|
+ id:item.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 已选科目列表赋值 __查询来源有问题 待完善
|
|
|
+const RenderSelectedSubjectTree = async (type,row)=>{
|
|
|
+ let selectedRes = undefined
|
|
|
+ switch(type){
|
|
|
+ case 'subject':{
|
|
|
+ selectedRes = await getSubjectSelectedDataApi(row.id)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ case 'selectedSubject':{
|
|
|
+ //
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(selectedRes?.code == 200){
|
|
|
+ selectedTreeData.value = selectedRes.data.map(item=>{
|
|
|
+ return {
|
|
|
+ label:item.name,
|
|
|
+ id:item.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
// 打开配置科目/选科 弹窗
|
|
|
-const OpenAddSubjectForm = () => {
|
|
|
- console.log('点击了配置科目/选科');
|
|
|
+const OpenAddSubjectForm = async (row,type) => {
|
|
|
+ console.log('点击了配置科目/选科',row);
|
|
|
addSubjectDialogVisible.value = true
|
|
|
+ currentOpenType.value = type
|
|
|
+ currentOperationRow.value = row
|
|
|
+
|
|
|
+ switch(type){
|
|
|
+ case 'subject':{
|
|
|
+ subjectTitle.value = row.gradeName + ' 配置科目'
|
|
|
+ break
|
|
|
+ }
|
|
|
+ case 'selectedSubject':{
|
|
|
+ subjectTitle.value = row.gradeName + ' 配置选科'
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ await RenderOptionalSubjectTree(type,row)
|
|
|
+ await RenderSelectedSubjectTree(type,row)
|
|
|
+
|
|
|
+ // 可选科目的默认勾选赋值
|
|
|
+ let checkedKeys = selectedTreeData.value.map(item=>item?.id)
|
|
|
+ optionalSubjetTree.value.setCheckedKeys(checkedKeys)
|
|
|
+
|
|
|
};
|
|
|
// 关闭配置科目/选科 弹窗
|
|
|
const CloseAddSubjectForm = () => {
|
|
|
addSubjectDialogVisible.value = false
|
|
|
-};
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-// 全局控制
|
|
|
-const is_head_teacher_involved = ref(false);
|
|
|
+ allTreeData.value = []
|
|
|
+ selectedTreeData.value = []
|
|
|
|
|
|
+ currentOpenType.value = ''
|
|
|
+ currentOperationRow.value = null
|
|
|
+};
|
|
|
|
|
|
+// 更新勾选的 可选科目
|
|
|
+const UpdataCheckedSubject = async (params)=>{
|
|
|
+ console.log('当前勾选参数',params)
|
|
|
+ let selectedSubjectIds = params?.map(item=>{
|
|
|
+ return item.id
|
|
|
+ }) || []
|
|
|
+
|
|
|
+ let res = undefined
|
|
|
+ let addOrUpdateParams = {
|
|
|
+ evaluationId:route.query.id,
|
|
|
+ evaluationGradeId: currentOperationRow.value.id,
|
|
|
+ selectionStatus: currentOperationRow.value.selectionStatus,
|
|
|
+ selectionCount:currentOperationRow.value.selectionCount,
|
|
|
+ needCount:currentOperationRow.value.needCount,
|
|
|
+ subjectIds: selectedSubjectIds
|
|
|
+ }
|
|
|
+ switch(currentOpenType.value){
|
|
|
+ case 'subject':{
|
|
|
+ res = await addGradeSubjectApi(addOrUpdateParams)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ case 'selectedSubject':{
|
|
|
+ res = await addGradeSelectedSubjectApi(addOrUpdateParams)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(res?.code == 200){
|
|
|
+ ElMessage.success(res?.msg)
|
|
|
+ await GetEvaluationDataDetail()
|
|
|
+ await RenderSelectedSubjectTree(currentOpenType.value,currentOperationRow.value)
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
-// 模拟年级配置列表数据
|
|
|
-const gradeOptions = ref([
|
|
|
- {
|
|
|
- id:'1',
|
|
|
- gradeId: 'grade_7',
|
|
|
- gradeName: '七年级',
|
|
|
- subjectCount: '未定',
|
|
|
- isSelectSubject: false,
|
|
|
+// 删除勾选的可选科目
|
|
|
+const DeleteCheckedSubject = async (param)=>{
|
|
|
+ const {node,id} = param
|
|
|
+ console.log('准备删除的id',id)
|
|
|
|
|
|
- // 选课总数
|
|
|
- selectionCount: 0,
|
|
|
- // 需要选择科目数
|
|
|
- needCount: 0,
|
|
|
+ let res = undefined
|
|
|
+ switch(currentOpenType.value){
|
|
|
+ case 'subject':{
|
|
|
+ res = await deleteGradeSubjectApi(id)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ case 'selectedSubject':{
|
|
|
+ res = await deleteGradeSelectedSubjectApi(id)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(res?.code == 200){
|
|
|
+ ElMessage.success(res?.msg)
|
|
|
+ // 重查已选科目
|
|
|
+ // 更新可选科目赋值
|
|
|
+ await RenderSelectedSubjectTree(currentOpenType.value,currentOperationRow.value )
|
|
|
+ // 可选科目的默认勾选赋值
|
|
|
+ let checkedKeys = selectedTreeData.value.map(item=>item?.id)
|
|
|
+ optionalSubjetTree.value.setCheckedKeys(checkedKeys)
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
- subjectData: [
|
|
|
- { id: 'subject_1', name: '语文' },
|
|
|
- { id: 'subject_2', name: '数学' },
|
|
|
- ],
|
|
|
- selectSubjectData: [
|
|
|
- { id: 'subject_1', name: '语文' },
|
|
|
- ],
|
|
|
- classData: [
|
|
|
- {
|
|
|
- id: 'class_1',
|
|
|
- name: '一班',
|
|
|
- },
|
|
|
- {
|
|
|
- id: 'class_2',
|
|
|
- name: '二班',
|
|
|
- }
|
|
|
- ],
|
|
|
- selectedClassData: [],
|
|
|
- },
|
|
|
- {
|
|
|
- id:'2',
|
|
|
- gradeId: 'grade_8',
|
|
|
- gradeName: '八年级',
|
|
|
- subjectCount: 6,
|
|
|
- isSelectSubject: true,
|
|
|
-
|
|
|
- // 选课总数
|
|
|
- selectionCount: 6,
|
|
|
- // 需要选择科目数
|
|
|
- needCount: 2,
|
|
|
-
|
|
|
- subjectData: [
|
|
|
- { id: 'subject_1', name: '语文' },
|
|
|
- { id: 'subject_2', name: '数学' },
|
|
|
- { id: 'subject_3', name: '英语' },
|
|
|
- ],
|
|
|
- selectSubjectData: [
|
|
|
- { id: 'subject_1', name: '语文' },
|
|
|
- { id: 'subject_2', name: '数学' },
|
|
|
- ],
|
|
|
- classData: [
|
|
|
- {
|
|
|
- id: 'class_1',
|
|
|
- name: '一班',
|
|
|
- },
|
|
|
- {
|
|
|
- id: 'class_2',
|
|
|
- name: '二班',
|
|
|
- }
|
|
|
- ],
|
|
|
- selectedClassData: [],
|
|
|
- },
|
|
|
- {
|
|
|
- id:'3',
|
|
|
- gradeId: 'grade_9',
|
|
|
- gradeName: '九年级',
|
|
|
- subjectCount: 7,
|
|
|
- isSelectSubject: true,
|
|
|
-
|
|
|
- selectionCount: 0,
|
|
|
- needCount: 0,
|
|
|
-
|
|
|
- subjectData: [],
|
|
|
- selectSubjectData: [],
|
|
|
- classData: [],
|
|
|
- selectedClassData: [],
|
|
|
- },
|
|
|
-
|
|
|
-
|
|
|
- {
|
|
|
- "id": 0,
|
|
|
-
|
|
|
- "evaluationId": 0, //主id
|
|
|
- "gradeCode": 0,
|
|
|
- "gradeId": 0,
|
|
|
- "gradeName": "",
|
|
|
- subjectCount:"",
|
|
|
|
|
|
-
|
|
|
- "selectionStatus": 0,
|
|
|
- "selectionCount": 0,
|
|
|
- "needCount": 0,
|
|
|
- "sort": 0,
|
|
|
- "classData": [
|
|
|
- {
|
|
|
- "id": 0,
|
|
|
- "dataType": 0,
|
|
|
- "detailType": 0,
|
|
|
- "code": 0,
|
|
|
- "idCode": "",
|
|
|
- "name": "",
|
|
|
- "sort": 0,
|
|
|
- "evaluationSubjectId": 0,
|
|
|
- "selectStatus": 0,
|
|
|
- }
|
|
|
- ],
|
|
|
- "subjectData": [
|
|
|
- {
|
|
|
- "id": 0,
|
|
|
- "dataType": 0,
|
|
|
- "detailType": 0,
|
|
|
- "code": 0,
|
|
|
- "name": "",
|
|
|
- "sort": 0,
|
|
|
- "selectStatus": 0,
|
|
|
- "choiceStatus": 0,
|
|
|
- "teacherSubjectStatus": 0
|
|
|
- }
|
|
|
- ],
|
|
|
- "selectSubjectData": [
|
|
|
- {
|
|
|
- "id": 0,
|
|
|
- "dataType": 0,
|
|
|
- "detailType": 0,
|
|
|
- "code": 0,
|
|
|
- "name": "",
|
|
|
- "sort": 0,
|
|
|
- "selectStatus": 0,
|
|
|
- "choiceStatus": 0,
|
|
|
- "teacherSubjectStatus": 0
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
-]);
|
|
|
-
|
|
|
-
|
|
|
-// 处理班级的全选和全不选
|
|
|
+// 5. 处理班级的全选和全不选
|
|
|
const handleSelectAllClassOrNot = (selectedValue: any[], gradeOption: any) => {
|
|
|
console.log('选中的值:', selectedValue);
|
|
|
+ console.log('已选的值',gradeOption.selectedClassData)
|
|
|
+
|
|
|
+ let selectedClassData = []
|
|
|
+
|
|
|
if(selectedValue){
|
|
|
// 全选
|
|
|
- gradeOption.selectedClassData = gradeOption.classData.map(item => item.id);
|
|
|
+ // 这个没起作用
|
|
|
+ selectedClassData = gradeOption.classData.map(item => item.id);
|
|
|
}else{
|
|
|
// 取消全选
|
|
|
- gradeOption.selectedClassData = []
|
|
|
+ selectedClassData = []
|
|
|
}
|
|
|
+
|
|
|
+ console.log('全选/取消后的选项值',selectedClassData)
|
|
|
+ gradeOptions.value = gradeOptions.value.map(item => {
|
|
|
+ if(item.id === gradeOption.id){
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ selectedClassData
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return item;
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
};
|
|
|
|
|
|
|
|
|
-// 删除弹窗处理逻辑
|
|
|
+// 6. 删除弹窗处理逻辑
|
|
|
const deleteDialogVisible = ref(false);
|
|
|
const deleteDialogLoading = ref(false);
|
|
|
-const currentEditRow = ref(null); // 当前编辑的行数据
|
|
|
+const currentDeleteRow = ref(); // 当前编辑的行数据
|
|
|
// 删除弹窗 确认逻辑
|
|
|
-const HandleDeleteConfirm = () => {
|
|
|
- console.log('确认删除');
|
|
|
- // 在这里处理删除确认的逻辑
|
|
|
- HandleDeleteClose()
|
|
|
+const HandleDeleteConfirm = async () => {
|
|
|
+ deleteDialogLoading.value = true
|
|
|
+
|
|
|
+ let res = undefined
|
|
|
+ switch(currentOpenType.value){
|
|
|
+ case 'grade': // 年级删除
|
|
|
+ //暂无接口
|
|
|
+ break
|
|
|
+ case 'subject': // 科目删除
|
|
|
+ res = await deleteGradeSubjectApi(currentDeleteRow.value?.id)
|
|
|
+ break
|
|
|
+ case 'selectedSubject': // 选科删除
|
|
|
+ res = await deleteGradeSelectedSubjectApi(currentDeleteRow.value?.id)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ if(res?.code == 200){
|
|
|
+ ElMessage.success(res?.msg)
|
|
|
+ HandleDeleteClose()
|
|
|
+ // 重查评价数据
|
|
|
+ await GetEvaluationDataDetail()
|
|
|
+ }else{
|
|
|
+ deleteDialogLoading.value = false
|
|
|
+ }
|
|
|
};
|
|
|
// 关闭 删除弹窗
|
|
|
const HandleDeleteClose = () => {
|
|
|
console.log('关闭删除弹窗');
|
|
|
// 在这里处理关闭删除弹窗的逻辑
|
|
|
deleteDialogVisible.value = false;
|
|
|
+ currentDeleteRow.value = null
|
|
|
+ currentOpenType.value = ''
|
|
|
+ deleteDialogLoading.value = false
|
|
|
};
|
|
|
// 打开 删除弹窗
|
|
|
-const HandleDeleteOpen = (row: any) => {
|
|
|
+const HandleDeleteOpen = (row: any,type) => {
|
|
|
console.log('打开删除弹窗');
|
|
|
+ currentOpenType.value = type
|
|
|
// 在这里处理打开删除弹窗的逻辑
|
|
|
deleteDialogVisible.value = true;
|
|
|
- currentEditRow.value = row;
|
|
|
+ currentDeleteRow.value = row;
|
|
|
+
|
|
|
};
|
|
|
|
|
|
|
|
|
-onMounted(() => {
|
|
|
+
|
|
|
+onMounted(async() => {
|
|
|
console.log('组件挂载完成');
|
|
|
+ await GetEvaluationTaskDetail()
|
|
|
+ await GetEvaluationDataDetail()
|
|
|
});
|
|
|
|
|
|
</script>
|