From f7a3d41075e00498f7033475108c0bcd86cda733 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期二, 01 七月 2025 14:03:13 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1 --- wx/components/my-tabbar/my-tabbar.vue | 194 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 162 insertions(+), 32 deletions(-) diff --git a/wx/components/my-tabbar/my-tabbar.vue b/wx/components/my-tabbar/my-tabbar.vue index b9e7e5a..13647cd 100644 --- a/wx/components/my-tabbar/my-tabbar.vue +++ b/wx/components/my-tabbar/my-tabbar.vue @@ -1,5 +1,40 @@ <template> <view class="tabBar"> + <view class="tabBar_func" v-if="isShow"> + <view></view> + <view class="tabBar_func_box"> + <view class="func_list"> + <view class="func_list_item" @click="jump(3)"> + <view class="func_list_item_info"> + <text>鍦ㄧ嚎鎶ユ</text> + <text>鏂逛究杩呴��</text> + </view> + <image src="/static/background/home_ic_baoan@2x.png" mode="widthFix"></image> + </view> + <view class="func_list_item" @click="jump(1)"> + <view class="func_list_item_info"> + <text>鎶曚繚鐢宠</text> + <text>绠�鍗曚究鎹�</text> + </view> + <image src="/static/background/hom22e_ic_toubao@2x.png" mode="widthFix"></image> + </view> + <view class="func_list_item" @click="jump(4)"> + <view class="func_list_item_info"> + <text>鍔犲噺淇濈敵璇�</text> + <text>澧炲姞/鍑忓皯鎶曚繚浜�</text> + </view> + <image src="/static/background/home_ic_jiajianbao@2x.png" mode="widthFix"></image> + </view> + <view class="func_list_item" @click="jump(6)"> + <view class="func_list_item_info"> + <text>鏇存崲娲鹃仯\n鍗曚綅</text> + </view> + <image src="/static/background/home_ic_huanch1angjilu@2x.png" mode="widthFix"></image> + </view> + </view> + <image class="tabBar_func_close" @click="closes" src="/static/icon/ic_cl1ose@2x.png" mode="widthFix"></image> + </view> + </view> <view class="tabBar_list"> <view v-for="(item,index) in tabBar" :key="item.url" class="tabbar_item" :class="{'active':item.url == currentPage}" @click="navTo(item)"> <template v-if="item.url"> @@ -7,7 +42,9 @@ <image v-else :src="item.imgNormal" mode="widthFix"></image> <view class="text">{{item.text}}</view> </template> - <view class="tabbar_quan" v-else></view> + <view class="tabbar_quan" v-else> + <u-icon name="plus" color="#ffffff" size="24"></u-icon> + </view> </view> </view> <view class="tabBar_zw"></view> @@ -15,7 +52,13 @@ </template> <script> + import { + mapState + } from 'vuex' export default { + computed: { + ...mapState(['userInfo', 'cookies']) + }, props: { currentPage: { type: String, @@ -24,10 +67,11 @@ }, data() { return { + isShow: false, value: 1, tabBar: [ { - url: '/pages/myPolicy/myPolicy', + url: '/pages/index/index', text: '淇濆崟', imgNormal: '../../static/icon/nav_home@2x.png', imgClick: '../../static/icon/nav_home_sel@2x.png' @@ -58,13 +102,49 @@ }; }, methods: { + closes() { + this.isShow = false + }, navTo(item) { + if (!item.url) { + this.isShow = true + return + } if (item.url !== this.currentPage) { var isUrl = item.url const that = this uni.switchTab({ url: isUrl }) + } + }, + jump(type) { + if (!this.cookies || !this.userInfo) { + uni.navigateTo({ + url: '/pages/login/login' + }) + } + switch (type) { + case 1: + uni.navigateTo({ + url: '/pages/insuranceApplication/insuranceApplication' + }) + break; + case 3: + uni.navigateTo({ + url: '/pages/new_report/new_report' + }) + break; + case 4: + uni.navigateTo({ + url: '/pages/addition_subtraction_application/addition_subtraction_application' + }) + break; + case 6: + uni.navigateTo({ + url: '/pages/factoryChange/factoryChange' + }) + break; } } } @@ -99,6 +179,76 @@ display: flex; flex-direction: column; + .tabBar_func { + width: 100vw; + height: 100vh; + position: fixed; + padding-bottom: env(safe-area-inset-bottom); + box-sizing: border-box; + z-index: 9999; + top: 0; + left: 0; + background: rgba(255,255,255,0); + backdrop-filter: blur(5px); + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: center; + .tabBar_func_box { + width: 100%; + padding: 0 30rpx; + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: center; + .tabBar_func_close { + width: 118rpx; + height: 118rpx; + margin-top: 62rpx; + } + .func_list { + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; + .func_list_item { + width: 48%; + height: 160rpx; + position: relative; + margin-bottom: 20rpx; + padding: 24rpx 28rpx; + box-sizing: border-box; + .func_list_item_info { + display: flex; + flex-direction: column; + position: relative; + z-index: 9999; + text { + &:nth-child(1) { + font-weight: 500; + font-size: 32rpx; + color: #222222; + } + &:nth-child(2) { + font-weight: 400; + font-size: 24rpx; + color: #768188; + } + } + } + image { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + } + } + } + } + } + .tabBar_zw { width: 100vw; height: env(safe-area-inset-bottom); @@ -122,37 +272,17 @@ justify-content: center; align-items: center; position: relative; - - .tabbar_quan { - width: 40px; - height: 40px; - background: #437CB3; - border-radius: 20px; - border: 3px solid rgba(67,124,179,0.14); - } - - .tabbar_item_hot { - position: absolute; - left: 50%; - top: 25upx; - transform: translate(0, -50%); - width: 30rpx; - height: 30rpx; - line-height: 30rpx; - text-align: center; - background-color: red; - border-radius: 50%; - color: #ffffff; - font-size: 18rpx; - z-index: 9; - } + } - &.active { - border-left: $isBorder; - border-top: $isBorder; - background: $chooseBgColor; - color: $chooseTextColor; - } + .tabbar_quan { + width: 90rpx; + height: 90rpx; + display: flex; + align-items: center; + justify-content: center; + background: #437CB3; + border-radius: 50%; + border: 6rpx solid rgba(67,124,179,0.14); } image { -- Gitblit v1.9.3