Compare commits
2 Commits
d4f85d9078
...
83beb3513c
Author | SHA1 | Date | |
---|---|---|---|
83beb3513c | |||
99f29586e5 |
9
env/.env
vendored
9
env/.env
vendored
@ -7,10 +7,10 @@ VITE_WX_APPID = 'wxf2c6d4b7361366b4'
|
|||||||
# h5部署网站的base,配置到 manifest.config.ts 里的 h5.router.base
|
# h5部署网站的base,配置到 manifest.config.ts 里的 h5.router.base
|
||||||
VITE_APP_PUBLIC_BASE=/acdr/
|
VITE_APP_PUBLIC_BASE=/acdr/
|
||||||
|
|
||||||
# VITE_SERVER_BASEURL = 'http://47.99.70.12:28184/api'
|
VITE_SERVER_BASEURL = 'http://47.99.70.12:28184/api'
|
||||||
# VITE_UPLOAD_BASEURL = 'http://47.99.70.12:28184'
|
# VITE_UPLOAD_BASEURL = 'http://47.99.70.12:28184'
|
||||||
VITE_SERVER_BASEURL = 'http://localhost:28184/api'
|
# VITE_SERVER_BASEURL = 'http://localhost:28184/api'
|
||||||
VITE_WS_BASEURL = 'ws://localhost:28184/api'
|
VITE_WS_BASEURL = 'ws://47.99.70.12:28184/api'
|
||||||
VITE_UPLOAD_BASEURL = 'http://localhost:28184'
|
VITE_UPLOAD_BASEURL = 'http://localhost:28184'
|
||||||
VITE_OSS_BASEURL = 'http://116.204.119.171:9000/linghe'
|
VITE_OSS_BASEURL = 'http://116.204.119.171:9000/linghe'
|
||||||
|
|
||||||
@ -25,7 +25,8 @@ SHOPRO_VERSION = v1.8.3
|
|||||||
SHOPRO_BASE_URL = http://api-dashboard.yudao.iocoder.cn
|
SHOPRO_BASE_URL = http://api-dashboard.yudao.iocoder.cn
|
||||||
|
|
||||||
# 后端接口 - 测试环境(通过 process.env.NODE_ENV = development)
|
# 后端接口 - 测试环境(通过 process.env.NODE_ENV = development)
|
||||||
SHOPRO_DEV_BASE_URL = http://127.0.0.1:48080
|
# SHOPRO_DEV_BASE_URL = http://127.0.0.1:48080
|
||||||
|
SHOPRO_DEV_BASE_URL = http://47.99.70.12:48080
|
||||||
### SHOPRO_DEV_BASE_URL = http://yunai.natapp1.cc
|
### SHOPRO_DEV_BASE_URL = http://yunai.natapp1.cc
|
||||||
|
|
||||||
# 后端接口前缀(一般不建议调整)
|
# 后端接口前缀(一般不建议调整)
|
||||||
|
@ -21,7 +21,7 @@ export default defineUniPages({
|
|||||||
},
|
},
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
path: 'pages/mall/index/index',
|
path: 'modules/mall/index/index',
|
||||||
aliasPath: '/mall',
|
aliasPath: '/mall',
|
||||||
style: {
|
style: {
|
||||||
navigationBarTitleText: '宠物商城',
|
navigationBarTitleText: '宠物商城',
|
||||||
@ -35,7 +35,7 @@ export default defineUniPages({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'pages/mall/index/user',
|
path: 'modules/mall/index/user',
|
||||||
style: {
|
style: {
|
||||||
navigationBarTitleText: '个人中心',
|
navigationBarTitleText: '个人中心',
|
||||||
enablePullDownRefresh: true,
|
enablePullDownRefresh: true,
|
||||||
@ -47,7 +47,7 @@ export default defineUniPages({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'pages/mall/index/category',
|
path: 'modules/mall/index/category',
|
||||||
style: {
|
style: {
|
||||||
navigationBarTitleText: '商品分类',
|
navigationBarTitleText: '商品分类',
|
||||||
},
|
},
|
||||||
@ -58,7 +58,7 @@ export default defineUniPages({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'pages/mall/index/cart',
|
path: 'modules/mall/index/cart',
|
||||||
style: {
|
style: {
|
||||||
navigationBarTitleText: '购物车',
|
navigationBarTitleText: '购物车',
|
||||||
},
|
},
|
||||||
@ -69,13 +69,13 @@ export default defineUniPages({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'pages/mall/index/login',
|
path: 'modules/mall/index/login',
|
||||||
style: {
|
style: {
|
||||||
navigationBarTitleText: '登录',
|
navigationBarTitleText: '登录',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'pages/mall/index/search',
|
path: 'modules/mall/index/search',
|
||||||
style: {
|
style: {
|
||||||
navigationBarTitleText: '搜索',
|
navigationBarTitleText: '搜索',
|
||||||
},
|
},
|
||||||
@ -86,7 +86,7 @@ export default defineUniPages({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'pages/mall/index/page',
|
path: 'modules/mall/index/page',
|
||||||
style: {
|
style: {
|
||||||
navigationBarTitleText: '',
|
navigationBarTitleText: '',
|
||||||
},
|
},
|
||||||
@ -100,7 +100,7 @@ export default defineUniPages({
|
|||||||
],
|
],
|
||||||
subPackages: [
|
subPackages: [
|
||||||
{
|
{
|
||||||
root: 'pages/mall/goods',
|
root: 'modules/mall/goods',
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
path: 'index',
|
path: 'index',
|
||||||
@ -165,7 +165,7 @@ export default defineUniPages({
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
root: 'pages/mall/order',
|
root: 'modules/mall/order',
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
path: 'detail',
|
path: 'detail',
|
||||||
@ -265,7 +265,7 @@ export default defineUniPages({
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
root: 'pages/mall/user',
|
root: 'modules/mall/user',
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
path: 'info',
|
path: 'info',
|
||||||
@ -364,7 +364,7 @@ export default defineUniPages({
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
root: 'pages/mall/commission',
|
root: 'modules/mall/commission',
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
path: 'index',
|
path: 'index',
|
||||||
@ -465,7 +465,7 @@ export default defineUniPages({
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
root: 'pages/mall/app',
|
root: 'modules/mall/app',
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
path: 'sign',
|
path: 'sign',
|
||||||
@ -482,7 +482,7 @@ export default defineUniPages({
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
root: 'pages/mall/public',
|
root: 'modules/mall/public',
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
path: 'setting',
|
path: 'setting',
|
||||||
@ -532,7 +532,7 @@ export default defineUniPages({
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
root: 'pages/mall/coupon',
|
root: 'modules/mall/coupon',
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
path: 'list',
|
path: 'list',
|
||||||
@ -560,7 +560,7 @@ export default defineUniPages({
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
root: 'pages/mall/chat',
|
root: 'modules/mall/chat',
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
path: 'index',
|
path: 'index',
|
||||||
@ -577,7 +577,7 @@ export default defineUniPages({
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
root: 'pages/mall/pay',
|
root: 'modules/mall/pay',
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
path: 'index',
|
path: 'index',
|
||||||
@ -618,7 +618,7 @@ export default defineUniPages({
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
root: 'pages/mall/activity',
|
root: 'modules/mall/activity',
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
path: 'groupon/detail',
|
path: 'groupon/detail',
|
||||||
|
@ -49,7 +49,8 @@ onHide(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
@import '@/style/index.scss';
|
@import "@/style/index.scss";
|
||||||
|
@import "@/scss/index.scss";
|
||||||
|
|
||||||
button::after {
|
button::after {
|
||||||
border: none;
|
border: none;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "宠屋",
|
"name": "宠屋",
|
||||||
"appid": "__UNI__9D479DC",
|
"appid": "H57F2ACE4",
|
||||||
"description": "",
|
"description": "",
|
||||||
"versionName": "1.0.0",
|
"versionName": "1.0.0",
|
||||||
"versionCode": "100",
|
"versionCode": "100",
|
||||||
|
@ -29,7 +29,7 @@ const { safeAreaInsets } = uni.getSystemInfoSync()
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.test-css {
|
.test-css {
|
||||||
// mt-4=>1rem=>16px;
|
// mt-4=>1rem=>16px;
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
@ -22,7 +22,7 @@
|
|||||||
<view class="my-2 text-left text-sm">{{ recommendUrl }}</view>
|
<view class="my-2 text-left text-sm">{{ recommendUrl }}</view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
|
|
||||||
<!-- http://localhost:9000/#/pages/mall/index/request -->
|
<!-- http://localhost:9000/#/modules/mall/index/request -->
|
||||||
<wd-button @click="run" class="my-6">发送请求</wd-button>
|
<wd-button @click="run" class="my-6">发送请求</wd-button>
|
||||||
<view class="h-12">
|
<view class="h-12">
|
||||||
<view v-if="loading">loading...</view>
|
<view v-if="loading">loading...</view>
|
@ -26,6 +26,6 @@ const { loading, data, run } = useUpload({ user: '菲鸽' })
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
//
|
//
|
||||||
</style>
|
</style>
|
@ -26,7 +26,7 @@
|
|||||||
:price="state.data.headRecord.combinationPrice"
|
:price="state.data.headRecord.combinationPrice"
|
||||||
priceColor="#E1212B"
|
priceColor="#E1212B"
|
||||||
@tap="
|
@tap="
|
||||||
sheep.$router.go('/pages/mall/goods/groupon', {
|
sheep.$router.go('/modules/mall/goods/groupon', {
|
||||||
id: state.data.headRecord.activityId,
|
id: state.data.headRecord.activityId,
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
@ -248,7 +248,7 @@ const shareInfo = computed(() => {
|
|||||||
|
|
||||||
// 订单详情
|
// 订单详情
|
||||||
function onDetail(orderId) {
|
function onDetail(orderId) {
|
||||||
sheep.$router.go('/pages/mall/order/detail', {
|
sheep.$router.go('/modules/mall/order/detail', {
|
||||||
id: orderId,
|
id: orderId,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -276,7 +276,7 @@ function onJoinGroupon() {
|
|||||||
|
|
||||||
// 立即购买
|
// 立即购买
|
||||||
function onBuy(sku) {
|
function onBuy(sku) {
|
||||||
sheep.$router.go('/pages/mall/order/confirm', {
|
sheep.$router.go('/modules/mall/order/confirm', {
|
||||||
data: JSON.stringify({
|
data: JSON.stringify({
|
||||||
order_type: 'goods',
|
order_type: 'goods',
|
||||||
combinationActivityId: state.activity.id,
|
combinationActivityId: state.activity.id,
|
||||||
@ -343,7 +343,7 @@ onLoad((options) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.recharge-box {
|
.recharge-box {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 100rpx;
|
height: 100rpx;
|
@ -33,7 +33,7 @@
|
|||||||
size="lg"
|
size="lg"
|
||||||
:data="item"
|
:data="item"
|
||||||
:grouponTag="true"
|
:grouponTag="true"
|
||||||
@click="sheep.$router.go('/pages/mall/goods/groupon', { id: item.id })"
|
@click="sheep.$router.go('/modules/mall/goods/groupon', { id: item.id })"
|
||||||
>
|
>
|
||||||
<template v-slot:cart>
|
<template v-slot:cart>
|
||||||
<button class="ss-reset-button cart-btn">去拼团</button>
|
<button class="ss-reset-button cart-btn">去拼团</button>
|
||||||
@ -114,7 +114,7 @@ onLoad(() => {
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.page-bg {
|
.page-bg {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 458rpx;
|
height: 458rpx;
|
@ -38,14 +38,14 @@
|
|||||||
<view class="order-card-footer ss-flex ss-row-right ss-p-x-20">
|
<view class="order-card-footer ss-flex ss-row-right ss-p-x-20">
|
||||||
<button
|
<button
|
||||||
class="detail-btn ss-reset-button"
|
class="detail-btn ss-reset-button"
|
||||||
@tap="sheep.$router.go('/pages/mall/order/detail', { id: record.orderId })"
|
@tap="sheep.$router.go('/modules/mall/order/detail', { id: record.orderId })"
|
||||||
>
|
>
|
||||||
订单详情
|
订单详情
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
class="tool-btn ss-reset-button"
|
class="tool-btn ss-reset-button"
|
||||||
:class="{ 'ui-BG-Main-Gradient': record.status === 0 }"
|
:class="{ 'ui-BG-Main-Gradient': record.status === 0 }"
|
||||||
@tap="sheep.$router.go('/pages/mall/activity/groupon/detail', { id: record.id })"
|
@tap="sheep.$router.go('/modules/mall/activity/groupon/detail', { id: record.id })"
|
||||||
>
|
>
|
||||||
{{ record.status === 0 ? '邀请拼团' : '拼团详情' }}
|
{{ record.status === 0 ? '邀请拼团' : '拼团详情' }}
|
||||||
</button>
|
</button>
|
||||||
@ -157,7 +157,7 @@ onPullDownRefresh(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.swiper-box {
|
.swiper-box {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|
@ -23,7 +23,7 @@
|
|||||||
class="goods-md-box"
|
class="goods-md-box"
|
||||||
size="md"
|
size="md"
|
||||||
:data="item"
|
:data="item"
|
||||||
@click="sheep.$router.go('/pages/mall/goods/index', { id: item.id })"
|
@click="sheep.$router.go('/modules/mall/goods/index', { id: item.id })"
|
||||||
@getHeight="mountMasonry($event, 'left')"
|
@getHeight="mountMasonry($event, 'left')"
|
||||||
>
|
>
|
||||||
<template v-slot:cart>
|
<template v-slot:cart>
|
||||||
@ -38,7 +38,7 @@
|
|||||||
class="goods-md-box"
|
class="goods-md-box"
|
||||||
size="md"
|
size="md"
|
||||||
:data="item"
|
:data="item"
|
||||||
@click="sheep.$router.go('/pages/mall/goods/index', { id: item.id })"
|
@click="sheep.$router.go('/modules/mall/goods/index', { id: item.id })"
|
||||||
@getHeight="mountMasonry($event, 'right')"
|
@getHeight="mountMasonry($event, 'right')"
|
||||||
>
|
>
|
||||||
<template v-slot:cart>
|
<template v-slot:cart>
|
||||||
@ -158,7 +158,7 @@ onLoad(async (options) => {
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.goods-list-box {
|
.goods-list-box {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: 50%;
|
width: 50%;
|
@ -91,7 +91,7 @@
|
|||||||
:data="{ ...activity, price: activity.seckillPrice }"
|
:data="{ ...activity, price: activity.seckillPrice }"
|
||||||
:goodsFields="goodsFields"
|
:goodsFields="goodsFields"
|
||||||
:seckillTag="true"
|
:seckillTag="true"
|
||||||
@click="sheep.$router.go('/pages/mall/goods/seckill', { id: activity.id })"
|
@click="sheep.$router.go('/modules/mall/goods/seckill', { id: activity.id })"
|
||||||
>
|
>
|
||||||
<!-- 抢购进度 -->
|
<!-- 抢购进度 -->
|
||||||
<template #activity>
|
<template #activity>
|
||||||
@ -252,7 +252,7 @@ onLoad(async () => {
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
// 顶部背景图
|
// 顶部背景图
|
||||||
.page-bg {
|
.page-bg {
|
||||||
width: 100%;
|
width: 100%;
|
@ -164,7 +164,7 @@ onReady(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.header-box {
|
.header-box {
|
||||||
border-top: 2rpx solid rgba(#dfdfdf, 0.5);
|
border-top: 2rpx solid rgba(#dfdfdf, 0.5);
|
||||||
}
|
}
|
@ -19,5 +19,5 @@ const props = defineProps({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
</style>
|
</style>
|
@ -59,7 +59,7 @@ function sendMessage() {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.send-wrap {
|
.send-wrap {
|
||||||
padding: 18rpx 20rpx;
|
padding: 18rpx 20rpx;
|
||||||
background: #fff;
|
background: #fff;
|
@ -44,7 +44,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import MessageListItem from '@/pages/mall/chat/components/messageListItem.vue'
|
import MessageListItem from '@/modules/mall/chat/components/messageListItem.vue'
|
||||||
import { reactive, ref } from 'vue'
|
import { reactive, ref } from 'vue'
|
||||||
import KeFuApi from '@/sheep/api/promotion/kefu'
|
import KeFuApi from '@/sheep/api/promotion/kefu'
|
||||||
import { isEmpty } from '@/sheep/helper/utils'
|
import { isEmpty } from '@/sheep/helper/utils'
|
||||||
@ -108,5 +108,5 @@ const onScrollToUpper = () => {
|
|||||||
defineExpose({ getMessageList, refreshMessageList })
|
defineExpose({ getMessageList, refreshMessageList })
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
</style>
|
</style>
|
@ -71,7 +71,7 @@
|
|||||||
<GoodsItem
|
<GoodsItem
|
||||||
:goodsData="getMessageContent(message)"
|
:goodsData="getMessageContent(message)"
|
||||||
@tap="
|
@tap="
|
||||||
sheep.$router.go('/pages/mall/goods/index', {
|
sheep.$router.go('/modules/mall/goods/index', {
|
||||||
id: getMessageContent(message).id,
|
id: getMessageContent(message).id,
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
@ -81,7 +81,7 @@
|
|||||||
<OrderItem
|
<OrderItem
|
||||||
:orderData="getMessageContent(message)"
|
:orderData="getMessageContent(message)"
|
||||||
@tap="
|
@tap="
|
||||||
sheep.$router.go('/pages/mall/order/detail', {
|
sheep.$router.go('/modules/mall/order/detail', {
|
||||||
id: getMessageContent(message).id,
|
id: getMessageContent(message).id,
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
@ -105,12 +105,12 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { computed, unref } from 'vue'
|
import { computed, unref } from 'vue'
|
||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
import { KeFuMessageContentTypeEnum, UserTypeEnum } from '@/pages/mall/chat/util/constants'
|
import { KeFuMessageContentTypeEnum, UserTypeEnum } from '@/modules/mall/chat/util/constants'
|
||||||
import { emojiList } from '@/pages/mall/chat/util/emoji'
|
import { emojiList } from '@/modules/mall/chat/util/emoji'
|
||||||
import sheep from '@/sheep'
|
import sheep from '@/sheep'
|
||||||
import { formatDate } from '@/sheep/util'
|
import { formatDate } from '@/sheep/util'
|
||||||
import GoodsItem from '@/pages/mall/chat/components/goods.vue'
|
import GoodsItem from '@/modules/mall/chat/components/goods.vue'
|
||||||
import OrderItem from '@/pages/mall/chat/components/order.vue'
|
import OrderItem from '@/modules/mall/chat/components/order.vue'
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
// 消息
|
// 消息
|
||||||
@ -173,7 +173,7 @@ function selEmojiFile(name) {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.message-item {
|
.message-item {
|
||||||
margin-bottom: 33rpx;
|
margin-bottom: 33rpx;
|
||||||
}
|
}
|
@ -38,7 +38,7 @@ const props = defineProps({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.order-list-card-box {
|
.order-list-card-box {
|
||||||
.order-card-header {
|
.order-card-header {
|
||||||
height: 80rpx;
|
height: 80rpx;
|
@ -102,7 +102,7 @@ function loadmore() {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.select-popup {
|
.select-popup {
|
||||||
max-height: 600rpx;
|
max-height: 600rpx;
|
||||||
|
|
@ -68,7 +68,7 @@
|
|||||||
/**
|
/**
|
||||||
* 聊天工具
|
* 聊天工具
|
||||||
*/
|
*/
|
||||||
import { emojiPage } from '@/pages/mall/chat/util/emoji'
|
import { emojiPage } from '@/modules/mall/chat/util/emoji'
|
||||||
import sheep from '@/sheep'
|
import sheep from '@/sheep'
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@ -107,7 +107,7 @@ function onShowSelect(mode) {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.content {
|
.content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
align-content: space-around;
|
align-content: space-around;
|
@ -42,16 +42,16 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import MessageList from '@/pages/mall/chat/components/messageList.vue'
|
import MessageList from '@/modules/mall/chat/components/messageList.vue'
|
||||||
import { reactive, ref, toRefs } from 'vue'
|
import { reactive, ref, toRefs } from 'vue'
|
||||||
import sheep from '@/sheep'
|
import sheep from '@/sheep'
|
||||||
import ToolsPopup from '@/pages/mall/chat/components/toolsPopup.vue'
|
import ToolsPopup from '@/modules/mall/chat/components/toolsPopup.vue'
|
||||||
import MessageInput from '@/pages/mall/chat/components/messageInput.vue'
|
import MessageInput from '@/modules/mall/chat/components/messageInput.vue'
|
||||||
import SelectPopup from '@/pages/mall/chat/components/select-popup.vue'
|
import SelectPopup from '@/modules/mall/chat/components/select-popup.vue'
|
||||||
import {
|
import {
|
||||||
KeFuMessageContentTypeEnum,
|
KeFuMessageContentTypeEnum,
|
||||||
WebSocketMessageTypeConstants,
|
WebSocketMessageTypeConstants,
|
||||||
} from '@/pages/mall/chat/util/constants'
|
} from '@/modules/mall/chat/util/constants'
|
||||||
import FileApi from '@/sheep/api/infra/file'
|
import FileApi from '@/sheep/api/infra/file'
|
||||||
import KeFuApi from '@/sheep/api/promotion/kefu'
|
import KeFuApi from '@/sheep/api/promotion/kefu'
|
||||||
import { useWebSocket } from '@/sheep/hooks/useWebSocket'
|
import { useWebSocket } from '@/sheep/hooks/useWebSocket'
|
||||||
@ -179,7 +179,7 @@ const isReconnecting = toRefs(options).isReconnecting // 重连状态
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.chat-wrap {
|
.chat-wrap {
|
||||||
.page-bg {
|
.page-bg {
|
||||||
position: absolute;
|
position: absolute;
|
@ -149,7 +149,7 @@ function getMonthTimes() {
|
|||||||
// TODO 芋艿:css 需要优化下;并且展示样式有问题
|
// TODO 芋艿:css 需要优化下;并且展示样式有问题
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.CommissionRank .header {
|
.CommissionRank .header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 344rpx;
|
height: 344rpx;
|
@ -16,7 +16,7 @@
|
|||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
</view>
|
</view>
|
||||||
<view class="ss-flex" @tap="sheep.$router.go('/pages/mall/commission/wallet')">
|
<view class="ss-flex" @tap="sheep.$router.go('/modules/mall/commission/wallet')">
|
||||||
<view class="header-title ss-m-r-4">查看明细</view>
|
<view class="header-title ss-m-r-4">查看明细</view>
|
||||||
<text class="cicon-play-arrow" />
|
<text class="cicon-play-arrow" />
|
||||||
</view>
|
</view>
|
||||||
@ -69,7 +69,7 @@ onMounted(async () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.account-card {
|
.account-card {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 3;
|
z-index: 3;
|
@ -102,7 +102,7 @@ const hideModal = () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.ss-modal-box {
|
.ss-modal-box {
|
||||||
max-height: 1000rpx;
|
max-height: 1000rpx;
|
||||||
border-radius: 30rpx 30rpx 0 0;
|
border-radius: 30rpx 30rpx 0 0;
|
@ -49,7 +49,7 @@ onShow(async () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.notice-box {
|
.notice-box {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
@ -28,7 +28,7 @@ const state = reactive({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
// 用户资料卡片
|
// 用户资料卡片
|
||||||
.user-card {
|
.user-card {
|
||||||
width: 690rpx;
|
width: 690rpx;
|
@ -94,7 +94,7 @@ function loadmore() {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.distribution-log-wrap {
|
.distribution-log-wrap {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 3;
|
z-index: 3;
|
@ -35,27 +35,27 @@ const state = reactive({
|
|||||||
{
|
{
|
||||||
img: '/static/img/shop/commission/commission_icon1.png',
|
img: '/static/img/shop/commission/commission_icon1.png',
|
||||||
title: '我的团队',
|
title: '我的团队',
|
||||||
path: '/pages/mall/commission/team',
|
path: '/modules/mall/commission/team',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
img: '/static/img/shop/commission/commission_icon2.png',
|
img: '/static/img/shop/commission/commission_icon2.png',
|
||||||
title: '佣金明细',
|
title: '佣金明细',
|
||||||
path: '/pages/mall/commission/wallet',
|
path: '/modules/mall/commission/wallet',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
img: '/static/img/shop/commission/commission_icon3.png',
|
img: '/static/img/shop/commission/commission_icon3.png',
|
||||||
title: '分销订单',
|
title: '分销订单',
|
||||||
path: '/pages/mall/commission/order',
|
path: '/modules/mall/commission/order',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
img: '/static/img/shop/commission/commission_icon4.png',
|
img: '/static/img/shop/commission/commission_icon4.png',
|
||||||
title: '推广商品',
|
title: '推广商品',
|
||||||
path: '/pages/mall/commission/goods',
|
path: '/modules/mall/commission/goods',
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// img: '/static/img/shop/commission/commission_icon5.png',
|
// img: '/static/img/shop/commission/commission_icon5.png',
|
||||||
// title: '我的资料',
|
// title: '我的资料',
|
||||||
// path: '/pages/mall/commission/apply',
|
// path: '/modules/mall/commission/apply',
|
||||||
// isAgentFrom: true,
|
// isAgentFrom: true,
|
||||||
// },
|
// },
|
||||||
// todo @芋艿:邀请海报需要登录后的个人数据
|
// todo @芋艿:邀请海报需要登录后的个人数据
|
||||||
@ -68,19 +68,19 @@ const state = reactive({
|
|||||||
{
|
{
|
||||||
// img: '/static/img/shop/commission/commission_icon7.png',
|
// img: '/static/img/shop/commission/commission_icon7.png',
|
||||||
title: '推广排行',
|
title: '推广排行',
|
||||||
path: '/pages/mall/commission/promoter',
|
path: '/modules/mall/commission/promoter',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// img: '/static/img/shop/commission/commission_icon7.png',
|
// img: '/static/img/shop/commission/commission_icon7.png',
|
||||||
title: '佣金排行',
|
title: '佣金排行',
|
||||||
path: '/pages/mall/commission/commission-ranking',
|
path: '/modules/mall/commission/commission-ranking',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.menu-box {
|
.menu-box {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 3;
|
z-index: 3;
|
@ -10,7 +10,7 @@
|
|||||||
:price="item.price"
|
:price="item.price"
|
||||||
:originPrice="item.marketPrice"
|
:originPrice="item.marketPrice"
|
||||||
priceColor="#333"
|
priceColor="#333"
|
||||||
@tap="sheep.$router.go('/pages/mall/goods/index', { id: item.id })"
|
@tap="sheep.$router.go('/modules/mall/goods/index', { id: item.id })"
|
||||||
>
|
>
|
||||||
<template #rightBottom>
|
<template #rightBottom>
|
||||||
<view class="ss-flex ss-row-between">
|
<view class="ss-flex ss-row-between">
|
||||||
@ -140,7 +140,7 @@ onReachBottom(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.goods-item {
|
.goods-item {
|
||||||
.commission-num {
|
.commission-num {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
@ -49,7 +49,7 @@ const bgStyle = {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
:deep(.page-main) {
|
:deep(.page-main) {
|
||||||
background-size: 100% 100% !important;
|
background-size: 100% 100% !important;
|
||||||
}
|
}
|
@ -162,7 +162,7 @@ onReachBottom(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.header-box {
|
.header-box {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: 750rpx;
|
width: 750rpx;
|
@ -333,7 +333,7 @@ onReachBottom(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.l1 {
|
.l1 {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
@ -20,7 +20,7 @@
|
|||||||
<view class="ss-m-r-20">
|
<view class="ss-m-r-20">
|
||||||
<button
|
<button
|
||||||
class="ss-reset-button withdraw-btn"
|
class="ss-reset-button withdraw-btn"
|
||||||
@tap="sheep.$router.go('/pages/mall/commission/withdraw')"
|
@tap="sheep.$router.go('/modules/mall/commission/withdraw')"
|
||||||
>
|
>
|
||||||
提现
|
提现
|
||||||
</button>
|
</button>
|
||||||
@ -282,7 +282,7 @@ onReachBottom(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
// 钱包
|
// 钱包
|
||||||
.header-box {
|
.header-box {
|
||||||
padding: 30rpx;
|
padding: 30rpx;
|
@ -17,7 +17,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<button
|
<button
|
||||||
class="ss-reset-button log-btn"
|
class="ss-reset-button log-btn"
|
||||||
@tap="sheep.$router.go('/pages/mall/commission/wallet', { type: 2 })"
|
@tap="sheep.$router.go('/modules/mall/commission/wallet', { type: 2 })"
|
||||||
>
|
>
|
||||||
提现记录
|
提现记录
|
||||||
</button>
|
</button>
|
||||||
@ -219,7 +219,7 @@ const onConfirm = async () => {
|
|||||||
confirmText: '查看记录',
|
confirmText: '查看记录',
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
sheep.$router.go('/pages/mall/commission/wallet', { type: 2 })
|
sheep.$router.go('/modules/mall/commission/wallet', { type: 2 })
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
getBrokerageUser()
|
getBrokerageUser()
|
||||||
@ -256,7 +256,7 @@ onBeforeMount(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
:deep() {
|
:deep() {
|
||||||
.uni-input-input {
|
.uni-input-input {
|
||||||
font-family: OPPOSANS !important;
|
font-family: OPPOSANS !important;
|
@ -96,7 +96,7 @@
|
|||||||
class="ss-m-20"
|
class="ss-m-20"
|
||||||
size="lg"
|
size="lg"
|
||||||
:data="item"
|
:data="item"
|
||||||
@click="sheep.$router.go('/pages/mall/goods/index', { id: item.id })"
|
@click="sheep.$router.go('/modules/mall/goods/index', { id: item.id })"
|
||||||
:goodsFields="{
|
:goodsFields="{
|
||||||
title: { show: true },
|
title: { show: true },
|
||||||
subtitle: { show: true },
|
subtitle: { show: true },
|
||||||
@ -115,7 +115,7 @@
|
|||||||
class="ss-m-20"
|
class="ss-m-20"
|
||||||
size="lg"
|
size="lg"
|
||||||
:data="item"
|
:data="item"
|
||||||
@click="sheep.$router.go('/pages/mall/goods/index', { id: item.id })"
|
@click="sheep.$router.go('/modules/mall/goods/index', { id: item.id })"
|
||||||
:goodsFields="{
|
:goodsFields="{
|
||||||
title: { show: true },
|
title: { show: true },
|
||||||
subtitle: { show: true },
|
subtitle: { show: true },
|
||||||
@ -274,7 +274,7 @@ onReachBottom(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.goods-title {
|
.goods-title {
|
||||||
font-size: 34rpx;
|
font-size: 34rpx;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
@ -19,7 +19,7 @@
|
|||||||
<view v-for="item in state.pagination.list" :key="item.id">
|
<view v-for="item in state.pagination.list" :key="item.id">
|
||||||
<s-coupon-list
|
<s-coupon-list
|
||||||
:data="item"
|
:data="item"
|
||||||
@tap="sheep.$router.go('/pages/mall/coupon/detail', { id: item.id })"
|
@tap="sheep.$router.go('/modules/mall/coupon/detail', { id: item.id })"
|
||||||
>
|
>
|
||||||
<template #default>
|
<template #default>
|
||||||
<button
|
<button
|
||||||
@ -40,14 +40,14 @@
|
|||||||
<s-coupon-list
|
<s-coupon-list
|
||||||
:data="item"
|
:data="item"
|
||||||
type="user"
|
type="user"
|
||||||
@tap="sheep.$router.go('/pages/mall/coupon/detail', { couponId: item.id })"
|
@tap="sheep.$router.go('/modules/mall/coupon/detail', { couponId: item.id })"
|
||||||
>
|
>
|
||||||
<template #default>
|
<template #default>
|
||||||
<button
|
<button
|
||||||
class="ss-reset-button card-btn ss-flex ss-row-center ss-col-center"
|
class="ss-reset-button card-btn ss-flex ss-row-center ss-col-center"
|
||||||
:class="item.status !== 1 ? 'disabled-btn' : ''"
|
:class="item.status !== 1 ? 'disabled-btn' : ''"
|
||||||
:disabled="item.status !== 1"
|
:disabled="item.status !== 1"
|
||||||
@click.stop="sheep.$router.go('/pages/mall/coupon/detail', { couponId: item.id })"
|
@click.stop="sheep.$router.go('/modules/mall/coupon/detail', { couponId: item.id })"
|
||||||
>
|
>
|
||||||
{{ item.status === 1 ? '立即使用' : item.status === 2 ? '已使用' : '已过期' }}
|
{{ item.status === 1 ? '立即使用' : item.status === 2 ? '已使用' : '已过期' }}
|
||||||
</button>
|
</button>
|
||||||
@ -199,7 +199,7 @@ onReachBottom(() => {
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.card-btn {
|
.card-btn {
|
||||||
height: 50rpx;
|
height: 50rpx;
|
||||||
// width: 144rpx;
|
// width: 144rpx;
|
@ -111,7 +111,7 @@ onLoad(async (options) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
// 评价商品
|
// 评价商品
|
||||||
.goods-card {
|
.goods-card {
|
||||||
padding: 20rpx;
|
padding: 20rpx;
|
@ -100,7 +100,7 @@ onReachBottom(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.list-item {
|
.list-item {
|
||||||
padding: 32rpx 30rpx 20rpx 20rpx;
|
padding: 32rpx 30rpx 20rpx 20rpx;
|
||||||
background: #fff;
|
background: #fff;
|
@ -48,7 +48,7 @@ const props = defineProps({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.avatar {
|
.avatar {
|
||||||
width: 52rpx;
|
width: 52rpx;
|
||||||
height: 52rpx;
|
height: 52rpx;
|
@ -49,14 +49,14 @@ const props = defineProps({
|
|||||||
function onActivity(activity) {
|
function onActivity(activity) {
|
||||||
const type = activity.type
|
const type = activity.type
|
||||||
const typePath = type === 1 ? 'seckill' : type === 2 ? 'TODO 拼团' : 'groupon'
|
const typePath = type === 1 ? 'seckill' : type === 2 ? 'TODO 拼团' : 'groupon'
|
||||||
sheep.$router.go(`/pages/mall/goods/${typePath}`, {
|
sheep.$router.go(`/modules/mall/goods/${typePath}`, {
|
||||||
id: activity.id,
|
id: activity.id,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.activity-box {
|
.activity-box {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: 100%;
|
width: 100%;
|
@ -31,5 +31,5 @@ const value = computed(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
</style>
|
</style>
|
@ -34,7 +34,7 @@ const onClick = () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.detail-cell-wrap {
|
.detail-cell-wrap {
|
||||||
padding: 10rpx 20rpx;
|
padding: 10rpx 20rpx;
|
||||||
// min-height: 60rpx;
|
// min-height: 60rpx;
|
@ -9,7 +9,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
class="ss-flex ss-col-center"
|
class="ss-flex ss-col-center"
|
||||||
@tap="sheep.$router.go('/pages/mall/goods/comment/list', { id: goodsId })"
|
@tap="sheep.$router.go('/modules/mall/goods/comment/list', { id: goodsId })"
|
||||||
v-if="state.commentList.length > 0"
|
v-if="state.commentList.length > 0"
|
||||||
>
|
>
|
||||||
<button class="ss-reset-button more-btn">查看全部</button>
|
<button class="ss-reset-button more-btn">查看全部</button>
|
||||||
@ -61,7 +61,7 @@ onBeforeMount(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.detail-comment-card {
|
.detail-comment-card {
|
||||||
padding: 20rpx 20rpx 0 20rpx;
|
padding: 20rpx 20rpx 0 20rpx;
|
||||||
margin: 0 20rpx 20rpx 20rpx;
|
margin: 0 20rpx 20rpx 20rpx;
|
@ -24,7 +24,7 @@ const props = defineProps({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.detail-content-card {
|
.detail-content-card {
|
||||||
.card-header {
|
.card-header {
|
||||||
.line {
|
.line {
|
@ -82,7 +82,7 @@ function onClickLeft() {
|
|||||||
if (hasHistory) {
|
if (hasHistory) {
|
||||||
sheep.$router.back()
|
sheep.$router.back()
|
||||||
} else {
|
} else {
|
||||||
sheep.$router.go('/pages/mall/index/index')
|
sheep.$router.go('/modules/mall/index/index')
|
||||||
}
|
}
|
||||||
emits('clickLeft')
|
emits('clickLeft')
|
||||||
}
|
}
|
||||||
@ -149,7 +149,7 @@ onPageScroll((e) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.icon-box {
|
.icon-box {
|
||||||
box-shadow:
|
box-shadow:
|
||||||
0px 0px 4rpx rgba(51, 51, 51, 0.08),
|
0px 0px 4rpx rgba(51, 51, 51, 0.08),
|
@ -18,7 +18,7 @@ const props = defineProps({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.progress-title {
|
.progress-title {
|
||||||
font-size: 20rpx;
|
font-size: 20rpx;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
@ -62,7 +62,7 @@ const sys = computed(() => sheep.$store('sys'))
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
@keyframes loading {
|
@keyframes loading {
|
||||||
0% {
|
0% {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
@ -135,14 +135,14 @@ async function onFavorite() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const onChat = () => {
|
const onChat = () => {
|
||||||
sheep.$router.go('/pages/mall/chat/index', {
|
sheep.$router.go('/modules/mall/chat/index', {
|
||||||
id: props.modelValue.id,
|
id: props.modelValue.id,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.ui-tabbar-box {
|
.ui-tabbar-box {
|
||||||
box-shadow: 0px -6px 10px 0px rgba(51, 51, 51, 0.2);
|
box-shadow: 0px -6px 10px 0px rgba(51, 51, 51, 0.2);
|
||||||
}
|
}
|
@ -8,7 +8,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
v-for="(record, index) in state.list"
|
v-for="(record, index) in state.list"
|
||||||
@tap="sheep.$router.go('/pages/mall/activity/groupon/detail', { id: record.id })"
|
@tap="sheep.$router.go('/modules/mall/activity/groupon/detail', { id: record.id })"
|
||||||
:key="index"
|
:key="index"
|
||||||
class="ss-m-t-40 ss-flex ss-row-between border-bottom ss-p-b-30"
|
class="ss-m-t-40 ss-flex ss-row-between border-bottom ss-p-b-30"
|
||||||
>
|
>
|
||||||
@ -80,7 +80,7 @@ onMounted(async () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.detail-card {
|
.detail-card {
|
||||||
margin: 14rpx 20rpx;
|
margin: 14rpx 20rpx;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
@ -54,7 +54,7 @@ const onClick = () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.goods-img {
|
.goods-img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
@ -84,7 +84,7 @@ const onTab = (item) => {}
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.back-icon {
|
.back-icon {
|
||||||
font-size: 40rpx;
|
font-size: 40rpx;
|
||||||
}
|
}
|
@ -110,7 +110,7 @@
|
|||||||
<view class="buy-box ss-flex ss-col-center ss-p-r-20">
|
<view class="buy-box ss-flex ss-col-center ss-p-r-20">
|
||||||
<button
|
<button
|
||||||
class="ss-reset-button origin-price-btn ss-flex-col"
|
class="ss-reset-button origin-price-btn ss-flex-col"
|
||||||
@tap="sheep.$router.go('/pages/mall/goods/index', { id: state.goodsInfo.id })"
|
@tap="sheep.$router.go('/modules/mall/goods/index', { id: state.goodsInfo.id })"
|
||||||
>
|
>
|
||||||
<view class="btn-price">{{ fen2yuan(state.goodsInfo.marketPrice) }}</view>
|
<view class="btn-price">{{ fen2yuan(state.goodsInfo.marketPrice) }}</view>
|
||||||
<view>原价购买</view>
|
<view>原价购买</view>
|
||||||
@ -220,7 +220,7 @@ function onJoinGroupon(record) {
|
|||||||
|
|
||||||
// 立即购买
|
// 立即购买
|
||||||
function onBuy(sku) {
|
function onBuy(sku) {
|
||||||
sheep.$router.go('/pages/mall/order/confirm', {
|
sheep.$router.go('/modules/mall/order/confirm', {
|
||||||
data: JSON.stringify({
|
data: JSON.stringify({
|
||||||
order_type: 'goods',
|
order_type: 'goods',
|
||||||
combinationActivityId: state.activity.id,
|
combinationActivityId: state.activity.id,
|
||||||
@ -299,7 +299,7 @@ onLoad(async (options) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.detail-card {
|
.detail-card {
|
||||||
margin: 14rpx 20rpx;
|
margin: 14rpx 20rpx;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
@ -13,7 +13,7 @@
|
|||||||
icon="/static/soldout-empty.png"
|
icon="/static/soldout-empty.png"
|
||||||
showAction
|
showAction
|
||||||
actionText="再逛逛"
|
actionText="再逛逛"
|
||||||
actionUrl="/pages/mall/goods/list"
|
actionUrl="/modules/mall/goods/list"
|
||||||
/>
|
/>
|
||||||
<block v-else>
|
<block v-else>
|
||||||
<view class="detail-swiper-selector">
|
<view class="detail-swiper-selector">
|
||||||
@ -36,11 +36,13 @@
|
|||||||
{{ fen2yuan(state.selectedSku.price || state.goodsInfo.price) }}
|
{{ fen2yuan(state.selectedSku.price || state.goodsInfo.price) }}
|
||||||
</view>
|
</view>
|
||||||
<view class="origin-price-text" v-if="state.goodsInfo.marketPrice > 0">
|
<view class="origin-price-text" v-if="state.goodsInfo.marketPrice > 0">
|
||||||
{{ fen2yuan(state.selectedSku.marketPrice || state.goodsInfo.marketPrice) }}
|
{{
|
||||||
|
fen2yuan(state.selectedSku.marketPrice || state.goodsInfo.marketPrice)
|
||||||
|
}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="sales-text">
|
<view class="sales-text">
|
||||||
{{ formatSales('exact', state.goodsInfo.salesCount) }}
|
{{ formatSales("exact", state.goodsInfo.salesCount) }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="discounts-box ss-flex ss-row-between ss-m-b-28">
|
<view class="discounts-box ss-flex ss-row-between ss-m-b-28">
|
||||||
@ -69,7 +71,9 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="title-text ss-line-2 ss-m-b-6">{{ state.goodsInfo.name }}</view>
|
<view class="title-text ss-line-2 ss-m-b-6">{{ state.goodsInfo.name }}</view>
|
||||||
<view class="subtitle-text ss-line-1">{{ state.goodsInfo.introduction }}</view>
|
<view class="subtitle-text ss-line-1">{{
|
||||||
|
state.goodsInfo.introduction
|
||||||
|
}}</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 功能卡片 -->
|
<!-- 功能卡片 -->
|
||||||
@ -108,7 +112,10 @@
|
|||||||
|
|
||||||
<!-- 详情 tabbar -->
|
<!-- 详情 tabbar -->
|
||||||
<detail-tabbar v-model="state.goodsInfo">
|
<detail-tabbar v-model="state.goodsInfo">
|
||||||
<view class="buy-box ss-flex ss-col-center ss-p-r-20" v-if="state.goodsInfo.stock > 0">
|
<view
|
||||||
|
class="buy-box ss-flex ss-col-center ss-p-r-20"
|
||||||
|
v-if="state.goodsInfo.stock > 0"
|
||||||
|
>
|
||||||
<button
|
<button
|
||||||
class="ss-reset-button add-btn ui-Shadow-Main"
|
class="ss-reset-button add-btn ui-Shadow-Main"
|
||||||
@tap="state.showSelectSku = true"
|
@tap="state.showSelectSku = true"
|
||||||
@ -147,26 +154,26 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { reactive, computed } from 'vue'
|
import { reactive, computed } from "vue";
|
||||||
import { onLoad, onPageScroll } from '@dcloudio/uni-app'
|
import { onLoad, onPageScroll } from "@dcloudio/uni-app";
|
||||||
import sheep from '@/sheep'
|
import sheep from "@/sheep";
|
||||||
import CouponApi from '@/sheep/api/promotion/coupon'
|
import CouponApi from "@/sheep/api/promotion/coupon";
|
||||||
import ActivityApi from '@/sheep/api/promotion/activity'
|
import ActivityApi from "@/sheep/api/promotion/activity";
|
||||||
import FavoriteApi from '@/sheep/api/product/favorite'
|
import FavoriteApi from "@/sheep/api/product/favorite";
|
||||||
import { formatSales, formatGoodsSwiper, fen2yuan } from '@/sheep/hooks/useGoods'
|
import { formatSales, formatGoodsSwiper, fen2yuan } from "@/sheep/hooks/useGoods";
|
||||||
import detailNavbar from './components/detail/detail-navbar.vue'
|
import detailNavbar from "./components/detail/detail-navbar.vue";
|
||||||
import detailCellSku from './components/detail/detail-cell-sku.vue'
|
import detailCellSku from "./components/detail/detail-cell-sku.vue";
|
||||||
import detailTabbar from './components/detail/detail-tabbar.vue'
|
import detailTabbar from "./components/detail/detail-tabbar.vue";
|
||||||
import detailSkeleton from './components/detail/detail-skeleton.vue'
|
import detailSkeleton from "./components/detail/detail-skeleton.vue";
|
||||||
import detailCommentCard from './components/detail/detail-comment-card.vue'
|
import detailCommentCard from "./components/detail/detail-comment-card.vue";
|
||||||
import detailContentCard from './components/detail/detail-content-card.vue'
|
import detailContentCard from "./components/detail/detail-content-card.vue";
|
||||||
import detailActivityTip from './components/detail/detail-activity-tip.vue'
|
import detailActivityTip from "./components/detail/detail-activity-tip.vue";
|
||||||
import { isEmpty } from 'lodash-es'
|
import { isEmpty } from "lodash-es";
|
||||||
import SpuApi from '@/sheep/api/product/spu'
|
import SpuApi from "@/sheep/api/product/spu";
|
||||||
|
|
||||||
onPageScroll(() => {})
|
onPageScroll(() => {});
|
||||||
|
|
||||||
const isLogin = computed(() => sheep.$store('user').isLogin)
|
const isLogin = computed(() => sheep.$store("user").isLogin);
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
goodsId: 0,
|
goodsId: 0,
|
||||||
skeletonLoading: true, // SPU 加载中
|
skeletonLoading: true, // SPU 加载中
|
||||||
@ -178,29 +185,29 @@ const state = reactive({
|
|||||||
showActivityModel: false, // 【满减送/限时折扣】是否展示 Activity 营销活动的弹窗
|
showActivityModel: false, // 【满减送/限时折扣】是否展示 Activity 营销活动的弹窗
|
||||||
activityInfo: [], // 【满减送/限时折扣】可参与的 Activity 营销活动的列表
|
activityInfo: [], // 【满减送/限时折扣】可参与的 Activity 营销活动的列表
|
||||||
activityList: [], // 【秒杀/拼团/砍价】可参与的 Activity 营销活动的列表
|
activityList: [], // 【秒杀/拼团/砍价】可参与的 Activity 营销活动的列表
|
||||||
})
|
});
|
||||||
|
|
||||||
// 规格变更
|
// 规格变更
|
||||||
function onSkuChange(e) {
|
function onSkuChange(e) {
|
||||||
state.selectedSku = e
|
state.selectedSku = e;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加购物车
|
// 添加购物车
|
||||||
function onAddCart(e) {
|
function onAddCart(e) {
|
||||||
if (!e.id) {
|
if (!e.id) {
|
||||||
sheep.$helper.toast('请选择商品规格')
|
sheep.$helper.toast("请选择商品规格");
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
sheep.$store('cart').add(e)
|
sheep.$store("cart").add(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 立即购买
|
// 立即购买
|
||||||
function onBuy(e) {
|
function onBuy(e) {
|
||||||
if (!state.selectedSku.id) {
|
if (!state.selectedSku.id) {
|
||||||
sheep.$helper.toast('请选择商品规格')
|
sheep.$helper.toast("请选择商品规格");
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
sheep.$router.go('/pages/mall/order/confirm', {
|
sheep.$router.go("/modules/mall/order/confirm", {
|
||||||
data: JSON.stringify({
|
data: JSON.stringify({
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
@ -210,113 +217,113 @@ function onBuy(e) {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 营销活动
|
// 营销活动
|
||||||
function onActivity() {
|
function onActivity() {
|
||||||
state.showActivityModel = true
|
state.showActivityModel = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 立即领取
|
// 立即领取
|
||||||
async function onGet(id) {
|
async function onGet(id) {
|
||||||
const { code } = await CouponApi.takeCoupon(id)
|
const { code } = await CouponApi.takeCoupon(id);
|
||||||
if (code !== 0) {
|
if (code !== 0) {
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '领取成功',
|
title: "领取成功",
|
||||||
})
|
});
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
getCoupon()
|
getCoupon();
|
||||||
}, 1000)
|
}, 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO 芋艿:待测试
|
// TODO 芋艿:待测试
|
||||||
const shareInfo = computed(() => {
|
const shareInfo = computed(() => {
|
||||||
if (isEmpty(state.goodsInfo)) return {}
|
if (isEmpty(state.goodsInfo)) return {};
|
||||||
return sheep.$platform.share.getShareInfo(
|
return sheep.$platform.share.getShareInfo(
|
||||||
{
|
{
|
||||||
title: state.goodsInfo.name,
|
title: state.goodsInfo.name,
|
||||||
image: sheep.$url.cdn(state.goodsInfo.picUrl),
|
image: sheep.$url.cdn(state.goodsInfo.picUrl),
|
||||||
desc: state.goodsInfo.introduction,
|
desc: state.goodsInfo.introduction,
|
||||||
params: {
|
params: {
|
||||||
page: '2',
|
page: "2",
|
||||||
query: state.goodsInfo.id,
|
query: state.goodsInfo.id,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'goods', // 商品海报
|
type: "goods", // 商品海报
|
||||||
title: state.goodsInfo.name, // 商品名称
|
title: state.goodsInfo.name, // 商品名称
|
||||||
image: sheep.$url.cdn(state.goodsInfo.picUrl), // 商品主图
|
image: sheep.$url.cdn(state.goodsInfo.picUrl), // 商品主图
|
||||||
price: fen2yuan(state.goodsInfo.price), // 商品价格
|
price: fen2yuan(state.goodsInfo.price), // 商品价格
|
||||||
original_price: fen2yuan(state.goodsInfo.marketPrice), // 商品原价
|
original_price: fen2yuan(state.goodsInfo.marketPrice), // 商品原价
|
||||||
},
|
}
|
||||||
)
|
);
|
||||||
})
|
});
|
||||||
|
|
||||||
async function getCoupon() {
|
async function getCoupon() {
|
||||||
const { code, data } = await CouponApi.getCouponTemplateList(state.goodsId, 2, 10)
|
const { code, data } = await CouponApi.getCouponTemplateList(state.goodsId, 2, 10);
|
||||||
if (code === 0) {
|
if (code === 0) {
|
||||||
state.couponInfo = data
|
state.couponInfo = data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onLoad((options) => {
|
onLoad((options) => {
|
||||||
// 非法参数
|
// 非法参数
|
||||||
if (!options.id) {
|
if (!options.id) {
|
||||||
state.goodsInfo = null
|
state.goodsInfo = null;
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
state.goodsId = options.id
|
state.goodsId = options.id;
|
||||||
// 1. 加载商品信息
|
// 1. 加载商品信息
|
||||||
SpuApi.getSpuDetail(state.goodsId).then((res) => {
|
SpuApi.getSpuDetail(state.goodsId).then((res) => {
|
||||||
// 未找到商品
|
// 未找到商品
|
||||||
if (res.code !== 0 || !res.data) {
|
if (res.code !== 0 || !res.data) {
|
||||||
state.goodsInfo = null
|
state.goodsInfo = null;
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
// 加载到商品
|
// 加载到商品
|
||||||
state.skeletonLoading = false
|
state.skeletonLoading = false;
|
||||||
state.goodsInfo = res.data
|
state.goodsInfo = res.data;
|
||||||
|
|
||||||
// 加载是否收藏
|
// 加载是否收藏
|
||||||
if (isLogin.value) {
|
if (isLogin.value) {
|
||||||
FavoriteApi.isFavoriteExists(state.goodsId, 'goods').then((res) => {
|
FavoriteApi.isFavoriteExists(state.goodsId, "goods").then((res) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
state.goodsInfo.favorite = res.data
|
state.goodsInfo.favorite = res.data;
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
|
||||||
// 2. 加载优惠劵信息
|
// 2. 加载优惠劵信息
|
||||||
getCoupon()
|
getCoupon();
|
||||||
|
|
||||||
// 3. 加载营销活动信息
|
// 3. 加载营销活动信息
|
||||||
ActivityApi.getActivityListBySpuId(state.goodsId).then((res) => {
|
ActivityApi.getActivityListBySpuId(state.goodsId).then((res) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
res.data.forEach((activity) => {
|
res.data.forEach((activity) => {
|
||||||
if ([1, 2, 3].includes(activity.type)) {
|
if ([1, 2, 3].includes(activity.type)) {
|
||||||
// 情况一:拼团/秒杀/砍价
|
// 情况一:拼团/秒杀/砍价
|
||||||
state.activityList.push(activity)
|
state.activityList.push(activity);
|
||||||
} else if (activity.type === 5) {
|
} else if (activity.type === 5) {
|
||||||
// 情况二:满减送
|
// 情况二:满减送
|
||||||
state.activityInfo.push(activity)
|
state.activityInfo.push(activity);
|
||||||
} else {
|
} else {
|
||||||
// 情况三:限时折扣 TODO 芋艿
|
// 情况三:限时折扣 TODO 芋艿
|
||||||
console.log('待实现!优先级不高')
|
console.log("待实现!优先级不高");
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.detail-card {
|
.detail-card {
|
||||||
margin: 14rpx 20rpx;
|
margin: 14rpx 20rpx;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@ -336,7 +343,7 @@ onLoad((options) => {
|
|||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
content: '¥';
|
content: "¥";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -348,7 +355,7 @@ onLoad((options) => {
|
|||||||
text-decoration: line-through;
|
text-decoration: line-through;
|
||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
content: '¥';
|
content: "¥";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -61,7 +61,7 @@
|
|||||||
:data="item"
|
:data="item"
|
||||||
:topRadius="10"
|
:topRadius="10"
|
||||||
:bottomRadius="10"
|
:bottomRadius="10"
|
||||||
@click="sheep.$router.go('/pages/mall/goods/index', { id: item.id })"
|
@click="sheep.$router.go('/modules/mall/goods/index', { id: item.id })"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -78,7 +78,7 @@
|
|||||||
:data="item"
|
:data="item"
|
||||||
:topRadius="10"
|
:topRadius="10"
|
||||||
:bottomRadius="10"
|
:bottomRadius="10"
|
||||||
@click="sheep.$router.go('/pages/mall/goods/index', { id: item.id })"
|
@click="sheep.$router.go('/modules/mall/goods/index', { id: item.id })"
|
||||||
@getHeight="mountMasonry($event, 'left')"
|
@getHeight="mountMasonry($event, 'left')"
|
||||||
>
|
>
|
||||||
<template v-slot:cart>
|
<template v-slot:cart>
|
||||||
@ -95,7 +95,7 @@
|
|||||||
:topRadius="10"
|
:topRadius="10"
|
||||||
:bottomRadius="10"
|
:bottomRadius="10"
|
||||||
:data="item"
|
:data="item"
|
||||||
@click="sheep.$router.go('/pages/mall/goods/index', { id: item.id })"
|
@click="sheep.$router.go('/modules/mall/goods/index', { id: item.id })"
|
||||||
@getHeight="mountMasonry($event, 'right')"
|
@getHeight="mountMasonry($event, 'right')"
|
||||||
>
|
>
|
||||||
<template v-slot:cart>
|
<template v-slot:cart>
|
||||||
@ -305,7 +305,7 @@ onReachBottom(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.goods-list-box {
|
.goods-list-box {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: 50%;
|
width: 50%;
|
@ -12,7 +12,7 @@
|
|||||||
icon="/static/soldout-empty.png"
|
icon="/static/soldout-empty.png"
|
||||||
showAction
|
showAction
|
||||||
actionText="再逛逛"
|
actionText="再逛逛"
|
||||||
actionUrl="/pages/mall/goods/list"
|
actionUrl="/modules/mall/goods/list"
|
||||||
/>
|
/>
|
||||||
<block v-else>
|
<block v-else>
|
||||||
<view class="detail-swiper-selector">
|
<view class="detail-swiper-selector">
|
||||||
@ -94,7 +94,7 @@
|
|||||||
<button
|
<button
|
||||||
class="ss-reset-button origin-price-btn ss-flex-col"
|
class="ss-reset-button origin-price-btn ss-flex-col"
|
||||||
v-if="state.goodsInfo.marketPrice"
|
v-if="state.goodsInfo.marketPrice"
|
||||||
@tap="sheep.$router.go('/pages/mall/goods/index', { id: state.goodsInfo.id })"
|
@tap="sheep.$router.go('/modules/mall/goods/index', { id: state.goodsInfo.id })"
|
||||||
>
|
>
|
||||||
<view>
|
<view>
|
||||||
<view class="btn-price">{{ fen2yuan(state.goodsInfo.marketPrice) }}</view>
|
<view class="btn-price">{{ fen2yuan(state.goodsInfo.marketPrice) }}</view>
|
||||||
@ -181,7 +181,7 @@ function onSkuChange(e) {
|
|||||||
|
|
||||||
// 立即购买
|
// 立即购买
|
||||||
function onBuy(sku) {
|
function onBuy(sku) {
|
||||||
sheep.$router.go('/pages/mall/order/confirm', {
|
sheep.$router.go('/modules/mall/order/confirm', {
|
||||||
data: JSON.stringify({
|
data: JSON.stringify({
|
||||||
order_type: 'goods',
|
order_type: 'goods',
|
||||||
buy_type: 'seckill',
|
buy_type: 'seckill',
|
||||||
@ -281,7 +281,7 @@ onLoad((options) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.disabled-btn-box[disabled] {
|
.disabled-btn-box[disabled] {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<s-layout title="购物车" tabbar="/pages/mall/index/cart" :bgStyle="{ color: '#fff' }">
|
<s-layout title="购物车" tabbar="/modules/mall/index/cart" :bgStyle="{ color: '#fff' }">
|
||||||
<s-empty
|
<s-empty
|
||||||
v-if="state.list.length === 0"
|
v-if="state.list.length === 0"
|
||||||
text="购物车空空如也,快去逛逛吧~"
|
text="购物车空空如也,快去逛逛吧~"
|
||||||
@ -157,7 +157,7 @@ function onConfirm() {
|
|||||||
sheep.$helper.toast('请选择商品')
|
sheep.$helper.toast('请选择商品')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
sheep.$router.go('/pages/mall/order/confirm', {
|
sheep.$router.go('/modules/mall/order/confirm', {
|
||||||
data: JSON.stringify({
|
data: JSON.stringify({
|
||||||
items,
|
items,
|
||||||
}),
|
}),
|
||||||
@ -183,8 +183,8 @@ async function onDelete() {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
@import '@/scss/index.scss';
|
|
||||||
:deep(.ui-fixed) {
|
:deep(.ui-fixed) {
|
||||||
height: 72rpx;
|
height: 72rpx;
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
<!-- 商品分类列表 -->
|
<!-- 商品分类列表 -->
|
||||||
<template>
|
<template>
|
||||||
<s-layout title="分类" tabbar="/pages/mall/index/category" :bgStyle="{ color: '#fff' }">
|
<s-layout title="分类" tabbar="/modules/mall/index/category" :bgStyle="{ color: '#fff' }">
|
||||||
<view class="s-category">
|
<view class="s-category">
|
||||||
<view class="three-level-wrap ss-flex ss-col-top" :style="[{ height: pageHeight + 'px' }]">
|
<view class="three-level-wrap ss-flex ss-col-top" :style="[{ height: pageHeight + 'px' }]">
|
||||||
<!-- 商品分类(左) -->
|
<!-- 商品分类(左) -->
|
||||||
@ -146,7 +146,7 @@ onReachBottom(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.s-category {
|
.s-category {
|
||||||
:deep() {
|
:deep() {
|
||||||
.side-menu-wrap {
|
.side-menu-wrap {
|
@ -5,7 +5,7 @@
|
|||||||
<s-goods-column
|
<s-goods-column
|
||||||
size="sl"
|
size="sl"
|
||||||
:data="item"
|
:data="item"
|
||||||
@click="sheep.$router.go('/pages/mall/goods/index', { id: item.id })"
|
@click="sheep.$router.go('/modules/mall/goods/index', { id: item.id })"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -20,7 +20,7 @@ const props = defineProps({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.goods-box {
|
.goods-box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
@ -3,7 +3,7 @@
|
|||||||
<view>
|
<view>
|
||||||
<view class="ss-flex flex-wrap">
|
<view class="ss-flex flex-wrap">
|
||||||
<view class="goods-box" v-for="item in pagination?.list" :key="item.id">
|
<view class="goods-box" v-for="item in pagination?.list" :key="item.id">
|
||||||
<view @click="sheep.$router.go('/pages/mall/goods/index', { id: item.id })">
|
<view @click="sheep.$router.go('/modules/mall/goods/index', { id: item.id })">
|
||||||
<view class="goods-img">
|
<view class="goods-img">
|
||||||
<image class="goods-img" :src="item.picUrl" mode="aspectFit" />
|
<image class="goods-img" :src="item.picUrl" mode="aspectFit" />
|
||||||
</view>
|
</view>
|
||||||
@ -27,7 +27,7 @@ const props = defineProps({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.goods-box {
|
.goods-box {
|
||||||
width: calc((100% - 20rpx) / 2);
|
width: calc((100% - 20rpx) / 2);
|
||||||
margin-bottom: 20rpx;
|
margin-bottom: 20rpx;
|
@ -14,7 +14,7 @@
|
|||||||
v-for="item in props.data[activeMenu].children"
|
v-for="item in props.data[activeMenu].children"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
@tap="
|
@tap="
|
||||||
sheep.$router.go('/pages/mall/goods/list', {
|
sheep.$router.go('/modules/mall/goods/list', {
|
||||||
categoryId: item.id,
|
categoryId: item.id,
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
@ -41,7 +41,7 @@ const props = defineProps({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.title-box {
|
.title-box {
|
||||||
.title-line-left,
|
.title-line-left,
|
||||||
.title-line-right {
|
.title-line-right {
|
@ -6,7 +6,7 @@
|
|||||||
:navbarStyle="template.navigationBar"
|
:navbarStyle="template.navigationBar"
|
||||||
navbar="custom"
|
navbar="custom"
|
||||||
onShareAppMessage
|
onShareAppMessage
|
||||||
tabbar="/pages/mall/index/index"
|
tabbar="/modules/mall/index/index"
|
||||||
title="首页"
|
title="首页"
|
||||||
>
|
>
|
||||||
<s-block
|
<s-block
|
||||||
@ -100,5 +100,5 @@ onPageScroll(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
@import '@/scss/index.scss';
|
|
||||||
</style>
|
</style>
|
@ -40,5 +40,5 @@ onLoad(async (options) => {
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
</style>
|
</style>
|
@ -49,5 +49,5 @@ onPageScroll(() => {})
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
</style>
|
</style>
|
@ -46,7 +46,7 @@ function onSearch(keyword) {
|
|||||||
}
|
}
|
||||||
saveSearchHistory(keyword)
|
saveSearchHistory(keyword)
|
||||||
// 前往商品列表(带搜索条件)
|
// 前往商品列表(带搜索条件)
|
||||||
sheep.$router.go('/pages/mall/goods/list', { keyword })
|
sheep.$router.go('/modules/mall/goods/list', { keyword })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 保存搜索历史
|
// 保存搜索历史
|
||||||
@ -84,7 +84,7 @@ onLoad(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.serach-title {
|
.serach-title {
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
@ -2,7 +2,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<s-layout
|
<s-layout
|
||||||
title="我的"
|
title="我的"
|
||||||
tabbar="/pages/mall/index/user"
|
tabbar="/modules/mall/index/user"
|
||||||
navbar="custom"
|
navbar="custom"
|
||||||
:bgStyle="template.page"
|
:bgStyle="template.page"
|
||||||
:navbarStyle="template.navigationBar"
|
:navbarStyle="template.navigationBar"
|
||||||
@ -44,5 +44,5 @@ onPageScroll(() => {})
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
</style>
|
</style>
|
@ -103,10 +103,10 @@ const state = computed({
|
|||||||
// 选择地址
|
// 选择地址
|
||||||
function onSelectAddress() {
|
function onSelectAddress() {
|
||||||
let emitName = 'SELECT_ADDRESS'
|
let emitName = 'SELECT_ADDRESS'
|
||||||
let addressPage = '/pages/mall/user/address/list?type=select'
|
let addressPage = '/modules/mall/user/address/list?type=select'
|
||||||
if (state.value.deliveryType === 2) {
|
if (state.value.deliveryType === 2) {
|
||||||
emitName = 'SELECT_PICK_UP_INFO'
|
emitName = 'SELECT_PICK_UP_INFO'
|
||||||
addressPage = '/pages/mall/user/goods_details_store/index'
|
addressPage = '/modules/mall/user/goods_details_store/index'
|
||||||
}
|
}
|
||||||
uni.$once(emitName, (e) => {
|
uni.$once(emitName, (e) => {
|
||||||
changeConsignee(e.addressInfo)
|
changeConsignee(e.addressInfo)
|
||||||
@ -133,7 +133,7 @@ const switchDeliveryType = (type) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.allAddress .font-color {
|
.allAddress .font-color {
|
||||||
color: #e93323 !important;
|
color: #e93323 !important;
|
||||||
}
|
}
|
@ -84,7 +84,7 @@
|
|||||||
<view class="foot_box ss-flex ss-col-center ss-row-between ss-p-x-30">
|
<view class="foot_box ss-flex ss-col-center ss-row-between ss-p-x-30">
|
||||||
<button
|
<button
|
||||||
class="ss-reset-button contcat-btn"
|
class="ss-reset-button contcat-btn"
|
||||||
@tap="sheep.$router.go('/pages/mall/chat/index')"
|
@tap="sheep.$router.go('/modules/mall/chat/index')"
|
||||||
>
|
>
|
||||||
联系客服
|
联系客服
|
||||||
</button>
|
</button>
|
||||||
@ -174,7 +174,7 @@ async function submit() {
|
|||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '申请成功',
|
title: '申请成功',
|
||||||
})
|
})
|
||||||
sheep.$router.go('/pages/mall/order/aftersale/list')
|
sheep.$router.go('/modules/mall/order/aftersale/list')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -229,7 +229,7 @@ onLoad(async (options) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.item-title {
|
.item-title {
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
@ -44,7 +44,7 @@
|
|||||||
<!-- 服务状态 -->
|
<!-- 服务状态 -->
|
||||||
<view
|
<view
|
||||||
class="status-box ss-flex ss-col-center ss-row-between ss-m-x-20"
|
class="status-box ss-flex ss-col-center ss-row-between ss-m-x-20"
|
||||||
@tap="sheep.$router.go('/pages/mall/order/aftersale/log', { id: state.id })"
|
@tap="sheep.$router.go('/modules/mall/order/aftersale/log', { id: state.id })"
|
||||||
>
|
>
|
||||||
<view class="">
|
<view class="">
|
||||||
<view class="status-text">
|
<view class="status-text">
|
||||||
@ -120,14 +120,14 @@
|
|||||||
class="ss-reset-button btn"
|
class="ss-reset-button btn"
|
||||||
v-if="state.info.buttons?.includes('delivery')"
|
v-if="state.info.buttons?.includes('delivery')"
|
||||||
@tap="
|
@tap="
|
||||||
sheep.$router.go('/pages/mall/order/aftersale/return-delivery', { id: state.info.id })
|
sheep.$router.go('/modules/mall/order/aftersale/return-delivery', { id: state.info.id })
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
填写退货
|
填写退货
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
class="ss-reset-button contcat-btn btn"
|
class="ss-reset-button contcat-btn btn"
|
||||||
@tap="sheep.$router.go('/pages/mall/chat/index')"
|
@tap="sheep.$router.go('/modules/mall/chat/index')"
|
||||||
>
|
>
|
||||||
联系客服
|
联系客服
|
||||||
</button>
|
</button>
|
||||||
@ -222,7 +222,7 @@ onLoad((options) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
// 步骤条
|
// 步骤条
|
||||||
.steps-box {
|
.steps-box {
|
||||||
width: 100%;
|
width: 100%;
|
@ -17,7 +17,7 @@
|
|||||||
class="list-box ss-m-y-20"
|
class="list-box ss-m-y-20"
|
||||||
v-for="order in state.pagination.list"
|
v-for="order in state.pagination.list"
|
||||||
:key="order.id"
|
:key="order.id"
|
||||||
@tap="sheep.$router.go('/pages/mall/order/aftersale/detail', { id: order.id })"
|
@tap="sheep.$router.go('/modules/mall/order/aftersale/detail', { id: order.id })"
|
||||||
>
|
>
|
||||||
<view class="order-head ss-flex ss-col-center ss-row-between">
|
<view class="order-head ss-flex ss-col-center ss-row-between">
|
||||||
<text class="no">服务单号:{{ order.no }}</text>
|
<text class="no">服务单号:{{ order.no }}</text>
|
||||||
@ -174,7 +174,7 @@ onReachBottom(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.list-box {
|
.list-box {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
@ -32,7 +32,7 @@ const props = defineProps({
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.log-item {
|
.log-item {
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
}
|
}
|
@ -31,7 +31,7 @@ onLoad((options) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.log-box {
|
.log-box {
|
||||||
padding: 24rpx 24rpx 24rpx 40rpx;
|
padding: 24rpx 24rpx 24rpx 40rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
@ -23,7 +23,7 @@
|
|||||||
style="display: flex; justify-content: space-between"
|
style="display: flex; justify-content: space-between"
|
||||||
>
|
>
|
||||||
<view class="reason">{{ state.expresses[state.expressIndex].name }}</view>
|
<view class="reason">{{ state.expresses[state.expressIndex].name }}</view>
|
||||||
<text class="iconfont _icon-forward" />
|
<text class="iconfont _icon-forward"></text>
|
||||||
</view>
|
</view>
|
||||||
</picker>
|
</picker>
|
||||||
</view>
|
</view>
|
||||||
@ -43,13 +43,6 @@
|
|||||||
<button
|
<button
|
||||||
class="returnBnt bg-color ss-reset-button ui-BG-Main-Gradient sub-btn"
|
class="returnBnt bg-color ss-reset-button ui-BG-Main-Gradient sub-btn"
|
||||||
form-type="submit"
|
form-type="submit"
|
||||||
style="
|
|
||||||
background: linear-gradient(
|
|
||||||
90deg,
|
|
||||||
var(--ui-BG-Main),
|
|
||||||
var(--ui-BG-Main-gradient)
|
|
||||||
) !important;
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
提交
|
提交
|
||||||
</button>
|
</button>
|
||||||
@ -90,7 +83,7 @@ async function subRefund(e) {
|
|||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '填写退货成功',
|
title: '填写退货成功',
|
||||||
})
|
})
|
||||||
sheep.$router.go('/pages/mall/order/aftersale/detail', { id: state.id })
|
sheep.$router.go('/modules/mall/order/aftersale/detail', { id: state.id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得快递物流列表
|
// 获得快递物流列表
|
||||||
@ -113,7 +106,7 @@ onLoad((options) => {
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.apply-return {
|
.apply-return {
|
||||||
padding: 20rpx 30rpx 70rpx 30rpx;
|
padding: 20rpx 30rpx 70rpx 30rpx;
|
||||||
}
|
}
|
||||||
@ -221,5 +214,6 @@ onLoad((options) => {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-radius: 50rpx;
|
border-radius: 50rpx;
|
||||||
|
background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient)) !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@ -203,7 +203,7 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { reactive, ref, watch } from 'vue'
|
import { reactive, ref, watch } from 'vue'
|
||||||
import { onLoad } from '@dcloudio/uni-app'
|
import { onLoad } from '@dcloudio/uni-app'
|
||||||
import AddressSelection from '@/pages/mall/order/addressSelection.vue'
|
import AddressSelection from '@/modules/mall/order/addressSelection.vue'
|
||||||
import sheep from '@/sheep'
|
import sheep from '@/sheep'
|
||||||
import OrderApi from '@/sheep/api/trade/order'
|
import OrderApi from '@/sheep/api/trade/order'
|
||||||
import CouponApi from '@/sheep/api/promotion/coupon'
|
import CouponApi from '@/sheep/api/promotion/coupon'
|
||||||
@ -299,7 +299,7 @@ async function submitOrder() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 跳转到支付页面
|
// 跳转到支付页面
|
||||||
sheep.$router.redirect('/pages/mall/pay/index', {
|
sheep.$router.redirect('/modules/mall/pay/index', {
|
||||||
id: data.payOrderId,
|
id: data.payOrderId,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -366,7 +366,7 @@ watch(addressState, async (newAddress, oldAddress) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
:deep() {
|
:deep() {
|
||||||
.uni-input-wrapper {
|
.uni-input-wrapper {
|
||||||
width: 320rpx;
|
width: 320rpx;
|
@ -80,7 +80,7 @@
|
|||||||
class="ss-reset-button apply-btn"
|
class="ss-reset-button apply-btn"
|
||||||
v-if="[10, 20, 30].includes(state.orderInfo.status) && item.afterSaleStatus === 0"
|
v-if="[10, 20, 30].includes(state.orderInfo.status) && item.afterSaleStatus === 0"
|
||||||
@tap.stop="
|
@tap.stop="
|
||||||
sheep.$router.go('/pages/mall/order/aftersale/apply', {
|
sheep.$router.go('/modules/mall/order/aftersale/apply', {
|
||||||
orderId: state.orderInfo.id,
|
orderId: state.orderInfo.id,
|
||||||
itemId: item.id,
|
itemId: item.id,
|
||||||
})
|
})
|
||||||
@ -92,7 +92,7 @@
|
|||||||
class="ss-reset-button apply-btn"
|
class="ss-reset-button apply-btn"
|
||||||
v-if="item.afterSaleStatus === 10"
|
v-if="item.afterSaleStatus === 10"
|
||||||
@tap.stop="
|
@tap.stop="
|
||||||
sheep.$router.go('/pages/mall/order/aftersale/detail', {
|
sheep.$router.go('/modules/mall/order/aftersale/detail', {
|
||||||
id: item.afterSaleId,
|
id: item.afterSaleId,
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
@ -103,7 +103,7 @@
|
|||||||
class="ss-reset-button apply-btn"
|
class="ss-reset-button apply-btn"
|
||||||
v-if="item.afterSaleStatus === 20"
|
v-if="item.afterSaleStatus === 20"
|
||||||
@tap.stop="
|
@tap.stop="
|
||||||
sheep.$router.go('/pages/mall/order/aftersale/detail', {
|
sheep.$router.go('/modules/mall/order/aftersale/detail', {
|
||||||
id: item.afterSaleId,
|
id: item.afterSaleId,
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
@ -221,7 +221,7 @@
|
|||||||
class="ss-reset-button cancel-btn"
|
class="ss-reset-button cancel-btn"
|
||||||
v-if="state.orderInfo.buttons?.includes('combination')"
|
v-if="state.orderInfo.buttons?.includes('combination')"
|
||||||
@tap="
|
@tap="
|
||||||
sheep.$router.go('/pages/mall/activity/groupon/detail', {
|
sheep.$router.go('/modules/mall/activity/groupon/detail', {
|
||||||
id: state.orderInfo.combinationRecordId,
|
id: state.orderInfo.combinationRecordId,
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
@ -267,7 +267,7 @@ import {
|
|||||||
} from '@/sheep/hooks/useGoods'
|
} from '@/sheep/hooks/useGoods'
|
||||||
import OrderApi from '@/sheep/api/trade/order'
|
import OrderApi from '@/sheep/api/trade/order'
|
||||||
import DeliveryApi from '@/sheep/api/trade/delivery'
|
import DeliveryApi from '@/sheep/api/trade/delivery'
|
||||||
import PickUpVerify from '@/pages/mall/order/pickUpVerify.vue'
|
import PickUpVerify from '@/modules/mall/order/pickUpVerify.vue'
|
||||||
|
|
||||||
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2
|
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2
|
||||||
const headerBg = sheep.$url.css('/static/img/shop/order/order_bg.png')
|
const headerBg = sheep.$url.css('/static/img/shop/order/order_bg.png')
|
||||||
@ -288,14 +288,14 @@ const onCopy = () => {
|
|||||||
|
|
||||||
// 去支付
|
// 去支付
|
||||||
function onPay(payOrderId) {
|
function onPay(payOrderId) {
|
||||||
sheep.$router.go('/pages/mall/pay/index', {
|
sheep.$router.go('/modules/mall/pay/index', {
|
||||||
id: payOrderId,
|
id: payOrderId,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查看商品
|
// 查看商品
|
||||||
function onGoodsDetail(id) {
|
function onGoodsDetail(id) {
|
||||||
sheep.$router.go('/pages/mall/goods/index', {
|
sheep.$router.go('/modules/mall/goods/index', {
|
||||||
id,
|
id,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -319,7 +319,7 @@ async function onCancel(orderId) {
|
|||||||
|
|
||||||
// 查看物流
|
// 查看物流
|
||||||
async function onExpress(id) {
|
async function onExpress(id) {
|
||||||
sheep.$router.go('/pages/mall/order/express/log', {
|
sheep.$router.go('/modules/mall/order/express/log', {
|
||||||
id,
|
id,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -382,7 +382,7 @@ function mpConfirm(orderId) {
|
|||||||
|
|
||||||
// 评价
|
// 评价
|
||||||
function onComment(id) {
|
function onComment(id) {
|
||||||
sheep.$router.go('/pages/mall/goods/comment/add', {
|
sheep.$router.go('/modules/mall/goods/comment/add', {
|
||||||
id,
|
id,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -431,7 +431,7 @@ onLoad(async (options) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.score-img {
|
.score-img {
|
||||||
width: 36rpx;
|
width: 36rpx;
|
||||||
height: 36rpx;
|
height: 36rpx;
|
@ -89,7 +89,7 @@ onLoad((options) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.swiper-box {
|
.swiper-box {
|
||||||
width: 200rpx;
|
width: 200rpx;
|
||||||
height: 200rpx;
|
height: 200rpx;
|
@ -180,28 +180,28 @@ function onTabsChange(e) {
|
|||||||
|
|
||||||
// 订单详情
|
// 订单详情
|
||||||
function onOrderDetail(id) {
|
function onOrderDetail(id) {
|
||||||
sheep.$router.go('/pages/mall/order/detail', {
|
sheep.$router.go('/modules/mall/order/detail', {
|
||||||
id,
|
id,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 跳转拼团记录的详情
|
// 跳转拼团记录的详情
|
||||||
function onOrderGroupon(order) {
|
function onOrderGroupon(order) {
|
||||||
sheep.$router.go('/pages/mall/activity/groupon/detail', {
|
sheep.$router.go('/modules/mall/activity/groupon/detail', {
|
||||||
id: order.combinationRecordId,
|
id: order.combinationRecordId,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 继续支付
|
// 继续支付
|
||||||
function onPay(payOrderId) {
|
function onPay(payOrderId) {
|
||||||
sheep.$router.go('/pages/mall/pay/index', {
|
sheep.$router.go('/modules/mall/pay/index', {
|
||||||
id: payOrderId,
|
id: payOrderId,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 评价
|
// 评价
|
||||||
function onComment(id) {
|
function onComment(id) {
|
||||||
sheep.$router.go('/pages/mall/goods/comment/add', {
|
sheep.$router.go('/modules/mall/goods/comment/add', {
|
||||||
id,
|
id,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -265,7 +265,7 @@ function mpConfirm(order) {
|
|||||||
|
|
||||||
// 查看物流
|
// 查看物流
|
||||||
async function onExpress(id) {
|
async function onExpress(id) {
|
||||||
sheep.$router.go('/pages/mall/order/express/log', {
|
sheep.$router.go('/modules/mall/order/express/log', {
|
||||||
id,
|
id,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -359,7 +359,7 @@ onPullDownRefresh(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.score-img {
|
.score-img {
|
||||||
width: 36rpx;
|
width: 36rpx;
|
||||||
height: 36rpx;
|
height: 36rpx;
|
@ -141,7 +141,7 @@ defineExpose({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
// TODO puhui999: 样式需要调整有 bug
|
// TODO puhui999: 样式需要调整有 bug
|
||||||
.borRadius14 {
|
.borRadius14 {
|
||||||
border-radius: 14rpx !important;
|
border-radius: 14rpx !important;
|
@ -198,7 +198,7 @@ onLoad((options) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.pay-icon {
|
.pay-icon {
|
||||||
width: 36rpx;
|
width: 36rpx;
|
||||||
height: 36rpx;
|
height: 36rpx;
|
@ -102,7 +102,7 @@ onReachBottom(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
// 记录卡片
|
// 记录卡片
|
||||||
.log-list {
|
.log-list {
|
||||||
min-height: 213rpx;
|
min-height: 213rpx;
|
@ -16,7 +16,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<button
|
<button
|
||||||
class="ss-reset-button log-btn"
|
class="ss-reset-button log-btn"
|
||||||
@tap="sheep.$router.go('/pages/mall/pay/recharge-log')"
|
@tap="sheep.$router.go('/modules/mall/pay/recharge-log')"
|
||||||
>
|
>
|
||||||
充值记录
|
充值记录
|
||||||
</button>
|
</button>
|
||||||
@ -104,7 +104,7 @@ async function onConfirm() {
|
|||||||
.useProvider('wechat')
|
.useProvider('wechat')
|
||||||
.subscribeMessage(WxaSubscribeTemplate.PAY_WALLET_RECHARGER_SUCCESS)
|
.subscribeMessage(WxaSubscribeTemplate.PAY_WALLET_RECHARGER_SUCCESS)
|
||||||
// #endif
|
// #endif
|
||||||
sheep.$router.go('/pages/mall/pay/index', {
|
sheep.$router.go('/modules/mall/pay/index', {
|
||||||
id: data.payOrderId,
|
id: data.payOrderId,
|
||||||
orderType: 'recharge',
|
orderType: 'recharge',
|
||||||
})
|
})
|
||||||
@ -116,7 +116,7 @@ onLoad(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
:deep() {
|
:deep() {
|
||||||
.uni-input-input {
|
.uni-input-input {
|
||||||
font-family: OPPOSANS !important;
|
font-family: OPPOSANS !important;
|
@ -24,14 +24,14 @@
|
|||||||
|
|
||||||
<!-- 操作区 -->
|
<!-- 操作区 -->
|
||||||
<view class="btn-box ss-flex ss-row-center ss-m-t-50">
|
<view class="btn-box ss-flex ss-row-center ss-m-t-50">
|
||||||
<button class="back-btn ss-reset-button" @tap="sheep.$router.go('/pages/mall/index/index')">
|
<button class="back-btn ss-reset-button" @tap="sheep.$router.go('/modules/mall/index/index')">
|
||||||
返回首页
|
返回首页
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
class="check-btn ss-reset-button"
|
class="check-btn ss-reset-button"
|
||||||
v-if="payResult === 'failed'"
|
v-if="payResult === 'failed'"
|
||||||
@tap="
|
@tap="
|
||||||
sheep.$router.redirect('/pages/mall/pay/index', {
|
sheep.$router.redirect('/modules/mall/pay/index', {
|
||||||
id: state.id,
|
id: state.id,
|
||||||
orderType: state.orderType,
|
orderType: state.orderType,
|
||||||
})
|
})
|
||||||
@ -46,7 +46,7 @@
|
|||||||
<button
|
<button
|
||||||
class="check-btn ss-reset-button"
|
class="check-btn ss-reset-button"
|
||||||
v-if="payResult === 'success' && state.tradeOrder.type === 3"
|
v-if="payResult === 'success' && state.tradeOrder.type === 3"
|
||||||
@tap="sheep.$router.redirect('/pages/mall/activity/groupon/order')"
|
@tap="sheep.$router.redirect('/modules/mall/activity/groupon/order')"
|
||||||
>
|
>
|
||||||
我的拼团
|
我的拼团
|
||||||
</button>
|
</button>
|
||||||
@ -152,9 +152,9 @@ async function getOrderInfo(id) {
|
|||||||
|
|
||||||
function onOrder() {
|
function onOrder() {
|
||||||
if (state.orderType === 'recharge') {
|
if (state.orderType === 'recharge') {
|
||||||
sheep.$router.redirect('/pages/mall/pay/recharge-log')
|
sheep.$router.redirect('/modules/mall/pay/recharge-log')
|
||||||
} else {
|
} else {
|
||||||
sheep.$router.redirect('/pages/mall/order/list')
|
sheep.$router.redirect('/modules/mall/order/list')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -223,7 +223,7 @@ onHide(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
@keyframes rotation {
|
@keyframes rotation {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
@ -47,14 +47,14 @@ onLoad((options) => {
|
|||||||
// 重新连接
|
// 重新连接
|
||||||
async function onReconnect() {
|
async function onReconnect() {
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
url: '/pages/mall/index/index',
|
url: '/modules/mall/index/index',
|
||||||
})
|
})
|
||||||
await ShoproInit()
|
await ShoproInit()
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.error-page {
|
.error-page {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
@ -51,7 +51,7 @@ async function getFaqList() {
|
|||||||
onLoad(() => {
|
onLoad(() => {
|
||||||
// TODO 芋艿:目前简单做,使用营销文章,作为 faq
|
// TODO 芋艿:目前简单做,使用营销文章,作为 faq
|
||||||
if (true) {
|
if (true) {
|
||||||
sheep.$router.go('/pages/mall/public/richtext', {
|
sheep.$router.go('/modules/mall/public/richtext', {
|
||||||
title: '常见问题',
|
title: '常见问题',
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
@ -61,7 +61,7 @@ onLoad(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.header {
|
.header {
|
||||||
.title {
|
.title {
|
||||||
max-width: 688rpx;
|
max-width: 688rpx;
|
@ -44,7 +44,7 @@ onLoad((options) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.set-title {
|
.set-title {
|
||||||
margin: 0 30rpx;
|
margin: 0 30rpx;
|
||||||
}
|
}
|
@ -34,7 +34,7 @@
|
|||||||
:border="false"
|
:border="false"
|
||||||
class="list-border"
|
class="list-border"
|
||||||
@tap="
|
@tap="
|
||||||
sheep.$router.go('/pages/mall/public/richtext', {
|
sheep.$router.go('/modules/mall/public/richtext', {
|
||||||
title: '关于我们',
|
title: '关于我们',
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
@ -58,7 +58,7 @@
|
|||||||
<view
|
<view
|
||||||
class="tcp-text"
|
class="tcp-text"
|
||||||
@tap="
|
@tap="
|
||||||
sheep.$router.go('/pages/mall/public/richtext', {
|
sheep.$router.go('/modules/mall/public/richtext', {
|
||||||
title: '用户协议',
|
title: '用户协议',
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
@ -69,7 +69,7 @@
|
|||||||
<view
|
<view
|
||||||
class="tcp-text"
|
class="tcp-text"
|
||||||
@tap="
|
@tap="
|
||||||
sheep.$router.go('/pages/mall/public/richtext', {
|
sheep.$router.go('/modules/mall/public/richtext', {
|
||||||
title: '隐私协议',
|
title: '隐私协议',
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
@ -128,7 +128,7 @@ function onLogoff() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
sheep.$store('user').logout()
|
sheep.$store('user').logout()
|
||||||
sheep.$router.go('/pages/mall/index/user')
|
sheep.$router.go('/modules/mall/index/user')
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -147,14 +147,14 @@ function onLogout() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
sheep.$store('user').logout()
|
sheep.$store('user').logout()
|
||||||
sheep.$router.go('/pages/mall/index/user')
|
sheep.$router.go('/modules/mall/index/user')
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.container-list {
|
.container-list {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
@ -16,5 +16,5 @@ onLoad((options) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
</style>
|
</style>
|
@ -237,7 +237,7 @@ onLoad(async (options) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
:deep() {
|
:deep() {
|
||||||
.uni-forms-item__label .label-text {
|
.uni-forms-item__label .label-text {
|
||||||
font-size: 28rpx !important;
|
font-size: 28rpx !important;
|
@ -24,7 +24,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
class="add-btn ss-reset-button ui-Shadow-Main"
|
class="add-btn ss-reset-button ui-Shadow-Main"
|
||||||
@tap="sheep.$router.go('/pages/mall/user/address/edit')"
|
@tap="sheep.$router.go('/modules/mall/user/address/edit')"
|
||||||
>
|
>
|
||||||
新增收货地址
|
新增收货地址
|
||||||
</button>
|
</button>
|
||||||
@ -82,7 +82,7 @@ function importWechatAddress() {
|
|||||||
is_default: false,
|
is_default: false,
|
||||||
}
|
}
|
||||||
if (!isEmpty(wechatAddress)) {
|
if (!isEmpty(wechatAddress)) {
|
||||||
sheep.$router.go('/pages/mall/user/address/edit', {
|
sheep.$router.go('/modules/mall/user/address/edit', {
|
||||||
data: JSON.stringify(wechatAddress),
|
data: JSON.stringify(wechatAddress),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -106,7 +106,7 @@ function importWechatAddress() {
|
|||||||
is_default: false,
|
is_default: false,
|
||||||
}
|
}
|
||||||
if (!isEmpty(wechatAddress)) {
|
if (!isEmpty(wechatAddress)) {
|
||||||
sheep.$router.go('/pages/mall/user/address/edit', {
|
sheep.$router.go('/modules/mall/user/address/edit', {
|
||||||
data: JSON.stringify(wechatAddress),
|
data: JSON.stringify(wechatAddress),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -140,7 +140,7 @@ onBeforeMount(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.footer-box {
|
.footer-box {
|
||||||
.add-btn {
|
.add-btn {
|
||||||
flex: 1;
|
flex: 1;
|
@ -53,7 +53,7 @@
|
|||||||
priceColor="#FF3000"
|
priceColor="#FF3000"
|
||||||
:titleWidth="400"
|
:titleWidth="400"
|
||||||
@tap="
|
@tap="
|
||||||
sheep.$router.go('/pages/mall/goods/index', {
|
sheep.$router.go('/modules/mall/goods/index', {
|
||||||
id: item.spuId,
|
id: item.spuId,
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
@ -193,7 +193,7 @@ onLoad(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.cart-box {
|
.cart-box {
|
||||||
.cart-header {
|
.cart-header {
|
||||||
position: fixed;
|
position: fixed;
|
@ -56,7 +56,7 @@
|
|||||||
priceColor="#FF3000"
|
priceColor="#FF3000"
|
||||||
:titleWidth="400"
|
:titleWidth="400"
|
||||||
@tap="
|
@tap="
|
||||||
sheep.$router.go('/pages/mall/goods/index', {
|
sheep.$router.go('/modules/mall/goods/index', {
|
||||||
id: item.spuId,
|
id: item.spuId,
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
@ -226,7 +226,7 @@ onLoad(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.cart-box {
|
.cart-box {
|
||||||
.cart-header {
|
.cart-header {
|
||||||
position: fixed;
|
position: fixed;
|
@ -183,7 +183,7 @@ onLoad(() => {
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.line1 {
|
.line1 {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
@ -118,7 +118,7 @@
|
|||||||
<uni-list>
|
<uni-list>
|
||||||
<uni-list-item
|
<uni-list-item
|
||||||
clickable
|
clickable
|
||||||
@tap="sheep.$router.go('/pages/mall/user/address/list')"
|
@tap="sheep.$router.go('/modules/mall/user/address/list')"
|
||||||
title="地址管理"
|
title="地址管理"
|
||||||
showArrow
|
showArrow
|
||||||
:border="false"
|
:border="false"
|
||||||
@ -307,7 +307,7 @@ onBeforeMount(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
:deep() {
|
:deep() {
|
||||||
.uni-file-picker {
|
.uni-file-picker {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
@ -18,7 +18,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<button
|
<button
|
||||||
class="ss-reset-button topup-btn"
|
class="ss-reset-button topup-btn"
|
||||||
@tap="sheep.$router.go('/pages/mall/pay/recharge')"
|
@tap="sheep.$router.go('/modules/mall/pay/recharge')"
|
||||||
>
|
>
|
||||||
充值
|
充值
|
||||||
</button>
|
</button>
|
||||||
@ -211,7 +211,7 @@ onReachBottom(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
// 钱包
|
// 钱包
|
||||||
.header-box {
|
.header-box {
|
||||||
padding: 30rpx;
|
padding: 30rpx;
|
@ -183,7 +183,7 @@ onReachBottom(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/scss/index.scss';
|
|
||||||
.header-box {
|
.header-box {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: 100%;
|
width: 100%;
|
@ -347,7 +347,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/mall/index/index",
|
"path": "modules/mall/index/index",
|
||||||
"aliasPath": "/mall",
|
"aliasPath": "/mall",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "宠物商城",
|
"navigationBarTitleText": "宠物商城",
|
||||||
@ -361,7 +361,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/mall/index/user",
|
"path": "modules/mall/index/user",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "个人中心",
|
"navigationBarTitleText": "个人中心",
|
||||||
"enablePullDownRefresh": true
|
"enablePullDownRefresh": true
|
||||||
@ -373,7 +373,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/mall/index/category",
|
"path": "modules/mall/index/category",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "商品分类"
|
"navigationBarTitleText": "商品分类"
|
||||||
},
|
},
|
||||||
@ -384,7 +384,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/mall/index/cart",
|
"path": "modules/mall/index/cart",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "购物车"
|
"navigationBarTitleText": "购物车"
|
||||||
},
|
},
|
||||||
@ -395,13 +395,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/mall/index/login",
|
"path": "modules/mall/index/login",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "登录"
|
"navigationBarTitleText": "登录"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/mall/index/search",
|
"path": "modules/mall/index/search",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "搜索"
|
"navigationBarTitleText": "搜索"
|
||||||
},
|
},
|
||||||
@ -412,7 +412,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/mall/index/page",
|
"path": "modules/mall/index/page",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": ""
|
"navigationBarTitleText": ""
|
||||||
},
|
},
|
||||||
@ -426,7 +426,7 @@
|
|||||||
],
|
],
|
||||||
"subPackages": [
|
"subPackages": [
|
||||||
{
|
{
|
||||||
"root": "pages/mall/goods",
|
"root": "modules/mall/goods",
|
||||||
"pages": [
|
"pages": [
|
||||||
{
|
{
|
||||||
"path": "index",
|
"path": "index",
|
||||||
@ -490,7 +490,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"root": "pages/mall/order",
|
"root": "modules/mall/order",
|
||||||
"pages": [
|
"pages": [
|
||||||
{
|
{
|
||||||
"path": "detail",
|
"path": "detail",
|
||||||
@ -590,7 +590,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"root": "pages/mall/user",
|
"root": "modules/mall/user",
|
||||||
"pages": [
|
"pages": [
|
||||||
{
|
{
|
||||||
"path": "info",
|
"path": "info",
|
||||||
@ -689,7 +689,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"root": "pages/mall/commission",
|
"root": "modules/mall/commission",
|
||||||
"pages": [
|
"pages": [
|
||||||
{
|
{
|
||||||
"path": "index",
|
"path": "index",
|
||||||
@ -790,7 +790,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"root": "pages/mall/app",
|
"root": "modules/mall/app",
|
||||||
"pages": [
|
"pages": [
|
||||||
{
|
{
|
||||||
"path": "sign",
|
"path": "sign",
|
||||||
@ -807,7 +807,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"root": "pages/mall/public",
|
"root": "modules/mall/public",
|
||||||
"pages": [
|
"pages": [
|
||||||
{
|
{
|
||||||
"path": "setting",
|
"path": "setting",
|
||||||
@ -857,7 +857,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"root": "pages/mall/coupon",
|
"root": "modules/mall/coupon",
|
||||||
"pages": [
|
"pages": [
|
||||||
{
|
{
|
||||||
"path": "list",
|
"path": "list",
|
||||||
@ -885,7 +885,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"root": "pages/mall/chat",
|
"root": "modules/mall/chat",
|
||||||
"pages": [
|
"pages": [
|
||||||
{
|
{
|
||||||
"path": "index",
|
"path": "index",
|
||||||
@ -902,7 +902,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"root": "pages/mall/pay",
|
"root": "modules/mall/pay",
|
||||||
"pages": [
|
"pages": [
|
||||||
{
|
{
|
||||||
"path": "index",
|
"path": "index",
|
||||||
@ -943,7 +943,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"root": "pages/mall/activity",
|
"root": "modules/mall/activity",
|
||||||
"pages": [
|
"pages": [
|
||||||
{
|
{
|
||||||
"path": "groupon/detail",
|
"path": "groupon/detail",
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<image :src="imgUrl('@/static/home/pb.png')" class="quick-service-image" />
|
<image :src="imgUrl('@/static/home/pb.png')" class="quick-service-image" />
|
||||||
<text class="quick-service-text">宠物陪伴</text>
|
<text class="quick-service-text">宠物陪伴</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="quick-service-card" @click="toPath('/pages/mall/index/index')">
|
<view class="quick-service-card" @click="toPath('/mall/index/index')">
|
||||||
<image :src="imgUrl('@/static/home/yl.png')" class="quick-service-image" />
|
<image :src="imgUrl('@/static/home/yl.png')" class="quick-service-image" />
|
||||||
<text class="quick-service-text">定制商城</text>
|
<text class="quick-service-text">定制商城</text>
|
||||||
</view>
|
</view>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<route lang="json5">
|
<route lang="json5">
|
||||||
{
|
{
|
||||||
style: {
|
style: {
|
||||||
navigationBarTitleText: "我的页面",
|
navigationBarTitleText: '我的页面',
|
||||||
navigationStyle: "custom",
|
navigationStyle: 'custom',
|
||||||
},
|
},
|
||||||
needLogin: true,
|
needLogin: true,
|
||||||
}
|
}
|
||||||
@ -22,11 +22,7 @@
|
|||||||
:height="100"
|
:height="100"
|
||||||
round
|
round
|
||||||
mode="aspectFill"
|
mode="aspectFill"
|
||||||
:src="
|
:src="userInfo.avatar == '' ? imgUrl('@/static/my/avatar.jpg') : imgUrl(userInfo.avatar)"
|
||||||
userInfo.avatar == ''
|
|
||||||
? imgUrl('@/static/my/avatar.jpg')
|
|
||||||
: baseUrl + userInfo.avatar
|
|
||||||
"
|
|
||||||
></wd-img>
|
></wd-img>
|
||||||
<view class="info">
|
<view class="info">
|
||||||
<view class="name">{{ userInfo.nickname }}</view>
|
<view class="name">{{ userInfo.nickname }}</view>
|
||||||
@ -70,20 +66,13 @@
|
|||||||
|
|
||||||
<!-- 判断该用户是否为宠托师 -->
|
<!-- 判断该用户是否为宠托师 -->
|
||||||
<view v-if="userInfo.isPetNursery" class="services-container card">
|
<view v-if="userInfo.isPetNursery" class="services-container card">
|
||||||
<button class="w-full bg-[#ffc107]" @click="toPath('/pages/order/take')">
|
<button class="w-full bg-[#ffc107]" @click="toPath('/pages/order/take')">接单页面</button>
|
||||||
接单页面
|
|
||||||
</button>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="pets-container card">
|
<view class="pets-container card">
|
||||||
<view class="pets-title">我的宠物</view>
|
<view class="pets-title">我的宠物</view>
|
||||||
<view class="pets-list scroll-x overflow-x-auto" scroll-x>
|
<view class="pets-list scroll-x overflow-x-auto" scroll-x>
|
||||||
<view
|
<view class="pet-item" v-for="(pet, index) in pets" @click="editPet(pet)" :key="index">
|
||||||
class="pet-item"
|
|
||||||
v-for="(pet, index) in pets"
|
|
||||||
@click="editPet(pet)"
|
|
||||||
:key="index"
|
|
||||||
>
|
|
||||||
<wd-img :width="60" :height="60" round :src="pet.icon" class="pet-avatar" />
|
<wd-img :width="60" :height="60" round :src="pet.icon" class="pet-avatar" />
|
||||||
<view class="pet-label">{{ pet.name }}</view>
|
<view class="pet-label">{{ pet.name }}</view>
|
||||||
</view>
|
</view>
|
||||||
@ -121,101 +110,101 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from "vue";
|
import { ref } from 'vue'
|
||||||
import { useUserStore } from "@/store/user";
|
import { useUserStore } from '@/store/user'
|
||||||
import { baseUrl, imgUrl, toast } from "@/utils/commUtils";
|
import { baseUrl, imgUrl, toast } from '@/utils/commUtils'
|
||||||
import { httpGet } from "@/utils/http"; // 假设你已经封装好了这个方法
|
import { httpGet } from '@/utils/http' // 假设你已经封装好了这个方法
|
||||||
import Tabbar from "@/components/Tabbar.vue";
|
import Tabbar from '@/components/Tabbar.vue'
|
||||||
|
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore()
|
||||||
|
|
||||||
const userInfo = userStore.userInfo;
|
const userInfo = userStore.userInfo
|
||||||
|
|
||||||
const stats = ref([
|
const stats = ref([
|
||||||
{ number: 0, label: "粉丝" },
|
{ number: 0, label: '粉丝' },
|
||||||
{ number: 0, label: "关注" },
|
{ number: 0, label: '关注' },
|
||||||
{ number: 0, label: "收藏" },
|
{ number: 0, label: '收藏' },
|
||||||
{ number: 0, label: "获赞" },
|
{ number: 0, label: '获赞' },
|
||||||
]);
|
])
|
||||||
|
|
||||||
const services = [
|
const services = [
|
||||||
{ icon: "@/static/my/order.png", label: "我的订单", path: "/pages/order/index" },
|
{ icon: '@/static/my/order.png', label: '我的订单', path: '/pages/order/index' },
|
||||||
{ icon: "@/static/my/pet.png", label: "我的服务", path: "/pages/service/my-service" },
|
{ icon: '@/static/my/pet.png', label: '我的服务', path: '/pages/service/my-service' },
|
||||||
{ icon: "@/static/my/wash.png", label: "我的评价", path: "/pages/order/index" },
|
{ icon: '@/static/my/wash.png', label: '我的评价', path: '/pages/order/index' },
|
||||||
{ icon: "@/static/my/service.png", label: "售后服务", path: "/pages/order/index" },
|
{ icon: '@/static/my/service.png', label: '售后服务', path: '/pages/order/index' },
|
||||||
];
|
]
|
||||||
|
|
||||||
const pets = ref([]);
|
const pets = ref([])
|
||||||
|
|
||||||
onShow(async () => {
|
onShow(async () => {
|
||||||
await fetchActivities();
|
await fetchActivities()
|
||||||
await fetchPets();
|
await fetchPets()
|
||||||
});
|
})
|
||||||
|
|
||||||
// 获取社区活动的信息
|
// 获取社区活动的信息
|
||||||
const fetchActivities = async () => {
|
const fetchActivities = async () => {
|
||||||
try {
|
try {
|
||||||
const response = await httpGet("/posts/community");
|
const response = await httpGet('/posts/community')
|
||||||
if (response.code == 200) {
|
if (response.code == 200) {
|
||||||
const index = 0;
|
const index = 0
|
||||||
for (const key in response.data) {
|
for (const key in response.data) {
|
||||||
if (response.data[key]) {
|
if (response.data[key]) {
|
||||||
stats.value[index] = { number: response.data[key], label: key };
|
stats.value[index] = { number: response.data[key], label: key }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log(response);
|
console.log(response)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error)
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
const fetchPets = async () => {
|
const fetchPets = async () => {
|
||||||
try {
|
try {
|
||||||
const response = await httpGet("/petInfo/select", { userId: userStore.userInfo.id });
|
const response = await httpGet('/petInfo/select', { userId: userStore.userInfo.id })
|
||||||
pets.value = response.records.map((pet) => ({
|
pets.value = response.records.map((pet) => ({
|
||||||
...pet,
|
...pet,
|
||||||
icon: baseUrl + pet.profileUrl,
|
icon: baseUrl + pet.profileUrl,
|
||||||
}));
|
}))
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
uni.showToast({ title: "网络错误,请重试", icon: "error" });
|
uni.showToast({ title: '网络错误,请重试', icon: 'error' })
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
const editPet = (pet) => {
|
const editPet = (pet) => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/pet/pet-add-page?id=${pet.id}&name=${pet.name}&icon=${pet.icon}&breed=${pet.breed}&color=${pet.color}&birthday=${pet.birthday}&gender=${pet.gender}&userId=${pet.userId}`,
|
url: `/pages/pet/pet-add-page?id=${pet.id}&name=${pet.name}&icon=${pet.icon}&breed=${pet.breed}&color=${pet.color}&birthday=${pet.birthday}&gender=${pet.gender}&userId=${pet.userId}`,
|
||||||
});
|
})
|
||||||
};
|
}
|
||||||
|
|
||||||
const items = [
|
const items = [
|
||||||
{ icon: "@/static/my/send.png", label: "我的发布", to: "/pages/publish/index" },
|
{ icon: '@/static/my/send.png', label: '我的发布', to: '/pages/publish/index' },
|
||||||
{
|
{
|
||||||
icon: "@/static/my/handshake.png",
|
icon: '@/static/my/handshake.png',
|
||||||
label: "帮助中心",
|
label: '帮助中心',
|
||||||
to: "/pages/others/official-account",
|
to: '/pages/others/official-account',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: "@/static/my/feedback.png",
|
icon: '@/static/my/feedback.png',
|
||||||
label: "建议反馈",
|
label: '建议反馈',
|
||||||
to: "/pages/others/official-account",
|
to: '/pages/others/official-account',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: "@/static/my/badge.png",
|
icon: '@/static/my/badge.png',
|
||||||
label: "宠托师认证",
|
label: '宠托师认证',
|
||||||
to: "/pages/certification/index",
|
to: '/pages/certification/index',
|
||||||
},
|
},
|
||||||
{ icon: "@/static/my/address.png", label: "我的地址", to: "/pages/address/index" },
|
{ icon: '@/static/my/address.png', label: '我的地址', to: '/pages/address/index' },
|
||||||
{ icon: "@/static/my/settings.png", label: "设置", to: "/pages/settings/index" },
|
{ icon: '@/static/my/settings.png', label: '设置', to: '/pages/settings/index' },
|
||||||
{ icon: "@/static/my/address.png", label: "地址", to: "/pages/map/index" },
|
{ icon: '@/static/my/address.png', label: '地址', to: '/pages/map/index' },
|
||||||
];
|
]
|
||||||
|
|
||||||
const toPath = (path) => {
|
const toPath = (path) => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: path,
|
url: path,
|
||||||
});
|
})
|
||||||
};
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user