123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- ;
- var orderPage = new Vue({
- el: "#orderPage",
- mixins: [cmSysVitaMixins],
- data: {
- isRequset:true,
- loginLoading:true,
- isShwoAddModel:false,
- isDefaultFlag:false,
- userId: 0,
- addressList:[],//收货地址
- provinceOptions:[],
- cityOptions:[],
- townOptions:[],
- addressForm: {
- id: '',
- receiver: '',
- mobile: '',
- townId: '',
- cityId: '',
- provinceId: '',
- desc: '',
- default: ''
- },
- rule:{
- name: '^[a-zA-Z\\u4e00-\\u9fa5]{2,}$',
- mobile: '^\\d{6,12}$'
- }
- },
- 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) {
- if(response.code == 0){
- var data = response.data;
- if(data.results && data.results.length>0) {
- _self.addressList = [];
- _self.addressList = data.list;
- _self.addressLength = _self.addressList.length;
- }else{
- _self.addressList = [];
- _self.addressList = data.list;
- }
- _self.isRequset = false;
- }else{
- CAIMEI.Alert(response.msg, '确定', false);
- }
- })
- },
- // 获取全部省份
- getProvinceOptions: function(){
- var _self = this;
- OrderApi.GetAddressSelect({},function(r){
- if(r.code === 0 && r.data){
- _self.provinceOptions =r.data;
- }else{
- CAIMEI.Alert(r.msg,'确定',false);
- }
- });
- },
- getCityOptions: function(parentId,callback){
- var _self = this;
- if(parentId && parentId>0){
- _self.cityOptions = [];
- _self.townOptions = [];
- _self.addressForm.cityId = '';
- _self.addressForm.townId = '';
- OrderApi.GetAddressSelect({ parentId: parentId,type:1 },function(r){
- if(r.code === 0 && r.data){
- _self.cityOptions = r.data;
- if(callback){callback();}
- }else{
- CAIMEI.Alert(r.msg,'确定',false);
- }
- });
- }
- },
- getTownOptions: function(parentId, callback){
- var _self = this;
- if(parentId && parentId>0){
- _self.townOptions = [];
- _self.addressForm.townId = '';
- OrderApi.GetAddressSelect({parentId: parentId,type:2},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 () {
- OrderApi.DeleteAddress({addressId:addressId,userId:_self.userId},function (response) {
- if(response.code == 0 ){ //删除成功
- CAIMEI.dialog('删除成功',true,function () {
- _self.GetQueryListData();
- });
- }else{
- CAIMEI.Alert(response.msg,'确定',false);
- }
- })
- });
- },
- createAddress: function(){
- this.isShwoAddModel = true;
- this.addressForm.id = 0;
- this.addressForm.receiver = '';
- 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) {// 编辑地址
- var _self = this;
- console.log(item)
- _self.isShwoAddModel = true;
- _self.addressForm.id = item.addressId;
- _self.addressForm.receiver = item.receiver;
- _self.addressForm.mobile = item.mobile;
- _self.addressForm.default = (item.defaultFlag*1===1);
- _self.addressForm.desc = item.address;
- _self.addressForm.provinceId = item.provinceId;
- _self.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();}
- },
- saveAddressForm: function(){
- var _self = this;
- var pass = verifyForm();
- if (_self.isConDisabled) { return false; }
- this.$nextTick(function() {
- if (!pass) {return false;}
- if(!_self.addressForm.townId){
- CAIMEI.dialog('请选择所在地区');
- return false;
- };
- _self.isConDisabled = true;
- var params = {
- userId:_self.userId, //用户id ,只在新增收货地址时传
- receiver:_self.addressForm.receiver, //收货人
- mobile:_self.addressForm.mobile, //手机
- townId:_self.addressForm.townId, //区ID
- address:_self.addressForm.desc, //地址
- defaultFlag:_self.addressForm.default?1:0 //是否默认收货地址(0 不是默认,1 默认)
- };
- if(_self.addressForm.id){
- // 编辑
- params.addressID = _self.addressForm.id;//编辑保存地址ID
- }
- _self.saveAddress(params);
- });
- },
- saveAddress: function(params){
- var _self = this;
- OrderApi.AddSaveAddress(params,function(r){
- if(r.code === 0){
- CAIMEI.dialog('保存成功');
- _self.isShwoAddModel = false;
- _self.isConDisabled = false;
- // 重新获取地址列表
- _self.GetQueryListData();
- }else{
- CAIMEI.Alert(r.msg,'确定',false);
- }
- });
- }
- },
- created: function() {
- this.getProvinceOptions();
- if(globalUserData){
- this.userId = globalUserData.userId;
- this.GetQueryListData();
- this.loginLoading = false
- }
- },
- mounted: function () {
- setTimeout(()=>{
- $('.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");
- },200)
- }
- });
|