完善数据字典

This commit is contained in:
ChenYi 2025-10-23 14:31:32 +08:00
parent 5fe1af6a75
commit 2874160e45
4 changed files with 50 additions and 11 deletions

View File

@ -8890,6 +8890,11 @@ export const UpdateDetailInputSchema = {
order: { order: {
type: 'integer', type: 'integer',
format: 'int32' format: 'int32'
},
extendedAttribute: {
type: 'string',
description: '扩展属性',
nullable: true
} }
}, },
additionalProperties: false additionalProperties: false

View File

@ -4574,6 +4574,10 @@ export type UpdateDetailInput = {
displayText?: (string) | null; displayText?: (string) | null;
description?: (string) | null; description?: (string) | null;
order?: number; order?: number;
/**
*
*/
extendedAttribute?: (string) | null;
}; };
export type UpdateFeatureDto = { export type UpdateFeatureDto = {

View File

@ -354,7 +354,7 @@ export const editThingModelFormSchema = computed(() => [
return items.map((item: any) => ({ return items.map((item: any) => ({
...item, ...item,
// 使用secondValue的小写版本作为value保持label为原始value // 使用secondValue的小写版本作为value保持label为原始value
value: item.secondValue?.toLowerCase() || item.value?.toLowerCase(), value: item.secondValue || item.value?.toLowerCase(),
label: item.value, // 显示文本 label: item.value, // 显示文本
})); }));
}, },

View File

@ -5,6 +5,7 @@ import { useVbenModal } from '@vben/common-ui';
import { useVbenForm } from '#/adapter/form'; import { useVbenForm } from '#/adapter/form';
import { import {
getCommonGetSelectList,
postDataDictionaryCreateDetail, postDataDictionaryCreateDetail,
postDataDictionaryUpdateDetail, postDataDictionaryUpdateDetail,
} from '#/api-client/index'; } from '#/api-client/index';
@ -69,9 +70,38 @@ const [Form, formApi] = useVbenForm({
rules: 'required', rules: 'required',
}, },
{ {
component: 'Input', component: 'ApiSelect',
componentProps: { componentProps: {
placeholder: $t('common.pleaseInput'), api: getCommonGetSelectList,
params: {
query: {
typeName: 'StandardThingModelDataTypeEnum',
},
},
labelField: 'value',
valueField: 'secondValue',
optionsPropName: 'options',
immediate: true,
allowClear: true,
placeholder:
$t('common.pleaseSelect') +
$t('abp.dataDictionary.extendedAttribute'),
afterFetch: (res: any) => {
//
if (Array.isArray(res)) {
return res;
}
// items
if (res && Array.isArray(res.items)) {
return res.items;
}
// data
if (res && Array.isArray(res.data)) {
return res.data;
}
//
return [];
},
}, },
fieldName: 'extendedAttribute', fieldName: 'extendedAttribute',
label: $t('abp.dataDictionary.extendedAttribute'), label: $t('abp.dataDictionary.extendedAttribute'),
@ -110,15 +140,15 @@ const [Modal, modalApi] = useVbenModal({
const values = await formApi.getValues(); const values = await formApi.getValues();
await (data.value.isEdit await (data.value.isEdit
? postDataDictionaryUpdateDetail({ ? postDataDictionaryUpdateDetail({
body: { body: {
...values, ...values,
id: data.value.row.id, id: data.value.row.id,
dataDictionaryId: data.value.id, dataDictionaryId: data.value.id,
}, },
}) })
: postDataDictionaryCreateDetail({ : postDataDictionaryCreateDetail({
body: { ...values, id: data.value.id }, body: { ...values, id: data.value.id },
})); }));
emit('reload'); emit('reload');
modalApi.close(); modalApi.close();
} finally { } finally {