This commit is contained in:
gyq 2025-05-10 09:14:15 +08:00
parent d6e1c83f88
commit 7f97467f82
2 changed files with 793 additions and 736 deletions

View File

@ -1,17 +1,15 @@
<!-- 首页 -->
<template>
<view class="page-wrapper" style="overflow:visible;height:auto">
<view class="page-wrapper" style="overflow: visible; height: auto">
<!-- 背景图片view -->
<view class="bg-img-view" >
<view class="bg-img-view">
<!-- 背景颜色view -->
<view class="bg-color-view" style="position: absolute;top: 0;left: 0;right: 0;height: 550rpx;border-radius:0 0 32rpx 32rpx;background-color: #318AFE!important;">
<view class="bgbottomStyle">
</view>
<view class="bg-color-view" style="position: absolute; top: 0; left: 0; right: 0; height: 550rpx; border-radius: 0 0 32rpx 32rpx; background-color: #318afe !important">
<view class="bgbottomStyle"></view>
</view>
</view>
<!-- 解决定位层级问题 -->
<view class="bg-main">
<!-- 解决定位层级问题 -->
<view class="bg-main">
<!-- 导航条 -->
<up-navbar title="首页" bg-color="#318AFE" titleStyle="color:#fff;font-size:16px;" @leftClick="toSetting">
<template #left>
@ -22,369 +20,365 @@
<view class="u-flex u-row-center u-relative">
<view class="u-flex u-col-center">
<view class="u-m-r-12">总收入</view>
<up-icon name="/static/indexImg/icon-help.svg" color="#fff" :size="12"
@click="toggleTips"></up-icon>
<up-icon name="/static/indexImg/icon-help.svg" color="#fff" :size="12" @click="toggleTips"></up-icon>
</view>
<view class="tips u-absolute color-666 u-font-20 u-text-left " :class="{'showTips':showTips}">
<view class="tips u-absolute color-666 u-font-20 u-text-left" :class="{ showTips: showTips }">
<view class="sanjiao u-flex"><up-icon name="play-left-fill" size="12" color="#fff"></up-icon></view>
总收入为除会员余额
支付外所有收入
总收入为除会员余额 支付外所有收入
</view>
</view>
<view class="u-flex u-row-center">
<view class="">{{((totalRevenuedata||0)*1).toFixed(2)}}</view>
<view class="">{{ ((totalRevenuedata || 0) * 1).toFixed(2) }}</view>
</view>
<view>{{shopName||''}}</view>
<view>{{ shopName || '' }}</view>
</view>
<!-- 统计 or 快捷扫码 -->
<!-- <Stats ref="statsRef" /> -->
<statistics @totalRevenue="totalRevenue"></statistics>
<!-- 导航栅格 -->
<JeepayNavigation :navList="navList" type="grid" />
</view>
<JeepayNavigation :navList="navList" type="grid" />
</view>
</view>
</template>
<script setup>
import { reactive, ref, onMounted, nextTick } from 'vue';
import { onPullDownRefresh, onLoad, onShareAppMessage, onShareTimeline } from '@dcloudio/uni-app';
import { reactive, ref, onMounted, nextTick } from 'vue';
import { onPullDownRefresh, onLoad, onShareAppMessage, onShareTimeline } from '@dcloudio/uni-app';
import go from '@/commons/utils/go.js';
import Stats from './components/Stats.vue';
import statistics from './components/statistics.vue'
import storageManage from '@/commons/utils/storageManage.js';
import { hasPermission } from '@/commons/utils/hasPermission.js'
uni.hideTabBar()
let shopName = ref()
let totalRevenuedata = ref()
let totalRevenue = (d) => {
totalRevenuedata.value = d
}
import go from '@/commons/utils/go.js';
import Stats from './components/Stats.vue';
import statistics from './components/statistics.vue';
import storageManage from '@/commons/utils/storageManage.js';
import { hasPermission } from '@/commons/utils/hasPermission.js';
let showTips = ref(false)
function toggleTips() {
showTips.value = !showTips.value
}
uni.hideTabBar();
let shopName = ref();
let totalRevenuedata = ref();
let totalRevenue = (d) => {
totalRevenuedata.value = d;
};
function toSetting() {
go.to('PAGES_SHOP_SETUP')
}
//
const navList = [
{
title: '销售汇总',
icon: '/static/indexImg/PAGE_SALES_SUMMARY.svg',
pageUrl: 'PAGES_SALES_SUMMARY'
},
{
title: '代客下单',
icon: '/static/indexImg/icon-substitute-ordering.svg',
pageUrl: 'PAGES_CREATE_ORDER',
clickFunc: () => {
hasPermission('允许下单').then(res => {
if (res) {
go.to('PAGES_CREATE_ORDER')
}
})
}
},
{
title: '桌台',
icon: '/static/indexImg/icon-table.svg',
pageUrl: 'PAGES_TABLE'
},
{
title: '商品管理',
icon: '/static/indexImg/icon-product-control.svg',
pageUrl: 'PAGES_PRODUCT',
},
{
title: '分组管理',
icon: '/static/indexImg/goods-group.svg',
pageUrl: 'PAGES_GOODS_GROUP',
},
{
title: '分类管理',
icon: '/static/indexImg/icon-category.svg',
pageUrl: 'PAGES_CATEGORY',
},
{
title: '会员管理',
icon: '/static/indexImg/icon-user.svg',
pageUrl: 'PAGES_USER_CONTROL',
}, {
title: '员工管理',
icon: '/static/indexImg/icon-staff.svg',
pageUrl: 'PAGES_STAFF'
},
{
title: '耗材管理',
icon: '/static/indexImg/PAGE_SALES_SUMMARY.svg',
pageUrl: 'PAGES_SALES_CONSUMABLES'
},
{
title: '订单管理',
icon: '/static/indexImg/icon-order.svg',
pageUrl: 'PAGES_ORDER_INDEX',
},
{
title: '设备管理',
icon: '/static/indexImg/icon-printer.svg',
pageUrl: 'PAGES_PRINTER_INDEX',
},
{
title: '交班',
icon: '/static/indexImg/icon-work.svg',
pageUrl: 'PAGES_WORK_INDEX',
},
{
title: '排队',
icon: '/static/indexImg/icon-line-up.svg',
pageUrl: 'PAGES_LINE_UP'
},
{
title: '霸王餐',
icon: '/static/indexImg/icon-bwc.svg',
pageUrl: 'PAGES_BWC'
},
{
title: '优惠券',
icon: '/static/coupon/icon_coupon.svg',
pageUrl: 'PAGES_COUPON_INDEX',
},
{
title: '订阅通知',
icon: '/static/indexImg/icon-notification.svg',
pageUrl: 'PAGES_NOTIFICATION_INDEX',
},
{
title: '挂账管理',
icon: '/static/indexImg/icon_credit.svg',
pageUrl: 'PAGES_CREDIT_BUYER_INDEX',
},
{
title: '核销管理',
icon: '/static/indexImg/pagewriteoff.svg',
pageUrl: 'PAGES_WEITEOFF'
},
{
title: '退出登录',
icon: '/static/indexImg/icon-login-out.svg',
pageUrl: 'PAGES_LOGIN',
clickFunc: () => {
storageManage.cleanByLogout()
go.to('PAGES_LOGIN', {}, 'redirect')
}
let showTips = ref(false);
function toggleTips() {
showTips.value = !showTips.value;
}
function toSetting() {
go.to('PAGES_SHOP_SETUP');
}
//
const navList = [
{
title: '销售汇总',
icon: '/static/indexImg/PAGE_SALES_SUMMARY.svg',
pageUrl: 'PAGES_SALES_SUMMARY'
},
{
title: '代客下单',
icon: '/static/indexImg/icon-substitute-ordering.svg',
pageUrl: 'PAGES_CREATE_ORDER',
clickFunc: () => {
hasPermission('允许下单').then((res) => {
if (res) {
go.to('PAGES_CREATE_ORDER');
}
});
}
// {
// title: '',
// icon: '/static/indexImg/icon-staff.svg',
// pageUrl: 'PAGES_USER'
// },
// {
// title: '',
// icon: '/static/indexImg/icon-notification.svg',
// pageUrl: 'PAGES_NOTIFICATION_INDEX',
// },
// {
// title: '',
// icon: '/static/indexImg/icon-invoicing.svg',
// pageUrl: 'PAGES_INVOICING_INDEX',
// },
// {
// title: '',
// icon: '/static/indexImg/icon-yuyue-zuo.svg',
// pageUrl: 'PAGES_RESERVE_SEAT_INDEX',
// },
// {
// title: '',
// icon: '/static/indexImg/icon-yuyue.svg',
// pageUrl: 'PAGES_BOOKING_INDEX',
// },
// {
// title: '',
// icon: '/static/indexImg/icon-recharge.svg',
// pageUrl: 'PAGES_RECHARGE_INDEX',
// },
// {
// title: '',
// icon: '/static/indexImg/icon-passage.svg',
// pageUrl: 'PAGES_APPLYMENT',
// entId: 'ENT_MCH_APPLYMENT_LIST'
// },
// {
// title: '',
// icon: '/static/indexImg/business.svg',
// pageUrl: 'PAGES_APPLYMENT_BUSINESS',
// entId: 'ENT_MCH_APPLYMENT_LIST'
// },
// {
// title: '',
// icon: '/static/indexImg/icon-store.svg',
// pageUrl: 'PAGES_STORE',
// entId: 'ENT_MCH_STORE'
// },
// {
// title: '',
// icon: '/static/indexImg/icon-calc.svg',
// pageUrl: 'PAGES_DEVICE_MAIN',
// entId: 'ENT_DEVICE'
// },
// {
// title: '',
// icon: '/static/indexImg/icon-pro.svg',
// pageUrl: 'PAGES_STAT',
// entId: 'ENT_ORDER_STATISTIC'
// },
// {
// title: '',
// icon: '/static/indexImg/icon-app.svg',
// pageUrl: 'PAGES_APP',
// entId: 'ENT_MCH_APP_LIST'
// },
// {
// title: '',
// icon: '/static/indexImg/icon-member.svg',
// pageUrl: 'PAGES_MEMBER_CENTER',
// entId: 'ENT_MCH_MEMBER'
// },
// {
// title: '广',
// icon: '/static/indexImg/icon-ad.svg',
// pageUrl: 'PAGES_AD_LIST',
// entId: 'ENT_ADVERT_CONTROL'
// },
];
const vdata = reactive({
noticeList: [], //
adList: [],
shareImgUrl: '' //
});
onLoad((options) => {
shopName.value = uni.getStorageSync('shopInfo').shopName;
});
//
onMounted(() => {
// refData();
});
// 广
if (storageManage.userInfo().userType != 1) {
const index = navList.findIndex((v) => v.entId == 'ENT_ADVERT_CONTROL');
if (index != -1) {
navList.splice(index, 1);
},
{
title: '桌台',
icon: '/static/indexImg/icon-table.svg',
pageUrl: 'PAGES_TABLE'
},
{
title: '商品管理',
icon: '/static/indexImg/icon-product-control.svg',
pageUrl: 'PAGES_PRODUCT'
},
{
title: '分组管理',
icon: '/static/indexImg/goods-group.svg',
pageUrl: 'PAGES_GOODS_GROUP'
},
{
title: '分类管理',
icon: '/static/indexImg/icon-category.svg',
pageUrl: 'PAGES_CATEGORY'
},
{
title: '会员管理',
icon: '/static/indexImg/icon-user.svg',
pageUrl: 'PAGES_USER_CONTROL'
},
{
title: '员工管理',
icon: '/static/indexImg/icon-staff.svg',
pageUrl: 'PAGES_STAFF'
},
{
title: '耗材管理',
icon: '/static/indexImg/PAGE_SALES_SUMMARY.svg',
pageUrl: 'PAGES_SALES_CONSUMABLES'
},
{
title: '订单管理',
icon: '/static/indexImg/icon-order.svg',
pageUrl: 'PAGES_ORDER_INDEX'
},
{
title: '设备管理',
icon: '/static/indexImg/icon-printer.svg',
pageUrl: 'PAGES_PRINTER_INDEX'
},
{
title: '交班',
icon: '/static/indexImg/icon-work.svg',
pageUrl: 'PAGES_WORK_INDEX'
},
{
title: '排队',
icon: '/static/indexImg/icon-line-up.svg',
pageUrl: 'PAGES_LINE_UP'
},
{
title: '霸王餐',
icon: '/static/indexImg/icon-bwc.svg',
pageUrl: 'PAGES_BWC'
},
{
title: '优惠券',
icon: '/static/coupon/icon_coupon.svg',
pageUrl: 'PAGES_COUPON_INDEX'
},
{
title: '订阅通知',
icon: '/static/indexImg/icon-notification.svg',
pageUrl: 'PAGES_NOTIFICATION_INDEX'
},
{
title: '挂账管理',
icon: '/static/indexImg/icon_credit.svg',
pageUrl: 'PAGES_CREDIT_BUYER_INDEX'
},
{
title: '核销管理',
icon: '/static/indexImg/pagewriteoff.svg',
pageUrl: 'PAGES_WEITEOFF'
},
{
title: '退出登录',
icon: '/static/indexImg/icon-login-out.svg',
pageUrl: 'PAGES_LOGIN',
clickFunc: () => {
storageManage.cleanByLogout();
go.to('PAGES_LOGIN', {}, 'redirect');
}
}
// {
// title: '',
// icon: '/static/indexImg/icon-staff.svg',
// pageUrl: 'PAGES_USER'
// },
// {
// title: '',
// icon: '/static/indexImg/icon-notification.svg',
// pageUrl: 'PAGES_NOTIFICATION_INDEX',
// },
// {
// title: '',
// icon: '/static/indexImg/icon-invoicing.svg',
// pageUrl: 'PAGES_INVOICING_INDEX',
// },
// {
// title: '',
// icon: '/static/indexImg/icon-yuyue-zuo.svg',
// pageUrl: 'PAGES_RESERVE_SEAT_INDEX',
// },
// {
// title: '',
// icon: '/static/indexImg/icon-yuyue.svg',
// pageUrl: 'PAGES_BOOKING_INDEX',
// },
// {
// title: '',
// icon: '/static/indexImg/icon-recharge.svg',
// pageUrl: 'PAGES_RECHARGE_INDEX',
// },
// {
// title: '',
// icon: '/static/indexImg/icon-passage.svg',
// pageUrl: 'PAGES_APPLYMENT',
// entId: 'ENT_MCH_APPLYMENT_LIST'
// },
// {
// title: '',
// icon: '/static/indexImg/business.svg',
// pageUrl: 'PAGES_APPLYMENT_BUSINESS',
// entId: 'ENT_MCH_APPLYMENT_LIST'
// },
// {
// title: '',
// icon: '/static/indexImg/icon-store.svg',
// pageUrl: 'PAGES_STORE',
// entId: 'ENT_MCH_STORE'
// },
// {
// title: '',
// icon: '/static/indexImg/icon-calc.svg',
// pageUrl: 'PAGES_DEVICE_MAIN',
// entId: 'ENT_DEVICE'
// },
async function refData() {
// ,
// nextTick(() => statsRef.value.refData());
//
uni.stopPullDownRefresh();
// {
// title: '',
// icon: '/static/indexImg/icon-pro.svg',
// pageUrl: 'PAGES_STAT',
// entId: 'ENT_ORDER_STATISTIC'
// },
// {
// title: '',
// icon: '/static/indexImg/icon-app.svg',
// pageUrl: 'PAGES_APP',
// entId: 'ENT_MCH_APP_LIST'
// },
// {
// title: '',
// icon: '/static/indexImg/icon-member.svg',
// pageUrl: 'PAGES_MEMBER_CENTER',
// entId: 'ENT_MCH_MEMBER'
// },
// {
// title: '广',
// icon: '/static/indexImg/icon-ad.svg',
// pageUrl: 'PAGES_AD_LIST',
// entId: 'ENT_ADVERT_CONTROL'
// },
];
const vdata = reactive({
noticeList: [], //
adList: [],
shareImgUrl: '' //
});
onLoad((options) => {
shopName.value = uni.getStorageSync('shopInfo').shopName;
});
//
onMounted(() => {
// refData();
});
// 广
if (storageManage.userInfo().userType != 1) {
const index = navList.findIndex((v) => v.entId == 'ENT_ADVERT_CONTROL');
if (index != -1) {
navList.splice(index, 1);
}
/**
* 微信分享
*/
onShareAppMessage((res) => {
if (res.from == 'menu')
return {
title: uni.$appName,
path: '/pages/index/index',
imageUrl: vdata.shareImgUrl
};
});
/**
* 分享到朋友圈
*/
onShareTimeline(() => {
}
async function refData() {
// ,
// nextTick(() => statsRef.value.refData());
//
uni.stopPullDownRefresh();
}
/**
* 微信分享
*/
onShareAppMessage((res) => {
if (res.from == 'menu')
return {
title: uni.$appName,
path: '/pages/index/index',
imageUrl: vdata.shareImgUrl
};
});
//
onPullDownRefresh(() => {
refData();
});
});
/**
* 分享到朋友圈
*/
onShareTimeline(() => {
return {
title: uni.$appName,
imageUrl: vdata.shareImgUrl
};
});
//
onPullDownRefresh(() => {
refData();
});
</script>
<style lang="scss" scoped>
.bg-main{
position: relative;
z-index: 10;
.bg-main {
position: relative;
z-index: 10;
}
.bgbottomStyle {
position: absolute;
bottom: -2rpx;
left: 0;
width: 750rpx;
height: 74rpx;
background: linear-gradient(180deg, rgba(195, 215, 235, 0) 0%, #f9f9f9 100%);
}
.income {
/* #ifdef H5 */
padding-top: calc(84rpx);
/* #endif */
/* #ifndef H5 */
padding-top: calc(84rpx + 44px);
/* #endif */
> view {
text-align: center;
color: #ffffff;
font-family: Source Han Sans CN, Source Han Sans CN;
}
.bgbottomStyle{
> view:nth-child(1) {
font-weight: 400;
font-size: 28rpx;
margin-top: 84rpx;
}
> view:nth-child(2) {
margin-top: 20rpx;
font-weight: 500;
font-size: 64rpx;
}
> view:nth-child(3) {
font-weight: 400;
font-size: 28rpx;
margin-top: 50rpx;
}
}
.tips {
opacity: 0;
right: 28rpx;
transition: opacity 0.3s;
background: #ffffff;
padding: 20rpx 14rpx;
width: 211rpx;
box-sizing: border-box;
border-radius: 8rpx 8rpx 8rpx 8rpx;
&.showTips {
opacity: 1;
}
.sanjiao {
position: absolute;
bottom: -2rpx;
left: 0;
width: 750rpx;
height: 74rpx;
background: linear-gradient( 180deg, rgba(195,215,235,0) 0%, #F9F9F9 100%);
right: 100%;
top: 50%;
transform: translateX(10rpx) translateY(-50%);
}
.income {
/* #ifdef H5 */
padding-top: calc(84rpx);
/* #endif */
/* #ifndef H5 */
padding-top: calc(84rpx + 44px);
/* #endif */
>view {
text-align: center;
color: #FFFFFF;
font-family: Source Han Sans CN, Source Han Sans CN;
}
>view:nth-child(1) {
font-weight: 400;
font-size: 28rpx;
margin-top: 84rpx;
}
>view:nth-child(2) {
margin-top: 20rpx;
font-weight: 500;
font-size: 64rpx;
}
>view:nth-child(3) {
font-weight: 400;
font-size: 28rpx;
margin-top: 50rpx;
}
}
.tips {
opacity: 0;
right: 28rpx;
transition: opacity .3s;
background: #FFFFFF;
padding: 20rpx 14rpx;
width: 211rpx;
box-sizing: border-box;
border-radius: 8rpx 8rpx 8rpx 8rpx;
&.showTips {
opacity: 1;
}
.sanjiao {
position: absolute;
right: 100%;
top: 50%;
transform: translateX(10rpx) translateY(-50%);
}
}
</style>
}
</style>

File diff suppressed because it is too large Load Diff