You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
4.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view>
<!-- 悬浮按钮 -->
<view class="floating-btn" @click="openComplaintModal">
<view class="floating-text">投诉与</view>
<view class="floating-text">纠纷</view>
</view>
<!-- 客户投诉与纠纷处理机制弹窗 -->
<uv-modal
ref="complaintModalRef"
title="客户投诉与纠纷处理机制说明"
confirmText="我知道了"
@confirm="closeComplaintModal"
>
<scroll-view scroll-y class="complaint-content">
<view class="complaint-text">
<view class="p">为规范平台交易秩序保障用户合法权益结合我司图纸生成电子图纸设计方案等虚拟数字类产品的业务特性特建立完善的客户投诉及纠纷处理机制具体如下</view>
<view class="h3">业务及退款规则说明</view>
<view class="p">我司提供的图纸生成服务为虚拟数字类产品具有可复制易传播交付即生效的属性产品一经生成并交付用户无法进行回收撤回或二次销售</view>
<view class="p">因此在产品正常交付内容符合约定无质量问题的情况下不支持无理由退款相关规则已在商品详情页订单页支付确认环节进行显著提示用户完成支付即视为已充分知晓并同意</view>
<view class="h3">投诉受理渠道</view>
<view class="p">用户可通过以下渠道提交投诉与售后申请确保问题及时反馈</view>
<view class="p">客服电话<text class="phone-link" @click="callService">13666500395</text></view>
<view class="h3">投诉响应时效</view>
<view class="p">收到用户投诉后工作日2小时内响应非工作日当天内响应<br/>一般投诉问题24小时内处理完毕并反馈结果<br/>复杂争议类问题48小时内给出解决方案</view>
<view class="h3">客诉分类处理方案</view>
<view class="p">支付异常类针对重复扣款支付成功未到账订单异常等情况经核实后立即原路全额退款或补发对应服务确保用户资金不受损失</view>
<view class="p">产品质量类若图纸生成错误内容缺失未达到服务标准优先为用户重新生成修改完善或补发保障用户正常使用</view>
<view class="p">服务争议类对已正常交付无质量问题的退款申请将依据订单记录交付凭证用户协议耐心解释沟通如确属特殊情况将在核实后按公司流程审慎处理</view>
<view class="p">恶意投诉类对已使用产品后恶意申请退款的行为将留存完整凭证按支付平台规则合理举证维护正常经营秩序</view>
<view class="h3">退款执行规范</view>
<view class="p">确需退款的场景一律按原支付渠道原路退回退款时限遵循支付平台规定不设置不合理门槛不拖延不拒付</view>
<view class="h3">长效管理机制</view>
<view class="p">我司将持续完善售前提示服务说明及售后流程主动降低投诉发生率积极配合支付平台监督管理妥善处理各类交易纠纷保障交易安全与用户体验</view>
</view>
</scroll-view>
</uv-modal>
</view>
</template>
<script setup>
import { ref } from 'vue';
const complaintModalRef = ref(null);
const openComplaintModal = () => {
complaintModalRef.value.open();
};
const closeComplaintModal = () => {
complaintModalRef.value.close();
};
const callService = () => {
uni.makePhoneCall({
phoneNumber: '13666500395'
});
};
</script>
<style lang="scss" scoped>
.floating-btn {
position: fixed;
right: 16px;
bottom: 120px;
/* #ifdef H5 */
bottom: 170px;
/* #endif */
width: 56px;
height: 56px;
background: linear-gradient(135deg, #3f70ff, #5c8aff);
border-radius: 50%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
color: white;
box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
z-index: 999;
font-size: 12px;
.floating-text {
line-height: 1.2;
}
}
.complaint-content {
max-height: 60vh;
padding: 0 10px 10px;
.complaint-text {
font-size: 14px;
color: #333;
line-height: 1.6;
.h3 {
font-size: 15px;
font-weight: bold;
margin-top: 16px;
margin-bottom: 8px;
color: #111;
}
.p {
margin-bottom: 8px;
text-align: justify;
color: #666;
}
.phone-link {
color: #3f70ff;
text-decoration: underline;
display: inline-block;
padding: 0 4px;
}
}
}
</style>