diff --git a/src/views/merchant/List.vue b/src/views/merchant/List.vue index a94a1bb..654e14d 100644 --- a/src/views/merchant/List.vue +++ b/src/views/merchant/List.vue @@ -62,6 +62,17 @@ :label-col="{ span: 6 }" :wrapper-col="{ span: 16 }" > + + + + @@ -199,6 +210,12 @@ export default defineComponent({ width: 80, align: 'center', }, + { + title: '商家分类', + dataIndex: 'category_name', + key: 'category_name', + width: 120, + }, { title: '商家名称', dataIndex: 'name', @@ -329,6 +346,7 @@ export default defineComponent({ const formState = ref({ name: '', + category_id: undefined, business_hours: '', address: '', longitude: null, @@ -338,13 +356,30 @@ export default defineComponent({ const rules = { name: [{ required: true, message: '请输入商家名称' }], + category_id: [{ required: true, message: '请选择商家分类' }], business_hours: [{ required: true, message: '请输入营业时间' }], address: [{ required: true, message: '请输入详细地址' }], phone: [{ required: true, message: '请输入联系电话' }], } + // 获取商家分类 + const categories = ref([]) + + const fetchCategories = async () => { + try { + const res = await request.get('/api/merchant-categories') + if (res.code === 200 && res.data) { + categories.value = res.data.items || [] + } + } catch (error) { + console.error('获取商家分类失败:', error) + message.error('获取商家分类失败') + } + } + // 显示添加模态框 const showAddModal = async () => { + await fetchCategories() addModalVisible.value = true await nextTick() initAddMap() @@ -486,6 +521,7 @@ export default defineComponent({ // 重置表单状态 formState.value = { name: '', + category_id: undefined, business_hours: '', address: '', longitude: null, @@ -681,7 +717,8 @@ export default defineComponent({ handlePreviewCancel, handleRemove, handleSaveImages, - handleCancelImages + handleCancelImages, + categories } } })