|  | @@ -26,6 +26,7 @@
 | 
	
		
			
				|  |  |        <BarAndLine
 | 
	
		
			
				|  |  |          v-if="showCurve"
 | 
	
		
			
				|  |  |          :charts-columns="chartsColumns"
 | 
	
		
			
				|  |  | +        chartsType="history"
 | 
	
		
			
				|  |  |          :option="{
 | 
	
		
			
				|  |  |            legend: {
 | 
	
		
			
				|  |  |              top: '5',
 | 
	
	
		
			
				|  | @@ -225,13 +226,16 @@
 | 
	
		
			
				|  |  |      setColumns(columns.value);
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +  const showCurve = ref(false);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    // 是否显示历史曲线,在devices_shows_history_curve字典里可以配置哪些设备类型需要显示曲线
 | 
	
		
			
				|  |  |    // 字典内的字段可以是前缀,例如fanlocal之于fanlocal_normal
 | 
	
		
			
				|  |  |    // 安全监控设备需要更多的配置,除去配置safetymonitor,还需要配置哪些安全监控设备需要曲线
 | 
	
		
			
				|  |  |    // 因此可以配置例如A1001的dataTypeName代码(可以查看真实数据参考)
 | 
	
		
			
				|  |  | -  const historyCurveDicts = getDictItemsByCode('devices_shows_history_curve') || [];
 | 
	
		
			
				|  |  | -  const findDict = (str) => historyCurveDicts.some(({ value }) => str.startsWith(value));
 | 
	
		
			
				|  |  | -  const showCurve = computed(() => {
 | 
	
		
			
				|  |  | +  function calcShowCurveValue() {
 | 
	
		
			
				|  |  | +    const historyCurveDicts = getDictItemsByCode('devices_shows_history_curve') || [];
 | 
	
		
			
				|  |  | +    const findDict = (str) => historyCurveDicts.some(({ value }) => str.startsWith(value));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      if (!props.showHistoryCurve) return false;
 | 
	
		
			
				|  |  |      const dt = props.deviceType; // 依赖项
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -241,7 +245,8 @@
 | 
	
		
			
				|  |  |      // 和字典的设备类型匹配后,如果是安全监控设备,需要额外的匹配安全监控类型
 | 
	
		
			
				|  |  |      const dtns = get(selectedOption.value, 'readData.dataTypeName', ''); // 依赖项
 | 
	
		
			
				|  |  |      return findDict(dtns);
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    const tableScroll = computed(() => {
 | 
	
		
			
				|  |  |      if (props.scroll.y && showCurve.value) return { y: props.scroll.y - 450 };
 | 
	
		
			
				|  |  |      if (props.scroll.y) return { y: props.scroll.y - 100 };
 | 
	
	
		
			
				|  | @@ -273,7 +278,6 @@
 | 
	
		
			
				|  |  |        response = await getDeviceListApi({
 | 
	
		
			
				|  |  |          systemID: props.sysId,
 | 
	
		
			
				|  |  |          devicetype: 'sys',
 | 
	
		
			
				|  |  | -        pageSize: 10000,
 | 
	
		
			
				|  |  |        }).then(({ msgTxt }) => {
 | 
	
		
			
				|  |  |          return { msgTxt: msgTxt.filter((e) => e.type === props.deviceType) };
 | 
	
		
			
				|  |  |        });
 | 
	
	
		
			
				|  | @@ -315,6 +319,7 @@
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        stationType.value = deviceOptions.value[0]['stationtype'];
 | 
	
		
			
				|  |  | +      showCurve.value = calcShowCurveValue();
 | 
	
		
			
				|  |  |        if (props.deviceType.startsWith('vehicle')) {
 | 
	
		
			
				|  |  |          historyType.value = 'vehicle';
 | 
	
		
			
				|  |  |        } else {
 | 
	
	
		
			
				|  | @@ -476,6 +481,7 @@
 | 
	
		
			
				|  |  |                          deviceTypeStr.value = option['strtype'];
 | 
	
		
			
				|  |  |                        }
 | 
	
		
			
				|  |  |                        stationType.value = option['stationtype'];
 | 
	
		
			
				|  |  | +                      showCurve.value = calcShowCurveValue();
 | 
	
		
			
				|  |  |                        nextTick(async () => {
 | 
	
		
			
				|  |  |                          await getDataSource();
 | 
	
		
			
				|  |  |                        });
 |