diff --git a/src/components/bar/CustomTabBar.vue b/src/components/bar/CustomTabBar.vue
index 59a1470..8ebcfcf 100644
--- a/src/components/bar/CustomTabBar.vue
+++ b/src/components/bar/CustomTabBar.vue
@@ -1,4 +1,12 @@
+
+
+
+
import { TabesItem } from '@/service/app/types'
import { tabbarList } from '@/hooks/useTabbarList'
+import { ref, computed, onMounted } from 'vue'
-defineProps({
+const props = defineProps({
currentPage: {
type: Number,
default: 0,
},
+ // 是否显示占位块
+ showPlaceholder: {
+ type: Boolean,
+ default: true,
+ },
+})
+
+// 安全区域底部高度
+const safeAreaBottom = ref(0)
+
+// 计算TabBar总高度 (TabBar高度 + 安全区域高度)
+const tabbarTotalHeight = computed(() => {
+ // 100rpx转为px,不同设备可能有差异
+ const tabbarHeight = uni.upx2px(100)
+ return tabbarHeight + safeAreaBottom.value
})
const changeItem = (item: TabesItem) => {
@@ -41,6 +65,20 @@ const changeItem = (item: TabesItem) => {
onMounted(() => {
uni.hideTabBar()
+
+ // 获取系统信息以计算安全区域
+ uni.getSystemInfo({
+ success: (res) => {
+ if (res.safeAreaInsets) {
+ safeAreaBottom.value = res.safeAreaInsets.bottom || 0
+ }
+ },
+ })
+})
+
+// 暴露高度信息给父组件
+defineExpose({
+ tabbarTotalHeight,
})
@@ -106,4 +144,16 @@ onMounted(() => {
position: absolute;
bottom: 5rpx;
}
+
+/* 占位块样式 */
+.tabbar-placeholder {
+ width: 100%;
+ box-sizing: border-box;
+}
+
+/* 安全区域适配 */
+.pb-safe {
+ padding-bottom: constant(safe-area-inset-bottom);
+ padding-bottom: env(safe-area-inset-bottom);
+}
diff --git a/src/components/tab/Tabs.vue b/src/components/tab/Tabs.vue
new file mode 100644
index 0000000..d9799b2
--- /dev/null
+++ b/src/components/tab/Tabs.vue
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages-sub/components/collapse/Collapse.vue b/src/pages-sub/components/collapse/Collapse.vue
index 7b8171f..c4ea516 100644
--- a/src/pages-sub/components/collapse/Collapse.vue
+++ b/src/pages-sub/components/collapse/Collapse.vue
@@ -1,68 +1,219 @@
-
+
+
+
-
-
diff --git a/src/pages-sub/components/collapse/CollapseItem.vue b/src/pages-sub/components/collapse/CollapseItem.vue
new file mode 100644
index 0000000..2a9cde6
--- /dev/null
+++ b/src/pages-sub/components/collapse/CollapseItem.vue
@@ -0,0 +1,447 @@
+
+
+
+
+
+
+
+
+ {{ title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages-sub/components/table/Table.vue b/src/pages-sub/components/table/Table.vue
index dbc39c0..994c4a3 100644
--- a/src/pages-sub/components/table/Table.vue
+++ b/src/pages-sub/components/table/Table.vue
@@ -70,6 +70,8 @@ const { columns } = useTable()
.table-row .table-cell {
text-align: center;
+ padding-left: 10rpx;
+ padding-right: 10rpx;
}
.table-row:first-child {
diff --git a/src/pages-sub/home/city/index.vue b/src/pages-sub/home/city/index.vue
index 377b930..27a3548 100644
--- a/src/pages-sub/home/city/index.vue
+++ b/src/pages-sub/home/city/index.vue
@@ -11,14 +11,22 @@
-
+ > -->
+
+ {{ city.provincename }}
+
@@ -92,4 +100,12 @@ onLoad(() => {
height: calc(100vh - var(--window-top) - constant(safe-area-inset-bottom));
height: calc(100vh - var(--window-top) - env(safe-area-inset-bottom));
}
+.province-item {
+ font-size: 28rpx;
+ color: #000000;
+}
+
+.province-item:not(:last-child) {
+ border-bottom: 1rpx solid #e5e5e5;
+}
diff --git a/src/pages-sub/home/college/info.vue b/src/pages-sub/home/college/info.vue
index 723d11b..f9e9347 100644
--- a/src/pages-sub/home/college/info.vue
+++ b/src/pages-sub/home/college/info.vue
@@ -47,17 +47,22 @@
-
-
+
+ :display-multiple-items="universityBaseInfo?.universityResult.imglist ? 3 : 0"
+ >
+
+
+
+
{
font-size: 24rpx !important;
}
-
-:deep(.wd-button__icon) {
- margin-right: 8rpx !important;
- line-height: 1;
-}
-
-.card-swiper {
- --wot-swiper-radius: 0;
- --wot-swiper-item-padding: 0 8rpx;
- --wot-swiper-nav-dot-color: #e7e7e7;
- --wot-swiper-nav-dot-active-color: #4d80f0;
-
- :deep(.custom-image) {
- height: 126rpx !important;
- border-radius: 8rpx 8rpx 8rpx 8rpx;
- }
- :deep(.custom-image-prev) {
- height: 126rpx !important;
- }
-
- :deep(.wd-swiper__track) {
- height: 126rpx !important;
- }
-}
-
-:deep(.tabs-wrapper) {
- --wot-tabs-nav-fs: 28rpx;
- --wot-tabs-nav-height: 80rpx;
- flex: 1 1 auto;
-}
-:deep(.wd-tabs__line) {
- bottom: 0 !important;
-}
-
-:deep(.wd-tabs__nav--wrap) {
- border-bottom: 2rpx solid #f7f7f7;
-}
diff --git a/src/pages-sub/home/major/components/MajorTreeList.vue b/src/pages-sub/home/major/components/MajorTreeList.vue
index 632f25e..9bb4de2 100644
--- a/src/pages-sub/home/major/components/MajorTreeList.vue
+++ b/src/pages-sub/home/major/components/MajorTreeList.vue
@@ -1,16 +1,12 @@
-
+
{{ subMajorList.name }}
({{ subMajorList.count }}个)
-
-
+
+
+
-
+
-
-
+
+
diff --git a/src/pages/evaluation/index/index.vue b/src/pages/evaluation/index/index.vue
index 48e94c5..f54ec83 100644
--- a/src/pages/evaluation/index/index.vue
+++ b/src/pages/evaluation/index/index.vue
@@ -1,17 +1,72 @@
{
style: {
- navigationBarTitleText: '测评师',
+ navigationBarTitleText: '测评',
},
needLogin: true,
}
- 测评
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/service/index/api.ts b/src/service/index/api.ts
index 32b26b4..40efe7a 100644
--- a/src/service/index/api.ts
+++ b/src/service/index/api.ts
@@ -331,6 +331,10 @@ export const activeCard = (params: { cardCode: string; cardPwd: string }) => {
return http.post('/api/Zyvip/bind', params)
}
+export const getBingInfo = () => {
+ return http.get('/api/Zyvip/bingInfo')
+}
+
export const getAdmissionTrends = (params: {
ascription?: string[] | null
/**
@@ -362,3 +366,7 @@ export const getAdmissionTrendsByCollege = (params: {
}) => {
return http.get('/api/admissionstreds/major', params)
}
+
+export const getEvaluationList = (params: { menuid: string }) => {
+ return http.get('/api/busScale/list', params)
+}
diff --git a/src/store/user.ts b/src/store/user.ts
index aa19c7a..ff4a3c8 100644
--- a/src/store/user.ts
+++ b/src/store/user.ts
@@ -173,6 +173,14 @@ export const useUserStore = defineStore(
userInfo.value.wishList = []
}
+ const setIsVIP = (val: boolean) => {
+ userInfo.value.estimatedAchievement.isVIP = val
+ }
+
+ const setVipCode = (val: string) => {
+ userInfo.value.estimatedAchievement.vipCode = val
+ }
+
// 清除用户信息
const clearUserInfo = () => {
userInfo.value = { ...initState }
@@ -205,6 +213,8 @@ export const useUserStore = defineStore(
deleteWishListMajor,
sortWishMajorList,
sortWishCollegeList,
+ setIsVIP,
+ setVipCode,
}
},
{