|
@@ -0,0 +1,191 @@
|
|
|
|
+<script setup lang="ts">
|
|
|
|
+import { computed } from 'vue';
|
|
|
|
+
|
|
|
|
+import SvgIcon from '@/components/SvgIcon.vue';
|
|
|
|
+import { useViewVisible } from '@/hooks/view-visible';
|
|
|
|
+import { t } from '@/i18n';
|
|
|
|
+
|
|
|
|
+import type { DeviceType } from '../device-work-status/device-card';
|
|
|
|
+
|
|
|
|
+interface Props {
|
|
|
|
+ title?: string;
|
|
|
|
+ deviceType?: DeviceType;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+defineProps<Props>();
|
|
|
|
+
|
|
|
|
+const { visible, showView, hideView } = useViewVisible();
|
|
|
|
+
|
|
|
|
+const disableStartStopCtrl = computed(() => {
|
|
|
|
+ return true;
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+const startStopTip = computed(() => {
|
|
|
|
+ const tips: string[] = [];
|
|
|
|
+
|
|
|
|
+ tips.push(
|
|
|
|
+ t('realTimeMonitor.startStopControlTipLocal'),
|
|
|
|
+ t('realTimeMonitor.startStopControlTipAuto'),
|
|
|
|
+ t('realTimeMonitor.startStopControlTipDisable'),
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ let tipText = '';
|
|
|
|
+
|
|
|
|
+ tips.forEach((item, index) => {
|
|
|
|
+ tipText += `${index + 1}. ${item};\n`;
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return tipText;
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+defineExpose({
|
|
|
|
+ showView,
|
|
|
|
+ hideView,
|
|
|
|
+});
|
|
|
|
+</script>
|
|
|
|
+
|
|
|
|
+<template>
|
|
|
|
+ <AModal
|
|
|
|
+ v-model:open="visible"
|
|
|
|
+ wrap-class-name="hvac-modal"
|
|
|
|
+ :closable="false"
|
|
|
|
+ :centered="true"
|
|
|
|
+ :width="460"
|
|
|
|
+ :footer="null"
|
|
|
|
+ >
|
|
|
|
+ <template #title>
|
|
|
|
+ <div class="dev-ctrl-modal-header">
|
|
|
|
+ <span>{{ '三期-1#冷水主机' }}</span>
|
|
|
|
+ <span class="dev-ctrl-modal-operate">
|
|
|
|
+ {{ $t('common.viewMore') }}
|
|
|
|
+ <SvgIcon name="right" />
|
|
|
|
+ </span>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ <div class="dev-ctrl-modal-item">
|
|
|
|
+ <span>{{ $t('realTimeMonitor.chilledWaterOutletTemperature') }}</span>
|
|
|
|
+ <span>{{ '11.6' }}℃</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="dev-ctrl-modal-item">
|
|
|
|
+ <span>{{ $t('realTimeMonitor.loadRate') }}</span>
|
|
|
|
+ <span>{{ '70.3' }}%</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="dev-ctrl-modal-item">
|
|
|
|
+ <span>{{ $t('realTimeMonitor.activePower') }}</span>
|
|
|
|
+ <span>{{ '102' }}kw</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="dev-ctrl-modal-item">
|
|
|
|
+ <span>{{ $t('realTimeMonitor.localRemoteStatus') }}</span>
|
|
|
|
+ <span>{{ '远程' }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="dev-ctrl-modal-item">
|
|
|
|
+ <span>{{ $t('realTimeMonitor.activePower') }}</span>
|
|
|
|
+ <span>{{ '10.99' }}kw</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="dev-ctrl-modal-item">
|
|
|
|
+ <span>{{ $t('realTimeMonitor.runningTime') }}</span>
|
|
|
|
+ <span>{{ '100009.92' }}{{ $t('common.hour') }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="dev-ctrl-modal-separator"></div>
|
|
|
|
+ <div class="dev-ctrl-modal-item">
|
|
|
|
+ <span></span>
|
|
|
|
+ <span class="dev-ctrl-modal-operate">
|
|
|
|
+ {{ $t('common.batchExecution') }}
|
|
|
|
+ <SvgIcon name="right" />
|
|
|
|
+ </span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="dev-ctrl-modal-item">
|
|
|
|
+ <span>{{ $t('realTimeMonitor.enableDisable') }}</span>
|
|
|
|
+ <ASwitch />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="dev-ctrl-modal-item">
|
|
|
|
+ <span>{{ $t('realTimeMonitor.autoManual') }}</span>
|
|
|
|
+ <ASwitch />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="dev-ctrl-modal-item">
|
|
|
|
+ <span>{{ $t('realTimeMonitor.startStopControl') }}</span>
|
|
|
|
+ <span class="dev-ctrl-modal-start-stop-right">
|
|
|
|
+ <ATooltip overlay-class-name="hvac-tooltip">
|
|
|
|
+ <template #title>{{ startStopTip }}</template>
|
|
|
|
+ <SvgIcon v-show="disableStartStopCtrl" name="info-cirlce-o" />
|
|
|
|
+ </ATooltip>
|
|
|
|
+ <ASwitch :disabled="disableStartStopCtrl" />
|
|
|
|
+ </span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="dev-ctrl-modal-item">
|
|
|
|
+ <span>{{ $t('realTimeMonitor.chilledWaterOutletSetValue') }}</span>
|
|
|
|
+ <AInputNumber class="dev-ctrl-chiller-input" :controls="false" />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="dev-ctrl-modal-item">
|
|
|
|
+ <span>{{ $t('realTimeMonitor.loadRateLimitSetValue') }}</span>
|
|
|
|
+ <AInputNumber class="dev-ctrl-chiller-input" :controls="false" />
|
|
|
|
+ </div>
|
|
|
|
+ </AModal>
|
|
|
|
+</template>
|
|
|
|
+
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
+.dev-ctrl-modal-header {
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: space-between;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.dev-ctrl-modal-item {
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: space-between;
|
|
|
|
+ line-height: 24px;
|
|
|
|
+
|
|
|
|
+ > span {
|
|
|
|
+ &:first-child {
|
|
|
|
+ color: var(--antd-color-text-secondary);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &:last-child {
|
|
|
|
+ color: var(--antd-color-text);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ > span.dev-ctrl-modal-operate {
|
|
|
|
+ color: var(--antd-color-primary);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ & + & {
|
|
|
|
+ margin-top: 16px;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.dev-ctrl-modal-separator {
|
|
|
|
+ margin-block: 16px;
|
|
|
|
+ border: 1px solid #e4e7ed;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.dev-ctrl-modal-operate {
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ font-weight: 500;
|
|
|
|
+ color: var(--antd-color-primary);
|
|
|
|
+ cursor: pointer;
|
|
|
|
+
|
|
|
|
+ i {
|
|
|
|
+ margin-left: 8px;
|
|
|
|
+ font-size: 12px;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.dev-ctrl-modal-start-stop-right {
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+
|
|
|
|
+ i {
|
|
|
|
+ margin-right: 8px;
|
|
|
|
+ font-size: 12px;
|
|
|
|
+ color: #999;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.dev-ctrl-chiller-input {
|
|
|
|
+ width: 120px;
|
|
|
|
+}
|
|
|
|
+</style>
|