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