diff --git a/src/views/device/Instance/Detail/EdgeMap/index.vue b/src/views/device/Instance/Detail/EdgeMap/index.vue index 5c22dc13..968f2ce2 100644 --- a/src/views/device/Instance/Detail/EdgeMap/index.vue +++ b/src/views/device/Instance/Detail/EdgeMap/index.vue @@ -316,7 +316,7 @@ const handleSearch = async (_array: any[]) => { const differ = array.every((i:any)=>{ return item.metadataId !== i.metadataId }) - if(!differ){ + if(differ){ array.push(item) } }) diff --git a/src/views/device/Instance/Detail/Info/components/Config/index.vue b/src/views/device/Instance/Detail/Info/components/Config/index.vue index 141f1087..7de56f52 100644 --- a/src/views/device/Instance/Detail/Info/components/Config/index.vue +++ b/src/views/device/Instance/Detail/Info/components/Config/index.vue @@ -67,10 +67,31 @@ " >****** + + {{ + item.type.elements?.filter((i)=> + i.value === instanceStore.current?.configuration?.[ + item.property + ] + )[0].text + }} + + {{ - instanceStore.current?.configuration?.[item.property] || - '' + item.type.elements?.filter((i)=> + i.value === instanceStore.current?.configuration?.[ + item.property + ] + )[0].text }} ([]); const dataSource = ref([]); const loading = ref(false); -const handleData = (data: any[], type: string) => { +const handleData = (data: any[], type: string,provider?:string) => { data.forEach((item) => { item.key = item.id; item.title = item.name; item.checkable = type === 'collectors'; + provider ? item.provider = provider : '' if ( item.collectors && Array.isArray(item.collectors) && item.collectors.length ) { - item.children = handleData(item.collectors, 'collectors'); + item.children = handleData(item.collectors, 'collectors',item.provider); } if (item.points && Array.isArray(item.points) && item.points.length) { item.children = handleData(item.points, 'points'); @@ -134,6 +135,7 @@ const _delete = (_key: string) => { }; const handleClick = async () => { + if (!rightList.value.length) { onlyMessage('请选择采集器', 'warning'); } else { @@ -146,10 +148,11 @@ const handleClick = async () => { metadataType: 'property', metadataId: (_props.metaData as any[]).find((i: any) => i.name === element.name) ?.metadataId, - provider: _props.type + provider: item.provider })); params.push(...array); }); + const filterParms = params.filter((item) => !!item.metadataId); if (filterParms && filterParms.length !== 0) { const res = await saveMapping(_props.deviceId, _props.type, filterParms); diff --git a/src/views/device/components/Metadata/Base/Base.vue b/src/views/device/components/Metadata/Base/Base.vue index f6d98594..00355f71 100644 --- a/src/views/device/components/Metadata/Base/Base.vue +++ b/src/views/device/components/Metadata/Base/Base.vue @@ -247,6 +247,7 @@ import type { ProductItem, } from '@/views/device/Product/typings'; import type { PropType } from 'vue'; +import { TOKEN_KEY } from '@/utils/variable' import {useRouter, onBeforeRouteUpdate} from 'vue-router' import { useMetadata, useOperateLimits } from './hooks'; import {TypeStringMap, useColumns} from './columns'; @@ -259,7 +260,7 @@ import { useProductStore } from '@/store/product'; import { asyncUpdateMetadata, updateMetadata } from '../metadata'; import { useMetadataStore } from '@/store/metadata'; import { DeviceInstance } from '@/views/device/Instance/typings'; -import { onlyMessage } from '@/utils/comm'; +import { onlyMessage , LocalStore} from '@/utils/comm'; import {omit} from "lodash-es"; import { PropertiesModal, FunctionModal, EventModal, TagsModal } from './DetailModal' import { Modal } from 'jetlinks-ui-components' @@ -510,7 +511,7 @@ const handleSaveClick = async (next?: Function) => { const tabsChange = inject('tabsChange') const parentTabsChange = (next?: Function) => { - if (editStatus.value && permissionStore.hasPermission(`${props.permission}:update`)) { + if (editStatus.value && permissionStore.hasPermission(`${props.permission}:update`) && LocalStore.get(TOKEN_KEY)) { const modal = Modal.confirm({ content: '页面改动数据未保存', okText: '保存', diff --git a/src/views/device/components/Metadata/Base/columns.tsx b/src/views/device/components/Metadata/Base/columns.tsx index 36412237..fd0227f3 100644 --- a/src/views/device/components/Metadata/Base/columns.tsx +++ b/src/views/device/components/Metadata/Base/columns.tsx @@ -85,8 +85,9 @@ export const handleTypeValue = (type:string, value: any = {}) => { obj.format = value break; case 'string': + obj.maxLength = JSON.stringify(value) === '{}' ? undefined : value case 'password': - obj.maxLength = value + obj.maxLength = JSON.stringify(value) === '{}' ? undefined : value break; default: obj = value diff --git a/src/views/device/components/Metadata/Base/components/Source.vue b/src/views/device/components/Metadata/Base/components/Source.vue index fc892971..020907ec 100644 --- a/src/views/device/components/Metadata/Base/components/Source.vue +++ b/src/views/device/components/Metadata/Base/components/Source.vue @@ -236,7 +236,7 @@ const confirm = async () => { // } // } const resetRules = async() =>{ - let res:any = await resetRule(instanceStore.current?.productId,instanceStore.current?.id,props.value?.id) + let res:any = await resetRule(instanceStore.current?.productId,instanceStore.current?.id,[props.value?.id]) if(res.status === 200){ onlyMessage('操作成功!') } diff --git a/src/views/edge/Device/index.vue b/src/views/edge/Device/index.vue index e6abbfaa..0acd4d41 100644 --- a/src/views/edge/Device/index.vue +++ b/src/views/edge/Device/index.vue @@ -101,7 +101,7 @@ :key="i" > 新增 diff --git a/src/views/media/Device/Save/index.vue b/src/views/media/Device/Save/index.vue index 21d6a7f3..3ce0bd4e 100644 --- a/src/views/media/Device/Save/index.vue +++ b/src/views/media/Device/Save/index.vue @@ -426,20 +426,24 @@ const handleSubmit = () => { formRef.value ?.validate() .then(async () => { - const resq:any = await DeviceApi.validateId(id) - if(resq.status === 200 && resq?.result?.passed){ btnLoading.value = true; - const res = !route.query.id - ? await DeviceApi.save(params) - : await DeviceApi.update(params); + let res; + if(!route.query.id){ + const resp:any = await DeviceApi.validateId(id) + if(resp.status === 200 && resp?.result?.passed){ + res = await DeviceApi.save(params) + }else{ + notification.error({ key: 'error', message: '设备ID已重复'}) + } + }else{ + res = await DeviceApi.update(params); + } if (res?.success) { onlyMessage('保存成功'); history.back(); } - }else{ - notification.error({ key: 'error', message: '设备ID已重复'}) } - }) + ) .catch((err: any) => { console.log('err: ', err); }) diff --git a/src/views/system/DataSource/Management/index.vue b/src/views/system/DataSource/Management/index.vue index 999784d8..bd8f023a 100644 --- a/src/views/system/DataSource/Management/index.vue +++ b/src/views/system/DataSource/Management/index.vue @@ -9,41 +9,43 @@ style="margin-bottom: 24px" /> - - + +
@@ -507,7 +509,10 @@ const checkName = (_: any, value: any) => box-sizing: border-box; width:300px; height:100%; - overflow-y: auto; + .tree{ + max-height: 680px; + overflow-y: auto; + } } .right { width: calc(100% - 280px); diff --git a/src/views/system/NoticeRule/components/Save/components/NotifyWay.vue b/src/views/system/NoticeRule/components/Save/components/NotifyWay.vue index 930f2e67..ff093d3b 100644 --- a/src/views/system/NoticeRule/components/Save/components/NotifyWay.vue +++ b/src/views/system/NoticeRule/components/Save/components/NotifyWay.vue @@ -73,6 +73,13 @@ onMounted(() => { emit('update:value', options.value?.[0]?.value); emit('update:name', options.value?.[0]?.label); emit('change', {label: options.value?.[0]?.label, value: options.value?.[0]?.value}); + }else{ + options.value.find((item:any)=>{ + if(item.value === props.value){ + emit('update:name',item.label) + return true + } + }) } } loading.value = false;