const app = getApp(); Page({ /** * 页面的初始数据 */ data: { keyword: '', list:[], tabDetail:[{name:'222',type:'1',isSelete:false}], text:'已入库', isStatus:false, type:'00', scrollHeight: 0, // scroll-view高度 startX: 0, // 开始X坐标 startY: 0, // 开始Y坐标 transportType:[ {name:'汽车',type:'10',isSelete:false}, {name:'船',type:'20',isSelete:false}, {name:'火车',type:'30',isSelete:false}, {name:'飞机',type:'40',isSelete:false}, {name:'其他',type:'50',isSelete:false}, ], packageType:[ {name:'支',type:'10',isSelete:false}, {name:'包',type:'20',isSelete:false}, {name:'箱',type:'30',isSelete:false}, {name:'托盘',type:'40',isSelete:false}, {name:'其他',type:'50',isSelete:false}, ], status:[{name:'已入库',type:'00',isSelete:false},{name:'已出库',type:'10',isSelete:false},{name:'已结束',type:'20',isSelete:false}], isTab:false, // 筛选框显示隐藏 packageTypeInit:'', transportTypeInit:'', transportStatusInit:'', }, setTab(e){ var that = this; const type = e.currentTarget.dataset.type; var seleteTabType = this.data.seleteTabType; if(seleteTabType == type && this.data.isTab == true){ this.setData({ isTab:false }) return ; } if(seleteTabType == 'transportStatus'){ this.setData({ packageTypeInit:'', transportTypeInit:'', transportStatusInit:'', packageType:that.data.packageType.map(item=>{return{...item,isSelete:false}}), status:that.data.status.map(item=>{return{...item,isSelete:false}}), transportType:that.data.transportType.map(item=>{return{...item,isSelete:false}}), }) } if(type == 'packageType'){ this.setData({ tabDetail:this.data.packageType, seleteTabType:type, isTab:true }) }else if(type == 'transportType'){ this.setData({ tabDetail:this.data.transportType, isTab:true, seleteTabType:type, }) }else if(type == 'transportStatus'){ this.setData({ tabDetail:this.data.status, isTab:true, seleteTabType:type, }) } }, seleteTab(e){ const item = e.currentTarget.dataset.item; const type = e.currentTarget.dataset.type; var seleteTabType = this.data.seleteTabType; var tabDetail = this.data.tabDetail; var seleteArr = tabDetail.map(itemTabType=>{ if(itemTabType.type == type){ return {...itemTabType,isSelete:true} }else{ return {...itemTabType,isSelete:false} } }) if(seleteTabType == 'packageType'){ this.setData({ packageTypeInit:type, }) }else if(seleteTabType == 'transportType'){ this.setData({ transportTypeInit:type, }) }else if(seleteTabType == 'transportStatus'){ this.setData({ transportStatusInit:type, }) } this.setData({ tabDetail:seleteArr, }) }, cancel(){ this.setData({ packageType:this.data.packageType.map(item=>{ if(item.isSelete){ return {...item,isSelete:false} }else{ return item } }), transportType:this.data.transportType.map(item=>{ if(item.isSelete){ return {...item,isSelete:false} }else{ return item } }), status:this.data.status.map(item=>{ if(item.isSelete){ return {...item,isSelete:false} }else{ return item } }), isTab:false, packageTypeInit:'', transportTypeInit:'', transportStatusInit:'', },()=>{ this.getChainList(); }) }, searchType(){ var tabDetail = this.data.tabDetail; var type = this.data.seleteTabType; var seleteType = ''; var name = ''; tabDetail.map(item=>{ if(item.isSelete){ seleteType = item.type name = item.name } }) if(type == 'packageType'){ this.setData({ packageTypeInit:seleteType, transportTypeInit:'', transportStatusInit:'', isTab:false },()=>{ this.getChainList() }) }else if(type == 'transportType'){ this.setData({ packageTypeInit:'', transportTypeInit:seleteType, transportStatusInit:'', isTab:false },()=>{ this.getChainList() }) }else if(type == 'transportStatus'){ this.setData({ packageTypeInit:'', transportTypeInit:'', transportStatusInit:seleteType, isTab:false },()=>{ this.getChainList() }) } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, searchList(){ this.getChainList(); }, getChainList() { var packageType = this.data.packageTypeInit; var transportType = this.data.transportTypeInit; var transportStatus = this.data.transportStatusInit; var that = this; wx.showLoading({ title: '正在加载...', mask: true }) app.requestP({ url: "/chain/pageChain", method: "post", contentType: ' application/json', data: { pageNum: 1, pageSize: 1000, parentId: 0, packageType:packageType || '', transportType: transportType ||'', transportStatus:transportStatus || '', keyword: that.data.keyword || '' } }).catch(err => { app.showToptip(that, "error", "数据获取失败,请稍后再试") // 隐藏导航栏加载框 wx.hideNavigationBarLoading(); // 停止下拉动作 wx.stopPullDownRefresh(); }).then(res => { var data = res.data.data.rows that.setData({ list: data, page: '1', }) // 隐藏导航栏加载框 wx.hideNavigationBarLoading(); // 停止下拉动作 wx.stopPullDownRefresh(); wx.hideLoading() }) }, setKeyword(e) { this.setData({ keyword: e.detail.value }) }, allStatus(){ if(this.data.isStatus){ this.setData({ isStatus:false }) }else{ this.setData({ isStatus:true }) } }, // 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, // isStatus:false, // type:type + '', // }) // this.getChainList() // break; // } // } // }, addLabel(){ wx.removeStorageSync('orderSelect') wx.navigateTo({ url: '/pages/workbench/tempList/addChain/addChain?pid=0', }) }, 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; wx.showModal({ title: '提示', content: '该冷链内有可能会包含子冷链,删除后不可恢复,请确认是否删除', success (res) { if (res.confirm) { 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.getChainList(); }).catch(err=>{ app.showToptip(that,'error',err.data.msg); }) } else if (res.cancel) { //点击取消 } } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { this.getChainList(); this.setData({ scrollHeight: wx.getSystemInfoSync().screenHeight }) }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, goChainInfo(e){ const id = e.currentTarget.dataset.id; wx.navigateTo({ url: '/pages/query/details?id='+id, }) }, /** * 用户点击右上角分享 */ 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); }, })