@@ -331,6 +331,62 @@ export default {
const defaultImage = 'https://via.placeholder.com/50x50?text=图片'
+ // 获取状态名称
+ const getStatusName = (status) => {
+ const statusMap = {
+ 1: '待支付',
+ 2: '已支付',
+ 3: '已发货',
+ 4: '已完成',
+ 5: '已取消',
+ 6: '已退款'
+ }
+ return statusMap[status] || '未知状态'
+ }
+
+ // 格式化时间
+ const formatTime = (time) => {
+ if (!time || time === null || time === undefined) {
+ return '--'
+ }
+
+ try {
+ let date
+
+ if (typeof time === 'string') {
+ // 处理MySQL datetime格式: 2025-09-25 04:08:23
+ if (time.includes('-') && time.includes(':')) {
+ date = new Date(time.replace(' ', 'T'))
+ } else if (time.includes('T')) {
+ // ISO格式
+ date = new Date(time)
+ } else {
+ date = new Date(time)
+ }
+ } else if (typeof time === 'number') {
+ date = new Date(time)
+ } else {
+ date = new Date(time)
+ }
+
+ if (isNaN(date.getTime())) {
+ return '--'
+ }
+
+ return date.toLocaleString('zh-CN', {
+ year: 'numeric',
+ month: '2-digit',
+ day: '2-digit',
+ hour: '2-digit',
+ minute: '2-digit',
+ hour12: false
+ })
+ } catch (error) {
+ console.error('时间格式化错误:', error)
+ return '--'
+ }
+ }
+
// 加载订单列表
const loadOrders = async () => {
try {
@@ -402,10 +458,6 @@ export default {
return typeMap[status] || 'info'
}
- const formatTime = (time) => {
- return new Date(time).toLocaleString()
- }
-
const viewOrderDetail = (order) => {
selectedOrder.value = order
detailDialogVisible.value = true
@@ -507,12 +559,13 @@ export default {
detailDialogVisible,
selectedOrder,
defaultImage,
+ getStatusName,
+ formatTime,
loadOrders,
handleFilter,
handleSearch,
handleSelectionChange,
getStatusType,
- formatTime,
viewOrderDetail,
handleShipOrder,
confirmShipOrder,
diff --git a/frontend/vite.config.js b/frontend/vite.config.js
index 96024a3..e0d83a8 100644
--- a/frontend/vite.config.js
+++ b/frontend/vite.config.js
@@ -10,7 +10,7 @@ export default defineConfig({
}
},
server: {
- port: 3000,
+ port: 53921,
proxy: {
'/api': {
target: 'http://localhost:8080',