bug修改

This commit is contained in:
cjl520cy 2026-04-29 16:41:21 +08:00
parent 83b1a6f1a6
commit 7618492df5
4 changed files with 58 additions and 39 deletions

View File

@ -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

View File

@ -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;
// 20250529 12:30-13:30 // 20250529 12:30-13:30
function formatTimeRange(startTimeStr, serviceMinutes) { function formatTimeRange(startTimeStr, serviceMinutes) {
// 1. // 1.
if (!startTimeStr) return ""; if (!startTimeStr) return "";
// 2. iOSiOS "-" "/" // 2. iOSiOS "-" "/"
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() + '年';
}; };
// MMDD // MMDD
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) {
// 20250529 12:30-13:30 // 20250529 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;

View File

@ -57,10 +57,10 @@ export default {
text: "全部", text: "全部",
}, },
// { {
// id: 1, id: 1,
// text: "", text: "待支付",
// }, },
{ {
id: 2, id: 2,
text: "待接单", text: "待接单",

View File

@ -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>