feat: 上下模模块导航栏适配

master^2
zhongwenkai 2 days ago
parent b1633ce7fe
commit 57e6b556ba

@ -1,16 +1,14 @@
<template>
<view class="page-container">
<!-- 顶部导航栏 -->
<view class="custom-nav">
<view class="nav-back" @click="goBack">
<u-icon name="arrow-left" color="#ffffff" size="20"></u-icon>
</view>
<text class="nav-title">{{ t('moldOperate.tabDown') }}</text>
<view class="nav-right-btn" @click="goToHistory">
<uni-icons type="clock" size="22" color="#1f7cff"></uni-icons>
<text class="nav-right-text">{{ t('moldPressureNet.history') }}</text>
</view>
</view>
<NavBar :title="t('moldOperate.tabDown')">
<template #right>
<view class="nav-right-btn" @click="goToHistory">
<uni-icons type="clock" size="22" color="#1f7cff"></uni-icons>
<text class="nav-right-text">{{ t('moldPressureNet.history') }}</text>
</view>
</template>
</NavBar>
<!-- 操作按钮区 -->
<view class="action-row">
@ -203,6 +201,7 @@
import { computed, reactive, ref } from 'vue'
import { onShow } from '@dcloudio/uni-app'
import { useI18n } from 'vue-i18n'
import NavBar from '@/components/common/NavBar.vue'
import { getLowerMoldList, getDeviceLedgerList, createMoldOperate } from '@/api/mes/moldoperate'
import { getDeviceLineTree } from '@/api/mes/deviceLine'
import { getSimpleUserList } from '@/api/system/user'
@ -620,53 +619,21 @@ onShow(async () => {
</script>
<style lang="scss" scoped>
/* ====== 自定义导航栏 ====== */
.custom-nav {
position: relative;
/* ====== 导航栏右侧按钮 ====== */
.nav-right-btn {
display: flex;
align-items: center;
justify-content: center;
height: 88rpx;
padding: 0 24rpx;
background: #22486e;
color: #fff;
.nav-back {
position: absolute;
left: 24rpx;
top: 50%;
transform: translateY(-50%);
height: 60rpx;
display: flex;
align-items: center;
justify-content: center;
}
.nav-title {
font-size: 34rpx;
font-weight: 600;
text-align: center;
}
.nav-right-btn {
position: absolute;
right: 24rpx;
top: 50%;
transform: translateY(-50%);
display: flex;
align-items: center;
gap: 6rpx;
padding: 8rpx 18rpx;
background: #ffffff;
border-radius: 999rpx;
box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.08);
}
gap: 6rpx;
padding: 8rpx 18rpx;
background: #ffffff;
border-radius: 999rpx;
box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.08);
}
.nav-right-text {
font-size: 24rpx;
color: #374151;
font-weight: 500;
}
.nav-right-text {
font-size: 24rpx;
color: #374151;
font-weight: 500;
}
.page-container {

@ -1,12 +1,7 @@
<template>
<view class="page-container">
<!-- 顶部导航栏 -->
<view class="custom-nav">
<view class="nav-back" @click="goBack">
<u-icon name="arrow-left" color="#ffffff" size="20"></u-icon>
</view>
<text class="nav-title">{{ pageType ? (pageType === 'up' ? t('moldOperate.tabUp') : t('moldOperate.tabDown')) + t('moldOperate.historySuffix') : t('moldOperate.historyTitle') }}</text>
</view>
<NavBar :title="pageTitle" />
<!-- Tab 切换路由指定 type 时隐藏 -->
<view v-if="!pageType" class="tab-bar">
@ -143,6 +138,7 @@
import { ref, computed, watch } from 'vue'
import { onShow, onLoad } from '@dcloudio/uni-app'
import { useI18n } from 'vue-i18n'
import NavBar from '@/components/common/NavBar.vue'
import { getMoldOperatePage, deleteMoldOperate, getDeviceLedgerList } from '@/api/mes/moldoperate'
import { getDeviceLineTree } from '@/api/mes/deviceLine'
@ -385,9 +381,11 @@ function handleDelete(item) {
})
}
function goBack() {
uni.navigateBack({ fail: () => uni.switchTab({ url: '/pages/index/index' }) })
}
const pageTitle = computed(() => {
if (!pageType.value) return t('moldOperate.historyTitle')
const type = pageType.value === 'up' ? t('moldOperate.tabUp') : t('moldOperate.tabDown')
return type + t('moldOperate.historySuffix')
})
function formatDateTime(value) {
if (!value) return '-'
@ -424,39 +422,6 @@ onShow(async () => {
background: #f5f6f8;
}
/* ====== 自定义导航栏 ====== */
.custom-nav {
position: relative;
display: flex;
align-items: center;
justify-content: center;
height: 88rpx;
padding: 0 24rpx;
background: #22486e;
color: #fff;
.nav-back {
position: absolute;
left: 24rpx;
top: 50%;
transform: translateY(-50%);
height: 60rpx;
display: flex;
align-items: center;
justify-content: center;
}
.nav-title {
font-size: 34rpx;
font-weight: 600;
text-align: center;
max-width: 60%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
/* ====== Tab 切换 ====== */
.tab-bar {
display: flex;

@ -1,16 +1,14 @@
<template>
<view class="page-container">
<!-- 顶部导航栏 -->
<view class="custom-nav">
<view class="nav-back" @click="goBack">
<u-icon name="arrow-left" color="#ffffff" size="20"></u-icon>
</view>
<text class="nav-title">{{ t('moldOperate.tabUp') }}</text>
<view class="nav-right-btn" @click="goToHistory">
<uni-icons type="clock" size="22" color="#1f7cff"></uni-icons>
<text class="nav-right-text">{{ t('moldPressureNet.history') }}</text>
</view>
</view>
<NavBar :title="t('moldOperate.tabUp')">
<template #right>
<view class="nav-right-btn" @click="goToHistory">
<uni-icons type="clock" size="22" color="#1f7cff"></uni-icons>
<text class="nav-right-text">{{ t('moldPressureNet.history') }}</text>
</view>
</template>
</NavBar>
<!-- ========== 上模 ========== -->
<!-- 操作按钮区 -->
@ -176,6 +174,7 @@
import { computed, ref } from 'vue'
import { onShow } from '@dcloudio/uni-app'
import { useI18n } from 'vue-i18n'
import NavBar from '@/components/common/NavBar.vue'
import { getDeviceLedgerList, createMoldOperate } from '@/api/mes/moldoperate'
import { getSimpleUserList } from '@/api/system/user'
@ -458,10 +457,6 @@ function handleCancel() {
})
}
function goBack() {
uni.navigateBack({ fail: () => uni.switchTab({ url: '/pages/index/index' }) })
}
function goToHistory() {
uni.navigateTo({ url: '/pages_function/pages/moldoperate/history?type=up' })
}
@ -490,53 +485,21 @@ onShow(async () => {
padding-bottom: 140rpx;
}
/* ====== 自定义导航栏 ====== */
.custom-nav {
position: relative;
/* ====== 导航栏右侧按钮 ====== */
.nav-right-btn {
display: flex;
align-items: center;
justify-content: center;
height: 88rpx;
padding: 0 24rpx;
background: #22486e;
color: #fff;
.nav-back {
position: absolute;
left: 24rpx;
top: 50%;
transform: translateY(-50%);
height: 60rpx;
display: flex;
align-items: center;
justify-content: center;
}
.nav-title {
font-size: 34rpx;
font-weight: 600;
text-align: center;
}
.nav-right-btn {
position: absolute;
right: 24rpx;
top: 50%;
transform: translateY(-50%);
display: flex;
align-items: center;
gap: 6rpx;
padding: 8rpx 18rpx;
background: #ffffff;
border-radius: 999rpx;
box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.08);
}
gap: 6rpx;
padding: 8rpx 18rpx;
background: #ffffff;
border-radius: 999rpx;
box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.08);
}
.nav-right-text {
font-size: 24rpx;
color: #374151;
font-weight: 500;
}
.nav-right-text {
font-size: 24rpx;
color: #374151;
font-weight: 500;
}
/* ====== 操作按钮区 ====== */

Loading…
Cancel
Save