|
@@ -5,41 +5,32 @@ var orderPage = new Vue({
|
|
|
isRequset:true,
|
|
|
isShwoAddModel:false,
|
|
|
isDefaultFlag:false,
|
|
|
- isDefaultChecked:false,
|
|
|
userId: 0,
|
|
|
- addressList:[],
|
|
|
- ProvinceList:[],
|
|
|
- cityArray:[],
|
|
|
- townArray:[],
|
|
|
- addressFrom: {
|
|
|
- name:'',
|
|
|
- province: '',
|
|
|
- city: '',
|
|
|
- town: ''
|
|
|
- },
|
|
|
- isAddType:'add',
|
|
|
addressList:[],//收货地址
|
|
|
- addressData:{},//初始化地址信息
|
|
|
- hanldAddressData:{},//选择确定的地址信息
|
|
|
- addAddressData:{//初始化地址信息
|
|
|
- addressID:'',
|
|
|
- allAddress:'',
|
|
|
- userID: '', //用户id ,只在新增收货地址时传
|
|
|
- shouHuoRen: '', //收货人
|
|
|
- mobile:'', //收货人手机
|
|
|
- townID:'', //区ID
|
|
|
- address: '', //地址
|
|
|
- defaultFlag:0 //是否默认收货地址(0 不是默认,1 默认)
|
|
|
+ provinceOptions:[],
|
|
|
+ cityOptions:[],
|
|
|
+ townOptions:[],
|
|
|
+ addressForm: {
|
|
|
+ id: '',
|
|
|
+ name: '',
|
|
|
+ mobile: '',
|
|
|
+ townId: '',
|
|
|
+ cityId: '',
|
|
|
+ provinceId: '',
|
|
|
+ desc: '',
|
|
|
+ default: ''
|
|
|
},
|
|
|
- addressLength:0
|
|
|
- },
|
|
|
- filters: {
|
|
|
-
|
|
|
+ rule:{
|
|
|
+ name: '^[a-zA-Z\\u4e00-\\u9fa5]{2,}$',
|
|
|
+ mobile: '^\\d{6,12}$'
|
|
|
+ }
|
|
|
},
|
|
|
- computed: {
|
|
|
|
|
|
- },
|
|
|
methods: {
|
|
|
+ blurHandle: function(event) {
|
|
|
+ var el = event.currentTarget;
|
|
|
+ verifyHandle(el);
|
|
|
+ },
|
|
|
GetQueryListData:function(){//查询d地址列表
|
|
|
var _self = this;
|
|
|
OrderApi.GetAddressList({userID:_self.userId,pageNum:1,pageSize:20},function (response) {
|
|
@@ -59,6 +50,61 @@ var orderPage = new Vue({
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ // 获取全部省份
|
|
|
+ getProvinceOptions: function(){
|
|
|
+ var _self = this;
|
|
|
+ PublicApi.GetProvince({},function(r){
|
|
|
+ if(r.code === 0 && r.data){
|
|
|
+ _self.provinceOptions =r.data;
|
|
|
+ }else{
|
|
|
+ CAIMEI.Alert(r.msg,'确定',false);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getCityOptions: function(provinceId,callback){
|
|
|
+ var _self = this;
|
|
|
+ if(provinceId && provinceId>0){
|
|
|
+ _self.cityOptions = [];
|
|
|
+ _self.townOptions = [];
|
|
|
+ _self.addressForm.cityId = '';
|
|
|
+ _self.addressForm.townId = '';
|
|
|
+ PublicApi.GetCity({ provinceId: provinceId },function(r){
|
|
|
+ if(r.code === 0 && r.data){
|
|
|
+ _self.cityOptions = r.data;
|
|
|
+ if(callback){callback();}
|
|
|
+ }else{
|
|
|
+ CAIMEI.Alert(r.msg,'确定',false);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getTownOptions: function(cityId, callback){
|
|
|
+ var _self = this;
|
|
|
+ if(cityId && cityId>0){
|
|
|
+ _self.townOptions = [];
|
|
|
+ _self.addressForm.townId = '';
|
|
|
+ PublicApi.GetTown({cityId: cityId},function(r){
|
|
|
+ if(r.code === 0 && r.data){
|
|
|
+ _self.townOptions = r.data;
|
|
|
+ if(callback){callback();}
|
|
|
+ }else{
|
|
|
+ CAIMEI.Alert(r.msg,'确定',false);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 列表直接设为默认地址
|
|
|
+ setDefaultAddress: function(addressId){
|
|
|
+ var _self = this;
|
|
|
+ OrderApi.DefaultAddress({addressId:addressId,userId:_self.userId},function (r) {
|
|
|
+ if(r.code === 0 ){
|
|
|
+ // 重新获取地址列表
|
|
|
+ _self.GetQueryListData();
|
|
|
+ }else{
|
|
|
+ CAIMEI.Alert(r.msg,'确定',false);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
deleteAddress :function(addressID){//列表删除单个地址
|
|
|
var _self = this;
|
|
|
CAIMEI.Modal('确定要删除该地址?','取消','确定',function () {
|
|
@@ -73,158 +119,88 @@ var orderPage = new Vue({
|
|
|
})
|
|
|
});
|
|
|
},
|
|
|
+ createAddress: function(){
|
|
|
+ this.isShwoAddModel = true;
|
|
|
+ this.addressForm.id = 0;
|
|
|
+ this.addressForm.name = '';
|
|
|
+ this.addressForm.mobile = '';
|
|
|
+ this.addressForm.default = false;
|
|
|
+ this.addressForm.desc = '';
|
|
|
+ this.addressForm.provinceId = '';
|
|
|
+ this.addressForm.cityId = '';
|
|
|
+ this.addressForm.townId = '';
|
|
|
+ if(!isPC){fixedBody();}
|
|
|
+ },
|
|
|
editAddress :function(item) {//编辑地址
|
|
|
+ this.isShwoAddModel = true;
|
|
|
+ this.addressForm.id = item.addressID;
|
|
|
+ this.addressForm.name = item.shouHuoRen;
|
|
|
+ this.addressForm.mobile = item.mobile;
|
|
|
+ this.addressForm.default = (item.defaultFlag*1===1);
|
|
|
+ this.addressForm.desc = item.address;
|
|
|
+ this.addressForm.provinceId = item.provinceID;
|
|
|
var _self = this;
|
|
|
- if (item.defaultFlag == '1') {
|
|
|
- _self.isDefaultFlag = true;
|
|
|
- } else {
|
|
|
- _self.isDefaultFlag = false;
|
|
|
- }
|
|
|
- _self.isAddType = 'edit';
|
|
|
- _self.isShwoAddModel = true;
|
|
|
- _self.addAddressData = item;
|
|
|
- _self.addAddressData.allAddress = item.province + '' + item.city + '' + item.town;
|
|
|
- _self.addressFrom.province = item.provinceID;
|
|
|
- _self.addressFrom.city = item.cityID;
|
|
|
- _self.addressFrom.town = item.townID;
|
|
|
- _self.GetProvinceFn();
|
|
|
- _self.ChangeGetcity();
|
|
|
- _self.ChangeGetcTown();
|
|
|
+ this.getCityOptions(item.provinceID, function(){
|
|
|
+ _self.addressForm.cityId = item.cityID;
|
|
|
+ _self.getTownOptions(item.cityID,function(){
|
|
|
+ _self.addressForm.townId = item.townID;
|
|
|
+ });
|
|
|
+ });
|
|
|
+ if(!isPC){fixedBody();}
|
|
|
+ },
|
|
|
+ hideAddressForm: function(){
|
|
|
+ this.isShwoAddModel = false;
|
|
|
+ if(!isPC){looseBody();}
|
|
|
},
|
|
|
- ConfirmAddressFn :function(){//保存地址
|
|
|
+ saveAddressForm: function(){
|
|
|
var _self = this;
|
|
|
- if(_self.addAddressData.townID == ""){
|
|
|
- CAIMEI.dialog('请选择所在地区');
|
|
|
- return;
|
|
|
- };
|
|
|
- if(_self.addAddressData.address == ""){
|
|
|
- CAIMEI.dialog('请填写详细地址');
|
|
|
- return;
|
|
|
- };
|
|
|
- if(_self.addAddressData.shouHuoRen == ""){
|
|
|
- CAIMEI.dialog('请输入收货人姓名');
|
|
|
- return;
|
|
|
- };
|
|
|
- if(_self.addAddressData.mobile == ""){
|
|
|
- CAIMEI.dialog('请输入收货人手机号');
|
|
|
- return;
|
|
|
- };
|
|
|
- if( _self.isAddType == 'add'){
|
|
|
- var params = {
|
|
|
- userID:_self.userId , //用户id ,只在新增收货地址时传
|
|
|
- shouHuoRen:_self.addAddressData.shouHuoRen ,//收货人
|
|
|
- townID:_self.addAddressData.townID, //区ID
|
|
|
- address:_self.addAddressData.address,//地址
|
|
|
- mobile:_self.addAddressData.mobile, //手机
|
|
|
- defaultFlag:_self.addAddressData.defaultFlag//是否默认收货地址(0 不是默认,1 默认)
|
|
|
+ var pass = verifyForm();
|
|
|
+ if (_self.isConDisabled) { return false; }
|
|
|
+ this.$nextTick(function() {
|
|
|
+ if (!pass) {return false;}
|
|
|
+ if(!_self.addressForm.townId){
|
|
|
+ CAIMEI.dialog('请选择所在地区');
|
|
|
+ return false;
|
|
|
};
|
|
|
- }else{
|
|
|
+ _self.isConDisabled = true;
|
|
|
var params = {
|
|
|
- addressID:_self.addAddressData.addressID,//编辑保存地址ID
|
|
|
- userID:_self.userId , //用户id ,只在新增收货地址时传
|
|
|
- shouHuoRen:_self.addAddressData.shouHuoRen ,//收货人
|
|
|
- townID:_self.addAddressData.townID, //区ID
|
|
|
- address:_self.addAddressData.address,//地址
|
|
|
- mobile:_self.addAddressData.mobile, //手机
|
|
|
- defaultFlag:_self.addAddressData.defaultFlag//是否默认收货地址(0 不是默认,1 默认)
|
|
|
+ userID:_self.userId, //用户id ,只在新增收货地址时传
|
|
|
+ shouHuoRen:_self.addressForm.name, //收货人
|
|
|
+ mobile:_self.addressForm.mobile, //手机
|
|
|
+ townID:_self.addressForm.townId, //区ID
|
|
|
+ address:_self.addressForm.desc, //地址
|
|
|
+ defaultFlag:_self.addressForm.default?1:0 //是否默认收货地址(0 不是默认,1 默认)
|
|
|
};
|
|
|
- }
|
|
|
- _self.isConDisabled = true;
|
|
|
- OrderApi.AddSaveAddress(params,function(response){
|
|
|
- if(response.code == 0){
|
|
|
- CAIMEI.dialog('保存成功',true,function () {
|
|
|
- _self.GetQueryListData();
|
|
|
- _self.isShwoAddModel = false;
|
|
|
- _self.isConDisabled = false;
|
|
|
- });
|
|
|
- }else{
|
|
|
- CAIMEI.Alert(response.msg,'确定',false);
|
|
|
+ if(_self.addressForm.id){
|
|
|
+ // 编辑
|
|
|
+ params.addressID = _self.addressForm.id;//编辑保存地址ID
|
|
|
}
|
|
|
+ _self.saveAddress(params);
|
|
|
});
|
|
|
},
|
|
|
- GetProvinceFn: function(){//获取全部省份
|
|
|
- var _self = this;
|
|
|
- PublicApi.GetProvince({},function(response){
|
|
|
- if(response.code == 0){
|
|
|
- _self.ProvinceList =response.data;
|
|
|
- }else{
|
|
|
- CAIMEI.Alert(response.msg,'确定',false);
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- ChangeProvince:function () {//选择省份
|
|
|
- var _self = this;
|
|
|
- _self.addressFrom.province = event.target.value;
|
|
|
- if(_self.addressFrom.province==''){//省为请选择时市区初始化
|
|
|
- _self.cityArray=[];
|
|
|
- _self.townArray=[];
|
|
|
- _self.addAddressData.townID=''
|
|
|
- }else {
|
|
|
- _self.ChangeGetcity();
|
|
|
- }
|
|
|
- },
|
|
|
- ChangeGetcity:function(event){//加载市
|
|
|
+ saveAddress: function(params){
|
|
|
var _self = this;
|
|
|
- PublicApi.GetCity({ provinceId: _self.addressFrom.province },function(response){
|
|
|
- if(response.code == 0 ){
|
|
|
- _self.cityArray = response.data;
|
|
|
- _self.addressFrom.city = event.target.value;
|
|
|
- if(_self.addressFrom.city==''){
|
|
|
- _self.townArray=[];
|
|
|
- }else {
|
|
|
- _self.ChangeGetcTown();
|
|
|
- }
|
|
|
+ OrderApi.AddSaveAddress(params,function(r){
|
|
|
+ if(r.code === 0){
|
|
|
+ CAIMEI.dialog('保存成功');
|
|
|
+ _self.isShwoAddModel = false;
|
|
|
+ _self.isConDisabled = false;
|
|
|
+ // 重新获取地址列表
|
|
|
+ _self.GetQueryListData();
|
|
|
}else{
|
|
|
- CAIMEI.Alert(response.msg,'确定',false);
|
|
|
+ CAIMEI.Alert(r.msg,'确定',false);
|
|
|
}
|
|
|
- })
|
|
|
- },
|
|
|
- ChangeGetcTown:function(event){//选择地区
|
|
|
- var _self = this;
|
|
|
- PublicApi.GetTown({ cityId: _self.addressFrom.city },function(response){
|
|
|
- if(response.code == 0 ){
|
|
|
- _self.townArray = response.data;
|
|
|
- _self.addAddressData.townID = event.target.value;
|
|
|
- }else{
|
|
|
- CAIMEI.Alert(response.msg,'确定',false);
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- settingDefaultFlag :function(){//添加&&编辑 保存 设置默认地址按钮
|
|
|
- var _self = this;
|
|
|
- _self.isDefaultFlag=! _self.isDefaultFlag;
|
|
|
- if(_self.isDefaultFlag){
|
|
|
- _self.addAddressData.defaultFlag = '1';
|
|
|
- }else{
|
|
|
- _self.addAddressData.defaultFlag = '0';
|
|
|
- }
|
|
|
- },
|
|
|
- ShowAddAddressFn :function(){//显示新增地址
|
|
|
- var _self = this;
|
|
|
- _self.isAddType = 'add';
|
|
|
- _self.isShwoAddModel = true;
|
|
|
- _self.addressData = {//初始化地址信息
|
|
|
- addressID:'',
|
|
|
- allAddress:'',
|
|
|
- userID: '', //用户id ,只在新增收货地址时传
|
|
|
- shouHuoRen: '', //收货人
|
|
|
- mobile:'', //收货人手机
|
|
|
- townID:'', //区ID
|
|
|
- address: '', //地址
|
|
|
- defaultFlag:0 //是否默认收货地址(0 不是默认,1 默认)
|
|
|
- };
|
|
|
- _self.GetProvinceFn();
|
|
|
- },
|
|
|
- CancelAddressFn:function(){
|
|
|
- var _self = this;
|
|
|
- _self.isShwoAddModel = false;
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
- mounted: function () {
|
|
|
+ created: function() {
|
|
|
+ this.getProvinceOptions();
|
|
|
if(globalUserData){
|
|
|
this.userId = globalUserData.userId;
|
|
|
this.GetQueryListData();
|
|
|
}
|
|
|
+ },
|
|
|
+ mounted: function () {
|
|
|
$('.navLayout').find('.navList').removeClass("on").find('.con').hide().find('a').removeClass("on");
|
|
|
$('.navLayout').find('.navList').eq(0).addClass("on").find('.con').show().find('a').eq(2).addClass("on");
|
|
|
|