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.

430 lines
9.7 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 class="after_sale_details">
<!-- 服务单步骤 -->
<view class="top_step" :style="{background:colors}">
<view class="mask">
</view>
<view class="step_box">
<p class="status">{{details.order_type}}</p>
<view class="step_list">
<view class="top_x">
</view>
<view class="setp_all">
<view class="setp_title" v-for="(item,index) in stepData" :key="index">
<text class="dian" :style="{color:item.type==1 ||item.isNow==1 ?colors:'#eee'}"></text>
<text class="text" :style="{fontWeight:item.isNow == 1?'bold':'none'}">{{item.name}}</text>
</view>
</view>
</view>
</view>
</view>
<!-- 服务介绍 -->
<view class="service_box" @click="jumpStepDetail">
<view class="left">
<p class="left_js">服务已完成,感谢您的支持</p>
<p class="left_des">问题描述尊敬的客户您好,您的服务单已为您审核换货成功</p>
</view>
<image src="/static/images/home/right.png" mode=""></image>
</view>
<!-- 商品信息 -->
<view class="goods_details">
<p class="details_title">商品信息</p>
<view class="goods_box">
<image :src="details.img" class="cover" mode=""></image>
<view class="goods_right">
<p class="goods_name">{{details.title}}</p>
<view class="sku">规格{{details.goods_sku_text || '暂无规格'}}</view>
<view class="price">
<view class="t1">{{details.money}}</view>
<view class="t3">
x{{details.number}}
</view>
</view>
</view>
</view>
</view>
<!-- 服务单信息 -->
<view class="service_details">
<view class="cell_box">
<text class="cell_text">服务单号</text>
<text class="cell_content">{{serviceData.service_no}}</text>
<text class="cell_btn" @click="onCopy(serviceData.service_no)"></text>
</view>
<view class="cell_box">
<text class="cell_text">申请时间</text>
<text class="cell_content">{{serviceData.create_time}}</text>
</view>
<view class="cell_box">
<text class="cell_text">服务类型</text>
<text class="cell_content">{{serviceData.fw_type}}</text>
</view>
<view class="cell_box">
<text class="cell_text">商品退回</text>
<text class="cell_content">{{serviceData.th_type}}</text>
</view>
<view class="cell_box">
<text class="cell_text">取件地址</text>
<text class="cell_content">{{serviceData.qj_address}}</text>
</view>
<view class="cell_box">
<text class="cell_text">收货地址</text>
<text class="cell_content">{{serviceData.sh_address}}</text>
</view>
<view class="cell_box">
<text class="cell_text">联系人</text>
<text class="cell_content">{{serviceData.realname}}</text>
</view>
</view>
<view class="del_btn">
<text @click="delService"></text>
</view>
<loading v-if="isShow == true"></loading>
</view>
</template>
<script>
var app = getApp();
import loading from "../../commponent/public/loading";
export default {
components:{
loading
},
data(){
return{
colors:'',
isShow: true,
details:{},
stepData:[ //该数据为后台返回 数据格式如此
/**
* isNow1 代表当前step 走到了这一步
* type1 代表当前该步骤已经完成
*/
{step_id: 1, name:'提交申请',isNow:0, type: 1},
{step_id: 2, name:'商家审核',isNow:0, type: 1},
{step_id: 3, name:'商家收货',isNow:0,type:1},
{step_id: 4, name:'换新',isNow:0, type: 1},
{step_id: 5, name:'完成',isNow:1, type: 1},
],
serviceData:{
service_no:'782260533',
create_time:'2020-05-09 20:01:48',
fw_type:'换货', //服务类型
th_type:'上门取件', //取货类型
qj_address:'安徽省合肥市包河区望湖街道马鞍山路',//取货地址
sh_address:'安徽省合肥市包河区望湖街道马鞍山路', //收货地址
realname:'反转'
}
}
},
onLoad(options) {
this.setData({
colors: app.globalData.newColor,
details: JSON.parse(options.details) //这里是模拟的数据 正常使用时是调用接口根据服务单Id来获取
});
setTimeout(() => {
this.setData({
isShow: false
});
}, 600);
},
methods:{
delService(){
uni.showModal({
title:'确认要删除该服务单吗?',
confirmColor: this.colors,
success: (res) => {
if(res.confirm){
console.log('删除订单')
}
}
})
},
onCopy(value){ //复制内容
// #ifdef H5
var input = document.createElement('input'); // 直接构建input
input.value = value; // 设置内容
document.body.appendChild(input); // 添加临时实例
input.select(); // 选择实例内容
document.execCommand('Copy'); // 执行复制
document.body.removeChild(input); // 删除临时实例
uni.showToast({
title:'复制成功~',
icon:'none'
})
// #endif
// #ifndef H5
uni.setClipboardData({
data:value,
success:function(){
uni.showToast({
title:'复制成功~',
icon:'none'
})
}
})
// #endif
},
jumpStepDetail(){ //进度详情
uni.navigateTo({
url:'/pages/views/order/stepDetails'
})
}
}
}
</script>
<style lang="scss" scoped>
.top_step{
height: 240upx;
background-color: pink;
position: relative;
.mask{
width: 100%;
height: 100%;
background: linear-gradient(to right,rgba(255,255,255,.1),rgba(255,255,255,.2));
}
.step_box{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
padding: 20upx 40upx;
.status{
height: 60upx;
line-height: 60upx;
color: #FFFFFF;
font-size: 32upx;
font-weight: bold;
}
.step_list{
margin-top: 30upx;
display: inline-block;
.top_x{
height: 4upx;
background-color: #FFFFFF;
}
.setp_all{
display: flex;
align-items: center;
.setp_title{
transform: translateY(-18upx);
margin-right: 40upx;
.dian{
width: 30upx;
height: 30upx;
display: block;
background-color: #FFFFFF;
border-radius: 50%;
margin: 0 auto;
text-align: center;
line-height: 30upx;
font-size: 26upx;
}
.text{
font-size: 24upx;
color: #FFFFFF;
display: block;
height: 40upx;
line-height: 40upx;
margin-top: 10upx;
}
&:first-of-type{
.dian{
margin-left: 0;
}
}
&:last-of-type{
margin-right: 0;
.dian{
margin-left: 100%;
transform: translateX(-100%);
}
}
}
}
}
}
}
.service_box{
padding: 30upx;
background-color: #FFFFFF;
margin: 0 20upx;
transform: translateY(-50upx);
border-radius: 15upx;
display: flex;
align-items: center;
.left{
.left_js{
height: 60upx;
line-height: 60upx;
color: #000000;
font-weight: bold;
}
.left_des{
height: 40upx;
width: 90%;
line-height: 40upx;
font-size: 24upx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
image{
width: 40upx;
height: 40upx;
display: block;
}
}
.goods_details{
padding: 30upx;
background-color: #FFFFFF;
margin: 0 20upx;
transform: translateY(-25upx);
border-radius: 15upx;
.details_title{
font-size: 30upx;
color: #999999;
font-weight: bold;
height: 40upx;
line-height: 40upx;
}
.goods_box{
display: flex;
align-items: center;
margin-top: 10upx;
.cover{
height: 140upx;
width: 140upx;
display: block;
margin-right: 20upx;
border-radius: 8upx;
}
.goods_right{
flex: 1;
.goods_name{
font-size: 24upx;
color: #000;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.sku {
height: 40upx;
line-height: 40upx;
font-size: 24upx;
border-radius: 8upx;
padding: 0 10upx;
color: #A7A7A7;
margin-top: 5upx;
background-color: #F7F7F7;
}
.price {
width: 100%;
display: flex;
align-items: center;
height: 40upx;
line-height: 40upx;
margin-top: 5upx;
position: relative;
.t1 {
font-size: 30upx;
display: block;
color: $mycolor;
}
.t2 {
font-size: 24upx;
margin-left: 15upx;
display: block;
color: #C5C5C5;
text-decoration: line-through;
}
.t3 {
float: right;
font-size: 28upx;
color: #999;
position: absolute;
right: 0upx;
top: 0;
}
}
.goods_other{
display: flex;
align-items: center;
height: 50upx;
line-height: 50upx;
margin-top: 15upx;
font-size: 24upx;
color: #000000;
.goods_price,.number{
margin-right: 30upx;
text{
font-weight: bold;
font-size: 30upx;
}
}
}
}
}
}
.service_details{
padding: 30upx;
background-color: #FFFFFF;
margin: 0 20upx;
border-radius: 15upx;
.cell_box{
display: flex;
margin: 30upx 0;
.cell_text{
font-size: 28upx;
color: #8d8d8d;
width: 120upx;
}
.cell_content{
margin-left: 30upx;
font-size: 26upx;
color: #000000;
flex: 1;
line-height: 36upx;
}
.cell_btn{
padding: 5upx 26upx;
border: 1upx solid #ddd;
margin-left: 30upx;
border-radius: 30upx;
font-size: 24upx;
color: #202020;
&:active{
opacity: .8;
}
}
}
}
.del_btn{
font-size: 24upx;
color: #8d8d8d;
height: 160upx;
line-height: 100upx;
text-align: center;
padding-top: 20px;
text{
padding: 10upx 20upx;
border-radius: 30upx;
border: 1upx solid #ddd;
&:active{
opacity: .8;
}
}
}
</style>
<style>
page{
background-color: #F8F8F8;
}
</style>