diff --git a/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/airCurtain.png b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/airCurtain.png new file mode 100644 index 0000000..a4424ae Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/airCurtain.png differ diff --git a/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/fan.png b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/fan.png new file mode 100644 index 0000000..1630fe3 Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/fan.png differ diff --git a/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/highSpeed.png b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/highSpeed.png new file mode 100644 index 0000000..108b347 Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/highSpeed.png differ diff --git a/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/hotAir.png b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/hotAir.png new file mode 100644 index 0000000..353e987 Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/hotAir.png differ diff --git a/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/lowSpeed.png b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/lowSpeed.png new file mode 100644 index 0000000..fd0f338 Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/lowSpeed.png differ diff --git a/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/mediumSpeed.png b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/mediumSpeed.png new file mode 100644 index 0000000..a593d0f Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/mediumSpeed.png differ diff --git a/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/state-open.png b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/state-open.png new file mode 100644 index 0000000..d26ee3e Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/state-open.png differ diff --git a/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/state-success.png b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/state-success.png new file mode 100644 index 0000000..f6e8d81 Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/state-success.png differ diff --git a/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/windowIcon.png b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/windowIcon.png new file mode 100644 index 0000000..f292bc6 Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/image/ventilationSystem/windowIcon.png differ diff --git a/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/boxModel.vue b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/boxModel.vue new file mode 100644 index 0000000..f71790a --- /dev/null +++ b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/boxModel.vue @@ -0,0 +1,131 @@ + + + diff --git a/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/dialogStyle.less b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/dialogStyle.less new file mode 100644 index 0000000..26c41ae --- /dev/null +++ b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/dialogStyle.less @@ -0,0 +1,168 @@ +.out-dialog { + position: fixed; + right: 496px; + width: 500px; + height: 100%; + z-index: 0; + top: 0; + bottom: 0; + margin: auto; + box-sizing: border-box; + color: rgb(255, 83, 0); + background: black; + display: flex; + padding: 25px; + flex-direction: column; + transition: all ease 0.5s; + .content { + overflow-y: scroll; + .div-operation { + display: inline-block; + width: 3px; + height: 13px; + opacity: 1; + border-radius: 1px; + background: rgba(67, 136, 251, 1); + } + .text-operation { + display: inline-block; + color: rgba(255, 255, 255, 1); + font-size: 16px; + font-weight: 700; + margin-left: 5px; + } + .j-box { + background-color: #000; + opacity: 1; + z-index: 99999; + overflow-y: scroll; + .journal { + padding: 1% 3%; + width: 100%; + height: 150px; + background-color: rgba(0, 0, 0); + border-radius: 12px; + border: 2px solid transparent; + border-image: linear-gradient(to bottom, #0077ff, #00f6ff, #000000) 1; + .title-img { + padding-top: 6px; + } + } + .imgText { + display: flex; + align-items: center; + justify-content: space-between; + + .ztzm { + display: flex; + align-items: center; + } + + .cxbtn { + color: rgba(255, 255, 255, 1); + border: none; + border-radius: 6px; + width: 59.79px; + height: 32px; + opacity: 1; + background: linear-gradient( + 180deg, + rgba(255, 187, 0, 1) 0%, + rgba(255, 112, 3, 1) 91.21%, + rgba(255, 129, 3, 1) 100% + ); + cursor: pointer; + } + } + .btn-box { + display: grid; + grid-template-columns: 1fr 1fr; + grid-template-rows: 1fr 1fr; + grid-row-gap: 15px; + .btn-item { + text-align: center; + display: flex; + align-content: space-between; + .left { + width: 70px; + height: 35px; + line-height: 35px; + border-radius: 4px; + background: linear-gradient( + 180deg, + rgba(1, 206, 255, 1) 0%, + rgba(0, 150, 229, 1) 100% + ); + color: rgba(255, 255, 255, 1); + font-size: 14px; + font-weight: 400; + } + .right { + width: 140px; + height: 35px; + line-height: 35px; + :first-child { + color: white; + } + span { + vertical-align: middle; + } + img { + padding: 0 5px; + } + } + } + } + } + } + + .button-box { + width: 100%; + box-sizing: border-box; + padding: 10px; + height: 60px; + position: absolute; + background-color: transparent; + bottom: 0; + left: 0; + right: 0; + .execute { + margin-right: 10px; + width: 74px; + height: 40px; + opacity: 1; + cursor: pointer; + border-radius: 4px; + font-size: 14px; + font-weight: 400; + border: 0; + margin-left: 10px; + }.cancel { + margin-right: 10px; + width: 74px; + height: 40px; + opacity: 1; + cursor: pointer; + border-radius: 4px; + font-size: 14px; + font-weight: 400; + border: 0; + margin-left: 10px; + } + .execute { + background: rgb(67, 136, 251); + color: white; + } + .cancel { + background: white; + color: black; + } + } +} + +.fade-enter-active, .fade-leave-active { + transform: translateX(0px); +} +.fade-enter-from, .fade-leave-to { + transform: translateX(496px); +} \ No newline at end of file diff --git a/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/fanControl.vue b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/fanControl.vue new file mode 100644 index 0000000..dad0fa7 --- /dev/null +++ b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/fanControl.vue @@ -0,0 +1,201 @@ + + + diff --git a/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/fanPlant.vue b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/fanPlant.vue new file mode 100644 index 0000000..05bb3c6 --- /dev/null +++ b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/fanPlant.vue @@ -0,0 +1,248 @@ + + + + diff --git a/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/tabs1.less b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/tabs1.less new file mode 100644 index 0000000..e0f02c9 --- /dev/null +++ b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/tabs1.less @@ -0,0 +1,423 @@ +// 抽屉 +.drawer-fan { + .light-area, + .circuit-area, + .control-area, + .control-scene-area, + .light-parameters-area { + width: 100%; + margin-top: 20px; + display: flex; + align-items: center; + } + + .light-area-tab, + .circuit-tab, + .control-tab, + .control-scene-tab, + .light-parameters-tab { + width: 5px; + height: 23px; + opacity: 1; + background: rgba(26, 174, 251, 1); + margin-right: 4px; + } + + .light-area-text, + .circuit-text, + .control-text, + .control-scene-text, + .light-parameters-text { + font-size: 14px; + color: white; + padding-left: 5px; + line-height: 23px; + width: 110px; + height: 23px; + background: linear-gradient(270deg, rgba(86, 221, 253, 0) 0%, rgba(25, 176, 255, 1) 100%); + user-select: none; + } + + .light-area-tab, + .light-area-text { + display: inline-block; + justify-content: center; + } + .plan { + border: none; + font-size: 14px; + font-weight: 400; + border-radius: 5px; + vertical-align: top; + margin-left: 235px; + width: 88px; + height: 32px; + color: white; + cursor: pointer; + } + .plan.enabled { + background: linear-gradient(180deg, rgba(103, 222, 0, 1) 0%, rgba(0, 181, 6, 1) 100%); + } + .plan.disabled { + background-color: red; + } + .plan:disabled { + cursor: not-allowed; + } + .openPlan { + cursor: pointer; + border: none; + font-size: 14px; + font-weight: 400; + border-radius: 5px; + color: white; + vertical-align: top; + width: 88px; + height: 32px; + } + .openPlan.enabled2 { + background: linear-gradient(180deg, rgba(103, 222, 0, 1) 0%, rgba(0, 181, 6, 1) 100%); + } + + .openPlan.disabled2 { + background-color: red; + } + + .openPlan:disabled { + cursor: not-allowed; + } + + .btn2 { + display: flex; + align-items: center; + margin-left: 80px; + } + + .openzm { + cursor: pointer; + color: rgba(34, 183, 255, 1); + margin-left: 20px; + font-size: 14px; + } + + .custom-checkbox { + width: 13px; + height: 13px; + } + + .both { + width: 59.79px; + height: 32px; + opacity: 1; + background: linear-gradient(180deg, + rgba(255, 187, 0, 1) 0%, + rgba(255, 112, 3, 1) 91.21%, + rgba(255, 129, 3, 1) 100%); + margin-left: 8px; + font-size: 12px; + color: white; + border: none; + border-radius: 5px; + cursor: pointer; + } + + .btn2 { + button { + margin: 0 5px; + } + } + + .allBtn { + border: 0; + width: 40px; + color: white; + background-color: transparent; + } + + .blue-background.ant-switch-checked { + background-color: linear-gradient(180deg, + rgba(1, 206, 255, 1) 0%, + rgba(0, 150, 229, 1) 100%) !important; + } + + .grey-background.ant-switch { + background-color: grey !important; + } + + .blue-background.ant-switch-checked .ant-switch-handle { + background-color: linear-gradient(180deg, + rgba(1, 206, 255, 1) 0%, + rgba(0, 150, 229, 1) 100%) !important; + } + + .grey-background.ant-switch .ant-switch-handle { + background-color: grey !important; + } + + p { + color: white; + } + + .area, + .btnArea, + .control-mode-btn-area, + .control-scene-btn-area { + margin-left: -17px; + + button { + width: 21%; + padding: 0 2%; + } + } + + .btn { + width: 92px; + height: 40px; + border-radius: 4px; + opacity: 1; + margin-top: 10px; + margin-left: 17px; + font-size: 14px; + font-weight: 400; + opacity: 1; + border: 1px solid rgba(207, 212, 219, 1); + line-height: 20.27px; + color: white; + text-align: center; + vertical-align: top; + background-color: rgba(255, 255, 255, 0.1); + } + + .selected { + background: linear-gradient(180deg, rgba(201, 245, 255, 1) 0%, rgba(138, 215, 255, 1) 100%); + color: rgba(0, 61, 90, 1); + border: 1px solid white; + } + + .btn:hover { + background-color: rgba(207, 212, 219, 1); + } + + .btn:active { + background-color: rgba(102, 102, 102, 1); + color: white; + } + + .circuit-area, + .control-scene-area, + .light-parameters-area { + left: 51px; + width: 100%; + margin-top: 20px; + } + + .circuit-tab, + .circuit-text { + display: inline-block; + } + + .batch { + width: 60px; + height: 32px; + opacity: 1; + border: 1px solid rgba(67, 136, 251, 1); + color: rgba(67, 136, 251, 1); + border-radius: 5px; + background-color: white; + margin-left: 11px; + } + + .control-area { + left: 51px; + width: 100%; + margin-top: 20px; + } + + .control-tab, + .control-text { + display: inline-block; + } + + :deep(.cell) { + text-align: center; + } + + :deep(#pane-first) { + height: 100%; + } + + .control-scene-tab, + .control-scene-text { + display: inline-block; + } + + .light-parameters-tab, + .light-parameters-text { + display: inline-block; + } + + .light-parameters-textarea>p { + height: 100%; + display: flex; + border: 1px solid rgba(236, 239, 245, 1); + justify-content: center; + align-items: center; + } + + .bottom { + width: 100%; + height: 64px; + display: flex; + justify-content: flex-end; + align-items: center; + position: fixed; + bottom: 0; + right: 0; + } + + .execute { + margin-right: 20px; + width: 74px; + height: 40px; + opacity: 1; + cursor: pointer; + border-radius: 4px; + background: rgba(67, 136, 251, 1); + font-size: 14px; + font-weight: 400; + color: white; + border: 0; + margin: 0 10px; + } + + .flushed { + width: 74px; + height: 40px; + cursor: pointer; + opacity: 1; + border-radius: 4px; + font-size: 14px; + font-weight: 400; + color: rgba(102, 102, 102, 1); + background: white; + border: 1px solid rgba(193, 197, 204, 1); + margin: 0 10px; + } + + :deep(.ant-table-pagination) { + visibility: hidden; + } + + .drawer-content { + margin-left: 20px; + } + + .arrow-indicator { + position: absolute; + top: 50%; + left: 0; + transform: translateY(-50%); + z-index: 1; + } + + .drawer-title1 { + position: fixed; + width: 33px; + height: 33px; + top: 0; + bottom: 0; + right: 20px; + margin: auto; + z-index: 99999; + } + + .drawer-title2 { + position: fixed; + width: 33px; + height: 33px; + top: 0; + bottom: 0; + right: 495px; + margin: auto; + z-index: 99999; + } + + .arrowbtn { + display: flex; + justify-content: center; + align-items: center; + width: 28px; + height: 28px; + background: rgba(0, 0, 0, 1); + opacity: 0.5; + border: none; + } + + :deep(.ant-tabs-tab-btn) { + color: white; + } + + :deep(.ant-table) { + background-color: transparent; + } + + :deep(.ant-table-bordered) { + background-color: transparent; + } + + :deep(.ant-table-thead) { + background-color: transparent; + } + + :deep(.ant-table-cell) { + background-color: transparent; + color: #fff; + } + + .custom-table { + border-collapse: collapse; + width: 416px; + height: 60px; + color: rgba(255, 255, 255, 1); + } + + .custom-table th, + .custom-table td { + border: 1px solid rgba(163, 192, 243, 1); + text-align: left; + padding: 8px; + text-align: center; + } + + .table1 { + margin-top: 20px; + width: 100%; + cellspacing: 0; + cellpadding: 0; + border: 1px solid rgba(255, 255, 255); + border-radius: 5px; + background: rgba(255, 255, 255, 0.1); + } + + .light-area, + .circuit-area, + .control-area, + .control-scene-area, + .light-parameters-area { + width: 100%; + margin-top: 20px; + display: flex; + align-items: center; + } + + .zmhlbtn { + position: relative; + } + + // 禁用图标 + .anticon-stop { + position: absolute; + right: 3px; + bottom: 3px; + } +} \ No newline at end of file diff --git a/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/index.vue b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/index.vue index a21cac4..ebf278f 100644 --- a/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/index.vue +++ b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/index.vue @@ -65,6 +65,196 @@ + +
+ +
+ + +
+ +
+
+ + + +
+ +
+ + + + + + 日志 + +
+ + +
+ +
+
+ + + +
+ +
+ + 风幕机 + 计划列表 + 日志 + +
+ +
+ +
+
+ + + +
+ +
+ + 电动窗 + 计划列表 + 日志 + +
@@ -257,4 +550,44 @@ opacity: 0; /* 结束时完全透明 */ } } + .drawer-fan { + width: 496px; + // 抽屉关闭按钮 + .drawer-box-out { + width: 30px; + height: 40px; + border-radius: 2px; + position: fixed; + right: 466px; + top: 0; + bottom: 0; + margin: auto; + background: rgba(0, 0, 0, 0.5); + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + } + .ant-tabs-tab-btn { + color: white; + } + .ant-tabs-tabpane { + color: white; + } + } + .drawer-box-in { + width: 30px; + height: 40px; + border-radius: 2px; + position: fixed; + right: 0; + top: 0; + bottom: 0; + margin: auto; + background: rgba(0, 0, 0, 0.5); + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + }