<script lang="ts" setup name="JX"> import useSettingsStore from "@/store/modules/settings"; import useWebsocketStore from "@/store/modules/websocket"; import {getRobotList} from "@/api/home/robot/robot"; import {getConfigList, getDevList, saveConfig, setDevConfig} from "@/api/home/tcy/tcy"; import {Message} from "@element-plus/icons-vue"; import {ElMessage} from "element-plus"; const settingsStore = useSettingsStore() const websocket = useWebsocketStore() const $route = useRoute() const device = ref({ "createTime": "", "description": "", "integralThreshold": "", "detectorId": 1, "id": 1, "psdE": "", "psdLongGate": "", "psdOffset": "", "psdPeriod": "", "psdShortGate": "", "psdTrig": "", "psdVth": "", "rawPeriod": "", "rawSample": "", "rawTrig": "", "rawVth": "", "vol6": "" }) function save() { saveConfig(device.value).then((res) => { if(res.code === 200) { ElMessage.success('参数写入成功') } }) } function setDev() { setDevConfig(device.value).then((res) => { if(res.code === 200) { ElMessage.success('保存参数成功') } }) } function getConfig() { getDevList({}).then((response) => { if(response.code === 200) { const robot = response.data.filter((item: { robotId: any; }) => item.robotId === settingsStore.robot.id)[0] device.value.detectorId = robot.id getConfigList({detectorId: robot.id}).then((res) => { if(res.code === 200) { if(res.data.length !== 0) { device.value = res.data[0] } } }) } }) } onMounted(() => { setTimeout(() => { getConfig() }, 300) }) onBeforeUnmount(() => { }) </script> <template> <app-container> <div style="margin: 10px;float: right"> <el-button type="primary" @click="save">参数写入</el-button> <el-button type="info" @click="getConfig">加载参数</el-button> <el-button type="primary" @click="setDev">保存参数</el-button> </div> <div style="display: flex;margin-top: 20px"> <div style="flex: 1;padding-left: 100px"> <div class="control-title">高速一波形采样</div> <el-form ref="dataFormRef" label-position="left" label-width="110px"> <el-form-item label="触发方式" > <el-select v-model="device.rawTrig"> <el-option :key="0" label="无" value="0"/> <el-option :key="1" label="周期" value="1"/> <el-option :key="2" label="上升沿" value="2"/> <el-option :key="3" label="下降沿" value="3"/> </el-select> </el-form-item> <el-form-item label="触发周期(ms)" > <el-input-number v-model="device.rawPeriod" :step="1" style="width: 214px"/> </el-form-item> <el-form-item label="触发值(mv)" > <el-input-number v-model="device.rawVth" :step="1" style="width: 214px"/> </el-form-item> <div class="control-title">高压模块</div> <el-form-item label="第1路 (kV)" > <el-input-number v-model="device.vol6" :precision="3" :step="0.001" style="width: 214px"/> </el-form-item> <div class="control-title">基线设置</div> <el-form-item label="积分阈值" > <el-input-number v-model="device.integralThreshold" :step="1" style="width: 214px"/> </el-form-item> </el-form> </div> <div style="flex: 1"> <div class="control-title">高速一波形甄别</div> <el-form ref="dataFormRef" label-position="left" label-width="110px"> <el-form-item label="E最大值" > <el-input-number v-model="device.psdE" :step="1" style="width: 214px"/> </el-form-item> <el-form-item label="触发方式" > <el-select v-model="device.psdTrig"> <el-option :key="0" label="无" value="0"/> <el-option :key="1" label="周期" value="1"/> <el-option :key="2" label="上升沿" value="2"/> <el-option :key="3" label="下降沿" value="3"/> </el-select> </el-form-item> <el-form-item label="触发周期(ms)" > <el-input-number v-model="device.psdPeriod" :step="1" style="width: 214px"/> </el-form-item> <el-form-item label="触发值(mv)" > <el-input-number v-model="device.psdVth" :step="1" style="width: 214px"/> </el-form-item> <el-form-item label="门偏(ns)" > <el-input-number v-model="device.psdOffset" :step="1" style="width: 214px"/> </el-form-item> <el-form-item label="长门(ns)" > <el-input-number v-model="device.psdLongGate" step="1" style="width: 214px"/> </el-form-item> <el-form-item label="短门(ns)" > <el-input-number v-model="device.psdShortGate" :step="1" style="width: 214px"/> </el-form-item> </el-form> </div> </div> </app-container> </template> <style lang="scss" scoped> .control-title { color: white; background-color: #ff9f11; border-radius: 10px; width: 140px; height: 30px; line-height: 30px; font-weight: bold; text-align: center; letter-spacing: 1px; font-family: Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif; margin: 20px 20px 20px -70px; } </style>