优化分类属性管理,移除description字段,统一使用name字段存储属性名称和字典类型
This commit is contained in:
@@ -355,7 +355,6 @@ interface CategoryAttr {
|
||||
name: string;
|
||||
type: string;
|
||||
options?: { label: string; value: string }[];
|
||||
description?: string;
|
||||
}
|
||||
|
||||
interface RuleForm {
|
||||
@@ -411,12 +410,12 @@ const isTimeSlotLimitReached = computed(() => ruleForm.serviceAssetConfig.schedu
|
||||
|
||||
// 获取属性的key
|
||||
const getAttrKey = (attr: CategoryAttr): string => {
|
||||
return attr.name || attr.description || `attr_${categoryAttrs.value.indexOf(attr)}`;
|
||||
return attr.name || `attr_${categoryAttrs.value.indexOf(attr)}`;
|
||||
};
|
||||
|
||||
// 获取属性的显示名称
|
||||
const getAttrLabel = (attr: CategoryAttr): string => {
|
||||
return attr.description || attr.name || '属性';
|
||||
return attr.name || '属性';
|
||||
};
|
||||
|
||||
// 图片相关
|
||||
@@ -692,7 +691,7 @@ const onCategoryChange = (categoryId: string) => {
|
||||
if (data?.attrs && Array.isArray(data.attrs)) {
|
||||
categoryAttrs.value = data.attrs;
|
||||
// 初始化属性值,确保 boolean 类型默认为 false
|
||||
data.attrs.forEach((attr: CategoryAttr) => {
|
||||
categoryAttrs.value.forEach((attr: CategoryAttr) => {
|
||||
const key = getAttrKey(attr);
|
||||
if (attr.type === 'boolean') {
|
||||
ruleForm.metadata[key] = false;
|
||||
@@ -789,7 +788,7 @@ const openDialog = (row?: any, edit?: boolean) => {
|
||||
if (catData?.attrs && Array.isArray(catData.attrs)) {
|
||||
categoryAttrs.value = catData.attrs;
|
||||
// 初始化属性值,确保 boolean 类型默认为 false
|
||||
catData.attrs.forEach((attr: CategoryAttr) => {
|
||||
categoryAttrs.value.forEach((attr: CategoryAttr) => {
|
||||
const key = getAttrKey(attr);
|
||||
if (attr.type === 'boolean' && ruleForm.metadata[key] === undefined) {
|
||||
ruleForm.metadata[key] = false;
|
||||
|
||||
Reference in New Issue
Block a user