otherlist.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411
  1. "use strict";
  2. const common_vendor = require("../../common/vendor.js");
  3. const sheep_hooks_useGoods = require("../../sheep/hooks/useGoods.js");
  4. const sheep_index = require("../../sheep/index.js");
  5. require("../../sheep/url/index.js");
  6. require("../../sheep/store/index.js");
  7. require("../../sheep/store/app.js");
  8. require("../../sheep/api/promotion/diy.js");
  9. require("../../sheep/request/index.js");
  10. require("../../sheep/config/index.js");
  11. require("../../sheep/platform/index.js");
  12. require("../../sheep/platform/provider/wechat/index.js");
  13. require("../../sheep/platform/provider/wechat/miniProgram.js");
  14. require("../../sheep/api/member/auth.js");
  15. require("../../sheep/api/member/social.js");
  16. require("../../sheep/api/member/user.js");
  17. require("../../sheep/platform/provider/apple/index.js");
  18. require("../../sheep/platform/share.js");
  19. require("../../sheep/router/index.js");
  20. require("../../sheep/hooks/useModal.js");
  21. require("../../sheep/helper/index.js");
  22. require("../../sheep/helper/test.js");
  23. require("../../sheep/helper/digit.js");
  24. require("../../sheep/api/member/signin.js");
  25. require("../../sheep/helper/throttle.js");
  26. require("../../sheep/platform/pay.js");
  27. require("../../sheep/api/pay/order.js");
  28. require("../../sheep/store/user.js");
  29. require("../../sheep/store/cart.js");
  30. require("../../sheep/api/trade/cart.js");
  31. require("../../sheep/api/pay/wallet.js");
  32. require("../../sheep/api/trade/order.js");
  33. require("../../sheep/api/promotion/coupon.js");
  34. require("../../sheep/store/sys.js");
  35. require("../../sheep/store/modal.js");
  36. require("../../sheep/util/index.js");
  37. require("../../sheep/config/zIndex.js");
  38. if (!Array) {
  39. const _easycom_su_tabs2 = common_vendor.resolveComponent("su-tabs");
  40. const _easycom_su_sticky2 = common_vendor.resolveComponent("su-sticky");
  41. const _easycom_s_empty2 = common_vendor.resolveComponent("s-empty");
  42. const _easycom_s_goods_item2 = common_vendor.resolveComponent("s-goods-item");
  43. const _easycom_uni_load_more2 = common_vendor.resolveComponent("uni-load-more");
  44. const _easycom_s_layout2 = common_vendor.resolveComponent("s-layout");
  45. (_easycom_su_tabs2 + _easycom_su_sticky2 + _easycom_s_empty2 + _easycom_s_goods_item2 + _easycom_uni_load_more2 + _easycom_s_layout2)();
  46. }
  47. const _easycom_su_tabs = () => "../../sheep/ui/su-tabs/su-tabs.js";
  48. const _easycom_su_sticky = () => "../../sheep/ui/su-sticky/su-sticky.js";
  49. const _easycom_s_empty = () => "../../sheep/components/s-empty/s-empty.js";
  50. const _easycom_s_goods_item = () => "../../sheep/components/s-goods-item/s-goods-item.js";
  51. const _easycom_uni_load_more = () => "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js";
  52. const _easycom_s_layout = () => "../../sheep/components/s-layout/s-layout.js";
  53. if (!Math) {
  54. (_easycom_su_tabs + _easycom_su_sticky + _easycom_s_empty + _easycom_s_goods_item + _easycom_uni_load_more + _easycom_s_layout)();
  55. }
  56. const _sfc_main = {
  57. __name: "otherlist",
  58. setup(__props) {
  59. const tradeManaged = common_vendor.computed(() => sheep_index.sheep.$store("app").has_wechat_trade_managed);
  60. const pagination = {
  61. data: [],
  62. current_page: 1,
  63. total: 1,
  64. last_page: 1
  65. };
  66. const state = common_vendor.reactive({
  67. currentTab: 0,
  68. pagination: {
  69. data: [],
  70. current_page: 1,
  71. total: 1,
  72. last_page: 1
  73. },
  74. loadStatus: "",
  75. deleteOrderId: 0,
  76. error: 0
  77. });
  78. const tabMaps = [
  79. {
  80. name: "全部",
  81. value: "all"
  82. },
  83. {
  84. name: "待付款",
  85. value: "unpaid"
  86. },
  87. {
  88. name: "待发货",
  89. value: "nosend"
  90. },
  91. {
  92. name: "待收货",
  93. value: "noget"
  94. },
  95. {
  96. name: "待评价",
  97. value: "nocomment"
  98. }
  99. ];
  100. function onTabsChange(e) {
  101. if (state.currentTab === e.index)
  102. return;
  103. state.pagination = pagination;
  104. state.currentTab = e.index;
  105. getOrderList();
  106. }
  107. function onOrderDetail(orderSN) {
  108. sheep_index.sheep.$router.go("/pages/order/detail", {
  109. orderSN
  110. });
  111. }
  112. function onOrderGroupon(order) {
  113. sheep_index.sheep.$router.go("/pages/activity/groupon/detail", {
  114. id: order.ext.groupon_id
  115. });
  116. }
  117. function onOrderInvoice(invoiceId) {
  118. sheep_index.sheep.$router.go("/pages/order/invoice", {
  119. invoiceId
  120. });
  121. }
  122. function onPay(orderSN) {
  123. sheep_index.sheep.$router.go("/pages/pay/index", {
  124. orderSN
  125. });
  126. }
  127. function onComment(orderSN) {
  128. sheep_index.sheep.$router.go("/pages/goods/comment/add", {
  129. orderSN
  130. });
  131. }
  132. async function onConfirm(order, ignore = false) {
  133. if (sheep_index.sheep.$platform.name === "WechatMiniProgram" && !common_vendor.lodashExports.isEmpty(order.wechat_extra_data) && tradeManaged.value === 1 && !ignore) {
  134. mpConfirm(order);
  135. return;
  136. }
  137. const { error } = await sheep_index.sheep.$api.order.confirm(order.id);
  138. if (error === 0) {
  139. state.pagination = pagination;
  140. getOrderList();
  141. }
  142. }
  143. function mpConfirm(order) {
  144. if (!common_vendor.wx$1.openBusinessView) {
  145. sheep_index.sheep.$helper.toast(`请升级微信版本`);
  146. return;
  147. }
  148. common_vendor.wx$1.openBusinessView({
  149. businessType: "weappOrderConfirm",
  150. extraData: {
  151. merchant_trade_no: order.wechat_extra_data.merchant_trade_no,
  152. transaction_id: order.wechat_extra_data.transaction_id
  153. },
  154. success(response) {
  155. console.log("success:", response);
  156. if (response.errMsg === "openBusinessView:ok") {
  157. if (response.extraData.status === "success") {
  158. onConfirm(order, true);
  159. }
  160. }
  161. },
  162. fail(error) {
  163. console.log("error:", error);
  164. },
  165. complete(result) {
  166. console.log("result:", result);
  167. }
  168. });
  169. }
  170. async function onExpress(orderId) {
  171. sheep_index.sheep.$router.go("/pages/order/express/list", {
  172. orderId
  173. });
  174. }
  175. async function onCancel(orderId) {
  176. common_vendor.index.showModal({
  177. title: "提示",
  178. content: "确定要取消订单吗?",
  179. success: async function(res) {
  180. if (res.confirm) {
  181. const { error, data } = await sheep_index.sheep.$api.order.cancel(orderId);
  182. if (error === 0) {
  183. let index = state.pagination.data.findIndex((order) => order.id === orderId);
  184. state.pagination.data[index] = data;
  185. }
  186. }
  187. }
  188. });
  189. }
  190. function onDelete(orderId) {
  191. common_vendor.index.showModal({
  192. title: "提示",
  193. content: "确定要删除订单吗?",
  194. success: async function(res) {
  195. if (res.confirm) {
  196. const { error, data } = await sheep_index.sheep.$api.order.delete(orderId);
  197. if (error === 0) {
  198. let index = state.pagination.data.findIndex((order) => order.id === orderId);
  199. state.pagination.data.splice(index, 1);
  200. }
  201. }
  202. }
  203. });
  204. }
  205. async function onRefund(orderId) {
  206. common_vendor.index.showModal({
  207. title: "提示",
  208. content: "确定要申请退款吗?",
  209. success: async function(res) {
  210. if (res.confirm) {
  211. sheep_index.sheep.$platform.useProvider("wechat").subscribeMessage("order_refund");
  212. const { error, data } = await sheep_index.sheep.$api.order.applyRefund(orderId);
  213. if (error === 0) {
  214. let index = state.pagination.data.findIndex((order) => order.id === orderId);
  215. state.pagination.data[index] = data;
  216. }
  217. }
  218. }
  219. });
  220. }
  221. async function getOrderList(page = 1, list_rows = 5) {
  222. state.loadStatus = "loading";
  223. let res = await sheep_index.sheep.$api.order.list({
  224. type: tabMaps[state.currentTab].value,
  225. list_rows,
  226. page
  227. });
  228. state.error = res.error;
  229. if (res.error === 0) {
  230. let orderList = common_vendor._.concat(state.pagination.data, res.data.data);
  231. state.pagination = {
  232. ...res.data,
  233. data: orderList
  234. };
  235. if (state.pagination.current_page < state.pagination.last_page) {
  236. state.loadStatus = "more";
  237. } else {
  238. state.loadStatus = "noMore";
  239. }
  240. }
  241. }
  242. common_vendor.onLoad(async (options) => {
  243. if (options.type) {
  244. state.currentTab = options.type;
  245. }
  246. getOrderList();
  247. });
  248. function loadmore() {
  249. if (state.loadStatus !== "noMore") {
  250. getOrderList(state.pagination.current_page + 1);
  251. }
  252. }
  253. common_vendor.onReachBottom(() => {
  254. loadmore();
  255. });
  256. common_vendor.onPullDownRefresh(() => {
  257. state.pagination = pagination;
  258. getOrderList();
  259. setTimeout(function() {
  260. common_vendor.index.stopPullDownRefresh();
  261. }, 800);
  262. });
  263. return (_ctx, _cache) => {
  264. return common_vendor.e({
  265. a: common_vendor.o(onTabsChange),
  266. b: common_vendor.p({
  267. list: tabMaps,
  268. scrollable: false,
  269. current: state.currentTab
  270. }),
  271. c: common_vendor.p({
  272. bgColor: "#fff"
  273. }),
  274. d: state.pagination.total === 0
  275. }, state.pagination.total === 0 ? {
  276. e: common_vendor.p({
  277. icon: "/static/order-empty.png",
  278. text: "暂无订单"
  279. })
  280. } : {}, {
  281. f: state.pagination.total > 0
  282. }, state.pagination.total > 0 ? {
  283. g: common_vendor.f(state.pagination.data, (order, k0, i0) => {
  284. return common_vendor.e({
  285. a: common_vendor.t(order.order_sn),
  286. b: common_vendor.t(order.status_text),
  287. c: common_vendor.n(common_vendor.unref(sheep_hooks_useGoods.formatOrderColor)(order.status_code)),
  288. d: common_vendor.f(order.items, (item, k1, i1) => {
  289. return common_vendor.e({
  290. a: item.btns.includes("aftersale")
  291. }, item.btns.includes("aftersale") ? {
  292. b: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.go("/pages/order/aftersale/apply", {
  293. item: JSON.stringify(item)
  294. }), item.id)
  295. } : {}, {
  296. c: item.btns.includes("re_aftersale")
  297. }, item.btns.includes("re_aftersale") ? {
  298. d: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.go("/pages/order/aftersale/apply", {
  299. item: JSON.stringify(item)
  300. }), item.id)
  301. } : {}, {
  302. e: item.btns.includes("aftersale_info")
  303. }, item.btns.includes("aftersale_info") ? {
  304. f: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.go("/pages/order/aftersale/detail", {
  305. id: item.ext.aftersale_id
  306. }), item.id)
  307. } : {}, {
  308. g: item.btns.includes("buy_again")
  309. }, item.btns.includes("buy_again") ? {
  310. h: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.go("/pages/goods/index", {
  311. id: item.goods_id
  312. }), item.id)
  313. } : {}, {
  314. i: "ad14ec43-4-" + i0 + "-" + i1 + ",ad14ec43-0",
  315. j: common_vendor.p({
  316. img: item.goods_image,
  317. title: item.goods_title,
  318. skuText: item.goods_sku_text,
  319. price: item.goods_price,
  320. score: order.score_amount,
  321. num: item.goods_num
  322. }),
  323. k: item.id
  324. });
  325. }),
  326. e: order.total_discount_fee > 0
  327. }, order.total_discount_fee > 0 ? {
  328. f: common_vendor.t(order.total_discount_fee)
  329. } : {}, {
  330. g: common_vendor.t(order.dispatch_amount),
  331. h: common_vendor.t(order.order_amount),
  332. i: order.score_amount
  333. }, order.score_amount ? {} : {}, {
  334. j: order.score_amount
  335. }, order.score_amount ? {
  336. k: common_vendor.unref(sheep_index.sheep).$url.static("/static/images/score1.svg"),
  337. l: common_vendor.t(order.score_amount)
  338. } : {}, {
  339. m: order.btns.includes("groupon")
  340. }, order.btns.includes("groupon") ? {
  341. n: common_vendor.t(order.status_code === "groupon_ing" ? "邀请拼团" : "拼团详情"),
  342. o: common_vendor.o(($event) => onOrderGroupon(order), order.id)
  343. } : {}, {
  344. p: order.btns.includes("invoice")
  345. }, order.btns.includes("invoice") ? {
  346. q: common_vendor.o(($event) => {
  347. var _a;
  348. return onOrderInvoice((_a = order.invoice) == null ? void 0 : _a.id);
  349. }, order.id)
  350. } : {}, {
  351. r: order.btns.length === 0
  352. }, order.btns.length === 0 ? {
  353. s: common_vendor.o(($event) => onOrderDetail(order.order_sn), order.id)
  354. } : {}, {
  355. t: order.btns.includes("confirm")
  356. }, order.btns.includes("confirm") ? {
  357. v: common_vendor.o(($event) => onConfirm(order), order.id)
  358. } : {}, {
  359. w: order.btns.includes("express")
  360. }, order.btns.includes("express") ? {
  361. x: common_vendor.o(($event) => onExpress(order.id), order.id)
  362. } : {}, {
  363. y: order.btns.includes("apply_refund")
  364. }, order.btns.includes("apply_refund") ? {
  365. z: common_vendor.o(($event) => onRefund(order.id), order.id)
  366. } : {}, {
  367. A: order.btns.includes("re_apply_refund")
  368. }, order.btns.includes("re_apply_refund") ? {
  369. B: common_vendor.o(($event) => onRefund(order.id), order.id)
  370. } : {}, {
  371. C: order.btns.includes("cancel")
  372. }, order.btns.includes("cancel") ? {
  373. D: common_vendor.o(($event) => onCancel(order.id), order.id)
  374. } : {}, {
  375. E: order.btns.includes("comment")
  376. }, order.btns.includes("comment") ? {
  377. F: common_vendor.o(($event) => onComment(order.order_sn), order.id)
  378. } : {}, {
  379. G: order.btns.includes("delete")
  380. }, order.btns.includes("delete") ? {
  381. H: common_vendor.o(($event) => onDelete(order.id), order.id)
  382. } : {}, {
  383. I: order.btns.includes("pay")
  384. }, order.btns.includes("pay") ? {
  385. J: common_vendor.o(($event) => onPay(order.order_sn), order.id)
  386. } : {}, {
  387. K: common_vendor.n(order.btns.length > 3 ? "ss-row-between" : "ss-row-right"),
  388. L: order.id,
  389. M: common_vendor.o(($event) => onOrderDetail(order.order_sn), order.id)
  390. });
  391. })
  392. } : {}, {
  393. h: state.pagination.total > 0
  394. }, state.pagination.total > 0 ? {
  395. i: common_vendor.o(loadmore),
  396. j: common_vendor.p({
  397. status: state.loadStatus,
  398. ["content-text"]: {
  399. contentdown: "上拉加载更多"
  400. }
  401. })
  402. } : {}, {
  403. k: common_vendor.p({
  404. title: "我的订单"
  405. })
  406. });
  407. };
  408. }
  409. };
  410. const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-ad14ec43"], ["__file", "D:/zx/mall-front-app/pages/order/otherlist.vue"]]);
  411. wx.createPage(MiniProgramPage);