285 lines
7.2 KiB
JavaScript
285 lines
7.2 KiB
JavaScript
Component({
|
|
properties: {
|
|
dropDownMenuTitle: {
|
|
type: Array,
|
|
value: [],
|
|
},
|
|
dropDownMenuDistrictData: {
|
|
type: Array,
|
|
value: [],
|
|
observer: function (newVal, oldVal) {
|
|
let model = newVal[0] ? newVal[0] : null
|
|
this.selectDefaltDistrictLeft(model)
|
|
}
|
|
},
|
|
|
|
dropDownMenuSourceData: {
|
|
type: Array,
|
|
value: []
|
|
},
|
|
dropDownMenuStyleData: {
|
|
type: Array,
|
|
value: []
|
|
},
|
|
dropDownMenuFilterData: {
|
|
type: Array,
|
|
value: []
|
|
},
|
|
},
|
|
data: {
|
|
district_open: false, // 区域
|
|
source_open: false, // 来源
|
|
style_open: false, // 出租 出售
|
|
filteropen: false, // 筛选
|
|
shownavindex: '',
|
|
dropDownMenuDistrictDataRight: {},
|
|
district_left_select: '',
|
|
district_right_select: '',
|
|
district_right_select_name: '',
|
|
selected_style_id: 0,
|
|
selected_style_name: '',
|
|
selected_source_id: 0,
|
|
selected_source_name: '',
|
|
selected_filter_id: 0,
|
|
selected_filter_name: ''
|
|
},
|
|
methods: {
|
|
tapDistrictNav: function (e) {
|
|
if (this.data.district_open) {
|
|
this.setData({
|
|
district_open: false,
|
|
source_open: false,
|
|
style_open: false,
|
|
filter_open: false,
|
|
shownavindex: 0
|
|
})
|
|
} else {
|
|
this.setData({
|
|
district_open: true,
|
|
style_open: false,
|
|
source_open: false,
|
|
filter_open: false,
|
|
shownavindex: e.currentTarget.dataset.nav
|
|
})
|
|
}
|
|
|
|
},
|
|
tapSourceNav: function (e) {
|
|
if (this.data.source_open) {
|
|
this.setData({
|
|
source_open: false,
|
|
style_open: false,
|
|
district_open: false,
|
|
filter_open: false,
|
|
shownavindex: 0
|
|
})
|
|
} else {
|
|
this.setData({
|
|
source_open: true,
|
|
style_open: false,
|
|
district_open: false,
|
|
filter_open: false,
|
|
shownavindex: e.currentTarget.dataset.nav
|
|
})
|
|
}
|
|
},
|
|
tapStyleNav: function (e) {
|
|
if (this.data.style_open) {
|
|
this.setData({
|
|
source_open: false,
|
|
style_open: false,
|
|
district_open: false,
|
|
filter_open: false,
|
|
shownavindex: 0
|
|
})
|
|
} else {
|
|
this.setData({
|
|
source_open: false,
|
|
style_open: true,
|
|
filter_open: false,
|
|
district_open: false,
|
|
shownavindex: e.currentTarget.dataset.nav
|
|
})
|
|
}
|
|
console.log(e.target)
|
|
},
|
|
tapFilterNav: function (e) {
|
|
if (this.data.filter_open) {
|
|
this.setData({
|
|
source_open: false,
|
|
style_open: false,
|
|
district_open: false,
|
|
filter_open: false,
|
|
shownavindex: 0
|
|
})
|
|
} else {
|
|
this.setData({
|
|
source_open: false,
|
|
style_open: false,
|
|
district_open: false,
|
|
filter_open: true,
|
|
shownavindex: e.currentTarget.dataset.nav
|
|
})
|
|
}
|
|
},
|
|
|
|
|
|
selectDefaltDistrictLeft(model) {
|
|
if (!model) {
|
|
return
|
|
}
|
|
var model = model.childModel;
|
|
var selectedId = model.id
|
|
var selectedTitle = model.title;
|
|
this.setData({
|
|
dropDownMenuDistrictDataRight: model ? model : '',
|
|
district_left_select: selectedId,
|
|
district_right_select: '',
|
|
})
|
|
},
|
|
|
|
selectDistrictLeft: function (e) {
|
|
var model = e.target.dataset.model.childModel;
|
|
var selectedId = e.target.dataset.model.id
|
|
var selectedTitle = e.target.dataset.model.title;
|
|
this.setData({
|
|
dropDownMenuDistrictDataRight: model ? model : '',
|
|
district_left_select: selectedId,
|
|
district_right_select: '',
|
|
})
|
|
},
|
|
|
|
selectDistrictRight: function (e) {
|
|
var selectedId = e.target.dataset.model.id
|
|
var selectedTitle = e.target.dataset.model.title;
|
|
this.closeHyFilter();
|
|
this.setData({
|
|
district_right_select: selectedId,
|
|
district_right_select_name: selectedTitle
|
|
})
|
|
this.triggerEvent("selectedItem", {
|
|
index: this.data.shownavindex,
|
|
selectedId: selectedId,
|
|
selectedTitle: selectedTitle
|
|
})
|
|
},
|
|
|
|
selectSourceItem: function (e) {
|
|
var selectedId = e.target.dataset.model.id
|
|
var selectedTitle = e.target.dataset.model.title;
|
|
this.closeHyFilter();
|
|
this.setData({
|
|
selected_source_id: selectedId,
|
|
selected_source_name: selectedTitle
|
|
})
|
|
this.triggerEvent("selectedItem", {
|
|
index: this.data.shownavindex,
|
|
selectedId: selectedId,
|
|
selectedTitle: selectedTitle
|
|
})
|
|
},
|
|
|
|
selectFilterItem: function (e) {
|
|
var selectedId = e.target.dataset.model.id
|
|
var selectedTitle = e.target.dataset.model.title;
|
|
this.closeHyFilter();
|
|
this.setData({
|
|
selected_filter_id: selectedId,
|
|
selected_filter_name: selectedTitle
|
|
})
|
|
this.triggerEvent("selectedItem", {
|
|
index: this.data.shownavindex,
|
|
selectedId: selectedId,
|
|
selectedTitle: selectedTitle
|
|
})
|
|
},
|
|
|
|
selectStyleItem: function (e) {
|
|
var selectedId = e.target.dataset.model.id
|
|
var selectedTitle = e.target.dataset.model.title;
|
|
this.closeHyFilter();
|
|
this.setData({
|
|
selected_style_id: selectedId,
|
|
selected_style_name: selectedTitle
|
|
})
|
|
this.triggerEvent("selectedItem", {
|
|
index: this.data.shownavindex,
|
|
selectedId: selectedId,
|
|
selectedTitle: selectedTitle
|
|
})
|
|
},
|
|
|
|
/**关闭筛选 */
|
|
closeHyFilter: function () {
|
|
if (this.data.district_open) {
|
|
this.setData({
|
|
district_open: false,
|
|
source_open: false,
|
|
style_open: false,
|
|
filter_open: false,
|
|
})
|
|
} else if (this.data.source_open) {
|
|
this.setData({
|
|
source_open: false,
|
|
style_open: false,
|
|
district_open: false,
|
|
filter_open: false,
|
|
})
|
|
} else if (this.data.style_open) {
|
|
this.setData({
|
|
source_open: false,
|
|
style_open: false,
|
|
district_open: false,
|
|
filter_open: false,
|
|
})
|
|
} else if (this.data.filter_open) {
|
|
this.setData({
|
|
source_open: false,
|
|
style_open: false,
|
|
district_open: false,
|
|
filter_open: false,
|
|
})
|
|
}
|
|
},
|
|
|
|
/**重设值 */
|
|
resetMenu: function (index) {
|
|
switch (index) {
|
|
case 0:
|
|
this.data.district_right_select_name = ""
|
|
this.data.district_left_select = ""
|
|
this.data.district_right_select = ""
|
|
break;
|
|
case 1:
|
|
this.data.selected_source_name = ""
|
|
this.data.selected_source_id = ""
|
|
break;
|
|
case 2:
|
|
this.data.selected_style_name = ""
|
|
this.data.selected_style_id = ""
|
|
break;
|
|
case 3:
|
|
this.data.selected_filter_name = ""
|
|
this.data.selected_filter_id = ""
|
|
break;
|
|
}
|
|
this.setData(this.data)
|
|
},
|
|
|
|
/**关闭弹窗 */
|
|
close: function (params) {
|
|
this.setData({
|
|
district_open: false,
|
|
source_open: false,
|
|
style_open: false,
|
|
filter_open: false,
|
|
})
|
|
}
|
|
},
|
|
//组件生命周期函数,在组件实例进入页面节点树时执行
|
|
attached: function () {
|
|
|
|
|
|
},
|
|
|
|
}) |