|
|
@@ -39,15 +39,26 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <!-- 申请原因 -->
|
|
|
+ <!-- 申请类型 -->
|
|
|
<view class="reason-apply">
|
|
|
+ <view class="title-box">
|
|
|
+ <text class="label">申请类型</text>
|
|
|
+ <view class="radio-group">
|
|
|
+ <label class="radio" @click="changeRefundType(0)">
|
|
|
+ <radio :checked="refundType === 0" color="#2583EB" />仅退款
|
|
|
+ </label>
|
|
|
+ <label class="radio" @click="changeRefundType(1)">
|
|
|
+ <radio :checked="refundType === 1" color="#2583EB" />退货退款
|
|
|
+ </label>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
<view class="title-box">
|
|
|
<text class="label">退款金额</text>
|
|
|
<input class="money" type="text" disabled v-model="refundAmount" placeholder="退款金额" placeholder-class="form-input" />
|
|
|
</view>
|
|
|
<view class="title-box">
|
|
|
<text class="label">申请原因</text>
|
|
|
- <picker @change="reasonsChange" :value="reasons" range-key="dictLabel" :range="reasonsList">
|
|
|
+ <picker @change="reasonsChange" :value="reasonIndex" range-key="dictLabel" :range="filteredReasonsList">
|
|
|
<view class="chose-box" >
|
|
|
<text class="text">{{reasons}}</text>
|
|
|
<image src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/shopping/arrow_gray.png" mode=""></image>
|
|
|
@@ -57,6 +68,63 @@
|
|
|
<view class="textarea-box">
|
|
|
<textarea v-model="explains" placeholder="请描述申请售后服务的具体原因" placeholder-class="textarea-place" />
|
|
|
</view>
|
|
|
+ <view v-if="isDeliveryReason" class="delivery-box">
|
|
|
+ <view class="logistics-select-container">
|
|
|
+ <view class="search-header">
|
|
|
+ <text class="label">物流公司</text>
|
|
|
+ <view class="search-input-wrapper">
|
|
|
+ <input class="search-input" type="text" v-model="logisticsKeyword" placeholder="搜索物流公司" placeholder-class="search-input-place" @input="onSearchInput" />
|
|
|
+ <image v-if="logisticsKeyword" class="clear-icon" src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/shop/image/close.png" @click="clearSearch"></image>
|
|
|
+ </view>
|
|
|
+ <text class="refresh-btn" :class="{'loading': logisticsLoading}" @click.stop="refreshLogisticsCompanies">{{logisticsLoading?'...':'刷新'}}</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view v-if="logisticsKeyword && !deliveryForm.shipper_code" class="results-dropdown">
|
|
|
+ <scroll-view scroll-y class="results-list">
|
|
|
+ <view v-for="(item, index) in logisticsCompanyList" :key="index" class="result-item" @click="selectLogistics(item)">
|
|
|
+ <text class="name">{{item.lcName}}</text>
|
|
|
+ </view>
|
|
|
+ <view v-if="!logisticsLoading && logisticsCompanyList.length === 0" class="empty-results">暂无结果</view>
|
|
|
+ <view v-if="logisticsLoading" class="loading-results">搜索中...</view>
|
|
|
+ </scroll-view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view v-if="deliveryForm.delivery_name && !logisticsKeyword" class="selected-display" @click="reselectLogistics">
|
|
|
+ <text class="name">{{deliveryForm.delivery_name}}</text>
|
|
|
+ <image class="arrow" src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/shopping/arrow_gray.png"></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="title-box">
|
|
|
+ <text class="label">物流单号</text>
|
|
|
+ <input class="money logistics-input" type="text" v-model="deliveryForm.delivery_sn" placeholder="请输入物流单号" placeholder-class="form-input" />
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 地址信息展示 -->
|
|
|
+ <view class="address-card" v-if="order">
|
|
|
+ <view class="address-item">
|
|
|
+ <view class="icon-box sender">寄</view>
|
|
|
+ <view class="content-box">
|
|
|
+ <view class="user-info">
|
|
|
+ <text class="name">{{order.realName || '寄件人'}}</text>
|
|
|
+ <text class="phone">{{order.userPhone || '-'}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="address-text">{{order.userAddress || '-'}}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="address-item" v-if="deliveryBaseInfo.address">
|
|
|
+ <view class="icon-box recipient">收</view>
|
|
|
+ <view class="content-box">
|
|
|
+ <view class="user-info">
|
|
|
+ <text class="name">{{deliveryBaseInfo.consignee || '-'}}</text>
|
|
|
+ <text class="phone">{{deliveryBaseInfo.phone_number || '-'}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="address-text">{{deliveryBaseInfo.address || '-'}}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<!-- 退回方式 -->
|
|
|
<!-- <view class="return-method">
|
|
|
@@ -87,10 +155,13 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import {getDictByKey} from '@/api/common.js'
|
|
|
- import {applyAfterSales,getMyStoreOrderItemByOrderId} from '../api/storeAfterSales.js'
|
|
|
+ import {applyAfterSales,getMyStoreOrderItemByOrderId,queryLogisticsCompany,refreshLogisticsCompany,editDelivery,getErpReturnInfo} from '../api/storeAfterSales.js'
|
|
|
export default {
|
|
|
-
|
|
|
+ computed: {
|
|
|
+ isDeliveryReason() {
|
|
|
+ return this.reasonValue === '6';
|
|
|
+ }
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
orderId:null,
|
|
|
@@ -100,9 +171,27 @@
|
|
|
type:null,
|
|
|
reasonsList:[],
|
|
|
reasons:"请选择",
|
|
|
+ reasonIndex:0,
|
|
|
+ reasonValue:null,
|
|
|
explains:"",
|
|
|
refundAmount:0.00,
|
|
|
-
|
|
|
+ refundType: 0, // 0: 仅退款, 1: 退货退款
|
|
|
+ filteredReasonsList: [],
|
|
|
+ logisticsCompanyList:[],
|
|
|
+ logisticsKeyword:'',
|
|
|
+ selectedLogisticsIndex:0,
|
|
|
+ logisticsLoading:false,
|
|
|
+ searchTimer: null,
|
|
|
+ deliveryBaseInfo:{
|
|
|
+ consignee:'',
|
|
|
+ phone_number:'',
|
|
|
+ address:''
|
|
|
+ },
|
|
|
+ deliveryForm:{
|
|
|
+ shipper_code:'',
|
|
|
+ delivery_sn:'',
|
|
|
+ delivery_name:''
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
onLoad(option) {
|
|
|
@@ -111,9 +200,28 @@
|
|
|
this.reasonsList=this.$getDict("storeAfterSalesReasons");
|
|
|
this.orderId=option.orderId;
|
|
|
console.log(this.orderId);
|
|
|
+ // Initialize refundType based on option.type if available, otherwise default to 0
|
|
|
+ this.refundType = option.type !== undefined ? Number(option.type) : 0;
|
|
|
+ this.filterReasons(); // Filter reasons initially
|
|
|
this.getMyStoreOrderItemByOrderId()
|
|
|
},
|
|
|
methods: {
|
|
|
+ changeRefundType(type) {
|
|
|
+ this.refundType = type;
|
|
|
+ this.filterReasons();
|
|
|
+ // Reset selected reason when refund type changes
|
|
|
+ this.reasons = "请选择";
|
|
|
+ this.reasonIndex = 0;
|
|
|
+ this.reasonValue = null;
|
|
|
+ this.resetDeliveryForm();
|
|
|
+ },
|
|
|
+ filterReasons() {
|
|
|
+ if (this.refundType === 0) { // 仅退款类型type0
|
|
|
+ this.filteredReasonsList = this.reasonsList.filter(item => item.dictValue !== '6');
|
|
|
+ } else { // 退货退款类型type1
|
|
|
+ this.filteredReasonsList = this.reasonsList.filter(item => item.dictValue === '6');
|
|
|
+ }
|
|
|
+ },
|
|
|
getMyStoreOrderItemByOrderId(){
|
|
|
var data={orderId:this.orderId};
|
|
|
getMyStoreOrderItemByOrderId(data).then(res => {
|
|
|
@@ -136,10 +244,157 @@
|
|
|
});
|
|
|
},
|
|
|
reasonsChange(e) {
|
|
|
- console.log(e.detail.value)
|
|
|
- this.reasons = this.reasonsList[e.detail.value].dictLabel
|
|
|
+ var index = Number(e.detail.value);
|
|
|
+ var current = this.filteredReasonsList[index] || {};
|
|
|
+ this.reasonIndex = index;
|
|
|
+ this.reasons = current.dictLabel || '请选择';
|
|
|
+ this.reasonValue = current.dictValue != null ? current.dictValue.toString() : null;
|
|
|
+ if(this.isDeliveryReason){
|
|
|
+ this.loadLogisticsCompanies();
|
|
|
+ this.loadMerchantDeliveryInfo();
|
|
|
+ }else{
|
|
|
+ this.resetDeliveryForm();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ resetDeliveryForm(){
|
|
|
+ this.selectedLogisticsIndex = 0;
|
|
|
+ this.deliveryForm = {
|
|
|
+ shipper_code:'',
|
|
|
+ delivery_sn:'',
|
|
|
+ delivery_name:''
|
|
|
+ };
|
|
|
+ },
|
|
|
+ loadMerchantDeliveryInfo(){
|
|
|
+ return getErpReturnInfo({orderId:this.orderId}).then(res => {
|
|
|
+ if(res.code==200){
|
|
|
+ this.deliveryBaseInfo = {
|
|
|
+ consignee: res.returnReceiver || '',
|
|
|
+ phone_number: res.returnPhone || '',
|
|
|
+ address: res.returnAddress || ''
|
|
|
+ };
|
|
|
+ return this.deliveryBaseInfo;
|
|
|
+ }
|
|
|
+ uni.showToast({
|
|
|
+ icon:'none',
|
|
|
+ title: res.msg || '获取商家收货信息失败'
|
|
|
+ });
|
|
|
+ return null;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ loadLogisticsCompanies(forceRefresh){
|
|
|
+ if(this.logisticsLoading){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(!forceRefresh&&this.logisticsCompanyList.length>0&&!this.logisticsKeyword){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.logisticsLoading = true;
|
|
|
+ queryLogisticsCompany({keyword:this.logisticsKeyword}).then(res => {
|
|
|
+ if(res.code==0||res.code==200){
|
|
|
+ var list = [];
|
|
|
+ if(Array.isArray(res.data)){
|
|
|
+ list = res.data;
|
|
|
+ }else if(Array.isArray(res.rows)){
|
|
|
+ list = res.rows;
|
|
|
+ }else if(Array.isArray(res.list)){
|
|
|
+ list = res.list;
|
|
|
+ }
|
|
|
+ this.logisticsCompanyList = list;
|
|
|
+ }else{
|
|
|
+ uni.showToast({
|
|
|
+ icon:'none',
|
|
|
+ title: res.msg || '物流公司获取失败'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }).finally(() => {
|
|
|
+ this.logisticsLoading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ onSearchInput() {
|
|
|
+ if (this.searchTimer) {
|
|
|
+ clearTimeout(this.searchTimer);
|
|
|
+ }
|
|
|
+ this.deliveryForm.shipper_code = ''; // 重置选中状态以显示列表
|
|
|
+ this.searchTimer = setTimeout(() => {
|
|
|
+ this.loadLogisticsCompanies(true);
|
|
|
+ }, 500);
|
|
|
},
|
|
|
- submit(){
|
|
|
+ clearSearch() {
|
|
|
+ this.logisticsKeyword = '';
|
|
|
+ this.logisticsCompanyList = [];
|
|
|
+ this.resetDeliveryForm();
|
|
|
+ },
|
|
|
+ selectLogistics(item) {
|
|
|
+ this.deliveryForm.shipper_code = item.lcId || '';
|
|
|
+ this.deliveryForm.delivery_name = item.lcName || '';
|
|
|
+ this.logisticsKeyword = ''; // 清空搜索词以显示选中状态
|
|
|
+ this.logisticsCompanyList = [];
|
|
|
+ },
|
|
|
+ reselectLogistics() {
|
|
|
+ this.logisticsKeyword = this.deliveryForm.delivery_name;
|
|
|
+ this.deliveryForm.shipper_code = '';
|
|
|
+ this.onSearchInput();
|
|
|
+ },
|
|
|
+ searchLogisticsCompanies(){
|
|
|
+ this.loadLogisticsCompanies(true);
|
|
|
+ },
|
|
|
+ refreshLogisticsCompanies(){
|
|
|
+ refreshLogisticsCompany({}).then(res => {
|
|
|
+ if(res.code==0||res.code==200){
|
|
|
+ this.logisticsCompanyList = [];
|
|
|
+ this.loadLogisticsCompanies(true);
|
|
|
+ }else{
|
|
|
+ uni.showToast({
|
|
|
+ icon:'none',
|
|
|
+ title: res.msg || '刷新失败'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ validateDeliveryForm(){
|
|
|
+ if(!this.deliveryForm.shipper_code||!this.deliveryForm.delivery_name){
|
|
|
+ uni.showToast({
|
|
|
+ icon:'none',
|
|
|
+ title: '请选择物流公司'
|
|
|
+ });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if(!this.deliveryForm.delivery_sn){
|
|
|
+ uni.showToast({
|
|
|
+ icon:'none',
|
|
|
+ title: '请输入物流单号'
|
|
|
+ });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ },
|
|
|
+ buildDeliveryPayload(){
|
|
|
+ if(!this.deliveryBaseInfo.consignee||!this.deliveryBaseInfo.phone_number||!this.deliveryBaseInfo.address){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ orderCode:this.orderCode,
|
|
|
+ consignee:this.deliveryBaseInfo.consignee,
|
|
|
+ phone_number:this.deliveryBaseInfo.phone_number,
|
|
|
+ address:this.deliveryBaseInfo.address,
|
|
|
+ shipper_code:this.deliveryForm.shipper_code,
|
|
|
+ delivery_sn:this.deliveryForm.delivery_sn,
|
|
|
+ delivery_name:this.deliveryForm.delivery_name
|
|
|
+ };
|
|
|
+ },
|
|
|
+ handleSubmitSuccess(message){
|
|
|
+ uni.showToast({
|
|
|
+ icon:'success',
|
|
|
+ title: message || '提交成功'
|
|
|
+ });
|
|
|
+ setTimeout(function() {
|
|
|
+ uni.$emit('refreshOrder');
|
|
|
+ uni.navigateBack({
|
|
|
+ delta: 1
|
|
|
+ })
|
|
|
+ }, 500);
|
|
|
+ },
|
|
|
+ async submit(){
|
|
|
if(this.reasons=="请选择"){
|
|
|
uni.showToast({
|
|
|
icon:'none',
|
|
|
@@ -154,35 +409,60 @@
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
var productIds=this.items.map(item=>item.productId);
|
|
|
var products=[];
|
|
|
for(var i=0;i<productIds.length;i++){
|
|
|
var item={productId:productIds[i]};
|
|
|
products.push(item);
|
|
|
}
|
|
|
- var data={refundAmount:this.refundAmount,orderCode:this.orderCode,serviceType:this.type,reasons:this.reasons,explains:this.explains,productList:products};
|
|
|
- applyAfterSales(data).then(res => {
|
|
|
+ var afterSalesData={refundAmount:this.refundAmount,orderCode:this.orderCode,serviceType:this.refundType,reasons:this.reasons,explains:this.explains,productList:products};
|
|
|
+
|
|
|
+ if (this.isDeliveryReason) {
|
|
|
+ // 如果原因是物流相关(dictValue为6)
|
|
|
+ if (!this.validateDeliveryForm()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 1. 先获取商家收货地址
|
|
|
+ await this.loadMerchantDeliveryInfo();
|
|
|
+ var deliveryData = this.buildDeliveryPayload();
|
|
|
+ if (!deliveryData) {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: '商家收货信息不完整'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 2. 合并参数:售后数据 + 物流数据
|
|
|
+ let finalSubmitData = {
|
|
|
+ ...afterSalesData, // 原售后参数
|
|
|
+ ...deliveryData // 物流信息(已合并)
|
|
|
+ };
|
|
|
+
|
|
|
+ // 3. 只调用一个接口:applyAfterSales
|
|
|
+ var res = await applyAfterSales(finalSubmitData);
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.handleSubmitSuccess('提交成功');
|
|
|
+ } else {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: res.msg || '提交失败'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ // 如果不是物流相关,直接调用申请售后接口
|
|
|
+ var res = await applyAfterSales(afterSalesData);
|
|
|
if(res.code==200){
|
|
|
- uni.showToast({
|
|
|
- icon:'success',
|
|
|
- title:'提交成功'
|
|
|
- });
|
|
|
- setTimeout(function() {
|
|
|
- uni.$emit('refreshOrder');
|
|
|
- uni.navigateBack({
|
|
|
- delta: 1
|
|
|
- })
|
|
|
- }, 500);
|
|
|
-
|
|
|
+ this.handleSubmitSuccess('提交成功');
|
|
|
}else{
|
|
|
uni.showToast({
|
|
|
icon:'none',
|
|
|
title: res.msg
|
|
|
});
|
|
|
-
|
|
|
}
|
|
|
- });
|
|
|
+ }
|
|
|
},
|
|
|
}
|
|
|
}
|
|
|
@@ -302,6 +582,19 @@
|
|
|
font-weight: bold;
|
|
|
color: #333333;
|
|
|
}
|
|
|
+ .radio-group {
|
|
|
+ display: flex;
|
|
|
+ .radio {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-right: 40upx;
|
|
|
+ font-size: 28upx;
|
|
|
+ color: #333333;
|
|
|
+ radio {
|
|
|
+ transform:scale(0.7);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
.money{
|
|
|
|
|
|
font-size: 24upx;
|
|
|
@@ -345,6 +638,197 @@
|
|
|
color: #999999;
|
|
|
}
|
|
|
}
|
|
|
+ .delivery-box{
|
|
|
+ border-top: 1px solid #F0F0F0;
|
|
|
+ padding-top: 20upx;
|
|
|
+ .logistics-select-container {
|
|
|
+ position: relative;
|
|
|
+ margin-bottom: 20upx;
|
|
|
+
|
|
|
+ .search-header {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ height: 86upx;
|
|
|
+ border-bottom: 1px solid #F0F0F0;
|
|
|
+
|
|
|
+ .label {
|
|
|
+ font-size: 30upx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #333333;
|
|
|
+ width: 160upx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .search-input-wrapper {
|
|
|
+ flex: 1;
|
|
|
+ position: relative;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ .search-input {
|
|
|
+ width: 100%;
|
|
|
+ height: 60upx;
|
|
|
+ font-size: 26upx;
|
|
|
+ color: #333333;
|
|
|
+ text-align: left;
|
|
|
+ padding-right: 50upx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .clear-icon {
|
|
|
+ position: absolute;
|
|
|
+ right: 10upx;
|
|
|
+ width: 32upx;
|
|
|
+ height: 32upx;
|
|
|
+ z-index: 10;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .refresh-btn {
|
|
|
+ font-size: 24upx;
|
|
|
+ color: #2583EB;
|
|
|
+ margin-left: 20upx;
|
|
|
+ min-width: 60upx;
|
|
|
+ text-align: center;
|
|
|
+
|
|
|
+ &.loading {
|
|
|
+ opacity: 0.6;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .results-dropdown {
|
|
|
+ position: absolute;
|
|
|
+ top: 86upx;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ background: #FFFFFF;
|
|
|
+ box-shadow: 0 4upx 20upx rgba(0,0,0,0.1);
|
|
|
+ border-radius: 8upx;
|
|
|
+ z-index: 100;
|
|
|
+ max-height: 400upx;
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ .results-list {
|
|
|
+ max-height: 400upx;
|
|
|
+
|
|
|
+ .result-item {
|
|
|
+ padding: 24upx 30upx;
|
|
|
+ border-bottom: 1px solid #F8F8F8;
|
|
|
+
|
|
|
+ &:active {
|
|
|
+ background-color: #F5F5F5;
|
|
|
+ }
|
|
|
+
|
|
|
+ .name {
|
|
|
+ font-size: 28upx;
|
|
|
+ color: #333333;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .empty-results, .loading-results {
|
|
|
+ padding: 40upx;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 24upx;
|
|
|
+ color: #999999;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .selected-display {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ height: 80upx;
|
|
|
+ background: #F8F8F8;
|
|
|
+ border-radius: 8upx;
|
|
|
+ padding: 0 20upx;
|
|
|
+ margin-top: 10upx;
|
|
|
+
|
|
|
+ .name {
|
|
|
+ font-size: 28upx;
|
|
|
+ color: #2583EB;
|
|
|
+ font-weight: 500;
|
|
|
+ }
|
|
|
+
|
|
|
+ .arrow {
|
|
|
+ width: 12upx;
|
|
|
+ height: 20upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .logistics-input{
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ .address-card {
|
|
|
+ padding: 20upx 0;
|
|
|
+ background: #FFFFFF;
|
|
|
+
|
|
|
+ .address-item {
|
|
|
+ display: flex;
|
|
|
+ align-items: flex-start;
|
|
|
+ padding: 30upx 0;
|
|
|
+ border-bottom: 1upx solid #F5F5F5;
|
|
|
+ &:last-child {
|
|
|
+ border-bottom: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ .icon-box {
|
|
|
+ width: 44upx;
|
|
|
+ height: 44upx;
|
|
|
+ border-radius: 8upx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ font-size: 24upx;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #FFFFFF;
|
|
|
+ margin-top: 6upx;
|
|
|
+ flex-shrink: 0;
|
|
|
+
|
|
|
+ &.sender {
|
|
|
+ background: #FF5A1F;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.recipient {
|
|
|
+ background: #FFB400;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .content-box {
|
|
|
+ flex: 1;
|
|
|
+ margin-left: 20upx;
|
|
|
+
|
|
|
+ .user-info {
|
|
|
+ margin-bottom: 12upx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ .name {
|
|
|
+ font-size: 30upx;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #111111;
|
|
|
+ margin-right: 20upx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .phone {
|
|
|
+ font-size: 30upx;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #111111;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .address-text {
|
|
|
+ font-size: 26upx;
|
|
|
+ color: #666666;
|
|
|
+ line-height: 1.4;
|
|
|
+ word-break: break-all;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
.return-method{
|
|
|
background: #FFFFFF;
|