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
7.9 KiB

{"ast":null,"code":"import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, resolveDirective as _resolveDirective, openBlock as _openBlock, createBlock as _createBlock, withDirectives as _withDirectives, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = {\n class: \"my-orders\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_table_column = _resolveComponent(\"el-table-column\");\n const _component_el_tag = _resolveComponent(\"el-tag\");\n const _component_el_table = _resolveComponent(\"el-table\");\n const _component_el_card = _resolveComponent(\"el-card\");\n const _directive_loading = _resolveDirective(\"loading\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createVNode(_component_el_card, null, {\n header: _withCtx(() => _cache[0] || (_cache[0] = [_createElementVNode(\"div\", {\n class: \"card-header\"\n }, [_createElementVNode(\"span\", null, \"我的订单\")], -1 /* HOISTED */)])),\n default: _withCtx(() => [_withDirectives((_openBlock(), _createBlock(_component_el_table, {\n data: $setup.orderList,\n style: {\n \"width\": \"100%\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"orderNo\",\n label: \"订单编号\",\n width: \"180\"\n }), _createVNode(_component_el_table_column, {\n prop: \"goodsName\",\n label: \"商品名称\"\n }), _createVNode(_component_el_table_column, {\n prop: \"goodsQuantity\",\n label: \"数量\",\n width: \"80\"\n }), _createVNode(_component_el_table_column, {\n prop: \"startLocation\",\n label: \"起始地\"\n }), _createVNode(_component_el_table_column, {\n prop: \"endLocation\",\n label: \"目的地\"\n }), _createVNode(_component_el_table_column, {\n prop: \"status\",\n label: \"状态\",\n width: \"100\"\n }, {\n default: _withCtx(({\n row\n }) => [_createVNode(_component_el_tag, {\n type: $setup.getStatusType(row.status)\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString($setup.getStatusText(row.status)), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"type\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_table_column, {\n prop: \"createTime\",\n label: \"创建时间\",\n width: \"160\"\n }), _createVNode(_component_el_table_column, {\n prop: \"updateTime\",\n label: \"更新时间\",\n width: \"160\"\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"data\"])), [[_directive_loading, $setup.loading]])]),\n _: 1 /* STABLE */\n })]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createVNode","_component_el_card","header","_withCtx","_cache","_createElementVNode","default","_createBlock","_component_el_table","data","$setup","orderList","style","_component_el_table_column","prop","label","width","row","_component_el_tag","type","getStatusType","status","_createTextVNode","_toDisplayString","getStatusText","_","loading"],"sources":["D:\\language\\VScode\\Front-end logistics\\src\\views\\order\\MyOrders.vue"],"sourcesContent":["<template>\r\n <div class=\"my-orders\">\r\n <el-card>\r\n <template #header>\r\n <div class=\"card-header\">\r\n <span>我的订单</span>\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=\"订单编号\" width=\"180\" />\r\n <el-table-column prop=\"goodsName\" label=\"商品名称\" />\r\n <el-table-column prop=\"goodsQuantity\" label=\"数量\" width=\"80\" />\r\n <el-table-column prop=\"startLocation\" label=\"起始地\" />\r\n <el-table-column prop=\"endLocation\" label=\"目的地\" />\r\n <el-table-column prop=\"status\" label=\"状态\" width=\"100\">\r\n <template #default=\"{ row }\">\r\n <el-tag :type=\"getStatusType(row.status)\">\r\n {{ getStatusText(row.status) }}\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"createTime\" label=\"创建时间\" width=\"160\" />\r\n <el-table-column prop=\"updateTime\" label=\"更新时间\" width=\"160\" />\r\n </el-table>\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script setup>\r\nimport { ref, onMounted } from 'vue'\r\nimport { useStore } from 'vuex'\r\nimport { ElMessage } from 'element-plus'\r\nimport { getUserOrders } from '@/api/order'\r\n\r\nconst store = useStore()\r\nconst loading = ref(false)\r\nconst orderList = ref([])\r\n\r\n// 获取订单状态文本\r\nconst getStatusText = (status) => {\r\n switch (status) {\r\n case 0: return '待处理'\r\n case 1: return '已接单'\r\n case 2: return '运输中'\r\n case 3: return '已完成'\r\n case 4: return '已取消'\r\n default: return '未知状态'\r\n }\r\n}\r\n\r\n// 获取订单状态标签类型\r\nconst getStatusType = (status) => {\r\n switch (status) {\r\n case 0: return 'info'\r\n case 1: return 'warning'\r\n case 2: return 'primary'\r\n case 3: return 'success'\r\n case 4: return 'danger'\r\n default: return ''\r\n }\r\n}\r\n\r\n// 加载用户订单\r\nconst loadOrders = async () => {\r\n loading.value = true\r\n try {\r\n const userId = store.state.userInfo.userId\r\n console.log('当前用户ID:', userId)\r\n \r\n const res = await getUserOrders(userId)\r\n console.log('请求响应:', res)\r\n \r\n if (res.code === 200) {\r\n orderList.value = res.data\r\n }\r\n } catch (error) {\r\n console.error('加载订单失败:', error)\r\n console.log('完整的错误信息:', {\r\n status: error.response?.status,\r\n statusText: error.response?.statusText,\r\n data: error.response?.data,\r\n config: error.config\r\n })\r\n ElMessage.error('加载订单失败,请重试')\r\n } finally {\r\n loading.value = false\r\n }\r\n}\r\n\r\nonMounted(() => {\r\n loadOrders()\r\n})\r\n</script>\r\n\r\n<style scoped>\r\n.my-orders {\r\n padding: 20px;\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</style> "],"mappings":";;EACOA,KAAK,EAAC;AAAW;;;;;;;uBAAtBC,mBAAA,CA6BM,OA7BNC,UA6BM,GA5BJC,YAAA,CA2BUC,kBAAA;IA1BGC,MAAM,EAAAC,QAAA,CACf,MAEMC,MAAA,QAAAA,MAAA,OAFNC,mBAAA,CAEM;MAFDR,KAAK,EAAC;IAAa,IACtBQ,mBAAA,CAAiB,cAAX,MAAI,E;IALpBC,OAAA,EAAAH,QAAA,CASM,MAmBW,C,+BAnBXI,YAAA,CAmBWC,mBAAA;MAjBRC,IAAI,EAAEC,MAAA,CAAAC,SAAS;MAChBC,KAAmB,EAAnB;QAAA;MAAA;;MAZRN,OAAA,EAAAH,QAAA,CAcQ,MAA2D,CAA3DH,YAAA,CAA2Da,0BAAA;QAA1CC,IAAI,EAAC,SAAS;QAACC,KAAK,EAAC,MAAM;QAACC,KAAK,EAAC;UACnDhB,YAAA,CAAiDa,0BAAA;QAAhCC,IAAI,EAAC,WAAW;QAACC,KAAK,EAAC;UACxCf,YAAA,CAA8Da,0BAAA;QAA7CC,IAAI,EAAC,eAAe;QAACC,KAAK,EAAC,IAAI;QAACC,KAAK,EAAC;UACvDhB,YAAA,CAAoDa,0BAAA;QAAnCC,IAAI,EAAC,eAAe;QAACC,KAAK,EAAC;UAC5Cf,YAAA,CAAkDa,0BAAA;QAAjCC,IAAI,EAAC,aAAa;QAACC,KAAK,EAAC;UAC1Cf,YAAA,CAMkBa,0BAAA;QANDC,IAAI,EAAC,QAAQ;QAACC,KAAK,EAAC,IAAI;QAACC,KAAK,EAAC;;QACnCV,OAAO,EAAAH,QAAA,CAChB,CAES;UAHWc;QAAG,OACvBjB,YAAA,CAESkB,iBAAA;UAFAC,IAAI,EAAET,MAAA,CAAAU,aAAa,CAACH,GAAG,CAACI,MAAM;;UArBnDf,OAAA,EAAAH,QAAA,CAsBc,MAA+B,CAtB7CmB,gBAAA,CAAAC,gBAAA,CAsBiBb,MAAA,CAAAc,aAAa,CAACP,GAAG,CAACI,MAAM,kB;UAtBzCI,CAAA;;QAAAA,CAAA;UA0BQzB,YAAA,CAA8Da,0BAAA;QAA7CC,IAAI,EAAC,YAAY;QAACC,KAAK,EAAC,MAAM;QAACC,KAAK,EAAC;UACtDhB,YAAA,CAA8Da,0BAAA;QAA7CC,IAAI,EAAC,YAAY;QAACC,KAAK,EAAC,MAAM;QAACC,KAAK,EAAC;;MA3B9DS,CAAA;wDAUmBf,MAAA,CAAAgB,OAAO,E;IAV1BD,CAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}