cart.js 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. "use strict";
  2. const common_vendor = require("../../common/vendor.js");
  3. const sheep_index = require("../../sheep/index.js");
  4. require("../../sheep/url/index.js");
  5. require("../../sheep/store/index.js");
  6. require("../../sheep/store/app.js");
  7. require("../../sheep/api/promotion/diy.js");
  8. require("../../sheep/request/index.js");
  9. require("../../sheep/config/index.js");
  10. require("../../sheep/platform/index.js");
  11. require("../../sheep/platform/provider/wechat/index.js");
  12. require("../../sheep/platform/provider/wechat/miniProgram.js");
  13. require("../../sheep/api/member/auth.js");
  14. require("../../sheep/api/member/social.js");
  15. require("../../sheep/api/member/user.js");
  16. require("../../sheep/platform/provider/apple/index.js");
  17. require("../../sheep/platform/share.js");
  18. require("../../sheep/router/index.js");
  19. require("../../sheep/hooks/useModal.js");
  20. require("../../sheep/helper/index.js");
  21. require("../../sheep/helper/test.js");
  22. require("../../sheep/helper/digit.js");
  23. require("../../sheep/helper/throttle.js");
  24. require("../../sheep/platform/pay.js");
  25. require("../../sheep/api/pay/order.js");
  26. require("../../sheep/store/user.js");
  27. require("../../sheep/store/cart.js");
  28. require("../../sheep/api/trade/cart.js");
  29. require("../../sheep/api/pay/wallet.js");
  30. require("../../sheep/api/trade/order.js");
  31. require("../../sheep/api/promotion/coupon.js");
  32. require("../../sheep/store/sys.js");
  33. require("../../sheep/store/modal.js");
  34. require("../../sheep/config/zIndex.js");
  35. if (!Array) {
  36. const _easycom_s_empty2 = common_vendor.resolveComponent("s-empty");
  37. const _easycom_su_number_box2 = common_vendor.resolveComponent("su-number-box");
  38. const _easycom_s_goods_item2 = common_vendor.resolveComponent("s-goods-item");
  39. const _easycom_su_fixed2 = common_vendor.resolveComponent("su-fixed");
  40. const _easycom_s_layout2 = common_vendor.resolveComponent("s-layout");
  41. (_easycom_s_empty2 + _easycom_su_number_box2 + _easycom_s_goods_item2 + _easycom_su_fixed2 + _easycom_s_layout2)();
  42. }
  43. const _easycom_s_empty = () => "../../sheep/components/s-empty/s-empty.js";
  44. const _easycom_su_number_box = () => "../../sheep/ui/su-number-box/su-number-box.js";
  45. const _easycom_s_goods_item = () => "../../sheep/components/s-goods-item/s-goods-item.js";
  46. const _easycom_su_fixed = () => "../../sheep/ui/su-fixed/su-fixed.js";
  47. const _easycom_s_layout = () => "../../sheep/components/s-layout/s-layout.js";
  48. if (!Math) {
  49. (_easycom_s_empty + _easycom_su_number_box + _easycom_s_goods_item + _easycom_su_fixed + _easycom_s_layout)();
  50. }
  51. const _sfc_main = {
  52. __name: "cart",
  53. setup(__props) {
  54. common_vendor.useCssVars((_ctx) => ({
  55. "6cd98758": common_vendor.unref(sys_navBar)
  56. }));
  57. const sys_navBar = sheep_index.sheep.$platform.navbar;
  58. const cart = sheep_index.sheep.$store("cart");
  59. const state = common_vendor.reactive({
  60. editMode: false,
  61. list: common_vendor.computed(() => cart.list),
  62. selectedList: [],
  63. selectedIds: common_vendor.computed(() => cart.selectedIds),
  64. isAllSelected: common_vendor.computed(() => cart.isAllSelected),
  65. totalPriceSelected: common_vendor.computed(() => cart.totalPriceSelected)
  66. });
  67. function onSelectSingle(id) {
  68. console.log("单选");
  69. cart.selectSingle(id);
  70. }
  71. function onSelectAll() {
  72. cart.selectAll(!state.isAllSelected);
  73. }
  74. function onConfirm() {
  75. let items = [];
  76. let goods_list = [];
  77. state.selectedList = state.list.filter((item) => state.selectedIds.includes(item.id));
  78. state.selectedList.map((item) => {
  79. console.log(item, "便利");
  80. items.push({
  81. skuId: item.sku.id,
  82. count: item.count,
  83. cartId: item.id
  84. });
  85. goods_list.push({
  86. // goods_id: item.goods_id,
  87. goods_id: item.spu.id,
  88. // goods_num: item.goods_num,
  89. goods_num: item.count
  90. // 商品价格id真没有
  91. // goods_sku_price_id: item.goods_sku_price_id,
  92. });
  93. });
  94. if (goods_list.length === 0) {
  95. sheep_index.sheep.$helper.toast("请选择商品");
  96. return;
  97. }
  98. sheep_index.sheep.$router.go("/pages/order/confirm", {
  99. data: JSON.stringify({
  100. // order_type: 'goods',
  101. // goods_list,
  102. items,
  103. // from: 'cart',
  104. deliveryType: 1,
  105. pointStatus: false
  106. })
  107. });
  108. }
  109. function onNumberChange(e, cartItem) {
  110. if (e === 0) {
  111. cart.delete(cartItem.id);
  112. return;
  113. }
  114. if (cartItem.goods_num === e)
  115. return;
  116. cartItem.goods_num = e;
  117. cart.update({
  118. goods_id: cartItem.id,
  119. goods_num: e,
  120. goods_sku_price_id: cartItem.goods_sku_price_id
  121. });
  122. }
  123. async function onDelete() {
  124. cart.delete(state.selectedIds);
  125. }
  126. return (_ctx, _cache) => {
  127. var _a;
  128. return common_vendor.e({
  129. a: state.list.length === 0
  130. }, state.list.length === 0 ? {
  131. b: common_vendor.p({
  132. text: "购物车空空如也,快去逛逛吧~",
  133. icon: "/static/cart-empty.png"
  134. })
  135. } : {}, {
  136. c: state.list.length
  137. }, state.list.length ? common_vendor.e({
  138. d: common_vendor.t(state.list.length),
  139. e: state.editMode
  140. }, state.editMode ? {
  141. f: common_vendor.o(($event) => state.editMode = false)
  142. } : {
  143. g: common_vendor.o(($event) => state.editMode = true)
  144. }, {
  145. h: common_vendor.f(state.list, (item, k0, i0) => {
  146. return common_vendor.e({
  147. a: state.selectedIds.includes(item.id),
  148. b: common_vendor.o(($event) => onSelectSingle(item.id), item.id),
  149. c: common_vendor.o(($event) => onSelectSingle(item.id), item.id)
  150. }, !state.editMode ? {
  151. d: common_vendor.o(($event) => onNumberChange($event, item), item.id),
  152. e: "c30a4c2b-3-" + i0 + "," + ("c30a4c2b-2-" + i0),
  153. f: common_vendor.o(($event) => item.count = $event, item.id),
  154. g: common_vendor.p({
  155. min: 0,
  156. max: item.sku.stock,
  157. step: 1,
  158. modelValue: item.count
  159. })
  160. } : {}, {
  161. h: "c30a4c2b-2-" + i0 + ",c30a4c2b-0",
  162. i: common_vendor.p({
  163. title: item.spu.name,
  164. img: item.spu.picUrl || item.goods.image,
  165. price: item.sku.price / 100,
  166. skuText: item.sku.properties.length > 1 ? item.sku.properties.reduce((items2, items) => items2.valueName + " " + items.valueName) : item.sku.properties[0].valueName,
  167. priceColor: "#FF3000",
  168. titleWidth: 400
  169. }),
  170. j: item.id
  171. });
  172. }),
  173. i: !state.editMode,
  174. j: state.list.length > 0
  175. }, state.list.length > 0 ? common_vendor.e({
  176. k: state.isAllSelected,
  177. l: common_vendor.o(onSelectAll),
  178. m: common_vendor.o(onSelectAll),
  179. n: common_vendor.t(state.totalPriceSelected),
  180. o: state.editMode
  181. }, state.editMode ? {
  182. p: common_vendor.o(onDelete)
  183. } : {
  184. q: common_vendor.t(((_a = state.selectedIds) == null ? void 0 : _a.length) ? `(${state.selectedIds.length})` : ""),
  185. r: common_vendor.o(onConfirm)
  186. }, {
  187. s: common_vendor.p({
  188. bottom: true,
  189. val: 48,
  190. placeholder: true,
  191. isInset: false
  192. })
  193. }) : {}) : {}, {
  194. t: common_vendor.s(_ctx.__cssVars()),
  195. v: common_vendor.p({
  196. title: "购物车",
  197. tabbar: "/pages/index/cart",
  198. bgStyle: {
  199. color: "#fff"
  200. }
  201. })
  202. });
  203. };
  204. }
  205. };
  206. const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-c30a4c2b"], ["__file", "/Users/RuHu.Xu/Desktop/mall-newfeifan-zx-app/pages/index/cart.vue"]]);
  207. wx.createPage(MiniProgramPage);