list.js 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. ;
  2. var orderPage = new Vue({
  3. el: "#orderPage",
  4. mixins: [cmSysVitaMixins],
  5. data: {
  6. isRequset:true,
  7. loginLoading:true,
  8. isShwoAddModel:false,
  9. isDefaultFlag:false,
  10. userId: 0,
  11. addressList:[],//收货地址
  12. provinceOptions:[],
  13. cityOptions:[],
  14. townOptions:[],
  15. addressForm: {
  16. id: '',
  17. receiver: '',
  18. mobile: '',
  19. townId: '',
  20. cityId: '',
  21. provinceId: '',
  22. desc: '',
  23. default: ''
  24. },
  25. rule:{
  26. name: '^[a-zA-Z\\u4e00-\\u9fa5]{2,}$',
  27. mobile: '^\\d{6,12}$'
  28. }
  29. },
  30. methods: {
  31. blurHandle: function(event) {
  32. var el = event.currentTarget;
  33. verifyHandle(el);
  34. },
  35. GetQueryListData:function(){//查询d地址列表
  36. var _self = this;
  37. OrderApi.GetAddressList({userId:_self.userId,pageNum:1,pageSize:20},function (response) {
  38. if(response.code == 0){
  39. var data = response.data;
  40. if(data.results && data.results.length>0) {
  41. _self.addressList = [];
  42. _self.addressList = data.list;
  43. _self.addressLength = _self.addressList.length;
  44. }else{
  45. _self.addressList = [];
  46. _self.addressList = data.list;
  47. }
  48. _self.isRequset = false;
  49. }else{
  50. CAIMEI.Alert(response.msg, '确定', false);
  51. }
  52. })
  53. },
  54. // 获取全部省份
  55. getProvinceOptions: function(){
  56. var _self = this;
  57. OrderApi.GetAddressSelect({},function(r){
  58. if(r.code === 0 && r.data){
  59. _self.provinceOptions =r.data;
  60. }else{
  61. CAIMEI.Alert(r.msg,'确定',false);
  62. }
  63. });
  64. },
  65. getCityOptions: function(parentId,callback){
  66. var _self = this;
  67. if(parentId && parentId>0){
  68. _self.cityOptions = [];
  69. _self.townOptions = [];
  70. _self.addressForm.cityId = '';
  71. _self.addressForm.townId = '';
  72. OrderApi.GetAddressSelect({ parentId: parentId,type:1 },function(r){
  73. if(r.code === 0 && r.data){
  74. _self.cityOptions = r.data;
  75. if(callback){callback();}
  76. }else{
  77. CAIMEI.Alert(r.msg,'确定',false);
  78. }
  79. });
  80. }
  81. },
  82. getTownOptions: function(parentId, callback){
  83. var _self = this;
  84. if(parentId && parentId>0){
  85. _self.townOptions = [];
  86. _self.addressForm.townId = '';
  87. OrderApi.GetAddressSelect({parentId: parentId,type:2},function(r){
  88. if(r.code === 0 && r.data){
  89. _self.townOptions = r.data;
  90. if(callback){callback();}
  91. }else{
  92. CAIMEI.Alert(r.msg,'确定',false);
  93. }
  94. })
  95. }
  96. },
  97. // 列表直接设为默认地址
  98. setDefaultAddress: function(addressId){
  99. var _self = this;
  100. OrderApi.DefaultAddress({addressId:addressId,userId:_self.userId},function (r) {
  101. if(r.code === 0 ){
  102. // 重新获取地址列表
  103. _self.GetQueryListData();
  104. }else{
  105. CAIMEI.Alert(r.msg,'确定',false);
  106. }
  107. });
  108. },
  109. deleteAddress :function(addressId){//列表删除单个地址
  110. var _self = this;
  111. CAIMEI.Modal('确定要删除该地址?','取消','确定',function () {
  112. OrderApi.DeleteAddress({addressId:addressId,userId:_self.userId},function (response) {
  113. if(response.code == 0 ){ //删除成功
  114. CAIMEI.dialog('删除成功',true,function () {
  115. _self.GetQueryListData();
  116. });
  117. }else{
  118. CAIMEI.Alert(response.msg,'确定',false);
  119. }
  120. })
  121. });
  122. },
  123. createAddress: function(){
  124. this.isShwoAddModel = true;
  125. this.addressForm.id = 0;
  126. this.addressForm.receiver = '';
  127. this.addressForm.mobile = '';
  128. this.addressForm.default = false;
  129. this.addressForm.desc = '';
  130. this.addressForm.provinceId = '';
  131. this.addressForm.cityId = '';
  132. this.addressForm.townId = '';
  133. if(!isPC){fixedBody();}
  134. },
  135. editAddress :function(item) {// 编辑地址
  136. var _self = this;
  137. console.log(item)
  138. _self.isShwoAddModel = true;
  139. _self.addressForm.id = item.addressId;
  140. _self.addressForm.receiver = item.receiver;
  141. _self.addressForm.mobile = item.mobile;
  142. _self.addressForm.default = (item.defaultFlag*1===1);
  143. _self.addressForm.desc = item.address;
  144. _self.addressForm.provinceId = item.provinceId;
  145. _self.getCityOptions(item.provinceId, function(){
  146. _self.addressForm.cityId = item.cityId;
  147. _self.getTownOptions(item.cityId,function(){
  148. _self.addressForm.townId = item.townId;
  149. });
  150. });
  151. if(!isPC){fixedBody();}
  152. },
  153. hideAddressForm: function(){
  154. this.isShwoAddModel = false;
  155. if(!isPC){looseBody();}
  156. },
  157. saveAddressForm: function(){
  158. var _self = this;
  159. var pass = verifyForm();
  160. if (_self.isConDisabled) { return false; }
  161. this.$nextTick(function() {
  162. if (!pass) {return false;}
  163. if(!_self.addressForm.townId){
  164. CAIMEI.dialog('请选择所在地区');
  165. return false;
  166. };
  167. _self.isConDisabled = true;
  168. var params = {
  169. userId:_self.userId, //用户id ,只在新增收货地址时传
  170. receiver:_self.addressForm.receiver, //收货人
  171. mobile:_self.addressForm.mobile, //手机
  172. townId:_self.addressForm.townId, //区ID
  173. address:_self.addressForm.desc, //地址
  174. defaultFlag:_self.addressForm.default?1:0 //是否默认收货地址(0 不是默认,1 默认)
  175. };
  176. if(_self.addressForm.id){
  177. // 编辑
  178. params.addressID = _self.addressForm.id;//编辑保存地址ID
  179. }
  180. _self.saveAddress(params);
  181. });
  182. },
  183. saveAddress: function(params){
  184. var _self = this;
  185. OrderApi.AddSaveAddress(params,function(r){
  186. if(r.code === 0){
  187. CAIMEI.dialog('保存成功');
  188. _self.isShwoAddModel = false;
  189. _self.isConDisabled = false;
  190. // 重新获取地址列表
  191. _self.GetQueryListData();
  192. }else{
  193. CAIMEI.Alert(r.msg,'确定',false);
  194. }
  195. });
  196. }
  197. },
  198. created: function() {
  199. this.getProvinceOptions();
  200. if(globalUserData){
  201. this.userId = globalUserData.userId;
  202. this.GetQueryListData();
  203. this.loginLoading = false
  204. }
  205. },
  206. mounted: function () {
  207. setTimeout(()=>{
  208. $('.navLayout').find('.navList').removeClass("on").find('.con').hide().find('a').removeClass("on");
  209. $('.navLayout').find('.navList').eq(0).addClass("on").find('.con').show().find('a').eq(2).addClass("on");
  210. },200)
  211. }
  212. });