完成客服

This commit is contained in:
TOP糯米 2023-03-19 16:10:03 +08:00
parent d6084ba021
commit 5646b39094
5 changed files with 75 additions and 15 deletions

View File

@ -48,6 +48,14 @@ export default {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.component-widgets-modal { .component-widgets-modal {
z-index: 25; z-index: 25;
position: fixed; position: fixed;
@ -61,6 +69,7 @@ export default {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
animation: fadeIn 0.2s;
.modal-mask { .modal-mask {
z-index: 0; z-index: 0;
position: absolute; position: absolute;

View File

@ -0,0 +1,56 @@
<template>
<view class="components-service">
<widget-modal v-show="showService" @close="close" title="请选择客服">
<view class="service-list">
<button class="btn-item" @click="call">电话客服</button>
<button class="btn-item" open-type="contact">微信客服</button>
</view>
</widget-modal>
</view>
</template>
<script>
import WidgetModal from "@/components/widgets/modal";
export default {
name: "widget-service",
data() {
return {};
},
props: {
showService: {
type: Boolean,
default: false,
},
},
components: {
WidgetModal,
},
created() {},
mounted() {},
destroyed() {},
methods: {
close() {
this.$emit("close");
},
call() {},
},
};
</script>
<style lang="less" scoped>
.components-service {
width: 100%;
.service-list {
width: 100%;
}
.btn-item {
color: #666666;
font-size: 30rpx;
background-color: unset;
border-bottom: 2rpx solid #e0e0e0;
}
.btn-item::after {
border: 0;
}
}
</style>

View File

@ -215,18 +215,6 @@ function formatNumber(num, limit) {
return num > 0 ? num.toFixed(limit) : 0; return num > 0 ? num.toFixed(limit) : 0;
} }
function serviceActions() {
uni.showActionSheet({
itemList: ['电话客服', '微信客服'],
success(res) {
console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
},
fail(res) {
console.log(res.errMsg);
}
});
}
function chooseImage(count) { function chooseImage(count) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let tempFiles = []; let tempFiles = [];
@ -308,7 +296,6 @@ export default {
toPage, toPage,
toast, toast,
formatNumber, formatNumber,
serviceActions,
chooseImage, chooseImage,
isType, isType,
} }

View File

@ -29,7 +29,7 @@
<text class="title">意见投诉</text> <text class="title">意见投诉</text>
<text class="iconfont icon-jinru more"></text> <text class="iconfont icon-jinru more"></text>
</view> </view>
<view class="widget-item" @click="utils.serviceActions()"> <view class="widget-item" @click="showService = true">
<text class="iconfont icon-kefufill icon"></text> <text class="iconfont icon-kefufill icon"></text>
<text class="title">联系客服</text> <text class="title">联系客服</text>
<text class="iconfont icon-jinru more"></text> <text class="iconfont icon-jinru more"></text>
@ -58,21 +58,25 @@
</view> </view>
</view> </view>
</view> </view>
<widget-service :showService="showService" @close="showService = false" />
</app-layout> </app-layout>
</template> </template>
<script> <script>
import AppLayout from "@/components/layout/layout"; import AppLayout from "@/components/layout/layout";
import WidgetService from "@/components/widgets/service";
import { mapGetters, mapState } from "vuex"; import { mapGetters, mapState } from "vuex";
export default { export default {
name: "member", name: "member",
data() { data() {
return { return {
utils: this.$utils, utils: this.$utils,
showService: false,
}; };
}, },
components: { components: {
AppLayout, AppLayout,
WidgetService,
}, },
computed: { computed: {
...mapState({ ...mapState({

View File

@ -135,7 +135,7 @@
</swiper> </swiper>
</view> </view>
<view class="common-bottom-components" :style="{ bottom: pageConfig.safeAreaInsets.bottom + 'px' }"> <view class="common-bottom-components" :style="{ bottom: pageConfig.safeAreaInsets.bottom + 'px' }">
<view class="service" @click="utils.serviceActions()"> <view class="service" @click="showService = true">
<text class="iconfont icon-kefu"></text> <text class="iconfont icon-kefu"></text>
<text class="text">客服</text> <text class="text">客服</text>
</view> </view>
@ -143,6 +143,7 @@
<order-action :order="order" @refresh="refresh" /> <order-action :order="order" @refresh="refresh" />
</view> </view>
</view> </view>
<widget-service :showService="showService" @close="showService = false" />
</app-layout> </app-layout>
</template> </template>
@ -151,12 +152,14 @@ import AppLayout from "@/components/layout/layout";
import WorkerItem from "@/components/worker/item"; import WorkerItem from "@/components/worker/item";
import ServiceInsurance from "@/components/service/insurance"; import ServiceInsurance from "@/components/service/insurance";
import OrderAction from "@/components/order/action"; import OrderAction from "@/components/order/action";
import WidgetService from "@/components/widgets/service";
export default { export default {
name: "order-detail", name: "order-detail",
data() { data() {
return { return {
utils: this.$utils, utils: this.$utils,
pageConfig: {}, pageConfig: {},
showService: false,
tabIndex: 0, tabIndex: 0,
tabHeight: 0, tabHeight: 0,
stateText: "", stateText: "",
@ -177,6 +180,7 @@ export default {
WorkerItem, WorkerItem,
ServiceInsurance, ServiceInsurance,
OrderAction, OrderAction,
WidgetService,
}, },
async onLoad(e) { async onLoad(e) {
this.pageConfig = getApp().globalData.pageConfig; this.pageConfig = getApp().globalData.pageConfig;