yuminge-app/yun-min-program-plugin-master/packageF/debt/component/classify/classify.js

294 lines
11 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// packageA/member/supplier/component/classify/classify.js
const app = getApp();
Component({
/**
* 组件的属性列表
*/
properties: {
debtId:{
type:null
}
},
/**
* 组件的初始数据
*/
data: {
// 所选一级
firstClass: 0,
// 所选二级
twoClass: 0,
// 一级分类
categoryInfo: [{
name: ''
}],
onePage: 1,
current_page_first: 1,
last_page_first: 1,
// 二级分类
// 二级分类
categoryInfo_two: [{
name: ''
}],
twoPage: 1,
current_page_two: 1,
last_page_two: 1,
keyInto: '',
cat_level: '2'
// 防止多次点击
},
lifetimes: {
// 生命周期函数可以为函数或一个在methods段中定义的方法名
attached() {
this.getClass();
},
moved() { },
detached() { },
},
observers: {
// 'sid': function (ea) {
// console.log(ea, 'sssssssss')
// }
},
/**
* 组件的方法列表
*/
methods: {
init() {
this.setData({
// categoryInfo: [],
onePage: 1,
current_page_first: 1,
last_page_first: 1,
// categoryInfo_two: [],
twoPage: 1,
current_page_two: 1,
last_page_two: 1,
twoClass: 0,
keyInto: ''
});
},
toSearch(e) {
let id = e.currentTarget.dataset.id;
console.log('debtId::::::::::',this.data.debtId)
wx.navigateTo({
url: '/packageA/member/supplier/SupplierSearch/SupplierSearch?debtCId=' + id+'&debtId='+this.data.debtId,
});
},
tapRightTwo(e) {
this.setData({
twoClass: e.currentTarget.dataset.id,
keyInto: `thr_id${e.currentTarget.dataset.kid}`
});
},
tapOneClass(e) {
let ind = e.currentTarget.dataset.ind;
console.log(ind,'aaaaaaaaaa')
this.setData({
firstClass: ind,
});
this.init();
this.getClass();
},
getClass(loadMore = false) {
wx.showLoading({
title: '加载中',
});
let urlStr = app.getNetAddresss("plugin.debt-shop.frontend.goods.goodsTypeList");
app._getNetWork({
url: urlStr,
data: {
paginate: 100,
page: this.data.onePage,
level:'1'
},
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
this.setData({
cat_level: res.data.max_level
});
wx.hideLoading({})
if (!loadMore) {
// 一级分类初始请求
this.setData({
categoryInfo: res.data.list.data,
current_page_first: res.data.list.current_page,
last_page_first: res.data.list.last_page
});
console.log(this.data.categoryInfo,this.data.firstClass)
this.getClassTwo(this.data.categoryInfo[this.data.firstClass].id);
} else {
// 一级分类下滑触底加载更多
console.log(this.data.categoryInfo,res.data.list.data)
this.setData({
categoryInfo: this.data.categoryInfo.concat(res.data.list.data),
current_page_first: res.data.list.current_page,
last_page_first: res.data.list.last_page
});
console.log(this.data.categoryInfo)
}
} else {
wx.showToast({
title: res.msg,
});
wx.hideLoading({
success: (res) => { },
});
}
}
});
},
getClassTwo(child, loadMore = false, pageTwo) {
// 取二级分类
let urlStr = app.getNetAddresss("plugin.debt-shop.frontend.goods.goodsTypeList");
app._getNetWork({
url: urlStr,
data: {
paginate: 100,
parent_id: child,
page: this.data.twoPage,
get_child: 'get_child',
},
success: (resdata) => {
wx.hideLoading({})
var res = resdata.data;
if (res.result == 1) {
if (loadMore) {
// 加载更多
// console.log('加载更多', res.data);
// console.log(this.data.current_page_two,this.data.last_page_two)
// this.getClassThr(child, res.data.category_2.data[this.data.twoClass].level, true, pageTwo);
} else {
// 初始进入取二级分类只开了二级分类
if(this.data.cat_level == 2){
this.setData({
categoryInfo_two :res.data.list.data
})
}else{
this.setData({
categoryInfo_two :res.data.list.data
})
}
// let arr = res.data.list.data;
// let _two = []
// arr.forEach(element => {
// if (element.id == child) {
// _two = element.has_many_children
// }
// });
// this.setData({
// categoryInfo_two: _two,
// current_page_two: res.data.list.current_page,
// last_page_two: res.data.list.last_page
// });
// wx.hideLoading({
// success: (res) => { },
// });
// if (this.data.cat_level == '3') {
// // 开启了三级分类
// console.log(this.data.categoryInfo_two,this.data.twoClass)
// if (res.data.list.data[this.data.firstClass].has_many_children.length > 0 && this.data.categoryInfo_two.length > 0 ) {
// this.getClassThr(this.data.categoryInfo_two[this.data.twoClass].id);
// } else {
// console.log('没有二级')
// }
// }
}
} else {
wx.showToast({
title: res.msg,
});
wx.hideLoading({
success: (res) => { },
});
}
},
fail: (err) => {
wx.hideLoading({
success: (res) => { },
});
}
});
},
getClassThr(child, leve, loadMore = false, pageTwo = null) {
if (loadMore && pageTwo) {
this.setData({
twoPage: pageTwo
});
}
// 取三级分类
let urlStr = app.getNetAddresss("plugin.debt-shop.frontend.goods.goodsTypeList");
app._getNetWork({
url: urlStr,
data: {
paginate: 15,
parent_id: child,
page: this.data.twoPage,
},
success: (resdata) => {
var res = resdata.data;
wx.hideLoading({
success: (res) => { },
});
if (res.result == 1) {
if (loadMore) {
console.log('加载更多取二级和三级', res);
this.setData({
categoryInfo_two: this.data.categoryInfo_two.concat(res.data.category_2.data),
current_page_two: res.data.category_2.current_page,
last_page_two: res.data.category_2.last_page
});
return;
}
console.log('取三级category_2里面新增category_3', res.data.list.data);
this.data.categoryInfo_two.forEach(element => {
console.log(element.id == child)
if (element.id == child) {
element.has_many_children = res.data.list.data
}
});
this.setData({
categoryInfo_two: this.data.categoryInfo_two
})
} else {
wx.hideLoading({
success: (res) => { },
});
wx.showToast({
title: res.msg,
});
}
},
fail: (err) => {
wx.hideLoading({
success: (res) => { },
});
}
});
},
getMoreCategoryNew(e) {
if (this.data.current_page_first >= this.data.last_page_first) {
console.log('没有更多一级分类');
return;
} else {
this.setData({
onePage: this.data.onePage + 1
});
}
this.getClass(true);
},
getMoreCategoryNew_two(e) {
if (this.data.current_page_two >= this.data.last_page_two) {
return;
} else {
let loadPage_two = this.data.twoPage + 1;
this.getClassTwo(this.data.categoryInfo[this.data.firstClass].id, true, loadPage_two);
}
}
}
});