| | |
| | | </div> |
| | | <div class="blocks"> |
| | | <div> |
| | | <div class="warning-part"> |
| | | <div class="warning-part" ref="draggableElement"> |
| | | <div class="warn-tit">异常警报:</div> |
| | | <div class="warn-msg" v-if="excepOrder && excepOrder.length>0"> |
| | | <div class="warn-item" v-for="(item,index) in excepOrder" :key="index"> |
| | |
| | | data: Array<any>; |
| | | excepOrder: Array<any>; |
| | | id: string; |
| | | defaultImg: string |
| | | defaultImg: string; |
| | | isDragging:boolean |
| | | initialX:number|null |
| | | initialY:number|null |
| | | xOffset:number|null |
| | | yOffset:number|null |
| | | } |
| | | export default { |
| | | name: 'intelligentLine', |
| | |
| | | data: [], |
| | | excepOrder: [], |
| | | id: '', |
| | | defaultImg: new URL('../../../assets/default-img.jpg',import.meta.url).href |
| | | defaultImg: new URL('../../../assets/default-img.jpg',import.meta.url).href, |
| | | isDragging: false, |
| | | initialX: 0, |
| | | initialY: 0, |
| | | xOffset: 0, |
| | | yOffset: 0 |
| | | }); |
| | | |
| | | onMounted(() => { |
| | |
| | | state.id = curId.toString() |
| | | getLine(state.id) |
| | | getUrl(state.id) |
| | | draggableElement.value.addEventListener('mousedown', handleMouseDown); |
| | | draggableElement.value.addEventListener('mousemove', handleMouseMove); |
| | | draggableElement.value.addEventListener('mouseup', handleMouseUp); |
| | | }); |
| | | onActivated(()=>{ |
| | | onScreenfullClick(); |
| | | }) |
| | | |
| | | const draggableElement = ref(null); |
| | | const dataList = computed(() => { |
| | | return userInfos.value.dataList; |
| | | }); |
| | |
| | | window.history.go(-1); |
| | | }; |
| | | |
| | | const handleMouseDown = (e) => { |
| | | state.initialX = e.clientX - state.xOffset; |
| | | state.initialY = e.clientY - state.yOffset; |
| | | state.isDragging = true; |
| | | }; |
| | | |
| | | const handleMouseMove = (e) => { |
| | | if (state.isDragging) { |
| | | state.xOffset = e.clientX - state.initialX; |
| | | state.yOffset = e.clientY - state.initialY; |
| | | |
| | | draggableElement.value.style.transform = `translate3d(${state.xOffset}px, ${state.yOffset}px, 0)`; |
| | | } |
| | | }; |
| | | |
| | | const handleMouseUp = () => { |
| | | state.isDragging = false; |
| | | }; |
| | | |
| | | // 页面关闭处理 |
| | | onUnmounted(() => { |
| | | // 销毁监听 |
| | |
| | | console.log('socket已经关闭'); |
| | | }; |
| | | }) |
| | | draggableElement.value.removeEventListener('mousedown', handleMouseDown); |
| | | draggableElement.value.removeEventListener('mousemove', handleMouseMove); |
| | | draggableElement.value.removeEventListener('mouseup', handleMouseUp); |
| | | }); |
| | | return { |
| | | dataList, |
| | | draggableElement, |
| | | goBack, |
| | | onScreenfullClick, |
| | | ...toRefs(state) |
| | |
| | | right: 60px; |
| | | padding: 10px; |
| | | color: rgb(0, 255, 255); |
| | | backdrop-filter: blur(5px); |
| | | |
| | | .warn-tit{ |
| | | height: 26px; |