index.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. let _Http = getApp().globalData.http,
  2. DataCarousel = null;
  3. import {
  4. initWorkbench,
  5. isHistory,
  6. isRemindChangePassword
  7. } from "../../../utils/work/work";
  8. Page({
  9. data: {
  10. appid: 'wxc1b6ae925ac1d06a',
  11. bannerList: [], //banner列表
  12. gridList: [],
  13. notice: "",
  14. msgCount: 1,
  15. msgList: [], //消息列表
  16. },
  17. onLoad(options) {
  18. this.setData({ //获取胶囊位置信息
  19. capsule: wx.getMenuButtonBoundingClientRect(),
  20. templetList: JSON.stringify(wx.getStorageSync('templetList'))
  21. })
  22. this.refreshData() //更新权限等信息
  23. this.getTabBar().unReadMessageCount(); //更新信息数量
  24. isHistory();
  25. isRemindChangePassword();
  26. },
  27. /* 更新站点信息 */
  28. refreshData() {
  29. this.setData({
  30. user: wx.getStorageSync('userMsg')
  31. })
  32. if (wx.getStorageSync('userauth').length != 0) {
  33. initWorkbench(this)
  34. } else {
  35. setTimeout(this.refreshData, 10);
  36. return;
  37. }
  38. },
  39. /* 获取最新信息 */
  40. queryMessage(i = 0) {
  41. _Http.basic({
  42. "classname": "system.message.Message",
  43. "method": "queryMessage",
  44. content: {
  45. nocache: true,
  46. pageNumber: 1,
  47. pageSize: 5,
  48. pageTotal: 1,
  49. type: "",
  50. where: {}
  51. },
  52. }, false).then(res => {
  53. if (res.msg != '成功') return (i <= 5) ? this.queryMessage(i + 1) : wx.showToast({
  54. title: res.msg,
  55. icon: "none"
  56. })
  57. const authComparison = wx.getStorageSync('authComparison');
  58. res.data = res.data.map(v => {
  59. let data = authComparison.find(s => (s.objectname || "") == v.objectname);
  60. if (data) {
  61. switch (data.objectname) {
  62. case "sa_customers":
  63. data.name = '客户'
  64. //客户
  65. break;
  66. case "sat_orderclue":
  67. data.name = '线索'
  68. //线索
  69. break;
  70. case "sa_order":
  71. data.name = '订单'
  72. break;
  73. }
  74. return Object.assign(v, data)
  75. }
  76. return v
  77. })
  78. this.setData({
  79. msgList: res.data,
  80. notice: res.data[0]
  81. })
  82. if (this.data.msgList.length > 2) this.startDataCarousel();
  83. })
  84. },
  85. /* 开启消息轮播 */
  86. startDataCarousel() {
  87. clearInterval(DataCarousel);
  88. DataCarousel = setInterval(() => {
  89. let count = this.data.msgCount < this.data.msgList.length ? this.data.msgCount : 0;
  90. this.setData({
  91. msgCount: count + 1,
  92. notice: this.data.msgList[count]
  93. })
  94. }, 5000)
  95. },
  96. /* 去消息详情 */
  97. toMsg(e) {
  98. const {
  99. item
  100. } = e.currentTarget.dataset;
  101. wx.navigateTo({
  102. url: '/pages/tabbar/message/details?item=' + JSON.stringify(item)
  103. })
  104. },
  105. /* banner */
  106. bannerClick(e) {
  107. const {
  108. item
  109. } = e.currentTarget.dataset,
  110. hyperlink = item.hyperlink.split(":");
  111. if (hyperlink[0] == 'path') wx.navigateTo({
  112. url: hyperlink[1]
  113. })
  114. },
  115. onShow() {
  116. this.getTabBar().init();
  117. if (this.data.msgList.length > 2) this.startDataCarousel();
  118. this.queryMessage(0); //更新最新消息
  119. },
  120. onHide() {
  121. clearInterval(DataCarousel);
  122. },
  123. /* 设置页面高度 */
  124. setListHeight() {
  125. this.selectComponent("#ListBox").setHeight(".grld-title", this);
  126. }
  127. })