diff --git a/package.json b/package.json index aafe3011662a06251b7ab1a30d2d491d0f049ff7..d2e3bb5fe65973357d4b23aae0dca68ca6647fab 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/activity/groupon/detail.vue b/pages/activity/groupon/detail.vue index 0db9ab3a0dde75af613c36cc6aebacdfc84aa84d..86daff20cea154f71897095f694775783accdf0b 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 @@ - + - + 邀请好友来拼团 @@ -198,8 +205,8 @@ import { onLoad } from '@dcloudio/uni-app'; import { 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'; const headerBg = sheep.$url.css('/static/img/shop/user/withdraw_bg.png'); const statusBarHeight = sheep.$platform.device.statusBarHeight * 2; @@ -295,7 +302,9 @@ 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; } else { state.data = null; @@ -316,8 +325,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 fc2a38a2f2b6f79b50a0453c5d81fcb5b22fa9ec..72e0347559e19cf761bc76660ab1af030bae7aa5 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 f36a0e5aefafdf114ec643f1f6c9ef178ea7364a..56417ed912698620e5f6d14266cc48ebe23555a9 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 6c70144121d0bd0af4223e47884c80bd110bf2d6..60711af2095d221e30de1c19785e16a0a2f1f31b 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 + .distribution-log-wrap { + width: 690rpx; + margin: 0 auto; + margin-bottom: 20rpx; + border-radius: 12rpx; + z-index: 3; + position: relative; + + .header-box { + width: 690rpx; + height: 76rpx; + position: relative; + + .header-bg { + width: 690rpx; + height: 76rpx; + } + + .header-title { + position: absolute; + left: 20rpx; + top: 24rpx; + } + + .title { + font-size: 28rpx; + font-weight: 500; + color: #ffffff; + line-height: 30rpx; + } + + .cicon-forward { + font-size: 30rpx; + font-weight: 400; + color: #ffffff; + line-height: 30rpx; + } + } + + .log-scroll { + height: 600rpx; + background: #fdfae9; + padding: 10rpx 20rpx 0; + box-sizing: border-box; + border-radius: 0 0 12rpx 12rpx; + + .log-item-box { + margin-bottom: 20rpx; + + .log-time { + // margin-left: 30rpx; + text-align: right; + font-size: 24rpx; + font-family: OPPOSANS; + font-weight: 400; + color: #c4c4c4; + } + } + + .loadmore-wrap { + // line-height: 80rpx; + } + + .log-item { + // background: rgba(#ffffff, 0.2); + border-radius: 24rpx; + padding: 6rpx 20rpx 6rpx 12rpx; + + .log-img { + width: 40rpx; + height: 40rpx; + border-radius: 50%; + margin-right: 10rpx; + } + + .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 d4678490db1d8bfe2fc74c1ee15fbb084fc1b106..b9df293aacc7263c6c8dbf39875d8f508a2311b6 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 82a492e1dd745eb1ae790d166d2ad0b64c7f6401..eb58abb9597e5d88ac9eafcc58de3e088371f146 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 d0ad059b67d3d0a1e087e1e33b32b690a7fcdeed..2181b30c2d005e160a3601a3681bd358cce22c18 100644 --- a/pages/commission/wallet.vue +++ b/pages/commission/wallet.vue @@ -1,196 +1,243 @@ - - - - - - 当前佣金(元) - - - - {{ state.showMoney ? fen2yuan(state.summary.withdrawPrice || 0) : '*****' }} - - - - 提现 - - - - 转余额 - - - - - - - 冻结佣金 - + + + + + + 当前佣金(元) + + + + {{ + state.showMoney ? fen2yuan(state.summary.withdrawPrice || 0) : '*****' + }} + + + + 提现 + + + + 转余额 + + + + + + + 冻结佣金 + {{ state.showMoney ? fen2yuan(state.summary.frozenPrice || 0) : '*****' }} - - - 可提现佣金 - + + + 可提现佣金 + {{ state.showMoney ? fen2yuan(state.summary.brokeragePrice || 0) : '*****' }} - - - - - - - - - - - {{ dateFilterText }} - - - - - + + + + + + + + + + + {{ dateFilterText }} + + + + + - - - - - - - + + + + + + + - - - 转余额 - 将您的佣金转到余额中继续消费 - - ¥ - - - - 确定 - - - - - - - - - - {{ item.title }} - - +{{ fen2yuan(item.price) }} - {{ fen2yuan(item.price) }} - - - {{ sheep.$helper.timeFormat(item.createTime, 'yyyy-mm-dd hh:MM:ss') }} - - - - - - + + 转余额 + 将您的佣金转到余额中继续消费 + + ¥ + + + + 确定 + + + + + + + + + + {{ item.title }} + + +{{ fen2yuan(item.price) }} + {{ fen2yuan(item.price) }} + + + {{ + sheep.$helper.timeFormat(item.createTime, 'yyyy-mm-dd hh:MM:ss') + }} + + + + + + - + }" + /> + \ No newline at end of file + // 钱包 + .header-box { + background-color: $white; + padding: 30rpx; + + .card-box { + width: 100%; + min-height: 300rpx; + padding: 40rpx; + background-size: 100% 100%; + border-radius: 30rpx; + overflow: hidden; + position: relative; + z-index: 1; + box-sizing: border-box; + + &::after { + content: ''; + display: block; + width: 100%; + height: 100%; + z-index: 2; + position: absolute; + top: 0; + left: 0; + background: v-bind(headerBg) no-repeat; + pointer-events: none; + } + + .card-head { + color: $white; + font-size: 24rpx; + } + + .ss-eye-icon { + font-size: 40rpx; + color: $white; + } + + .money-num { + font-size: 40rpx; + line-height: normal; + font-weight: 500; + color: $white; + font-family: OPPOSANS; + } + + .reduce-num { + font-size: 26rpx; + font-weight: 400; + color: $white; + } + + .withdraw-btn { + width: 120rpx; + height: 60rpx; + line-height: 60rpx; + border-radius: 30px; + font-size: 24rpx; + font-weight: 500; + background-color: $white; + color: var(--ui-BG-Main); + } + + .balance-btn { + width: 120rpx; + height: 60rpx; + line-height: 60rpx; + border-radius: 30px; + font-size: 24rpx; + font-weight: 500; + color: $white; + border: 1px solid $white; + } + } + } + + .loading-money { + margin-top: 56rpx; + + .loading-money-title { + font-size: 24rpx; + font-weight: 400; + color: #ffffff; + line-height: normal; + margin-bottom: 30rpx; + } + + .loading-money-num { + font-size: 30rpx; + font-family: OPPOSANS; + font-weight: 500; + color: #fefefe; + } + } + + // 筛选 + + .filter-box { + height: 120rpx; + padding: 0 30rpx; + background-color: $bg-page; + + .total-box { + font-size: 24rpx; + font-weight: 500; + color: $dark-9; + } + + .date-btn { + background-color: $white; + line-height: 54rpx; + border-radius: 27rpx; + padding: 0 20rpx; + font-size: 24rpx; + font-weight: 500; + color: $dark-6; + + .ss-seldate-icon { + font-size: 50rpx; + color: $dark-9; + } + } + } + + // tab + .wallet-tab-card { + .tab-item { + height: 80rpx; + position: relative; + + .tab-title { + font-size: 30rpx; + } + + .cur-tab-title { + font-weight: $font-weight-bold; + } + + .tab-line { + width: 60rpx; + height: 6rpx; + border-radius: 6rpx; + position: absolute; + left: 50%; + transform: translateX(-50%); + bottom: 2rpx; + background-color: var(--ui-BG-Main); + } + } + } + + // 钱包记录 + .wallet-list { + padding: 30rpx; + background-color: #ffff; + + .head-img { + width: 70rpx; + height: 70rpx; + border-radius: 50%; + background: $gray-c; + } + + .list-content { + justify-content: space-between; + align-items: flex-start; + flex: 1; + + .title { + font-size: 28rpx; + color: $dark-3; + width: 400rpx; + } + + .time { + color: $gray-c; + font-size: 22rpx; + } + } + + .money { + font-size: 28rpx; + font-weight: bold; + font-family: OPPOSANS; + + .add { + color: var(--ui-BG-Main); + } + + .minus { + color: $dark-3; + } + } + } + + .model-title { + font-size: 36rpx; + font-weight: bold; + color: #333333; + } + + .model-subtitle { + font-size: 26rpx; + color: #c2c7cf; + } + + .model-btn { + width: 100%; + height: 80rpx; + border-radius: 40rpx; + font-size: 28rpx; + font-weight: 500; + color: #ffffff; + line-height: normal; + } + + .input-box { + height: 100rpx; + + .unit { + font-size: 48rpx; + color: #333; + font-weight: 500; + line-height: normal; + } + + .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 0a760d27d3da21273f573737188998b31ae5b119..6ebaa8540e17ebeac15b2e52dcba6e759fb32985 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 e7c4394daa1e2c9dc0c1d1192047ec2e423b1de1..08addbd09661d1380c654b51a925986c562e107c 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 01526b00f6d2d0097f92966e2547b0fa42b4f2cf..8d4184e71ac4373769eaac0c1135ff572a8fd315 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 50bba1c43eca9324c437c8e302a07b5d84ca0799..354d6ed94484a1459c465dfe97eee3619d524396 100644 --- a/pages/goods/groupon.vue +++ b/pages/goods/groupon.vue @@ -7,12 +7,16 @@ @@ -47,10 +51,7 @@ - + 单买价: {{ fen2yuan(state.goodsInfo.price) }} @@ -123,7 +124,9 @@ " :disabled="state.goodsInfo.stock === 0 || state.activity.status !== 0" > - {{ fen2yuan(state.activity.price || state.goodsInfo.price) }} + {{ + fen2yuan(state.activity.price || state.goodsInfo.price) + }} 未开始 已结束 @@ -141,7 +144,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 +152,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, // 显示规格弹框 + selectedSkuPrice: {}, // 选中的规格价格 + activity: {}, // 团购活动 + grouponId: 0, // 团购ID + grouponNum: 0, // 团购人数 + grouponAction: 'create', // 团购操作 combinationHeadId: null, // 拼团团长编号 }); @@ -261,7 +262,7 @@ // 加载商品信息 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 的最低价格 }); // 关闭骨架屏 @@ -475,8 +476,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 87408b9a642c6062076445875f72a41e25d3d3d9..27ab08942a271b7e6eac6f96cfa802454dc73e04 100644 --- a/pages/goods/index.vue +++ b/pages/goods/index.vue @@ -1,177 +1,227 @@ - - - - - - - - - - - - - - - - - - - - {{ fen2yuan(state.selectedSku.price || state.goodsInfo.price) }} - - - {{ fen2yuan(state.selectedSku.marketPrice || state.goodsInfo.marketPrice) }} - - - - {{ formatSales('exact', state.goodsInfo.salesCount) }} - - - - - - - - {{ promos.name }} - - - - - - - 领券 - - - - {{ state.goodsInfo.name }} - {{ state.goodsInfo.introduction }} - - - - - - - - - - - - - - - - - - - - - - - - 加入购物车 - - - 立即购买 - - - - 已售罄 - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + {{ fen2yuan(state.selectedSku.price || state.goodsInfo.price) }} + + + {{ fen2yuan(state.selectedSku.marketPrice || state.goodsInfo.marketPrice) }} + + + + {{ formatSales('exact', state.goodsInfo.salesCount) }} + + + + + + + + {{ promos.name }} + + + + + + + 领券 + + + + {{ state.goodsInfo.name }} + {{ state.goodsInfo.introduction }} + + + + + + + + + + + + + + + + + + + + + + + + 加入购物车 + + + 立即购买 + + + + 已售罄 + + + + + + + + + + + diff --git a/pages/goods/list.vue b/pages/goods/list.vue index 36240d50cf014ac48e97f4b8cf356d29ad45865e..1fdf5592ff3b09fc5e4963127c6dd87b55e67d21 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 + .goods-list-box { + width: 50%; + box-sizing: border-box; + + .left-list { + margin-right: 10rpx; + margin-bottom: 20rpx; + } + + .right-list { + margin-left: 10rpx; + margin-bottom: 20rpx; + } + } + + .goods-box { + &:nth-last-of-type(1) { + margin-bottom: 0 !important; + } + + &:nth-child(2n) { + margin-right: 0; + } + } + + .list-icon { + width: 80rpx; + + .sicon-goods-card { + font-size: 40rpx; + } + + .sicon-goods-list { + font-size: 40rpx; + } + } + + .goods-card { + margin-left: 20rpx; + } + + .list-filter-tabs { + background-color: #fff; + } + + .filter-list-box { + padding: 28rpx 52rpx; + + .filter-item { + font-size: 28rpx; + font-weight: 500; + color: #333333; + line-height: normal; + margin-bottom: 24rpx; + + &:nth-last-child(1) { + margin-bottom: 0; + } + } + + .filter-item-active { + color: var(--ui-BG-Main); + } + } + + .tab-item { + height: 50px; + position: relative; + z-index: 11; + + .tab-title { + font-size: 30rpx; + } + + .cur-tab-title { + font-weight: $font-weight-bold; + } + + .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 027449a3f996ab7534b22be8b3eb99618edf2a37..aed2cd337245ec8f2c67284bea9082fb9ed1c36c 100644 --- a/pages/goods/seckill.vue +++ b/pages/goods/seckill.vue @@ -69,10 +69,7 @@ - + 秒杀价 @@ -136,11 +135,11 @@ diff --git a/pages/index/category.vue b/pages/index/category.vue index 2317d1d92003f5e311ca9a978032ac7a69f3bb74..cb87b0b509cbb93ad44fb89afa18391828cfaa5f 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({ diff --git a/pages/order/aftersale/apply.vue b/pages/order/aftersale/apply.vue index 8c9752eda1834a801e91082298d8b672b658139d..805ea9445aafee6a743f72ad49352d5713ff7a8f 100644 --- a/pages/order/aftersale/apply.vue +++ b/pages/order/aftersale/apply.vue @@ -98,11 +98,7 @@ - + {{ item }} - - - - + + + - - - - - - - - - - {{ item.title }} - - - - - - - - - + ]" + > + + + + + + + + + + {{ item.title }} + + + + + + + + + {{ formatAfterSaleStatusDescription(state.info) }} - + {{ sheep.$helper.timeFormat(state.info.updateTime, 'yyyy-mm-dd hh:MM:ss') }} - - - - - - - 退款总额 - ¥{{ fen2yuan(state.info.refundPrice) }} - - - - + + + + + + 退款总额 + ¥{{ fen2yuan(state.info.refundPrice) }} + + + + - - - - - - 服务单号: - {{ state.info.no }} - 复制 - - - 申请时间: - - {{ sheep.$helper.timeFormat(state.info.createTime, 'yyyy-mm-dd hh:MM:ss') }} - - - - 售后类型: - {{ state.info.way === 10 ? '仅退款' : '退款退货' }} - - - 申请原因: - {{ state.info.applyReason }} - - - 相关描述: - {{ state.info.applyDescription }} - - - + + + + + + 服务单号: + {{ state.info.no }} + 复制 + + + 申请时间: + + {{ sheep.$helper.timeFormat(state.info.createTime, 'yyyy-mm-dd hh:MM:ss') }} + + + + 售后类型: + {{ state.info.way === 10 ? '仅退款' : '退款退货' }} + + + 申请原因: + {{ state.info.applyReason }} + + + 相关描述: + {{ state.info.applyDescription }} + + + - - - - + + + + 取消申请 - + 填写退货 - + 联系客服 - - - + + + \ No newline at end of file + // 步骤条 + .steps-box { + width: 100%; + height: 190rpx; + background: v-bind(headerBg) no-repeat, + linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient)); + background-size: 750rpx 100%; + padding-left: 72rpx; + + .steps-item { + .sicon-circleclose { + font-size: 24rpx; + color: #fff; + } + + .sicon-circlecheck { + font-size: 24rpx; + } + + .steps-item-title { + font-size: 24rpx; + font-weight: 400; + margin-top: 16rpx; + margin-left: -36rpx; + width: 100rpx; + text-align: center; + } + } + } + + .activity-color { + color: #fff; + } + + .info-color { + color: rgba(#fff, 0.4); + } + + .activity-bg { + background: #fff; + } + + .info-bg { + background: rgba(#fff, 0.4); + } + + .line { + width: 270rpx; + height: 4rpx; + } + + // 服务状态 + .status-box { + position: relative; + z-index: 3; + background-color: #fff; + border-radius: 20rpx 20rpx 0px 0px; + padding: 20rpx; + margin-top: -20rpx; + + .status-text { + font-size: 28rpx; + + font-weight: 500; + color: rgba(51, 51, 51, 1); + margin-bottom: 20rpx; + } + + .status-time { + font-size: 24rpx; + + font-weight: 400; + color: rgba(153, 153, 153, 1); + } + } + + // 退款金额 + .aftersale-money { + background-color: #fff; + height: 98rpx; + padding: 0 20rpx; + margin: 20rpx; + + .aftersale-money--title { + font-size: 28rpx; + + font-weight: 500; + color: rgba(51, 51, 51, 1); + } + + .aftersale-money--num { + font-size: 28rpx; + font-family: OPPOSANS; + font-weight: 500; + color: #ff3000; + } + } + + // order-shop + .order-shop { + padding: 20rpx; + background-color: #fff; + margin: 0 20rpx 20rpx 20rpx; + } + + // 服务内容 + .aftersale-content { + background-color: #fff; + padding: 20rpx; + margin: 0 20rpx; + + .aftersale-item { + height: 60rpx; + + .copy-btn { + background: #eeeeee; + color: #333; + border-radius: 20rpx; + width: 75rpx; + height: 40rpx; + font-size: 22rpx; + } + + .item-title { + color: #999; + font-size: 28rpx; + } + + .item-content { + color: #333; + font-size: 28rpx; + } + } + } + + // 底部功能 + .foot_box { + height: 100rpx; + background-color: #fff; + display: flex; + align-items: center; + justify-content: flex-end; + + .btn { + width: 160rpx; + line-height: 60rpx; + background: rgba(238, 238, 238, 1); + border-radius: 30rpx; + padding: 0; + margin-right: 20rpx; + font-size: 26rpx; + + font-weight: 400; + color: rgba(51, 51, 51, 1); + } + } + diff --git a/pages/order/aftersale/list.vue b/pages/order/aftersale/list.vue index 64624960133b6872ab821e52632783c250c24d3c..5ec22b4a5691a92a24fa440a4d6676ad054cc411 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 + .list-box { + background-color: #fff; + + .order-head { + padding: 0 25rpx; + height: 77rpx; + } + + .apply-box { + height: 82rpx; + + .title { + font-size: 24rpx; + } + + .value { + font-size: 22rpx; + color: $dark-6; + } + } + + .tool-btn-box { + height: 100rpx; + + .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 834ad04ad0464fff22cef4aeaa213a23cee91210..94d78d7334dd4f8d7ce316fd801dda147cdca465 100644 --- a/pages/order/confirm.vue +++ b/pages/order/confirm.vue @@ -162,7 +162,7 @@ import { reactive } from 'vue'; import { onLoad } from '@dcloudio/uni-app'; import sheep from '@/sheep'; - import { isEmpty } from 'lodash'; + import { isEmpty } from 'lodash-es'; import OrderApi from '@/sheep/api/trade/order'; import CouponApi from '@/sheep/api/promotion/coupon'; import { fen2yuan } from '@/sheep/hooks/useGoods'; @@ -223,7 +223,7 @@ pointStatus: false, // TODO 芋艿:需要支持【积分选择】 combinationActivityId: state.orderPayload.combinationActivityId, combinationHeadId: state.orderPayload.combinationHeadId, - seckillActivityId: state.orderPayload.seckillActivityId + seckillActivityId: state.orderPayload.seckillActivityId, }); if (code !== 0) { return; @@ -250,7 +250,7 @@ pointStatus: false, // TODO 芋艿:需要支持【积分选择】 combinationActivityId: state.orderPayload.combinationActivityId, combinationHeadId: state.orderPayload.combinationHeadId, - seckillActivityId: state.orderPayload.seckillActivityId + seckillActivityId: state.orderPayload.seckillActivityId, }); if (code !== 0) { return; diff --git a/pages/order/detail.vue b/pages/order/detail.vue index b9527e76806412a3c38d8ab9b0e41516e366e99c..8ab0271355c9aba17173337710aa1f285cd57010 100644 --- a/pages/order/detail.vue +++ b/pages/order/detail.vue @@ -252,7 +252,7 @@ import sheep from '@/sheep'; import { onLoad } from '@dcloudio/uni-app'; import { reactive } from 'vue'; - import { isEmpty } from 'lodash'; + import { isEmpty } from 'lodash-es'; import { fen2yuan, formatOrderStatus, @@ -371,7 +371,7 @@ // 评价 function onComment(id) { sheep.$router.go('/pages/goods/comment/add', { - id + id, }); } diff --git a/pages/order/list.vue b/pages/order/list.vue index 323d7ae70cc1841baefd3c3cfe39fe82e110a0d7..926ecfde4bd091d8908420a677d3821d9e53601a 100644 --- a/pages/order/list.vue +++ b/pages/order/list.vue @@ -1,243 +1,284 @@ - - - - - - - - - 订单号:{{ order.no }} - + + + + + + + + + 订单号:{{ order.no }} + {{ formatOrderStatus(order) }} - - - + + - - - - 共 {{ order.productCount }} 件商品,总金额: - - ¥{{ fen2yuan(order.payPrice) }} - - - - - - + + + + 共 {{ order.productCount }} 件商品,总金额: + ¥{{ fen2yuan(order.payPrice) }} + + + + + 拼团详情 - - + + 查看详情 - - + + 确认收货 - - - 查看物流 - - - 取消订单 - - - 评价 - - - 删除订单 - - - 继续支付 - - - - - - - - + 查看物流 + + + 取消订单 + + + 评价 + + + 删除订单 + + + 继续支付 + + + + + + + + - + }" + @tap="loadMore" + /> + \ No newline at end of file + .score-img { + width: 36rpx; + height: 36rpx; + margin: 0 4rpx; + } + + .tool-btn { + width: 160rpx; + height: 60rpx; + background: #f6f6f6; + font-size: 26rpx; + border-radius: 30rpx; + margin-right: 10rpx; + + &:last-of-type { + margin-right: 0; + } + } + + .delete-btn { + width: 160rpx; + height: 56rpx; + color: #ff3000; + background: #fee; + border-radius: 28rpx; + font-size: 26rpx; + margin-right: 10rpx; + line-height: normal; + + &:last-of-type { + margin-right: 0; + } + } + + .apply-btn { + width: 140rpx; + height: 50rpx; + border-radius: 25rpx; + font-size: 24rpx; + border: 2rpx solid #dcdcdc; + line-height: normal; + margin-left: 16rpx; + } + + .swiper-box { + flex: 1; + + .swiper-item { + height: 100%; + width: 100%; + } + } + + .order-list-card-box { + .order-card-header { + height: 80rpx; + + .order-no { + font-size: 26rpx; + font-weight: 500; + } + + .order-state { + } + } + + .pay-box { + .discounts-title { + font-size: 24rpx; + line-height: normal; + color: #999999; + } + + .discounts-money { + font-size: 24rpx; + line-height: normal; + color: #999; + font-family: OPPOSANS; + } + + .pay-color { + color: #333; + } + } + + .order-card-footer { + height: 100rpx; + + .more-item-box { + padding: 20rpx; + + .more-item { + height: 60rpx; + + .title { + font-size: 26rpx; + } + } + } + + .more-btn { + color: $dark-9; + font-size: 24rpx; + } + + .content { + width: 154rpx; + color: #333333; + font-size: 26rpx; + font-weight: 500; + } + } + } + + :deep(.uni-tooltip-popup) { + background: var(--ui-BG); + } + + .warning-color { + color: #faad14; + } + + .danger-color { + color: #ff3000; + } + + .success-color { + color: #52c41a; + } + + .info-color { + color: #999999; + } + diff --git a/pages/pay/recharge-log.vue b/pages/pay/recharge-log.vue index 67e468814f15c02781bfa8f434125b6aeb3ca3f0..8de792ac50ab7b0256b94d3a5f628d17f6fa9093 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 a812afc7f3fb3ceccfde805c562a3e08f0928d8e..47b0b1a38e692d54f7eee20ec38179c1ee287c4a 100644 --- a/pages/user/address/list.vue +++ b/pages/user/address/list.vue @@ -1,143 +1,156 @@ - - - - + + + + - - - - - - 导入微信地址 - - - 新增收货地址 - - - - - + + + + + + 导入微信地址 + + + 新增收货地址 + + + + + \ 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 03099bcecf53088d71f9f74dd7465ea76d7b537a..af5e64a1f169bd5c2a315800c790c059e3450110 100644 --- a/pages/user/goods-collect.vue +++ b/pages/user/goods-collect.vue @@ -5,7 +5,8 @@ - 共 {{ state.pagination.total }} 件商品 + 共 + {{ state.pagination.total }} 件商品 + @tap="onCancel" + > 取消收藏 @@ -100,7 +102,7 @@ import sheep from '@/sheep'; import { reactive } from 'vue'; import { onLoad, onReachBottom } from '@dcloudio/uni-app'; - import _ from 'lodash'; + import _ from 'lodash-es'; import FavoriteApi from '@/sheep/api/product/favorite'; import { resetPagination } from '@/sheep/util'; @@ -129,7 +131,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'; } @@ -174,7 +176,7 @@ // 加载更多 function loadMore() { if (state.loadStatus === 'noMore') { - return + return; } state.pagination.pageNo++; getData(); diff --git a/pages/user/goods-log.vue b/pages/user/goods-log.vue index 630f7c5a2542e8331be0a53f2ab4de7c200922cd..b52efe3c93c497b0b2a89724fa0fbec4d25b35c5 100644 --- a/pages/user/goods-log.vue +++ b/pages/user/goods-log.vue @@ -81,11 +81,13 @@ 删除足迹 @@ -120,9 +122,9 @@ import sheep from '@/sheep'; import { reactive } from 'vue'; import { onLoad, onReachBottom } from '@dcloudio/uni-app'; - import _ from 'lodash'; - import SpuHistoryApi from "@/sheep/api/product/history"; - import {cloneDeep} from "@/sheep/helper/utils"; + import _ from 'lodash-es'; + import SpuHistoryApi from '@/sheep/api/product/history'; + import { cloneDeep } from '@/sheep/helper/utils'; const sys_navBar = sheep.$platform.navbar; const pagination = { diff --git a/pages/user/info.vue b/pages/user/info.vue index 1b668c5d19eadfd44041557772acaef5ebbedd83..c1da23c2d5e673381e05cd79467867e8d0b9c0d3 100644 --- a/pages/user/info.vue +++ b/pages/user/info.vue @@ -26,7 +26,8 @@ + @chooseavatar="onChooseAvatar" + > 修改 @@ -154,10 +155,7 @@ - + {{ state.thirdInfo.nickname }} @@ -185,7 +183,7 @@