mpTodo.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. // pages/mpTodo/mpTodo.js
  2. const db = wx.cloud.database()
  3. const mptodo1 = db.collection('mptodo1')
  4. let skipNum = 0
  5. let checkVal = []
  6. Page({
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. todoData: [],
  12. inpVal: '',
  13. allData: false,
  14. listType: false
  15. },
  16. //复选框选中的事件
  17. checkBoxHandle(event){
  18. console.log(event.detail.value)
  19. let _arr = event.detail.value
  20. checkVal = _arr
  21. },
  22. //完成选中事件
  23. doneCheckHandle(){
  24. wx.cloud.callFunction({
  25. name: 'mptodoDone1',
  26. data:{
  27. _arr: checkVal
  28. }
  29. }).then((res)=>{
  30. console.log(res)
  31. })
  32. },
  33. //输入框事件
  34. inpHandle(event){
  35. console.log(event.detail.value)
  36. let _val = event.detail.value
  37. this.setData({
  38. inpVal: _val
  39. })
  40. },
  41. //添加事件
  42. addHandle(){
  43. mptodo1.add({
  44. data:{
  45. title: this.data.inpVal,
  46. createTime: db.serverDate(),
  47. isDone: false
  48. }
  49. }).then((res)=>{
  50. console.log(res)
  51. this.setData({
  52. inpVal: ''
  53. })
  54. this.initData()
  55. })
  56. },
  57. //获取数据库里面的数据
  58. async getTodoList(){
  59. let _total = 0
  60. await mptodo1.where({
  61. isDone: this.data.listType
  62. }).count().then((res)=>{
  63. console.log(res)
  64. _total = res.total
  65. })
  66. mptodo1.where({
  67. isDone: this.data.listType
  68. }).orderBy('createTime','desc').limit(3).skip(skipNum).get().then((res)=>{
  69. let _arr = [...this.data.todoData,...res.data]
  70. let _allData = this.data.allData
  71. if(_arr.length >= _total){
  72. _allData = true
  73. }
  74. this.setData({
  75. todoData: _arr,
  76. allData: _allData
  77. })
  78. })
  79. },
  80. //显示更多
  81. showMoreHandle(){
  82. skipNum += 3
  83. this.getTodoList()
  84. },
  85. //初始化数据
  86. initData(){
  87. this.setData({
  88. inpVal:'',
  89. todoData: [],
  90. allData: false
  91. })
  92. skipNum = 0
  93. this.getTodoList()
  94. },
  95. //显示完成
  96. changeTypeHandle(event){
  97. this.setData({
  98. listType: event.detail.value
  99. })
  100. this.initData()
  101. },
  102. //完成选中项
  103. doneHandle(event){
  104. console.log(event)
  105. let _id = event.currentTarget.dataset.id
  106. mptodo1.doc(_id).update({
  107. data: {
  108. isDone: true
  109. }
  110. })
  111. .then((res)=>{
  112. this.initData()
  113. })
  114. },
  115. /**
  116. * 生命周期函数--监听页面加载
  117. */
  118. onLoad(options) {
  119. this.getTodoList()
  120. },
  121. /**
  122. * 生命周期函数--监听页面初次渲染完成
  123. */
  124. onReady() {
  125. },
  126. /**
  127. * 生命周期函数--监听页面显示
  128. */
  129. onShow() {
  130. },
  131. /**
  132. * 生命周期函数--监听页面隐藏
  133. */
  134. onHide() {
  135. },
  136. /**
  137. * 生命周期函数--监听页面卸载
  138. */
  139. onUnload() {
  140. },
  141. /**
  142. * 页面相关事件处理函数--监听用户下拉动作
  143. */
  144. onPullDownRefresh() {
  145. },
  146. /**
  147. * 页面上拉触底事件的处理函数
  148. */
  149. onReachBottom() {
  150. },
  151. /**
  152. * 用户点击右上角分享
  153. */
  154. onShareAppMessage() {
  155. }
  156. })