207 lines
4.5 KiB
JavaScript
207 lines
4.5 KiB
JavaScript
// pages/mine/shop/choose.js
|
|
const app = getApp()
|
|
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
activeNames: ['0'],
|
|
tradeList: [], //一级行业类型
|
|
tradeTwoList: [], //二级行业类型
|
|
tradeThirdList: [], //三级行业类型,
|
|
selectItems: [], //选中的行业,
|
|
selectItemNames: ''
|
|
},
|
|
getTradeList() {
|
|
wx.showLoading({
|
|
title: '获取中...'
|
|
})
|
|
let _self = this
|
|
app.http.get(app.urls.getIndustryList, {
|
|
header: {
|
|
token: app.globalData.token
|
|
}
|
|
})
|
|
.then(res => {
|
|
wx.hideLoading({})
|
|
data.forEach(el => {
|
|
el.isSel = false
|
|
})
|
|
_self.setData({
|
|
tradeList: res.data
|
|
})
|
|
})
|
|
.catch(err => {
|
|
wx.hideLoading({})
|
|
})
|
|
},
|
|
//type 2 二级 3三级
|
|
getTradeListById(id, type) {
|
|
console.log(type)
|
|
wx.showLoading({
|
|
title: '获取中...'
|
|
})
|
|
let _self = this
|
|
app.http.get(app.urls.getIndustryList, {
|
|
header: {
|
|
token: app.globalData.token
|
|
},
|
|
data: {
|
|
id: id
|
|
}
|
|
})
|
|
.then(res => {
|
|
wx.hideLoading({})
|
|
res.data.forEach(el => {
|
|
el.isSel = false
|
|
})
|
|
_self.data.selectItems.forEach(element => {
|
|
res.data.forEach(el => {
|
|
if (element.id == el.id) {
|
|
el.isSel = true
|
|
}
|
|
})
|
|
})
|
|
if (type == '1') {
|
|
_self.setData({
|
|
tradeTwoList: res.data
|
|
})
|
|
} else if (type == '2') {
|
|
_self.setData({
|
|
tradeThirdList: res.data
|
|
})
|
|
}
|
|
})
|
|
.catch(err => {
|
|
wx.hideLoading({})
|
|
})
|
|
},
|
|
//选中
|
|
selectItem(e) {
|
|
let item = e.currentTarget.dataset.item
|
|
let type = e.currentTarget.dataset.type
|
|
this.doSelectItem(item)
|
|
if (type == '1') {
|
|
this.data.tradeList.forEach(el => {
|
|
if (item.id == el.id) {
|
|
el.isSel = !el.isSel
|
|
}
|
|
})
|
|
this.setData({
|
|
tradeList: this.data.tradeList
|
|
})
|
|
} else if (type == '2') {
|
|
this.data.tradeTwoList.forEach(el => {
|
|
if (item.id == el.id) {
|
|
el.isSel = !el.isSel
|
|
}
|
|
})
|
|
this.setData({
|
|
tradeTwoList: this.data.tradeTwoList
|
|
})
|
|
} else {
|
|
this.data.tradeThirdList.forEach(el => {
|
|
if (item.id == el.id) {
|
|
el.isSel = !el.isSel
|
|
}
|
|
})
|
|
this.setData({
|
|
tradeThirdList: this.data.tradeThirdList
|
|
})
|
|
}
|
|
},
|
|
//点击文字
|
|
chooseItem(e) {
|
|
let item = e.currentTarget.dataset.i
|
|
let type = e.currentTarget.dataset.type
|
|
if (type == '1') {
|
|
this.setData({
|
|
tradeTwoList: [],
|
|
tradeThirdList: []
|
|
})
|
|
this.getTradeListById(item.id, type)
|
|
} else if (type == '2') {
|
|
this.setData({
|
|
tradeThirdList: []
|
|
})
|
|
this.getTradeListById(item.id, type)
|
|
} else {
|
|
this.doSelectItem(item)
|
|
this.data.tradeThirdList.forEach(el => {
|
|
if (el.id == item.id) {
|
|
el.isSel = !el.isSel
|
|
}
|
|
})
|
|
this.setData({
|
|
tradeThirdList: this.data.tradeThirdList
|
|
})
|
|
}
|
|
},
|
|
doSelectItem(item) {
|
|
let _self = this
|
|
let isSel = !item.isSel
|
|
console.log(isSel)
|
|
if (isSel) {
|
|
_self.data.selectItems.push(item)
|
|
|
|
_self.setData({
|
|
selectItems: _self.data.selectItems
|
|
})
|
|
console.log(_self.data.selectItems)
|
|
} else {
|
|
//剔除
|
|
let index = -1
|
|
for (var i = 0; i < _self.data.selectItems.length; ++i) {
|
|
if (item.id == _self.data.selectItems[i].id) {
|
|
index = i
|
|
break
|
|
}
|
|
}
|
|
if (index != -1) {
|
|
_self.data.selectItems.splice(index, 1)
|
|
}
|
|
_self.setData({
|
|
selectItems: _self.data.selectItems
|
|
})
|
|
}
|
|
var names = ''
|
|
_self.data.selectItems.forEach(el => {
|
|
names += el.name + ','
|
|
})
|
|
console.log(names)
|
|
_self.setData({
|
|
selectItemNames: names
|
|
})
|
|
},
|
|
onChange(e) {
|
|
this.setData({
|
|
activeNames: e.detail
|
|
})
|
|
},
|
|
selected() {
|
|
let _self = this
|
|
if (_self.data.selectItems.length > 0) {
|
|
let pages = getCurrentPages()
|
|
let prevPage = pages[pages.length - 2]
|
|
prevPage.setData({
|
|
selTradeList: _self.data.selectItems
|
|
})
|
|
wx.navigateBack({
|
|
delta: 1,
|
|
})
|
|
} else {
|
|
wx.showToast({
|
|
title: '未选择任何行业',
|
|
icon: 'error'
|
|
})
|
|
}
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
this.getTradeList()
|
|
},
|
|
}) |