规程添加绑定功能

This commit is contained in:
2026-05-13 13:56:19 +08:00
parent dce80a225b
commit 5e3d0f0c00
11 changed files with 1110 additions and 33 deletions

View File

@@ -91,8 +91,7 @@ import * as echarts from 'echarts'
import {
getTimingPlanList,
getTimingPlanCount,
getTimingPlanDetail,
getTimingSegByEncoilId
getPlanWithSeg
} from '@/api/l2/timing'
const PLAN_FIELDS = [
@@ -157,7 +156,7 @@ export default {
}
},
created() {
// plain instance property — Vue 2 does NOT proxy underscore-prefixed names
// plain instance properties — Vue 2 does NOT proxy underscore-prefixed names
this.chartInstances = []
this.resizeHandler = null
this.loadPlanCount()
@@ -194,44 +193,37 @@ export default {
if (!this.queryForm.coilId) return this.loadPlanList()
this.loading = true
try {
const res = await getTimingPlanDetail(this.queryForm.coilId)
const row = res?.data?.firstRow || null
if (row) {
this.selectedPlan = row
await this.loadPerf(row)
}
await this._loadFull(this.queryForm.coilId)
} finally {
this.loading = false
}
},
async handlePlanRowClick(row) {
this.selectedPlan = row
const encoilId = row.encoilid || row.coilid
if (!encoilId) return
this.disposeCharts()
this.perfSeries = null
this.perfSegCount = 0
this.disposeCharts()
await this.loadPerf(row)
},
async loadPerf(plan) {
const encoilId = plan.encoilid || plan.coilid
if (!encoilId) return
this.perfLoading = true
try {
const res = await getTimingSegByEncoilId(encoilId)
const series = res?.data?.series || null
const rows = res?.data?.rows || []
this.perfSegCount = rows.length
this.perfSeries = series
if (series && rows.length) {
await this.$nextTick()
this.renderCharts(series)
}
} catch (_) {
this.perfSeries = null
this.perfSegCount = 0
await this._loadFull(encoilId)
} finally {
this.perfLoading = false
}
},
async _loadFull(encoilId) {
const res = await getPlanWithSeg(encoilId)
const plan = res?.data?.plan || res?.data?.firstRow || null
const series = res?.data?.series || null
const rows = res?.data?.rows || []
if (plan) this.selectedPlan = plan
this.perfSegCount = rows.length
this.perfSeries = series
if (series && rows.length) {
await this.$nextTick()
this.renderCharts(series)
}
},
disposeCharts() {
if (this.resizeHandler) {
window.removeEventListener('resize', this.resizeHandler)