im对接,修改bug

master
mabo 2021-05-28 17:25:07 +08:00
parent e935d5bcd5
commit 6780654aae
12 changed files with 85 additions and 151 deletions

View File

@ -4,7 +4,7 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="./static/logo.ico" type="image/x-icon"> <link rel="icon" href="./static/logo.ico" type="image/x-icon">
<!-- <script src = 'https://webapi.amap.com/maps?v=2.0&key=b440952723253aa9fe483e698057bf7d'></script> --> <script src="https://yzf.qq.com/xv/web/static/chat_sdk/yzf_chat.min.js"></script>
<title>LILI</title> <title>LILI</title>
</head> </head>
<body> <body>

View File

@ -104,7 +104,7 @@ export default {
<style scoped lang="scss"> <style scoped lang="scss">
@import '../../assets/styles/coupon.scss'; @import '../../assets/styles/coupon.scss';
.pageration{ .pageration {
text-align: right; text-align: right;
} }
</style> </style>

View File

@ -20,7 +20,7 @@
<div class="goodsConfig mt_10"> <div class="goodsConfig mt_10">
<span @click="collect" ><Icon type="ios-heart" :color="isCollected ? '#ed3f14' : '#666'" />{{isCollected?'已收藏':'收藏'}}</span> <span @click="collect" ><Icon type="ios-heart" :color="isCollected ? '#ed3f14' : '#666'" />{{isCollected?'已收藏':'收藏'}}</span>
<!-- <span>举报</span> -->
</div> </div>
</div> </div>
<!-- 右侧商品信息活动信息操作展示 --> <!-- 右侧商品信息活动信息操作展示 -->
@ -60,7 +60,7 @@
:key="index" :key="index"
@click="receiveCoupon(item.id)" @click="receiveCoupon(item.id)"
> >
<span v-if="item.couponType == 'PRICE'">{{ item.consumeThreshold }}{{item.price | unitPrice}}</span> <span v-if="item.couponType == 'PRICE'">{{ item.consumeThreshold }}{{item.price}}</span>
<span v-if="item.couponType == 'DISCOUNT'">{{ item.consumeThreshold }}{{item.couponDiscount}}</span> <span v-if="item.couponType == 'DISCOUNT'">{{ item.consumeThreshold }}{{item.couponDiscount}}</span>
</span> </span>
</p> </p>
@ -126,32 +126,6 @@
</div> </div>
</div> </div>
</div> </div>
<!-- <div class="item-detail-see">
<Divider>更多推荐</Divider>
<Row>
<Col :span="24" class="see-Item">
<img class="see-Img" src="https://demo.dscmall.cn/storage/images/201703/thumb_img/0_thumb_G_1489099128797.jpg" alt="" />
<p>
名龙堂i7 6700升7700 GTX1060 6G台式电脑主机DIY游戏组装整机
升6GB独显 送正版WIN10 一年上门
</p>
<p class="global_color">2500.00</p>
</Col>
<Col :span="24" class="see-Item">
<img
class="see-Img"
src="https://demo.dscmall.cn/storage/images/201703/thumb_img/0_thumb_G_1489099128797.jpg"
alt=""
/>
<p>
名龙堂i7 6700升7700 GTX1060 6G台式电脑主机DIY游戏组装整机
升6GB独显 送正版WIN10 一年上门
</p>
<p class="global_color">2500.00</p>
</Col>
</Row>
</div> -->
</div> </div>
</div> </div>
</template> </template>

View File

@ -1,10 +1,10 @@
<template> <template>
<div class="shop-box"> <div class="shop-box">
<div class="shop-container"> <div class="shop-container">
<div class="shop-title">
<div class="shop-title-content"> <div class="shop-title-content">
<p><router-link :to="`/merchant?id=${skuDetail.storeId}`">{{ skuDetail.storeName }}</router-link></p> <img class="hover-pointer" @click="linkTo(`/merchant?id=${storeDetail.storeId}`)" :src="storeDetail.storeLogo" height="40" alt="">
</div> <p><router-link :to="`/merchant?id=${storeDetail.storeId}`">{{ storeDetail.storeName }}</router-link></p>
<div class="ml_20" v-html="storeDetail.storeDesc"></div>
</div> </div>
</div> </div>
</div> </div>
@ -20,7 +20,7 @@ export default {
} }
}, },
computed: { computed: {
skuDetail () { storeDetail () {
return this.detail; return this.detail;
} }
} }
@ -46,57 +46,17 @@ export default {
color: #fff; color: #fff;
} }
.shop-title {
display: flex;
flex-direction: row;
}
.shop-title-icon {
font-size: 46px;
}
.shop-title-content { .shop-title-content {
padding-top: 8px;
margin-left: 15px;
display: flex; display: flex;
align-items: center;
} }
.shop-title-content p { .shop-title-content p {
line-height: 26px;
font-size: 20px; font-size: 20px;
}
.shop-title-content p:nth-child(2) {
font-size: 16px;
margin-left: 20px; margin-left: 20px;
} }
.shop-title-content a { .shop-title-content a {
color: #fff; color: #fff;
} }
.shop-another-item {
display: flex;
flex-direction: row;
}
.shop-another-item-detail {
display: flex;
flex-direction: row;
align-items: center;
margin-left: 15px;
}
.shop-another-item-img {
height: 80px;
border-radius: 40px;
overflow: hidden;
}
.shop-another-item-img img {
width: 80px;
}
.shop-anoter-item-intro {
margin-left: 15px;
}
</style> </style>

View File

@ -13,11 +13,12 @@
</li> </li>
</ul> </ul>
</div> </div>
<!-- 侧边导航 --> <!-- 全部商品分类 -->
<div class="cate-list" v-show="showAlways || showFirstList" @mouseenter="showFirstList = true" @mouseleave="showFirstList = false"> <div class="cate-list" v-show="showAlways || showFirstList" @mouseenter="showFirstList = true" @mouseleave="showFirstList = false">
<div class="nav-side"> <!-- 第一级分类 -->
<div class="nav-side" @mouseleave="panel = false">
<ul> <ul>
<li v-for="(item, index) in cateList" :key="index" @mouseenter="showDetail(index)" @mouseleave="panel = false"> <li v-for="(item, index) in cateList" :key="index" @mouseenter="showDetail(index)" >
<span class="nav-side-item" @click="goGoodsList(item.id)">{{item.name}}</span> <span class="nav-side-item" @click="goGoodsList(item.id)">{{item.name}}</span>
<span v-for="(second, secIndex) in item.children" :key="secIndex"> <span v-for="(second, secIndex) in item.children" :key="secIndex">
<span v-if="secIndex < 2" > / </span> <span v-if="secIndex < 2" > / </span>
@ -26,13 +27,11 @@
</li> </li>
</ul> </ul>
</div> </div>
<transition name="fade"> <!-- 展开分类 -->
<div <div
class="detail-item-panel" class="detail-item-panel"
:duration="{ enter: 100, leave: 100 }"
v-show="panel" v-show="panel"
@mouseenter="panel = true" @mouseenter="panel = true"
ref="itemPanel1"
@mouseleave="panel = false" @mouseleave="panel = false"
> >
<div class="nav-detail-item"> <div class="nav-detail-item">
@ -57,7 +56,6 @@
</li> </li>
</ul> </ul>
</div> </div>
</transition>
</div> </div>
</div> </div>
</template> </template>
@ -86,12 +84,12 @@ export default {
} }
}, },
computed: { computed: {
navList () { navList () { //
return JSON.parse(storage.getItem('navList')) || [] return JSON.parse(storage.getItem('navList')) || []
} }
}, },
methods: { methods: {
getCate () { getCate () { //
getCategory(0).then(res => { getCategory(0).then(res => {
if (res.success) { if (res.success) {
this.cateList = res.result; this.cateList = res.result;
@ -99,7 +97,7 @@ export default {
} }
}); });
}, },
showDetail (index) { showDetail (index) { //
this.panel = true this.panel = true
this.panelData = this.cateList[index].children this.panelData = this.cateList[index].children
}, },
@ -245,9 +243,6 @@ export default {
.nav-detail-item span:hover { .nav-detail-item span:hover {
background-color: $theme_color; background-color: $theme_color;
} }
.detail-item-panel ul {
list-style: none;
}
.detail-item-panel li { .detail-item-panel li {
line-height: 30px; line-height: 30px;
// margin-left: 40px; // margin-left: 40px;

View File

@ -17,15 +17,15 @@ export default {
* @description api请求基础路径 * @description api请求基础路径
*/ */
api_dev: { api_dev: {
// common: 'http://192.168.0.103:8890', common: 'http://192.168.0.109:8890',
// buyer: 'http://192.168.0.103:8888', buyer: 'http://192.168.0.109:8888',
// seller: 'http://192.168.0.103:8889', seller: 'http://192.168.0.109:8889',
// manager: 'http://192.168.0.103:8887' manager: 'http://192.168.0.109:8887'
common: 'https://common-api.pickmall.cn', // common: 'https://common-api.pickmall.cn',
buyer: 'https://buyer-api.pickmall.cn', // buyer: 'https://buyer-api.pickmall.cn',
seller: 'https://store-api.pickmall.cn', // seller: 'https://store-api.pickmall.cn',
manager: 'https://admin-api.pickmall.cn' // manager: 'https://admin-api.pickmall.cn'
}, },
api_prod: { api_prod: {
common: 'https://common-api.pickmall.cn', common: 'https://common-api.pickmall.cn',

View File

@ -37,6 +37,10 @@ Vue.prototype.linkTo = function (url) {
window.open(url, '_blank') window.open(url, '_blank')
} }
} }
Vue.prototype.connectCs = function (sign = '37ef9b97807d03c6741298ed4eb5b536d2d238e08a3c00fb01fe48f03a569974c99ad767e72c04b3165ef29aca2c488b505fe4ca') { // 联系客服
const url = 'https://yzf.qq.com/xv/web/static/chat/index.html?sign=' + sign
window.open(url, '_blank')
}
Vue.prototype.Cookies = storage Vue.prototype.Cookies = storage
/* eslint-disable no-new */ /* eslint-disable no-new */
new Vue({ new Vue({

View File

@ -3,7 +3,7 @@
<BaseHeader></BaseHeader> <BaseHeader></BaseHeader>
<Search></Search> <Search></Search>
<drawer></drawer> <drawer></drawer>
<ShopHeader v-if="goodsMsg.data" :detail="goodsMsg.data"></ShopHeader> <ShopHeader :detail="storeMsg"></ShopHeader>
<div class="shop-item-path"> <div class="shop-item-path">
<div class="shop-nav-container"> <div class="shop-nav-container">
<Breadcrumb> <Breadcrumb>
@ -11,8 +11,9 @@
<BreadcrumbItem v-for="(item, index) in categoryBar" :to="goGoodsList(index)" target="_blank" :key="index">{{item.name}}</BreadcrumbItem> <BreadcrumbItem v-for="(item, index) in categoryBar" :to="goGoodsList(index)" target="_blank" :key="index">{{item.name}}</BreadcrumbItem>
</Breadcrumb> </Breadcrumb>
<div class="store-collect"> <div class="store-collect">
<span class="mr_10"><router-link :to="'Merchant?id=' + goodsMsg.data.storeId">{{goodsMsg.data.storeName}}</router-link></span> <span class="mr_10" v-if="goodsMsg.data"><router-link :to="'Merchant?id=' + goodsMsg.data.storeId">{{goodsMsg.data.storeName}}</router-link></span>
<span @click="collect" ><Icon type="ios-heart" :color="storeCollected ? '#ed3f14' : '#666'" />{{storeCollected?'已收藏店铺':'收藏店铺'}}</span> <span @click="collect" ><Icon type="ios-heart" :color="storeCollected ? '#ed3f14' : '#666'" />{{storeCollected?'已收藏店铺':'收藏店铺'}}</span>
<span @click="connectCs(storeMsg.yzgSign)" class="ml_10"><Icon custom="icomoon icon-customer-service" />联系客服</span>
</div> </div>
</div> </div>
</div> </div>
@ -40,6 +41,7 @@ import ShowGoodsDetail from '@/components/goodsDetail/ShowGoodsDetail';
import ShowLikeGoods from '@/components/like'; import ShowLikeGoods from '@/components/like';
import { goodsSkuDetail } from '@/api/goods'; import { goodsSkuDetail } from '@/api/goods';
import { cancelCollect, collectGoods, isCollection } from '@/api/member'; import { cancelCollect, collectGoods, isCollection } from '@/api/member';
import {getDetailById} from '@/api/shopentry'
export default { export default {
name: 'GoodsDetail', name: 'GoodsDetail',
beforeRouteEnter (to, from, next) { beforeRouteEnter (to, from, next) {
@ -48,20 +50,15 @@ export default {
}, },
created () { created () {
this.getGoodsDetail(); this.getGoodsDetail();
if (this.Cookies.getItem('userInfo')) {
isCollection('STORE', this.goodsMsg.data.storeId).then(res => {
if (res.success && res.result) {
this.storeCollected = true;
}
})
}
}, },
data () { data () {
return { return {
goodsMsg: {}, // goodsMsg: {}, //
isLoading: false, // isLoading: false, //
categoryBar: [], // categoryBar: [], //
storeCollected: false // storeCollected: false, //
storeMsg: {} //
}; };
}, },
methods: { methods: {
@ -83,6 +80,20 @@ export default {
}); });
this.categoryBar = cateArr; this.categoryBar = cateArr;
this.goodsMsg = res.result; this.goodsMsg = res.result;
//
if (this.Cookies.getItem('userInfo')) {
isCollection('STORE', this.goodsMsg.data.storeId).then(res => {
if (res.success && res.result) {
this.storeCollected = true;
}
})
}
//
getDetailById(this.goodsMsg.data.storeId).then(res => {
if (res.success) {
this.storeMsg = res.result
}
})
} else { } else {
this.$Message.error(res.message) this.$Message.error(res.message)
this.$router.push('/') this.$router.push('/')
@ -91,7 +102,7 @@ export default {
this.$router.push('/') this.$router.push('/')
}); });
}, },
goGoodsList (currIndex) { goGoodsList (currIndex) { //
const arr = [] const arr = []
this.categoryBar.forEach((e, index) => { this.categoryBar.forEach((e, index) => {
if (index <= currIndex) { if (index <= currIndex) {
@ -132,7 +143,6 @@ export default {
} }
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.shop-item-path { .shop-item-path {
height: 38px; height: 38px;
@ -146,6 +156,7 @@ export default {
padding: 20px 0; padding: 20px 0;
@include white_background_color(); @include white_background_color();
} }
.shop-nav-container { .shop-nav-container {
width: 1200px; width: 1200px;
margin: 0 auto; margin: 0 auto;

View File

@ -9,9 +9,10 @@
<img :src="storeMsg.storeLogo" height="50" alt=""> <img :src="storeMsg.storeLogo" height="50" alt="">
<div> <div>
<p>{{storeMsg.storeName || 'xx店铺'}}</p> <p>{{storeMsg.storeName || 'xx店铺'}}</p>
<p>{{storeMsg.storeDesc || 'xx店铺描述'}}</p> <p v-html="storeMsg.storeDesc"></p>
</div> </div>
<div class="store-collect" @click="collect"><Icon type="ios-heart" :color="storeCollected ? '#ed3f14' : '#fff'" />{{storeCollected?'已收藏店铺':'收藏店铺'}}</div> <div class="store-collect" @click="collect"><Icon type="ios-heart" :color="storeCollected ? '#ed3f14' : '#fff'" />{{storeCollected?'已收藏店铺':'收藏店铺'}}</div>
<span class="hover-pointer ml_10" @click="connectCs(storeMsg.yzfSign)"><Icon custom="icomoon icon-customer-service" />联系客服</span>
</div> </div>
</div> </div>
<div class="store-category"> <div class="store-category">
@ -204,7 +205,7 @@ export default {
} }
} }
.store-collect{ .store-collect{
margin-left: 20px!important; margin-left: 750px!important;
&:hover{ &:hover{
cursor: pointer; cursor: pointer;
} }

View File

@ -14,9 +14,6 @@ $theme_color: #804ed1;
border-radius: 1em; border-radius: 1em;
background-color: rgba(50,50,50,.1); background-color: rgba(50,50,50,.1);
} }
.ivu-table table {
width: 100%!important;
}
.flex{ .flex{
display: flex !important; display: flex !important;

View File

@ -63,9 +63,6 @@
padding: 10px; padding: 10px;
margin: 0; margin: 0;
flex-wrap: wrap; flex-wrap: wrap;
/deep/ .ivu-form-item{
}
} }
.padding-row{ .padding-row{
margin-top: 15px; margin-top: 15px;

View File

@ -35,8 +35,7 @@
</Dropdown> </Dropdown>
</Row> </Row>
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> <Table :loading="loading" border :columns="columns" :data="data" ref="table" @on-selection-change="changeSelect">
<!-- 商品栏目格式化 --> <!-- 商品栏目格式化 -->
<template slot="goodsSlot" slot-scope="{row}"> <template slot="goodsSlot" slot-scope="{row}">
<div style="margin-top: 5px;height: 90px; display: flex;"> <div style="margin-top: 5px;height: 90px; display: flex;">
@ -56,7 +55,6 @@
</Poptip> </Poptip>
</div> </div>
</div> </div>
</template> </template>
</Table> </Table>
@ -724,7 +722,4 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "@/styles/table-common.scss"; @import "@/styles/table-common.scss";
/deep/ .ivu-table-wrapper {
width: 100% i !important;
}
</style> </style>