4
4
ref =" formRef"
5
5
:model =" formData"
6
6
:rules =" formRules"
7
- label-width =" 80px "
7
+ label-width =" 120px "
8
8
v-loading =" formLoading"
9
9
>
10
10
<el-form-item label =" 上级分类" prop =" parentId" >
11
- <el-tree- select
12
- v-model = " formData.parentId "
13
- :data = " categoryTree "
14
- :props = " { label: 'name', value: 'id' } "
15
- :render-after-expand = " false "
16
- placeholder = " 请选择上级分类 "
17
- check-strictly
18
- default-expand-all
19
- / >
11
+ <el-select v-model = " formData.parentId " placeholder = " 请选择上级分类 " >
12
+ < el-option :key = " 0 " label = " 顶级分类 " :value = " 0 " />
13
+ < el-option
14
+ v-for = " item in categoryList "
15
+ :key = " item.id "
16
+ :label = " item.name "
17
+ :value = " item.id "
18
+ />
19
+ </ el-select >
20
20
</el-form-item >
21
21
<el-form-item label =" 分类名称" prop =" name" >
22
22
<el-input v-model =" formData.name" placeholder =" 请输入分类名称" />
23
23
</el-form-item >
24
- <el-form-item label =" 分类图片 " prop =" picUrl" >
24
+ <el-form-item label =" 移动端分类图 " prop =" picUrl" >
25
25
<UploadImg v-model =" formData.picUrl" :limit =" 1" :is-show-tip =" false" />
26
- <div v-if =" formData.parentId === 0" style =" font-size : 10px " >推荐 200x100 图片分辨率</div >
27
- <div v-else style =" font-size : 10px " >推荐 100x100 图片分辨率</div >
26
+ <div style =" font-size : 10px " class =" pl-10px" >推荐 180x180 图片分辨率</div >
27
+ </el-form-item >
28
+ <el-form-item label =" PC 端分类图" prop =" bigPicUrl" >
29
+ <UploadImg v-model =" formData.bigPicUrl" :limit =" 1" :is-show-tip =" false" />
30
+ <div style =" font-size : 10px " class =" pl-10px" >推荐 468x340 图片分辨率</div >
28
31
</el-form-item >
29
32
<el-form-item label =" 分类排序" prop =" sort" >
30
33
<el-input-number v-model =" formData.sort" controls-position =" right" :min =" 0" />
40
43
</el-radio >
41
44
</el-radio-group >
42
45
</el-form-item >
43
- <el-form-item label =" 分类描述" >
44
- <el-input v-model =" formData.description" type =" textarea" placeholder =" 请输入分类描述" />
45
- </el-form-item >
46
46
</el-form >
47
47
<template #footer >
48
48
<el-button @click =" submitForm" type =" primary" :disabled =" formLoading" >确 定</el-button >
53
53
<script setup lang="ts" name="ProductCategory">
54
54
import { DICT_TYPE , getIntDictOptions } from ' @/utils/dict'
55
55
import { CommonStatusEnum } from ' @/utils/constants'
56
- import { handleTree } from ' @/utils/tree'
57
56
import * as ProductCategoryApi from ' @/api/mall/product/category'
58
57
const { t } = useI18n () // 国际化
59
58
const message = useMessage () // 消息弹窗
@@ -66,8 +65,8 @@ const formData = ref({
66
65
id: undefined ,
67
66
name: ' ' ,
68
67
picUrl: ' ' ,
69
- status: CommonStatusEnum . ENABLE ,
70
- description: ' '
68
+ bigPicUrl: ' ' ,
69
+ status: CommonStatusEnum . ENABLE
71
70
})
72
71
const formRules = reactive ({
73
72
parentId: [{ required: true , message: ' 请选择上级分类' , trigger: ' blur' }],
@@ -77,7 +76,7 @@ const formRules = reactive({
77
76
status: [{ required: true , message: ' 开启状态不能为空' , trigger: ' blur' }]
78
77
})
79
78
const formRef = ref () // 表单 Ref
80
- const categoryTree = ref <any []>([]) // 分类树
79
+ const categoryList = ref <any []>([]) // 分类树
81
80
82
81
/** 打开弹窗 */
83
82
const open = async (type : string , id ? : number ) => {
@@ -95,7 +94,7 @@ const open = async (type: string, id?: number) => {
95
94
}
96
95
}
97
96
// 获得分类树
98
- await getTree ( )
97
+ categoryList . value = await ProductCategoryApi . getCategoryList ({ parentId: 0 } )
99
98
}
100
99
defineExpose ({ open }) // 提供 open 方法,用于打开弹窗
101
100
@@ -131,17 +130,9 @@ const resetForm = () => {
131
130
id: undefined ,
132
131
name: ' ' ,
133
132
picUrl: ' ' ,
134
- status: CommonStatusEnum . ENABLE ,
135
- description: ' '
133
+ bigPicUrl: ' ' ,
134
+ status: CommonStatusEnum . ENABLE
136
135
}
137
136
formRef .value ?.resetFields ()
138
137
}
139
-
140
- /** 获得分类树 */
141
- const getTree = async () => {
142
- const data = await ProductCategoryApi .getCategoryList ({})
143
- const tree = handleTree (data , ' id' , ' parentId' )
144
- const menu = { id: 0 , name: ' 顶级分类' , children: tree }
145
- categoryTree .value = [menu ]
146
- }
147
138
</script >
0 commit comments