ソースを参照

修改评价管理 公共数据的获取和传递方式

lm 1 ヶ月 前
コミット
8fae7808e2

+ 4 - 5
src/components/ReviewManagementDetailSideBar.vue

@@ -2,7 +2,7 @@
     <!-- 左侧导航栏 -->
     <div class="left_nav">
       <div class="nav_header">
-        {{ evaluationManageDetailName }}
+        {{ evaluationManageData.evaluationManageDetailName }}
       </div>
       
       <div class="back_btn">
@@ -35,11 +35,13 @@
 
 
 <script setup lang="ts">
-import { computed, onMounted, ref } from 'vue';
+import { onMounted, ref,inject } from 'vue';
 import { useRoute } from 'vue-router';
 import backIcon from '@/assets/icon/left_back_arrow_.png'
 import router from '@/router';
 
+const evaluationManageData = inject('commonStepData')
+
 
 const route = useRoute()
 
@@ -97,9 +99,6 @@ const HandleChangeStep=(currentStep)=>{
   router.push(`${currentStep.route}?id=${route.query.id}`)
 }
 
-const evaluationManageDetailName = computed(()=>{
-  return sessionStorage.getItem('evaluationManageDetailName')
-})
 
 onMounted(()=>{
   let stepName = route.params.stepName

+ 14 - 0
src/layout/components/AppMain.vue

@@ -26,6 +26,20 @@ export default {
     }
   }
 }
+</script>
+
+<script setup>
+  import { provide, reactive } from 'vue';
+
+  // 评价管理 的 步骤公共信息 下发
+  const evaluationManageStepData  = reactive({
+    evaluationManageDetailName:'',
+    isHeadTeacherInvolved:null
+  })
+  provide('commonStepData', evaluationManageStepData);
+
+
+
 </script>
 
 <style scoped>

+ 0 - 1
src/views/reviewManagement/ReviewManagement.vue

@@ -276,7 +276,6 @@ const GetQuestionnaireTaskList = async ()=>{
 
 // 跳转问卷评价详情页
 const GoToQuestionnaireReviewDetail = (row)=>{
-    sessionStorage.setItem('evaluationManageDetailName',row.evaluationName)
     router.push(`/main/reviewManagementDetail/evaluationData?id=${row.id}`)
 }
 

+ 18 - 4
src/views/reviewManagement/ReviewManagementDetail.vue

@@ -7,13 +7,20 @@
 
 <script setup lang="ts">
 import { useRoute,useRouter } from 'vue-router';
-import { computed, onBeforeUnmount, onMounted, ref } from 'vue';
+import { computed, onMounted,inject } from 'vue';
+import {
+    getEvaluationTaskDetailApi,
+} from '@/api/step1Component.ts'
+ 
 import Step1Component from './stepComponent/step1Component/Step1Component.vue';
 import Step2Component from './stepComponent/step2Component/Step2Component.vue';
 import Step3Component from './stepComponent/step3Component/Step3Component.vue';
 import Step4Component from './stepComponent/step4Component/Step4Component.vue';
 import GenerateReviewCode from './stepComponent/step4Component/GenerateReviewCode.vue';
 
+const evaluationManageData = inject('commonStepData');
+
+
 const route = useRoute()
 const router = useRouter()
 
@@ -41,10 +48,17 @@ const curentComponent = computed(()=>{
   }
 })
 
+// 查询评价管理 任务详情
+const GetEvaluationTaskDetail = async ()=>{
+  let res = await getEvaluationTaskDetailApi(route.query.id)
+    if(res?.code === 200){
+      evaluationManageData.evaluationManageDetailName = res.data.evaluationName
+      evaluationManageData.isHeadTeacherInvolved = Boolean(res.data.classMasterStatus)
+    }
+}
 
-onBeforeUnmount(()=>{
-  // 清除 评价管理详情页的标题
-  sessionStorage.removeItem('evaluationManageDetailName')
+onMounted( async ()=>{
+  await GetEvaluationTaskDetail()
 })
 </script>
 

+ 7 - 13
src/views/reviewManagement/stepComponent/step1Component/Step1Component.vue

@@ -4,7 +4,7 @@
       <div class="page_search">
         <div class="search_content">
           <div class="content_left">
-            <el-checkbox v-model="isHeadTeacherInvolved" >班主任参与评价</el-checkbox>
+            <el-checkbox v-model="evaluationManageData.isHeadTeacherInvolved" >班主任参与评价</el-checkbox>
           </div>
           <div class="content_right">
             <el-button  class="button_border"  @click="OpenAddGradeForm">新增年级</el-button>
@@ -239,7 +239,7 @@
 
 
 <script setup lang="ts">
-import { ref,onMounted } from 'vue';
+import { ref,onMounted, inject } from 'vue';
 import { useRoute } from 'vue-router';
 import FormDialog from '@/baseComponents/FormDialog.vue';
 import TreeList from '@/baseComponents/TreeList.vue';
@@ -286,15 +286,8 @@ 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 是 勾选
-    }
-}
+// 班主任是否参与评价  evaluationManageData.isHeadTeacherInvolved
+const evaluationManageData = inject('commonStepData');
 
 
 
@@ -686,7 +679,7 @@ const HandleDeleteOpen = (row: any,type) => {
 const SaveEvaluationData = async ()=>{
   let params = {
     evaluationId: route.query.id,
-    classMasterStatus: isHeadTeacherInvolved.value ? 1 : 0,
+    classMasterStatus: evaluationManageData.isHeadTeacherInvolved ? 1 : 0,
     gradeData: gradeOptions.value.map(item=>{
       if(item.selectionStatus){
         return {
@@ -723,9 +716,10 @@ const HandleInputBlur = (maxNum:number,row,key)=>{
   }
 }
 
+
+
 onMounted(async() => {
   console.log('组件挂载完成');
-  await GetEvaluationTaskDetail()
   await GetEvaluationDataDetail()
 });