You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
22 KiB
1 lines
22 KiB
{"ast":null,"code":"import { ref, reactive, computed } from 'vue';\nimport { useRouter } from 'vue-router';\nimport { ElMessage, ElMessageBox } from 'element-plus';\nimport { getAllOrders, updateOrderStatus } from '@/api/order';\nimport { store } from '@/store';\nexport default {\n __name: 'OrderManagement',\n setup(__props, {\n expose: __expose\n }) {\n __expose();\n const router = useRouter();\n const loading = ref(false);\n const updating = ref(false);\n const orderList = ref([]);\n const total = ref(0);\n const currentPage = ref(1);\n const pageSize = ref(10);\n const statusDialogVisible = ref(false);\n const currentOrder = ref(null);\n const searchForm = reactive({\n customerId: ''\n });\n const statusForm = reactive({\n status: ''\n });\n\n // 状态选项\n const statusOptions = computed(() => {\n const userRoles = store.state.userInfo?.roles || [];\n const currentStatus = currentOrder.value?.status;\n\n // 基础状态映射\n const baseOptions = {\n 0: '待处理',\n 1: '待发货',\n 2: '已发货',\n 3: '运输中',\n 4: '已送达',\n 5: '已完成',\n 6: '已取消'\n };\n\n // 系统管理员可以修改为任意状态\n if (userRoles.includes('ROLE_ADMIN')) {\n return baseOptions;\n }\n\n // 仓库管理员只能将订单从\"待处理\"改为\"待发货\"\n if (userRoles.includes('ROLE_WAREHOUSE_ADMIN')) {\n return currentStatus === 0 ? {\n 1: '待发货'\n } : {};\n }\n\n // 物流管理员的状态流转\n if (userRoles.includes('ROLE_LOGISTICS_ADMIN')) {\n switch (currentStatus) {\n case 1:\n return {\n 2: '已发货'\n };\n case 2:\n return {\n 3: '运输中'\n };\n case 3:\n return {\n 4: '已送达'\n };\n case 4:\n return {\n 5: '已完成'\n };\n default:\n return {};\n }\n }\n return {};\n });\n\n // 判断是否可以修改状态\n const canUpdateStatus = status => {\n const userRoles = store.state.userInfo?.roles || [];\n\n // 系统管理员可以修改任意状态\n if (userRoles.includes('ROLE_ADMIN')) {\n return status !== 5 && status !== 6; // 已完成和已取消的订单不能修改\n }\n\n // 仓库管理员只能修改待处理的订单\n if (userRoles.includes('ROLE_WAREHOUSE_ADMIN')) {\n return status === 0;\n }\n\n // 物流管理员可以修改的状态\n if (userRoles.includes('ROLE_LOGISTICS_ADMIN')) {\n return status >= 1 && status <= 4; // 可以修改待发货到已送达的订单\n }\n return false;\n };\n\n // 获取状态文本\n const getStatusText = status => {\n const statusMap = {\n 0: '待处理',\n 1: '待发货',\n 2: '已发货',\n 3: '运输中',\n 4: '已送达',\n 5: '已完成',\n 6: '已取消'\n };\n return statusMap[status] || '未知状态';\n };\n\n // 加载订单列表\n const loadOrders = async () => {\n loading.value = true;\n try {\n const res = await getAllOrders({\n pageNum: currentPage.value,\n pageSize: pageSize.value,\n customerId: searchForm.customerId || undefined\n });\n if (res.code === 200) {\n orderList.value = res.data.records;\n total.value = res.data.total;\n currentPage.value = res.data.current;\n pageSize.value = res.data.size;\n }\n } catch (error) {\n console.error('加载订单失败:', error);\n ElMessage.error(error.message || '加载订单失败');\n } finally {\n loading.value = false;\n }\n };\n\n // 查看订单详情\n const viewDetail = orderId => {\n router.push(`/orders/detail/${orderId}`);\n };\n\n // 处理修改状态\n const handleUpdateStatus = order => {\n // 已完成或已取消的订单不能修改状态\n if (!canUpdateStatus(order.status)) {\n return;\n }\n currentOrder.value = order;\n statusForm.status = order.status;\n statusDialogVisible.value = true;\n };\n\n // 确认修改状态\n const confirmUpdateStatus = async () => {\n if (!currentOrder.value || statusForm.status === currentOrder.value.status) {\n statusDialogVisible.value = false;\n return;\n }\n try {\n updating.value = true;\n const res = await updateOrderStatus(currentOrder.value.id, statusForm.status);\n if (res.code === 200) {\n ElMessage.success('订单状态修改成功');\n statusDialogVisible.value = false;\n loadOrders(); // 重新加载订单列表\n }\n } catch (error) {\n console.error('修改订单状态失败:', error);\n if (error.response?.data?.message) {\n ElMessage.error(error.response.data.message);\n } else {\n ElMessage.error(error.message || '修改订单状态失败');\n }\n } finally {\n updating.value = false;\n }\n };\n\n // 处理搜索\n const handleSearch = () => {\n currentPage.value = 1;\n loadOrders();\n };\n\n // 处理分页\n const handleSizeChange = val => {\n pageSize.value = val;\n loadOrders();\n };\n const handleCurrentChange = val => {\n currentPage.value = val;\n loadOrders();\n };\n\n // 初始加载\n loadOrders();\n const __returned__ = {\n router,\n loading,\n updating,\n orderList,\n total,\n currentPage,\n pageSize,\n statusDialogVisible,\n currentOrder,\n searchForm,\n statusForm,\n statusOptions,\n canUpdateStatus,\n getStatusText,\n loadOrders,\n viewDetail,\n handleUpdateStatus,\n confirmUpdateStatus,\n handleSearch,\n handleSizeChange,\n handleCurrentChange,\n ref,\n reactive,\n computed,\n get useRouter() {\n return useRouter;\n },\n get ElMessage() {\n return ElMessage;\n },\n get ElMessageBox() {\n return ElMessageBox;\n },\n get getAllOrders() {\n return getAllOrders;\n },\n get updateOrderStatus() {\n return updateOrderStatus;\n },\n get store() {\n return store;\n }\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n};","map":{"version":3,"names":["ref","reactive","computed","useRouter","ElMessage","ElMessageBox","getAllOrders","updateOrderStatus","store","router","loading","updating","orderList","total","currentPage","pageSize","statusDialogVisible","currentOrder","searchForm","customerId","statusForm","status","statusOptions","userRoles","state","userInfo","roles","currentStatus","value","baseOptions","includes","canUpdateStatus","getStatusText","statusMap","loadOrders","res","pageNum","undefined","code","data","records","current","size","error","console","message","viewDetail","orderId","push","handleUpdateStatus","order","confirmUpdateStatus","id","success","response","handleSearch","handleSizeChange","val","handleCurrentChange"],"sources":["D:/language/VScode/Front-end logistics/src/views/admin/OrderManagement.vue"],"sourcesContent":["<template>\r\n <div class=\"order-management\">\r\n <el-card>\r\n <template #header>\r\n <div class=\"card-header\">\r\n <span>订单管理</span>\r\n <el-form :inline=\"true\" :model=\"searchForm\" class=\"search-form\">\r\n <el-form-item>\r\n <el-input\r\n v-model=\"searchForm.customerId\"\r\n placeholder=\"客户ID\"\r\n clearable\r\n @clear=\"handleSearch\"\r\n />\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button type=\"primary\" @click=\"handleSearch\">搜索</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </template>\r\n \r\n <el-table\r\n v-loading=\"loading\"\r\n :data=\"orderList\"\r\n style=\"width: 100%\"\r\n >\r\n <el-table-column prop=\"orderNo\" label=\"订单编号\" />\r\n <el-table-column prop=\"customerId\" label=\"客户ID\" />\r\n <el-table-column prop=\"goodsName\" label=\"商品名称\" />\r\n <el-table-column prop=\"goodsQuantity\" label=\"数量\" />\r\n <el-table-column prop=\"startLocation\" label=\"起始地\" />\r\n <el-table-column prop=\"endLocation\" label=\"目的地\" />\r\n <el-table-column prop=\"transportFee\" label=\"运费\">\r\n <template #default=\"{ row }\">\r\n ¥{{ row.transportFee }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"status\" label=\"状态\">\r\n <template #default=\"{ row }\">\r\n {{ getStatusText(row.status) }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"createTime\" label=\"创建时间\" />\r\n <el-table-column label=\"操作\" width=\"200\">\r\n <template #default=\"{ row }\">\r\n <el-button \r\n type=\"text\"\r\n size=\"small\"\r\n @click=\"viewDetail(row.id)\"\r\n >\r\n 查看详情\r\n </el-button>\r\n <el-button \r\n type=\"text\"\r\n size=\"small\"\r\n @click=\"handleUpdateStatus(row)\"\r\n :disabled=\"!canUpdateStatus(row.status)\"\r\n >\r\n 修改状态\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n \r\n <div class=\"pagination\">\r\n <el-pagination\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n :total=\"total\"\r\n :page-sizes=\"[10, 20, 50]\"\r\n layout=\"total, sizes, prev, pager, next\"\r\n @size-change=\"handleSizeChange\"\r\n @current-change=\"handleCurrentChange\"\r\n />\r\n </div>\r\n </el-card>\r\n\r\n <!-- 修改状态对话框 -->\r\n <el-dialog\r\n v-model=\"statusDialogVisible\"\r\n title=\"修改订单状态\"\r\n width=\"50%\"\r\n >\r\n <div class=\"order-info\">\r\n <p><strong>订单编号:</strong>{{ currentOrder?.orderNo }}</p>\r\n <p><strong>客户ID:</strong>{{ currentOrder?.customerId }}</p>\r\n <p><strong>商品名称:</strong>{{ currentOrder?.goodsName }}</p>\r\n <p><strong>商品数量:</strong>{{ currentOrder?.goodsQuantity }}</p>\r\n <p><strong>起始地:</strong>{{ currentOrder?.startLocation }}</p>\r\n <p><strong>目的地:</strong>{{ currentOrder?.endLocation }}</p>\r\n <p><strong>运费:</strong>¥{{ currentOrder?.transportFee }}</p>\r\n <p><strong>当前状态:</strong>{{ getStatusText(currentOrder?.status) }}</p>\r\n </div>\r\n <el-form :model=\"statusForm\" label-width=\"100px\">\r\n <el-form-item label=\"新状态\">\r\n <el-select v-model=\"statusForm.status\">\r\n <el-option\r\n v-for=\"(text, value) in statusOptions\"\r\n :key=\"value\"\r\n :label=\"text\"\r\n :value=\"Number(value)\"\r\n :disabled=\"Number(value) === currentOrder?.status\"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n </el-form>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"statusDialogVisible = false\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"confirmUpdateStatus\" :loading=\"updating\">\r\n 确认修改\r\n </el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script setup>\r\nimport { ref, reactive, computed } from 'vue'\r\nimport { useRouter } from 'vue-router'\r\nimport { ElMessage, ElMessageBox } from 'element-plus'\r\nimport { getAllOrders, updateOrderStatus } from '@/api/order'\r\nimport { store } from '@/store'\r\n\r\nconst router = useRouter()\r\nconst loading = ref(false)\r\nconst updating = ref(false)\r\nconst orderList = ref([])\r\nconst total = ref(0)\r\nconst currentPage = ref(1)\r\nconst pageSize = ref(10)\r\nconst statusDialogVisible = ref(false)\r\nconst currentOrder = ref(null)\r\n\r\nconst searchForm = reactive({\r\n customerId: ''\r\n})\r\n\r\nconst statusForm = reactive({\r\n status: ''\r\n})\r\n\r\n// 状态选项\r\nconst statusOptions = computed(() => {\r\n const userRoles = store.state.userInfo?.roles || []\r\n const currentStatus = currentOrder.value?.status\r\n \r\n // 基础状态映射\r\n const baseOptions = {\r\n 0: '待处理',\r\n 1: '待发货',\r\n 2: '已发货',\r\n 3: '运输中',\r\n 4: '已送达',\r\n 5: '已完成',\r\n 6: '已取消'\r\n }\r\n \r\n // 系统管理员可以修改为任意状态\r\n if (userRoles.includes('ROLE_ADMIN')) {\r\n return baseOptions\r\n }\r\n \r\n // 仓库管理员只能将订单从\"待处理\"改为\"待发货\"\r\n if (userRoles.includes('ROLE_WAREHOUSE_ADMIN')) {\r\n return currentStatus === 0 ? { 1: '待发货' } : {}\r\n }\r\n \r\n // 物流管理员的状态流转\r\n if (userRoles.includes('ROLE_LOGISTICS_ADMIN')) {\r\n switch (currentStatus) {\r\n case 1: return { 2: '已发货' }\r\n case 2: return { 3: '运输中' }\r\n case 3: return { 4: '已送达' }\r\n case 4: return { 5: '已完成' }\r\n default: return {}\r\n }\r\n }\r\n \r\n return {}\r\n})\r\n\r\n// 判断是否可以修改状态\r\nconst canUpdateStatus = (status) => {\r\n const userRoles = store.state.userInfo?.roles || []\r\n \r\n // 系统管理员可以修改任意状态\r\n if (userRoles.includes('ROLE_ADMIN')) {\r\n return status !== 5 && status !== 6 // 已完成和已取消的订单不能修改\r\n }\r\n \r\n // 仓库管理员只能修改待处理的订单\r\n if (userRoles.includes('ROLE_WAREHOUSE_ADMIN')) {\r\n return status === 0\r\n }\r\n \r\n // 物流管理员可以修改的状态\r\n if (userRoles.includes('ROLE_LOGISTICS_ADMIN')) {\r\n return status >= 1 && status <= 4 // 可以修改待发货到已送达的订单\r\n }\r\n \r\n return false\r\n}\r\n\r\n// 获取状态文本\r\nconst getStatusText = (status) => {\r\n const statusMap = {\r\n 0: '待处理',\r\n 1: '待发货',\r\n 2: '已发货',\r\n 3: '运输中',\r\n 4: '已送达',\r\n 5: '已完成',\r\n 6: '已取消'\r\n }\r\n return statusMap[status] || '未知状态'\r\n}\r\n\r\n// 加载订单列表\r\nconst loadOrders = async () => {\r\n loading.value = true\r\n try {\r\n const res = await getAllOrders({\r\n pageNum: currentPage.value,\r\n pageSize: pageSize.value,\r\n customerId: searchForm.customerId || undefined\r\n })\r\n \r\n if (res.code === 200) {\r\n orderList.value = res.data.records\r\n total.value = res.data.total\r\n currentPage.value = res.data.current\r\n pageSize.value = res.data.size\r\n }\r\n } catch (error) {\r\n console.error('加载订单失败:', error)\r\n ElMessage.error(error.message || '加载订单失败')\r\n } finally {\r\n loading.value = false\r\n }\r\n}\r\n\r\n// 查看订单详情\r\nconst viewDetail = (orderId) => {\r\n router.push(`/orders/detail/${orderId}`)\r\n}\r\n\r\n// 处理修改状态\r\nconst handleUpdateStatus = (order) => {\r\n // 已完成或已取消的订单不能修改状态\r\n if (!canUpdateStatus(order.status)) {\r\n return\r\n }\r\n currentOrder.value = order\r\n statusForm.status = order.status\r\n statusDialogVisible.value = true\r\n}\r\n\r\n// 确认修改状态\r\nconst confirmUpdateStatus = async () => {\r\n if (!currentOrder.value || statusForm.status === currentOrder.value.status) {\r\n statusDialogVisible.value = false\r\n return\r\n }\r\n\r\n try {\r\n updating.value = true\r\n const res = await updateOrderStatus(currentOrder.value.id, statusForm.status)\r\n if (res.code === 200) {\r\n ElMessage.success('订单状态修改成功')\r\n statusDialogVisible.value = false\r\n loadOrders() // 重新加载订单列表\r\n }\r\n } catch (error) {\r\n console.error('修改订单状态失败:', error)\r\n if (error.response?.data?.message) {\r\n ElMessage.error(error.response.data.message)\r\n } else {\r\n ElMessage.error(error.message || '修改订单状态失败')\r\n }\r\n } finally {\r\n updating.value = false\r\n }\r\n}\r\n\r\n// 处理搜索\r\nconst handleSearch = () => {\r\n currentPage.value = 1\r\n loadOrders()\r\n}\r\n\r\n// 处理分页\r\nconst handleSizeChange = (val) => {\r\n pageSize.value = val\r\n loadOrders()\r\n}\r\n\r\nconst handleCurrentChange = (val) => {\r\n currentPage.value = val\r\n loadOrders()\r\n}\r\n\r\n// 初始加载\r\nloadOrders()\r\n</script>\r\n\r\n<style scoped>\r\n.order-management {\r\n min-height: 100%;\r\n}\r\n\r\n.card-header {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n\r\n.search-form {\r\n margin-bottom: 0;\r\n}\r\n\r\n.pagination {\r\n margin-top: 20px;\r\n display: flex;\r\n justify-content: flex-end;\r\n}\r\n\r\n.order-info {\r\n padding: 20px;\r\n background-color: #f5f7fa;\r\n border-radius: 4px;\r\n margin-bottom: 20px;\r\n}\r\n\r\n.order-info p {\r\n margin: 10px 0;\r\n}\r\n\r\n.dialog-footer {\r\n display: flex;\r\n justify-content: flex-end;\r\n gap: 10px;\r\n}\r\n</style> "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|