Quellcode durchsuchen

修改 按男女生成 控制的页面展示逻辑

lm vor 1 Monat
Ursprung
Commit
afd28f26fd

+ 2 - 1
src/baseComponents/FormSearchGroup.vue

@@ -5,7 +5,7 @@
     <div class="simple_filter">
         <template v-for="item in props.searchList" :key="item.key">
             <el-select 
-                v-if="item.type == 'select'" 
+                v-if="item.type == 'select' && !item.hidden" 
                 v-model="searchData[item.key]" 
                 @change="(val)=>HandleSearchItemChange(item.key)" 
                 :placeholder="item.placeholder"  
@@ -74,6 +74,7 @@ interface SearchItem {
     key:String,
     type:'input'|'select'|'datePicker'|'radio',
     placeholder?:String,
+    hidden:boolean,
     defaultValue?:any,
     disabled?:Boolean
     options?:{

+ 1 - 1
src/views/reviewManagement/stepComponent/step3Component/Step3Component.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="page_item step_3_content page_search end_item">
+    <div class="page_item end_item">
         <div class="page_search">
             <div class="search_content">
             <div class="content_left">

+ 21 - 2
src/views/reviewManagement/stepComponent/step4Component/GenerateReviewCode.vue

@@ -38,7 +38,7 @@
 
 
 <script setup lang="ts">
-import { ref } from 'vue';
+import { ref,inject,watch } from 'vue';
 
 import { useRoute,useRouter } from 'vue-router';
 import { ElMessage } from 'element-plus';
@@ -57,9 +57,12 @@ import {
 } from '@/api/step4Component'
 import { onMounted } from 'vue';
 
-
 const router = useRouter()
 const route = useRoute()
+
+// evaluationManageData.isGenerateAccountByGender // //按男女生成
+const evaluationManageData = inject('commonStepData')
+
 const GoToReviewAccountConfig = ()=>{
    router.push(`reviewAccount?id=${route.query.id}`)
 }
@@ -150,6 +153,22 @@ const FinishReviewAccount = async()=>{
     }
 }
 
+// 根据是否按照性别生成评价码 控制 表格项和搜索项的显隐
+watch(()=>evaluationManageData.isGenerateAccountByGender,(newVal)=>{
+    generateCodeTableColumns.value = generateCodeTableColumns.value.map(item=>{
+        if(item.name == 'genderName'){
+            item.hidden = newVal ? false :true
+        }
+        return item
+    })
+    searchList.value = searchList.value.map(item=>{
+        if(item.key == 'gender'){
+            item.hidden = newVal ? false :true
+        }
+        return item 
+    })
+},{immediate:true})
+
 onMounted(async ()=>{
     let generateFlag = await GenerateReviewCode()
     if(generateFlag){  // 这一步成功 才执行下一步

+ 11 - 6
src/views/reviewManagement/stepComponent/step4Component/Step4Component.vue

@@ -98,7 +98,7 @@
 
 
 <script setup lang="ts">
-import { onMounted, inject,ref } from 'vue';
+import { onMounted, inject,ref,watch } from 'vue';
 
 import { useRoute,useRouter } from 'vue-router';
 
@@ -202,6 +202,9 @@ const GetReviewAccountList = async ()=>{
             ]
         }).flat()
 
+        //初次赋值,要检查 上一次生成账号是否按男女生成 
+        ChangeHeaderShowItem(evaluationManageData.isGenerateAccountByGender)
+
         // 表行赋值
         Object.values(gradeMsg)?.map(grade=>{
             let gradeId =  grade.evaluationGradeId
@@ -225,9 +228,9 @@ const GetReviewAccountList = async ()=>{
         })
     }
 }
-// 打开/关闭 按男女生成
-const GenerateAccountByGenderOrNot = (val)=>{
-    if(val){
+// 切换评价账号的表头展示项 _ 根据 是否按男女生成 来判断
+const ChangeHeaderShowItem = (isGenerateByGender:Boolean)=>{
+    if(isGenerateByGender){
         // 打开
         tableColumns.value = tableColumns.value.map(item=>{
             if(item?.name.startsWith('num_')){
@@ -237,7 +240,6 @@ const GenerateAccountByGenderOrNot = (val)=>{
             }
             return item
         })
-
     }else{
         // 关闭
         tableColumns.value = tableColumns.value.map(item=>{
@@ -251,6 +253,9 @@ const GenerateAccountByGenderOrNot = (val)=>{
     }
 }
 
+watch(()=>evaluationManageData.isGenerateAccountByGender,(val)=>{
+    ChangeHeaderShowItem(val)   
+})
 
 // 2. 批量编辑弹窗操作
 const batchEditFormVisible = ref(false)
@@ -430,7 +435,7 @@ onMounted(async ()=>{
         let objMsg = JSON.parse(reviewAccountMsg || '{}')
         originReviewAccount.value = objMsg.originReviewAccount
         batchEditGradeList.value = objMsg.batchEditGradeList
-        tableColumns.value  = objMsg.tableColumns
+        tableColumns.value = objMsg.tableColumns
         tableData.value  = objMsg.tableData
         sessionStorage.removeItem('reviewAccountMsg')  //获取完后清空数据
     }else{