(function(vc) { vc.extends({ propTypes: { callBackListener: vc.propTypes.string, //父组件名称 callBackFunction: vc.propTypes.string //父组件监听方法 }, data: { areaSelectInfo: { areas: [], provs: [], citys: [], allCity: [], selectProv: '', selectProvName: '', selectCity: '', selectCityName: '', selectArea: '', selectAreaName: '' } }, _initMethod: function() { this._initArea('101', '0'); }, _initEvent: function() { }, methods: { getProv: function(_prov) { this._initArea('202', _prov); }, getCity: function(_city) { this._initArea('303', _city); }, getArea: function(_area) { this.areaSelectInfo.cityCode = _area; this.areaSelectInfo.areaAddress = ''; if (this.areaSelectInfo.provs == null || this.areaSelectInfo.provs == undefined) { return; } this.areaSelectInfo.provs.forEach(function(_param) { if (_param.areaCode == this.areaSelectInfo.selectProv) { this.areaSelectInfo.selectProvName = _param.areaName; } }); this.areaSelectInfo.citys.forEach(function(_param) { if (_param.areaCode == this.areaSelectInfo.selectCity) { this.areaSelectInfo.selectCityName = _param.areaName; } }); this.areaSelectInfo.areas.forEach(function(_param) { if (_param.areaCode == this.areaSelectInfo.selectArea) { this.areaSelectInfo.selectAreaName = _param.areaName; } }); vc.emit($namespace, $props.callBackListener, $props.callBackFunction, { selectProv: this.areaSelectInfo.selectProv, selectProvName: this.areaSelectInfo.selectProvName, selectCity: this.areaSelectInfo.selectCity, selectCityName: this.areaSelectInfo.selectCityName, selectArea: this.areaSelectInfo.selectArea, selectAreaName: this.areaSelectInfo.selectAreaName }) }, _initArea: function(_areaLevel, _parentAreaCode) { //加载区域 var _param = { params: { areaLevel: _areaLevel, parentAreaCode: _parentAreaCode } }; vc.http.apiGet('/area.listAreas', _param, function(json, res) { if (res.status == 200) { let _tmpAreas = JSON.parse(json).areas; if (_areaLevel == '101') { this.areaSelectInfo.provs = _tmpAreas; } else if (_areaLevel == '202') { this.areaSelectInfo.citys = _tmpAreas; } else { this.areaSelectInfo.areas = _tmpAreas; } return; } //this.$emit('errorInfoEvent',json); }, function(errInfo, error) { console.log('请求失败处理', errInfo, error); vc.toast("查询地区失败"); }); }, } }); })(window.vc);