diff --git a/manifest.json b/manifest.json
index cbf61821..b292c230 100644
--- a/manifest.json
+++ b/manifest.json
@@ -216,7 +216,7 @@
"h5": {
"template": "index.html",
"router": {
- "mode": "hash",
+ "mode": "history",
"base": "./"
},
"sdkConfigs": {
@@ -236,4 +236,4 @@
"_spaceID": "192b4892-5452-4e1d-9f09-eee1ece40639",
"locale": "zh-Hans",
"fallbackLocale": "zh-Hans"
-}
\ No newline at end of file
+}
diff --git a/package.json b/package.json
index aafe3011..d2e3bb5f 100644
--- a/package.json
+++ b/package.json
@@ -90,6 +90,7 @@
"dependencies": {
"dayjs": "^1.11.7",
"lodash": "^4.17.21",
+ "lodash-es": "^4.17.21",
"luch-request": "^3.0.8",
"pinia": "^2.0.33",
"pinia-plugin-persist-uni": "^1.2.0",
diff --git a/pages.json b/pages.json
index 72d50091..78d7c311 100644
--- a/pages.json
+++ b/pages.json
@@ -307,6 +307,18 @@
"title": "编辑地址"
}
},
+ {
+ "path": "goods_details_store/index",
+ "style": {
+ "navigationBarTitleText": "自提门店"
+ },
+ "meta": {
+ "auth": true,
+ "sync": true,
+ "title": "地址管理",
+ "group": "用户中心"
+ }
+ },
{
"path": "wallet/money",
"style": {
diff --git a/pages/activity/groupon/detail.vue b/pages/activity/groupon/detail.vue
index 0db9ab3a..7b606ec6 100644
--- a/pages/activity/groupon/detail.vue
+++ b/pages/activity/groupon/detail.vue
@@ -1,6 +1,11 @@
-
+
@@ -22,7 +27,7 @@
priceColor="#E1212B"
@tap="
sheep.$router.go('/pages/goods/groupon', {
- id: state.data.headRecord.activityId
+ id: state.data.headRecord.activityId,
})
"
:style="[{ top: Number(statusBarHeight + 108) + 'rpx' }]"
@@ -71,7 +76,9 @@
还差
- {{ state.data.headRecord.userSize - state.data.headRecord.userCount }}人
+ {{ state.data.headRecord.userSize - state.data.headRecord.userCount }}人
拼团成功
{{ endTime.h }}
@@ -109,7 +116,11 @@
-
+
-
@@ -174,11 +181,11 @@
-
-
+
+
+
@@ -196,25 +204,28 @@
import { computed, reactive } from 'vue';
import sheep from '@/sheep';
import { onLoad } from '@dcloudio/uni-app';
- import { useDurationTime } from '@/sheep/hooks/useGoods';
+ import { fen2yuan, useDurationTime } from '@/sheep/hooks/useGoods';
import { showShareModal } from '@/sheep/hooks/useModal';
- import { isEmpty } from 'lodash';
- import CombinationApi from "@/sheep/api/promotion/combination";
+ import { isEmpty } from 'lodash-es';
+ import CombinationApi from '@/sheep/api/promotion/combination';
+ import SpuApi from '@/sheep/api/product/spu';
const headerBg = sheep.$url.css('/static/img/shop/user/withdraw_bg.png');
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2;
const state = reactive({
data: {}, // 拼团详情
- loading: true,
- grouponAction: 'create',
- showSelectSku: false,
- grouponNum: 0,
- number: 0,
- activity: {},
+ goodsId: 0, // 商品ID
+ goodsInfo: {}, // 商品信息
+ showSelectSku: false, // 显示规格弹框
+ selectedSkuPrice: {}, // 选中的规格价格
+ activity: {}, // 团购活动
+ grouponId: 0, // 团购ID
+ grouponNum: 0, // 团购人数
+ grouponAction: 'create', // 团购操作
combinationHeadId: null, // 拼团团长编号
+ loading: true,
});
- // todo 芋艿:分享要再接下
const shareInfo = computed(() => {
if (isEmpty(state.data)) return {};
return sheep.$platform.share.getShareInfo(
@@ -224,15 +235,14 @@
desc: state.data.goods?.subtitle,
params: {
page: '5',
- query: state.data.id,
+ query: state.data.headRecord.id,
},
},
{
type: 'groupon', // 邀请拼团海报
title: state.data.headRecord.spuName, // 商品标题
image: sheep.$url.cdn(state.data.headRecord.picUrl), // 商品主图
- price: state.data.goods?.price, // 商品价格
- original_price: state.data.goods?.original_price, // 商品原价
+ price: fen2yuan(state.data.headRecord.combinationPrice), // 商品价格
},
);
});
@@ -244,33 +254,33 @@
});
}
- // 去开团 TODO 芋艿:这里没接入
+ // 去开团
function onCreateGroupon() {
state.grouponAction = 'create';
state.grouponId = 0;
state.showSelectSku = true;
}
- // 规格变更 TODO 芋艿:这里没接入
+ // 规格变更
function onSkuChange(e) {
state.selectedSkuPrice = e;
}
- // 立即参团 TODO 芋艿:这里没接入
+ // 立即参团
function onJoinGroupon() {
state.grouponAction = 'join';
- state.grouponId = state.data.activityId;
- state.combinationHeadId = state.data.id;
- state.grouponNum = state.data.num;
+ state.grouponId = state.data.headRecord.activityId;
+ state.combinationHeadId = state.data.headRecord.id;
+ state.grouponNum = state.data.headRecord.userSize;
state.showSelectSku = true;
}
- // 立即购买 TODO 芋艿:这里没接入
+ // 立即购买
function onBuy(sku) {
sheep.$router.go('/pages/order/confirm', {
data: JSON.stringify({
order_type: 'goods',
- combinationActivityId: state.data.activity.id,
+ combinationActivityId: state.activity.id,
combinationHeadId: state.combinationHeadId,
items: [
{
@@ -295,8 +305,29 @@
state.remainNumber = remainNumber > 0 ? remainNumber : 0;
// 获取活动信息
- const { data: activity } = await CombinationApi.getCombinationActivity(data.headRecord.activityId);
+ const { data: activity } = await CombinationApi.getCombinationActivity(
+ data.headRecord.activityId,
+ );
state.activity = activity;
+ state.grouponNum = activity.userSize;
+ // 加载商品信息
+ const { data: spu } = await SpuApi.getSpuDetail(activity.spuId);
+ state.goodsId = spu.id;
+ // 默认显示最低价
+ activity.products.forEach((product) => {
+ spu.price = Math.min(spu.price, product.combinationPrice); // 设置 SPU 的最低价格
+ });
+ state.goodsInfo = spu;
+ // 价格、库存使用活动的
+ spu.skus.forEach((sku) => {
+ const product = activity.products.find((product) => product.skuId === sku.id);
+ if (product) {
+ sku.price = product.combinationPrice;
+ } else {
+ // 找不到可能是没配置,则不能发起秒杀
+ sku.stock = 0;
+ }
+ });
} else {
state.data = null;
}
@@ -316,8 +347,7 @@
.recharge-box {
position: relative;
margin-bottom: 120rpx;
- background: v-bind(headerBg) center/750rpx 100%
- no-repeat,
+ background: v-bind(headerBg) center/750rpx 100% no-repeat,
linear-gradient(115deg, #f44739 0%, #ff6600 100%);
border-radius: 0 0 5% 5%;
height: 100rpx;
diff --git a/pages/activity/groupon/order.vue b/pages/activity/groupon/order.vue
index fc2a38a2..72e03475 100644
--- a/pages/activity/groupon/order.vue
+++ b/pages/activity/groupon/order.vue
@@ -24,9 +24,9 @@
@@ -67,8 +67,8 @@
import { reactive } from 'vue';
import { onLoad, onReachBottom, onPullDownRefresh } from '@dcloudio/uni-app';
import sheep from '@/sheep';
- import _ from 'lodash';
- import {formatOrderColor} from "@/sheep/hooks/useGoods";
+ import _ from 'lodash-es';
+ import { formatOrderColor } from '@/sheep/hooks/useGoods';
import { resetPagination } from '@/sheep/util';
import CombinationApi from '@/sheep/api/promotion/combination';
@@ -121,7 +121,7 @@
if (code !== 0) {
return;
}
- state.pagination.list = _.concat(state.pagination.list, data.list)
+ state.pagination.list = _.concat(state.pagination.list, data.list);
state.pagination.total = data.total;
state.loadStatus = state.pagination.list.length < state.pagination.total ? 'more' : 'noMore';
}
diff --git a/pages/activity/index.vue b/pages/activity/index.vue
index f36a0e5a..56417ed9 100644
--- a/pages/activity/index.vue
+++ b/pages/activity/index.vue
@@ -63,7 +63,7 @@
import { reactive } from 'vue';
import { onLoad, onReachBottom } from '@dcloudio/uni-app';
import sheep from '@/sheep';
- import _ from 'lodash';
+ import _ from 'lodash-es';
import RewardActivityApi from '@/sheep/api/promotion/rewardActivity';
import { formatRewardActivityRule } from '@/sheep/hooks/useGoods';
import SpuApi from '@/sheep/api/product/spu';
@@ -118,7 +118,7 @@
const { code, data } = await SpuApi.getSpuPage({
pageNo: state.pagination.pageNo,
pageSize: state.pagination.pageSize,
- ...params
+ ...params,
});
if (code !== 0) {
return;
diff --git a/pages/chat/components/select-popup.vue b/pages/chat/components/select-popup.vue
index 6c701441..60711af2 100644
--- a/pages/chat/components/select-popup.vue
+++ b/pages/chat/components/select-popup.vue
@@ -32,7 +32,7 @@
\ No newline at end of file
+ .log-text {
+ max-width: 480rpx;
+ font-size: 24rpx;
+ font-weight: 500;
+ color: #333333;
+ }
+ }
+ }
+ }
+
diff --git a/pages/commission/goods.vue b/pages/commission/goods.vue
index d4678490..b9df293a 100644
--- a/pages/commission/goods.vue
+++ b/pages/commission/goods.vue
@@ -14,12 +14,18 @@
>
- 预计佣金:计算中
-
+ 预计佣金:计算中
+
预计佣金:{{ fen2yuan(item.brokerageMinPrice) }}
- 预计佣金:{{ fen2yuan(item.brokerageMinPrice) }} ~ {{ fen2yuan(item.brokerageMaxPrice) }}
+ 预计佣金:{{ fen2yuan(item.brokerageMinPrice) }} ~
+ {{ fen2yuan(item.brokerageMaxPrice) }}
订单编号:{{ item.bizId }}
- {{
- item.status === 0 ? '待结算'
- : item.status === 1 ? '已结算' : '已取消'
- }}
+ {{ item.status === 0 ? '待结算' : item.status === 1 ? '已结算' : '已取消' }}
( 佣金 {{ fen2yuan(item.price) }} 元 )
@@ -77,7 +74,7 @@
import sheep from '@/sheep';
import { onLoad, onReachBottom } from '@dcloudio/uni-app';
import { reactive } from 'vue';
- import _ from 'lodash';
+ import _ from 'lodash-es';
import { onPageScroll } from '@dcloudio/uni-app';
import { resetPagination } from '@/sheep/util';
import BrokerageApi from '@/sheep/api/trade/brokerage';
diff --git a/pages/commission/team.vue b/pages/commission/team.vue
index 82a492e1..eb58abb9 100644
--- a/pages/commission/team.vue
+++ b/pages/commission/team.vue
@@ -235,7 +235,7 @@
import sheep from '@/sheep';
import { onLoad, onReachBottom } from '@dcloudio/uni-app';
import { computed, reactive, ref } from 'vue';
- import _ from 'lodash';
+ import _ from 'lodash-es';
import { onPageScroll } from '@dcloudio/uni-app';
import BrokerageApi from '@/sheep/api/trade/brokerage';
diff --git a/pages/commission/wallet.vue b/pages/commission/wallet.vue
index d0ad059b..2181b30c 100644
--- a/pages/commission/wallet.vue
+++ b/pages/commission/wallet.vue
@@ -1,196 +1,243 @@
-
-
-
+ }"
+ />
+
\ No newline at end of file
+ .uni-easyinput__placeholder-class {
+ font-size: 30rpx;
+ height: 40rpx;
+ line-height: normal;
+ }
+ }
+
diff --git a/pages/coupon/detail.vue b/pages/coupon/detail.vue
index 0a760d27..6ebaa854 100644
--- a/pages/coupon/detail.vue
+++ b/pages/coupon/detail.vue
@@ -16,13 +16,16 @@
{{ state.coupon.name }}
满 {{ fen2yuan(state.coupon.usePrice) }} 元,
- {{ state.coupon.discountType === 1
- ? '减 ' + fen2yuan(state.coupon.discountPrice) + ' 元'
- : '打 ' + state.coupon.discountPercent / 10.0 + ' 折' }}
+ {{
+ state.coupon.discountType === 1
+ ? '减 ' + fen2yuan(state.coupon.discountPrice) + ' 元'
+ : '打 ' + state.coupon.discountPercent / 10.0 + ' 折'
+ }}
{{ state.coupon.canTake ? '立即领取' : '已领取' }}
- {{ state.coupon.status === 1 ? '立即使用' : state.coupon.status === 2 ? '已使用' : '已过期' }}
+ {{
+ state.coupon.status === 1
+ ? '立即使用'
+ : state.coupon.status === 2
+ ? '已使用'
+ : '已过期'
+ }}
@@ -140,7 +149,7 @@
import sheep from '@/sheep';
import { onLoad, onReachBottom } from '@dcloudio/uni-app';
import { reactive } from 'vue';
- import _ from 'lodash';
+ import _ from 'lodash-es';
import CouponApi from '@/sheep/api/promotion/coupon';
import { fen2yuan } from '@/sheep/hooks/useGoods';
import SpuApi from '@/sheep/api/product/spu';
@@ -176,7 +185,7 @@
const { code, data } = await SpuApi.getSpuPage({
categoryId: state.categoryId,
pageNo: state.pagination.pageNo,
- pageSize: state.pagination.pageSize
+ pageSize: state.pagination.pageSize,
});
if (code !== 0) {
return;
@@ -197,7 +206,9 @@
// 获得分类列表
async function getCategoryList() {
- const { data, code } = await CategoryApi.getCategoryListByIds(state.coupon.productScopeValues.join(','));
+ const { data, code } = await CategoryApi.getCategoryListByIds(
+ state.coupon.productScopeValues.join(','),
+ );
if (code !== 0) {
return;
}
@@ -225,8 +236,10 @@
// 加载优惠劵信息
async function getCouponContent() {
- const { code, data } = state.id > 0 ? await CouponApi.getCouponTemplate(state.id)
- : await CouponApi.getCoupon(state.couponId);
+ const { code, data } =
+ state.id > 0
+ ? await CouponApi.getCouponTemplate(state.id)
+ : await CouponApi.getCoupon(state.couponId);
if (code !== 0) {
return;
}
diff --git a/pages/coupon/list.vue b/pages/coupon/list.vue
index e7c4394d..08addbd0 100644
--- a/pages/coupon/list.vue
+++ b/pages/coupon/list.vue
@@ -45,7 +45,7 @@
@@ -56,9 +56,14 @@
- 0"
+ :status="state.loadStatus"
+ :content-text="{
contentdown: '上拉加载更多',
- }" @tap="loadMore" />
+ }"
+ @tap="loadMore"
+ />
@@ -66,7 +71,7 @@
import sheep from '@/sheep';
import { onLoad, onReachBottom } from '@dcloudio/uni-app';
import { reactive } from 'vue';
- import _ from 'lodash';
+ import _ from 'lodash-es';
import { resetPagination } from '@/sheep/util';
import CouponApi from '@/sheep/api/promotion/coupon';
@@ -78,7 +83,7 @@
list: [],
total: 0,
pageNo: 1,
- pageSize: 5
+ pageSize: 5,
},
loadStatus: '',
});
@@ -106,9 +111,9 @@
function onTabsChange(e) {
state.currentTab = e.index;
state.type = e.value;
- resetPagination(state.pagination)
+ resetPagination(state.pagination);
if (state.currentTab === 0) {
- getData();
+ getData();
} else {
getCoupon();
}
@@ -135,7 +140,7 @@
const { data, code } = await CouponApi.getCouponPage({
pageNo: state.pagination.pageNo,
pageSize: state.pagination.pageSize,
- status: state.type
+ status: state.type,
});
if (code !== 0) {
return;
@@ -177,13 +182,13 @@
// 领劵中心
if (Option.type === 'all' || !Option.type) {
getData();
- // 我的优惠劵
+ // 我的优惠劵
} else {
Option.type === 'geted'
? (state.currentTab = 1)
: Option.type === 'used'
- ? (state.currentTab = 2)
- : (state.currentTab = 3);
+ ? (state.currentTab = 2)
+ : (state.currentTab = 3);
state.type = state.currentTab;
getCoupon();
}
diff --git a/pages/goods/comment/list.vue b/pages/goods/comment/list.vue
index 01526b00..8d4184e7 100644
--- a/pages/goods/comment/list.vue
+++ b/pages/goods/comment/list.vue
@@ -30,7 +30,7 @@
import CommentApi from '@/sheep/api/product/comment';
import { onLoad, onReachBottom } from '@dcloudio/uni-app';
import { reactive } from 'vue';
- import _ from 'lodash';
+ import _ from 'lodash-es';
import commentItem from '../components/detail/comment-item.vue';
const state = reactive({
diff --git a/pages/goods/groupon.vue b/pages/goods/groupon.vue
index 50bba1c4..ae333cfb 100644
--- a/pages/goods/groupon.vue
+++ b/pages/goods/groupon.vue
@@ -7,12 +7,16 @@
@@ -47,10 +51,7 @@
-
+
单买价:
{{ fen2yuan(state.goodsInfo.price) }}
@@ -79,7 +80,7 @@
-
+
@@ -89,6 +90,7 @@
- {{ fen2yuan(state.activity.price || state.goodsInfo.price) }}
+ {{
+ fen2yuan(state.selectedSku.price * state.selectedSku.count || state.activity.price * state.selectedSku.count || state.goodsInfo.price * state.selectedSku.count || state.goodsInfo.price)
+ }}
未开始
已结束
@@ -141,7 +145,7 @@
import { reactive, computed } from 'vue';
import { onLoad, onPageScroll } from '@dcloudio/uni-app';
import sheep from '@/sheep';
- import { isEmpty } from 'lodash';
+ import { isEmpty } from 'lodash-es';
import detailNavbar from './components/detail/detail-navbar.vue';
import detailCellSku from './components/detail/detail-cell-sku.vue';
import detailTabbar from './components/detail/detail-tabbar.vue';
@@ -149,29 +153,27 @@
import detailCommentCard from './components/detail/detail-comment-card.vue';
import detailContentCard from './components/detail/detail-content-card.vue';
import grouponCardList from './components/groupon/groupon-card-list.vue';
- import {useDurationTime, formatGoodsSwiper, fen2yuan} from '@/sheep/hooks/useGoods';
- import CombinationApi from "@/sheep/api/promotion/combination";
- import SpuApi from "@/sheep/api/product/spu";
+ import { useDurationTime, formatGoodsSwiper, fen2yuan } from '@/sheep/hooks/useGoods';
+ import CombinationApi from '@/sheep/api/promotion/combination';
+ import SpuApi from '@/sheep/api/product/spu';
const headerBg = sheep.$url.css('/static/img/shop/goods/groupon-bg.png');
const btnBg = sheep.$url.css('/static/img/shop/goods/groupon-btn.png');
- const disabledBtnBg = sheep.$url.css(
- '/static/img/shop/goods/activity-btn-disabled.png',
- );
+ const disabledBtnBg = sheep.$url.css('/static/img/shop/goods/activity-btn-disabled.png');
const grouponBg = sheep.$url.css('/static/img/shop/goods/groupon-tip-bg.png');
onPageScroll(() => {});
const state = reactive({
- skeletonLoading: true, // 骨架屏
- goodsId: 0, // 商品ID
- goodsInfo: {}, // 商品信息
- goodsSwiper: [], // 商品轮播图
- showSelectSku: false, // 显示规格弹框
- selectedSkuPrice: {}, // 选中的规格价格
- activity: {}, // 团购活动
- grouponId: 0, // 团购ID
- grouponNum: 0, // 团购人数
- grouponAction: 'create', // 团购操作
+ skeletonLoading: true, // 骨架屏
+ goodsId: 0, // 商品ID
+ goodsInfo: {}, // 商品信息
+ goodsSwiper: [], // 商品轮播图
+ showSelectSku: false, // 显示规格弹框
+ selectedSku: {}, // 选中的规格属性
+ activity: {}, // 团购活动
+ grouponId: 0, // 团购ID
+ grouponNum: 0, // 团购人数
+ grouponAction: 'create', // 团购操作
combinationHeadId: null, // 拼团团长编号
});
@@ -182,7 +184,7 @@
// 规格变更
function onSkuChange(e) {
- state.selectedSkuPrice = e;
+ state.selectedSku = e;
}
function onSkuClose() {
@@ -198,6 +200,7 @@
/**
* 去参团
+ *
* @param record 团长的团购记录
*/
function onJoinGroupon(record) {
@@ -226,7 +229,6 @@
}
// 分享信息
- // TODO @芋艿:分享的接入
const shareInfo = computed(() => {
if (isEmpty(state.activity)) return {};
return sheep.$platform.share.getShareInfo(
@@ -261,9 +263,21 @@
// 加载商品信息
const { data: spu } = await SpuApi.getSpuDetail(activity.spuId);
state.goodsId = spu.id;
- activity.products.forEach(product => {
+ // 默认显示最低价
+ activity.products.forEach((product) => {
spu.price = Math.min(spu.price, product.combinationPrice); // 设置 SPU 的最低价格
});
+ // 价格、库存使用活动的
+ spu.skus.forEach((sku) => {
+ const product = activity.products.find((product) => product.skuId === sku.id);
+ if (product) {
+ sku.price = product.combinationPrice;
+ } else {
+ // 找不到可能是没配置,则不能发起秒杀
+ sku.stock = 0;
+ }
+ });
+
// 关闭骨架屏
state.skeletonLoading = false;
if (code === 0) {
@@ -475,8 +489,7 @@
}
.groupon-box {
- background: v-bind(grouponBg)
- no-repeat;
+ background: v-bind(grouponBg) no-repeat;
background-size: 100% 100%;
}
diff --git a/pages/goods/index.vue b/pages/goods/index.vue
index 87408b9a..dc3f73aa 100644
--- a/pages/goods/index.vue
+++ b/pages/goods/index.vue
@@ -113,7 +113,7 @@
import detailCommentCard from './components/detail/detail-comment-card.vue';
import detailContentCard from './components/detail/detail-content-card.vue';
import detailActivityTip from './components/detail/detail-activity-tip.vue';
- import { isEmpty } from 'lodash';
+ import { isEmpty } from 'lodash-es';
import SpuApi from '@/sheep/api/product/spu';
onPageScroll(() => {});
@@ -156,11 +156,9 @@
data: JSON.stringify({
items: [{
skuId: e.id,
- count: e.goods_num
- }],
- // TODO 芋艿:后续清理掉这 2 参数
- deliveryType: 1,
- pointStatus: false,
+ count: e.goods_num,
+ categoryId: state.goodsInfo.categoryId
+ }]
}),
});
}
diff --git a/pages/goods/list.vue b/pages/goods/list.vue
index 36240d50..1fdf5592 100644
--- a/pages/goods/list.vue
+++ b/pages/goods/list.vue
@@ -1,362 +1,398 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
- {{ item.label }}
-
-
-
+
+
+
+
+ {{ item.label }}
+
+
+
-
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+ }"
+ @tap="loadMore"
+ />
+
+
\ No newline at end of file
+ .tab-line {
+ width: 60rpx;
+ height: 6rpx;
+ border-radius: 6rpx;
+ position: absolute;
+ left: 50%;
+ transform: translateX(-50%);
+ bottom: 10rpx;
+ background-color: var(--ui-BG-Main);
+ z-index: 12;
+ }
+ }
+
diff --git a/pages/goods/seckill.vue b/pages/goods/seckill.vue
index 027449a3..34708d62 100644
--- a/pages/goods/seckill.vue
+++ b/pages/goods/seckill.vue
@@ -63,16 +63,13 @@
- {{ state.goodsInfo?.name }}
+ {{ state.goodsInfo.name || '' }}
{{ state.goodsInfo.introduction }}
-
+
秒杀价
@@ -136,11 +135,11 @@
diff --git a/pages/index/cart.vue b/pages/index/cart.vue
index ae90777f..633b567d 100644
--- a/pages/index/cart.vue
+++ b/pages/index/cart.vue
@@ -107,6 +107,7 @@
skuId: item.sku.id,
count: item.count,
cartId: item.id,
+ categoryId: item.spu.categoryId
})
goods_list.push({
// goods_id: item.goods_id,
@@ -124,12 +125,7 @@
}
sheep.$router.go('/pages/order/confirm', {
data: JSON.stringify({
- // order_type: 'goods',
- // goods_list,
- items,
- // from: 'cart',
- deliveryType: 1,
- pointStatus: false,
+ items
}),
});
}
diff --git a/pages/index/category.vue b/pages/index/category.vue
index 2317d1d9..4c88f388 100644
--- a/pages/index/category.vue
+++ b/pages/index/category.vue
@@ -63,7 +63,7 @@
import SpuApi from '@/sheep/api/product/spu';
import { onLoad, onReachBottom } from '@dcloudio/uni-app';
import { computed, reactive } from 'vue';
- import _ from 'lodash';
+ import _ from 'lodash-es';
import { handleTree } from '@/sheep/util';
const state = reactive({
@@ -131,12 +131,13 @@
getGoodsList();
}
- onLoad(async () => {
+ onLoad(async (params) => {
await getList();
- // 如果是 first 风格,需要加载商品分页
- if (state.style === 'first_one' || state.style === 'first_two') {
- onMenu(0);
- }
+
+ // 首页点击分类的处理:查找满足条件的分类
+ const foundCategory = state.categoryList.find(category => category.id === params.id);
+ // 如果找到则调用 onMenu 自动勾选相应分类,否则调用 onMenu(0) 勾选第一个分类
+ onMenu(foundCategory ? state.categoryList.indexOf(foundCategory) : 0);
});
onReachBottom(() => {
diff --git a/pages/order/addressSelection.vue b/pages/order/addressSelection.vue
new file mode 100644
index 00000000..2432d413
--- /dev/null
+++ b/pages/order/addressSelection.vue
@@ -0,0 +1,261 @@
+
+
+
+
+
+
+
+
+
+
+ {{ state.addressInfo.name }}
+ {{ state.addressInfo.mobile }}
+
+
+ [默认]
+ {{ state.addressInfo.areaName }} {{ state.addressInfo.detailAddress }}
+
+
+
+ 设置收货地址
+
+
+
+
+
+
+
+
+
+
+ {{ state.pickUpInfo.name }}
+ {{ state.pickUpInfo.phone }}
+
+ {{ state.pickUpInfo.areaName }}{{ ', ' + state.pickUpInfo.detailAddress }}
+
+
+
+ 选择自提门店
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/order/aftersale/apply.vue b/pages/order/aftersale/apply.vue
index 8c9752ed..805ea944 100644
--- a/pages/order/aftersale/apply.vue
+++ b/pages/order/aftersale/apply.vue
@@ -98,11 +98,7 @@
-
+
+
\ No newline at end of file
+ font-weight: 400;
+ color: rgba(51, 51, 51, 1);
+ }
+ }
+
diff --git a/pages/order/aftersale/list.vue b/pages/order/aftersale/list.vue
index 64624960..5ec22b4a 100644
--- a/pages/order/aftersale/list.vue
+++ b/pages/order/aftersale/list.vue
@@ -1,187 +1,210 @@
-
-
-
-
-
-
-
-
-
-
- 服务单号:{{ order.no }}
- {{ formatAfterSaleStatus(order) }}
-
-
+
+
+
+
+
+
+
+
+
+ 服务单号:{{ order.no }}
+ {{ formatAfterSaleStatus(order) }}
+
+
-
-
- {{ order.way === 10 ? '仅退款' : '退款退货' }}
- {{ formatAfterSaleStatusDescription(order) }}
-
-
-
-
+
+
+ {{ order.way === 10 ? '仅退款' : '退款退货' }}
+ {{ formatAfterSaleStatusDescription(order) }}
+
+
+
+
-
- 取消申请
-
-
-
-
- 取消申请
+
+
+
+
+
-
+ }"
+ @tap="loadMore"
+ />
+
\ No newline at end of file
+ .tool-btn {
+ width: 160rpx;
+ height: 60rpx;
+ background: #f6f6f6;
+ border-radius: 30rpx;
+ font-size: 26rpx;
+ font-weight: 400;
+ }
+ }
+ }
+
diff --git a/pages/order/confirm.vue b/pages/order/confirm.vue
index 834ad04a..23ef75e8 100644
--- a/pages/order/confirm.vue
+++ b/pages/order/confirm.vue
@@ -1,13 +1,7 @@
-
-
-
-
-
-
-
-
+
+
@@ -46,26 +40,58 @@
-
- 扣除积分
+ 积分抵扣
+ {{ state.pointStatus ? '剩余积分' : '当前积分' }}
- {{ state.orderInfo.score_amount }}
+
+ {{ state.pointStatus ? state.orderInfo.totalPoint - state.orderInfo.usePoint : (state.orderInfo.totalPoint || 0) }}
+
+
+
+
-
+
+
运费
-
+
+¥{{ fen2yuan(state.orderInfo.price.deliveryPrice) }}
+ 免运费
+
+
+
+
+ 联系人
+
+
+
+
+
+ 联系电话
+
+
@@ -120,7 +146,7 @@
共{{ state.orderInfo.items.reduce((acc, item) => acc + item.count, 0) }}件
合计:
- ¥{{ fen2yuan(state.orderInfo.price.payPrice) }}
+ ¥{{ fen2yuan(state.orderInfo.price.payPrice) }}
@@ -159,14 +185,13 @@
\ No newline at end of file
+ .info-color {
+ color: #999999;
+ }
+
diff --git a/pages/order/pickUpVerify.vue b/pages/order/pickUpVerify.vue
new file mode 100644
index 00000000..1e8bb6e8
--- /dev/null
+++ b/pages/order/pickUpVerify.vue
@@ -0,0 +1,261 @@
+
+
+
+
+ 核销信息
+
+
+
+
+
+
+
+
+ {{ orderInfo.pickUpVerifyCode }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 使用说明
+
+ 可将二维码出示给店员扫描或提供数字核销码
+
+
+
+
+ 自提地址信息
+
+ 查看位置
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/pay/recharge-log.vue b/pages/pay/recharge-log.vue
index 67e46881..8de792ac 100644
--- a/pages/pay/recharge-log.vue
+++ b/pages/pay/recharge-log.vue
@@ -8,7 +8,7 @@
充值金额
{{ fen2yuan(item.payPrice) }} 元
- (赠送 {{ fen2yuan(item.bonusPrice)}} 元)
+ (赠送 {{ fen2yuan(item.bonusPrice) }} 元)
@@ -30,7 +30,9 @@
充值时间
- {{ sheep.$helper.timeFormat(item.payTime, 'yyyy-mm-dd hh:MM:ss') }}
+
+ {{ sheep.$helper.timeFormat(item.payTime, 'yyyy-mm-dd hh:MM:ss') }}
@@ -53,7 +55,7 @@
\ No newline at end of file
+ .cancel-btn {
+ width: 710rpx;
+ height: 80rpx;
+ border-radius: 40rpx;
+ background: var(--ui-BG);
+ }
+ }
+
diff --git a/pages/user/address/list.vue b/pages/user/address/list.vue
index a812afc7..f3bc6869 100644
--- a/pages/user/address/list.vue
+++ b/pages/user/address/list.vue
@@ -1,143 +1,166 @@
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
+ .sync-wxaddress {
+ flex: 1;
+ line-height: 80rpx;
+ background: $white;
+ border-radius: 80rpx;
+ font-size: 30rpx;
+ font-weight: 500;
+ color: $dark-6;
+ margin-right: 18rpx;
+ }
+ }
+
diff --git a/pages/user/goods-collect.vue b/pages/user/goods-collect.vue
index 03099bce..af5e64a1 100644
--- a/pages/user/goods-collect.vue
+++ b/pages/user/goods-collect.vue
@@ -5,7 +5,8 @@
-
+
{{ state.thirdInfo.nickname }}
@@ -185,7 +183,7 @@
+ &.vertical {
+ width: 50rpx;
+ height: 140rpx;
+ margin: auto 20rpx auto 0;
+
+ .btn-text {
+ font-size: 24rpx;
+ text-align: center;
+ writing-mode: vertical-lr;
+ }
+ }
+ }
+
+ .coupon-item {
+ &:nth-of-type(1) {
+ margin-left: 0 !important;
+ }
+ }
+
\ No newline at end of file
diff --git a/sheep/components/s-coupon-card/s-coupon-card.vue b/sheep/components/s-coupon-card/s-coupon-card.vue
index bd5705bb..dac69e31 100644
--- a/sheep/components/s-coupon-card/s-coupon-card.vue
+++ b/sheep/components/s-coupon-card/s-coupon-card.vue
@@ -1,6 +1,6 @@
-
+ &.cur {
+ opacity: 1;
+ }
+ }
+ }
+
+ &.tag {
+ justify-content: flex-end;
+ position: absolute;
+ bottom: 20rpx;
+ right: 20rpx;
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/sheep/components/s-menu-grid/s-menu-grid.vue b/sheep/components/s-menu-grid/s-menu-grid.vue
index 518d6edf..d05a49d4 100644
--- a/sheep/components/s-menu-grid/s-menu-grid.vue
+++ b/sheep/components/s-menu-grid/s-menu-grid.vue
@@ -1,82 +1,104 @@
-
-
-
-
-
- {{ item.badge.text }}
-
-
-
+
+
+
+
+
+
+ {{ item.badge.text }}
+
+
+
+
+
+
+ {{ item.title }}
+
+
+ {{ item.subtitle }}
+
+
+
+
+
+
-
-
- {{ item.title }}
-
-
- {{ item.subtitle }}
-
-
-
-
-
+ .grid-item-box {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+
+ .img-box {
+ position: relative;
+
+ .tag-box {
+ position: absolute;
+ z-index: 2;
+ top: 0;
+ right: 0;
+ font-size: 2em;
+ line-height: 1;
+ padding: 0.4em 0.6em 0.3em;
+ transform: scale(0.4) translateX(0.5em) translatey(-0.6em);
+ transform-origin: 100% 0;
+ border-radius: 200rpx;
+ white-space: nowrap;
+ }
+ }
+
+ .title-box {
+ .grid-tip {
+ font-size: 24rpx;
+ white-space: nowrap;
+ text-align: center;
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/sheep/components/s-order-card/s-order-card.vue b/sheep/components/s-order-card/s-order-card.vue
index 095e6cfd..b3d851bd 100644
--- a/sheep/components/s-order-card/s-order-card.vue
+++ b/sheep/components/s-order-card/s-order-card.vue
@@ -1,6 +1,6 @@
-