Browse Source

feat: 兼容云端的一些修改

main
betaqi 2 months ago
parent
commit
c35d9e265e
  1. 1
      global.types/components.d.ts
  2. 23
      src/views/stationData/components/deviceDrawer.vue
  3. 1
      src/views/stationData/components/newDataChart.vue

1
global.types/components.d.ts vendored

@ -24,6 +24,7 @@ declare module 'vue' {
ElDialog: typeof import('element-plus/es')['ElDialog'] ElDialog: typeof import('element-plus/es')['ElDialog']
ElDivider: typeof import('element-plus/es')['ElDivider'] ElDivider: typeof import('element-plus/es')['ElDivider']
ElDrawer: typeof import('element-plus/es')['ElDrawer'] ElDrawer: typeof import('element-plus/es')['ElDrawer']
ElEmpty: typeof import('element-plus/es')['ElEmpty']
ElHeader: typeof import('element-plus/es')['ElHeader'] ElHeader: typeof import('element-plus/es')['ElHeader']
ElInput: typeof import('element-plus/es')['ElInput'] ElInput: typeof import('element-plus/es')['ElInput']
ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenu: typeof import('element-plus/es')['ElMenu']

23
src/views/stationData/components/deviceDrawer.vue

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

1
src/views/stationData/components/newDataChart.vue

@ -90,7 +90,6 @@ const chartOption = computed<EChartsOption>(() => {
tmpSeries.push(lineData) tmpSeries.push(lineData)
} }
const option: EChartsOption = { const option: EChartsOption = {
grid: { grid: {
left: 60, left: 60,

Loading…
Cancel
Save