123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- "use strict";
- const common_vendor = require("../../../common/vendor.js");
- const sheep_index = require("../../index.js");
- const sheep_api_product_spu = require("../../api/product/spu.js");
- require("../../api/index.js");
- require("../../api/distri/score.js");
- require("../../request/index.js");
- require("../../config/index.js");
- require("../../store/index.js");
- require("../../store/app.js");
- require("../../api/promotion/diy.js");
- require("../../platform/index.js");
- require("../../platform/provider/wechat/index.js");
- require("../../platform/provider/wechat/miniProgram.js");
- require("../../api/member/auth.js");
- require("../../api/member/social.js");
- require("../../api/member/user.js");
- require("../../platform/provider/apple/index.js");
- require("../../platform/share.js");
- require("../../router/index.js");
- require("../../hooks/useModal.js");
- require("../../helper/index.js");
- require("../../helper/test.js");
- require("../../helper/digit.js");
- require("../../api/member/signin.js");
- require("../../helper/throttle.js");
- require("../../url/index.js");
- require("../../platform/pay.js");
- require("../../api/pay/order.js");
- require("../../store/user.js");
- require("../../store/cart.js");
- require("../../api/trade/cart.js");
- require("../../api/pay/wallet.js");
- require("../../api/trade/order.js");
- require("../../api/promotion/coupon.js");
- require("../../store/sys.js");
- require("../../store/modal.js");
- require("../../api/distri/share.js");
- require("../../api/distri/team.js");
- require("../../api/infra/file.js");
- require("../../api/member/address.js");
- require("../../api/member/point.js");
- require("../../api/migration/app.js");
- require("../../api/migration/chat.js");
- require("../../api/migration/index.js");
- require("../../api/migration/third.js");
- require("../../api/pay/channel.js");
- require("../../api/product/category.js");
- require("../../api/product/comment.js");
- require("../../api/product/favorite.js");
- require("../../api/product/history.js");
- require("../../api/promotion/activity.js");
- require("../../api/promotion/article.js");
- require("../../api/promotion/bargain.js");
- require("../../api/promotion/combination.js");
- require("../../api/promotion/rewardActivity.js");
- require("../../api/promotion/seckill.js");
- require("../../api/system/area.js");
- require("../../api/system/voice.js");
- require("../../api/trade/afterSale.js");
- require("../../api/trade/brokerage.js");
- require("../../api/trade/config.js");
- require("../../api/trade/delivery.js");
- require("../../config/zIndex.js");
- if (!Array) {
- const _easycom_s_goods_column2 = common_vendor.resolveComponent("s-goods-column");
- _easycom_s_goods_column2();
- }
- const _easycom_s_goods_column = () => "../s-goods-column/s-goods-column.js";
- if (!Math) {
- _easycom_s_goods_column();
- }
- const _sfc_main = {
- __name: "s-goods-card",
- props: {
- data: {
- type: Object,
- default() {
- }
- },
- styles: {
- type: Object,
- default() {
- }
- }
- },
- setup(__props) {
- const LayoutTypeEnum = {
- // 单列大图
- ONE_COL_BIG_IMG: "oneColBigImg",
- // 双列
- TWO_COL: "twoCol",
- // 单列小图
- ONE_COL_SMALL_IMG: "oneColSmallImg"
- };
- const state = common_vendor.reactive({
- goodsList: [],
- leftGoodsList: [],
- rightGoodsList: []
- });
- const props = __props;
- const { layoutType, btnBuy, spuIds } = props.data ?? {};
- const { marginLeft, marginRight } = props.styles ?? {};
- const buyStyle = common_vendor.computed(() => {
- if (btnBuy.type === "text") {
- return {
- background: `linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient))`
- };
- }
- if (btnBuy.type === "img") {
- return {
- width: "54rpx",
- height: "54rpx",
- background: `url(${sheep_index.sheep.$url.cdn(btnBuy.imgUrl)}) no-repeat`,
- backgroundSize: "100% 100%"
- };
- }
- });
- let count = 0;
- let leftHeight = 0;
- let rightHeight = 0;
- function calculateGoodsColumn(height = 0, where = "left") {
- if (!state.goodsList[count])
- return;
- if (where === "left")
- leftHeight += height;
- if (where === "right")
- rightHeight += height;
- if (leftHeight <= rightHeight) {
- state.leftGoodsList.push(state.goodsList[count]);
- } else {
- state.rightGoodsList.push(state.goodsList[count]);
- }
- count++;
- }
- async function getGoodsListByIds(ids) {
- const { data } = await sheep_api_product_spu.SpuApi.getSpuListByIds(ids);
- return data;
- }
- common_vendor.onMounted(async () => {
- state.goodsList = await getGoodsListByIds(spuIds.join(","));
- if (layoutType === LayoutTypeEnum.TWO_COL) {
- calculateGoodsColumn();
- }
- });
- return (_ctx, _cache) => {
- return common_vendor.e({
- a: common_vendor.unref(layoutType) === LayoutTypeEnum.ONE_COL_BIG_IMG && state.goodsList.length
- }, common_vendor.unref(layoutType) === LayoutTypeEnum.ONE_COL_BIG_IMG && state.goodsList.length ? {
- b: common_vendor.f(state.goodsList, (item, k0, i0) => {
- var _a;
- return {
- a: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.go("/pages/goods/index", {
- id: item.id
- }), item.id),
- b: "edfbd448-0-" + i0,
- c: common_vendor.p({
- size: "sl",
- goodsFields: __props.data.fields,
- tagStyle: __props.data.badge,
- data: item,
- titleColor: (_a = __props.data.fields.name) == null ? void 0 : _a.color,
- subTitleColor: __props.data.fields.introduction.color,
- topRadius: __props.data.borderRadiusTop,
- bottomRadius: __props.data.borderRadiusBottom
- }),
- d: item.id
- };
- }),
- c: common_vendor.t(common_vendor.unref(btnBuy).type === "text" ? common_vendor.unref(btnBuy).text : ""),
- d: common_vendor.s(buyStyle.value),
- e: common_vendor.s({
- marginBottom: __props.data.space * 2 + "rpx"
- })
- } : {}, {
- f: common_vendor.unref(layoutType) === LayoutTypeEnum.TWO_COL && state.goodsList.length
- }, common_vendor.unref(layoutType) === LayoutTypeEnum.TWO_COL && state.goodsList.length ? {
- g: common_vendor.f(state.leftGoodsList, (item, k0, i0) => {
- var _a;
- return {
- a: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.go("/pages/goods/index", {
- id: item.id
- }), item.id),
- b: common_vendor.o(($event) => calculateGoodsColumn($event, "left"), item.id),
- c: "edfbd448-1-" + i0,
- d: common_vendor.p({
- size: "md",
- goodsFields: __props.data.fields,
- tagStyle: __props.data.badge,
- data: item,
- titleColor: (_a = __props.data.fields.name) == null ? void 0 : _a.color,
- subTitleColor: __props.data.fields.introduction.color,
- topRadius: __props.data.borderRadiusTop,
- bottomRadius: __props.data.borderRadiusBottom,
- titleWidth: 330 - common_vendor.unref(marginLeft) - common_vendor.unref(marginRight)
- }),
- e: item.id
- };
- }),
- h: common_vendor.t(common_vendor.unref(btnBuy).type === "text" ? common_vendor.unref(btnBuy).text : ""),
- i: common_vendor.s(buyStyle.value),
- j: common_vendor.s({
- paddingRight: __props.data.space + "rpx",
- marginBottom: __props.data.space + "px"
- }),
- k: common_vendor.f(state.rightGoodsList, (item, k0, i0) => {
- var _a;
- return {
- a: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.go("/pages/goods/index", {
- id: item.id
- }), item.id),
- b: common_vendor.o(($event) => calculateGoodsColumn($event, "right"), item.id),
- c: "edfbd448-2-" + i0,
- d: common_vendor.p({
- size: "md",
- goodsFields: __props.data.fields,
- tagStyle: __props.data.badge,
- data: item,
- titleColor: (_a = __props.data.fields.name) == null ? void 0 : _a.color,
- subTitleColor: __props.data.fields.introduction.color,
- topRadius: __props.data.borderRadiusTop,
- bottomRadius: __props.data.borderRadiusBottom,
- titleWidth: 330 - common_vendor.unref(marginLeft) - common_vendor.unref(marginRight)
- }),
- e: item.id
- };
- }),
- l: common_vendor.t(common_vendor.unref(btnBuy).type === "text" ? common_vendor.unref(btnBuy).text : ""),
- m: common_vendor.s(buyStyle.value),
- n: common_vendor.s({
- paddingLeft: __props.data.space + "rpx",
- marginBottom: __props.data.space + "px"
- })
- } : {}, {
- o: common_vendor.unref(layoutType) === LayoutTypeEnum.ONE_COL_SMALL_IMG && state.goodsList.length
- }, common_vendor.unref(layoutType) === LayoutTypeEnum.ONE_COL_SMALL_IMG && state.goodsList.length ? {
- p: common_vendor.f(state.goodsList, (item, k0, i0) => {
- var _a;
- return {
- a: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.go("/pages/goods/index", {
- id: item.id
- }), item.id),
- b: "edfbd448-3-" + i0,
- c: common_vendor.p({
- size: "lg",
- goodsFields: __props.data.fields,
- data: item,
- tagStyle: __props.data.badge,
- titleColor: (_a = __props.data.fields.name) == null ? void 0 : _a.color,
- subTitleColor: __props.data.fields.introduction.color,
- topRadius: __props.data.borderRadiusTop,
- bottomRadius: __props.data.borderRadiusBottom
- }),
- d: item.id
- };
- }),
- q: common_vendor.t(common_vendor.unref(btnBuy).type === "text" ? common_vendor.unref(btnBuy).text : ""),
- r: common_vendor.s(buyStyle.value),
- s: common_vendor.s({
- marginBottom: __props.data.space + "px"
- })
- } : {});
- };
- }
- };
- const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-edfbd448"], ["__file", "D:/zx/mall-front-app/sheep/components/s-goods-card/s-goods-card.vue"]]);
- wx.createComponent(Component);
|