my-message.js 3.57 KB
import {
  getBindtapData
} from '../../utils/util';
let Date = require('../../utils/date.js');

let app = getApp();
Page({
  data: {
    authorizeVisible: false,
    total: 0,
    page: 1,
    size: 10,
    dataList: [],
  },
  onShareAppMessage() {},
  showAuth() {
    this.setData({
      authorizeVisible: true
    })
  },
  onLoad(options) {
    this.initData();
  },
  initData() {
    this.queryAnnouncementList();
  },
  // 到达底部
  onReachBottom() {
    if (this.data.dataList.length < this.data.total) {
      this.setData({
        page: this.data.page + 1
      });
      this.queryAnnouncementList();
    }
  },
  // 重置页面列表 点击搜索条件时需要
  resetPage() {
    this.setData({
      page: 1,
      dataList: []
    })
  },
  // 请求列表
  queryAnnouncementList() {
    return new Promise((resolve, reject) => {
      app.post({
        url: app.api.announcementList,
        data: {
          page: this.data.page,
          size: this.data.size,
        }
      }).then((result) => {
        let dataList = result.announcementItems;
        dataList = this.data.dataList.concat(dataList);
        dataList.forEach(element => {
          element.dateStr = new Date(element.announcementTime).toString("yyyy.MM.dd HH:mm:ss")
        });
        this.setData({
          dataList: dataList,
          total: result.total
        })
        resolve();
      })
    });
  },

  /**
   * 标记已读
   * @param {*} evt
   */
  tagReadItem(evt) {
    let curData = getBindtapData(evt);
    let curIndex = getBindtapData(evt, "index");
    let announcementCode = curData.announcementCode || "";
    let dataList = this.data.dataList;
    app.post({
      url: app.api.announcementUpdateOne,
      data: {
        announcementCode: announcementCode
      }
    }).then((result) => {
      dataList[curIndex].read = 1;
      this.setData({
        dataList: dataList
      })
      wx.showToast({
        title: "操作成功"
      })
    });
  },

  /**
   * 删除已读
   * @param {*} evt
   */
  deleteItem(evt) {
    let curData = getBindtapData(evt);
    let curIndex = getBindtapData(evt, "index");
    let announcementCode = curData.announcementCode || "";
    let dataList = this.data.dataList;
    console.log("data");
    app.post({
      url: app.api.announcementDeleteOne,
      data: {
        announcementCode: announcementCode
      }
    }).then((result) => {
      dataList.splice(curIndex, 1);
      this.setData({
        dataList: dataList
      })
      wx.showToast({
        title: "操作成功"
      })
    });
  },

  /**
   * 标记所有已读
   * @param {*} evt
   */
  tagReadAll(evt) {
    let dataList = this.data.dataList;
    app.post({
      url: app.api.announcementUpdate,
      data: {}
    }).then((result) => {
      dataList.forEach(element => {
        element.read = 1;
      });
      this.setData({
        dataList: dataList
      })
      wx.showToast({
        title: "操作成功"
      })
    });
  },

  /**
   * 删除所有已读
   */
  deleteAll() {
    app.post({
      url: app.api.announcementDelete,
      data: {}
    }).then((result) => {
      this.queryAnnouncementList().then((result) => {
        this.resetPage();
        wx.showToast({
          title: "操作成功"
        })
      })
    });
  },

  // 隐藏蒙层
  hideMask() {
    this.setData({
      authorizeVisible: false,
    })
  },
  // 子组件事件
  evtcomp(evt) {
    let {
      name,
      data
    } = evt.detail;
    switch (name) {

      // 隐藏弹窗
      case "_evt_hide_mask":
        this.hideMask();
        break;

      default:
        break;
    }
  },
})