index.js 5.0 KB

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