在商家页面,增加分类信息。

This commit is contained in:
aaron 2025-01-10 09:57:24 +08:00
parent fdff68fe92
commit 31dd477426

View File

@ -62,6 +62,17 @@
:label-col="{ span: 6 }" :label-col="{ span: 6 }"
:wrapper-col="{ span: 16 }" :wrapper-col="{ span: 16 }"
> >
<a-form-item label="商家分类" name="category_id" required>
<a-select
v-model:value="formState.category_id"
placeholder="请选择商家分类"
:options="categories.map(item => ({
value: item.id,
label: item.name
}))"
/>
</a-form-item>
<a-form-item label="商家名称" name="name" required> <a-form-item label="商家名称" name="name" required>
<a-input v-model:value="formState.name" placeholder="请输入商家名称" /> <a-input v-model:value="formState.name" placeholder="请输入商家名称" />
</a-form-item> </a-form-item>
@ -199,6 +210,12 @@ export default defineComponent({
width: 80, width: 80,
align: 'center', align: 'center',
}, },
{
title: '商家分类',
dataIndex: 'category_name',
key: 'category_name',
width: 120,
},
{ {
title: '商家名称', title: '商家名称',
dataIndex: 'name', dataIndex: 'name',
@ -329,6 +346,7 @@ export default defineComponent({
const formState = ref({ const formState = ref({
name: '', name: '',
category_id: undefined,
business_hours: '', business_hours: '',
address: '', address: '',
longitude: null, longitude: null,
@ -338,13 +356,30 @@ export default defineComponent({
const rules = { const rules = {
name: [{ required: true, message: '请输入商家名称' }], name: [{ required: true, message: '请输入商家名称' }],
category_id: [{ required: true, message: '请选择商家分类' }],
business_hours: [{ required: true, message: '请输入营业时间' }], business_hours: [{ required: true, message: '请输入营业时间' }],
address: [{ required: true, message: '请输入详细地址' }], address: [{ required: true, message: '请输入详细地址' }],
phone: [{ 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 () => { const showAddModal = async () => {
await fetchCategories()
addModalVisible.value = true addModalVisible.value = true
await nextTick() await nextTick()
initAddMap() initAddMap()
@ -486,6 +521,7 @@ export default defineComponent({
// //
formState.value = { formState.value = {
name: '', name: '',
category_id: undefined,
business_hours: '', business_hours: '',
address: '', address: '',
longitude: null, longitude: null,
@ -681,7 +717,8 @@ export default defineComponent({
handlePreviewCancel, handlePreviewCancel,
handleRemove, handleRemove,
handleSaveImages, handleSaveImages,
handleCancelImages handleCancelImages,
categories
} }
} }
}) })