2024-12-30 14:43:13 +08:00
|
|
|
<template>
|
|
|
|
|
<div class="editor-container">
|
2025-02-18 16:36:54 +08:00
|
|
|
<div class="left-editor">
|
|
|
|
|
<!-- 左侧编辑区域内容 -->
|
|
|
|
|
|
|
|
|
|
<img src="@/assets/images/transient.png" />
|
2025-02-24 16:45:39 +08:00
|
|
|
<!-- <div class="inputTop">
|
2025-02-18 16:36:54 +08:00
|
|
|
<el-input v-model="form[0].dipData.fValue" style="width: 150px; left: 4%" :disabled="!form[0].dipFlag">
|
|
|
|
|
<template #append>S</template>
|
|
|
|
|
</el-input>
|
|
|
|
|
<el-input v-model="form[0].dipData.fValue" style="width: 150px; left: 22%" :disabled="!form[0].dipFlag">
|
|
|
|
|
<template #append>S</template>
|
|
|
|
|
</el-input>
|
|
|
|
|
<el-input v-model="form[0].dipData.fValue" style="width: 150px; left: 40%" :disabled="!form[0].dipFlag">
|
|
|
|
|
<template #append>S</template>
|
|
|
|
|
</el-input>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="inputBottom">
|
|
|
|
|
<el-input v-model="form[0].dipData.fValue" style="width: 150px; left: 21%" :disabled="!form[0].dipFlag">
|
|
|
|
|
<template #append>S</template>
|
|
|
|
|
</el-input>
|
|
|
|
|
<el-input v-model="form[0].dipData.fValue" style="width: 150px; left: 40%" :disabled="!form[0].dipFlag">
|
|
|
|
|
<template #append>S</template>
|
|
|
|
|
</el-input>
|
2025-02-24 16:45:39 +08:00
|
|
|
</div> -->
|
2025-02-18 16:36:54 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="right-editor">
|
|
|
|
|
<!-- 右侧编辑区域内容 -->
|
|
|
|
|
<el-form-item label-width="120px" label="设定幅度(%)">
|
2025-02-27 08:41:33 +08:00
|
|
|
<el-input
|
|
|
|
|
type="number"
|
|
|
|
|
@input="handleInput"
|
|
|
|
|
v-model="form[0].dipData.ftransValue"
|
|
|
|
|
style="width: 150px"
|
|
|
|
|
:disabled="!form[0].dipFlag"
|
2025-04-09 14:30:00 +08:00
|
|
|
onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"
|
2025-02-27 08:41:33 +08:00
|
|
|
/>
|
2025-02-18 16:36:54 +08:00
|
|
|
</el-form-item>
|
2025-03-14 15:03:36 +08:00
|
|
|
<el-form-item label-width="120px" label="持续时间(周波)">
|
2025-02-27 08:41:33 +08:00
|
|
|
<el-input
|
|
|
|
|
type="number"
|
|
|
|
|
v-model="form[0].dipData.retainTime"
|
2025-04-09 14:30:00 +08:00
|
|
|
@input="handleInputRetainTime"
|
2025-02-27 08:41:33 +08:00
|
|
|
style="width: 150px"
|
|
|
|
|
:disabled="!form[0].dipFlag"
|
2025-04-09 14:30:00 +08:00
|
|
|
onkeypress="return (/[\d.]/.test(String.fromCharCode(event.keyCode)))"
|
2025-02-27 08:41:33 +08:00
|
|
|
/>
|
2025-02-18 16:36:54 +08:00
|
|
|
</el-form-item>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2024-12-30 14:43:13 +08:00
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
2025-02-18 16:36:54 +08:00
|
|
|
import { onMounted, ref, watch } from 'vue'
|
|
|
|
|
const props = defineProps({
|
|
|
|
|
childForm: {
|
|
|
|
|
type: Array,
|
|
|
|
|
required: true
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
const form: any = computed({
|
|
|
|
|
get() {
|
|
|
|
|
return props.childForm
|
|
|
|
|
},
|
|
|
|
|
set(value) {}
|
|
|
|
|
})
|
2025-04-10 11:11:23 +08:00
|
|
|
const emit = defineEmits(['setRetainTime'])
|
2025-02-27 08:41:33 +08:00
|
|
|
const handleInput = value => {
|
|
|
|
|
if (value < 0) {
|
2025-04-09 14:30:00 +08:00
|
|
|
ElMessage.warning("设定幅度不能小于0%")
|
2025-02-27 08:41:33 +08:00
|
|
|
props.childForm[0].dipData.ftransValue = 0
|
2025-04-09 14:30:00 +08:00
|
|
|
} else if (value > 140) {
|
|
|
|
|
ElMessage.warning("设定幅度不能大于140%")
|
|
|
|
|
props.childForm[0].dipData.ftransValue = 140
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const handleInputRetainTime = value => {
|
|
|
|
|
if (value < 0) {
|
|
|
|
|
ElMessage.warning("持续时间不能小于0周波")
|
|
|
|
|
props.childForm[0].dipData.retainTime = 0
|
2025-04-10 11:11:23 +08:00
|
|
|
emit('setRetainTime', 0 )
|
2025-04-09 14:30:00 +08:00
|
|
|
}else if (value > 300) {
|
|
|
|
|
ElMessage.warning("持续时间不能大于300周波")
|
|
|
|
|
props.childForm[0].dipData.retainTime = 300
|
2025-04-10 11:11:23 +08:00
|
|
|
emit('setRetainTime', 300 )
|
|
|
|
|
}else{
|
|
|
|
|
console.log(props);
|
|
|
|
|
|
|
|
|
|
emit('setRetainTime', value )
|
2025-02-27 08:41:33 +08:00
|
|
|
}
|
|
|
|
|
}
|
2025-04-10 11:11:23 +08:00
|
|
|
|
2024-12-30 14:43:13 +08:00
|
|
|
</script>
|
|
|
|
|
|
2025-02-18 16:36:54 +08:00
|
|
|
<style lang="scss" scoped>
|
2024-12-30 14:43:13 +08:00
|
|
|
canvas {
|
2025-02-18 16:36:54 +08:00
|
|
|
border: 1px solid #ccc;
|
2024-12-30 14:43:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.editor-container {
|
2025-02-18 16:36:54 +08:00
|
|
|
display: flex;
|
|
|
|
|
height: 100%;
|
|
|
|
|
width: 100%;
|
2024-12-30 14:43:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.left-editor {
|
2025-02-18 16:36:54 +08:00
|
|
|
flex: 1; /* 左侧区域占据 3/4 的宽度 */
|
|
|
|
|
position: relative;
|
|
|
|
|
img {
|
|
|
|
|
width: 90%;
|
2025-03-27 14:59:01 +08:00
|
|
|
height: 140px;
|
2025-02-18 16:36:54 +08:00
|
|
|
margin: 0 10px 20px;
|
|
|
|
|
}
|
|
|
|
|
.inputTop {
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 20px;
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
.inputBottom {
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: -5px;
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
2024-12-30 14:43:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.right-editor {
|
2025-02-18 16:36:54 +08:00
|
|
|
width: 400px;
|
|
|
|
|
/* margin-right: 250px; 向左侧移动一点 */
|
2024-12-30 14:43:13 +08:00
|
|
|
}
|
2025-02-18 16:36:54 +08:00
|
|
|
</style>
|