edit.js 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. "use strict";
  2. const common_vendor = require("../../../common/vendor.js");
  3. const sheep_index = require("../../../sheep/index.js");
  4. const sheep_validate_form = require("../../../sheep/validate/form.js");
  5. const sheep_api_system_area = require("../../../sheep/api/system/area.js");
  6. const sheep_api_member_address = require("../../../sheep/api/member/address.js");
  7. require("../../../sheep/helper/index.js");
  8. require("../../../sheep/url/index.js");
  9. require("../../../sheep/store/index.js");
  10. require("../../../sheep/store/app.js");
  11. require("../../../sheep/api/promotion/diy.js");
  12. require("../../../sheep/request/index.js");
  13. require("../../../sheep/config/index.js");
  14. require("../../../sheep/platform/index.js");
  15. require("../../../sheep/platform/provider/wechat/index.js");
  16. require("../../../sheep/platform/provider/wechat/miniProgram.js");
  17. require("../../../sheep/api/member/auth.js");
  18. require("../../../sheep/api/member/social.js");
  19. require("../../../sheep/api/member/user.js");
  20. require("../../../sheep/platform/provider/apple/index.js");
  21. require("../../../sheep/platform/share.js");
  22. require("../../../sheep/router/index.js");
  23. require("../../../sheep/hooks/useModal.js");
  24. require("../../../sheep/helper/test.js");
  25. require("../../../sheep/api/member/signin.js");
  26. require("../../../sheep/helper/throttle.js");
  27. require("../../../sheep/platform/pay.js");
  28. require("../../../sheep/api/pay/order.js");
  29. require("../../../sheep/store/user.js");
  30. require("../../../sheep/store/cart.js");
  31. require("../../../sheep/api/trade/cart.js");
  32. require("../../../sheep/api/pay/wallet.js");
  33. require("../../../sheep/api/trade/order.js");
  34. require("../../../sheep/api/promotion/coupon.js");
  35. require("../../../sheep/store/sys.js");
  36. require("../../../sheep/store/modal.js");
  37. require("../../../sheep/config/zIndex.js");
  38. require("../../../sheep/helper/digit.js");
  39. if (!Array) {
  40. const _easycom_uni_easyinput2 = common_vendor.resolveComponent("uni-easyinput");
  41. const _easycom_uni_forms_item2 = common_vendor.resolveComponent("uni-forms-item");
  42. const _easycom_su_switch2 = common_vendor.resolveComponent("su-switch");
  43. const _easycom_uni_forms2 = common_vendor.resolveComponent("uni-forms");
  44. const _easycom_su_fixed2 = common_vendor.resolveComponent("su-fixed");
  45. const _easycom_su_region_picker2 = common_vendor.resolveComponent("su-region-picker");
  46. const _easycom_s_layout2 = common_vendor.resolveComponent("s-layout");
  47. (_easycom_uni_easyinput2 + _easycom_uni_forms_item2 + _easycom_su_switch2 + _easycom_uni_forms2 + _easycom_su_fixed2 + _easycom_su_region_picker2 + _easycom_s_layout2)();
  48. }
  49. const _easycom_uni_easyinput = () => "../../../uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js";
  50. const _easycom_uni_forms_item = () => "../../../uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js";
  51. const _easycom_su_switch = () => "../../../sheep/ui/su-switch/su-switch.js";
  52. const _easycom_uni_forms = () => "../../../uni_modules/uni-forms/components/uni-forms/uni-forms.js";
  53. const _easycom_su_fixed = () => "../../../sheep/ui/su-fixed/su-fixed.js";
  54. const _easycom_su_region_picker = () => "../../../sheep/ui/su-region-picker/su-region-picker.js";
  55. const _easycom_s_layout = () => "../../../sheep/components/s-layout/s-layout.js";
  56. if (!Math) {
  57. (_easycom_uni_easyinput + _easycom_uni_forms_item + _easycom_su_switch + _easycom_uni_forms + _easycom_su_fixed + _easycom_su_region_picker + _easycom_s_layout)();
  58. }
  59. const _sfc_main = {
  60. __name: "edit",
  61. setup(__props) {
  62. const addressFormRef = common_vendor.ref(null);
  63. const state = common_vendor.reactive({
  64. showRegion: false,
  65. model: {
  66. name: "",
  67. mobile: "",
  68. detailAddress: "",
  69. defaultStatus: false,
  70. areaName: "",
  71. addressType: 2
  72. },
  73. rules: {}
  74. });
  75. const rules = {
  76. name: {
  77. rules: [{
  78. required: true,
  79. errorMessage: "请输入收货人姓名"
  80. }]
  81. },
  82. mobile: sheep_validate_form.mobile,
  83. detailAddress: {
  84. rules: [{
  85. required: true,
  86. errorMessage: "请输入详细地址"
  87. }]
  88. }
  89. };
  90. const onRegionConfirm = (e) => {
  91. state.model.areaName = `${e.province_name} ${e.city_name} ${e.district_name}`;
  92. state.model.areaId = e.district_id;
  93. state.showRegion = false;
  94. };
  95. const getAreaData = () => {
  96. if (common_vendor._.isEmpty(common_vendor.index.getStorageSync("areaData"))) {
  97. sheep_api_system_area.AreaApi.getAreaTree().then((res) => {
  98. if (res.code === 0) {
  99. common_vendor.index.setStorageSync("areaData", res.data);
  100. }
  101. });
  102. }
  103. };
  104. const onSave = async () => {
  105. console.log(state);
  106. const validate = await common_vendor.unref(addressFormRef).validate().catch((error) => {
  107. console.log("error: ", error);
  108. });
  109. if (!validate) {
  110. return;
  111. }
  112. const formData = {
  113. ...state.model
  114. };
  115. const {
  116. code
  117. } = state.model.id > 0 ? await sheep_api_member_address.AddressApi.updateAddress(formData) : await sheep_api_member_address.AddressApi.createAddress(formData);
  118. if (code === 0) {
  119. sheep_index.sheep.$router.back();
  120. }
  121. };
  122. const onDelete = () => {
  123. common_vendor.index.showModal({
  124. title: "提示",
  125. content: "确认删除此收货地址吗?",
  126. success: async function(res) {
  127. if (!res.confirm) {
  128. return;
  129. }
  130. const {
  131. code
  132. } = await sheep_api_member_address.AddressApi.deleteAddress(state.model.id, 2);
  133. if (code === 0) {
  134. sheep_index.sheep.$router.back();
  135. }
  136. }
  137. });
  138. };
  139. common_vendor.onLoad(async (options) => {
  140. getAreaData();
  141. if (options.id) {
  142. let {
  143. code,
  144. data
  145. } = await sheep_api_member_address.AddressApi.getAddress(options.id, 2);
  146. if (code !== 0) {
  147. return;
  148. }
  149. state.model = data;
  150. }
  151. if (options.data) {
  152. let data = JSON.parse(options.data);
  153. const areaData = common_vendor.index.getStorageSync("areaData");
  154. let provinceArr = areaData.filter((item) => item.name == data.province_name);
  155. data.province_id = provinceArr[0].id;
  156. let provinceArr2 = provinceArr[0].children.filter((item) => item.name == data.city_name);
  157. data.city_id = provinceArr2[0].id;
  158. let provinceArr3 = provinceArr2[0].children.filter((item) => item.name == data.district_name);
  159. data.district_id = provinceArr3[0].id;
  160. state.model = {
  161. name: data.consignee,
  162. mobile: data.mobile,
  163. detailAddress: data.address,
  164. defaultStatus: data.is_default,
  165. areaName: data.province_name + " " + data.city_name + " " + data.district_name,
  166. areaId: data.district_id
  167. };
  168. }
  169. });
  170. return (_ctx, _cache) => {
  171. return common_vendor.e({
  172. a: common_vendor.o(($event) => state.model.name = $event),
  173. b: common_vendor.p({
  174. placeholder: "请填写收货人姓名",
  175. inputBorder: false,
  176. placeholderStyle: "color:#BBBBBB;font-size:30rpx;font-weight:400;line-height:normal",
  177. modelValue: state.model.name
  178. }),
  179. c: common_vendor.p({
  180. name: "name",
  181. label: "收货人"
  182. }),
  183. d: common_vendor.o(($event) => state.model.mobile = $event),
  184. e: common_vendor.p({
  185. type: "number",
  186. placeholder: "请输入手机号",
  187. inputBorder: false,
  188. placeholderStyle: "color:#BBBBBB;font-size:30rpx;font-weight:400;line-height:normal",
  189. modelValue: state.model.mobile
  190. }),
  191. f: common_vendor.p({
  192. name: "mobile",
  193. label: "手机号"
  194. }),
  195. g: common_vendor.o(($event) => state.model.detailAddress = $event),
  196. h: common_vendor.p({
  197. inputBorder: false,
  198. type: "textarea",
  199. placeholderStyle: "color:#BBBBBB;font-size:30rpx;font-weight:400;line-height:normal",
  200. placeholder: "请输入详细地址",
  201. clearable: true,
  202. modelValue: state.model.detailAddress
  203. }),
  204. i: common_vendor.p({
  205. name: "detailAddress",
  206. label: "详细地址",
  207. formItemStyle: {
  208. alignItems: "flex-start"
  209. },
  210. labelStyle: {
  211. lineHeight: "5em"
  212. }
  213. }),
  214. j: common_vendor.o(($event) => state.model.defaultStatus = $event),
  215. k: common_vendor.p({
  216. modelValue: state.model.defaultStatus
  217. }),
  218. l: common_vendor.sr(addressFormRef, "bc658567-1,bc658567-0", {
  219. "k": "addressFormRef"
  220. }),
  221. m: common_vendor.o(($event) => state.model = $event),
  222. n: common_vendor.p({
  223. rules,
  224. validateTrigger: "bind",
  225. labelWidth: "160",
  226. labelAlign: "left",
  227. border: true,
  228. labelStyle: {
  229. fontWeight: "bold"
  230. },
  231. modelValue: state.model
  232. }),
  233. o: common_vendor.o(onSave),
  234. p: state.model.id
  235. }, state.model.id ? {
  236. q: common_vendor.o(onDelete)
  237. } : {}, {
  238. r: common_vendor.p({
  239. bottom: true,
  240. opacity: false,
  241. bg: "",
  242. placeholder: true,
  243. noFixed: false,
  244. index: 10
  245. }),
  246. s: common_vendor.o(($event) => state.showRegion = false),
  247. t: common_vendor.o(onRegionConfirm),
  248. v: common_vendor.p({
  249. show: state.showRegion
  250. }),
  251. w: common_vendor.p({
  252. title: state.model.id ? "编辑虚拟地址" : "新增虚拟地址"
  253. })
  254. });
  255. };
  256. }
  257. };
  258. const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-bc658567"], ["__file", "D:/zx/mall-front-app/pages/user/dummyAddress/edit.vue"]]);
  259. wx.createPage(MiniProgramPage);