|
|
|
@ -11,7 +11,7 @@
@@ -11,7 +11,7 @@
|
|
|
|
|
<div class="flex-1 p-4 h-full overflow-hidden"> |
|
|
|
|
<el-button class="mb-4" type="primary" |
|
|
|
|
@click="loadChardData">查询数据</el-button> |
|
|
|
|
<NewDataChart v-if="isShowChart" :chart-datas="chartDatas" :legends="legends" |
|
|
|
|
<NewDataChart v-if="isShowChart && !loading" :chart-datas="chartDatas" :legends="legends" |
|
|
|
|
:axis-data="Array.from(axisData)" ref="chartRef" /> |
|
|
|
|
</div> |
|
|
|
|
</main> |
|
|
|
@ -120,6 +120,9 @@ async function loadDeviceDetails() {
@@ -120,6 +120,9 @@ async function loadDeviceDetails() {
|
|
|
|
|
if (!fullscreenLoading.value) { |
|
|
|
|
openFullScreen() |
|
|
|
|
} |
|
|
|
|
chartDatas.clear() |
|
|
|
|
axisData.clear() |
|
|
|
|
legends.value = [] |
|
|
|
|
const poinsRes = await loadPoints() |
|
|
|
|
if (!poinsRes || poinsRes.code !== 0) { |
|
|
|
|
message.error('获取点位数据失败') |
|
|
|
@ -136,6 +139,9 @@ async function loadDeviceDetails() {
@@ -136,6 +139,9 @@ async function loadDeviceDetails() {
|
|
|
|
|
const chartDatas = reactive(new Map<string, any[]>()) |
|
|
|
|
const axisData = new Set<string>() |
|
|
|
|
const legends = ref<{ addr: string; label: string }[]>([]) |
|
|
|
|
|
|
|
|
|
const loading = ref(false) |
|
|
|
|
|
|
|
|
|
async function loadChardData(){ |
|
|
|
|
if(!columsParams.value.filter(i => i !== 'ts').length){ |
|
|
|
|
message.error('请选择点位') |
|
|
|
@ -153,18 +159,23 @@ async function loadChardData(){
@@ -153,18 +159,23 @@ async function loadChardData(){
|
|
|
|
|
params.site_id = props.siteInfo!.name || '' |
|
|
|
|
params.device_id = curDevice.value?.sn || '' |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
loading.value = true |
|
|
|
|
const res = await getDeviceDetails(params) |
|
|
|
|
|
|
|
|
|
if (res.code === 0) { |
|
|
|
|
pointData.value = Array.isArray(res.data.results) ? res.data.results : [] |
|
|
|
|
chartDatas.clear() |
|
|
|
|
axisData.clear() |
|
|
|
|
for (const addr of columsParams.value.filter(i => i !== 'ts')) { |
|
|
|
|
const label = pointList.value.find(i => i.addr === addr)?.label || addr |
|
|
|
|
const find = legends.value.find(i => i.addr === addr) |
|
|
|
|
if (!find) { |
|
|
|
|
legends.value.push({ addr, label }) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
pointData.value.forEach((data: any[]) => { |
|
|
|
|
const [ts, val, addr] = data |
|
|
|
|
legends.value.push({ |
|
|
|
|
addr: addr, |
|
|
|
|
label: checkPointList.value.find(i => i.addr === addr)!.label, |
|
|
|
|
}) |
|
|
|
|
if (checkPointList.value.some(i => i.addr === addr)) { |
|
|
|
|
const time = dayjs(Number(ts)).format('YYYY-MM-DD HH:mm:ss') |
|
|
|
|
if (addr) { |
|
|
|
@ -184,6 +195,8 @@ async function loadChardData(){
@@ -184,6 +195,8 @@ async function loadChardData(){
|
|
|
|
|
} else { |
|
|
|
|
message.error('获取设备数据失败') |
|
|
|
|
} |
|
|
|
|
console.log(chartDatas, axisData, legends) |
|
|
|
|
loading.value = false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function zmqImport(device: IOfflineDevice) { |
|
|
|
|