abpcoder 7 hodín pred
rodič
commit
7f399a5382

+ 1 - 1
src/pagesMain/pages/volunteer/components/volunteer-tier-item.vue

@@ -15,7 +15,7 @@
         <view class="mt-10 px-30 text-sm" :style="{color:data.colorText}">{{ data.desc }}</view>
         <view class="p-30 flex flex-col gap-20">
             <view v-for="(u, i) in data.list" class="flex text-sm" @click="$emit('item-click', u)">
-                <view class="w-24 text-fore-light">{{ i + 1 }}</view>
+                <view class="w-32 text-fore-light">{{ i + 1 }}</view>
                 <view class="text-fore-title truncate">{{ u.name }}</view>
             </view>
         </view>

+ 2 - 2
src/pagesMain/pages/volunteer/volunteer.vue

@@ -19,7 +19,7 @@
     <volunteer-menu />
     <ie-gap />
     <volunteer-policy />
-    <volunteer-echelon />
+    <volunteer-tier v-if="userStore.isHN" />
     <template #tabbar>
       <ie-tabbar :active="1" />
     </template>
@@ -35,7 +35,7 @@ import { useNavbar } from "@/hooks/useNavbar";
 import VolunteerBanner from "@/pagesMain/pages/volunteer/components/volunteer-banner.vue";
 import VolunteerMenu from "@/pagesMain/pages/volunteer/components/volunteer-menu.vue";
 import VolunteerPolicy from "@/pagesMain/pages/volunteer/components/volunteer-policy.vue";
-import VolunteerEchelon from "@/pagesMain/pages/volunteer/components/volunteer-tier.vue";
+import VolunteerTier from "@/pagesMain/pages/volunteer/components/volunteer-tier.vue";
 
 const { transferTo } = useTransferPage();
 const userStore = useUserStore();

+ 109 - 83
src/pagesOther/pages/university/index/components/plus/college-conditions-picker.vue

@@ -1,102 +1,128 @@
 <template>
-  <view>
-    <ie-dropdown :configs="configs" v-model="form" :absolute="absolute" @change="handleChange" />
-  </view>
+    <view>
+        <ie-dropdown :configs="configs" v-model="form" :absolute="absolute" @change="handleChange"/>
+    </view>
 </template>
 
 <script setup lang="ts">
 
-import type { Dropdown } from "@/types";
-import { UNIVERSITY_FILTER } from "@/types/injectionSymbols";
-import type { UniversityQueryDto, UniversityFilter } from "@/types/university";
+import type {Dropdown} from "@/types";
+import {UNIVERSITY_FILTER} from "@/types/injectionSymbols";
+import type {UniversityQueryDto, UniversityFilter} from "@/types/university";
+import {useUserStore} from "@/store/userStore";
 
 const props = defineProps<{
-  options: UniversityFilter;
-  absolute?: boolean;
+    options: UniversityFilter;
+    absolute?: boolean;
 }>()
 const filter = inject(UNIVERSITY_FILTER) || ref({} as UniversityQueryDto)
+const userStore = useUserStore()
 
 const emit = defineEmits<{
-  (e: 'change', value: UniversityQueryDto): void;
+    (e: 'change', value: UniversityQueryDto): void;
 }>();
-const options = [
-  {
-    label: '院校层次',
-    prop: 'features',
-    optionKey: 'features',
-    keyName: 'label',
-    keyValue: 'value',
-  },
-  {
-    label: '院校类型',
-    prop: 'type',
-    optionKey: 'types',
-    keyName: 'label',
-    keyValue: 'value',
-  },
-  {
-    label: '办学类型',
-    prop: 'natureTypeCN',
-    optionKey: 'natureTypes',
-    keyName: 'label',
-    keyValue: 'value',
-  },
-  {
-    label: '院校省份',
-    prop: 'location',
-    optionKey: 'locations',
-    keyName: 'label',
-    keyValue: 'value',
-  },
-  {
-    label: '院校梯队',
-    prop: 'tier',
-    optionKey: 'tiers',
-    keyName: 'label',
-    keyValue: 'value',
-  },
-];
+const options = computed(() => {
+    return userStore.isHN ? [
+        {
+            label: '院校层次',
+            prop: 'features',
+            optionKey: 'features',
+            keyName: 'label',
+            keyValue: 'value',
+        },
+        {
+            label: '院校类型',
+            prop: 'type',
+            optionKey: 'types',
+            keyName: 'label',
+            keyValue: 'value',
+        },
+        {
+            label: '办学类型',
+            prop: 'natureTypeCN',
+            optionKey: 'natureTypes',
+            keyName: 'label',
+            keyValue: 'value',
+        },
+        {
+            label: '院校梯队',
+            prop: 'tier',
+            optionKey: 'tiers',
+            keyName: 'label',
+            keyValue: 'value',
+        },
+    ] : [
+        {
+            label: '院校层次',
+            prop: 'features',
+            optionKey: 'features',
+            keyName: 'label',
+            keyValue: 'value',
+        },
+        {
+            label: '院校类型',
+            prop: 'type',
+            optionKey: 'types',
+            keyName: 'label',
+            keyValue: 'value',
+        },
+        {
+            label: '办学类型',
+            prop: 'natureTypeCN',
+            optionKey: 'natureTypes',
+            keyName: 'label',
+            keyValue: 'value',
+        },
+        {
+            label: '院校省份',
+            prop: 'location',
+            optionKey: 'locations',
+            keyName: 'label',
+            keyValue: 'value',
+        }
+    ]
+})
 const form = ref<Record<string, any>>({});
 const configs = computed<Dropdown.DropdownItem[]>(() => {
-  return options.map(item => {
-    const list = props.options[item.optionKey as keyof UniversityFilter] || [];
-    if (Array.isArray(list)) {
-      return {
-        label: item.label,
-        prop: item.prop,
-        keyName: item.keyName,
-        keyValue: item.keyValue,
-        options: list.map(item => {
-          return {
-            label: item,
-            value: item,
-          }
-        }),
-        value: []
-      }
-    } else {
-      return {
-        label: item.label,
-        prop: item.prop,
-        keyName: item.keyName,
-        keyValue: item.keyValue,
-        options: Object.entries(list).map(([key, value]) => {
-          return {
-            label: value,
-            value: key,
-          }
-        }),
-        value: []
-      }
-    }
-  });
+    return options.value.map(item => {
+        const list = props.options[item.optionKey as keyof UniversityFilter] || [];
+        if (Array.isArray(list)) {
+            return {
+                label: item.label,
+                prop: item.prop,
+                keyName: item.keyName,
+                keyValue: item.keyValue,
+                options: list.map(item => {
+                    return {
+                        label: item,
+                        value: item,
+                    }
+                }),
+                value: []
+            }
+        } else {
+            return {
+                label: item.label,
+                prop: item.prop,
+                keyName: item.keyName,
+                keyValue: item.keyValue,
+                options: Object.entries(list).map(([key, value]) => {
+                    return {
+                        label: value,
+                        value: key,
+                    }
+                }),
+                value: []
+            }
+        }
+    });
 });
 const handleChange = (value: any) => {
-  filter.value = {
-    ...filter.value,
-    ...value,
-  }
-  emit('change', filter.value);
+    filter.value = {
+        ...filter.value,
+        ...value,
+    }
+    emit('change', filter.value);
 }
 </script>
 

+ 3 - 0
src/store/userStore.ts

@@ -125,6 +125,9 @@ export const useUserStore = defineStore('ie-user', {
         return this.user?.examType || '';
       }
       return this.tempInfo?.examType || '';
+    },
+    isHN(): boolean {
+      return this.getLocation == '湖南'
     }
   },
   actions: {