消息修改,回话bug修改
This commit is contained in:
parent
613742e706
commit
9b6befad9c
|
@ -53,7 +53,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_picBox noPad">
|
<div class="broadcast_details_picBox noPad">
|
||||||
<div class="broadcast_details_tit">
|
<div class="broadcast_details_tit">
|
||||||
{{val.product.cart_info.product.store_name}}</div>
|
{{val.product.cart_info.product.store_name}}
|
||||||
|
</div>
|
||||||
<div class="broadcast_details_pic">
|
<div class="broadcast_details_pic">
|
||||||
¥{{ item.refundOrder.refund_price }}
|
¥{{ item.refundOrder.refund_price }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -89,7 +90,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_picBox noPad">
|
<div class="broadcast_details_picBox noPad">
|
||||||
<div class="broadcast_details_tit">
|
<div class="broadcast_details_tit">
|
||||||
{{val.cart_info.product.store_name}}</div>
|
{{val.cart_info.product.store_name}}
|
||||||
|
</div>
|
||||||
<div class="broadcast_details_pic">
|
<div class="broadcast_details_pic">
|
||||||
¥{{ item.orderInfo.pay_price }}
|
¥{{ item.orderInfo.pay_price }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -101,7 +103,7 @@
|
||||||
<!--商品链接-->
|
<!--商品链接-->
|
||||||
<div class="conter acea-row row-middle"
|
<div class="conter acea-row row-middle"
|
||||||
v-if="item.msn_type === 4 && item.product">
|
v-if="item.msn_type === 4 && item.product">
|
||||||
<div class=" noPad">
|
<div class="noPad">
|
||||||
<navigator class="acea-row row-column-around noPad"
|
<navigator class="acea-row row-column-around noPad"
|
||||||
v-if="item.product.product_id"
|
v-if="item.product.product_id"
|
||||||
:url="`/pages/goods_details/index?id=${item.product.product_id}`"
|
:url="`/pages/goods_details/index?id=${item.product.product_id}`"
|
||||||
|
@ -114,7 +116,8 @@
|
||||||
¥{{ item.product.price }}
|
¥{{ item.product.price }}
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_tit_no line1">
|
<div class="broadcast_details_tit_no line1">
|
||||||
{{item.product.store_name}}</div>
|
{{item.product.store_name}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</navigator>
|
</navigator>
|
||||||
</div>
|
</div>
|
||||||
|
@ -135,7 +138,8 @@
|
||||||
¥{{ item.presell.price }}
|
¥{{ item.presell.price }}
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_tit_no line1">
|
<div class="broadcast_details_tit_no line1">
|
||||||
{{item.presell.store_name}}</div>
|
{{item.presell.store_name}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</navigator>
|
</navigator>
|
||||||
</div>
|
</div>
|
||||||
|
@ -156,7 +160,8 @@
|
||||||
¥{{ item.productGroup.product.price }}
|
¥{{ item.productGroup.product.price }}
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_tit_no line1">
|
<div class="broadcast_details_tit_no line1">
|
||||||
{{item.productGroup.product.store_name}}</div>
|
{{item.productGroup.product.store_name}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</navigator>
|
</navigator>
|
||||||
</div>
|
</div>
|
||||||
|
@ -207,7 +212,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_picBox noPad">
|
<div class="broadcast_details_picBox noPad">
|
||||||
<div class="broadcast_details_tit">
|
<div class="broadcast_details_tit">
|
||||||
{{val.product.cart_info.product.store_name}}</div>
|
{{val.product.cart_info.product.store_name}}
|
||||||
|
</div>
|
||||||
<div class="broadcast_details_pic">
|
<div class="broadcast_details_pic">
|
||||||
¥{{ item.refundOrder.refund_price }}
|
¥{{ item.refundOrder.refund_price }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -243,7 +249,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_picBox noPad">
|
<div class="broadcast_details_picBox noPad">
|
||||||
<div class="broadcast_details_tit">
|
<div class="broadcast_details_tit">
|
||||||
{{val.cart_info.product.store_name}}</div>
|
{{val.cart_info.product.store_name}}
|
||||||
|
</div>
|
||||||
<div class="broadcast_details_pic">
|
<div class="broadcast_details_pic">
|
||||||
¥{{ item.orderInfo.pay_price }}
|
¥{{ item.orderInfo.pay_price }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -267,7 +274,8 @@
|
||||||
¥{{ item.product.price }}
|
¥{{ item.product.price }}
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_tit_no line1">
|
<div class="broadcast_details_tit_no line1">
|
||||||
{{item.product.store_name}}</div>
|
{{item.product.store_name}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</navigator>
|
</navigator>
|
||||||
</div>
|
</div>
|
||||||
|
@ -288,7 +296,8 @@
|
||||||
¥{{ item.presell.price }}
|
¥{{ item.presell.price }}
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_tit_no line1">
|
<div class="broadcast_details_tit_no line1">
|
||||||
{{item.presell.store_name}}</div>
|
{{item.presell.store_name}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</navigator>
|
</navigator>
|
||||||
</div>
|
</div>
|
||||||
|
@ -309,7 +318,8 @@
|
||||||
¥{{ item.productGroup.product.price }}
|
¥{{ item.productGroup.product.price }}
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_tit_no line1">
|
<div class="broadcast_details_tit_no line1">
|
||||||
{{item.productGroup.product.store_name}}</div>
|
{{item.productGroup.product.store_name}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</navigator>
|
</navigator>
|
||||||
</div>
|
</div>
|
||||||
|
@ -388,7 +398,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_picBox noPad">
|
<div class="broadcast_details_picBox noPad">
|
||||||
<div class="broadcast_details_tit">
|
<div class="broadcast_details_tit">
|
||||||
{{val.product.cart_info.product.store_name}}</div>
|
{{val.product.cart_info.product.store_name}}
|
||||||
|
</div>
|
||||||
<div class="broadcast_details_pic">
|
<div class="broadcast_details_pic">
|
||||||
¥{{ val.product.cart_info.productAttr.price }}
|
¥{{ val.product.cart_info.productAttr.price }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -425,7 +436,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_picBox noPad">
|
<div class="broadcast_details_picBox noPad">
|
||||||
<div class="broadcast_details_tit">
|
<div class="broadcast_details_tit">
|
||||||
{{val.cart_info.product.store_name}}</div>
|
{{val.cart_info.product.store_name}}
|
||||||
|
</div>
|
||||||
<div class="broadcast_details_pic">
|
<div class="broadcast_details_pic">
|
||||||
¥{{ item.orderInfo.pay_price }}
|
¥{{ item.orderInfo.pay_price }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -450,7 +462,8 @@
|
||||||
¥{{ item.product.price }}
|
¥{{ item.product.price }}
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_tit_no line1">
|
<div class="broadcast_details_tit_no line1">
|
||||||
{{item.product.store_name}}</div>
|
{{item.product.store_name}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</navigator>
|
</navigator>
|
||||||
</div>
|
</div>
|
||||||
|
@ -471,7 +484,8 @@
|
||||||
¥{{ item.presell.price }}
|
¥{{ item.presell.price }}
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_tit_no line1">
|
<div class="broadcast_details_tit_no line1">
|
||||||
{{item.presell.store_name}}</div>
|
{{item.presell.store_name}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</navigator>
|
</navigator>
|
||||||
</div>
|
</div>
|
||||||
|
@ -492,7 +506,8 @@
|
||||||
¥{{ item.productGroup.product.price }}
|
¥{{ item.productGroup.product.price }}
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_tit_no line1">
|
<div class="broadcast_details_tit_no line1">
|
||||||
{{item.productGroup.product.store_name}}</div>
|
{{item.productGroup.product.store_name}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</navigator>
|
</navigator>
|
||||||
</div>
|
</div>
|
||||||
|
@ -534,7 +549,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_picBox noPad">
|
<div class="broadcast_details_picBox noPad">
|
||||||
<div class="broadcast_details_tit">
|
<div class="broadcast_details_tit">
|
||||||
{{val.product.cart_info.product.store_name}}</div>
|
{{val.product.cart_info.product.store_name}}
|
||||||
|
</div>
|
||||||
<div class="broadcast_details_pic">
|
<div class="broadcast_details_pic">
|
||||||
共{{item.refundOrder.refund_num}}件商品,
|
共{{item.refundOrder.refund_num}}件商品,
|
||||||
合计 ¥{{ item.refundOrder.refund_price }}
|
合计 ¥{{ item.refundOrder.refund_price }}
|
||||||
|
@ -571,7 +587,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_picBox noPad">
|
<div class="broadcast_details_picBox noPad">
|
||||||
<div class="broadcast_details_tit">
|
<div class="broadcast_details_tit">
|
||||||
{{val.cart_info.product.store_name}}</div>
|
{{val.cart_info.product.store_name}}
|
||||||
|
</div>
|
||||||
<div class="broadcast_details_pic">
|
<div class="broadcast_details_pic">
|
||||||
¥{{ item.orderInfo.pay_price }}
|
¥{{ item.orderInfo.pay_price }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -596,7 +613,8 @@
|
||||||
¥{{ item.product.price }}
|
¥{{ item.product.price }}
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_tit_no line1">
|
<div class="broadcast_details_tit_no line1">
|
||||||
{{item.product.store_name}}</div>
|
{{item.product.store_name}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</navigator>
|
</navigator>
|
||||||
</div>
|
</div>
|
||||||
|
@ -617,7 +635,8 @@
|
||||||
¥{{ item.presell.price }}
|
¥{{ item.presell.price }}
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_tit_no line1">
|
<div class="broadcast_details_tit_no line1">
|
||||||
{{item.presell.store_name}}</div>
|
{{item.presell.store_name}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</navigator>
|
</navigator>
|
||||||
</div>
|
</div>
|
||||||
|
@ -638,7 +657,8 @@
|
||||||
¥{{ item.productGroup.product.price }}
|
¥{{ item.productGroup.product.price }}
|
||||||
</div>
|
</div>
|
||||||
<div class="broadcast_details_tit_no line1">
|
<div class="broadcast_details_tit_no line1">
|
||||||
{{item.productGroup.product.store_name}}</div>
|
{{item.productGroup.product.store_name}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</navigator>
|
</navigator>
|
||||||
</div>
|
</div>
|
||||||
|
@ -772,9 +792,9 @@
|
||||||
{{ speak }}
|
{{ speak }}
|
||||||
</div>
|
</div>
|
||||||
<view class="input_count">
|
<view class="input_count">
|
||||||
<input type="text" placeholder-class='placeholder' :disabled="active" placeholder="输入内容" class="input" ref="input"
|
<input type="text" placeholder-class='placeholder' :disabled="active" placeholder="输入内容"
|
||||||
v-show="!voice" @input="bindInput" @keyup="keyup" @focus="focus" cursor-spacing="20"
|
class="input" ref="input" v-show="!voice" @input="bindInput" @keyup="keyup" @focus="focus"
|
||||||
v-model="textCon" @click="handleClick">
|
cursor-spacing="20" v-model="textCon" @click="handleClick">
|
||||||
<div class="send iconfont icon-fasong" :style="'color:'+iconColor" @click="sendTest"></div>
|
<div class="send iconfont icon-fasong" :style="'color:'+iconColor" @click="sendTest"></div>
|
||||||
</view>
|
</view>
|
||||||
</div>
|
</div>
|
||||||
|
@ -817,7 +837,8 @@
|
||||||
getChatRecord,
|
getChatRecord,
|
||||||
getMerHistory,
|
getMerHistory,
|
||||||
chatReverstApi,
|
chatReverstApi,
|
||||||
hasServiceApi
|
hasServiceApi,
|
||||||
|
getUserInfo
|
||||||
} from "@/api/user";
|
} from "@/api/user";
|
||||||
import {
|
import {
|
||||||
getProductDetail,
|
getProductDetail,
|
||||||
|
@ -1213,8 +1234,7 @@
|
||||||
let self = this
|
let self = this
|
||||||
self.$util.uploadImageOne('upload/image', function(res) {
|
self.$util.uploadImageOne('upload/image', function(res) {
|
||||||
if (res.status == 200) {
|
if (res.status == 200) {
|
||||||
self.sendMsg(res.data.path, 3
|
self.sendMsg(res.data.path, 3)
|
||||||
)
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -1383,8 +1403,8 @@
|
||||||
focus: function() {
|
focus: function() {
|
||||||
this.active = false;
|
this.active = false;
|
||||||
},
|
},
|
||||||
handleClick(){
|
handleClick() {
|
||||||
if(this.active){
|
if (this.active) {
|
||||||
this.active = false;
|
this.active = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1610,7 +1630,8 @@
|
||||||
width: 710rpx;
|
width: 710rpx;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 180rpx;
|
bottom: 180rpx;
|
||||||
bottom: calc(180rpx + env(safe-area-inset-bottom)); /* 适应底部安全距离 */
|
bottom: calc(180rpx + env(safe-area-inset-bottom));
|
||||||
|
/* 适应底部安全距离 */
|
||||||
left: 20rpx;
|
left: 20rpx;
|
||||||
|
|
||||||
.broadcast-details_box,
|
.broadcast-details_box,
|
||||||
|
@ -1952,7 +1973,7 @@
|
||||||
position: fixed;
|
position: fixed;
|
||||||
// bottom:var(--status-bar-height);
|
// bottom:var(--status-bar-height);
|
||||||
bottom: 20rpx;
|
bottom: 20rpx;
|
||||||
bottom: calc(20rpx + env(safe-area-inset-bottom) );
|
bottom: calc(20rpx + env(safe-area-inset-bottom));
|
||||||
left: 0;
|
left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,8 @@
|
||||||
<view class="con line1" v-if="item.last && item.last.msn_type == 2">[表情]</view>
|
<view class="con line1" v-if="item.last && item.last.msn_type == 2">[表情]</view>
|
||||||
<view class="con line1" v-if="item.last && item.last.msn_type == 3">[图片]</view>
|
<view class="con line1" v-if="item.last && item.last.msn_type == 3">[图片]</view>
|
||||||
<view class="con line1" v-if="item.last && item.last.msn_type == 4">[商品]</view>
|
<view class="con line1" v-if="item.last && item.last.msn_type == 4">[商品]</view>
|
||||||
<view class="con line1" v-if="item.last && (item.last.msn_type == 5 || item.last.msn_type == 6)">[订单]</view>
|
<view class="con line1"
|
||||||
|
v-if="item.last && (item.last.msn_type == 5 || item.last.msn_type == 6)">[订单]</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="right-box">
|
<view class="right-box">
|
||||||
<view class="time">{{item.last && item.last.create_time.split(' ')[1] || ''}}</view>
|
<view class="time">{{item.last && item.last.create_time.split(' ')[1] || ''}}</view>
|
||||||
|
@ -23,15 +24,18 @@
|
||||||
<block v-if="type == 1 && list.length>0" v-for="(item,index) in list" :key="index">
|
<block v-if="type == 1 && list.length>0" v-for="(item,index) in list" :key="index">
|
||||||
<div class="item acea-row" @click="goPage(item)">
|
<div class="item acea-row" @click="goPage(item)">
|
||||||
<view class="logo">
|
<view class="logo">
|
||||||
<image :src="(item.user && item.user.avatar) ? item.user.avatar : '/static/images/f.png'" mode=""></image>
|
<image :src="(item.user && item.user.avatar) ? item.user.avatar : '/static/images/f.png'"
|
||||||
|
mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="info">
|
<view class="info">
|
||||||
<view class="name">{{item.user && item.user.nickname}}</view>
|
<view class="name">{{item.user && item.user.nickname}}</view>
|
||||||
<view class="con line1" v-if="item.last && item.last.msn_type == 1">{{item.last.msn}}</view>
|
<view class="con line1" v-if="item.last && item.last.msn_type == 1">{{item.last.msn}}</view>
|
||||||
<view class="con line1" v-if="item.last && item.last.msn_type == 2">[表情]</view>
|
<view class="con line1" v-if="item.last && item.last.msn_type == 2">[表情]</view>
|
||||||
<view class="con line1" v-if="item.last && item.last.msn_type == 3">[图片]</view>
|
<view class="con line1" v-if="item.last && item.last.msn_type == 3">[图片]</view>
|
||||||
<view class="con line1" v-if="item.last && (item.last.msn_type == 4 || item.last.msn_type == 7)">[商品]</view>
|
<view class="con line1"
|
||||||
<view class="con line1" v-if="item.last && (item.last.msn_type == 5 || item.last.msn_type == 6)">[订单]</view>
|
v-if="item.last && (item.last.msn_type == 4 || item.last.msn_type == 7)">[商品]</view>
|
||||||
|
<view class="con line1"
|
||||||
|
v-if="item.last && (item.last.msn_type == 5 || item.last.msn_type == 6)">[订单]</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="right-box">
|
<view class="right-box">
|
||||||
<view class="time">{{item.last && item.last.create_time.split(' ')[1]}}</view>
|
<view class="time">{{item.last && item.last.create_time.split(' ')[1]}}</view>
|
||||||
|
@ -65,10 +69,12 @@
|
||||||
import {
|
import {
|
||||||
getUserInfo
|
getUserInfo
|
||||||
} from '@/api/user.js';
|
} from '@/api/user.js';
|
||||||
import { mapGetters } from "vuex";
|
import {
|
||||||
|
mapGetters
|
||||||
|
} from "vuex";
|
||||||
export default {
|
export default {
|
||||||
name: "CustomerList",
|
name: "CustomerList",
|
||||||
components:{
|
components: {
|
||||||
emptyPage,
|
emptyPage,
|
||||||
authorize
|
authorize
|
||||||
},
|
},
|
||||||
|
@ -77,10 +83,10 @@
|
||||||
list: [],
|
list: [],
|
||||||
productId: 0,
|
productId: 0,
|
||||||
orderId: "",
|
orderId: "",
|
||||||
type: 0 ,// 0 用户 1客服
|
type: 0, // 0 用户 1客服
|
||||||
timer: null,
|
timer: null,
|
||||||
page:1,
|
page: 1,
|
||||||
limit:9999,
|
limit: 9999,
|
||||||
mer_id: '',
|
mer_id: '',
|
||||||
loading: false,
|
loading: false,
|
||||||
clear: false,
|
clear: false,
|
||||||
|
@ -88,28 +94,28 @@
|
||||||
isShowAuth: false, //是否隐藏授权
|
isShowAuth: false, //是否隐藏授权
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: mapGetters(['isLogin','viewColor']),
|
computed: mapGetters(['isLogin', 'viewColor']),
|
||||||
onLoad(optios) {
|
onLoad(optios) {
|
||||||
this.type = optios.type||1;
|
this.type = optios.type || 1;
|
||||||
this.getindex()
|
this.getindex()
|
||||||
},
|
},
|
||||||
onShow(option) {
|
onShow(option) {
|
||||||
if(this.isLogin){
|
if (this.isLogin) {
|
||||||
this.liveUpdate();
|
this.liveUpdate();
|
||||||
} else {
|
} else {
|
||||||
this.isAuto = true;
|
this.isAuto = true;
|
||||||
this.isShowAuth = true
|
this.isShowAuth = true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onHide(){
|
onHide() {
|
||||||
if(this.timer) {
|
if (this.timer) {
|
||||||
clearInterval(this.timer);
|
clearInterval(this.timer);
|
||||||
this.timer = null;
|
this.timer = null;
|
||||||
}
|
}
|
||||||
this.clear = true;
|
this.clear = true;
|
||||||
},
|
},
|
||||||
onUnload() {
|
onUnload() {
|
||||||
if(this.timer) {
|
if (this.timer) {
|
||||||
clearInterval(this.timer);
|
clearInterval(this.timer);
|
||||||
this.timer = null;
|
this.timer = null;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +123,7 @@
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//获取商户信息
|
//获取商户信息
|
||||||
getindex(){
|
getindex() {
|
||||||
getUserInfo().then(res => {
|
getUserInfo().then(res => {
|
||||||
if (res.data.mer_info.length == 0) {
|
if (res.data.mer_info.length == 0) {
|
||||||
return uni.showModal({
|
return uni.showModal({
|
||||||
|
@ -133,14 +139,12 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.mer_id = res.data.service.mer_id;
|
this.mer_id = res.data.service.mer_id;
|
||||||
if(this.isLogin){
|
if (this.isLogin) {
|
||||||
this.getList(this.mer_id)
|
this.getList(this.mer_id)
|
||||||
} else {
|
} else {
|
||||||
this.isAuto = true;
|
this.isAuto = true;
|
||||||
this.isShowAuth = true
|
this.isShowAuth = true
|
||||||
}
|
}
|
||||||
// this.getList(this.mer_id)
|
|
||||||
// this.getList(res.data.service.mer_id, true);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onLoadFun() {
|
onLoadFun() {
|
||||||
|
@ -154,20 +158,21 @@
|
||||||
},
|
},
|
||||||
getList(mer_id) {
|
getList(mer_id) {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
if(this.type == 0){
|
if (this.type == 0) {
|
||||||
serviceList({
|
serviceList({
|
||||||
page:this.page,
|
page: this.page,
|
||||||
limit:this.limit
|
limit: this.limit
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
this.list = res.data.list;
|
this.list = res.data.list;
|
||||||
if(res.status == 400){
|
this.getCurrBadge();
|
||||||
|
if (res.status == 400) {
|
||||||
clearInterval(this.timer);
|
clearInterval(this.timer);
|
||||||
this.timer = null;
|
this.timer = null;
|
||||||
return this.$util.Tips({
|
return this.$util.Tips({
|
||||||
title: res.message
|
title: res.message
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}).finally(v=>{
|
}).finally(v => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
return this.$util.Tips({
|
return this.$util.Tips({
|
||||||
title: v
|
title: v
|
||||||
|
@ -177,20 +182,22 @@
|
||||||
title: err
|
title: err
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
}else{
|
} else {
|
||||||
serviceUserList(mer_id,{
|
serviceUserList(mer_id, {
|
||||||
page:this.page,
|
page: this.page,
|
||||||
limit:this.limit
|
limit: this.limit
|
||||||
}).then(res =>{
|
}).then(res => {
|
||||||
this.list = res.data.list;
|
this.list = res.data.list;
|
||||||
if(res.status == 400){
|
this.getCurrBadge();
|
||||||
|
|
||||||
|
if (res.status == 400) {
|
||||||
clearInterval(this.timer);
|
clearInterval(this.timer);
|
||||||
this.timer = null;
|
this.timer = null;
|
||||||
return this.$util.Tips({
|
return this.$util.Tips({
|
||||||
title: res.message
|
title: res.message
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}).finally(v=>{
|
}).finally(v => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
clearInterval(this.timer);
|
clearInterval(this.timer);
|
||||||
this.timer = null;
|
this.timer = null;
|
||||||
|
@ -206,30 +213,49 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getCurrBadge() {
|
||||||
|
const sum = this.list.reduce((accumulator, current) => accumulator + Number(current.num),
|
||||||
|
0);
|
||||||
|
if (sum) {
|
||||||
|
uni.setTabBarBadge({
|
||||||
|
index: 1,
|
||||||
|
text: String(sum)
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
uni.removeTabBarBadge({
|
||||||
|
index: 1
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
//实时刷新列表
|
//实时刷新列表
|
||||||
liveUpdate(){
|
liveUpdate() {
|
||||||
let that = this;
|
let that = this;
|
||||||
this.clear = false;
|
this.clear = false;
|
||||||
if(that.timer) {
|
if (that.timer) {
|
||||||
clearInterval(that.timer);
|
clearInterval(that.timer);
|
||||||
that.timer = null;
|
that.timer = null;
|
||||||
}
|
}
|
||||||
that.timer = setInterval(function(){
|
that.timer = setInterval(function() {
|
||||||
if(that.clear){
|
if (that.clear) {
|
||||||
clearInterval(that.timer);
|
clearInterval(that.timer);
|
||||||
return ;
|
return;
|
||||||
}
|
}
|
||||||
// 用户
|
// 用户
|
||||||
(!that.loading) && that.getList(that.mer_id);
|
(!that.loading) && that.getList(that.mer_id);
|
||||||
},5000);
|
}, 5000);
|
||||||
},
|
},
|
||||||
goPage(item) {
|
goPage(item) {
|
||||||
item.num = 0;
|
item.num = 0;
|
||||||
if(this.type == 0){
|
|
||||||
|
this.getCurrBadge();
|
||||||
|
|
||||||
|
if (this.type == 0) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/chat/customer_list/chat?mer_id=${item.mer_id}`
|
url: `/pages/chat/customer_list/chat?mer_id=${item.mer_id}`
|
||||||
})
|
})
|
||||||
}else{
|
} else {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/chat/customer_list/chat?userId=${item.user.uid}&mer_id=${item.mer_id}`
|
url: `/pages/chat/customer_list/chat?userId=${item.user.uid}&mer_id=${item.mer_id}`
|
||||||
})
|
})
|
||||||
|
@ -248,7 +274,8 @@
|
||||||
transform: rotate(180deg);
|
transform: rotate(180deg);
|
||||||
font-size: 36rpx;
|
font-size: 36rpx;
|
||||||
}
|
}
|
||||||
.popupn{
|
|
||||||
|
.popupn {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -258,65 +285,78 @@
|
||||||
height: 90rpx;
|
height: 90rpx;
|
||||||
line-height: 90rpx;
|
line-height: 90rpx;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
.title{
|
|
||||||
|
.title {
|
||||||
max-width: 560rpx;
|
max-width: 560rpx;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
.iconfont{
|
|
||||||
|
.iconfont {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 4rpx;
|
top: 4rpx;
|
||||||
right: 0;
|
right: 0;
|
||||||
}
|
}
|
||||||
.mer_logo{
|
|
||||||
|
.mer_logo {
|
||||||
width: 34rpx;
|
width: 34rpx;
|
||||||
height: 34rpx;
|
height: 34rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 6rpx;
|
top: 6rpx;
|
||||||
right: 10px;
|
right: 10px;
|
||||||
}
|
}
|
||||||
.mer_name{
|
|
||||||
|
.mer_name {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
max-width: 650rpx;
|
max-width: 650rpx;
|
||||||
}
|
}
|
||||||
.invoice-content{
|
|
||||||
|
.invoice-content {
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.list_count{
|
|
||||||
|
.list_count {
|
||||||
margin-top: 104rpx;
|
margin-top: 104rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
border-bottom: 1px solid #eee;
|
border-bottom: 1px solid #eee;
|
||||||
padding: 20rpx 30rpx;
|
padding: 20rpx 30rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
.logo image{
|
|
||||||
|
.logo image {
|
||||||
width: 88rpx;
|
width: 88rpx;
|
||||||
height: 88rpx;
|
height: 88rpx;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
.info{
|
|
||||||
|
.info {
|
||||||
width: 334rpx;
|
width: 334rpx;
|
||||||
margin-left: 20rpx;
|
margin-left: 20rpx;
|
||||||
.con{
|
|
||||||
|
.con {
|
||||||
margin-top: 10rpx;
|
margin-top: 10rpx;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.right-box{
|
|
||||||
|
.right-box {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: flex-end;
|
align-items: flex-end;
|
||||||
font-size: 20rpx;
|
font-size: 20rpx;
|
||||||
color: #BBBBBB;
|
color: #BBBBBB;
|
||||||
.time{
|
|
||||||
|
.time {
|
||||||
margin-bottom: 10rpx;
|
margin-bottom: 10rpx;
|
||||||
}
|
}
|
||||||
.num{
|
|
||||||
|
.num {
|
||||||
min-width: 6px;
|
min-width: 6px;
|
||||||
background-color: var(--view-theme);
|
background-color: var(--view-theme);
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
|
|
|
@ -58,10 +58,10 @@
|
||||||
<image class="vip-image" src="/static/images/svip.png"></image>
|
<image class="vip-image" src="/static/images/svip.png"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="listenerActionSheet" class="fenxiang_btn">
|
<!-- <view @click="listenerActionSheet" class="fenxiang_btn">
|
||||||
<view class='iconfont icon-fenxiang'></view>
|
<view class='iconfont icon-fenxiang'></view>
|
||||||
分享
|
分享
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
<!-- <view v-if="svipData && !svipData.is_svip && svipData.show_svip"
|
<!-- <view v-if="svipData && !svipData.is_svip && svipData.show_svip"
|
||||||
class="svipCon acea-row row-between-wrapper skeleton-rect" style="margin-top: 20rpx;">
|
class="svipCon acea-row row-between-wrapper skeleton-rect" style="margin-top: 20rpx;">
|
||||||
|
@ -237,9 +237,9 @@
|
||||||
</view>
|
</view>
|
||||||
<view v-else class="txt">0人关注</view>
|
<view v-else class="txt">0人关注</view>
|
||||||
</view>
|
</view>
|
||||||
<navigator v-if="hide_mer_status != 1"
|
<!-- <navigator v-if="hide_mer_status != 1"
|
||||||
:url="'/pages/store/home/index?id='+storeInfo.merchant.mer_id" class="link"
|
:url="'/pages/store/home/index?id='+storeInfo.merchant.mer_id" class="link"
|
||||||
hover-class="none">进店</navigator>
|
hover-class="none">进店</navigator> -->
|
||||||
</view>
|
</view>
|
||||||
<view class="score-wrapper">
|
<view class="score-wrapper">
|
||||||
<view class="item">
|
<view class="item">
|
||||||
|
@ -278,20 +278,22 @@
|
||||||
<view class='title'>产品介绍</view>
|
<view class='title'>产品介绍</view>
|
||||||
<view class='conter' v-if="description" style="min-height:50rpx;">
|
<view class='conter' v-if="description" style="min-height:50rpx;">
|
||||||
<!-- #ifndef APP-PLUS -->
|
<!-- #ifndef APP-PLUS -->
|
||||||
<jyf-parser v-if="description.type == 0 && typeof description.content == 'string'" :domain='domain'
|
<jyf-parser v-if="description.type == 0 && typeof description.content == 'string'"
|
||||||
:html="description.content.replace(/<br\/>/ig, '')" ref="article"
|
:domain='domain' :html="description.content.replace(/<br\/>/ig, '')" ref="article"
|
||||||
:tag-style="tagStyle"></jyf-parser>
|
:tag-style="tagStyle"></jyf-parser>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
<!-- #ifdef APP-PLUS -->
|
<!-- #ifdef APP-PLUS -->
|
||||||
<view v-if="description.type == 0 && typeof description.content == 'string'" class="description"
|
<view v-if="description.type == 0 && typeof description.content == 'string'"
|
||||||
v-html="description.content.replace(/<br\/>/ig, '')"></view>
|
class="description" v-html="description.content.replace(/<br\/>/ig, '')"></view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
<view v-else class="product_content">
|
<view v-else class="product_content">
|
||||||
<view v-if="description.content && description.content.title" class="product_content_title">
|
<view v-if="description.content && description.content.title"
|
||||||
|
class="product_content_title">
|
||||||
{{description.content.title}}
|
{{description.content.title}}
|
||||||
</view>
|
</view>
|
||||||
<block v-if="description.content && description.content.image">
|
<block v-if="description.content && description.content.image">
|
||||||
<image v-for="(item,index) in description.content.image" :key="index" :src="item" mode="widthFix" style="background-color: #fff;width: 100vw;">
|
<image v-for="(item,index) in description.content.image" :key="index" :src="item"
|
||||||
|
mode="widthFix" style="background-color: #fff;width: 100vw;">
|
||||||
</image>
|
</image>
|
||||||
</block>
|
</block>
|
||||||
</view>
|
</view>
|
||||||
|
@ -311,7 +313,7 @@
|
||||||
<view style='height:120rpx;'></view>
|
<view style='height:120rpx;'></view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
<view class='footer acea-row row-between-wrapper'>
|
<!-- <view class='footer acea-row row-between-wrapper'>
|
||||||
<view v-if="storeInfo.merchant && storeInfo.merchant.services_type == 1" class="item skeleton-rect"
|
<view v-if="storeInfo.merchant && storeInfo.merchant.services_type == 1" class="item skeleton-rect"
|
||||||
@click="call">
|
@click="call">
|
||||||
<view class="iconfont icon-kefu"></view>
|
<view class="iconfont icon-kefu"></view>
|
||||||
|
@ -355,7 +357,7 @@
|
||||||
<button v-else class='buy bnts sold_out' form-type="submit" disabled>商品已售罄</button>
|
<button v-else class='buy bnts sold_out' form-type="submit" disabled>商品已售罄</button>
|
||||||
</form>
|
</form>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
<block v-if="sharePacket.max&&sharePacket.max>0">
|
<block v-if="sharePacket.max&&sharePacket.max>0">
|
||||||
<shareRedPackets :sharePacket="sharePacket" @listenerActionSheet="listenerActionSheet"
|
<shareRedPackets :sharePacket="sharePacket" @listenerActionSheet="listenerActionSheet"
|
||||||
@closeChange="closeChange" :showAnimate="showAnimate" @boxStatus="boxStatus"></shareRedPackets>
|
@closeChange="closeChange" :showAnimate="showAnimate" @boxStatus="boxStatus"></shareRedPackets>
|
||||||
|
@ -631,7 +633,6 @@
|
||||||
])),
|
])),
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
// console.log(options)
|
|
||||||
this.referer = options.referer
|
this.referer = options.referer
|
||||||
if (options.product_type) {
|
if (options.product_type) {
|
||||||
this.product_type = options.product_type
|
this.product_type = options.product_type
|
||||||
|
@ -682,6 +683,7 @@
|
||||||
} else {
|
} else {
|
||||||
this.id = options.id
|
this.id = options.id
|
||||||
}
|
}
|
||||||
|
|
||||||
//记录推广人uid
|
//记录推广人uid
|
||||||
if (options.spid) app.globalData.spid = options.spid;
|
if (options.spid) app.globalData.spid = options.spid;
|
||||||
// #endif
|
// #endif
|
||||||
|
@ -1059,14 +1061,16 @@
|
||||||
}
|
}
|
||||||
that.$set(that, 'storeInfo', storeInfo);
|
that.$set(that, 'storeInfo', storeInfo);
|
||||||
that.$set(that, 'description', storeInfo.content);
|
that.$set(that, 'description', storeInfo.content);
|
||||||
if(typeof that.description.content == 'string'){
|
if (storeInfo.content && typeof that.description.content == 'string') {
|
||||||
try{
|
try {
|
||||||
that.description.content = JSON.parse(that.description.content);
|
that.description.content = JSON.parse(that.description.content);
|
||||||
}catch(e){
|
} catch (e) {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (that.description.type == 0 && typeof that.description.content == 'string') {
|
if (that.description && that.description.type && that.description.type == 0 && typeof that
|
||||||
|
.description
|
||||||
|
.content == 'string') {
|
||||||
that.description.content = that.description.content.replace(
|
that.description.content = that.description.content.replace(
|
||||||
/<img/gi,
|
/<img/gi,
|
||||||
'<img style="max-width:100%;height:auto;float:left;display:block" '
|
'<img style="max-width:100%;height:auto;float:left;display:block" '
|
||||||
|
@ -1121,6 +1125,7 @@
|
||||||
that.getCouponList();
|
that.getCouponList();
|
||||||
})
|
})
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
|
console.log(err);
|
||||||
//状态异常返回上级页面
|
//状态异常返回上级页面
|
||||||
return that.$util.Tips({
|
return that.$util.Tips({
|
||||||
title: err
|
title: err
|
||||||
|
@ -2528,9 +2533,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.product_content{
|
.product_content {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
&_title{
|
|
||||||
|
&_title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
line-height: 50rpx;
|
line-height: 50rpx;
|
||||||
|
@ -2538,7 +2544,8 @@
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
image{
|
|
||||||
|
image {
|
||||||
width: 750rpx;
|
width: 750rpx;
|
||||||
// height: auto;
|
// height: auto;
|
||||||
// height: 750rpx;
|
// height: 750rpx;
|
||||||
|
|
|
@ -436,7 +436,6 @@
|
||||||
orderStatistics,
|
orderStatistics,
|
||||||
otherOrderStatistics,
|
otherOrderStatistics,
|
||||||
getOrderList
|
getOrderList
|
||||||
|
|
||||||
} from "@/api/admin";
|
} from "@/api/admin";
|
||||||
import {
|
import {
|
||||||
ENV
|
ENV
|
||||||
|
@ -876,6 +875,7 @@
|
||||||
// 销毁监听事件
|
// 销毁监听事件
|
||||||
this.$bus.$off('value-updated')
|
this.$bus.$off('value-updated')
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
// 提现页面
|
// 提现页面
|
||||||
handleToWithDraw(item, index) {
|
handleToWithDraw(item, index) {
|
||||||
|
@ -1314,6 +1314,17 @@
|
||||||
} else {
|
} else {
|
||||||
this.isgShow = true
|
this.isgShow = true
|
||||||
}
|
}
|
||||||
|
if (res.data.mer_info.news_unread) {
|
||||||
|
uni.setTabBarBadge({
|
||||||
|
index: 1,
|
||||||
|
text: String(res.data.mer_info.news_unread)
|
||||||
|
})
|
||||||
|
} else { //设置取消
|
||||||
|
uni.removeTabBarBadge({
|
||||||
|
index: 1
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
if (res.data.mer_info.length == 0) {
|
if (res.data.mer_info.length == 0) {
|
||||||
//未开通商户 提示
|
//未开通商户 提示
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
|
@ -1432,7 +1443,6 @@
|
||||||
this.countDown()
|
this.countDown()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
switch (item.type) {
|
switch (item.type) {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -2487,6 +2497,7 @@
|
||||||
.list-two_left {
|
.list-two_left {
|
||||||
width: 175rpx;
|
width: 175rpx;
|
||||||
height: 175rpx;
|
height: 175rpx;
|
||||||
|
|
||||||
image {
|
image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
|
@ -508,7 +508,7 @@
|
||||||
// 提现页面
|
// 提现页面
|
||||||
handleToWithDraw(item, index) {
|
handleToWithDraw(item, index) {
|
||||||
let url;
|
let url;
|
||||||
if(index<2) url = "/pages/users/embody/embody?mer_id=" + this.userInfoData.service.mer_id;
|
if (index < 2) url = "/pages/users/embody/embody?mer_id=" + this.userInfoData.service.mer_id;
|
||||||
else url = `/pages/admin/orderList/index?merId=${this.userInfoData.service.mer_id}&types=2`
|
else url = `/pages/admin/orderList/index?merId=${this.userInfoData.service.mer_id}&types=2`
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: url
|
url: url
|
||||||
|
@ -864,6 +864,7 @@
|
||||||
},
|
},
|
||||||
//获取订单数据
|
//获取订单数据
|
||||||
getindex() {
|
getindex() {
|
||||||
|
let that = this;
|
||||||
const data = {
|
const data = {
|
||||||
product_type: this.where1.product_type
|
product_type: this.where1.product_type
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue