2024-12-30 14:43:13 +08:00
|
|
|
<template>
|
2025-02-13 16:15:26 +08:00
|
|
|
<div class="editor-container">
|
|
|
|
|
<div class="left-editor">
|
|
|
|
|
<!-- 左侧编辑区域内容 -->
|
2025-02-17 08:39:18 +08:00
|
|
|
<!-- <canvas ref="canvas" width="700" height="165"></canvas> -->
|
|
|
|
|
<Line :options="chartsData" style="width: 700px; height: 165px" ref="lineRef" />
|
2025-02-13 16:15:26 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="right-editor">
|
|
|
|
|
<!-- 右侧编辑区域内容 -->
|
2025-02-17 08:39:18 +08:00
|
|
|
<el-form :inline="true" label-width="auto" :model="form" class="form-two">
|
2025-02-24 16:45:39 +08:00
|
|
|
<el-form-item :label="`电压有效值(${valueCode == 'Absolute' ? 'V' : '%'})`">
|
2025-02-27 08:41:33 +08:00
|
|
|
<el-input type="number" v-model="form[0].famp" :disabled="!form[0].channelFlag" />
|
2025-02-13 16:15:26 +08:00
|
|
|
</el-form-item>
|
2025-02-24 16:45:39 +08:00
|
|
|
<el-form-item label="电压相角(°)">
|
2025-02-27 08:41:33 +08:00
|
|
|
<el-input type="number" v-model="form[0].fphase" :disabled="!form[0].channelFlag" />
|
2025-02-13 16:15:26 +08:00
|
|
|
</el-form-item>
|
2025-02-24 16:45:39 +08:00
|
|
|
<el-form-item :label="`电流有效值(${valueCode == 'Absolute' ? 'A' : '%'})`">
|
2025-02-27 08:41:33 +08:00
|
|
|
<el-input type="number" v-model="form[1].famp" :disabled="!form[1].channelFlag" />
|
2025-02-13 16:15:26 +08:00
|
|
|
</el-form-item>
|
2025-02-24 16:45:39 +08:00
|
|
|
|
2025-02-13 16:15:26 +08:00
|
|
|
<el-form-item label="电流相角(°)">
|
2025-02-27 08:41:33 +08:00
|
|
|
<el-input type="number" v-model="form[1].fphase" :disabled="!form[1].channelFlag" />
|
2025-02-13 16:15:26 +08:00
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</div>
|
2024-12-30 14:43:13 +08:00
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
2025-02-20 16:39:15 +08:00
|
|
|
import { onMounted, ref, watch } from 'vue'
|
2025-02-17 08:39:18 +08:00
|
|
|
import Line from '@/components/echarts/line/index.vue'
|
2025-02-17 16:44:02 +08:00
|
|
|
// const emit = defineEmits(['update'])
|
|
|
|
|
const props = defineProps({
|
|
|
|
|
childForm: {
|
|
|
|
|
type: Array,
|
|
|
|
|
required: true
|
2025-02-24 16:45:39 +08:00
|
|
|
},
|
|
|
|
|
valueCode: {
|
|
|
|
|
type: String,
|
|
|
|
|
required: true
|
2025-02-17 16:44:02 +08:00
|
|
|
}
|
2025-02-13 16:15:26 +08:00
|
|
|
})
|
2025-02-17 16:44:02 +08:00
|
|
|
|
2025-02-17 08:39:18 +08:00
|
|
|
const lineRef: any = ref()
|
|
|
|
|
const chartsData = ref({})
|
2025-02-17 16:44:02 +08:00
|
|
|
// 解构并创建响应式变量
|
2025-02-20 16:39:15 +08:00
|
|
|
const form: any = computed({
|
2025-02-17 16:44:02 +08:00
|
|
|
get() {
|
|
|
|
|
return props.childForm
|
|
|
|
|
},
|
2025-02-20 16:39:15 +08:00
|
|
|
set(value) {}
|
2025-02-17 16:44:02 +08:00
|
|
|
})
|
2025-01-06 09:21:24 +08:00
|
|
|
|
|
|
|
|
onMounted(() => {
|
2025-02-17 08:39:18 +08:00
|
|
|
drawSineWave()
|
2025-02-13 16:15:26 +08:00
|
|
|
})
|
2025-01-06 09:21:24 +08:00
|
|
|
|
2025-02-17 08:39:18 +08:00
|
|
|
function drawSineWave() {
|
|
|
|
|
chartsData.value = {
|
|
|
|
|
tooltip: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
legend: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
grid: {
|
|
|
|
|
left: 0,
|
|
|
|
|
right: 0,
|
|
|
|
|
top: '10px',
|
|
|
|
|
bottom: '10px'
|
|
|
|
|
},
|
|
|
|
|
xAxis: {
|
|
|
|
|
name: '',
|
|
|
|
|
|
|
|
|
|
boundaryGap: false,
|
|
|
|
|
splitLine: {
|
|
|
|
|
show: true,
|
|
|
|
|
lineStyle: {
|
|
|
|
|
type: 'dashed',
|
|
|
|
|
color: ['#cfcfcf']
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
axisLabel: {
|
|
|
|
|
show: false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
yAxis: {
|
|
|
|
|
name: '',
|
|
|
|
|
splitLine: {
|
|
|
|
|
lineStyle: {
|
|
|
|
|
// 使用深浅的间隔色
|
|
|
|
|
color: ['#ccc'],
|
|
|
|
|
type: 'solid',
|
|
|
|
|
opacity: 1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
options: {
|
|
|
|
|
dataZoom: null,
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: '',
|
|
|
|
|
type: 'line',
|
2025-02-17 16:44:02 +08:00
|
|
|
data: [10, -10, 10, -10, 10, -10, 10, -10, 10, -10, 10],
|
2025-02-17 08:39:18 +08:00
|
|
|
showSymbol: false,
|
|
|
|
|
smooth: true
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2025-02-13 16:15:26 +08:00
|
|
|
}
|
2025-01-06 09:21:24 +08:00
|
|
|
}
|
2024-12-30 14:43:13 +08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
|
canvas {
|
2025-02-13 16:15:26 +08:00
|
|
|
border: 1px solid #ccc;
|
2024-12-30 14:43:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.editor-container {
|
2025-02-13 16:15:26 +08:00
|
|
|
display: flex;
|
|
|
|
|
height: 100%;
|
2024-12-30 14:43:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.left-editor {
|
2025-02-17 08:39:18 +08:00
|
|
|
flex: 1;
|
|
|
|
|
margin-left: 20px;
|
2024-12-30 14:43:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.right-editor {
|
2025-02-13 16:15:26 +08:00
|
|
|
width: 600px;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
2024-12-30 14:43:13 +08:00
|
|
|
}
|
2025-02-13 16:15:26 +08:00
|
|
|
</style>
|