diff --git a/public/images/scene/notify-item-img/weixin.png b/public/images/scene/notify-item-img/weixin.png index 6d8314fb..92a164f3 100644 Binary files a/public/images/scene/notify-item-img/weixin.png and b/public/images/scene/notify-item-img/weixin.png differ diff --git a/src/api/device/instance.ts b/src/api/device/instance.ts index 3ae743d0..66b06a19 100644 --- a/src/api/device/instance.ts +++ b/src/api/device/instance.ts @@ -31,7 +31,7 @@ export const saveMetadata = (id: string, data: DeviceMetadata) => server.put(`/d * @param id 设备ID * @returns 设备详情 */ -export const detail = (id: string) => server.get(`/device-instance/${id}/detail`) +export const detail = (id: string, _hideError?: any) => server.get(`/device-instance/${id}/detail`, {}, {} , _hideError) /** * 查询数据 @@ -666,20 +666,20 @@ export const queryProductThreshold = (productId: string, propertyId: string,hidd /** * 阈值限制-删除产品物模型的阈值 - * @param productId - * @param propertyId - * @returns + * @param productId + * @param propertyId + * @returns */ export const deleteProductThreshold = (productId:string,propertyId:string,data:any) => server.remove(`/message/preprocessor/product/${productId}/property/${propertyId}`,data) /** * 阈值限制-删除产品物模型的阈值 - * @param productId - * @param propertyId - * @returns + * @param productId + * @param propertyId + * @returns */ export const deleteDeviceThreshold = (productId:string,deviceId:string,propertyId:string,data:any) => server.remove(`/message/preprocessor/device/${productId}/${deviceId}/property/${propertyId}`,data) export const getTemplate = (id: string, format: string) => `${BASE_API_PATH}/device/instance/${id}/property-metadata/template.${format}` -export const uploadAnalyzeMetadata = (data: any) => server.post('/device/instance/property-metadata/file/analyze', data) +export const uploadAnalyzeMetadata = (productId:string,data: any) => server.post(`/device/instance/${productId}/property-metadata/file/analyze`, data) diff --git a/src/api/rule-engine/log.ts b/src/api/rule-engine/log.ts index 27288831..34c30433 100644 --- a/src/api/rule-engine/log.ts +++ b/src/api/rule-engine/log.ts @@ -37,6 +37,12 @@ export const queryByDevice = (data:any) => server.post(`/alarm/record/device/_qu */ export const handleLog = (data:any) => server.post('/alarm/record/_handle',data); +/** + * + * 预处理告警处理 + */ +export const handlePreconditioning = (data:any) => server.post(`/alarm/record/device/_handle`,data) + /** * 告警记录 */ @@ -58,11 +64,21 @@ export const queryHistoryList = (data:any) => server.post('/alarm/history/_query */ export const queryHandleHistory = (data:any) => server.post('/alarm/record/handle-history/_query',data); +/** + * 获取预处理数据告警处理结果 + */ +export const queryPreHandleHistory = (recordId:any,data:any) => server.post(`/alarm/record/handle-history/device/${recordId}/_query`,data) + /** * 获取告警日志(新) */ export const queryLogList = (alarmConfigId:any,data:any) => server.post(`/alarm/history/${alarmConfigId}/_query`,data) +/** + * 获取预处理数据告警日志 + */ +export const queryPreconditioningLogList = (alarmConfigId:any,data:any) => server.post(`/alarm/history/device/${alarmConfigId}/_query`,data) + /** * 查询无效数据 */ diff --git a/src/components/FRuleEditor/Debug/index.vue b/src/components/FRuleEditor/Debug/index.vue index d21df3f9..231c6fc1 100644 --- a/src/components/FRuleEditor/Debug/index.vue +++ b/src/components/FRuleEditor/Debug/index.vue @@ -46,7 +46,7 @@ showSearch :options="options" v-model:value="record.id" - :getPopupContainer="(node) => tableWrapperRef || node" + :getPopupContainer="getPopupContainer" size="small" style="width: 100%;" :virtual="true" @@ -105,7 +105,7 @@ size="small" style="width: 100%;" :virtual="true" - :getPopupContainer="(node) => tableWrapperRef || node" + :getPopupContainer="getPopupContainer" :dropdownStyle="{ zIndex: 1072 }" @@ -202,6 +202,7 @@ import { getWebSocket } from '@/utils/websocket'; import {useTableWrapper} from "@/components/Metadata/Table/context"; import { onlyMessage } from '@/utils/comm'; import {message} from "ant-design-vue"; +import { useTableFullScreen} from "@/components/Metadata/Table/context"; const props = defineProps({ virtualRule: Object as PropType>, @@ -222,7 +223,7 @@ type propertyType = { const property = ref([]); const tag = ref>([]); const tableWrapperRef = useTableWrapper() - +const fullScreen = useTableFullScreen() const columns = [ { title: '属性名称', @@ -287,6 +288,14 @@ const ruleEditorStore = useRuleEditorStore(); const time = ref(0); const timer = ref(null); +//是否全屏监听 +const getPopupContainer = (node: any) => { + if (fullScreen.value) { + return tableWrapperRef.value || node + } + + return document.body +} const runScript = () => { const propertiesList = medataSource?.value || [] const _properties = property.value.map((item: any) => { diff --git a/src/components/Metadata/Table/TableFormItem.vue b/src/components/Metadata/Table/TableFormItem.vue index 83f5e27f..df86cb08 100644 --- a/src/components/Metadata/Table/TableFormItem.vue +++ b/src/components/Metadata/Table/TableFormItem.vue @@ -105,7 +105,10 @@ const validateRules = () => { } const promise = context.validateItem({ [filedName.value]: get(context.dataSource.value, props.name) }, index) - promise.catch(res => { + promise.then(() => { + hideErrorTip() + context.removeFieldError(eventKey.value) + }).catch(res => { const error = res?.filter(item => item.field === filedName.value) || [] if (error.length === 0) { hideErrorTip() diff --git a/src/components/Metadata/Table/components/Enum/Item.vue b/src/components/Metadata/Table/components/Enum/Item.vue index 0a421e53..e70d7ae6 100644 --- a/src/components/Metadata/Table/components/Enum/Item.vue +++ b/src/components/Metadata/Table/components/Enum/Item.vue @@ -1,8 +1,8 @@ -