feat: 企业权限上限与迁移脚本;管理端/超管概览与财务;双端小程序 tab/订单/历史/测评选择等同步

Made-with: Cursor
This commit is contained in:
Ghost
2026-03-30 17:12:59 +08:00
parent f589b5d50c
commit 3af7bb35dd
49 changed files with 2570 additions and 920 deletions

View File

@@ -2,8 +2,10 @@
Component({
data: {
selected: 0,
/** 审核模式:为 true 时隐藏中间「拍摄」入口(与 globalData.reviewMode / maintenanceMode 一致) */
/** 审核模式 */
reviewMode: false,
/** 为 true 时隐藏中间「拍摄」:审核模式 或 企业权限关闭 face */
hideMiddleFab: false,
list: [
{ pagePath: '/pages/index/index', text: '首页', textKey: 'home', icon: 'home' },
{ pagePath: '/pages/index/camera', text: '拍摄', textKey: 'camera', icon: 'camera' },
@@ -30,18 +32,20 @@ Component({
const url = currentPage.route
const gd = getApp().globalData || {}
const reviewMode = !!(gd.reviewMode || gd.maintenanceMode)
const ep = gd.enterprisePermissions
const hideMiddleFab = reviewMode || !!(ep && ep.face === false)
let selected = 0
if (url === 'pages/index/index' || url === 'pages/enterprise/index') {
selected = 0
} else if (url === 'pages/index/camera') {
selected = 1
selected = hideMiddleFab ? 0 : 1
} else if (url === 'pages/profile/index') {
selected = 2
}
this.setData({ selected, reviewMode })
this.setData({ selected, reviewMode, hideMiddleFab })
} catch (error) {
console.error('updateSelected error:', error)
this.setData({ selected: 0, reviewMode: false })
this.setData({ selected: 0, reviewMode: false, hideMiddleFab: false })
}
},
switchTab(e) {
@@ -49,7 +53,8 @@ Component({
let url = e.currentTarget.dataset.path
const gd = getApp().globalData || {}
if (index === 1 && !!(gd.reviewMode || gd.maintenanceMode)) {
const faceOff = !!(gd.enterprisePermissions && gd.enterprisePermissions.face === false)
if (index === 1 && (!!(gd.reviewMode || gd.maintenanceMode) || faceOff)) {
return
}

View File

@@ -1,7 +1,7 @@
<!-- 自定义 tabBar顶部分割线 + 三栏;中间单独一列避免浮钮与左右叠层 -->
<view class="tab-bar">
<view class="tab-bar-line"></view>
<view class="tab-bar-inner {{reviewMode ? 'tab-bar-inner--audit' : ''}}">
<view class="tab-bar-inner {{hideMiddleFab ? 'tab-bar-inner--audit' : ''}}">
<view
class="tab-item {{selected === 0 ? 'active' : ''}}"
data-index="0"
@@ -13,7 +13,7 @@
</view>
<!-- 中间列:非审核模式显示「拍摄」 -->
<view class="tab-slot-middle" wx:if="{{!reviewMode}}">
<view class="tab-slot-middle" wx:if="{{!hideMiddleFab}}">
<view
class="middle-fab {{selected === 1 ? 'active' : ''}}"
data-index="1"