This commit is contained in:
pikachu
2021-08-06 19:19:01 +08:00
56 changed files with 611 additions and 1427 deletions

View File

@@ -346,14 +346,16 @@ export function getDistGoodsList (params) {
}
/**
* 选择分销商品
* 绑定、解绑分销商品
* @param distributionGoodsId 分销商品id
* @param checked 分销商品id,true为绑定false为解绑
*/
export function selectDistGoods (distributionGoodsId) {
export function selectDistGoods (params) {
return request({
url: `/buyer/distributionGoods/checked/${distributionGoodsId}`,
url: `/buyer/distributionGoods/checked/${params.distributionGoodsId}`,
method: Method.GET,
needToken: true
needToken: true,
params
});
}
@@ -457,7 +459,8 @@ export function memberMsgList (params) {
* 设置消息为已读
* @param {String} messageId 消息id
*/
export function readMemberMsg (id) {
export function readMemberMsg (id) {
return request({
url: `/buyer/member/message/${id}`,
method: Method.PUT,
@@ -468,7 +471,7 @@ export function memberMsgList (params) {
* 删除会员消息
* @param {String} messageId 消息id
*/
export function delMemberMsg (id) {
export function delMemberMsg (id) {
return request({
url: `/buyer/member/message/${id}`,
method: Method.DELETE,

View File

@@ -55,9 +55,6 @@
color: #fff;
font-size: 16px;
padding: 20px;
&:hover{
font-weight: bold;
}
}
i{
position: absolute;

View File

@@ -97,12 +97,12 @@ export default {
const time = new Date().getTime() - 5 * 60 * 1000
if (!reloadTime) {
hotWords({count: 5}).then(res => {
if (res.success) storage.setItem('hotWordsList', res.result)
if (res.success && res.result) storage.setItem('hotWordsList', res.result)
})
storage.setItem('hotWordsReloadTime', new Date().getTime())
} else if (reloadTime && time > reloadTime) {
hotWords({count: 5}).then(res => {
if (res.success) storage.setItem('hotWordsList', res.result)
if (res.success && res.result) storage.setItem('hotWordsList', res.result)
})
storage.setItem('hotWordsReloadTime', new Date().getTime())
}

View File

@@ -556,9 +556,6 @@ export default {
}
.item-select-row {
// display: flex;
// flex-direction: row;
// flex-wrap: wrap;
margin-bottom: 8px;
}
@@ -568,10 +565,6 @@ export default {
align-items: center;
}
.item-select-img {
width: 36px;
}
.item-select-box {
padding: 5px;
margin-right: 8px;
@@ -589,31 +582,11 @@ export default {
border: 0.5px solid $theme_color;
}
.item-select-box-disabled {
background-color: gray;
}
.item-select-img img {
width: 100%;
}
.item-select-intro p {
margin: 0px;
padding: 5px;
}
.item-select-class {
padding: 5px;
margin-right: 8px;
@include sub_background_color($light_background_color);
border: 0.5px solid #ccc;
cursor: pointer;
}
.item-select-class:hover {
border: 0.5px solid $theme_color;
}
.add-buy-car-box {
width: 100%;
margin-top: 15px;

View File

@@ -89,7 +89,11 @@ export default {
},
computed: {
navList () { // 导航列表
return JSON.parse(storage.getItem('navList')) || []
if (storage.getItem('navList')) {
return JSON.parse(storage.getItem('navList'))
} else {
return []
}
}
},
methods: {

View File

@@ -188,7 +188,7 @@ export default {
},
computed: {
cateList () { // 商品分类
return this.$store.state.category
return this.$store.state.category || []
}
},
watch: {

View File

@@ -89,7 +89,11 @@ export default {
},
computed: {
navList () { // 导航列表
return JSON.parse(storage.getItem('navList')) || []
if (storage.getItem('navList')) {
return JSON.parse(storage.getItem('navList'))
} else {
return []
}
}
},
methods: {

View File

@@ -17,10 +17,10 @@ export default {
* @description api请求基础路径
*/
api_dev: {
// common: 'http://192.168.0.101:8890',
// buyer: 'http://192.168.0.101:8888',
// seller: 'http://192.168.0.101:8889',
// manager: 'http://192.168.0.101:8887'
// common: 'http://192.168.0.100:8890',
// buyer: 'http://192.168.0.100:8888',
// seller: 'http://192.168.0.100:8889',
// manager: 'http://192.168.0.100:8887'
common: 'https://common-api.pickmall.cn',
buyer: 'https://buyer-api.pickmall.cn',

View File

@@ -117,7 +117,7 @@
已节省<span>{{ priceDetailDTO.discountPrice | unitPrice("¥") }}</span>
</div>
<div class="ml_20 total-price">
总价不含运费:<div>{{ priceDetailDTO.billPrice | unitPrice("¥") }}</div>
总价不含运费:<div>{{ priceDetailDTO.flowPrice | unitPrice("¥") }}</div>
</div>
<div class="pay ml_20" @click="pay">去结算</div>
</div>

View File

@@ -70,7 +70,6 @@ export default {
},
async getListByDay () { // 当天秒杀活动
const res = await seckillByDay()
console.log(res);
if (res.success && res.result.length) {
return res.result
} else {

View File

@@ -20,7 +20,7 @@
<div class="store-category">
<ul class="cate-list">
<li class="cate-item" @click="searchByCate({id:'', labelName: '店铺推荐'})">首页</li>
<li class="cate-item" v-for="(cate, index) in cateList" :key="index" >
<li class="cate-item" v-for="(cate, index) in cateList" :key="index">
<Dropdown v-if="cate.children.length">
<div @click.self="searchByCate(cate)">{{cate.labelName}} <Icon type="ios-arrow-down"></Icon></div>
<DropdownMenu slot="list">

View File

@@ -47,7 +47,8 @@
<span> {{ row.commission | unitPrice }}</span>
</template>
<template slot-scope="{ row }" slot="action">
<Button type="primary" size="small" style="margin-right: 5px" @click="fenxiao(row)">分销商品</Button>
<Button type="success" size="small" style="margin-right: 5px" @click="fenxiao(row)">分销商品</Button>
<Button type="error" size="small" @click="selectGoods(row.id, false)">取消选择</Button>
</template>
</Table>
<div class="page-size">
@@ -74,7 +75,7 @@
<span> {{ row.commission | unitPrice }}</span>
</template>
<template slot-scope="{ row }" slot="action">
<Button type="primary" size="small" style="margin-right: 5px" @click="selectGoods(row.id)">选择商品</Button>
<Button type="primary" size="small" style="margin-right: 5px" @click="selectGoods(row.id, true)">选择商品</Button>
</template>
</Table>
<div class="page-size">
@@ -158,7 +159,7 @@
</template>
<script>
import {distribution, applyDistribution, distCash, distCashHistory, getDistOrderList, getDistGoodsList, selectDistGoods} from '@/api/member.js'
import {distribution, applyDistribution, distCash, distCashHistory, getDistGoodsList, selectDistGoods} from '@/api/member.js'
import { IDCard } from '@/plugins/RegExp.js';
import vueQr from 'vue-qr';
export default {
@@ -187,7 +188,7 @@ export default {
{title: '商品名称', slot: 'name', width: 400},
{title: '商品价格', slot: 'price'},
{title: '佣金', slot: 'commission'},
{title: '操作', slot: 'action', width: 120}
{title: '操作', slot: 'action', minWidth: 120}
],
logColumns: [ // 日志表头
{title: '编号', slot: 'sn'},
@@ -262,9 +263,6 @@ export default {
} else if (tab === 'goodsUncheck') {
this.params.checked = false
this.getGoodsData()
} else if (tab === 'order') {
this.orderParams.pageNumber = 1
this.getOrderData()
} else if (tab === 'log') {
this.logParams.pageNumber = 1
this.getLog()
@@ -278,10 +276,14 @@ export default {
this.logParams.pageNumber = val;
this.getLog()
},
selectGoods (id) { // 选择商品
selectDistGoods(id).then(res => {
selectGoods (id, checked) { // 选择商品
let params = {
distributionGoodsId: id,
checked: checked
}
selectDistGoods(params).then(res => {
if (res.success) {
this.$Message.success('分销商品选择成功,请在已选商品中查看')
this.$Message.success('操作成功!')
this.getGoodsData()
}
})
@@ -296,11 +298,6 @@ export default {
if (res.success) this.goodsData = res.result
})
},
getOrderData () { // 订单数据
getDistOrderList(this.orderParams).then(res => {
if (res.success) this.goodsData = res.result
})
},
getLog () { // 提现历史
distCashHistory(this.logParams).then(res => {
if (res.success) this.logData = res.result

View File

@@ -8,7 +8,7 @@
<h3>积分日志</h3>
<Table :columns="logColumns" :data="logData.records">
<template slot-scope="{ row }" slot="point">
<div><span>{{row.pointType == "INCREASE" ? '+' : '-'}}</span>{{ row.variablePoint }}</div>
<div :style="{color:row.pointType === 'INCREASE' ? 'green' : 'red'}"><span>{{row.pointType === "INCREASE" ? '+' : ''}}</span>{{ row.variablePoint }}</div>
</template>
</Table>
<!-- 分页 -->

View File

@@ -50,10 +50,12 @@
</div>
<div>
<!-- 订单基础操作 -->
<Button @click="goDetail(order.sn)" size="small">售后详情</Button>
<Button @click="openModal(order)" v-if="order.serviceStatus == 'PASS' &&
order.serviceType != 'RETURN_MONEY'" size="small">提交物流</Button>
<Button @click="cancel(order.sn)" v-if="order.afterSaleAllowOperationVO.cancel" size="small">取消售后</Button>
<Button @click="goDetail(order.sn)" type="info" size="small">售后详情</Button>
<Button @click="openModal(order)"
v-if="order.serviceStatus == 'PASS' &&
order.serviceType != 'RETURN_MONEY'"
type="warning" size="small">提交物流</Button>
<Button @click="cancel(order.sn)" type="error" v-if="order.afterSaleAllowOperationVO.cancel" size="small">取消售后</Button>
</div>
</div>
</div>

View File

@@ -65,10 +65,10 @@
</div>
<div>
<!-- 订单基础操作 -->
<Button @click="orderDetail(order.sn)" size="small">订单详情</Button>
<Button @click="handleCancelOrder(order.sn)" v-if="order.allowOperationVO.cancel" size="small">取消订单</Button>
<Button @click="goPay(order.sn)" size="small" v-if="order.allowOperationVO.pay">去支付</Button>
<Button @click="received(order.sn)" size="small" v-if="order.allowOperationVO.rog">确认收货</Button>
<Button @click="orderDetail(order.sn)" type="info" size="small">订单详情</Button>
<Button @click="handleCancelOrder(order.sn)" type="error" v-if="order.allowOperationVO.cancel" size="small">取消订单</Button>
<Button @click="goPay(order.sn)" size="small" type="success" v-if="order.allowOperationVO.pay">去支付</Button>
<Button @click="received(order.sn)" size="small" type="warning" v-if="order.allowOperationVO.rog">确认收货</Button>
<!-- 售后 -->
<Button v-if="order.groupAfterSaleStatus.includes('NOT_APPLIED')" @click="applyAfterSale(order.orderItems)" size="small">申请售后</Button>
</div>

View File

@@ -14,7 +14,7 @@
<p>有效期{{item.endTime}}</p>
</div>
<b></b>
<a class="c-right" @click="go(item)">立即使用</a>
<a class="c-right" :class="{'canot-use':params.memberCouponStatus !== 'NEW'}" @click="go(item)">立即使用</a>
<i class="circle-top"></i>
<i class="circle-bottom"></i>
</li>
@@ -66,9 +66,12 @@ export default {
// 切换优惠券状态
change (index) {
this.params.memberCouponStatus = this.statusList[index]
this.params.pageNumber = 1;
this.getList()
},
go (item) { // 根据使用条件跳转商品列表页面
if (this.params.memberCouponStatus !== 'NEW') return;
if (item.storeId !== 'platform') {
this.$router.push({path: '/merchant', query: {id: item.storeId}})
} else {
@@ -127,10 +130,15 @@ export default {
width: 43px;
font-size: 14px;
}
.canot-use{
color: #999;
background-color: #eee;
}
i {
right: 34px;
}
}
.pageration {
text-align: right;
}

View File

@@ -213,29 +213,6 @@
</li>
</ul>
</div>
<!-- 其他信息 -->
<div class="other" v-if="$route.query.way === 'POINT'">
<div class="card-head mt_20 mb_20">
<span>其他信息</span>
</div>
<div>
<div>
<span>使用积分</span
><Input
type="text"
style="width: 100px"
v-model.number="otherMsgForm.point"
placeholder="请输入使用积分"
/>
<span style="color: #999"
>您当前的可用积分为
{{ otherMsgForm.totalPoint }} 本订单最多可以使用{{
otherMsgForm.availablePoint
}}</span
>
</div>
</div>
</div>
<!-- 订单价格 -->
<div class="order-price">
<div>
@@ -257,7 +234,13 @@
}}</span
>
</div>
<div>
<div v-if="$route.query.way === 'POINTS'">
<span>应付积分</span
><span class="actrual-price">{{
priceDetailDTO.payPoint
}}</span>
</div>
<div v-else>
<span>应付金额</span
><span class="actrual-price">{{
priceDetailDTO.flowPrice | unitPrice("¥")
@@ -299,7 +282,6 @@ import {
cartGoodsPay,
createTrade,
selectAddr,
shippingMethod,
selectCoupon,
couponNum
} from '@/api/cart';
@@ -318,13 +300,6 @@ export default {
receiptTitle: '个人',
receiptContent: '不开发票'
},
otherMsgForm: {
// 其他信息模块数据
point: 0,
availablePoint: 10,
totalPoint: 100,
noGoods: 0
},
addressList: [], // 地址列表
selectedAddress: {}, // 所选地址
goodsList: [], // 商品列表
@@ -549,10 +524,14 @@ export default {
.then((res) => {
this.$Spin.hide();
if (res.success) {
this.$router.push({
path: '/payment',
query: { orderType: 'TRADE', sn: res.result.sn }
});
if (params.way === 'POINTS') { // 积分支付不需要跳转支付页面
this.$router.push('/payDone')
} else {
this.$router.push({
path: '/payment',
query: { orderType: 'TRADE', sn: res.result.sn }
});
}
}
})
.catch(() => {

View File

@@ -0,0 +1,351 @@
<template>
<div style="background:#fff;">
<BaseHeader></BaseHeader>
<Search style="border-bottom:2px solid red;"></Search>
<!-- <drawer></drawer> -->
<div class="base-width cate-container">
<Breadcrumb>
<BreadcrumbItem to="/">首页</BreadcrumbItem>
<BreadcrumbItem>{{goodsMsg.pointsGoodsCategoryName}}</BreadcrumbItem>
</Breadcrumb>
</div>
<!-- 商品信息展示 -->
<div class="item-detail-show">
<!-- 详情左侧展示数据图片收藏举报 -->
<div class="item-detail-left">
<!-- 大图放大镜 -->
<div class="item-detail-big-img">
<pic-zoom v-if="goodsSku.thumbnail" :url="goodsSku.thumbnail" :scale="2"></pic-zoom>
</div>
<div class="item-detail-img-row">
<div class="item-detail-img-small">
<img :src="goodsSku.thumbnail" />
</div>
</div>
</div>
<!-- 右侧商品信息活动信息操作展示 -->
<div class="item-detail-right">
<div class="item-detail-title">
<p>{{ goodsSku.goodsName }}</p>
</div>
<div class="sell-point">
{{goodsSku.sellingPoint}}
</div>
<!-- 商品详细 -->
<div class="item-detail-price-row">
<div class="item-price-left">
<!-- 商品原价 -->
<div class="item-price-row">
<p>
<span class="item-price-title"> &nbsp;&nbsp;&nbsp;&nbsp;</span>
<span class="item-price">{{goodsMsg.points}}</span>
</p>
</div>
</div>
</div>
<div class="add-buy-car-box">
<div class="item-select">
<div class="item-select-title">
<p>数量</p>
</div>
<div class="item-select-row">
<InputNumber :min="1" :disabled="goodsSku.quantity === 0" v-model="count"></InputNumber>
<span class="inventory"> 库存{{goodsSku.quantity}}</span>
</div>
</div>
<div class="item-select" v-if="goodsSku.goodsType !== 'VIRTUAL_GOODS' && goodsSku.weight !== 0">
<div class="item-select-title">
<p>重量</p>
</div>
<div class="item-select-row">
<span class="inventory"> {{goodsSku.weight}}kg</span>
</div>
</div>
<div class="add-buy-car">
<Button type="error" :loading="loading" :disabled="goodsSku.quantity === 0" @click="pointBuy">积分购买</Button>
</div>
</div>
</div>
</div>
<!-- 商品详情 -->
<div class="base-width item-intro" ref="itemIntroGoods">
<div>商品介绍</div>
<div v-html="goodsSku.intro" class="mt_10 ml_10" v-if="goodsSku.intro"></div>
<div v-else style="margin:20px;">暂无商品介绍</div>
</div>
<Spin size="large" fix v-if="isLoading"></Spin>
<BaseFooter></BaseFooter>
</div>
</template>
<script>
import Search from '@/components/Search';
import PicZoom from 'vue-piczoom';
import { addCartGoods } from '@/api/cart.js';
import { pointGoodsDetail } from '@/api/promotion';
export default {
name: 'PointGoodsDetail',
beforeRouteEnter (to, from, next) {
window.scrollTo(0, 0);
next();
},
created () {
this.getGoodsDetail();
},
mounted () {
window.addEventListener('scroll', this.handleScroll)
},
data () {
return {
goodsMsg: {}, // 商品信息
goodsSku: {}, // 商品sku
isLoading: false, // 加载状态
categoryBar: [], // 分类
onceFlag: true, // 只调用一次
count: 1, // 购买商品数量
loading: false // 提交加载状态
};
},
methods: {
// 获取积分商品详情
getGoodsDetail () {
this.isLoading = true;
pointGoodsDetail(this.$route.query.id).then((res) => {
this.isLoading = false;
if (res.success) {
this.goodsMsg = res.result;
this.goodsSku = res.result.goodsSku
} else {
this.$Message.error(res.message)
this.$router.push('/')
}
}).catch(() => {
this.$router.push('/')
});
},
pointBuy () {
const params = {
num: this.count,
skuId: this.goodsMsg.skuId,
cartType: 'POINTS'
};
this.loading = true;
addCartGoods(params).then(res => {
this.loading = false;
if (res.success) {
this.$router.push({path: '/pay', query: {way: params.cartType}});
} else {
this.$Message.warning(res.message);
}
}).catch(() => {
this.loading = false;
});
},
handleScroll () { // 监听页面滚动
if (this.onceFlag) {
this.$nextTick(() => {
this.changeHeight()
});
this.onceFlag = false
}
},
changeHeight () { // 设置商品详情高度
let goodsDetailCon = document.querySelector('.item-intro')
let heightCss = window.getComputedStyle(goodsDetailCon).height;
heightCss = parseInt(heightCss.substr(0, heightCss.length - 2)) + 89;
this.$refs.itemIntroGoods.style.height = heightCss + 'px';
}
},
components: {
Search, PicZoom
}
};
</script>
<style scoped lang="scss">
.base-width{
width: 1200px;
margin: 0 auto;
position: relative;
}
.cate-container{
background-color: #eee;
height: 30px;
line-height: 30px;
padding-left: 10px;
margin-top: 10px;
}
// 商品图片,价格等
.item-detail-show {
width: 1200px;
margin: 0 auto;
padding: 30px;
display: flex;
flex-direction: row;
}
.item-detail-left {
width: 350px;
margin-right: 30px;
}
.item-detail-big-img {
width: 350px;
height: 350px;
box-shadow: 0px 0px 8px $border_color;
cursor: pointer;
img {
width: 100%;
}
}
.item-detail-img-row {
margin-top: 15px;
display: flex;
}
.item-detail-img-small {
width: 68px;
height: 68px;
box-shadow: 0px 0px 8px #ccc;
cursor: pointer;
margin-left: 5px;
img {
height: 100%;
width: 100%;
}
}
/*商品选购详情*/
.item-detail-right {
flex: 1;
display: flex;
flex-direction: column;
}
.item-detail-title p {
@include content_color($light_content_color);
font-weight: bold;
font-size: 20px;
padding: 8px 0;
}
.item-detail-express {
font-size: 14px;
padding: 2px 3px;
border-radius: 3px;
background-color: $theme_color;
color: #fff;
}
/*商品标签*/
.item-detail-tag {
padding: 8px 0;
font-size: 12px;
color: $theme_color;
}
/*价格详情等*/
.item-detail-price-row {
padding: 10px;
display: flex;
flex-direction: row;
justify-content: space-between;
background: url("../../assets/images/goodsDetail/price-bg.png");
}
.item-price-left {
display: flex;
flex-direction: column;
}
.item-price-title {
color: #999999;
font-size: 14px;
margin-right: 15px;
}
.item-price-row {
margin: 5px 0px;
}
.item-price {
color: $theme_color;
font-size: 20px;
cursor: pointer;
}
.item-price-old {
color: gray;
text-decoration: line-through;
font-size: 14px;
margin-left: 5px;
}
.add-buy-car-box {
width: 100%;
margin-top: 15px;
border-top: 1px dotted $border_color;
}
.add-buy-car {
margin-top: 15px;
}
.item-select {
display: flex;
flex-direction: row;
margin-top: 15px;
}
.item-select-title {
@include content_color($light_content_color);
font-size: 14px;
margin-right: 15px;
width: 60px;
}
.item-select-column {
display: flex;
flex-wrap: wrap;
flex: 1;
}
.item-select-row {
margin-bottom: 8px;
}
.item-select-box {
display: flex;
flex-direction: row;
align-items: center;
padding: 5px;
margin-right: 8px;
@include background_color($light_background_color);
border: 0.5px solid $border_color;
cursor: pointer;
@include content_color($light_content_color);
}
.item-select-box:hover {
border: 0.5px solid $theme_color;
}
.item-select-box-active {
border: 0.5px solid $theme_color;
}
.item-select-intro p {
margin: 0px;
padding: 5px;
}
.sell-point {
font-size: 12px;
color: red;
margin-bottom: 5px;
}
// 商品详情
.item-intro {
margin-top: 10px;
>div:nth-child(1) {
height: 40px;
line-height: 40px;
background-color: #eee;
padding-left: 20px;
}
}
</style>

View File

@@ -15,16 +15,14 @@
class="goods-show-info"
v-for="(item, index) in goodsList"
:key="index"
@click="goGoodsDetail(item.skuId, item.goodsSku.goodsId)"
@click="goGoodsDetail(item.id)"
>
<div class="goods-show-img">
<img width="220" height="220" :src="item.goodsSku.thumbnail" />
</div>
<div class="goods-show-price">
<span>
<span class="seckill-price text-danger">{{
item.settlementPrice | unitPrice("¥")
}} + {{item.points}}积分</span>
<span class="seckill-price text-danger">{{item.points}}积分</span>
</span>
</div>
<div class="goods-show-detail">
@@ -97,12 +95,13 @@ export default {
this.getList()
this.$router.push({query: {categoryId: cateId}})
},
goGoodsDetail (skuId, goodsId) { //
let routerUrl = this.$router.resolve({
path: '/goodsDetail',
query: {skuId, goodsId, way: 'POINT'}
})
window.open(routerUrl.href, '_blank')
goGoodsDetail (id) { //
this.$router.push({path: '/pointGoodsDetail', query: {id}})
// let routerUrl = this.$router.resolve({
// path: '/pointGoodsDetail',
// query: {id}
// })
// window.open(routerUrl.href, '_blank')
},
changePageNum (val) { //
this.params.pageNumber = val;
@@ -117,7 +116,7 @@ export default {
}
</script>
<style lang="scss" scoped>
@import '../assets/styles/goodsList.scss';
@import '../../assets/styles/goodsList.scss';
.seckill-price {
font-size: 18px;
}
@@ -151,7 +150,7 @@ export default {
justify-content: flex-end;
}
.promotion-decorate::before,.promotion-decorate::after{
background-image: url('../../static/sprite@2x.png');
background-image: url('../../../static/sprite@2x.png');
}
.cate-select-con{
display: block;

View File

@@ -229,8 +229,8 @@ export default {
],
linkName: [{ required: true, message: '请填写联系人姓名' }],
linkPhone: [
{ required: true, message: '请填写联系人姓名' },
{ pattern: RegExp.mobile, message: '请填写正确手机号' }
{ required: true, message: '请填写公司电话' },
{ pattern: RegExp.mobile, message: '请填写正确的号码' }
],
companyEmail: [
{ required: true, message: '请填写电子邮箱' },

View File

@@ -6,6 +6,7 @@ const SignUp = resolve => require(['@/pages/SignUp'], resolve);
const ForgetPassword = resolve => require(['@/pages/ForgetPassword'], resolve);
const GoodsList = resolve => require(['@/pages/GoodsList'], resolve);
const GoodsDetail = resolve => require(['@/pages/GoodsDetail'], resolve);
const PointGoodsDetail = resolve => require(['@/pages/promotion/PointGoodsDetail'], resolve);
const ShoppingCart = resolve => require(['@/pages/ShoppingCart'], resolve);
const Cart = resolve => require(['@/pages/Cart'], resolve);
const Pay = resolve => require(['@/pages/payment/Pay'], resolve);
@@ -15,7 +16,7 @@ const ThirdPay = resolve => require(['@/pages/payment/ThirdPay'], resolve);
const Coupon = resolve => require(['@/pages/CouponCenter'], resolve);
const seckill = resolve => require(['@/pages/promotion/seckill'], resolve);
const article = resolve => require(['@/pages/article/index'], resolve);
const PointMall = resolve => require(['@/pages/PointMall'], resolve);
const PointMall = resolve => require(['@/pages/promotion/PointMall'], resolve);
/*
* 会员中心
@@ -109,6 +110,12 @@ export default new Router({
component: GoodsDetail,
meta: {title: '商品详情'}
},
{
path: '/pointGoodsDetail', // 商品详情
name: 'PointGoodsDetail',
component: PointGoodsDetail,
meta: {title: '积分商品'}
},
{
path: '/shoppingCart', // 头部购物车
name: 'ShoppingCart',
@@ -252,13 +259,14 @@ export default new Router({
{
path: 'Favorites',
name: 'Favorites',
component: Favorites
component: Favorites,
meta: {title: '我的收藏'}
},
{
path: 'Distribution',
name: 'Distribution',
component: Distribution,
meta: {title: '我的投诉'}
meta: {title: '分销推荐'}
},
{
path: 'Point',

View File

@@ -13,7 +13,7 @@ export default new Vuex.Store({
cartNum: storage.getItem('cartNum') || 0,
logoImg: require('@/assets/images/logo2.png'),
hotWordsList: storage.getItem('hotWordsList'),
category: localStorage.getItem('category')
category: JSON.parse(localStorage.getItem('category'))
},
getters,
actions,