fix_bug and change port
This commit is contained in:
parent
f6e6dc78bd
commit
a3e39115db
1
frontend/.env.production
Normal file
1
frontend/.env.production
Normal file
@ -0,0 +1 @@
|
|||||||
|
VITE_API_BASE_URL=https://api.sunnyfarm.sqai.online/api
|
||||||
@ -125,7 +125,7 @@
|
|||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<div class="order-products">
|
<div class="order-products">
|
||||||
<div
|
<div
|
||||||
v-for="item in row.orderDetails.slice(0, 2)"
|
v-for="item in (row.orderDetails || []).slice(0, 2)"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
class="product-item"
|
class="product-item"
|
||||||
>
|
>
|
||||||
@ -135,8 +135,8 @@
|
|||||||
<p class="product-spec">¥{{ item.price }} × {{ item.quantity }}</p>
|
<p class="product-spec">¥{{ item.price }} × {{ item.quantity }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="row.orderDetails.length > 2" class="more-products">
|
<div v-if="(row.orderDetails || []).length > 2" class="more-products">
|
||||||
还有 {{ row.orderDetails.length - 2 }} 件商品
|
还有 {{ (row.orderDetails || []).length - 2 }} 件商品
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -153,14 +153,14 @@
|
|||||||
<el-table-column label="订单状态" width="120">
|
<el-table-column label="订单状态" width="120">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-tag :type="getStatusType(row.status)">
|
<el-tag :type="getStatusType(row.status)">
|
||||||
{{ row.statusName }}
|
{{ getStatusName(row.status) }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column prop="createdAt" label="下单时间" width="180">
|
<el-table-column prop="createTime" label="下单时间" width="180">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ formatTime(row.createdAt) }}
|
{{ formatTime(row.createTime) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
@ -247,10 +247,10 @@
|
|||||||
<el-descriptions-item label="订单号">{{ selectedOrder.orderNo }}</el-descriptions-item>
|
<el-descriptions-item label="订单号">{{ selectedOrder.orderNo }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="订单状态">
|
<el-descriptions-item label="订单状态">
|
||||||
<el-tag :type="getStatusType(selectedOrder.status)">
|
<el-tag :type="getStatusType(selectedOrder.status)">
|
||||||
{{ selectedOrder.statusName }}
|
{{ getStatusName(selectedOrder.status) }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="下单时间">{{ formatTime(selectedOrder.createdAt) }}</el-descriptions-item>
|
<el-descriptions-item label="下单时间">{{ formatTime(selectedOrder.createTime) }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="订单金额">¥{{ selectedOrder.actualAmount.toFixed(2) }}</el-descriptions-item>
|
<el-descriptions-item label="订单金额">¥{{ selectedOrder.actualAmount.toFixed(2) }}</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
</div>
|
</div>
|
||||||
@ -266,7 +266,7 @@
|
|||||||
|
|
||||||
<div class="detail-section">
|
<div class="detail-section">
|
||||||
<h4>商品信息</h4>
|
<h4>商品信息</h4>
|
||||||
<el-table :data="selectedOrder.orderDetails" border>
|
<el-table :data="selectedOrder.orderDetails || []" border>
|
||||||
<el-table-column label="商品">
|
<el-table-column label="商品">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<div class="product-info">
|
<div class="product-info">
|
||||||
@ -331,6 +331,62 @@ export default {
|
|||||||
|
|
||||||
const defaultImage = 'https://via.placeholder.com/50x50?text=图片'
|
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 () => {
|
const loadOrders = async () => {
|
||||||
try {
|
try {
|
||||||
@ -402,10 +458,6 @@ export default {
|
|||||||
return typeMap[status] || 'info'
|
return typeMap[status] || 'info'
|
||||||
}
|
}
|
||||||
|
|
||||||
const formatTime = (time) => {
|
|
||||||
return new Date(time).toLocaleString()
|
|
||||||
}
|
|
||||||
|
|
||||||
const viewOrderDetail = (order) => {
|
const viewOrderDetail = (order) => {
|
||||||
selectedOrder.value = order
|
selectedOrder.value = order
|
||||||
detailDialogVisible.value = true
|
detailDialogVisible.value = true
|
||||||
@ -507,12 +559,13 @@ export default {
|
|||||||
detailDialogVisible,
|
detailDialogVisible,
|
||||||
selectedOrder,
|
selectedOrder,
|
||||||
defaultImage,
|
defaultImage,
|
||||||
|
getStatusName,
|
||||||
|
formatTime,
|
||||||
loadOrders,
|
loadOrders,
|
||||||
handleFilter,
|
handleFilter,
|
||||||
handleSearch,
|
handleSearch,
|
||||||
handleSelectionChange,
|
handleSelectionChange,
|
||||||
getStatusType,
|
getStatusType,
|
||||||
formatTime,
|
|
||||||
viewOrderDetail,
|
viewOrderDetail,
|
||||||
handleShipOrder,
|
handleShipOrder,
|
||||||
confirmShipOrder,
|
confirmShipOrder,
|
||||||
|
|||||||
@ -10,7 +10,7 @@ export default defineConfig({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
server: {
|
server: {
|
||||||
port: 3000,
|
port: 53921,
|
||||||
proxy: {
|
proxy: {
|
||||||
'/api': {
|
'/api': {
|
||||||
target: 'http://localhost:8080',
|
target: 'http://localhost:8080',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user