newspaperTask.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. var app = getApp()
  2. var that;
  3. Page({
  4. data: {
  5. list: [],
  6. minuteIndex: 0,//条件选择
  7. minuteArray: [
  8. { id: 0, name: '全部完成任务' },
  9. { id: 1, name: '准时完成任务' },
  10. { id: 2, name: '提前完成任务' },
  11. { id: 3, name: '逾期完成任务' },
  12. ],
  13. parameter:{},
  14. },
  15. onLoad(e) {
  16. that = this;
  17. this.setData({
  18. parameter: JSON.parse(e.data),
  19. })
  20. if(this.data.parameter.method!='taskList'){
  21. dd.setNavigationBar({ title: "我完成的任务" });
  22. }else{
  23. dd.setNavigationBar({ title: "下属完成的任务" });
  24. }
  25. },
  26. onShow() {
  27. this.opneWebSocket();
  28. },
  29. opneWebSocket() {
  30. app.globalData.socketApi.sendData(this.data.parameter, this.onmessageWS);
  31. },
  32. onmessageWS(e) {
  33. // 因为作用域问题,这个函数不能使用this
  34. if (e.type == 'week_statistics'&&(e.msg=='taskList'||e.msg=='myTaskList')) {
  35. let result = e.result
  36. result.map(item => {
  37. item.date = that.timestampToTime(item.expire_time);
  38. item.pt_name=item.pt_id==3? 'B分':'A分'
  39. })
  40. that.setData({
  41. list: result
  42. })
  43. }
  44. },
  45. timestampToTime(timestamp) {
  46. var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
  47. var Y = date.getFullYear() + '-';
  48. var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
  49. var D = date.getDate() + ' ';
  50. var h = date.getHours() + ':';
  51. var m = date.getMinutes() + ':';
  52. var s = date.getSeconds();
  53. return Y + M + D + h + m + s;
  54. },
  55. activeItem(e) {
  56. var index = Number(e.detail.value)+1;
  57. var status = "";
  58. if (index == 1) {
  59. status = "all"
  60. } else if (index == 2) {
  61. status = "on_time"
  62. } else if (index == 3) {
  63. status = "before"
  64. }else{
  65. status = "over_due"
  66. }
  67. this.setData({
  68. minuteIndex: e.detail.value,
  69. [`parameter.range`]:status
  70. })
  71. // console.log(this.data.parameter)
  72. this.opneWebSocket()
  73. },
  74. openDetail(e) {
  75. var id = e.target.dataset.item.id;
  76. dd.navigateTo({
  77. url: '../../statistics/workDetail/workDetail?id=' + id
  78. })
  79. },
  80. });