{"ast":null,"code":"import { ref, reactive } from 'vue';\nimport { ElMessage } from 'element-plus';\nimport { getLocations, createLocation } from '@/api/order';\nexport default {\n __name: 'LocationManagement',\n setup(__props, {\n expose: __expose\n }) {\n __expose();\n const loading = ref(false);\n const submitting = ref(false);\n const dialogVisible = ref(false);\n const locationList = ref([]);\n const formRef = ref(null);\n\n // 表单数据\n const form = reactive({\n province: '',\n city: '',\n address: '',\n contactPhone: ''\n });\n\n // 表单验证规则\n const rules = {\n province: [{\n required: true,\n message: '请输入省份',\n trigger: 'blur'\n }],\n city: [{\n required: true,\n message: '请输入城市',\n trigger: 'blur'\n }],\n address: [{\n required: true,\n message: '请输入详细地址',\n trigger: 'blur'\n }],\n contactPhone: [{\n required: true,\n message: '请输入联系电话',\n trigger: 'blur'\n }, {\n pattern: /^1[3-9]\\d{9}$/,\n message: '请输入正确的手机号',\n trigger: 'blur'\n }]\n };\n\n // 加载中转点列表\n const loadLocations = async () => {\n loading.value = true;\n try {\n const res = await getLocations();\n if (res.code === 200) {\n locationList.value = res.data;\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 handleAdd = () => {\n form.province = '';\n form.city = '';\n form.address = '';\n form.contactPhone = '';\n dialogVisible.value = true;\n };\n\n // 提交表单\n const submitForm = async () => {\n if (!formRef.value) return;\n try {\n await formRef.value.validate();\n submitting.value = true;\n const res = await createLocation(form);\n if (res.code === 200) {\n ElMessage.success('中转点创建成功');\n dialogVisible.value = false;\n loadLocations(); // 重新加载列表\n }\n } catch (error) {\n console.error('创建中转点失败:', error);\n ElMessage.error(error.message || '创建中转点失败');\n } finally {\n submitting.value = false;\n }\n };\n\n // 初始加载\n loadLocations();\n const __returned__ = {\n loading,\n submitting,\n dialogVisible,\n locationList,\n formRef,\n form,\n rules,\n loadLocations,\n handleAdd,\n submitForm,\n ref,\n reactive,\n get ElMessage() {\n return ElMessage;\n },\n get getLocations() {\n return getLocations;\n },\n get createLocation() {\n return createLocation;\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","ElMessage","getLocations","createLocation","loading","submitting","dialogVisible","locationList","formRef","form","province","city","address","contactPhone","rules","required","message","trigger","pattern","loadLocations","value","res","code","data","error","console","handleAdd","submitForm","validate","success"],"sources":["D:/language/VScode/Front-end logistics/src/views/admin/LocationManagement.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}