bug修改
This commit is contained in:
parent
83b1a6f1a6
commit
7618492df5
|
|
@ -15,7 +15,7 @@
|
||||||
<view class="order-item" v-for="(order, index) in orderList" :key="index">
|
<view class="order-item" v-for="(order, index) in orderList" :key="index">
|
||||||
<!-- 顶部:订单编号 + 状态 -->
|
<!-- 顶部:订单编号 + 状态 -->
|
||||||
<view class="order-top">
|
<view class="order-top">
|
||||||
<text class="order-number">订单编号:{{order.number}}</text>
|
<text class="order-number">服务时段:{{order.number}}</text>
|
||||||
<view class="order-status-badge" :class="{
|
<view class="order-status-badge" :class="{
|
||||||
'order-status-badge2': order.state > 4 && order.state !== 7,
|
'order-status-badge2': order.state > 4 && order.state !== 7,
|
||||||
'order-status-badge3': order.state === 7
|
'order-status-badge3': order.state === 7
|
||||||
|
|
|
||||||
|
|
@ -6,18 +6,17 @@
|
||||||
<view class="stateText" :class="{
|
<view class="stateText" :class="{
|
||||||
stateText2: dataItem.state > 4 && dataItem.state !== 7, // 排除已取消
|
stateText2: dataItem.state > 4 && dataItem.state !== 7, // 排除已取消
|
||||||
stateText3: dataItem.state === 7 // 已取消状态单独处理
|
stateText3: dataItem.state === 7 // 已取消状态单独处理
|
||||||
}" v-if="showState">
|
}" v-if="showState">
|
||||||
{{ stateText }}
|
{{ stateText }}
|
||||||
</view>
|
</view>
|
||||||
<image class="rightArrow" src="/static/images/shop/pintuan/rightArrow.png" v-else
|
<image class="rightArrow" src="/static/images/shop/pintuan/rightArrow.png" v-else
|
||||||
@click="$emit('goOrderDetail', dataItem)"></image>
|
@click="$emit('goOrderDetail', dataItem)"></image>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 服务信息区域 -->
|
<!-- 服务信息区域 -->
|
||||||
<view class="service-container" @click="$emit('goOrderDetail', dataItem)" :class="{noFotter:(!dataItem.reservation_time && !dataItem.reserve_end_time) || haveButton }">
|
<view class="service-container" @click="$emit('goOrderDetail', dataItem)"
|
||||||
<image class="service-img"
|
:class="{noFotter:(!dataItem.reservation_time && !dataItem.reserve_end_time) || haveButton }">
|
||||||
|
<image class="service-img" :src=" dataItem.order_photo ? dataItem.order_photo[0] : JSON.parse(dataItem.photo)[0]
|
||||||
:src=" dataItem.order_photo ? dataItem.order_photo[0] : JSON.parse(dataItem.photo)[0]
|
|
||||||
" mode="aspectFill"></image>
|
" mode="aspectFill"></image>
|
||||||
<view class="service-info">
|
<view class="service-info">
|
||||||
<view>
|
<view>
|
||||||
|
|
@ -30,12 +29,13 @@
|
||||||
</text>
|
</text>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class="service-time" v-if="dataItem.add_time && dataItem.state!=7">下单时间: {{ dataItem.add_time }}</view>
|
<view class="service-time" v-if="dataItem.add_time && dataItem.state!=7">下单时间:
|
||||||
|
{{ dataItem.add_time }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="service-price" >
|
<view class="service-price">
|
||||||
<text v-if="dataItem.team_buy_id">{{`团购价: `}}</text>¥<text
|
<text v-if="dataItem.team_buy_id">{{`团购价: `}}</text>¥<text
|
||||||
style="font-size: 34rpx;">{{ dataItem.order_money }}</text>
|
style="font-size: 34rpx;">{{ dataItem.order_money }}</text>
|
||||||
<text class="service-price-line">{{ dataItem.line_money }}</text>
|
<text class="service-price-line">{{ dataItem.line_money }}</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -83,49 +83,49 @@
|
||||||
useTime() {
|
useTime() {
|
||||||
const start = this.dataItem.reservation_time;
|
const start = this.dataItem.reservation_time;
|
||||||
const server_time = this.dataItem.server_time || 0;
|
const server_time = this.dataItem.server_time || 0;
|
||||||
|
|
||||||
// 格式化时间范围:输出 2025年05月29 12:30-13:30 格式
|
// 格式化时间范围:输出 2025年05月29 12:30-13:30 格式
|
||||||
function formatTimeRange(startTimeStr, serviceMinutes) {
|
function formatTimeRange(startTimeStr, serviceMinutes) {
|
||||||
// 1. 空值兜底:避免无开始时间时报错
|
// 1. 空值兜底:避免无开始时间时报错
|
||||||
if (!startTimeStr) return "";
|
if (!startTimeStr) return "";
|
||||||
|
|
||||||
// 2. 兼容低版本iOS:iOS不识别 "-" 分隔的日期,必须替换为 "/"
|
// 2. 兼容低版本iOS:iOS不识别 "-" 分隔的日期,必须替换为 "/"
|
||||||
const iosSafeTimeStr = startTimeStr.replace(/-/g, "/");
|
const iosSafeTimeStr = startTimeStr.replace(/-/g, "/");
|
||||||
const startTime = new Date(iosSafeTimeStr);
|
const startTime = new Date(iosSafeTimeStr);
|
||||||
|
|
||||||
// 校验时间有效性
|
// 校验时间有效性
|
||||||
if (isNaN(startTime.getTime())) {
|
if (isNaN(startTime.getTime())) {
|
||||||
console.error("无效的开始时间格式:", startTimeStr);
|
console.error("无效的开始时间格式:", startTimeStr);
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. 计算结束时间(开始时间 + 服务分钟数)
|
// 3. 计算结束时间(开始时间 + 服务分钟数)
|
||||||
const endTime = new Date(startTime.getTime() + serviceMinutes * 60 * 1000);
|
const endTime = new Date(startTime.getTime() + serviceMinutes * 60 * 1000);
|
||||||
|
|
||||||
// 格式化年份:YYYY年
|
// 格式化年份:YYYY年
|
||||||
const formatYear = (date) => {
|
const formatYear = (date) => {
|
||||||
return date.getFullYear() + '年';
|
return date.getFullYear() + '年';
|
||||||
};
|
};
|
||||||
|
|
||||||
// 格式化月份和日期:MM月DD(补零)
|
// 格式化月份和日期:MM月DD(补零)
|
||||||
const formatMonthDay = (date) => {
|
const formatMonthDay = (date) => {
|
||||||
const month = String(date.getMonth() + 1).padStart(2, "0");
|
const month = String(date.getMonth() + 1).padStart(2, "0");
|
||||||
const day = String(date.getDate()).padStart(2, "0");
|
const day = String(date.getDate()).padStart(2, "0");
|
||||||
return `${month}月${day}`;
|
return `${month}月${day}`;
|
||||||
};
|
};
|
||||||
|
|
||||||
// 格式化时间部分:HH:MM(补零)
|
// 格式化时间部分:HH:MM(补零)
|
||||||
const formatTimePart = (date) => {
|
const formatTimePart = (date) => {
|
||||||
const hours = String(date.getHours()).padStart(2, "0");
|
const hours = String(date.getHours()).padStart(2, "0");
|
||||||
const minutes = String(date.getMinutes()).padStart(2, "0");
|
const minutes = String(date.getMinutes()).padStart(2, "0");
|
||||||
return `${hours}:${minutes}`;
|
return `${hours}:${minutes}`;
|
||||||
};
|
};
|
||||||
|
|
||||||
// 4. 判断是否同一天
|
// 4. 判断是否同一天
|
||||||
const isSameDay = startTime.getFullYear() === endTime.getFullYear() &&
|
const isSameDay = startTime.getFullYear() === endTime.getFullYear() &&
|
||||||
startTime.getMonth() === endTime.getMonth() &&
|
startTime.getMonth() === endTime.getMonth() &&
|
||||||
startTime.getDate() === endTime.getDate();
|
startTime.getDate() === endTime.getDate();
|
||||||
|
|
||||||
// 5. 拼接最终格式
|
// 5. 拼接最终格式
|
||||||
if (isSameDay) {
|
if (isSameDay) {
|
||||||
// 同一天:2025年05月29 12:30-13:30
|
// 同一天:2025年05月29 12:30-13:30
|
||||||
|
|
@ -135,7 +135,7 @@
|
||||||
return `${formatYear(startTime)}${formatMonthDay(startTime)} ${formatTimePart(startTime)}-${formatYear(endTime)}${formatMonthDay(endTime)} ${formatTimePart(endTime)}`;
|
return `${formatYear(startTime)}${formatMonthDay(startTime)} ${formatTimePart(startTime)}-${formatYear(endTime)}${formatMonthDay(endTime)} ${formatTimePart(endTime)}`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 兜底:如果start为空,返回空字符串避免报错
|
// 兜底:如果start为空,返回空字符串避免报错
|
||||||
return start ? formatTimeRange(start, server_time) : "";
|
return start ? formatTimeRange(start, server_time) : "";
|
||||||
},
|
},
|
||||||
|
|
@ -233,12 +233,13 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stateText2{
|
.stateText2 {
|
||||||
background-image: url("/static/images/icons/tabBj2.png");
|
background-image: url("/static/images/icons/tabBj2.png");
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
.stateText3{
|
|
||||||
|
.stateText3 {
|
||||||
background-image: url("/static/images/icons/tabBj2.png");
|
background-image: url("/static/images/icons/tabBj2.png");
|
||||||
color: #999999 !important;
|
color: #999999 !important;
|
||||||
}
|
}
|
||||||
|
|
@ -256,8 +257,8 @@
|
||||||
padding-bottom: 24rpx;
|
padding-bottom: 24rpx;
|
||||||
border-bottom: 1px solid #f6f5f5;
|
border-bottom: 1px solid #f6f5f5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.noFotter{
|
.noFotter {
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
padding-bottom: 0rpx;
|
padding-bottom: 0rpx;
|
||||||
}
|
}
|
||||||
|
|
@ -286,6 +287,7 @@
|
||||||
line-height: 34rpx;
|
line-height: 34rpx;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|
||||||
.service-price-line {
|
.service-price-line {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
|
|
@ -351,13 +353,15 @@
|
||||||
margin-top: 28rpx;
|
margin-top: 28rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.time-info-img{
|
|
||||||
|
.time-info-img {
|
||||||
width: 40rpx;
|
width: 40rpx;
|
||||||
height: 40rpx;
|
height: 40rpx;
|
||||||
margin-right: 10rpx;
|
margin-right: 10rpx;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
.time-info-name{
|
|
||||||
|
.time-info-name {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
|
|
@ -365,8 +369,22 @@
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
margin-right: 20rpx;
|
margin-right: 20rpx;
|
||||||
|
max-width: 110rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
word-break: break-all;
|
||||||
|
/* break-all(允许在单词内换行。) */
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
/* 超出部分省略号 */
|
||||||
|
display: -webkit-box;
|
||||||
|
/** 对象作为伸缩盒子模型显示 **/
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
/** 设置或检索伸缩盒对象的子元素的排列方式 **/
|
||||||
|
-webkit-line-clamp: 1;
|
||||||
|
/** 显示的行数 **/
|
||||||
|
|
||||||
}
|
}
|
||||||
.time-info-text1{
|
|
||||||
|
.time-info-text1 {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
|
|
@ -374,8 +392,10 @@
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
// margin-right: 20rpx;
|
// margin-right: 20rpx;
|
||||||
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.time-info-text2{
|
|
||||||
|
.time-info-text2 {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
|
|
|
||||||
|
|
@ -57,10 +57,10 @@ export default {
|
||||||
text: "全部",
|
text: "全部",
|
||||||
},
|
},
|
||||||
|
|
||||||
// {
|
{
|
||||||
// id: 1,
|
id: 1,
|
||||||
// text: "待支付",
|
text: "待支付",
|
||||||
// },
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
text: "待接单",
|
text: "待接单",
|
||||||
|
|
|
||||||
|
|
@ -15,12 +15,11 @@
|
||||||
}}</text></text>
|
}}</text></text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
||||||
<!-- 到店订单客户信息 -->
|
<!-- 到店订单客户信息 -->
|
||||||
<view class="kh-card" v-if=" serviceType == '2' && orderInfo.order_kind==2">
|
<view class="kh-card" v-if=" (serviceType == '2' ||serviceType == '1') && orderInfo.order_kind==2">
|
||||||
<view class="kh-card-footer flex-row-center-between">
|
<view class="kh-card-footer flex-row-center-between">
|
||||||
<view class="kh-card-footer-left flex-row-center">
|
<view class="kh-card-footer-left flex-row-center">
|
||||||
<image class="kh-card-footer-left-img" :src="orderInfo.order_headphoto"></image>
|
<image class="kh-card-footer-left-img" :src="orderInfo.order_headphoto || orderInfo.user_yh.head_photo"></image>
|
||||||
<view class="kh-card-footer-left-text">
|
<view class="kh-card-footer-left-text">
|
||||||
{{ `${orderInfo.order_username} ${orderInfo.phone_user}` }}
|
{{ `${orderInfo.order_username} ${orderInfo.phone_user}` }}
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue