<!-- 首页 -->
<template>
	<JeepayBackground :bgColorStyle="{}">
		<!-- 导航条 -->
		<JeepayCustomNavbar title="首页" textColor="#fff"
			bgDefaultColor="linear-gradient(270deg, rgba(72, 192, 255, 1) 0%, rgba(51, 157, 255, 1) 100%)" />

		<!-- 统计 or 快捷扫码 -->
		<Stats ref="statsRef" />

		<!-- 导航栅格 -->
		<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 registerPush from '@/commons/utils/pushmsg/registerPush.js';
	import pushMsgManage from '@/commons/utils/pushmsg/pushMsgManage.js';

	import {
		onPullDownRefresh,
		onLoad
	} from '@dcloudio/uni-app';
	import storageManage from '@/commons/utils/storageManage.js';
	import {
		$adList
	} from '@/http/apiManager.js';
	uni.hideTabBar()
	onLoad((options) => {});
	// 导航列表
	const navList = [{
			title: '收银',
			icon: '/static/indexImg/icon-cashier.svg',
			pageUrl: 'PAGES_QUICK_PAY',
		},
		{
			title: '设置中心',
			icon: '/static/indexImg/icon-cashier.svg',
			pageUrl: 'PAGES_SHOP_SETUP',
		},
		{
			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/icon-table.svg',
			pageUrl: 'PAGES_TABLE'
		}, {
			title: '排队',
			icon: '/static/indexImg/icon-table.svg',
			pageUrl: 'PAGES_LINE_UP'
		},
		{
			title: '代客下单',
			icon: '/static/indexImg/icon-substitute-ordering.svg',
			pageUrl: 'PAGES_CREATE_ORDER',
		},
		{
			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-invoicing.svg',
			pageUrl: 'PAGES_INVOICING_INDEX',
		},
		{
			title: '交班',
			icon: '/static/indexImg/icon-work.svg',
			pageUrl: 'PAGES_WORK_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-staff.svg',
			pageUrl: 'PAGES_USER'
		},
		{
			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/red-envelope.svg',
			pageUrl: 'PAGES_INVOICE'
		},
		// {
		// 	title: '优惠券',
		// 	icon: '/static/indexImg/red-envelope.svg',
		// 	pageUrl: 'PAGES_COUPON_INDEX'
		// },
		{
			title: '销售汇总',
			icon: '/static/indexImg/PAGE_SALES_SUMMARY.svg',
			pageUrl: 'PAGES_SALES_SUMMARY'
		},
		{
			title: '耗材管理',
			icon: '/static/indexImg/PAGE_SALES_SUMMARY.svg',
			pageUrl: 'PAGES_SALES_CONSUMABLES'
		},
		{
			title: '退出登录',
			icon: '/static/indexImg/PAGE_SALES_SUMMARY.svg',
			pageUrl: 'PAGES_LOGIN'
		}

	];
	// 如果不是超管 删除 刷脸广告菜单
	if (storageManage.userInfo().userType != 1) {
		const index = navList.findIndex((v) => v.entId == 'ENT_ADVERT_CONTROL');
		if (index != -1) {
			navList.splice(index, 1);
		}
	}
	const statsRef = ref();

	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></style>