addAddress.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. "use strict";
  2. var common_vendor = require("../common/vendor.js");
  3. var api_order = require("../api/order.js");
  4. require("../common/request.js");
  5. const EvanSwitch = () => "../components/evan-switch/evan-switch.js";
  6. const _sfc_main = {
  7. components: {
  8. EvanSwitch
  9. },
  10. data() {
  11. return {
  12. content: null,
  13. type: null,
  14. addressId: null,
  15. isDefault: false,
  16. addressList: [[], [], []],
  17. multiIndex: [0, 0, 0],
  18. address: [],
  19. form: {
  20. realName: null,
  21. phone: null,
  22. detail: null,
  23. address: null,
  24. isDefault: 0
  25. }
  26. };
  27. },
  28. onLoad(option) {
  29. console.log("option", option);
  30. this.type = option.type;
  31. if (this.type == "edit") {
  32. common_vendor.index.setNavigationBarTitle({
  33. title: "\u4FEE\u6539\u6536\u8D27\u5730\u5740"
  34. });
  35. this.addressId = option.addressId;
  36. } else {
  37. common_vendor.index.setNavigationBarTitle({
  38. title: "\u65B0\u589E\u6536\u8D27\u5730\u5740"
  39. });
  40. }
  41. this.getCitys();
  42. },
  43. methods: {
  44. submit() {
  45. if (this.type == "add") {
  46. this.addAddress();
  47. } else if (this.type == "edit") {
  48. this.editAddress();
  49. }
  50. },
  51. editAddress() {
  52. this.form.isDefault = this.isDefault ? 1 : 0;
  53. api_order.editAddress(this.form).then((res) => {
  54. if (res.code == 200) {
  55. common_vendor.index.showToast({
  56. icon: "success",
  57. title: "\u64CD\u4F5C\u6210\u529F"
  58. });
  59. setTimeout(function() {
  60. common_vendor.index.$emit("refreshAddress");
  61. common_vendor.index.navigateBack({
  62. delta: 1
  63. });
  64. }, 500);
  65. } else {
  66. common_vendor.index.showToast({
  67. icon: "none",
  68. title: res.msg
  69. });
  70. }
  71. }, (rej) => {
  72. });
  73. },
  74. addAddress() {
  75. this.form.isDefault = this.isDefault ? 1 : 0;
  76. api_order.addAddress(this.form).then((res) => {
  77. if (res.code == 200) {
  78. common_vendor.index.showToast({
  79. icon: "success",
  80. title: "\u64CD\u4F5C\u6210\u529F"
  81. });
  82. setTimeout(function() {
  83. common_vendor.index.$emit("refreshAddress");
  84. common_vendor.index.navigateBack({
  85. delta: 1
  86. });
  87. }, 500);
  88. } else {
  89. common_vendor.index.showToast({
  90. icon: "none",
  91. title: res.msg
  92. });
  93. }
  94. }, (rej) => {
  95. });
  96. },
  97. pickerChange(e) {
  98. this.multiIndex = e.detail.value;
  99. this.form.address = this.addressList[0][this.multiIndex[0]].n + this.addressList[1][this.multiIndex[1]].n + this.addressList[2][this.multiIndex[2]].n;
  100. this.form.province = this.addressList[0][this.multiIndex[0]].n;
  101. this.form.city = this.addressList[1][this.multiIndex[1]].n;
  102. this.form.district = this.addressList[2][this.multiIndex[2]].n;
  103. this.form.cityId = this.addressList[1][this.multiIndex[1]].v;
  104. },
  105. pickerColumnchange(e) {
  106. if (e.detail.column === 0) {
  107. this.multiIndex[0] = e.detail.value;
  108. this.addressList[1] = this.address[this.multiIndex[0]].c;
  109. this.addressList[2] = this.address[this.multiIndex[0]].c[0].c;
  110. this.multiIndex.splice(1, 1, 0);
  111. this.multiIndex.splice(2, 1, 0);
  112. }
  113. if (e.detail.column === 1) {
  114. this.multiIndex[1] = e.detail.value;
  115. this.addressList[2] = this.address[this.multiIndex[0]].c[this.multiIndex[1]].c;
  116. this.multiIndex.splice(2, 1, 0);
  117. }
  118. if (e.detail.column === 2) {
  119. this.multiIndex[2] = e.detail.value;
  120. }
  121. },
  122. getCitys() {
  123. api_order.getCitys().then((res) => {
  124. if (res.code == 200) {
  125. this.address = res.data;
  126. for (var i = 0; i < this.address.length; i++) {
  127. this.addressList[0].push(this.address[i]);
  128. }
  129. for (var i = 0; i < this.address[0].c.length; i++) {
  130. this.addressList[1].push(this.address[0].c[i]);
  131. }
  132. for (var i = 0; i < this.address[0].c[0].c.length; i++) {
  133. this.addressList[2].push(this.address[0].c[0].c[i]);
  134. }
  135. } else {
  136. common_vendor.index.showToast({
  137. icon: "none",
  138. title: "\u8BF7\u6C42\u5931\u8D25"
  139. });
  140. }
  141. }, (rej) => {
  142. });
  143. }
  144. }
  145. };
  146. if (!Array) {
  147. const _easycom_evan_switch2 = common_vendor.resolveComponent("evan-switch");
  148. _easycom_evan_switch2();
  149. }
  150. const _easycom_evan_switch = () => "../components/evan-switch/evan-switch.js";
  151. if (!Math) {
  152. _easycom_evan_switch();
  153. }
  154. function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
  155. return {
  156. a: $data.content,
  157. b: common_vendor.o(($event) => $data.content = $event.detail.value),
  158. c: common_vendor.o(($event) => _ctx.parseAddress()),
  159. d: $data.form.realName,
  160. e: common_vendor.o(($event) => $data.form.realName = $event.detail.value),
  161. f: $data.form.phone,
  162. g: common_vendor.o(($event) => $data.form.phone = $event.detail.value),
  163. h: $data.form.address,
  164. i: common_vendor.o(($event) => $data.form.address = $event.detail.value),
  165. j: $data.multiIndex,
  166. k: $data.addressList,
  167. l: common_vendor.o((...args) => $options.pickerChange && $options.pickerChange(...args)),
  168. m: common_vendor.o((...args) => $options.pickerColumnchange && $options.pickerColumnchange(...args)),
  169. n: $data.form.detail,
  170. o: common_vendor.o(($event) => $data.form.detail = $event.detail.value),
  171. p: common_vendor.o(($event) => $data.isDefault = $event),
  172. q: common_vendor.p({
  173. activeColor: "#0bb3f2",
  174. inactiveColor: "rgba(0, 0, 0, 0.1)",
  175. modelValue: $data.isDefault
  176. }),
  177. r: common_vendor.o(($event) => $options.submit())
  178. };
  179. }
  180. var MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "C:/Users/Administrator/Desktop/\u9879\u76EE/\u76F4\u64AD/liveH5-v3/pages_user/addAddress.vue"]]);
  181. wx.createPage(MiniProgramPage);