noticeDetailTow.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. var app = getApp();
  2. var that;
  3. var AParse = require('../../../Component/aParse/aParse.js');
  4. import 'dingtalk-jsapi/entry/mobile';
  5. import openLink from 'dingtalk-jsapi/api/biz/util/openLink';
  6. import moment from 'moment' // 时间库
  7. var setTime;
  8. Page({
  9. data: {
  10. obj: {},
  11. upData: {},
  12. nextData: {},
  13. stay_time: 0,
  14. background: 0,
  15. in_time:moment().format('YYYY-MM-DD HH:mm:ss'),
  16. iszx:false,
  17. },
  18. onLoad(e) {
  19. that = this;
  20. dd.setNavigationBar({ title: "使用指南" });
  21. if (e.id) {
  22. this.setData({
  23. id: Number(e.id),
  24. index: Number(e.index),
  25. })
  26. }
  27. let user = app.globalData.userData
  28. if(user.is_only_try_order&&user.id==user.company_info.creator_id){
  29. this.setData({
  30. iszx: true,
  31. })
  32. dd.onAppHide(this.onAppHideHandler)
  33. this.getTj();
  34. }
  35. },
  36. onUnload() { // 页面被关闭
  37. if(this.data.iszx){
  38. clearInterval(setTime);
  39. this.offAppHideHandler();
  40. }
  41. },
  42. getTj() {
  43. setTime = setInterval(() => {
  44. this.setData({
  45. stay_time: this.data.stay_time + 1,
  46. })
  47. }, 1000);
  48. },
  49. // 取消监听切换到后台方法
  50. offAppHideHandler() {
  51. app.$post("api/employee/statistical", {
  52. page: 'pages/workbench/noticeDetailTow/noticeDetailTow',
  53. stay_time:that.data.stay_time,
  54. background:that.data.background,
  55. in_time:that.data.in_time
  56. }).then((res) => {})
  57. dd.offAppHide(that.onAppHideHandler)
  58. },
  59. // 监听切换到后台方法
  60. onAppHideHandler() {
  61. that.setData({
  62. background:1,
  63. })
  64. },
  65. onShow() {
  66. if (app.globalData.userData) {
  67. dd.hideLoading();
  68. that.getList(that.data.id);
  69. that.getAnnouncement()
  70. } else {
  71. app.login(app.globalData.corpId, function (is) {
  72. if (is) {
  73. dd.hideLoading();
  74. that.getList(that.data.id);
  75. that.getAnnouncement()
  76. } else {
  77. dd.reLaunch({
  78. url: '../../noJurisdiction/noJurisdiction'
  79. })
  80. }
  81. }, function () { })
  82. }
  83. },
  84. openUrl(e) {
  85. var index = e.target.dataset.index;
  86. if (index == '1') {
  87. openLink({
  88. url: `https://page.dingtalk.com/wow/dingtalk/act/serviceconversation?wh_biz=tm&showmenu=false&goodsCode=DT_GOODS_881607043109331&corpId=${app.globalData.corpId}&token=5784a3e6b5e025ee891517ea814180f4`
  89. })
  90. } else {
  91. dd.navigateTo({
  92. url: '../../deploy/webView/webView?index=5'
  93. })
  94. }
  95. },
  96. getAnnouncement() {
  97. app.$get("api/announcement/list", { type: 3 }).then((res) => {
  98. let list = res.data.data.list;
  99. this.setData({
  100. list: list,
  101. upData: list[this.data.index - 1] ? list[this.data.index - 1] : {},
  102. nextData: list[this.data.index + 1] ? list[this.data.index + 1] : {}
  103. })
  104. })
  105. },
  106. getData(e) {
  107. var id = e.target.dataset.id;
  108. if (!id) {
  109. return false;
  110. }
  111. this.data.list.forEach((item, index) => {
  112. if (item.id == id) {
  113. this.setData({
  114. upData: this.data.list[index - 1] ? this.data.list[index - 1] : {},
  115. nextData: this.data.list[index + 1] ? this.data.list[index + 1] : {}
  116. })
  117. }
  118. })
  119. this.getList(id)
  120. },
  121. getList(id) {
  122. /**
  123. * 使用说明:
  124. * AParse.AParse(bindName , type, data, target,imagePadding)
  125. * 1.bindName绑定的数据名(必填)
  126. * 2.type可以为html或者md(必填)
  127. * 3.data为传入的具体数据(必填)
  128. * 4.target为Page对象,一般为this(必填)
  129. * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
  130. */
  131. app.$get("api/announcement/info", { announcement_id: id }).then((res) => {
  132. let data=res.data.data;
  133. data.focus=data.focus? data.focus:'';
  134. data.update_msg=data.update_msg? data.update_msg:'';
  135. AParse.aParse('article', 'html', data.focus + '<div style="height:20px"></div>' + data.update_msg, that, 5);
  136. this.setData({
  137. obj: data
  138. })
  139. })
  140. },
  141. });