card-mini/pages/mine/product/productmanage/searchproduct.js

102 lines
2.2 KiB
JavaScript
Raw Normal View History

2021-07-25 13:11:55 +08:00
// pages/mine/product/productmanage/searchproduct.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
CustomBar: app.globalData.CustomBar,
goodsList: [],
baseImageUrl: app.urls.baseImgUrl,
shopId: '',
countTime: 2000, //延迟搜索 时间
searchWaiting: false, //是否等待搜索倒计时中,
searchKey: ''
},
/**
* 获取商品列表
*/
getGoodsList(keywords) {
wx.showLoading({
title: '加载中...',
})
var _self = this
app.http.get(app.urls.getShopGoodsList.format({
shopId: _self.data.shopId
}), {
header: {
token: app.globalData.token
},
data: {
keywords: keywords
}
})
.then(res => {
wx.hideLoading({})
_self.setData({
isRefreshing: false
})
_self.setData({
goodsList: res.data.rows
})
})
.catch(err => {
wx.hideLoading({})
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
shopId: options.shopId
})
},
manageGoods(e) {
wx.navigateTo({
url: './productmanage?shopGoodsId=' + e.currentTarget.dataset.item.goodsId,
})
},
searchGoods(e) {
this.setData({
countTime: 2000,
searchKey: e.detail.value,
})
//是否处于搜索倒计时中
if (!this.data.searchWaiting) {
this.timer();
}
},
/**
* 延迟搜索
*/
timer() {
var that = this;
this.setData({
searchWaiting: true
})
let promise = new Promise((resolve, reject) => {
let setTimer = setInterval(
() => {
console.log('搜索倒计时: ' + that.data.countTime);
this.setData({
countTime: this.data.countTime - 1000
})
if (this.data.countTime <= 0) {
console.log('开始搜索: ' + that.data.params);
this.setData({
countTime: 2000,
searchWaiting: false,
})
resolve(setTimer)
}
}, 1000)
})
promise.then((setTimer) => {
this.getGoodsList(this.data.searchKey)
clearInterval(setTimer) //清除计时器
})
},
})