const app = getApp(); Page({ /** * 页面的初始数据 */ data: { keyword:'', status:[{statu:'已入库',type:'00'},{statu:'已出库',type:'10'},{statu:'已结束',type:'20'}], text:'已入库', type:'00', isStatus:false, startX: 0, // 开始X坐标 startY: 0, // 开始Y坐标 }, allStatus(){ if(this.data.isStatus){ this.setData({ isStatus:false }) }else{ this.setData({ isStatus:true }) } }, setKeyword(e) { this.setData({ keyword: e.detail.value }) }, /** * 生命周期函数--监听页面加载 */ onShow(){ this.getChildList(this.data.chainId) }, onLoad: function (options) { this.setData({chainId:options.chainId}) }, searchList(){ this.getChildList(this.data.chainId); }, getChildList(chainId){ var that = this; app.requestP({ url: "/chain/pageChain", method: "post", contentType: ' application/json', data: { pageNum: 1, pageSize: 1000, parentId:chainId, transportStatus:that.data.type || '', keyword:that.data.keyword || '' } }).then(res => { var data = res.data.data.rows; that.setData({list:data}); }).catch(err=>{ app.showToptip(that,'error',err.data.msg) }) }, setStatus(e){ var type = e.currentTarget.dataset.type; for(var i in this.data.status){ if(this.data.status[i].type == type){ this.setData({ text:this.data.status[i].statu, type, isStatus:false }) this.getChildList(this.data.chainId); break; } } }, addLabel(){ var chainId = this.data.chainId; wx.navigateTo({ url: '/pages/workbench/tempList/addChain/addChain?pid='+chainId, }) }, editList(e){ var item = e.currentTarget.dataset.item; wx.navigateTo({ url: '/pages/workbench/tempList/addChain/addChain?item='+JSON.stringify(item), }) }, delList(e){ var that = this; var id = e.currentTarget.dataset.id; app.requestP({ url:'/chain/del', method:'post', data:{ chainId:id } }).then(res=>{ app.showToptip(that,'success',res.data.msg); that.getChildList(that.data.chainId) }).catch(err=>{ app.showToptip(that,'error',err.data.msg); }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, // 手指触摸动作开始 touchStart: function (e) { let that = this; //开始触摸时 重置所有删除 that.data.list.forEach(function (v, i) { if (v.isTouchMove) v.isTouchMove = false; // 只操作为true的 }) // 记录手指触摸开始坐标 that.setData({ startX: e.changedTouches[0].clientX, // 开始X坐标 startY: e.changedTouches[0].clientY, // 开始Y坐标 list: that.data.list }) }, // 手指触摸后移动 touchMove: function (e) { let that = this, index = e.currentTarget.dataset.index, // 当前下标 startX = that.data.startX, // 开始X坐标 startY = that.data.startY, // 开始Y坐标 touchMoveX = e.changedTouches[0].clientX, // 滑动变化坐标 touchMoveY = e.changedTouches[0].clientY, // 滑动变化坐标 // 获取滑动角度 angle = that.angle({ X: startX, Y: startY }, { X: touchMoveX, Y: touchMoveY }); // 判断滑动角度 that.data.list.forEach(function (v, i) { v.isTouchMove = false // 滑动超过30度角 return if (Math.abs(angle) > 30) return; if (i == index) { // 右滑 if (touchMoveX > startX) v.isTouchMove = false // 左滑 else v.isTouchMove = true } }) // 更新数据 that.setData({ list: that.data.list }) }, // 计算滑动角度 angle: function (start, end) { let that = this, _X = end.X - start.X, _Y = end.Y - start.Y; // 返回角度 /Math.atan()返回数字的反正切值 return 360 * Math.atan(_Y / _X) / (2 * Math.PI); }, })