| | |
| | | type: String, |
| | | required: false, |
| | | }, |
| | | tableHeight: { |
| | | type: Number, |
| | | default: document.body.clientHeight * 0.7, |
| | | }, |
| | | showFilter: { |
| | | type: Boolean, |
| | | default: true, |
| | |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | reportIndex:{ |
| | | reportIndex: { |
| | | type: Number, |
| | | default: 0, |
| | | }, |
| | |
| | | }, |
| | | }); |
| | | |
| | | const tableLimitHeight = props.chartHeight == undefined ? undefined : document.body.clientHeight * 0.7; |
| | | const tableLimitHeight = props.chartHeight == undefined ? undefined : props.tableHeight; |
| | | |
| | | const chartLoading = ref(false); |
| | | |
| | |
| | | const getVisibleParams = (data) => { |
| | | // const visibleList = props.data?.params?.filter((item) => !item?.hide) ?? []; |
| | | // index 作为 id |
| | | const dataFilter = data?.filter ?? []; |
| | | const visibleList = (data?.filter ?? []).map((item, index) => { |
| | | // 不修改原始地址 |
| | | item.id = index + ''; |
| | |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | const visibleParams = ref(getVisibleParams(props.data)); |
| | | |
| | | const checkIsDayTime = () => { |
| | |
| | | } |
| | | : axisLabelFormatter; |
| | | |
| | | const tooltipValueFormatter = |
| | | originChartType === ChartTypeEnum.Score |
| | | ? (value) => { |
| | | return scoreMap[value]; |
| | | } |
| | | : undefined; |
| | | const tooltipValueFormatter = (value) => { |
| | | const realValue = originChartType === ChartTypeEnum.Score ? scoreMap[value] : value; |
| | | return realValue + (props.data.unit ? ` ${props.data.unit}` : ''); |
| | | }; |
| | | |
| | | const scoreYAxisOption: echarts.YAXisComponentOption = { |
| | | min: 0, |
| | |
| | | name: timeCol?.title, |
| | | }, |
| | | yAxis: { |
| | | name: valueCol?.title, |
| | | name: props.data.unit ? `${props.data.unit}` : valueCol?.title, |
| | | |
| | | /** @description 不强制保留 */ |
| | | scale: true, |
| | | ...(originChartType === ChartTypeEnum.Score ? scoreYAxisOption : {}), |
| | |
| | | .toSorted((b, a) => { |
| | | return b[0].localeCompare(a[0]); |
| | | }); |
| | | const getColName = (name) => { |
| | | if (props.data.unit) { |
| | | return `${name}(${props.data.unit})`; |
| | | } |
| | | return name; |
| | | }; |
| | | const cols = currentSeries.value.map((item, index) => ({ |
| | | title: item.name ?? `值${index + 1}`, |
| | | title: getColName(item.name ?? `值${index + 1}`), |
| | | type: 'text', |
| | | })); |
| | | |
| | |
| | | updateCurrent(summary?.[props.summaryIndex], true); |
| | | }; |
| | | |
| | | const clearChart = () => { |
| | | chartInstance.value.setOption( |
| | | { |
| | | title: { |
| | | text: '', |
| | | }, |
| | | series: [], |
| | | }, |
| | | true |
| | | ); |
| | | }; |
| | | |
| | | defineExpose({ |
| | | drawChart, |
| | | isMultiCompare, |
| | | handleMultiCompare, |
| | | handleData, |
| | | updateAll, |
| | | |
| | | clearChart, |
| | | updateIndexSummary, |
| | | }); |
| | | </script> |