| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 | 
							- let pageInit = null,
 
- 	_Http = getApp().globalData.http;
 
- Page({
 
- 	data: {
 
- 		PageCur: 'Home',
 
- 		collectCount: "", //购物车商品数量
 
- 		msgList: []
 
- 	},
 
- 	onLoad(options) {
 
- 		pageInit = {
 
- 			Home: false,
 
- 			Message: false,
 
- 			Market: false,
 
- 			Collect: false,
 
- 			UserCenter: false,
 
- 		};
 
- 		if (options.PageCur) this.setData({
 
- 			PageCur: options.PageCur
 
- 		})
 
- 		this.refreshData();
 
- 		this.getCollectCount();
 
- 		this.updateMsgCount();
 
- 		this.getAnnunciate()
 
- 	},
 
- 	getAnnunciate() {
 
- 		_Http.basic({
 
- 			"id": 20221111090904,
 
- 			"content": {
 
- 				"nocache": true,
 
- 				"pageSize": 1,
 
- 				"where": {
 
- 					"condition": ""
 
- 				}
 
- 			}
 
- 		}).then(res => {
 
- 			console.log("获取一条通告", res)
 
- 			if (res.msg == '成功' && res.data.length) this.selectComponent("#Home").setData({
 
- 				annunciate: res.data[0]
 
- 			})
 
- 		})
 
- 	},
 
- 	onShow() {
 
- 		// if (wx.getAccountInfoSync().miniProgram.envVersion !== 'release') this.refreshData();
 
- 	},
 
- 	/**
 
- 	 * 更新站点信息
 
- 	 * 主要用来渲染首页的banner和宫格
 
- 	 */
 
- 	refreshData() {
 
- 		getApp().globalData.getCollectCount = this.getCollectCount.bind(this); //更新购物车件数
 
- 		getApp().globalData.socketCallback = this.updateMsgCount.bind(this); //更新信息数量
 
- 		getApp().globalData.changeBar = this.cutBar.bind(this); //切换首页页面
 
- 		let page = this.selectComponent("#Home");
 
- 		if (page && wx.getStorageSync('userauth').length != 0) {
 
- 			let authList = {},
 
- 				entrance = [{
 
- 					label: "营销工具",
 
- 					icon: "work-yingxiaogongju",
 
- 					appid: "wx7505ddb0a1ec6146",
 
- 					list: gettool()
 
- 				}, {
 
- 					label: "E-订单",
 
- 					appid: "wx7505ddb0a1ec6146",
 
- 					icon: "work-E-dingdan",
 
- 					list: getedd()
 
- 				}];
 
- 			//营销工具
 
- 			function gettool() {
 
- 				const paths = [{
 
- 					name: "通告",
 
- 					path: "/marketing/annunciate/index",
 
- 					icon: "work-a-shouyejingangqutonggao",
 
- 					objectname: "sat_notice"
 
- 				}, {
 
- 					name: "营销物料",
 
- 					path: "/marketing/mediaLibrary/index",
 
- 					icon: "work-a-shouyejingangquyingxiaowuliao",
 
- 					objectname: "sys_attachment"
 
- 				}, {
 
- 					name: "推广素材",
 
- 					path: "/marketing/promotional/index",
 
- 					icon: "work-a-shouyejingangqutuiguangsucai",
 
- 					objectname: "sat_sharematerial"
 
- 				}, {
 
- 					name: "商学院",
 
- 					path: "/marketing/college/index",
 
- 					icon: "work-a-shangxueyuanxuexi",
 
- 					objectname: "sat_courseware"
 
- 				}, {
 
- 					name: "提报",
 
- 					path: "/marketing/submission/index",
 
- 					icon: "work-a-tibaoguanlitibao",
 
- 					objectname: "sat_submiteditmodel"
 
- 				}];
 
- 				let tool = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ['营销工具'], paths.map(v => v.name)),
 
- 					list = [];
 
- 				tool.forEach(v => {
 
- 					let auth = v.apps[0].meta.auth;
 
- 					if (!auth.some(r => r.option == 'read')) return;
 
- 					authList[v.apps[0].name] = {
 
- 						options: auth.map(a => a.option),
 
- 						optionnames: auth.map(a => a.optionname)
 
- 					};
 
- 					let item = paths.find(s => s.name == v.systemmodulename);
 
- 					item && list.push(item)
 
- 				});
 
- 				return dye(list.sort((a, b) => a.index - b.index))
 
- 			};
 
- 			//E订单
 
- 			function getedd() {
 
- 				let paths = [{
 
- 					name: "商城",
 
- 					PageCur: "Market",
 
- 					icon: "work-shangcheng"
 
- 				}, {
 
- 					name: "订货单",
 
- 					path: "/packageA/orderForm/index",
 
- 					icon: "work-dingdan"
 
- 				}, {
 
- 					name: "订单明细",
 
- 					path: "/packageA/orderForm/rows",
 
- 					icon: "work-dingdan"
 
- 				}, {
 
- 					name: "账户",
 
- 					path: "/packageA/account/index",
 
- 					icon: "work-zhanghu"
 
- 				}, {
 
- 					name: "促销活动",
 
- 					path: "/packageA/activity/index",
 
- 					icon: "work-cuxiaohuodong"
 
- 				}, {
 
- 					name: "打款凭证",
 
- 					path: "/packageA/remitVoucher/index",
 
- 					icon: "work-dakuanpingzheng"
 
- 				}, {
 
- 					name: "物流单",
 
- 					path: "/packageA/shipment/index",
 
- 					icon: "icon-shouhuo"
 
- 				}, {
 
- 					name: "返退申请单",
 
- 					path: "/packageA/returnOne/index",
 
- 					icon: "work-shujuchaxun"
 
- 				}, {
 
- 					name: "发货单",
 
- 					path: "/packageA/dispatchBill/index",
 
- 					icon: "icon-shouhuo"
 
- 				}, {
 
- 					name: "发货明细",
 
- 					path: "/packageA/dispatchBill/rows",
 
- 					icon: "icon-shouhuo"
 
- 				}, {
 
- 					name: "工厂发退明细",
 
- 					path: "/packageA/dispatchBill/sentandback",
 
- 					icon: "icon-shouhuo"
 
- 				}];
 
- 				let edd = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ["E-订单"], ["商品档案", "销售管理", "财务管理", "售后管理", "发货管理", "业绩查询"]),
 
- 					list = [];
 
- 				edd.forEach(v => {
 
- 					v.apps.forEach(s => {
 
- 						authList[s.name] = {
 
- 							options: s.meta.auth.map(a => a.option),
 
- 							optionnames: s.meta.auth.map(a => a.optionname),
 
- 						}
 
- 						if (authList[s.name].options.some(s => s == "read")) {
 
- 							let i = paths.findIndex(k => k.name == s.meta.title);
 
- 							if (i != -1) {
 
- 								paths[i].index = i;
 
- 								list.push(paths[i])
 
- 							}
 
- 						}
 
- 					})
 
- 				});
 
- 				return dye(list.sort((a, b) => a.index - b.index))
 
- 			};
 
- 			//染色
 
- 			function dye(list) {
 
- 				let colorList = [{
 
- 					color: "#3874F6",
 
- 					bColor: "#F0F3FF",
 
- 				}, {
 
- 					color: "#5AB73F",
 
- 					bColor: "#F4FAEF",
 
- 				}, {
 
- 					color: "#F29C37",
 
- 					bColor: "#FCF6EF",
 
- 				}, {
 
- 					color: "#EB4B5C",
 
- 					bColor: "#FDF1ED",
 
- 				}, {
 
- 					color: "#3874F6",
 
- 					bColor: "#F0F3FF",
 
- 				}, {
 
- 					color: "#F29C37",
 
- 					bColor: "#FCF6EF",
 
- 				}, {
 
- 					color: "#EB4B5C",
 
- 					bColor: "#FDF1ED",
 
- 				}, {
 
- 					color: "#3874F6",
 
- 					bColor: "#F0F3FF",
 
- 				}, {
 
- 					color: "#5AB73F",
 
- 					bColor: "#F4FAEF",
 
- 				}, {
 
- 					color: "#F29C37",
 
- 					bColor: "#FCF6EF",
 
- 				}, {
 
- 					color: "#5AB73F",
 
- 					bColor: "#F4FAEF",
 
- 				}, {
 
- 					color: "#3874F6",
 
- 					bColor: "#F0F3FF",
 
- 				}, {
 
- 					color: "#F29C37",
 
- 					bColor: "#FCF6EF",
 
- 				}, {
 
- 					color: "#EB4B5C",
 
- 					bColor: "#FDF1ED",
 
- 				}, {
 
- 					color: "#5AB73F",
 
- 					bColor: "#F4FAEF",
 
- 				}];
 
- 				return list.map((v, i) => {
 
- 					return {
 
- 						...v,
 
- 						...colorList[i > colorList.length - 1 ? i - colorList.length : i]
 
- 					}
 
- 				})
 
- 			};
 
- 			wx.setStorageSync('auth', authList)
 
- 			let banner = wx.getStorageSync('banner_list').find(v => v.location == "index_top");
 
- 			page.setData({
 
- 				entrance,
 
- 				bannerList: banner ? banner.ads : []
 
- 			});
 
- 			pageInit.Home = true;
 
- 			page.selectComponent("#ListBox").setHeight(".head", page);
 
- 		} else {
 
- 			setTimeout(this.refreshData, 10);
 
- 			return;
 
- 		}
 
- 	},
 
- 	/* 获取通告列表 */
 
- 	/**
 
- 	 * 更新购物车数量
 
- 	 */
 
- 	getCollectCount() {
 
- 		return _Http.basic({
 
- 			"id": 20220927093202,
 
- 			"content": {}
 
- 		}).then(res => {
 
- 			console.log("购物车数量", res)
 
- 			getApp().globalData.collectCount = res.data.num;
 
- 			pageInit.Collect = false;
 
- 			this.setData({
 
- 				collectCount: res.data.num
 
- 			})
 
- 			return res.data.num;
 
- 		});
 
- 	},
 
- 	/* 更新消息数量 */
 
- 	updateMsgCount() {
 
- 		pageInit.Message = false;
 
- 		_Http.basic({
 
- 			"classname": "system.message.Message",
 
- 			"method": "unReadMessageCount",
 
- 			"content": {
 
- 				nocache: true
 
- 			}
 
- 		}, false).then(res => {
 
- 			console.log('信息数量', res)
 
- 			if (res.msg != '成功') return;
 
- 			let fcount = res.data.fcount > 99 ? '99+' : res.data.fcount;
 
- 			if (res.data.fcount == 0) fcount = "";
 
- 			this.setData({
 
- 				fcount
 
- 			})
 
- 		});
 
- 		_Http.basic({
 
- 			"classname": "system.message.Message",
 
- 			"method": "queryMessage",
 
- 			content: {
 
- 				nocache: true,
 
- 				pageNumber: 1,
 
- 				pageSize: 1,
 
- 				type: "",
 
- 				where: {}
 
- 			},
 
- 		}).then(res => {
 
- 			if (res.msg != '成功') return;
 
- 			this.selectComponent("#Home").setData({
 
- 				msgList: res.data
 
- 			})
 
- 		})
 
- 	},
 
- 	/** 
 
- 	 * 切换页面
 
- 	 */
 
- 	NavChange(e) {
 
- 		this.cutBar({
 
- 			detail: e.currentTarget.dataset.cur
 
- 		});
 
- 		if (!getApp().globalData.socketEstablish) getApp().initSocket();
 
- 	},
 
- 	/** 
 
- 	 * 切换bar
 
- 	 */
 
- 	cutBar({
 
- 		detail
 
- 	}) {
 
- 		let page = this.selectComponent("#" + detail);
 
- 		if (!page) return;
 
- 		if (!pageInit[detail] && page.init()) pageInit[detail] = true;
 
- 		this.setData({
 
- 			PageCur: detail
 
- 		})
 
- 	},
 
- })
 
 
  |