设备物模型信息
This commit is contained in:
parent
2f10b68443
commit
3f1dc4c6e3
@ -12,6 +12,7 @@ interface Props {
|
||||
placeholder?: string;
|
||||
disabled?: boolean;
|
||||
allowClear?: boolean;
|
||||
onResolve?: (item: any | null) => void;
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
@ -92,8 +93,10 @@ const onChange = (val?: string) => {
|
||||
if (val) {
|
||||
const found = options.value.find((o) => o.value === val) || null;
|
||||
emit('item-change', found);
|
||||
props.onResolve && props.onResolve(found);
|
||||
} else {
|
||||
emit('item-change', null);
|
||||
props.onResolve && props.onResolve(null);
|
||||
}
|
||||
};
|
||||
|
||||
@ -105,6 +108,9 @@ watch(
|
||||
query.value.filter = '';
|
||||
options.value = [];
|
||||
total.value = 0;
|
||||
if (props.typeCode) {
|
||||
fetchData();
|
||||
}
|
||||
},
|
||||
{ immediate: true },
|
||||
);
|
||||
|
||||
@ -97,7 +97,10 @@ export const addThingModelFormSchema = computed(() => [
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'filedType',
|
||||
label: $t('abp.thingModelInfos.FiledType'),
|
||||
rules: z.preprocess((v) => (v == null ? '' : v), z.string().min(1, $t('common.required'))),
|
||||
rules: z.preprocess(
|
||||
(v) => (v == null ? '' : v),
|
||||
z.string().min(1, $t('common.required')),
|
||||
),
|
||||
componentProps: {
|
||||
api: getCommonGetSelectList,
|
||||
params: {
|
||||
@ -131,7 +134,10 @@ export const addThingModelFormSchema = computed(() => [
|
||||
component: 'Input',
|
||||
fieldName: 'ioTPlatformRawFieldName',
|
||||
label: $t('abp.thingModelInfos.IoTPlatformRawFieldName'),
|
||||
rules: z.preprocess((v) => (v == null ? '' : v), z.string().min(1, $t('common.required'))),
|
||||
rules: z.preprocess(
|
||||
(v) => (v == null ? '' : v),
|
||||
z.string().min(1, $t('common.required')),
|
||||
),
|
||||
componentProps: {
|
||||
placeholder:
|
||||
$t('common.pleaseInput') +
|
||||
@ -142,25 +148,38 @@ export const addThingModelFormSchema = computed(() => [
|
||||
component: 'StandardThingModelCodeSelect',
|
||||
fieldName: 'standardFieldName',
|
||||
label: $t('abp.thingModelInfos.StandardFieldName'),
|
||||
rules: z.preprocess((v) => (v == null ? '' : v), z.string().min(1, $t('common.required'))),
|
||||
rules: z.preprocess(
|
||||
(v) => (v == null ? '' : v),
|
||||
z.string().min(1, $t('common.required')),
|
||||
),
|
||||
dependencies: {
|
||||
show(values: any) {
|
||||
return !!values?.filedType;
|
||||
},
|
||||
triggerFields: ['filedType'],
|
||||
},
|
||||
componentProps: {
|
||||
// 传入联动的类型编码
|
||||
typeCode: (formValues: any) => formValues?.filedType,
|
||||
componentProps: (formValues: any) => ({
|
||||
// 传入联动的类型编码(运行时具体值)
|
||||
typeCode: formValues?.filedType ?? null,
|
||||
onResolve: (item: any | null) => {
|
||||
// 选择后自动回填:名称=displayText,值类型=extendedAttribute(转大写)
|
||||
formValues.standardFieldDisplayName = item?.displayText ?? '';
|
||||
formValues.standardFieldValueType = (item?.extendedAttribute ?? '')
|
||||
.toString()
|
||||
.toUpperCase();
|
||||
},
|
||||
placeholder:
|
||||
$t('common.pleaseSelect') + $t('abp.thingModelInfos.StandardFieldName'),
|
||||
},
|
||||
}),
|
||||
},
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'standardFieldValueType',
|
||||
label: $t('abp.thingModelInfos.StandardFieldValueType'),
|
||||
rules: z.preprocess((v) => (v == null ? '' : v), z.string().min(1, $t('common.required'))),
|
||||
rules: z.preprocess(
|
||||
(v) => (v == null ? '' : v),
|
||||
z.string().min(1, $t('common.required')),
|
||||
),
|
||||
componentProps: {
|
||||
api: getCommonGetSelectList,
|
||||
params: {
|
||||
@ -172,13 +191,21 @@ export const addThingModelFormSchema = computed(() => [
|
||||
valueField: 'secondValue',
|
||||
optionsPropName: 'options',
|
||||
immediate: true,
|
||||
allowClear: true,
|
||||
placeholder:
|
||||
$t('common.pleaseSelect') +
|
||||
$t('abp.thingModelInfos.StandardFieldValueType'),
|
||||
afterFetch: (res: any) => {
|
||||
if (Array.isArray(res)) return res;
|
||||
if (res && Array.isArray(res.items)) return res.items;
|
||||
if (res && Array.isArray(res.data)) return res.data;
|
||||
// 确保返回的是数组格式
|
||||
if (Array.isArray(res)) {
|
||||
return res;
|
||||
}
|
||||
if (res && Array.isArray(res.items)) {
|
||||
return res.items;
|
||||
}
|
||||
if (res && Array.isArray(res.data)) {
|
||||
return res.data;
|
||||
}
|
||||
return [];
|
||||
},
|
||||
},
|
||||
@ -187,7 +214,10 @@ export const addThingModelFormSchema = computed(() => [
|
||||
component: 'Input',
|
||||
fieldName: 'standardFieldDisplayName',
|
||||
label: $t('abp.thingModelInfos.StandardFieldDisplayName'),
|
||||
rules: z.preprocess((v) => (v == null ? '' : v), z.string().min(1, $t('common.required'))),
|
||||
rules: z.preprocess(
|
||||
(v) => (v == null ? '' : v),
|
||||
z.string().min(1, $t('common.required')),
|
||||
),
|
||||
componentProps: {
|
||||
placeholder:
|
||||
$t('common.pleaseInput') +
|
||||
@ -211,7 +241,10 @@ export const editThingModelFormSchema = computed(() => [
|
||||
component: 'ApiSelect',
|
||||
fieldName: 'filedType',
|
||||
label: $t('abp.thingModelInfos.FiledType'),
|
||||
rules: z.preprocess((v) => (v == null ? '' : v), z.string().min(1, $t('common.required'))),
|
||||
rules: z.preprocess(
|
||||
(v) => (v == null ? '' : v),
|
||||
z.string().min(1, $t('common.required')),
|
||||
),
|
||||
componentProps: {
|
||||
api: getCommonGetSelectList,
|
||||
params: {
|
||||
@ -243,7 +276,10 @@ export const editThingModelFormSchema = computed(() => [
|
||||
component: 'Input',
|
||||
fieldName: 'ioTPlatformRawFieldName',
|
||||
label: $t('abp.thingModelInfos.IoTPlatformRawFieldName'),
|
||||
rules: z.preprocess((v) => (v == null ? '' : v), z.string().min(1, $t('common.required'))),
|
||||
rules: z.preprocess(
|
||||
(v) => (v == null ? '' : v),
|
||||
z.string().min(1, $t('common.required')),
|
||||
),
|
||||
componentProps: {
|
||||
placeholder: $t('abp.thingModelInfos.PleaseInputIoTPlatformRawFieldName'),
|
||||
},
|
||||
@ -252,17 +288,26 @@ export const editThingModelFormSchema = computed(() => [
|
||||
component: 'StandardThingModelCodeSelect',
|
||||
fieldName: 'standardFieldName',
|
||||
label: $t('abp.thingModelInfos.StandardFieldName'),
|
||||
rules: z.preprocess((v) => (v == null ? '' : v), z.string().min(1, $t('common.required'))),
|
||||
rules: z.preprocess(
|
||||
(v) => (v == null ? '' : v),
|
||||
z.string().min(1, $t('common.required')),
|
||||
),
|
||||
dependencies: {
|
||||
show(values: any) {
|
||||
return !!values?.filedType;
|
||||
},
|
||||
triggerFields: ['filedType'],
|
||||
},
|
||||
componentProps: {
|
||||
typeCode: (formValues: any) => formValues?.filedType,
|
||||
placeholder: $t('abp.thingModelInfos.PleaseSelectStandardFieldName'),
|
||||
componentProps: (formValues: any) => ({
|
||||
typeCode: formValues?.filedType ?? null,
|
||||
onResolve: (item: any | null) => {
|
||||
formValues.standardFieldDisplayName = item?.displayText ?? '';
|
||||
formValues.standardFieldValueType = (item?.extendedAttribute ?? '')
|
||||
.toString()
|
||||
.toUpperCase();
|
||||
},
|
||||
placeholder: $t('abp.thingModelInfos.PleaseSelectStandardFieldName'),
|
||||
}),
|
||||
},
|
||||
{
|
||||
component: 'ApiSelect',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user