فهرست منبع

添加步骤权限判断

lm 6 روز پیش
والد
کامیت
ec4ccf0b6f

+ 6 - 2
src/store/index.ts

@@ -32,6 +32,7 @@ interface HorizontalMenuItem {
   isAllowDeleteOrEdit:boolean,  //任务是否允许修改或删除
   isUnifyTemplate:boolean,   //是否统一问卷模板
   isTaskOpen:boolean,   //评价任务是否开启
+  hasReviewData:boolean, //评价任务 是否有评价数据
 }
 // 定义 RootState 接口(可扩展)
 interface RootState {
@@ -132,9 +133,12 @@ const store = createStore<RootState>({
           isFinishParameterSetting:Boolean(res.data.paramSetupStatus),
           isFinishEvaluationProgress:Boolean(res.data.evaluationProgressStatus),
           isFinsihGenerateAnalysis:Boolean(res.data.analysisStatus),
-          isAllowDeleteOrEdit:!Boolean(res.data.status),   // status  0 可以  1 不可以
-          isUnifyTemplate:Boolean(res.data.unifyTemplateStatus),  //unifyTemplateStatus 0 不统一   1 统一
+
+          hasReviewData:Boolean(res.data.studentAnswerStatus),  //  // studentAnswerStatus   是否有答题数据  0 无答题   1 有答题 
           isTaskOpen:Boolean(res.data.openStatus),     // 0 关  1 开
+          isAllowDeleteOrEdit: !(Boolean(res.data.openStatus) || Boolean(res.data.studentAnswerStatus)),  // 有答题数据 或者 任务开启 则不能删除
+          
+          isUnifyTemplate:Boolean(res.data.unifyTemplateStatus),  //unifyTemplateStatus 0 不统一   1 统一
         }
         commit('updateEvaluationManageStepData',newData)
       }

+ 10 - 2
src/styles/common.scss

@@ -2558,10 +2558,18 @@ button:focus, button:focus-visible {
 // 使用element-ui按钮后的 公共按钮样式  导入 导出  其他等等可追加
 .el_button {
   .el-button.is-disabled {
-    background-color: #cfd2d4;
+    background-color: #F3F3F3;
     border:none;
-    color: white;
+    color: #C0C4CC;
     cursor: not-allowed;
+    &:hover {
+      background-color: #F3F3F3;
+      color: #C0C4CC;
+    }
+    &.actiive {
+      background-color: #F3F3F3;
+      color: #C0C4CC;
+    }
   }
 
   .el-button {

+ 5 - 1
src/views/reviewManagement/stepComponent/evaluationProgressComponent/EvaluationProgressComponent.vue

@@ -14,7 +14,11 @@
                             style="--el-switch-on-color: #2E64FA"
                             @change="HandleReviewTaskOpenOrClose"/>
                     </div>
-                    <el-button  class="button_background" @click="FinishReviewProgress">评价完成</el-button>
+                    <el-button  
+                        :class="[store.state.evaluationManageStepData.isAllowDeleteOrEdit ? 'button_background' : 'is-disabled']" 
+                        @click="store.state.evaluationManageStepData.isAllowDeleteOrEdit ?  FinishReviewProgress() : ''">
+                        评价完成
+                    </el-button>
                 </div>
             </div>
         </div>

+ 10 - 3
src/views/reviewManagement/stepComponent/parameterSettingComponent/ParameterSettingComponent.vue

@@ -6,9 +6,16 @@
                     <div class="grade_title">参数设置</div>
                 </div>
                 <div class="content_right">
-                    <el-button  class="button_border" @click="StartOrSaveEdit">{{!isEdit ? '开始编辑' : '保存编辑'}}</el-button>
-                    <el-button  class="button_background" @click="FinishParamaterSetting">设置完成</el-button>
-
+                    <el-button  
+                        :class="[store.state.evaluationManageStepData.isAllowDeleteOrEdit ? 'button_border' : 'is-disabled']" 
+                        @click="store.state.evaluationManageStepData.isAllowDeleteOrEdit ?  StartOrSaveEdit() : ''">
+                        {{!isEdit ? '开始编辑' : '保存编辑'}}
+                    </el-button>
+                    <el-button  
+                        :class="[store.state.evaluationManageStepData.isAllowDeleteOrEdit ? 'button_background' : 'is-disabled']" 
+                        @click="store.state.evaluationManageStepData.isAllowDeleteOrEdit ? FinishParamaterSetting() : ''">
+                        设置完成
+                    </el-button>
                 </div>
             </div>
         </div>

+ 7 - 2
src/views/reviewManagement/stepComponent/questionnaireTemplateComponent/QuestionnaireTemplateComponent.vue

@@ -5,11 +5,13 @@
             <div class="content_left">
                 <!-- 班主任参与评价  ——不显示,且默认不统一模板 -->
                 <el-checkbox
+                    :disabled="store.state.evaluationManageStepData.isAllowDeleteOrEdit ? false : true"
                     v-if="!(store.state.evaluationManageStepData.isHeadTeacherInvolved)"
                     v-model="isUnifiedTemplate" >所有单科统一模版</el-checkbox>
             </div>
             <div class="content_right">
-                <el-button  class="button_background" @click="FinishQuestionnaireTemplateConfig">完成</el-button>
+                <el-button  :class="[store.state.evaluationManageStepData.isAllowDeleteOrEdit  ? 'button_background' : 'is-disabled']" 
+                @click="store.state.evaluationManageStepData.isAllowDeleteOrEdit  ? FinishQuestionnaireTemplateConfig() : ''">完成</el-button>
             </div>
             </div>
         </div>
@@ -18,7 +20,9 @@
             :tableData="tableData"
             :hidePagination="true">
             <template #gender="{row}">
-                <el-select v-model="row.gender">
+                <el-select 
+                    :disabled="store.state.evaluationManageStepData.isAllowDeleteOrEdit ? false : true"
+                    v-model="row.gender">
                     <el-option
                         v-for="opt in gradeOptionList"
                         :key="opt.value"
@@ -30,6 +34,7 @@
             <template #assessmentId="{row}">
                 <div class="questionnaire_cell table_row_option">
                     <el-select 
+                        :disabled="store.state.evaluationManageStepData.isAllowDeleteOrEdit ? false : true"
                         v-model="row.assessmentId"
                         filterable
                         @change="(val)=>HandleQuestionnaireTemplateChange(row,val)">

+ 4 - 4
src/views/reviewManagement/stepComponent/reviewAccountComponent/GenerateReviewCode.vue

@@ -8,10 +8,10 @@
                 <div class="content_right">
                     <el-button :loading="exportPdfLoading" class="button_refresh"  @click="HandleExportPdf">导出 PDF</el-button>
                     <el-button :loading="exportExcelLoading" class="button_refresh"  @click="HandleExportExcel">导出 Excel</el-button>
-                    <el-button :class="[store.state.evaluationManageStepData.isAllowDeleteOrEdit ?  'button_border' : 'is-disabled']" 
-                        @click="store.state.evaluationManageStepData.isAllowDeleteOrEdit ?  GoToReviewAccountConfig() : ''">重新生成</el-button>
-                    <el-button :class="[store.state.evaluationManageStepData.isAllowDeleteOrEdit ? 'button_background' : 'is-disabled']" 
-                        @click="store.state.evaluationManageStepData.isAllowDeleteOrEdit ? FinishReviewAccount() : ''">完成</el-button>
+                    <el-button :class="[!(store.state.evaluationManageStepData.hasReviewData) ?  'button_border' : 'is-disabled']" 
+                        @click="!(store.state.evaluationManageStepData.hasReviewData) ?  GoToReviewAccountConfig() : ''">重新生成</el-button>
+                    <el-button :class="[!(store.state.evaluationManageStepData.hasReviewData) ? 'button_background' : 'is-disabled']" 
+                        @click="!(store.state.evaluationManageStepData.hasReviewData) ? FinishReviewAccount() : ''">完成</el-button>
                 </div>
             </div>
         </div>

+ 7 - 4
src/views/reviewManagement/stepComponent/teachingRelationshipComponent/TeachingRelationshipComponent.vue

@@ -11,7 +11,7 @@
             :tableColumns="teacherTableColumns" 
             :tableData="teacherList"
             :tableRowClassName="tableRowClassName"
-            @rowClick="HandleSelectTeacher"
+            @rowClick="(teacher)=> store.state.evaluationManageStepData.isAllowDeleteOrEdit ? HandleSelectTeacher(teacher) : ''"
             ></Table>
 
         </div>
@@ -28,7 +28,8 @@
               </TabSearch>
             </div>
             <div class="content_right operation_btn el_button">
-              <el-button type="text"  class="delete_item" plain @click="ClearTeachingRelationship">清空授课</el-button>
+              <el-button  :class="[store.state.evaluationManageStepData.isAllowDeleteOrEdit ? 'delete_item' : 'is-disabled']"  
+                @click="store.state.evaluationManageStepData.isAllowDeleteOrEdit ? ClearTeachingRelationship() : ''">清空授课</el-button>
               <el-button class="custom_border_btn" @click="HandleExportExcel">批量导出</el-button>
               <el-upload action="#"
                 :auto-upload="false"
@@ -36,7 +37,8 @@
                 @change="(file)=>HandleImportExcel(file)">
                   <el-button  class="custom_border_btn"> 批量导入</el-button>
               </el-upload>
-              <el-button class="button_background" @click="FinishTeachingRelationship">完成</el-button>
+              <el-button :class="[store.state.evaluationManageStepData.isAllowDeleteOrEdit ? 'button_background' : 'is-disabled']"  
+                 @click="store.state.evaluationManageStepData.isAllowDeleteOrEdit ? FinishTeachingRelationship() : '' ">完成</el-button>
             </div>
           </div>
 
@@ -56,6 +58,7 @@
                   {{ selectedTeacher?.teacherId ? `当前选中的教师:${selectedTeacher.teacherName} ${selectedTeacher.userAccount}` : '暂无选中的教师' }}
                 </span>
                <el-switch v-model="isConfigMode" 
+                :disabled="store.state.evaluationManageStepData.isAllowDeleteOrEdit?  false : true"
                style="--el-switch-on-color: #2E64FA"
                active-text="选中教师配置任课关系" />
              </div>
@@ -200,7 +203,7 @@ const route = useRoute()
 const store = useStore()
 
 // 配置模式开关
-const isConfigMode = ref(true);
+const isConfigMode = ref(false);
 
 
 // 1. 查询参数 列表 配置