枚举项配置
diff --git a/src/views/device/Product/Detail/index.vue b/src/views/device/Product/Detail/index.vue
index 13fba2a0..56fcdd74 100644
--- a/src/views/device/Product/Detail/index.vue
+++ b/src/views/device/Product/Detail/index.vue
@@ -87,6 +87,7 @@
diff --git a/src/views/device/components/Metadata/Base/Edit/BaseForm.vue b/src/views/device/components/Metadata/Base/Edit/BaseForm.vue
index 1d513e24..eb7038ec 100644
--- a/src/views/device/components/Metadata/Base/Edit/BaseForm.vue
+++ b/src/views/device/components/Metadata/Base/Edit/BaseForm.vue
@@ -31,7 +31,7 @@
diff --git a/src/views/device/components/Metadata/Base/Edit/ValueTypeForm.vue b/src/views/device/components/Metadata/Base/Edit/ValueTypeForm.vue
index 05ed7e8f..3c7ae5a5 100644
--- a/src/views/device/components/Metadata/Base/Edit/ValueTypeForm.vue
+++ b/src/views/device/components/Metadata/Base/Edit/ValueTypeForm.vue
@@ -2,7 +2,7 @@
-
@@ -124,7 +124,7 @@ onMounted(() => {
}
})
-const unit = {
+const unit = reactive({
unitOptions: [] as DefaultOptionType[],
getUnit: () => {
getUnit().then(resp => {
@@ -137,7 +137,7 @@ const unit = {
unit.unitOptions = _data;
})
},
-}
+})
unit.getUnit()
const _dataTypeList = computed(() => props.isSub ? DataTypeList.filter(item => item.value !== 'array' && item.value !== 'object') : DataTypeList)
diff --git a/src/views/device/components/Metadata/Base/Edit/index.vue b/src/views/device/components/Metadata/Base/Edit/index.vue
index ff5e08ef..36723e81 100644
--- a/src/views/device/components/Metadata/Base/Edit/index.vue
+++ b/src/views/device/components/Metadata/Base/Edit/index.vue
@@ -2,7 +2,7 @@
- 保存
+ save.saveMetadata()">保存
@@ -98,7 +98,7 @@ const save = reactive({
}
const _data = updateMetadata(type, [formValue], _detail, updateStore)
const result = await asyncUpdateMetadata(props.type, _data)
- if (result.status === 200) {
+ if (result.success) {
if ((window as any).onTabSaveSuccess) {
if (result) {
(window as any).onTabSaveSuccess(result);
@@ -113,7 +113,16 @@ const save = reactive({
}
// Store.set(SystemConst.REFRESH_METADATA_TABLE, true);
if (deploy) {
- _deploy(id as string)
+ const res = await _deploy(id as string)
+ if (res.success) {
+ save.resetMetadata();
+ message.success({
+ key: 'metadata',
+ content: '操作成功!',
+ });
+ } else {
+ message.error('操作失败!');
+ }
// Store.set('product-deploy', deploy);
} else {
save.resetMetadata();
diff --git a/src/views/device/components/Metadata/Base/Edit/validator.ts b/src/views/device/components/Metadata/Base/Edit/validator.ts
index d0ab32fb..557c4cae 100644
--- a/src/views/device/components/Metadata/Base/Edit/validator.ts
+++ b/src/views/device/components/Metadata/Base/Edit/validator.ts
@@ -17,8 +17,8 @@ export const validateArray = async (_rule: Rule, val: Record) => {
return Promise.resolve();
}
-export const validateJson = async (_rule: Rule, val: Record[], title = '配置参数') => {
- if (!val || val.length === 0) {
+export const validateJson = async (_rule: Rule, val: Record[], title = '配置参数', required = true) => {
+ if (required && (!val || val.length === 0)) {
return Promise.reject(new Error(`请输入${title}`));
}
for (let item of val) {
diff --git a/src/views/device/components/Metadata/Base/index.vue b/src/views/device/components/Metadata/Base/index.vue
index cca9dfe4..295ef617 100644
--- a/src/views/device/components/Metadata/Base/index.vue
+++ b/src/views/device/components/Metadata/Base/index.vue
@@ -39,7 +39,7 @@
@@ -68,7 +68,6 @@ import { useMetadataStore } from '@/store/metadata'
import PermissionButton from '@/components/PermissionButton/index.vue'
import { TablePaginationConfig, message } from 'ant-design-vue/es'
import { asyncUpdateMetadata, removeMetadata } from '../metadata'
-import { detail } from '@/api/device/instance'
import Edit from './Edit/index.vue'
interface Props {
type: MetadataType;
@@ -153,6 +152,9 @@ const handleAddClick = () => {
metadataStore.set('item', undefined)
metadataStore.set('type', type)
metadataStore.set('action', 'add')
+ if (props.target === 'device' && !instanceStore.detail?.independentMetadata) {
+ message.warning('修改物模型后会脱离产品物模型')
+ }
}
const limitsMap = new Map();
@@ -172,7 +174,7 @@ const handleEditClick = (record: MetadataItem) => {
metadataStore.model.item = record;
metadataStore.model.type = type;
metadataStore.model.action = 'edit';
- if (!instanceStore.detail?.independentMetadata && props.target === 'device') {
+ if (props.target === 'device' && !instanceStore.detail?.independentMetadata) {
message.warning('修改物模型后会脱离产品物模型');
}
}
diff --git a/src/views/device/components/Metadata/index.vue b/src/views/device/components/Metadata/index.vue
index 651af85a..22741683 100644
--- a/src/views/device/components/Metadata/index.vue
+++ b/src/views/device/components/Metadata/index.vue
@@ -2,7 +2,7 @@