同步代码

This commit is contained in:
GaoHao
2025-02-07 14:49:20 +08:00
commit 0740c3f349
1141 changed files with 167372 additions and 0 deletions

427
pages/index/index.vue Normal file
View File

@@ -0,0 +1,427 @@
<!-- 首页 -->
<template>
<JeepayBackground :bgColorStyle="{}">
<!-- 导航条 -->
<up-navbar title="首页" bg-color="#318AFE" titleStyle="color:#fff;font-size:16px;" @leftClick="toSetting">
<template #left>
<up-icon name="/static/indexImg/icon-menu.svg" color="#fff" :size="16"></up-icon>
</template>
</up-navbar>
<!-- <JeepayCustomNavbar title="首页" textColor="#fff" bgDefaultColor="#318AFE" /> -->
<view class="income">
<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>
</view>
<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>
<view>{{shopName||''}}</view>
</view>
<!-- 统计 or 快捷扫码 -->
<!-- <Stats ref="statsRef" /> -->
<statistics @totalRevenue="totalRevenue"></statistics>
<!-- 导航栅格 -->
<JeepayNavigation :navList="navList" type="grid" />
</JeepayBackground>
</template>
<script setup>
import {
reactive,
ref,
onMounted,
nextTick
} from 'vue';
import {
onShareAppMessage,
onShareTimeline
} from '@dcloudio/uni-app';
import {
reqLoad,
API_URL_SYS_ARTICLES,
$indexStatistics,
$getSiteInfos
} from '@/http/apiManager.js';
import go from '@/commons/utils/go.js';
import Stats from './components/Stats.vue';
import statistics from './components/statistics.vue'
import {
onPullDownRefresh,
onLoad
} from '@dcloudio/uni-app';
import storageManage from '@/commons/utils/storageManage.js';
import {
hasPermission
} from '@/commons/utils/hasPermission.js'
uni.hideTabBar()
let shopName = ref()
onLoad((options) => {
shopName.value = uni.getStorageSync('shopName');
});
let totalRevenuedata = ref()
let totalRevenue = (d) => {
totalRevenuedata.value = d
}
let showTips = ref(false)
function toggleTips() {
showTips.value = !showTips.value
}
function toSetting() {
go.to('PAGES_SHOP_SETUP')
}
// 导航列表
const navList = [
// {
// title: '收银',
// icon: '/static/indexImg/icon-cashier.svg',
// pageUrl: 'PAGES_QUICK_PAY',
// },
{
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/red-envelope.svg',
// pageUrl: 'PAGES_INVOICE'
// },
{
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/indexImg/icon-staff.svg',
// pageUrl: 'PAGES_USER'
// },
// {
// title: '订阅通知',
// icon: '/static/indexImg/icon-notification.svg',
// pageUrl: 'PAGES_NOTIFICATION_INDEX',
// },
// {
// title: '设置中心',
// icon: '/static/indexImg/icon-cashier.svg',
// pageUrl: 'PAGES_SHOP_SETUP',
// },
{
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/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-wine.svg',
// // // pageUrl: 'PAGES_STORING_WINE_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'
// },
// {
// title: '营销红包',
// icon: '/static/indexImg/red-envelope.svg',
// pageUrl: 'PAGES_RED_INDEX',
// entId: 'ENT_MCH_MEMBER'
// },
{
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')
}
}
];
// 如果不是超管 删除 刷脸广告菜单
if (storageManage.userInfo().userType != 1) {
const index = navList.findIndex((v) => v.entId == 'ENT_ADVERT_CONTROL');
if (index != -1) {
navList.splice(index, 1);
}
}
const vdata = reactive({
noticeList: [], // 公告列表
adList: [],
shareImgUrl: '' //分享图片
});
// 公告的点击事件。
const listviewClickFunc = (isClickMore, record) => {
if (isClickMore) {
return go.to('PAGES_NOTICE_LIST');
}
return go.to('PAGES_NOTICE_DETAIL', {
id: record.articleId
});
};
// 刷新数据 async 异步函数, 每个查询需要返回promise对象并标识await
async function refData() {
// 查询公告列表
// 调用子组件方法 , 避免组件没有加载完成。
// nextTick(() => statsRef.value.refData());
// 停止刷新
uni.stopPullDownRefresh();
}
// 获取 统计数据
const getIndexStat = (time) => {
$indexStatistics(time).then(({
bizData
}) => {
vdata.statInfo = bizData.dayCount;
});
};
// 启动加载
onMounted(() => {
// refData();
});
// 微信分享
onShareAppMessage((res) => {
if (res.from == 'menu')
return {
title: uni.$appName,
path: '/pages/index/index',
imageUrl: vdata.shareImgUrl
};
});
// 分享到朋友圈
onShareTimeline(() => {
return {
title: uni.$appName,
imageUrl: vdata.shareImgUrl
};
});
// 下拉刷新
onPullDownRefresh(() => {
refData();
});
</script>
<style lang="scss" scoped>
.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>