99 lines
3.0 KiB
Vue
99 lines
3.0 KiB
Vue
<template>
|
||
<!-- 客服跳转 -->
|
||
<!-- #ifdef APP-PLUS || H5 -->
|
||
<view class="acea-row row-center-wrapper cartf iconfont icon-kefu3" :style="{ top: top + 'px'}" @touchmove.stop.prevent="setTouchMove" @click="licks"></view>
|
||
<!-- #endif -->
|
||
<!-- #ifdef MP -->
|
||
<view v-if="routineContact == 0">
|
||
<view class="acea-row row-center-wrapper cartf iconfont icon-kefu3" :style="{ top: top + 'px'}" @touchmove.stop.prevent="setTouchMove" @click="licks"></view>
|
||
</view>
|
||
<button class="acea-row row-center-wrapper cartf iconfont icon-kefu3" open-type='contact' :style="{ top: top + 'px'}" @touchmove.stop.prevent="setTouchMove" v-else-if="routineContact==1 && !goodsCon"></button>
|
||
<button class="acea-row row-center-wrapper cartf iconfont icon-kefu3" open-type='contact' :send-message-title="storeInfo.store_name" :send-message-img="storeInfo.image" :send-message-path="`/pages/goods_details/index?id=${storeInfo.id}`" show-message-card :style="{ top: top + 'px'}" @touchmove.stop.prevent="setTouchMove" v-else-if="routineContact==1 && goodsCon"></button>
|
||
<!-- #endif -->
|
||
</template>
|
||
|
||
<script>
|
||
// +----------------------------------------------------------------------
|
||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||
// +----------------------------------------------------------------------
|
||
// | Author: CRMEB Team <admin@crmeb.com>
|
||
// +----------------------------------------------------------------------
|
||
let app = getApp();
|
||
import {
|
||
mapGetters
|
||
} from "vuex";
|
||
export default {
|
||
name: "kefuIcon",
|
||
props: {
|
||
ids: {
|
||
type: Number,
|
||
default: 0
|
||
},
|
||
routineContact: {
|
||
type: Number,
|
||
default: 0
|
||
},
|
||
storeInfo: {
|
||
type: Object,
|
||
default () {
|
||
return {};
|
||
}
|
||
},
|
||
goodsCon: {
|
||
type: Number,
|
||
default: 0
|
||
}
|
||
},
|
||
computed: mapGetters(['userInfo']),
|
||
data: function() {
|
||
return {
|
||
top: "480"
|
||
};
|
||
},
|
||
mounted() {
|
||
// #ifdef H5
|
||
this.top = parseFloat(window.innerHeight) -200
|
||
// #endif
|
||
},
|
||
methods: {
|
||
setTouchMove(e) {
|
||
let that = this;
|
||
if (e.touches[0].clientY < 480 && e.touches[0].clientY > 66) {
|
||
that.top = e.touches[0].clientY
|
||
}
|
||
},
|
||
licks(){
|
||
let userInfo = {}
|
||
if(typeof this.userInfo === 'string'){
|
||
userInfo = JSON.parse(this.userInfo)
|
||
}else{
|
||
userInfo = this.userInfo
|
||
}
|
||
let url = `/pages/extension/customer_list/chat?productId=${this.ids}`
|
||
this.$util.getCustomer(userInfo,url)
|
||
}
|
||
},
|
||
created() {
|
||
}
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
.cartf{
|
||
width: 96rpx;
|
||
height: 96rpx;
|
||
background: #FFFFFF;
|
||
box-shadow: 0 3rpx 16rpx rgba(0, 0, 0, 0.08);
|
||
border-radius: 50%;
|
||
font-size: 47rpx;
|
||
color: #666;
|
||
position: fixed;
|
||
right: 15rpx;
|
||
z-index: 9;
|
||
}
|
||
</style>
|