index.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. const pageInit = {};
  2. Page({
  3. data: {
  4. PageCur: 'Home',
  5. },
  6. onLoad() {
  7. this.refreshData();
  8. },
  9. /**
  10. * 更新站点信息
  11. * 主要用来渲染首页的banner和宫格
  12. */
  13. refreshData() {
  14. let page = this.selectComponent("#Home");
  15. if (page && wx.getStorageSync('userauth').length != 0) {
  16. let authList = {},
  17. entrance = [{
  18. label: "E-订单",
  19. appid: "wxc1b6ae925ac1d06a",
  20. icon: "work-E-dingdan",
  21. list: getedd()
  22. }];
  23. //E订单
  24. function getedd() {
  25. let paths = [{
  26. name: "商城",
  27. path: "/packageA/market/index",
  28. icon: "work-shangcheng"
  29. }, {
  30. name: "销售订单",
  31. path: "/packageA/orderForm/index",
  32. icon: "work-dingdan"
  33. }, {
  34. name: "账户",
  35. path: "/packageA/account/index",
  36. icon: "work-zhanghu"
  37. }, {
  38. name: "促销活动",
  39. path: "/packageA/activity/index",
  40. icon: "work-cuxiaohuodong"
  41. }, {
  42. name: "购物车",
  43. path: "/packageA/shopping/index",
  44. icon: "work-gouwuche"
  45. }, {
  46. name: "打款凭证",
  47. path: "/packageA/remitVoucher/index",
  48. icon: "work-dakuanpingzheng"
  49. }, {
  50. name: "退返申请",
  51. path: "/packageA/returnOne/index",
  52. icon: "work-shujuchaxun"
  53. }, {
  54. name: "发货单",
  55. path: "/packageA/dispatchBill/index",
  56. icon: "icon-shouhuo"
  57. }];
  58. let edd = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ["E-订单"], ["商品档案", "销售管理", "财务管理", "售后管理", "发货与库存", "业绩查询"]),
  59. list = [];
  60. edd.forEach(v => {
  61. v.apps.forEach(s => {
  62. authList[s.name] = {
  63. options: s.meta.auth.map(a => a.option),
  64. optionnames: s.meta.auth.map(a => a.optionname),
  65. }
  66. if (authList[s.name].options.some(s => s == "read")) {
  67. let i = paths.findIndex(k => k.name == s.meta.title);
  68. if (i != -1) {
  69. paths[i].index = i;
  70. list.push(paths[i])
  71. }
  72. }
  73. })
  74. });
  75. return dye(list.sort((a, b) => a.index - b.index))
  76. };
  77. //染色
  78. function dye(list) {
  79. let colorList = [{
  80. color: "#3874F6",
  81. bColor: "#F0F3FF",
  82. }, {
  83. color: "#5AB73F",
  84. bColor: "#F4FAEF",
  85. }, {
  86. color: "#F29C37",
  87. bColor: "#FCF6EF",
  88. }, {
  89. color: "#EB4B5C",
  90. bColor: "#FDF1ED",
  91. }, {
  92. color: "#3874F6",
  93. bColor: "#F0F3FF",
  94. }, {
  95. color: "#F29C37",
  96. bColor: "#FCF6EF",
  97. }, {
  98. color: "#EB4B5C",
  99. bColor: "#FDF1ED",
  100. }, {
  101. color: "#3874F6",
  102. bColor: "#F0F3FF",
  103. }, {
  104. color: "#5AB73F",
  105. bColor: "#F4FAEF",
  106. }, {
  107. color: "#F29C37",
  108. bColor: "#FCF6EF",
  109. }, {
  110. color: "#5AB73F",
  111. bColor: "#F4FAEF",
  112. }, {
  113. color: "#3874F6",
  114. bColor: "#F0F3FF",
  115. }, {
  116. color: "#F29C37",
  117. bColor: "#FCF6EF",
  118. }, {
  119. color: "#EB4B5C",
  120. bColor: "#FDF1ED",
  121. }, {
  122. color: "#5AB73F",
  123. bColor: "#F4FAEF",
  124. }];
  125. return list.map((v, i) => {
  126. return {
  127. ...v,
  128. ...colorList[i > colorList.length - 1 ? i - colorList.length : i]
  129. }
  130. })
  131. };
  132. wx.setStorageSync('auth', authList)
  133. let banner = wx.getStorageSync('banner_list').find(v => v.location == "index_top");
  134. page.setData({
  135. entrance,
  136. bannerList: banner ? banner.ads : []
  137. });
  138. pageInit.Home = true;
  139. } else {
  140. setTimeout(this.refreshData, 10);
  141. return;
  142. }
  143. },
  144. /**
  145. * 切换页面
  146. */
  147. NavChange(e) {
  148. let PageCur = e.currentTarget.dataset.cur;
  149. if (!pageInit[PageCur]) {
  150. let page = this.selectComponent("#" + PageCur);
  151. page && page.init();
  152. pageInit[PageCur] = true;
  153. }
  154. this.setData({
  155. PageCur
  156. })
  157. },
  158. })