index.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import * as Api from './service';
  2. Component({
  3. props: {
  4. componentData: {}
  5. },
  6. data: {
  7. addressData: null,
  8. addressDefault: {
  9. name: '',
  10. mobile: '',
  11. region: [],
  12. regionCode: [],
  13. address: '',
  14. isDefault: false,
  15. latitude: '',
  16. longitude: '',
  17. addressNumber: ''
  18. } // 收货地址信息
  19. },
  20. didMount() {
  21. const {
  22. type = '',
  23. ...rest
  24. } = this.props.componentData;
  25. const {
  26. addressDefault
  27. } = this.data;
  28. this.setData({
  29. addressData: type === 'edit' ? rest : addressDefault
  30. });
  31. },
  32. methods: {
  33. async onComplete(e) {
  34. const params = {
  35. userPhone: e.mobile || '',
  36. userName: e.name || '',
  37. detail: e.address || '',
  38. longitude: e.longitude || '',
  39. latitude: e.latitude || '',
  40. status: e.isDefault || false,
  41. addressNumber: e.addressNumber || '',
  42. provinceName: e.region[0] || '',
  43. provinceCode: e.regionCode[0] || '',
  44. cityName: e.region[1] || '',
  45. cityCode: e.regionCode[1] || '',
  46. districtName: e.region[2] || '',
  47. districtCode: e.regionCode[2] || ''
  48. };
  49. try {
  50. const {
  51. type = ''
  52. } = this.props.componentData;
  53. const {
  54. addressData
  55. } = this.data;
  56. if (type === 'edit') {
  57. await Api.updateAddressApi({ ...params,
  58. id: addressData.id
  59. });
  60. } else {
  61. await Api.updateAddressApi(params);
  62. }
  63. my.navigateBack();
  64. } catch (err) {
  65. my.showToast({
  66. content: err.msg || '更新失败'
  67. });
  68. }
  69. }
  70. }
  71. });