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

{"ast":null,"code":"import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = {\n class: \"order-create\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_input_number = _resolveComponent(\"el-input-number\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_form = _resolveComponent(\"el-form\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createVNode(_component_el_card, null, {\n header: _withCtx(() => _cache[5] || (_cache[5] = [_createElementVNode(\"div\", {\n class: \"card-header\"\n }, [_createElementVNode(\"span\", null, \"创建订单\")], -1 /* HOISTED */)])),\n default: _withCtx(() => [_createVNode(_component_el_form, {\n ref: \"formRef\",\n model: $setup.form,\n rules: $setup.rules,\n \"label-width\": \"120px\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_form_item, {\n label: \"客户ID\",\n prop: \"customerId\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input_number, {\n modelValue: $setup.form.customerId,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.form.customerId = $event),\n min: 1,\n placeholder: \"请输入客户ID\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"商品名称\",\n prop: \"goodsName\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.form.goodsName,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.form.goodsName = $event),\n placeholder: \"请输入商品名称\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"商品数量\",\n prop: \"goodsQuantity\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input_number, {\n modelValue: $setup.form.goodsQuantity,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.form.goodsQuantity = $event),\n min: 1\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"起始地\",\n prop: \"startLocation\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.form.startLocation,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $setup.form.startLocation = $event),\n placeholder: \"请输入详细地址\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"目的地\",\n prop: \"endLocation\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input, {\n modelValue: $setup.form.endLocation,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.form.endLocation = $event),\n placeholder: \"请输入详细地址\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, null, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.handleSubmit,\n loading: $setup.loading\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\" 提交订单 \")])),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"loading\"]), _createVNode(_component_el_button, {\n onClick: $setup.handleReset\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [_createTextVNode(\"重置\")])),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n })]);\n}","map":{"version":3,"names":["class","_createElementBlock","_hoisted_1","_createVNode","_component_el_card","header","_withCtx","_cache","_createElementVNode","default","_component_el_form","ref","model","$setup","form","rules","_component_el_form_item","label","prop","_component_el_input_number","modelValue","customerId","$event","min","placeholder","_","_component_el_input","goodsName","goodsQuantity","startLocation","endLocation","_component_el_button","type","onClick","handleSubmit","loading","_createTextVNode","handleReset"],"sources":["D:\\language\\VScode\\Front-end logistics\\src\\views\\order\\OrderCreate.vue"],"sourcesContent":["<template>\r\n <div class=\"order-create\">\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-form\r\n ref=\"formRef\"\r\n :model=\"form\"\r\n :rules=\"rules\"\r\n label-width=\"120px\"\r\n >\r\n <el-form-item label=\"客户ID\" prop=\"customerId\">\r\n <el-input-number \r\n v-model=\"form.customerId\" \r\n :min=\"1\" \r\n placeholder=\"请输入客户ID\"\r\n />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"商品名称\" prop=\"goodsName\">\r\n <el-input v-model=\"form.goodsName\" placeholder=\"请输入商品名称\" />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"商品数量\" prop=\"goodsQuantity\">\r\n <el-input-number v-model=\"form.goodsQuantity\" :min=\"1\" />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"起始地\" prop=\"startLocation\">\r\n <el-input v-model=\"form.startLocation\" placeholder=\"请输入详细地址\" />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"目的地\" prop=\"endLocation\">\r\n <el-input v-model=\"form.endLocation\" placeholder=\"请输入详细地址\" />\r\n </el-form-item>\r\n \r\n <el-form-item>\r\n <el-button type=\"primary\" @click=\"handleSubmit\" :loading=\"loading\">\r\n 提交订单\r\n </el-button>\r\n <el-button @click=\"handleReset\">重置</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script setup>\r\nimport { ref, reactive } from 'vue'\r\nimport { useRouter } from 'vue-router'\r\nimport { ElMessage } from 'element-plus'\r\nimport { createOrder } from '@/api/order'\r\n\r\nconst router = useRouter()\r\nconst formRef = ref(null)\r\nconst loading = ref(false)\r\n\r\nconst form = reactive({\r\n customerId: null,\r\n goodsName: '',\r\n goodsQuantity: 1,\r\n startLocation: '',\r\n endLocation: ''\r\n})\r\n\r\nconst rules = {\r\n customerId: [\r\n { required: true, message: '请输入客户ID', trigger: 'blur' },\r\n { type: 'number', min: 1, message: '客户ID必须大于0', trigger: 'blur' }\r\n ],\r\n goodsName: [\r\n { required: true, message: '请输入商品名称', trigger: 'blur' }\r\n ],\r\n goodsQuantity: [\r\n { required: true, message: '请输入商品数量', trigger: 'blur' },\r\n { type: 'number', min: 1, message: '数量必须大于0', trigger: 'blur' }\r\n ],\r\n startLocation: [\r\n { required: true, message: '请输入起始地', trigger: 'blur' }\r\n ],\r\n endLocation: [\r\n { required: true, message: '请输入目的地', trigger: 'blur' }\r\n ]\r\n}\r\n\r\nconst handleSubmit = async () => {\r\n if (!formRef.value) return\r\n \r\n try {\r\n await formRef.value.validate()\r\n loading.value = true\r\n \r\n const res = await createOrder(form)\r\n if (res.code === 200) {\r\n ElMessage.success('订单创建成功')\r\n router.push('/orders/my')\r\n } else {\r\n throw new Error(res.message || '创建订单失败')\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\nconst handleReset = () => {\r\n if (formRef.value) {\r\n formRef.value.resetFields()\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.order-create {\r\n max-width: 800px;\r\n margin: 0 auto;\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":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}