123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253 |
- 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: {
- // private properity
- 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,
- })
- }
- },
- },
- //组件生命周期函数,在组件实例进入页面节点树时执行
- attached: function() {
- },
- })
|