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
16 KiB
1 lines
16 KiB
{"ast":null,"code":"import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = {\n class: \"order-create\"\n};\nconst _hoisted_2 = {\n class: \"order-info\"\n};\nconst _hoisted_3 = {\n class: \"dialog-footer\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_input = _resolveComponent(\"el-input\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _component_el_input_number = _resolveComponent(\"el-input-number\");\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 const _component_el_dialog = _resolveComponent(\"el-dialog\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createVNode(_component_el_card, null, {\n header: _withCtx(() => _cache[7] || (_cache[7] = [_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\": \"100px\"\n }, {\n default: _withCtx(() => [_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[0] || (_cache[0] = $event => $setup.form.goodsName = $event)\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[1] || (_cache[1] = $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[2] || (_cache[2] = $event => $setup.form.startLocation = $event)\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[3] || (_cache[3] = $event => $setup.form.endLocation = $event)\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_form_item, {\n label: \"运费\",\n prop: \"transportFee\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_input_number, {\n modelValue: $setup.form.transportFee,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.form.transportFee = $event),\n min: 0,\n precision: 2,\n step: 0.01\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[8] || (_cache[8] = [_createTextVNode(\" 创建订单 \")])),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"loading\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"])]),\n _: 1 /* STABLE */\n }), _createCommentVNode(\" 确认对话框 \"), _createVNode(_component_el_dialog, {\n modelValue: $setup.dialogVisible,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.dialogVisible = $event),\n title: \"确认订单信息\",\n width: \"50%\"\n }, {\n footer: _withCtx(() => [_createElementVNode(\"span\", _hoisted_3, [_createVNode(_component_el_button, {\n onClick: _cache[5] || (_cache[5] = $event => $setup.dialogVisible = false)\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"取消\")])),\n _: 1 /* STABLE */\n }), _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: $setup.confirmCreate,\n loading: $setup.loading\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\" 确认创建 \")])),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"loading\"])])]),\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_2, [_createElementVNode(\"p\", null, [_cache[9] || (_cache[9] = _createElementVNode(\"strong\", null, \"商品名称:\", -1 /* HOISTED */)), _createTextVNode(_toDisplayString($setup.form.goodsName), 1 /* TEXT */)]), _createElementVNode(\"p\", null, [_cache[10] || (_cache[10] = _createElementVNode(\"strong\", null, \"商品数量:\", -1 /* HOISTED */)), _createTextVNode(_toDisplayString($setup.form.goodsQuantity), 1 /* TEXT */)]), _createElementVNode(\"p\", null, [_cache[11] || (_cache[11] = _createElementVNode(\"strong\", null, \"起始地:\", -1 /* HOISTED */)), _createTextVNode(_toDisplayString($setup.form.startLocation), 1 /* TEXT */)]), _createElementVNode(\"p\", null, [_cache[12] || (_cache[12] = _createElementVNode(\"strong\", null, \"目的地:\", -1 /* HOISTED */)), _createTextVNode(_toDisplayString($setup.form.endLocation), 1 /* TEXT */)]), _createElementVNode(\"p\", null, [_cache[13] || (_cache[13] = _createElementVNode(\"strong\", null, \"运费:\", -1 /* HOISTED */)), _createTextVNode(\"¥\" + _toDisplayString($setup.form.transportFee), 1 /* TEXT */)])])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]);\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","modelValue","goodsName","$event","_","_component_el_input_number","goodsQuantity","min","startLocation","endLocation","transportFee","precision","step","_component_el_button","type","onClick","handleSubmit","loading","_createTextVNode","_createCommentVNode","_component_el_dialog","dialogVisible","title","width","footer","_hoisted_3","confirmCreate","_hoisted_2","_toDisplayString"],"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=\"100px\"\r\n >\r\n <el-form-item label=\"商品名称\" prop=\"goodsName\">\r\n <el-input v-model=\"form.goodsName\" />\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\" />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"目的地\" prop=\"endLocation\">\r\n <el-input v-model=\"form.endLocation\" />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"运费\" prop=\"transportFee\">\r\n <el-input-number \r\n v-model=\"form.transportFee\" \r\n :min=\"0\"\r\n :precision=\"2\"\r\n :step=\"0.01\"\r\n />\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-form-item>\r\n </el-form>\r\n </el-card>\r\n\r\n <!-- 确认对话框 -->\r\n <el-dialog\r\n v-model=\"dialogVisible\"\r\n title=\"确认订单信息\"\r\n width=\"50%\"\r\n >\r\n <div class=\"order-info\">\r\n <p><strong>商品名称:</strong>{{ form.goodsName }}</p>\r\n <p><strong>商品数量:</strong>{{ form.goodsQuantity }}</p>\r\n <p><strong>起始地:</strong>{{ form.startLocation }}</p>\r\n <p><strong>目的地:</strong>{{ form.endLocation }}</p>\r\n <p><strong>运费:</strong>¥{{ form.transportFee }}</p>\r\n </div>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"dialogVisible = false\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"confirmCreate\" :loading=\"loading\">\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 } 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\nconst dialogVisible = ref(false)\r\n\r\nconst form = reactive({\r\n goodsName: '',\r\n goodsQuantity: 1,\r\n startLocation: '',\r\n endLocation: '',\r\n transportFee: 0\r\n})\r\n\r\nconst rules = {\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 transportFee: [\r\n { required: true, message: '请输入运费', trigger: 'blur' },\r\n { type: 'number', min: 0, message: '运费不能小于0', trigger: 'blur' }\r\n ]\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 dialogVisible.value = true\r\n } catch (error) {\r\n console.error('表单验证失败:', error)\r\n }\r\n}\r\n\r\n// 确认创建订单\r\nconst confirmCreate = async () => {\r\n loading.value = true\r\n try {\r\n const res = await createOrder(form)\r\n if (res.code === 200) {\r\n ElMessage.success('订单创建成功')\r\n dialogVisible.value = false\r\n // 创建成功后跳转到订单列表页面\r\n router.push('/orders/my')\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</script>\r\n\r\n<style scoped>\r\n.order-create {\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.order-info {\r\n padding: 20px;\r\n background-color: #f5f7fa;\r\n border-radius: 4px;\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":[]}
|