apply.js 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. "use strict";
  2. const common_vendor = require("../../../common/vendor.js");
  3. const sheep_index = require("../../../sheep/index.js");
  4. const sheep_api_trade_order = require("../../../sheep/api/trade/order.js");
  5. const sheep_api_trade_config = require("../../../sheep/api/trade/config.js");
  6. const sheep_hooks_useGoods = require("../../../sheep/hooks/useGoods.js");
  7. const sheep_api_trade_afterSale = require("../../../sheep/api/trade/afterSale.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/index.js");
  25. require("../../../sheep/helper/test.js");
  26. require("../../../sheep/helper/digit.js");
  27. require("../../../sheep/helper/throttle.js");
  28. require("../../../sheep/platform/pay.js");
  29. require("../../../sheep/api/pay/order.js");
  30. require("../../../sheep/store/user.js");
  31. require("../../../sheep/store/cart.js");
  32. require("../../../sheep/api/trade/cart.js");
  33. require("../../../sheep/api/pay/wallet.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/util/index.js");
  39. if (!Array) {
  40. const _easycom_s_goods_item2 = common_vendor.resolveComponent("s-goods-item");
  41. const _easycom_uni_easyinput2 = common_vendor.resolveComponent("uni-easyinput");
  42. const _easycom_s_uploader2 = common_vendor.resolveComponent("s-uploader");
  43. const _easycom_uni_forms2 = common_vendor.resolveComponent("uni-forms");
  44. const _easycom_su_fixed2 = common_vendor.resolveComponent("su-fixed");
  45. const _easycom_su_popup2 = common_vendor.resolveComponent("su-popup");
  46. const _easycom_s_layout2 = common_vendor.resolveComponent("s-layout");
  47. (_easycom_s_goods_item2 + _easycom_uni_easyinput2 + _easycom_s_uploader2 + _easycom_uni_forms2 + _easycom_su_fixed2 + _easycom_su_popup2 + _easycom_s_layout2)();
  48. }
  49. const _easycom_s_goods_item = () => "../../../sheep/components/s-goods-item/s-goods-item.js";
  50. const _easycom_uni_easyinput = () => "../../../uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js";
  51. const _easycom_s_uploader = () => "../../../sheep/components/s-uploader/s-uploader.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_popup = () => "../../../sheep/ui/su-popup/su-popup.js";
  55. const _easycom_s_layout = () => "../../../sheep/components/s-layout/s-layout.js";
  56. if (!Math) {
  57. (_easycom_s_goods_item + _easycom_uni_easyinput + _easycom_s_uploader + _easycom_uni_forms + _easycom_su_fixed + _easycom_su_popup + _easycom_s_layout)();
  58. }
  59. const _sfc_main = {
  60. __name: "apply",
  61. setup(__props) {
  62. const form = common_vendor.ref(null);
  63. const state = common_vendor.reactive({
  64. orderId: 0,
  65. // 订单编号
  66. itemId: 0,
  67. // 订单项编号
  68. order: {},
  69. // 订单
  70. item: {},
  71. // 订单项
  72. config: {},
  73. // 交易配置
  74. // 售后类型
  75. wayList: [
  76. {
  77. text: "仅退款",
  78. value: "10"
  79. },
  80. {
  81. text: "退款退货",
  82. value: "20"
  83. }
  84. ],
  85. reasonList: [],
  86. // 可选的申请原因数组
  87. showModal: false,
  88. // 是否显示申请原因弹窗
  89. currentValue: ""
  90. // 当前选择的售后原因
  91. });
  92. const formData = common_vendor.reactive({
  93. way: "",
  94. applyReason: "",
  95. applyDescription: "",
  96. images: []
  97. });
  98. const rules = common_vendor.reactive({});
  99. async function submit() {
  100. sheep_index.sheep.$platform.useProvider("wechat").subscribeMessage("order_aftersale_change");
  101. let data = {
  102. orderItemId: state.itemId,
  103. refundPrice: state.item.payPrice,
  104. ...formData
  105. };
  106. const { code } = await sheep_api_trade_afterSale.AfterSaleApi.createAfterSale(data);
  107. if (code === 0) {
  108. common_vendor.index.showToast({
  109. title: "申请成功"
  110. });
  111. sheep_index.sheep.$router.go("/pages/order/aftersale/list");
  112. }
  113. }
  114. function onRefundChange(e) {
  115. formData.way = e.detail.value;
  116. state.reasonList = formData.way === "10" ? state.config.afterSaleRefundReasons || [] : state.config.afterSaleReturnReasons || [];
  117. formData.applyReason = "";
  118. state.currentValue = "";
  119. }
  120. function onChange(e) {
  121. state.currentValue = e.detail.value;
  122. }
  123. function onReason() {
  124. formData.applyReason = state.currentValue;
  125. state.showModal = false;
  126. }
  127. common_vendor.onLoad(async (options) => {
  128. if (!options.orderId || !options.itemId) {
  129. sheep_index.sheep.$helper.toast(`缺少订单信息,请检查`);
  130. return;
  131. }
  132. state.orderId = options.orderId;
  133. state.itemId = parseInt(options.itemId);
  134. const { code, data } = await sheep_api_trade_order.OrderApi.getOrder(state.orderId);
  135. if (code !== 0) {
  136. return;
  137. }
  138. state.order = data;
  139. state.item = data.items.find((item) => item.id === state.itemId) || {};
  140. if (state.order.status === 10) {
  141. state.wayList.splice(1, 1);
  142. }
  143. state.config = (await sheep_api_trade_config.TradeConfigApi.getTradeConfig()).data;
  144. });
  145. return (_ctx, _cache) => {
  146. var _a;
  147. return common_vendor.e({
  148. a: common_vendor.p({
  149. img: state.item.picUrl,
  150. title: state.item.spuName,
  151. skuText: (_a = state.item.properties) == null ? void 0 : _a.map((property) => property.valueName).join(" "),
  152. price: state.item.price,
  153. num: state.item.count
  154. }),
  155. b: common_vendor.f(state.wayList, (item, index, i0) => {
  156. return {
  157. a: formData.type === item.value,
  158. b: item.value,
  159. c: common_vendor.t(item.text),
  160. d: index
  161. };
  162. }),
  163. c: common_vendor.o(onRefundChange),
  164. d: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.item.payPrice)),
  165. e: common_vendor.o(($event) => state.showModal = true),
  166. f: formData.applyReason
  167. }, formData.applyReason ? {
  168. g: common_vendor.t(formData.applyReason)
  169. } : {}, {
  170. h: common_vendor.o(($event) => state.showModal = true),
  171. i: common_vendor.o(($event) => formData.applyDescription = $event),
  172. j: common_vendor.p({
  173. inputBorder: false,
  174. type: "textarea",
  175. maxlength: "120",
  176. autoHeight: true,
  177. placeholder: "客官~请描述您遇到的问题,建议上传照片",
  178. modelValue: formData.applyDescription
  179. }),
  180. k: common_vendor.o(($event) => formData.images = $event),
  181. l: common_vendor.p({
  182. fileMediatype: "image",
  183. limit: "9",
  184. mode: "grid",
  185. imageStyles: {
  186. width: "168rpx",
  187. height: "168rpx"
  188. },
  189. url: formData.images
  190. }),
  191. m: common_vendor.sr(form, "5be4d0ee-2,5be4d0ee-0", {
  192. "k": "form"
  193. }),
  194. n: common_vendor.o(($event) => formData = $event),
  195. o: common_vendor.p({
  196. rules,
  197. ["label-position"]: "top",
  198. modelValue: formData
  199. }),
  200. p: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.go("/pages/chat/index")),
  201. q: common_vendor.o(submit),
  202. r: common_vendor.p({
  203. bottom: true,
  204. placeholder: true
  205. }),
  206. s: common_vendor.f(state.reasonList, (item, k0, i0) => {
  207. return {
  208. a: common_vendor.t(item),
  209. b: item,
  210. c: item === state.currentValue,
  211. d: item
  212. };
  213. }),
  214. t: common_vendor.o(onChange),
  215. v: common_vendor.o(onReason),
  216. w: common_vendor.o(($event) => state.showModal = false),
  217. x: common_vendor.p({
  218. show: state.showModal,
  219. round: "10",
  220. showClose: true
  221. }),
  222. y: common_vendor.p({
  223. title: "申请售后"
  224. })
  225. });
  226. };
  227. }
  228. };
  229. const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-5be4d0ee"], ["__file", "/Users/RuHu.Xu/Desktop/mall-newfeifan-zx-app/pages/order/aftersale/apply.vue"]]);
  230. wx.createPage(MiniProgramPage);