warningconfig.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. const app = getApp();
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. warningList: [],
  8. startX: 0, // 开始X坐标
  9. startY: 0, // 开始Y坐标
  10. },
  11. /**
  12. * 生命周期函数--监听页面加载
  13. */
  14. onLoad: function (options) {
  15. this.getWarningList();
  16. },
  17. getWarningList() {
  18. var that = this;
  19. app.requestP({
  20. url: '/tempRuleGroup/list',
  21. method: 'post',
  22. }).then(res => {
  23. that.setData({
  24. warningList: res.data.data
  25. })
  26. }).catch(err=>{
  27. app.showToptip(that,'error',err.data.msg)
  28. })
  29. },
  30. towarningInfo(e) {
  31. let groupId = e.currentTarget.dataset.groupid;
  32. wx.navigateTo({
  33. url: '/pages/workbench/warningconfig/warningconfIginfo?groupId=' + groupId+'&isEdit=N'
  34. })
  35. },
  36. delList(e){
  37. let groupId = e.currentTarget.dataset.groupid;
  38. var that = this;
  39. app.requestP({
  40. url:'/tempRuleGroup/del',
  41. method:'post',
  42. data:{
  43. groupId
  44. }
  45. }).then(res=>{
  46. that.getWarningList();
  47. app.showToptip(that,'success',res.data.msg)
  48. }).catch(err=>{
  49. app.showToptip(that,'error',err.data.msg)
  50. })
  51. },
  52. /**
  53. * 生命周期函数--监听页面初次渲染完成
  54. */
  55. onReady: function () {
  56. },
  57. addwaring() {
  58. wx.navigateTo({
  59. url: '/pages/workbench/warningconfig/addwarning',
  60. })
  61. },
  62. editList(e){
  63. let groupId = e.currentTarget.dataset.groupid;
  64. wx.navigateTo({
  65. url: '/pages/workbench/warningconfig/warningconfIginfo?groupId=' + groupId+'&isEdit=Y'
  66. })
  67. },
  68. // 手指触摸动作开始
  69. touchStart: function (e) {
  70. let that = this;
  71. //开始触摸时 重置所有删除
  72. that.data.warningList.forEach(function (v, i) {
  73. if (v.isTouchMove) v.isTouchMove = false; // 只操作为true的
  74. })
  75. // 记录手指触摸开始坐标
  76. that.setData({
  77. startX: e.changedTouches[0].clientX, // 开始X坐标
  78. startY: e.changedTouches[0].clientY, // 开始Y坐标
  79. warningList: that.data.warningList
  80. })
  81. },
  82. // 手指触摸后移动
  83. touchMove: function (e) {
  84. let that = this,
  85. index = e.currentTarget.dataset.index, // 当前下标
  86. startX = that.data.startX, // 开始X坐标
  87. startY = that.data.startY, // 开始Y坐标
  88. touchMoveX = e.changedTouches[0].clientX, // 滑动变化坐标
  89. touchMoveY = e.changedTouches[0].clientY, // 滑动变化坐标
  90. // 获取滑动角度
  91. angle = that.angle({
  92. X: startX,
  93. Y: startY
  94. }, {
  95. X: touchMoveX,
  96. Y: touchMoveY
  97. });
  98. // 判断滑动角度
  99. that.data.warningList.forEach(function (v, i) {
  100. v.isTouchMove = false
  101. // 滑动超过30度角 return
  102. if (Math.abs(angle) > 30) return;
  103. if (i == index) {
  104. // 右滑
  105. if (touchMoveX > startX)
  106. v.isTouchMove = false
  107. // 左滑
  108. else
  109. v.isTouchMove = true
  110. }
  111. })
  112. // 更新数据
  113. that.setData({
  114. warningList: that.data.warningList
  115. })
  116. },
  117. // 计算滑动角度
  118. angle: function (start, end) {
  119. let that = this,
  120. _X = end.X - start.X,
  121. _Y = end.Y - start.Y;
  122. // 返回角度 /Math.atan()返回数字的反正切值
  123. return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
  124. },
  125. /**
  126. * 生命周期函数--监听页面显示
  127. */
  128. onShow: function () {
  129. this.getWarningList();
  130. },
  131. /**
  132. * 生命周期函数--监听页面隐藏
  133. */
  134. onHide: function () {
  135. },
  136. /**
  137. * 生命周期函数--监听页面卸载
  138. */
  139. onUnload: function () {
  140. },
  141. /**
  142. * 页面相关事件处理函数--监听用户下拉动作
  143. */
  144. onPullDownRefresh: function () {
  145. },
  146. /**
  147. * 页面上拉触底事件的处理函数
  148. */
  149. onReachBottom: function () {
  150. },
  151. /**
  152. * 用户点击右上角分享
  153. */
  154. onShareAppMessage: function () {
  155. }
  156. })