index.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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. })
  21. getApp().globalData.Language.getLanguagePackage(this)
  22. this.refreshData() //更新权限等信息
  23. this.getTabBar().unReadMessageCount(); //更新信息数量
  24. if (getApp().globalData.http.appName == 'message') {
  25. setTimeout(() => {
  26. this.getTabBar().onChange({
  27. detail: "message"
  28. })
  29. }, 100)
  30. delete getApp().globalData.http.appName
  31. }
  32. _Http.basic({
  33. "classname": "sysmanage.develop.querytemplet.querytemplet",
  34. "method": "query",
  35. "content": {}
  36. }).then(res => {
  37. console.log("获取列表查询条件", res)
  38. if (res.code != '1') return;
  39. let data = res.data.find(v => v.templetname == '站点全部');
  40. if (data) {
  41. res.data = res.data.filter(v => v.templetname != '站点全部')
  42. res.data.unshift(data)
  43. }
  44. wx.setStorageSync('templetList', res.data.map(v => {
  45. v.templetname = getApp().globalData.Language.getMapText(v.templetname)
  46. return v
  47. }))
  48. });
  49. isHistory();
  50. isRemindChangePassword();
  51. },
  52. /* 更新站点信息 */
  53. refreshData() {
  54. this.setData({
  55. user: wx.getStorageSync('userMsg'),
  56. languagecode: wx.getStorageSync('languagecode')
  57. })
  58. if (wx.getStorageSync('userauth').length != 0) {
  59. initWorkbench(this)
  60. } else {
  61. setTimeout(this.refreshData, 100);
  62. return;
  63. }
  64. },
  65. /* 获取最新信息 */
  66. queryMessage(i = 0) {
  67. _Http.basic({
  68. "classname": "system.message.Message",
  69. "method": "queryMessage",
  70. content: {
  71. nocache: true,
  72. pageNumber: 1,
  73. pageSize: 5,
  74. pageTotal: 1,
  75. type: "",
  76. where: {}
  77. },
  78. }, false).then(res => {
  79. if (res.code != '1') return (i <= 5) ? this.queryMessage(i + 1) : wx.showToast({
  80. title: res.msg,
  81. icon: "none"
  82. })
  83. const authComparison = wx.getStorageSync('authComparison');
  84. res.data = res.data.map(v => {
  85. let data = authComparison.find(s => (s.objectname || "") == v.objectname);
  86. if (data) {
  87. switch (data.objectname) {
  88. case "sa_customers":
  89. data.name = '客户'
  90. //客户
  91. break;
  92. case "sat_orderclue":
  93. data.name = '线索'
  94. //线索
  95. break;
  96. case "sa_order":
  97. data.name = '订单'
  98. break;
  99. }
  100. return Object.assign(v, data)
  101. }
  102. return v
  103. })
  104. this.setData({
  105. msgList: res.data,
  106. notice: res.data[0]
  107. })
  108. if (this.data.msgList.length > 2) this.startDataCarousel();
  109. })
  110. },
  111. /* 开启消息轮播 */
  112. startDataCarousel() {
  113. clearInterval(DataCarousel);
  114. DataCarousel = setInterval(() => {
  115. let count = this.data.msgCount < this.data.msgList.length ? this.data.msgCount : 0;
  116. this.setData({
  117. msgCount: count + 1,
  118. notice: this.data.msgList[count]
  119. })
  120. }, 5000)
  121. },
  122. /* 去消息详情 */
  123. toMsg(e) {
  124. const {
  125. item
  126. } = e.currentTarget.dataset;
  127. wx.navigateTo({
  128. url: '/pages/tabbar/message/details?item=' + JSON.stringify(item),
  129. })
  130. },
  131. /* banner */
  132. bannerClick(e) {
  133. const {
  134. item
  135. } = e.currentTarget.dataset,
  136. hyperlink = item.hyperlink.split(":");
  137. if (hyperlink[0] == 'path') wx.navigateTo({
  138. url: hyperlink[1]
  139. })
  140. },
  141. onShow() {
  142. this.getTabBar().init();
  143. if (this.data.msgList.length > 2) this.startDataCarousel();
  144. this.queryMessage(0); //更新最新消息
  145. },
  146. onHide() {
  147. clearInterval(DataCarousel);
  148. },
  149. })