fix: 优化样式!完美!

This commit is contained in:
tianyongbao
2025-11-12 21:53:01 +08:00
parent c8b9aed6dc
commit 7bc08b86e9
4 changed files with 1123 additions and 830 deletions

View File

@@ -1,54 +1,64 @@
<template>
<view class="work-container">
<!-- 宫格组件 -->
<!-- <uni-section title="常用功能" v-show="auth.hasPermi('invest:accountsBalance:list')" type="line"></uni-section>
<view class="grid-body">
<uni-grid :column="4" :showBorder="false" >
<uni-grid-item v-for="(item, index) in commonGridList" :key="index" v-show="auth.hasPermi(item.permission)" @click="navigateTo(item.path)">
<view class="grid-item-box">
<uni-icons :type="item.icon" size="30"></uni-icons>
<text class="text">{{ item.text }}</text>
<!-- 账单统计分析 -->
<view class="section-header" v-show="auth.hasPermi('invest:creditAnalysis:list')">
<text class="section-title">账单统计分析</text>
</view>
<view class="grid-body" v-show="auth.hasPermi('invest:creditAnalysis:list')">
<view class="grid-wrapper">
<view
v-for="(item, index) in billGridList"
:key="index"
v-show="auth.hasPermi(item.permission)"
@click="navigateTo(item.path)"
class="grid-item">
<view class="item-icon" :style="{ background: item.color }">
<uni-icons :type="item.icon" size="22" color="#ffffff"></uni-icons>
</view>
</uni-grid-item>
</uni-grid>
</view> -->
<text class="item-text">{{ item.text }}</text>
</view>
</view>
</view>
<!-- 宫格组件 -->
<uni-section title="账单统计分析" v-show="auth.hasPermi('invest:creditAnalysis:list')" type="line"></uni-section>
<view class="grid-body">
<uni-grid :column="4" :showBorder="false" >
<uni-grid-item v-for="(item, index) in billGridList" :key="index" v-show="auth.hasPermi(item.permission)" @click="navigateTo(item.path)">
<view class="grid-item-box">
<uni-icons :type="item.icon" size="30"></uni-icons>
<text class="text">{{ item.text }}</text>
</view>
</uni-grid-item>
</uni-grid>
<!-- 记账统计分析 -->
<view class="section-header" v-show="auth.hasPermi('invest:accountsBalance:list')">
<text class="section-title">记账统计分析</text>
</view>
<!-- 宫格组件 -->
<uni-section title="记账统计分析" v-show="auth.hasPermi('invest:accountsBalance:list')" type="line"></uni-section>
<view class="grid-body">
<uni-grid :column="4" :showBorder="false" >
<uni-grid-item v-for="(item, index) in accountGridList" :key="index" v-show="auth.hasPermi(item.permission)" @click="navigateTo(item.path)">
<view class="grid-item-box">
<uni-icons :type="item.icon" size="30"></uni-icons>
<text class="text">{{ item.text }}</text>
<view class="grid-body" v-show="auth.hasPermi('invest:accountsBalance:list')">
<view class="grid-wrapper">
<view
v-for="(item, index) in accountGridList"
:key="index"
v-show="auth.hasPermi(item.permission)"
@click="navigateTo(item.path)"
class="grid-item">
<view class="item-icon" :style="{ background: item.color }">
<uni-icons :type="item.icon" size="22" color="#ffffff"></uni-icons>
</view>
</uni-grid-item>
</uni-grid>
<text class="item-text">{{ item.text }}</text>
</view>
</view>
</view>
<!-- 宫格组件 -->
<uni-section title="投资统计分析" v-show="auth.hasPermi('invest:accountsBalance:list')" type="line"></uni-section>
<view class="grid-body">
<uni-grid :column="4" :showBorder="false" >
<uni-grid-item v-for="(item, index) in investGridList" :key="index" v-show="auth.hasPermi(item.permission)" @click="navigateTo(item.path)">
<view class="grid-item-box">
<uni-icons :type="item.icon" size="30"></uni-icons>
<text class="text">{{ item.text }}</text>
<!-- 投资统计分析 -->
<view class="section-header" v-show="auth.hasPermi('invest:accountsBalance:list')">
<text class="section-title">投资统计分析</text>
</view>
<view class="grid-body" v-show="auth.hasPermi('invest:accountsBalance:list')">
<view class="grid-wrapper">
<view
v-for="(item, index) in investGridList"
:key="index"
v-show="auth.hasPermi(item.permission)"
@click="navigateTo(item.path)"
class="grid-item">
<view class="item-icon" :style="{ background: item.color }">
<uni-icons :type="item.icon" size="22" color="#ffffff"></uni-icons>
</view>
</uni-grid-item>
</uni-grid>
<text class="item-text">{{ item.text }}</text>
</view>
</view>
</view>
</view>
</template>
@@ -57,31 +67,30 @@
import { ref } from "vue";
import auth from "@/plugins/auth"; // 建议使用auth进行鉴权操作
const billGridList=ref([
// { path: '/pages/page1/page1', text: '账户总览', icon: 'person-filled', permission: 'invest:accountAnalysis:list' },
{ path: '/pages/statistic/bill/creditBillAnalysis/index', text: '信用卡账单统计', icon: 'map', permission: 'invest:creditAnalysis:list' },
{ path: '/pages/statistic/bill/creditInstallmentAnalysis/index', text: '信用卡分期还', icon: 'map-filled', permission: 'invest:creditInstallment:list' },
{ path: '/pages/statistic/bill/creditInstallmentSettledAnalysis/index', text: '信用卡分期已还', icon: 'map-pin-ellipse', permission: 'invest:creditInstallmentSettledAnalysis:list' },
{ path: '/pages/statistic/bill/onlineLendAnalysis/index', text: '贷款还统计', icon: 'cloud-upload', permission: 'invest:onlineLendAnalysis:list' },
{ path: '/pages/statistic/bill/onlineLendSettledAnalysis/index', text: '贷款已还统计', icon: 'download', permission: 'invest:onlineLendSettledAnalysis:list' },
{ path: '/pages/statistic/bill/creditRecordAnalysis/index', text: '征信查询统计', icon: 'search', permission: 'invest:creditRecordAnalysis:list' }
{ path: '/pages/statistic/bill/creditBillAnalysis/index', text: '信用卡账单统计', icon: 'wallet-filled', color: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)', permission: 'invest:creditAnalysis:list' },
{ path: '/pages/statistic/bill/creditInstallmentAnalysis/index', text: '信用卡分期待还', icon: 'calendar-filled', color: 'linear-gradient(135deg, #f093fb 0%, #f5576c 100%)', permission: 'invest:creditInstallment:list' },
{ path: '/pages/statistic/bill/creditInstallmentSettledAnalysis/index', text: '信用卡分期还', icon: 'checkbox-filled', color: 'linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)', permission: 'invest:creditInstallmentSettledAnalysis:list' },
{ path: '/pages/statistic/bill/onlineLendAnalysis/index', text: '贷款待还统计', icon: 'upload-filled', color: 'linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)', permission: 'invest:onlineLendAnalysis:list' },
{ path: '/pages/statistic/bill/onlineLendSettledAnalysis/index', text: '贷款还统计', icon: 'download-filled', color: 'linear-gradient(135deg, #fa709a 0%, #fee140 100%)', permission: 'invest:onlineLendSettledAnalysis:list' },
{ path: '/pages/statistic/bill/creditRecordAnalysis/index', text: '征信查询统计', icon: 'search', color: 'linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)', permission: 'invest:creditRecordAnalysis:list' }
])
const accountGridList=ref([
{ path: '/pages/statistic/accounts/accountsBalance/index', text: '记账账户统计', icon: 'staff-filled' , permission: 'invest:accountsBalance:list' },
{ path: '/pages/statistic/accounts/accountDealAnalysis/index', text: '账户收支统计', icon: 'person', permission: 'invest:accountDealAnalysis:list' },
{ path: '/pages/statistic/accounts/dailyExpensesAnalysis/index', text: '日常支出统计', icon: 'wallet' , permission: 'invest:dailyExpensesAnalysis:list' },
{ path: '/pages/statistic/accounts/creditCardDealAnalysis/index', text: '信用卡收支统计', icon: 'wallet' , permission: 'invest:creditCard' },
{ path: '/pages/statistic/accounts/debitDealAnalysis/index', text: '储蓄账户统计', icon: 'wallet-filled', permission: 'invest:debitCard' },
{ path: '/pages/statistic/accounts/debitCardAnalysis/index', text: '结算卡统计', icon: 'shop-filled' , permission: 'invest:debitCardAnalysis:list' },
{ path: '/pages/statistic/accounts/posStatics/index', text: 'POS机统计', icon: 'shop-filled' , permission: 'invest:posStatics:list' },
{ path: '/pages/statistic/accounts/sleepAccounts/index', text: '睡眠账户统计', icon: 'cloud-upload' , permission: 'invest:debitCard' },
{ path: '/pages/statistic/accounts/openCardStatics/index', text: '储蓄卡开卡统计', icon: 'map' , permission: 'invest:debitCard' },
{ path: '/pages/statistic/accounts/dailyLiabilities/index', text: '每日净资产统计', icon: 'calendar' , permission: 'invest:dailyLiabilities:list' },
{ path: '/pages/statistic/accounts/accountsBalance/index', text: '记账账户统计', icon: 'home-filled', color: 'linear-gradient(135deg, #fbc2eb 0%, #a6c1ee 100%)', permission: 'invest:accountsBalance:list' },
{ path: '/pages/statistic/accounts/accountDealAnalysis/index', text: '账户收支统计', icon: 'list', color: 'linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%)', permission: 'invest:accountDealAnalysis:list' },
{ path: '/pages/statistic/accounts/dailyExpensesAnalysis/index', text: '日常支出统计', icon: 'wallet', color: 'linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%)', permission: 'invest:dailyExpensesAnalysis:list' },
{ path: '/pages/statistic/accounts/creditCardDealAnalysis/index', text: '信用卡收支统计', icon: 'wallet-filled', color: 'linear-gradient(135deg, #fddb92 0%, #d1fdff 100%)', permission: 'invest:creditCard' },
{ path: '/pages/statistic/accounts/debitDealAnalysis/index', text: '储蓄账户统计', icon: 'paperplane', color: 'linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%)', permission: 'invest:debitCard' },
{ path: '/pages/statistic/accounts/debitCardAnalysis/index', text: '结算卡统计', icon: 'star', color: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)', permission: 'invest:debitCardAnalysis:list' },
{ path: '/pages/statistic/accounts/posStatics/index', text: 'POS机统计', icon: 'shop-filled', color: 'linear-gradient(135deg, #f093fb 0%, #f5576c 100%)', permission: 'invest:posStatics:list' },
{ path: '/pages/statistic/accounts/sleepAccounts/index', text: '睡眠账户统计', icon: 'eye-slash-filled', color: 'linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)', permission: 'invest:debitCard' },
{ path: '/pages/statistic/accounts/openCardStatics/index', text: '储蓄卡开卡统计', icon: 'gift-filled', color: 'linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)', permission: 'invest:debitCard' },
{ path: '/pages/statistic/accounts/dailyLiabilities/index', text: '每日净资产统计', icon: 'bars', color: 'linear-gradient(135deg, #fa709a 0%, #fee140 100%)', permission: 'invest:dailyLiabilities:list' },
])
const investGridList=ref([
{ path: '/pages/statistic/accounts/investDealAnalysis/index', text: '投资收益统计', icon: 'arrow-down', permission: 'invest:investDealAnalysis:list' },
{ path: '/pages/statistic/bill/investAnalysis/index', text: '收益统计分析', icon: 'arrow-down', permission: 'invest:investAnalysis:list'},
{ path: '/pages/statistic/bill/futuresAnalysis/index', text: '期货统计分析', icon: 'settings', permission: 'invest:futuresAnalysis:list'},
{ path: '/pages/statistic/bill/stocksAnalysis/index', text: '股票统计分析', icon: 'left', permission: 'invest:stocksAnalysis:list' }
{ path: '/pages/statistic/accounts/investDealAnalysis/index', text: '投资收益统计', icon: 'arrow-up', color: 'linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)', permission: 'invest:investDealAnalysis:list' },
{ path: '/pages/statistic/bill/investAnalysis/index', text: '收益统计分析', icon: 'settings', color: 'linear-gradient(135deg, #fbc2eb 0%, #a6c1ee 100%)', permission: 'invest:investAnalysis:list'},
{ path: '/pages/statistic/bill/futuresAnalysis/index', text: '期货统计分析', icon: 'navigate', color: 'linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%)', permission: 'invest:futuresAnalysis:list'},
{ path: '/pages/statistic/bill/stocksAnalysis/index', text: '股票统计分析', icon: 'flag', color: 'linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%)', permission: 'invest:stocksAnalysis:list' }
])
function navigateTo(path) {
uni.navigateTo({
@@ -97,72 +106,82 @@
display: flex;
flex-direction: column;
box-sizing: border-box;
background-color: #fff;
background-color: #f5f7fa;
min-height: 100%;
height: auto;
}
view {
font-size: 20px;
line-height: inherit;
}
/* #endif */
.text {
.work-container {
padding: 12rpx 0;
}
.section-header {
padding: 12rpx 24rpx 8rpx;
}
.section-title {
font-size: 28rpx;
font-weight: 700;
color: #333;
position: relative;
padding-left: 16rpx;
}
.section-title::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 6rpx;
height: 28rpx;
background: linear-gradient(135deg, #667eea, #764ba2);
border-radius: 3rpx;
}
.grid-body {
padding: 0 16rpx;
}
.grid-wrapper {
display: flex;
flex-wrap: wrap;
}
.grid-item {
width: 25%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 16rpx 8rpx;
box-sizing: border-box;
}
.item-icon {
width: 80rpx;
height: 80rpx;
border-radius: 20rpx;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 12rpx;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
transition: all 0.3s;
}
.grid-item:active .item-icon {
transform: scale(0.95);
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.15);
}
.item-text {
text-align: center;
font-size: 22rpx;
margin-top: 10rpx;
}
.grid-item-box {
flex: 1;
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: column;
align-items: center;
justify-content: center;
padding: 15px 0;
}
.uni-margin-wrap {
width: 690rpx;
width: 100%;
;
}
.swiper {
height: 300rpx;
}
.swiper-box {
height: 150px;
}
.swiper-item {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: column;
justify-content: center;
align-items: center;
color: #fff;
height: 300rpx;
line-height: 300rpx;
}
@media screen and (min-width: 500px) {
.uni-swiper-dot-box {
width: 400px;
/* #ifndef APP-NVUE */
margin: 0 auto;
/* #endif */
margin-top: 8px;
}
.image {
width: 100%;
}
color: #333;
font-weight: 500;
line-height: 1.3;
}
</style>