实现了订单相关功能
This commit is contained in:
@@ -77,7 +77,7 @@
|
||||
{{ currentOrder.orderNo }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="下单时间">
|
||||
{{ formatDate(currentOrder.createTime) }}
|
||||
{{ formatDateTime(currentOrder.createTime) }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="订单状态">
|
||||
{{ getOrderStatusText(currentOrder.status) }}
|
||||
@@ -152,7 +152,6 @@
|
||||
</el-dialog>
|
||||
</MainLayout>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import MainLayout from "@/layouts/MainLayout.vue";
|
||||
import { ref, onMounted } from "vue";
|
||||
@@ -233,10 +232,81 @@ const viewOrderDetail = async (order: OrderListItem) => {
|
||||
}
|
||||
};
|
||||
|
||||
// 格式化日期
|
||||
const formatDate = (dateString: string) => {
|
||||
const date = new Date(dateString);
|
||||
return date.toLocaleDateString() + " " + date.toLocaleTimeString();
|
||||
// 格式化日期 (用于列表中的日期)
|
||||
const formatDate = (date: string | Date | number[]) => {
|
||||
// 检查是否为空值
|
||||
if (!date) return "-";
|
||||
|
||||
try {
|
||||
let d: Date;
|
||||
|
||||
// 如果是数组格式 [year, month, day, hour, minute, second]
|
||||
if (Array.isArray(date)) {
|
||||
if (date.length < 6) return "-";
|
||||
// 注意:JavaScript 中月份是从0开始的,所以需要减1
|
||||
d = new Date(date[0], date[1] - 1, date[2], date[3], date[4], date[5]);
|
||||
}
|
||||
// 如果是字符串并且是 ISO 8601 格式 (如: 2025-12-21T00:04:18)
|
||||
else if (typeof date === "string" && date.includes("T")) {
|
||||
d = new Date(date);
|
||||
}
|
||||
// 其他格式处理
|
||||
else {
|
||||
d = new Date(date);
|
||||
}
|
||||
|
||||
// 检查是否为有效日期
|
||||
if (isNaN(d.getTime())) return "-";
|
||||
|
||||
const year = d.getFullYear();
|
||||
const month = String(d.getMonth() + 1).padStart(2, "0");
|
||||
const day = String(d.getDate()).padStart(2, "0");
|
||||
const hours = String(d.getHours()).padStart(2, "0");
|
||||
const minutes = String(d.getMinutes()).padStart(2, "0");
|
||||
return `${year}-${month}-${day} ${hours}:${minutes}`;
|
||||
} catch (e) {
|
||||
console.error("日期格式化错误:", e, "输入值:", date);
|
||||
return "-";
|
||||
}
|
||||
};
|
||||
|
||||
// 格式化日期时间 (用于详情中的日期时间)
|
||||
const formatDateTime = (date: string | Date | number[]) => {
|
||||
// 检查是否为空值
|
||||
if (!date) return "-";
|
||||
|
||||
try {
|
||||
let d: Date;
|
||||
|
||||
// 如果是数组格式 [year, month, day, hour, minute, second]
|
||||
if (Array.isArray(date)) {
|
||||
if (date.length < 6) return "-";
|
||||
// 注意:JavaScript 中月份是从0开始的,所以需要减1
|
||||
d = new Date(date[0], date[1] - 1, date[2], date[3], date[4], date[5]);
|
||||
}
|
||||
// 如果是字符串并且是 ISO 8601 格式 (如: 2025-12-21T00:04:18)
|
||||
else if (typeof date === "string" && date.includes("T")) {
|
||||
d = new Date(date);
|
||||
}
|
||||
// 其他格式处理
|
||||
else {
|
||||
d = new Date(date);
|
||||
}
|
||||
|
||||
// 检查是否为有效日期
|
||||
if (isNaN(d.getTime())) return "-";
|
||||
|
||||
const year = d.getFullYear();
|
||||
const month = String(d.getMonth() + 1).padStart(2, "0");
|
||||
const day = String(d.getDate()).padStart(2, "0");
|
||||
const hours = String(d.getHours()).padStart(2, "0");
|
||||
const minutes = String(d.getMinutes()).padStart(2, "0");
|
||||
const seconds = String(d.getSeconds()).padStart(2, "0");
|
||||
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
||||
} catch (e) {
|
||||
console.error("日期时间格式化错误:", e, "输入值:", date);
|
||||
return "-";
|
||||
}
|
||||
};
|
||||
|
||||
// 获取订单状态文本
|
||||
|
||||
Reference in New Issue
Block a user