edit.js 12 KB

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