在商家页面,增加分类信息。
This commit is contained in:
parent
fdff68fe92
commit
31dd477426
@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user