|  | @@ -1,10 +1,21 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  | -  <BasicModal v-bind="$attrs" @register="register" :title="`束管监测详情 ${currentTime}`" width="1200px" @ok="handleOk"
 | 
	
		
			
				|  |  | -    @cancel="handleCancel" wrapClassName="bundle-modal">
 | 
	
		
			
				|  |  | +  <BasicModal
 | 
	
		
			
				|  |  | +    v-bind="$attrs"
 | 
	
		
			
				|  |  | +    @register="register"
 | 
	
		
			
				|  |  | +    :title="`束管监测详情 ${currentTime}`"
 | 
	
		
			
				|  |  | +    width="1200px"
 | 
	
		
			
				|  |  | +    @ok="handleOk"
 | 
	
		
			
				|  |  | +    @cancel="handleCancel"
 | 
	
		
			
				|  |  | +    wrapClassName="bundle-modal"
 | 
	
		
			
				|  |  | +  >
 | 
	
		
			
				|  |  |      <div class="fiber-modal">
 | 
	
		
			
				|  |  |        <div class="modal-left">
 | 
	
		
			
				|  |  | -        <div v-for="device in deviceList" class="link-item"
 | 
	
		
			
				|  |  | -          :class="{ 'active-device-title': device.deviceID === activeDeviceID }" :key="device.deviceID">
 | 
	
		
			
				|  |  | +        <div
 | 
	
		
			
				|  |  | +          v-for="device in deviceList"
 | 
	
		
			
				|  |  | +          class="link-item"
 | 
	
		
			
				|  |  | +          :class="{ 'active-device-title': device.deviceID === activeDeviceID }"
 | 
	
		
			
				|  |  | +          :key="device.deviceID"
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  |            <span class="" @click="selectDevice(device.deviceID)">{{ device.strinstallpos }}</span>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  |        </div>
 | 
	
	
		
			
				|  | @@ -17,8 +28,7 @@
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |              <div class="item-container">
 | 
	
		
			
				|  |  |                <div class="title">一氧化碳</div>
 | 
	
		
			
				|  |  | -              <div class="value">{{ posMonitor.coval !== undefined && posMonitor.coval !== null ? posMonitor.coval : '-'
 | 
	
		
			
				|  |  | -                }} <span>ppm</span> </div>
 | 
	
		
			
				|  |  | +              <div class="value">{{ posMonitor.coval !== undefined && posMonitor.coval !== null ? posMonitor.coval : '-' }} <span>ppm</span> </div>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |            <div class="top-item">
 | 
	
	
		
			
				|  | @@ -27,8 +37,7 @@
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |              <div class="item-container">
 | 
	
		
			
				|  |  |                <div class="title">二氧化碳</div>
 | 
	
		
			
				|  |  | -              <div class="value">{{ posMonitor.co2val !== undefined && posMonitor.co2val !== null ? posMonitor.co2val :
 | 
	
		
			
				|  |  | -                '-' }} <span>%</span></div>
 | 
	
		
			
				|  |  | +              <div class="value">{{ posMonitor.co2val !== undefined && posMonitor.co2val !== null ? posMonitor.co2val : '-' }} <span>%</span></div>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |            <div class="top-item">
 | 
	
	
		
			
				|  | @@ -37,8 +46,7 @@
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |              <div class="item-container">
 | 
	
		
			
				|  |  |                <div class="title">甲烷</div>
 | 
	
		
			
				|  |  | -              <div class="value">{{ posMonitor.gasval !== undefined && posMonitor.gasval !== null ? posMonitor.gasval :
 | 
	
		
			
				|  |  | -                '-' }} <span>%</span></div>
 | 
	
		
			
				|  |  | +              <div class="value">{{ posMonitor.gasval !== undefined && posMonitor.gasval !== null ? posMonitor.gasval : '-' }} <span>%</span></div>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |            <div class="top-item">
 | 
	
	
		
			
				|  | @@ -47,8 +55,7 @@
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |              <div class="item-container">
 | 
	
		
			
				|  |  |                <div class="title">乙烯</div>
 | 
	
		
			
				|  |  | -              <div class="value">{{ posMonitor.ch2val !== undefined && posMonitor.ch2val !== null ? posMonitor.ch2val :
 | 
	
		
			
				|  |  | -                '-' }} <span>ppm</span></div>
 | 
	
		
			
				|  |  | +              <div class="value">{{ posMonitor.ch2val !== undefined && posMonitor.ch2val !== null ? posMonitor.ch2val : '-' }} <span>ppm</span></div>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |            <div class="top-item">
 | 
	
	
		
			
				|  | @@ -57,8 +64,7 @@
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |              <div class="item-container">
 | 
	
		
			
				|  |  |                <div class="title">乙炔</div>
 | 
	
		
			
				|  |  | -              <div class="value">{{ posMonitor.chval !== undefined && posMonitor.chval !== null ? posMonitor.chval : '-'
 | 
	
		
			
				|  |  | -                }} <span>ppm</span></div>
 | 
	
		
			
				|  |  | +              <div class="value">{{ posMonitor.chval !== undefined && posMonitor.chval !== null ? posMonitor.chval : '-' }} <span>ppm</span></div>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |            <div class="top-item">
 | 
	
	
		
			
				|  | @@ -67,8 +73,7 @@
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |              <div class="item-container">
 | 
	
		
			
				|  |  |                <div class="title">氧气</div>
 | 
	
		
			
				|  |  | -              <div class="value">{{ posMonitor.o2val !== undefined && posMonitor.o2val !== null ? posMonitor.o2val : '-'
 | 
	
		
			
				|  |  | -                }} <span>%</span></div>
 | 
	
		
			
				|  |  | +              <div class="value">{{ posMonitor.o2val !== undefined && posMonitor.o2val !== null ? posMonitor.o2val : '-' }} <span>%</span></div>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |            <div class="top-item warning-box">
 | 
	
	
		
			
				|  | @@ -91,15 +96,24 @@
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  |          <div class="right-bottom">
 | 
	
		
			
				|  |  | -          <span class="base-title">设备监测曲线  <span style="color:red">{{ posMonitor['netStatus'] != 1 ? '(设备未连接)' : ''
 | 
	
		
			
				|  |  | -              }}</span></span>
 | 
	
		
			
				|  |  | +          <span class="base-title"
 | 
	
		
			
				|  |  | +            >设备监测曲线  <span style="color: red">{{ posMonitor['netStatus'] != 1 ? '(设备未连接)' : '' }}</span></span
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  |            <div class="echarts-box">
 | 
	
		
			
				|  |  | -            <BarAndLine class="echarts-line" xAxisPropType="ttime" :dataSource="historyList" height="100%" width="65%"
 | 
	
		
			
				|  |  | -              :chartsColumns="chartsColumns" :option="echatsOption" chartsType="listMonitor" />
 | 
	
		
			
				|  |  | +            <BarAndLine
 | 
	
		
			
				|  |  | +              class="echarts-line"
 | 
	
		
			
				|  |  | +              xAxisPropType="ttime"
 | 
	
		
			
				|  |  | +              :dataSource="historyList"
 | 
	
		
			
				|  |  | +              height="100%"
 | 
	
		
			
				|  |  | +              width="65%"
 | 
	
		
			
				|  |  | +              :chartsColumns="chartsColumns"
 | 
	
		
			
				|  |  | +              :option="echatsOption"
 | 
	
		
			
				|  |  | +              chartsType="listMonitor"
 | 
	
		
			
				|  |  | +            />
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              <!-- 爆炸三角形 -->
 | 
	
		
			
				|  |  | -            <div style="width:35%;height:100%; margin: 0px auto">
 | 
	
		
			
				|  |  | -              <blastDelta :posMonitor="posMonitor"></blastDelta>
 | 
	
		
			
				|  |  | +            <div style="width: 35%; height: 100%; margin: 0px auto">
 | 
	
		
			
				|  |  | +              <blastDelta :posMonitor="posMonitor" />
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
	
		
			
				|  | @@ -108,356 +122,355 @@
 | 
	
		
			
				|  |  |    </BasicModal>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  <script lang="ts">
 | 
	
		
			
				|  |  | -import { defineComponent, ref, watch, shallowRef, onMounted } from 'vue';
 | 
	
		
			
				|  |  | -import { BasicModal, useModalInner } from '/@/components/Modal';
 | 
	
		
			
				|  |  | -import BarAndLine from '/@/components/chart/BarAndLine.vue';
 | 
	
		
			
				|  |  | -import blastDelta from './blastDelta.vue'
 | 
	
		
			
				|  |  | -import { SvgIcon } from '/@/components/Icon';
 | 
	
		
			
				|  |  | -import dayjs from 'dayjs';
 | 
	
		
			
				|  |  | -import { getTableHeaderColumns } from '/@/hooks/web/useWebColumns';
 | 
	
		
			
				|  |  | -import { chartsColumnList } from '../device.data';
 | 
	
		
			
				|  |  | -import { listdays } from '../device.api';
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -export default defineComponent({
 | 
	
		
			
				|  |  | -  components: { BasicModal, BarAndLine, SvgIcon, blastDelta },
 | 
	
		
			
				|  |  | -  props: {
 | 
	
		
			
				|  |  | -    dataSource: { type: Array },
 | 
	
		
			
				|  |  | -    activeID: { type: String },
 | 
	
		
			
				|  |  | -  },
 | 
	
		
			
				|  |  | -  setup(props) {
 | 
	
		
			
				|  |  | -    const currentTime = ref(dayjs().format('YYYY-MM-DD HH:mm:ss'));
 | 
	
		
			
				|  |  | -    const modelRef = ref({});
 | 
	
		
			
				|  |  | -    const loading = ref(true);
 | 
	
		
			
				|  |  | -    const activeDeviceID = ref('');
 | 
	
		
			
				|  |  | -    const deviceList = ref<any[]>([]);
 | 
	
		
			
				|  |  | -    const historyList = ref<any[]>([]);
 | 
	
		
			
				|  |  | -    const posList = ref<any[]>([]);
 | 
	
		
			
				|  |  | -    const posMonitor = shallowRef({});
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    const echatsOption = {
 | 
	
		
			
				|  |  | -      grid: {
 | 
	
		
			
				|  |  | -        top: '29%',
 | 
	
		
			
				|  |  | -        left: '3',
 | 
	
		
			
				|  |  | -        right: '45',
 | 
	
		
			
				|  |  | -        bottom: '3%',
 | 
	
		
			
				|  |  | -        containLabel: true,
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      toolbox: {
 | 
	
		
			
				|  |  | -        feature: {},
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -    };
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    const chartsColumnArr = getTableHeaderColumns('bundletube_chart');
 | 
	
		
			
				|  |  | -    const chartsColumns = chartsColumnArr.length > 0 ? chartsColumnArr : chartsColumnList;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    const [register, { setModalProps, closeModal }] = useModalInner();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    function handleVisibleChange(visible) {
 | 
	
		
			
				|  |  | -      if (visible) {
 | 
	
		
			
				|  |  | +  import { defineComponent, ref, watch, shallowRef, onMounted } from 'vue';
 | 
	
		
			
				|  |  | +  import { BasicModal, useModalInner } from '/@/components/Modal';
 | 
	
		
			
				|  |  | +  import BarAndLine from '/@/components/chart/BarAndLine.vue';
 | 
	
		
			
				|  |  | +  import blastDelta from './blastDelta.vue';
 | 
	
		
			
				|  |  | +  import { SvgIcon } from '/@/components/Icon';
 | 
	
		
			
				|  |  | +  import dayjs from 'dayjs';
 | 
	
		
			
				|  |  | +  import { getTableHeaderColumns } from '/@/hooks/web/useWebColumns';
 | 
	
		
			
				|  |  | +  import { chartsColumnList } from '../device.data';
 | 
	
		
			
				|  |  | +  import { listdays } from '../device.api';
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  export default defineComponent({
 | 
	
		
			
				|  |  | +    components: { BasicModal, BarAndLine, SvgIcon, blastDelta },
 | 
	
		
			
				|  |  | +    props: {
 | 
	
		
			
				|  |  | +      dataSource: { type: Array },
 | 
	
		
			
				|  |  | +      activeID: { type: String },
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    setup(props) {
 | 
	
		
			
				|  |  | +      const currentTime = ref(dayjs().format('YYYY-MM-DD HH:mm:ss'));
 | 
	
		
			
				|  |  | +      const modelRef = ref({});
 | 
	
		
			
				|  |  | +      const loading = ref(true);
 | 
	
		
			
				|  |  | +      const activeDeviceID = ref('');
 | 
	
		
			
				|  |  | +      const deviceList = ref<any[]>([]);
 | 
	
		
			
				|  |  | +      const historyList = ref<any[]>([]);
 | 
	
		
			
				|  |  | +      const posList = ref<any[]>([]);
 | 
	
		
			
				|  |  | +      const posMonitor = shallowRef({});
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      const echatsOption = {
 | 
	
		
			
				|  |  | +        grid: {
 | 
	
		
			
				|  |  | +          top: '29%',
 | 
	
		
			
				|  |  | +          left: '3',
 | 
	
		
			
				|  |  | +          right: '45',
 | 
	
		
			
				|  |  | +          bottom: '3%',
 | 
	
		
			
				|  |  | +          containLabel: true,
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        toolbox: {
 | 
	
		
			
				|  |  | +          feature: {},
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      const chartsColumnArr = getTableHeaderColumns('bundletube_chart');
 | 
	
		
			
				|  |  | +      const chartsColumns = chartsColumnArr.length > 0 ? chartsColumnArr : chartsColumnList;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      const [register, { setModalProps, closeModal }] = useModalInner();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      function handleVisibleChange(visible) {
 | 
	
		
			
				|  |  | +        if (visible) {
 | 
	
		
			
				|  |  | +          loading.value = true;
 | 
	
		
			
				|  |  | +          setModalProps({ loading: true, confirmLoading: true });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          setTimeout(() => {
 | 
	
		
			
				|  |  | +            loading.value = false;
 | 
	
		
			
				|  |  | +            setModalProps({ loading: false, confirmLoading: false });
 | 
	
		
			
				|  |  | +          }, 1000);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      // 选择监测
 | 
	
		
			
				|  |  | +      function selectDevice(id) {
 | 
	
		
			
				|  |  |          loading.value = true;
 | 
	
		
			
				|  |  | +        getListdays();
 | 
	
		
			
				|  |  |          setModalProps({ loading: true, confirmLoading: true });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          setTimeout(() => {
 | 
	
		
			
				|  |  |            loading.value = false;
 | 
	
		
			
				|  |  | +          activeDeviceID.value = id;
 | 
	
		
			
				|  |  |            setModalProps({ loading: false, confirmLoading: false });
 | 
	
		
			
				|  |  | -        }, 1000);
 | 
	
		
			
				|  |  | +        }, 300);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    // 选择监测
 | 
	
		
			
				|  |  | -    function selectDevice(id) {
 | 
	
		
			
				|  |  | -      loading.value = true;
 | 
	
		
			
				|  |  | -      getListdays()
 | 
	
		
			
				|  |  | -      setModalProps({ loading: true, confirmLoading: true });
 | 
	
		
			
				|  |  | -      setTimeout(() => {
 | 
	
		
			
				|  |  | -        loading.value = false;
 | 
	
		
			
				|  |  | -        activeDeviceID.value = id;
 | 
	
		
			
				|  |  | -        setModalProps({ loading: false, confirmLoading: false });
 | 
	
		
			
				|  |  | -      }, 300);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    function handleOk(e) {
 | 
	
		
			
				|  |  | -      e.preventDefault();
 | 
	
		
			
				|  |  | -      closeModal();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    function handleCancel(e) {
 | 
	
		
			
				|  |  | -      e.preventDefault();
 | 
	
		
			
				|  |  | -      closeModal();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +      function handleOk(e) {
 | 
	
		
			
				|  |  | +        e.preventDefault();
 | 
	
		
			
				|  |  | +        closeModal();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    //获取历史数据
 | 
	
		
			
				|  |  | -    async function getListdays() {
 | 
	
		
			
				|  |  | -      const ttime_begin = dayjs(new Date().getTime() - (3 * 24 * 60 * 60 * 1000)).format('YYYY-MM-DD hh:mm:ss');
 | 
	
		
			
				|  |  | -      const ttime_end = dayjs(new Date().getTime()).format('YYYY-MM-DD hh:mm:ss')
 | 
	
		
			
				|  |  | -      const pageNo=1
 | 
	
		
			
				|  |  | -      const pageSize=100
 | 
	
		
			
				|  |  | -      const skip=8
 | 
	
		
			
				|  |  | -      const strtype='bundletube_auto'
 | 
	
		
			
				|  |  | -      activeDeviceID
 | 
	
		
			
				|  |  | -      let res=await listdays({ttime_begin,ttime_end,pageNo,pageSize,skip,strtype,gdeviceid:activeDeviceID.value})
 | 
	
		
			
				|  |  | -      console.log(res,'束管历史数据')
 | 
	
		
			
				|  |  | -      let data=res.datalist.records
 | 
	
		
			
				|  |  | -      if(data.length!=0){
 | 
	
		
			
				|  |  | -        data.forEach(el=>{
 | 
	
		
			
				|  |  | -            Object.assign(el,el.readData)
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -        historyList.value=data
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | +      function handleCancel(e) {
 | 
	
		
			
				|  |  | +        e.preventDefault();
 | 
	
		
			
				|  |  | +        closeModal();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    watch([() => props.dataSource, () => props.activeID], ([newDataSource, newActiveID], [oldDataSource, oldActiveID]) => {
 | 
	
		
			
				|  |  | -      // if (newActiveID != oldActiveID) {
 | 
	
		
			
				|  |  | -      //   activeDeviceID.value = newActiveID as string;
 | 
	
		
			
				|  |  | -      // }
 | 
	
		
			
				|  |  | -      activeDeviceID.value = activeDeviceID.value ? activeDeviceID.value : newActiveID;
 | 
	
		
			
				|  |  | -      deviceList.value = newDataSource?.filter((item: any, index) => {
 | 
	
		
			
				|  |  | -        if ((!activeDeviceID.value && index == 0) || item.deviceID === activeDeviceID.value) {
 | 
	
		
			
				|  |  | -          // activeDeviceID.value = item.deviceID;
 | 
	
		
			
				|  |  | -          posMonitor.value = Object.assign(item, item.readData);
 | 
	
		
			
				|  |  | -          getListdays()
 | 
	
		
			
				|  |  | +      //获取历史数据
 | 
	
		
			
				|  |  | +      async function getListdays() {
 | 
	
		
			
				|  |  | +        const ttime_begin = dayjs(new Date().getTime() - 3 * 24 * 60 * 60 * 1000).format('YYYY-MM-DD hh:mm:ss');
 | 
	
		
			
				|  |  | +        const ttime_end = dayjs(new Date().getTime()).format('YYYY-MM-DD hh:mm:ss');
 | 
	
		
			
				|  |  | +        const pageNo = 1;
 | 
	
		
			
				|  |  | +        const pageSize = 100;
 | 
	
		
			
				|  |  | +        const skip = 8;
 | 
	
		
			
				|  |  | +        const strtype = 'bundletube_auto';
 | 
	
		
			
				|  |  | +        activeDeviceID;
 | 
	
		
			
				|  |  | +        let res = await listdays({ ttime_begin, ttime_end, pageNo, pageSize, skip, strtype, gdeviceid: activeDeviceID.value });
 | 
	
		
			
				|  |  | +        console.log(res, '束管历史数据');
 | 
	
		
			
				|  |  | +        let data = res.datalist.records;
 | 
	
		
			
				|  |  | +        if (data.length != 0) {
 | 
	
		
			
				|  |  | +          data.forEach((el) => {
 | 
	
		
			
				|  |  | +            Object.assign(el, el.readData);
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +          historyList.value = data;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        item.readTime = item.readTime?.substring(11);
 | 
	
		
			
				|  |  | -        return item;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      watch([() => props.dataSource, () => props.activeID], ([newDataSource, newActiveID], [oldDataSource, oldActiveID]) => {
 | 
	
		
			
				|  |  | +        // if (newActiveID != oldActiveID) {
 | 
	
		
			
				|  |  | +        //   activeDeviceID.value = newActiveID as string;
 | 
	
		
			
				|  |  | +        // }
 | 
	
		
			
				|  |  | +        activeDeviceID.value = activeDeviceID.value ? activeDeviceID.value : newActiveID;
 | 
	
		
			
				|  |  | +        deviceList.value = newDataSource?.filter((item: any, index) => {
 | 
	
		
			
				|  |  | +          if ((!activeDeviceID.value && index == 0) || item.deviceID === activeDeviceID.value) {
 | 
	
		
			
				|  |  | +            // activeDeviceID.value = item.deviceID;
 | 
	
		
			
				|  |  | +            posMonitor.value = Object.assign(item, item.readData);
 | 
	
		
			
				|  |  | +            getListdays();
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          item.readTime = item.readTime?.substring(11);
 | 
	
		
			
				|  |  | +          return item;
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  | -    });
 | 
	
		
			
				|  |  | -    return {
 | 
	
		
			
				|  |  | -      register,
 | 
	
		
			
				|  |  | -      model: modelRef,
 | 
	
		
			
				|  |  | -      currentTime,
 | 
	
		
			
				|  |  | -      handleVisibleChange,
 | 
	
		
			
				|  |  | -      selectDevice,
 | 
	
		
			
				|  |  | -      handleOk,
 | 
	
		
			
				|  |  | -      handleCancel,
 | 
	
		
			
				|  |  | -      deviceList,
 | 
	
		
			
				|  |  | -      historyList,
 | 
	
		
			
				|  |  | -      activeDeviceID,
 | 
	
		
			
				|  |  | -      posMonitor,
 | 
	
		
			
				|  |  | -      echatsOption,
 | 
	
		
			
				|  |  | -      posList,
 | 
	
		
			
				|  |  | -      chartsColumns,
 | 
	
		
			
				|  |  | -    };
 | 
	
		
			
				|  |  | -  },
 | 
	
		
			
				|  |  | -});
 | 
	
		
			
				|  |  | +      return {
 | 
	
		
			
				|  |  | +        register,
 | 
	
		
			
				|  |  | +        model: modelRef,
 | 
	
		
			
				|  |  | +        currentTime,
 | 
	
		
			
				|  |  | +        handleVisibleChange,
 | 
	
		
			
				|  |  | +        selectDevice,
 | 
	
		
			
				|  |  | +        handleOk,
 | 
	
		
			
				|  |  | +        handleCancel,
 | 
	
		
			
				|  |  | +        deviceList,
 | 
	
		
			
				|  |  | +        historyList,
 | 
	
		
			
				|  |  | +        activeDeviceID,
 | 
	
		
			
				|  |  | +        posMonitor,
 | 
	
		
			
				|  |  | +        echatsOption,
 | 
	
		
			
				|  |  | +        posList,
 | 
	
		
			
				|  |  | +        chartsColumns,
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  });
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  <style lang="less">
 | 
	
		
			
				|  |  | -.bundle-modal {
 | 
	
		
			
				|  |  | -  .zxm-modal {
 | 
	
		
			
				|  |  | -    top: 30px !important;
 | 
	
		
			
				|  |  | +  .bundle-modal {
 | 
	
		
			
				|  |  | +    .zxm-modal {
 | 
	
		
			
				|  |  | +      top: 30px !important;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  |  </style>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <style lang="less" scoped>
 | 
	
		
			
				|  |  | -.fiber-modal {
 | 
	
		
			
				|  |  | -  width: 100%;
 | 
	
		
			
				|  |  | -  height: 650px;
 | 
	
		
			
				|  |  | -  display: flex;
 | 
	
		
			
				|  |  | -  flex-direction: row;
 | 
	
		
			
				|  |  | -  justify-content: space-between;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  .modal-left {
 | 
	
		
			
				|  |  | -    width: 200px;
 | 
	
		
			
				|  |  | -    height: 100%;
 | 
	
		
			
				|  |  | -    overflow-y: auto;
 | 
	
		
			
				|  |  | -    background: #ffffff11;
 | 
	
		
			
				|  |  | -    padding: 5px;
 | 
	
		
			
				|  |  | -    border-radius: 5px;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    .active-device-title {
 | 
	
		
			
				|  |  | -      color: aqua;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +  .fiber-modal {
 | 
	
		
			
				|  |  | +    width: 100%;
 | 
	
		
			
				|  |  | +    height: 650px;
 | 
	
		
			
				|  |  | +    display: flex;
 | 
	
		
			
				|  |  | +    flex-direction: row;
 | 
	
		
			
				|  |  | +    justify-content: space-between;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .modal-left {
 | 
	
		
			
				|  |  | +      width: 200px;
 | 
	
		
			
				|  |  | +      height: 100%;
 | 
	
		
			
				|  |  | +      overflow-y: auto;
 | 
	
		
			
				|  |  | +      background: #ffffff11;
 | 
	
		
			
				|  |  | +      padding: 5px;
 | 
	
		
			
				|  |  | +      border-radius: 5px;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      .active-device-title {
 | 
	
		
			
				|  |  | +        color: aqua;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    .link-item {
 | 
	
		
			
				|  |  | -      position: relative;
 | 
	
		
			
				|  |  | -      cursor: pointer;
 | 
	
		
			
				|  |  | -      line-height: 30px;
 | 
	
		
			
				|  |  | -      padding-left: 30px;
 | 
	
		
			
				|  |  | +      .link-item {
 | 
	
		
			
				|  |  | +        position: relative;
 | 
	
		
			
				|  |  | +        cursor: pointer;
 | 
	
		
			
				|  |  | +        line-height: 30px;
 | 
	
		
			
				|  |  | +        padding-left: 30px;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      span:hover {
 | 
	
		
			
				|  |  | -        color: #89ffff;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | +        span:hover {
 | 
	
		
			
				|  |  | +          color: #89ffff;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      &::after {
 | 
	
		
			
				|  |  | -        content: '';
 | 
	
		
			
				|  |  | -        position: absolute;
 | 
	
		
			
				|  |  | -        display: block;
 | 
	
		
			
				|  |  | -        width: 8px;
 | 
	
		
			
				|  |  | -        height: 8px;
 | 
	
		
			
				|  |  | -        top: 12px;
 | 
	
		
			
				|  |  | -        left: 10px;
 | 
	
		
			
				|  |  | -        transform: rotateZ(45deg) skew(10deg, 10deg);
 | 
	
		
			
				|  |  | -        background: #45d3fd;
 | 
	
		
			
				|  |  | +        &::after {
 | 
	
		
			
				|  |  | +          content: '';
 | 
	
		
			
				|  |  | +          position: absolute;
 | 
	
		
			
				|  |  | +          display: block;
 | 
	
		
			
				|  |  | +          width: 8px;
 | 
	
		
			
				|  |  | +          height: 8px;
 | 
	
		
			
				|  |  | +          top: 12px;
 | 
	
		
			
				|  |  | +          left: 10px;
 | 
	
		
			
				|  |  | +          transform: rotateZ(45deg) skew(10deg, 10deg);
 | 
	
		
			
				|  |  | +          background: #45d3fd;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  .modal-right {
 | 
	
		
			
				|  |  | -    width: calc(100% - 220px);
 | 
	
		
			
				|  |  | -    overflow-y: auto;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    .base-title {
 | 
	
		
			
				|  |  | -      line-height: 32px;
 | 
	
		
			
				|  |  | -      position: relative;
 | 
	
		
			
				|  |  | -      padding-left: 20px;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      &::after {
 | 
	
		
			
				|  |  | -        content: '';
 | 
	
		
			
				|  |  | -        position: absolute;
 | 
	
		
			
				|  |  | -        display: block;
 | 
	
		
			
				|  |  | -        width: 4px;
 | 
	
		
			
				|  |  | -        height: 12px;
 | 
	
		
			
				|  |  | -        top: 4px;
 | 
	
		
			
				|  |  | -        left: 10px;
 | 
	
		
			
				|  |  | -        background: #45d3fd;
 | 
	
		
			
				|  |  | -        border-radius: 4px;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +    .modal-right {
 | 
	
		
			
				|  |  | +      width: calc(100% - 220px);
 | 
	
		
			
				|  |  | +      overflow-y: auto;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      .base-title {
 | 
	
		
			
				|  |  | +        line-height: 32px;
 | 
	
		
			
				|  |  | +        position: relative;
 | 
	
		
			
				|  |  | +        padding-left: 20px;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    .right-top {
 | 
	
		
			
				|  |  | -      display: flex;
 | 
	
		
			
				|  |  | -      flex-direction: row;
 | 
	
		
			
				|  |  | -      justify-content: space-between;
 | 
	
		
			
				|  |  | -      flex-wrap: wrap;
 | 
	
		
			
				|  |  | -      margin-bottom: 10px;
 | 
	
		
			
				|  |  | +        &::after {
 | 
	
		
			
				|  |  | +          content: '';
 | 
	
		
			
				|  |  | +          position: absolute;
 | 
	
		
			
				|  |  | +          display: block;
 | 
	
		
			
				|  |  | +          width: 4px;
 | 
	
		
			
				|  |  | +          height: 12px;
 | 
	
		
			
				|  |  | +          top: 4px;
 | 
	
		
			
				|  |  | +          left: 10px;
 | 
	
		
			
				|  |  | +          background: #45d3fd;
 | 
	
		
			
				|  |  | +          border-radius: 4px;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      .top-item {
 | 
	
		
			
				|  |  | -        width: 220px;
 | 
	
		
			
				|  |  | -        height: 100px;
 | 
	
		
			
				|  |  | +      .right-top {
 | 
	
		
			
				|  |  |          display: flex;
 | 
	
		
			
				|  |  |          flex-direction: row;
 | 
	
		
			
				|  |  | -        justify-content: center;
 | 
	
		
			
				|  |  | -        border: 1px solid rgba(25, 237, 255, 0.4);
 | 
	
		
			
				|  |  | -        box-shadow: inset 0 0 10px rgba(0, 197, 255, 0.6);
 | 
	
		
			
				|  |  | -        background: rgba(0, 0, 0, 0.06666666666666667);
 | 
	
		
			
				|  |  | -        padding-top: 20px;
 | 
	
		
			
				|  |  | -        margin: 10px 0;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        .icon {
 | 
	
		
			
				|  |  | -          margin-right: 10px;
 | 
	
		
			
				|  |  | -          margin-top: 5px;
 | 
	
		
			
				|  |  | -          color: #fdb146;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +        justify-content: space-between;
 | 
	
		
			
				|  |  | +        flex-wrap: wrap;
 | 
	
		
			
				|  |  | +        margin-bottom: 10px;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        .item-container {
 | 
	
		
			
				|  |  | -          width: 110px;
 | 
	
		
			
				|  |  | +        .top-item {
 | 
	
		
			
				|  |  | +          width: 220px;
 | 
	
		
			
				|  |  | +          height: 100px;
 | 
	
		
			
				|  |  |            display: flex;
 | 
	
		
			
				|  |  | -          flex-direction: column;
 | 
	
		
			
				|  |  | +          flex-direction: row;
 | 
	
		
			
				|  |  |            justify-content: center;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -          div {
 | 
	
		
			
				|  |  | -            text-align: center;
 | 
	
		
			
				|  |  | +          border: 1px solid rgba(25, 237, 255, 0.4);
 | 
	
		
			
				|  |  | +          box-shadow: inset 0 0 10px rgba(0, 197, 255, 0.6);
 | 
	
		
			
				|  |  | +          background: rgba(0, 0, 0, 0.06666666666666667);
 | 
	
		
			
				|  |  | +          padding-top: 20px;
 | 
	
		
			
				|  |  | +          margin: 10px 0;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          .icon {
 | 
	
		
			
				|  |  | +            margin-right: 10px;
 | 
	
		
			
				|  |  | +            margin-top: 5px;
 | 
	
		
			
				|  |  | +            color: #fdb146;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -          .title {
 | 
	
		
			
				|  |  | -            font-size: 18px;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | +          .item-container {
 | 
	
		
			
				|  |  | +            width: 110px;
 | 
	
		
			
				|  |  | +            display: flex;
 | 
	
		
			
				|  |  | +            flex-direction: column;
 | 
	
		
			
				|  |  | +            justify-content: center;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -          .value {
 | 
	
		
			
				|  |  | -            text-shadow: 0 0 25px #00fbfe;
 | 
	
		
			
				|  |  | -            background: linear-gradient(0deg, #45d3fd, #45d3fd, #61ddb1, #61ddb1);
 | 
	
		
			
				|  |  | -            font-style: normal;
 | 
	
		
			
				|  |  | -            background-size: cover;
 | 
	
		
			
				|  |  | -            font-family: electronicFont;
 | 
	
		
			
				|  |  | -            font-size: 30px;
 | 
	
		
			
				|  |  | -            -webkit-background-clip: text;
 | 
	
		
			
				|  |  | -            background-clip: text;
 | 
	
		
			
				|  |  | -            -webkit-text-fill-color: transparent;
 | 
	
		
			
				|  |  | -            position: relative;
 | 
	
		
			
				|  |  | -            top: -8px;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            span {
 | 
	
		
			
				|  |  | -              font-family: Arial, Helvetica, sans-serif;
 | 
	
		
			
				|  |  | +            div {
 | 
	
		
			
				|  |  | +              text-align: center;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            .title {
 | 
	
		
			
				|  |  |                font-size: 18px;
 | 
	
		
			
				|  |  | -              color: aliceblue;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            .value {
 | 
	
		
			
				|  |  | +              text-shadow: 0 0 25px #00fbfe;
 | 
	
		
			
				|  |  | +              background: linear-gradient(0deg, #45d3fd, #45d3fd, #61ddb1, #61ddb1);
 | 
	
		
			
				|  |  | +              font-style: normal;
 | 
	
		
			
				|  |  | +              background-size: cover;
 | 
	
		
			
				|  |  | +              font-family: electronicFont;
 | 
	
		
			
				|  |  | +              font-size: 30px;
 | 
	
		
			
				|  |  | +              -webkit-background-clip: text;
 | 
	
		
			
				|  |  | +              background-clip: text;
 | 
	
		
			
				|  |  | +              -webkit-text-fill-color: transparent;
 | 
	
		
			
				|  |  | +              position: relative;
 | 
	
		
			
				|  |  | +              top: -8px;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +              span {
 | 
	
		
			
				|  |  | +                font-family: Arial, Helvetica, sans-serif;
 | 
	
		
			
				|  |  | +                font-size: 18px;
 | 
	
		
			
				|  |  | +                color: aliceblue;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      .warning-box {
 | 
	
		
			
				|  |  | -        padding-top: 0px;
 | 
	
		
			
				|  |  | +        .warning-box {
 | 
	
		
			
				|  |  | +          padding-top: 0px;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        .icon {
 | 
	
		
			
				|  |  | -          margin-top: 20px;
 | 
	
		
			
				|  |  | +          .icon {
 | 
	
		
			
				|  |  | +            margin-top: 20px;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -          :deep(.icon-style) {
 | 
	
		
			
				|  |  | -            width: auto;
 | 
	
		
			
				|  |  | -            color: #fdb146;
 | 
	
		
			
				|  |  | +            :deep(.icon-style) {
 | 
	
		
			
				|  |  | +              width: auto;
 | 
	
		
			
				|  |  | +              color: #fdb146;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        .warning-value {
 | 
	
		
			
				|  |  | -          font-size: 18px;
 | 
	
		
			
				|  |  | -          color: #61ddb1;
 | 
	
		
			
				|  |  | +          .warning-value {
 | 
	
		
			
				|  |  | +            font-size: 18px;
 | 
	
		
			
				|  |  | +            color: #61ddb1;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    .right-center {
 | 
	
		
			
				|  |  | -      margin-top: 20px;
 | 
	
		
			
				|  |  | -      display: flex;
 | 
	
		
			
				|  |  | -      flex-direction: row;
 | 
	
		
			
				|  |  | -      justify-content: space-between;
 | 
	
		
			
				|  |  | +      .right-center {
 | 
	
		
			
				|  |  | +        margin-top: 20px;
 | 
	
		
			
				|  |  | +        display: flex;
 | 
	
		
			
				|  |  | +        flex-direction: row;
 | 
	
		
			
				|  |  | +        justify-content: space-between;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      .table-box {
 | 
	
		
			
				|  |  | -        position: relative;
 | 
	
		
			
				|  |  | -        width: 500px;
 | 
	
		
			
				|  |  | -        height: 250px;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | +        .table-box {
 | 
	
		
			
				|  |  | +          position: relative;
 | 
	
		
			
				|  |  | +          width: 500px;
 | 
	
		
			
				|  |  | +          height: 250px;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      .warning-box {
 | 
	
		
			
				|  |  | -        width: calc(100% - 520px);
 | 
	
		
			
				|  |  | +        .warning-box {
 | 
	
		
			
				|  |  | +          width: calc(100% - 520px);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        .warning-container {
 | 
	
		
			
				|  |  | -          width: 100%;
 | 
	
		
			
				|  |  | -          height: convert;
 | 
	
		
			
				|  |  | -          background: #009acd00;
 | 
	
		
			
				|  |  | +          .warning-container {
 | 
	
		
			
				|  |  | +            width: 100%;
 | 
	
		
			
				|  |  | +            height: convert;
 | 
	
		
			
				|  |  | +            background: #009acd00;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -          :deep(.dv-scroll-board) {
 | 
	
		
			
				|  |  | -            .row-item {
 | 
	
		
			
				|  |  | -              height: 40px !important;
 | 
	
		
			
				|  |  | -              line-height: 40px !important;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +            :deep(.dv-scroll-board) {
 | 
	
		
			
				|  |  | +              .row-item {
 | 
	
		
			
				|  |  | +                height: 40px !important;
 | 
	
		
			
				|  |  | +                line-height: 40px !important;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            .header-item {
 | 
	
		
			
				|  |  | -              border-top: 1px solid #91e9fe !important;
 | 
	
		
			
				|  |  | -              border-bottom: 1px solid #91e9fe !important;
 | 
	
		
			
				|  |  | +              .header-item {
 | 
	
		
			
				|  |  | +                border-top: 1px solid #91e9fe !important;
 | 
	
		
			
				|  |  | +                border-bottom: 1px solid #91e9fe !important;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    .right-bottom {
 | 
	
		
			
				|  |  | -      margin-top: 20px;
 | 
	
		
			
				|  |  | +      .right-bottom {
 | 
	
		
			
				|  |  | +        margin-top: 20px;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      .echarts-box {
 | 
	
		
			
				|  |  | -        width: 100%;
 | 
	
		
			
				|  |  | -        height: 320px;
 | 
	
		
			
				|  |  | -        position: relative;
 | 
	
		
			
				|  |  | -        display: flex;
 | 
	
		
			
				|  |  | -        justify-content: space-between;
 | 
	
		
			
				|  |  | +        .echarts-box {
 | 
	
		
			
				|  |  | +          width: 100%;
 | 
	
		
			
				|  |  | +          height: 320px;
 | 
	
		
			
				|  |  | +          position: relative;
 | 
	
		
			
				|  |  | +          display: flex;
 | 
	
		
			
				|  |  | +          justify-content: space-between;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        .echarts-line {
 | 
	
		
			
				|  |  | -          width: calc(100% + 80px);
 | 
	
		
			
				|  |  | -          position: absolute;
 | 
	
		
			
				|  |  | +          .echarts-line {
 | 
	
		
			
				|  |  | +            width: calc(100% + 80px);
 | 
	
		
			
				|  |  | +            position: absolute;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -:deep(.zxm-table-body) {
 | 
	
		
			
				|  |  | -  border: 1px solid rgba(57, 232, 255, 0.2) !important;
 | 
	
		
			
				|  |  | +  :deep(.zxm-table-body) {
 | 
	
		
			
				|  |  | +    border: 1px solid rgba(57, 232, 255, 0.2) !important;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  .zxm-table-tbody>tr>td {
 | 
	
		
			
				|  |  | -    border: none !important;
 | 
	
		
			
				|  |  | +    .zxm-table-tbody > tr > td {
 | 
	
		
			
				|  |  | +      border: none !important;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -:deep(.zxm-table-cell) {
 | 
	
		
			
				|  |  | -  border-right: none !important;
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | +  :deep(.zxm-table-cell) {
 | 
	
		
			
				|  |  | +    border-right: none !important;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  </style>
 |