edit.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  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_uni_icons2 = common_vendor.resolveComponent("uni-icons");
  43. const _easycom_su_switch2 = common_vendor.resolveComponent("su-switch");
  44. const _easycom_uni_forms2 = common_vendor.resolveComponent("uni-forms");
  45. const _easycom_su_fixed2 = common_vendor.resolveComponent("su-fixed");
  46. const _easycom_su_region_picker2 = common_vendor.resolveComponent("su-region-picker");
  47. const _easycom_s_layout2 = common_vendor.resolveComponent("s-layout");
  48. (_easycom_uni_easyinput2 + _easycom_uni_forms_item2 + _easycom_uni_icons2 + _easycom_su_switch2 + _easycom_uni_forms2 + _easycom_su_fixed2 + _easycom_su_region_picker2 + _easycom_s_layout2)();
  49. }
  50. const _easycom_uni_easyinput = () => "../../../uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js";
  51. const _easycom_uni_forms_item = () => "../../../uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js";
  52. const _easycom_uni_icons = () => "../../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
  53. const _easycom_su_switch = () => "../../../sheep/ui/su-switch/su-switch.js";
  54. const _easycom_uni_forms = () => "../../../uni_modules/uni-forms/components/uni-forms/uni-forms.js";
  55. const _easycom_su_fixed = () => "../../../sheep/ui/su-fixed/su-fixed.js";
  56. const _easycom_su_region_picker = () => "../../../sheep/ui/su-region-picker/su-region-picker.js";
  57. const _easycom_s_layout = () => "../../../sheep/components/s-layout/s-layout.js";
  58. if (!Math) {
  59. (_easycom_uni_easyinput + _easycom_uni_forms_item + _easycom_uni_icons + _easycom_su_switch + _easycom_uni_forms + _easycom_su_fixed + _easycom_su_region_picker + _easycom_s_layout)();
  60. }
  61. const _sfc_main = {
  62. __name: "edit",
  63. setup(__props) {
  64. const addressFormRef = common_vendor.ref(null);
  65. const state = common_vendor.reactive({
  66. showRegion: false,
  67. model: {
  68. name: "",
  69. mobile: "",
  70. detailAddress: "",
  71. defaultStatus: false,
  72. areaName: ""
  73. },
  74. rules: {}
  75. });
  76. const rules = {
  77. name: {
  78. rules: [{
  79. required: true,
  80. errorMessage: "请输入收货人姓名"
  81. }]
  82. },
  83. mobile: sheep_validate_form.mobile,
  84. detailAddress: {
  85. rules: [{
  86. required: true,
  87. errorMessage: "请输入详细地址"
  88. }]
  89. },
  90. areaName: {
  91. rules: [{
  92. required: true,
  93. errorMessage: "请选择您的位置"
  94. }]
  95. }
  96. };
  97. const onRegionConfirm = (e) => {
  98. state.model.areaName = `${e.province_name} ${e.city_name} ${e.district_name}`;
  99. state.model.areaId = e.district_id;
  100. state.showRegion = false;
  101. };
  102. const getAreaData = () => {
  103. if (common_vendor._.isEmpty(common_vendor.index.getStorageSync("areaData"))) {
  104. sheep_api_system_area.AreaApi.getAreaTree().then((res) => {
  105. if (res.code === 0) {
  106. common_vendor.index.setStorageSync("areaData", res.data);
  107. }
  108. });
  109. }
  110. };
  111. const onSave = async () => {
  112. console.log(state);
  113. const validate = await common_vendor.unref(addressFormRef).validate().catch((error) => {
  114. console.log("error: ", error);
  115. });
  116. if (!validate) {
  117. return;
  118. }
  119. const formData = {
  120. ...state.model
  121. };
  122. const {
  123. code
  124. } = state.model.id > 0 ? await sheep_api_member_address.AddressApi.updateAddress(formData) : await sheep_api_member_address.AddressApi.createAddress(formData);
  125. if (code === 0) {
  126. sheep_index.sheep.$router.back();
  127. }
  128. };
  129. const onDelete = () => {
  130. common_vendor.index.showModal({
  131. title: "提示",
  132. content: "确认删除此收货地址吗?",
  133. success: async function(res) {
  134. if (!res.confirm) {
  135. return;
  136. }
  137. const {
  138. code
  139. } = await sheep_api_member_address.AddressApi.deleteAddress(state.model.id);
  140. if (code === 0) {
  141. sheep_index.sheep.$router.back();
  142. }
  143. }
  144. });
  145. };
  146. common_vendor.onLoad(async (options) => {
  147. getAreaData();
  148. if (options.id) {
  149. let {
  150. code,
  151. data
  152. } = await sheep_api_member_address.AddressApi.getAddress(options.id);
  153. if (code !== 0) {
  154. return;
  155. }
  156. state.model = data;
  157. }
  158. if (options.data) {
  159. let data = JSON.parse(options.data);
  160. const areaData = common_vendor.index.getStorageSync("areaData");
  161. let provinceArr = areaData.filter((item) => item.name == data.province_name);
  162. data.province_id = provinceArr[0].id;
  163. let provinceArr2 = provinceArr[0].children.filter((item) => item.name == data.city_name);
  164. data.city_id = provinceArr2[0].id;
  165. let provinceArr3 = provinceArr2[0].children.filter((item) => item.name == data.district_name);
  166. data.district_id = provinceArr3[0].id;
  167. state.model = {
  168. name: data.consignee,
  169. mobile: data.mobile,
  170. detailAddress: data.address,
  171. defaultStatus: data.is_default,
  172. areaName: data.province_name + " " + data.city_name + " " + data.district_name,
  173. areaId: data.district_id
  174. };
  175. }
  176. });
  177. return (_ctx, _cache) => {
  178. return common_vendor.e({
  179. a: common_vendor.o(($event) => state.model.name = $event),
  180. b: common_vendor.p({
  181. placeholder: "请填写收货人姓名",
  182. inputBorder: false,
  183. placeholderStyle: "color:#BBBBBB;font-size:30rpx;font-weight:400;line-height:normal",
  184. modelValue: state.model.name
  185. }),
  186. c: common_vendor.p({
  187. name: "name",
  188. label: "收货人"
  189. }),
  190. d: common_vendor.o(($event) => state.model.mobile = $event),
  191. e: common_vendor.p({
  192. type: "number",
  193. placeholder: "请输入手机号",
  194. inputBorder: false,
  195. placeholderStyle: "color:#BBBBBB;font-size:30rpx;font-weight:400;line-height:normal",
  196. modelValue: state.model.mobile
  197. }),
  198. f: common_vendor.p({
  199. name: "mobile",
  200. label: "手机号"
  201. }),
  202. g: common_vendor.p({
  203. type: "right"
  204. }),
  205. h: common_vendor.o(($event) => state.model.areaName = $event),
  206. i: common_vendor.p({
  207. disabled: true,
  208. inputBorder: false,
  209. styles: {
  210. disableColor: "#fff",
  211. color: "#333"
  212. },
  213. placeholderStyle: "color:#BBBBBB;font-size:30rpx;font-weight:400;line-height:normal",
  214. placeholder: "请选择省市区",
  215. modelValue: state.model.areaName
  216. }),
  217. j: common_vendor.o(($event) => state.showRegion = true),
  218. k: common_vendor.p({
  219. name: "areaName",
  220. label: "省市区"
  221. }),
  222. l: common_vendor.o(($event) => state.model.detailAddress = $event),
  223. m: common_vendor.p({
  224. inputBorder: false,
  225. type: "textarea",
  226. placeholderStyle: "color:#BBBBBB;font-size:30rpx;font-weight:400;line-height:normal",
  227. placeholder: "请输入详细地址",
  228. clearable: true,
  229. modelValue: state.model.detailAddress
  230. }),
  231. n: common_vendor.p({
  232. name: "detailAddress",
  233. label: "详细地址",
  234. formItemStyle: {
  235. alignItems: "flex-start"
  236. },
  237. labelStyle: {
  238. lineHeight: "5em"
  239. }
  240. }),
  241. o: common_vendor.o(($event) => state.model.defaultStatus = $event),
  242. p: common_vendor.p({
  243. modelValue: state.model.defaultStatus
  244. }),
  245. q: common_vendor.sr(addressFormRef, "e04c42e1-1,e04c42e1-0", {
  246. "k": "addressFormRef"
  247. }),
  248. r: common_vendor.o(($event) => state.model = $event),
  249. s: common_vendor.p({
  250. rules,
  251. validateTrigger: "bind",
  252. labelWidth: "160",
  253. labelAlign: "left",
  254. border: true,
  255. labelStyle: {
  256. fontWeight: "bold"
  257. },
  258. modelValue: state.model
  259. }),
  260. t: common_vendor.o(onSave),
  261. v: state.model.id
  262. }, state.model.id ? {
  263. w: common_vendor.o(onDelete)
  264. } : {}, {
  265. x: common_vendor.p({
  266. bottom: true,
  267. opacity: false,
  268. bg: "",
  269. placeholder: true,
  270. noFixed: false,
  271. index: 10
  272. }),
  273. y: common_vendor.o(($event) => state.showRegion = false),
  274. z: common_vendor.o(onRegionConfirm),
  275. A: common_vendor.p({
  276. show: state.showRegion
  277. }),
  278. B: common_vendor.p({
  279. title: state.model.id ? "编辑地址" : "新增地址"
  280. })
  281. });
  282. };
  283. }
  284. };
  285. const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-e04c42e1"], ["__file", "D:/zx/mall-front-app/pages/user/address/edit.vue"]]);
  286. wx.createPage(MiniProgramPage);