Commit fe197214 authored by 高晓帆's avatar 高晓帆

最新需求去掉

parent 8b5440d8
export const INFORMATION_MESSAGE = [
[
{
name: 'oemstateflag',
label: '模式给定'
},
{
name: 'oemstate',
label: '反馈'
}
],
[
{
name: 'gearcmd',
label: '挡位给定'
},
{
name: 'Current_Gear',
label: '反馈'
}
],
[
{
name: 'target_velocity',
label: '速度给定'
},
{
name: 'VechicleSpd',
label: '反馈'
}
],
[
{
name: 'steerangle',
label: '转向给定'
},
{
name: 'Steering_angle',
label: '反馈'
}
],
[
{
name: 'dump_bed',
label: '举升给定'
},
{
name: 'Dump_Bed_Position',
label: '反馈'
}
],
[
{
name: 'throttlecmd',
label: '油门给定'
},
{
name: 'throttle',
label: '反馈'
}
],
[
{
name: 'Retarder_cmd',
label: '电制动给定'
},
{
name: 'retarder_position',
label: '反馈'
}
],
[
{
name: 'loadBrakeCmd',
label: '装载制动给定'
},
],
[
{
name: 'loadBrakeStatus',
label: '装载制动反馈'
},
],
[
{
name: 'mechBrakeCmd',
label: '机械制动给定'
},
],
[
{
name: 'mechBrakeStatus',
label: '机械制动反馈'
},
],
[
{
name: 'AutoChangeFlag',
label: '转向状态码'
},
],
[
{
name: 'EngSpd',
label: '发动机转速'
},
],
[
{
name: 'vehicleLoad',
label: '载重'
}
],
[
{
name: 'oil',
label: '燃油剩余量'
}
],
// [
// {
// name: 'vehicleHeading',
// label: '朝向'
// },
// ],
// [
// {
// name: 'vehicleLongtitude',
// label: '经度'
// },
// ],
// [
// {
// name: 'vehicleLatitude',
// label: '纬度'
// },
// ],
[
{
name: 'lateralDeviation',
label: '横向偏差'
},
],
[
{
name: 'courseDeviation',
label: '航向偏差'
},
],
[
{
name: 'previewDeviation',
label: '预瞄偏差'
},
],
[
{
name: 'current_point',
label: '当前点'
},
{
name: 'all_amount',
label: '总点数'
}
],
[
{
name: 'obstacleFrontDistance',
label: '前向障碍物距离'
},
],
[
{
name: 'obstacleFrontFlag',
label: '前向障碍物标志'
},
],
[
{
name: 'obstacleBackDistance',
label: '后向障碍物距离'
},
],
[
{
name: 'obstacleBackBarriDistance',
label: '后向挡墙距离'
},
],
[
{
name: 'followStatus',
label: '跟会车状态'
},
],
]
// 跟会车字段,根据followVisible判断
export const FOLLOW_DETAILS = [
{
name: 'followVehicleId',
label: '跟会车车辆编号'
},
{
name: 'followDistance',
label: '跟会车距离'
},
{
name: 'followSpeed',
label: '跟会车速度'
},
]
\ No newline at end of file
export const INFORMATION_MESSAGE = [
[
{
name: 'oemstateflag',
label: '模式给定'
},
{
name: 'oemstate',
label: '反馈'
}
],
[
{
name: 'gearcmd',
label: '挡位给定'
},
{
name: 'Current_Gear',
label: '反馈'
}
],
[
{
name: 'target_velocity',
label: '速度给定'
},
{
name: 'VechicleSpd',
label: '反馈'
}
],
[
{
name: 'steerangle',
label: '转向给定'
},
{
name: 'Steering_angle',
label: '反馈'
}
],
[
{
name: 'dump_bed',
label: '举升给定'
},
{
name: 'Dump_Bed_Position',
label: '反馈'
}
],
[
{
name: 'throttlecmd',
label: '油门给定'
},
{
name: 'throttle',
label: '反馈'
}
],
[
{
name: 'Retarder_cmd',
label: '电制动给定'
},
{
name: 'retarder_position',
label: '反馈'
}
],
// [
// {
// name: 'loadBrakeCmd',
// label: '装载制动给定'
// },
// ],
// [
// {
// name: 'loadBrakeStatus',
// label: '装载制动反馈'
// },
// ],
// [
// {
// name: 'mechBrakeCmd',
// label: '机械制动给定'
// },
// ],
// [
// {
// name: 'mechBrakeStatus',
// label: '机械制动反馈'
// },
// ],
[
{
name: 'AutoChangeFlag',
label: '转向状态码'
},
],
[
{
name: 'EngSpd',
label: '发动机转速'
},
],
[
{
name: 'vehicleLoad',
label: '载重'
}
],
[
{
name: 'oil',
label: '燃油剩余量'
}
],
// [
// {
// name: 'vehicleHeading',
// label: '朝向'
// },
// ],
// [
// {
// name: 'vehicleLongtitude',
// label: '经度'
// },
// ],
// [
// {
// name: 'vehicleLatitude',
// label: '纬度'
// },
// ],
[
{
name: 'lateralDeviation',
label: '横向偏差'
},
],
[
{
name: 'courseDeviation',
label: '航向偏差'
},
],
[
{
name: 'previewDeviation',
label: '预瞄偏差'
},
],
[
{
name: 'current_point',
label: '当前点'
},
{
name: 'all_amount',
label: '总点数'
}
],
[
{
name: 'obstacleFrontDistance',
label: '前向障碍物距离'
},
],
[
{
name: 'obstacleFrontFlag',
label: '前向障碍物标志'
},
],
[
{
name: 'obstacleBackDistance',
label: '后向障碍物距离'
},
],
[
{
name: 'obstacleBackBarriDistance',
label: '后向挡墙距离'
},
],
[
{
name: 'followStatus',
label: '跟会车状态'
},
],
]
// 跟会车字段,根据followVisible判断
export const FOLLOW_DETAILS = [
{
name: 'followVehicleId',
label: '跟会车车辆编号'
},
{
name: 'followDistance',
label: '跟会车距离'
},
{
name: 'followSpeed',
label: '跟会车速度'
},
]
\ No newline at end of file
<template>
<div class="run-control">
<div class="content">
<div v-for="item in topList" :key="item.index" class="c-box">
<Button type="primary" @click="handleSave(item.key, item.value)">{{item.btn}}</Button>
<p>
<span class="desc">{{item.des}}</span>
<InputNumber v-model="form[item.value]" controls-outside></InputNumber>
</p>
</div>
</div>
<div class="run-middle">
<div class="content" v-for="item in middleList" :key="item.index">
<p class="c-box" v-for="list in item" :key="list.key">
<span>{{list.label}}</span>
<i-switch size="large" v-model="form[list.key]" @on-change="handleChange($event, list.type)">
<template #open>
<span>开启</span>
</template>
<template #close>
<span>关闭</span>
</template>
</i-switch>
</p>
</div>
</div>
<div class="content">
<p class="c-box b-box">
<Button type="primary" @click="boxDown(10)">货箱回落</Button>
<span>仅在0/1级故障下且货箱功能正常时点击</span>
</p>
<p class="c-box b-box">
<Button type="primary" @click="handleSave(6)">解锁</Button>
<span>解锁上次异常退出导致的路权锁定</span>
</p>
<p class="c-box b-box">
<Button type="primary" @click="handleSave(7)">加载参数</Button>
<span>触发控制模块重新加载参数</span>
</p>
</div>
<Modal v-model="isShow"
:closable="false"
:mask-closable="true"
@on-ok="handleSave(10)"
@on-cancel="boxCancel()">
<p style="text-align: center;">是否执行货箱回落指令</p>
</Modal>
</div>
</template>
<script setup>
import { ref,reactive, toRefs, watch, markRaw } from 'vue';
import { useVehicleStore } from '../../store/VehicleStore';
import { storeToRefs } from 'pinia';
const RUN_CONTROL_TOP = [
{
btn: '打火',
key: '1',
des: '打火持续时间',
value: 'engineStartTime'
},
{
btn: '熄火',
key: '2',
des: '熄火持续时间',
value: 'engineStallTime'
},
{
btn: '上电',
key: '3',
des: '上电持续时间',
value: 'powerOnTime'
},
]
const RUN_CONTROL_MIDDLE = [
[
{
label: '举升',
key: 'liftSwitch',
type: 4
},
{
label: '防滑',
key: 'antiSlideSlip',
type: '5'
}
],
[
// {
// label: '感知屏蔽',
// key: 'perceptionShielding',
// type: 8
// },
{
label: '绕障',
key: 'obstaclesBypassingEnable',
type: 9
}
]
]
const topList = markRaw(RUN_CONTROL_TOP)
const middleList = markRaw(RUN_CONTROL_MIDDLE)
const data = reactive({
form: {}
})
const { form } = toRefs(data)
const vehicleStore = useVehicleStore()
const vehicleStoreToRefs = storeToRefs(vehicleStore)
const { controlInfo } = vehicleStoreToRefs
const isShow=ref(false);
const emits = defineEmits(['sendMsg'])
function handleSend(msg) {
emits('sendMsg', {
type: '/setting/controlSetting',
msg: JSON.parse(JSON.stringify(msg))
})
}
function handleChange(value, key) {
let data = value ? 1 : 2
handleSend({
value: data,
type: Number(key)
})
}
function handleSave(type, key) {
let value = 1
if (key) {
value = form.value[key] || 1
}
let data = {
type: Number(type),
value
}
handleSend(data)
}
function boxDown(){
isShow.value=true;
}
function boxCancel(){
isShow.value=false;
}
watch(controlInfo, (value) => {
data.form = {...value}
}, {
immediate: true,
deep: true
})
</script>
<style lang="less" scoped>
.run-control {
overflow: auto;
.content {
padding: 10px 20px;
background: #111521;
border-radius: 8px;
.c-box {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0;
border-bottom: 2px solid rgba(63,69,86,0.6);
&:nth-last-child(1) {
border: 0;
}
.desc {
margin-right: 5px;
}
/deep/.ivu-btn-primary {
width: 88px;
}
}
.b-box {
justify-content: flex-start;
span {
margin-left: 10px;
}
}
}
.run-middle {
display: flex;
margin: 10px 0;
.content {
width: 50%;
&:nth-child(1) {
margin-right: 10px;
}
}
}
}
</style>
\ No newline at end of file
<template>
<div class="run-control">
<div class="content">
<div v-for="item in topList" :key="item.index" class="c-box">
<Button type="primary" @click="handleSave(item.key, item.value)">{{item.btn}}</Button>
<p>
<span class="desc">{{item.des}}</span>
<InputNumber v-model="form[item.value]" controls-outside></InputNumber>
</p>
</div>
</div>
<div class="run-middle">
<div class="content" v-for="item in middleList" :key="item.index">
<p class="c-box" v-for="list in item" :key="list.key">
<span>{{list.label}}</span>
<i-switch size="large" v-model="form[list.key]" @on-change="handleChange($event, list.type)">
<template #open>
<span>开启</span>
</template>
<template #close>
<span>关闭</span>
</template>
</i-switch>
</p>
</div>
</div>
<div class="content">
<!-- <p class="c-box b-box">
<Button type="primary" @click="boxDown(10)">货箱回落</Button>
<span>仅在0/1级故障下且货箱功能正常时点击</span>
</p> -->
<p class="c-box b-box">
<Button type="primary" @click="handleSave(6)">解锁</Button>
<span>解锁上次异常退出导致的路权锁定</span>
</p>
<p class="c-box b-box">
<Button type="primary" @click="handleSave(7)">加载参数</Button>
<span>触发控制模块重新加载参数</span>
</p>
</div>
<Modal v-model="isShow"
:closable="false"
:mask-closable="true"
@on-ok="handleSave(10)"
@on-cancel="boxCancel()">
<p style="text-align: center;">是否执行货箱回落指令</p>
</Modal>
</div>
</template>
<script setup>
import { ref,reactive, toRefs, watch, markRaw } from 'vue';
import { useVehicleStore } from '../../store/VehicleStore';
import { storeToRefs } from 'pinia';
const RUN_CONTROL_TOP = [
{
btn: '打火',
key: '1',
des: '打火持续时间',
value: 'engineStartTime'
},
{
btn: '熄火',
key: '2',
des: '熄火持续时间',
value: 'engineStallTime'
},
{
btn: '上电',
key: '3',
des: '上电持续时间',
value: 'powerOnTime'
},
]
const RUN_CONTROL_MIDDLE = [
[
{
label: '举升',
key: 'liftSwitch',
type: 4
},
{
label: '防滑',
key: 'antiSlideSlip',
type: '5'
}
],
[
// {
// label: '感知屏蔽',
// key: 'perceptionShielding',
// type: 8
// },
{
label: '绕障',
key: 'obstaclesBypassingEnable',
type: 9
}
]
]
const topList = markRaw(RUN_CONTROL_TOP)
const middleList = markRaw(RUN_CONTROL_MIDDLE)
const data = reactive({
form: {}
})
const { form } = toRefs(data)
const vehicleStore = useVehicleStore()
const vehicleStoreToRefs = storeToRefs(vehicleStore)
const { controlInfo } = vehicleStoreToRefs
const isShow=ref(false);
const emits = defineEmits(['sendMsg'])
function handleSend(msg) {
emits('sendMsg', {
type: '/setting/controlSetting',
msg: JSON.parse(JSON.stringify(msg))
})
}
function handleChange(value, key) {
let data = value ? 1 : 2
handleSend({
value: data,
type: Number(key)
})
}
function handleSave(type, key) {
let value = 1
if (key) {
value = form.value[key] || 1
}
let data = {
type: Number(type),
value
}
handleSend(data)
}
function boxDown(){
isShow.value=true;
}
function boxCancel(){
isShow.value=false;
}
watch(controlInfo, (value) => {
data.form = {...value}
}, {
immediate: true,
deep: true
})
</script>
<style lang="less" scoped>
.run-control {
overflow: auto;
.content {
padding: 10px 20px;
background: #111521;
border-radius: 8px;
.c-box {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0;
border-bottom: 2px solid rgba(63,69,86,0.6);
&:nth-last-child(1) {
border: 0;
}
.desc {
margin-right: 5px;
}
/deep/.ivu-btn-primary {
width: 88px;
}
}
.b-box {
justify-content: flex-start;
span {
margin-left: 10px;
}
}
}
.run-middle {
display: flex;
margin: 10px 0;
.content {
width: 50%;
&:nth-child(1) {
margin-right: 10px;
}
}
}
}
</style>
\ No newline at end of file
......@@ -69,30 +69,30 @@ export const INFORMATION_MESSAGE = [
label: '反馈'
}
],
[
{
name: 'loadBrakeCmd',
label: '装载制动给定'
},
],
[
{
name: 'loadBrakeStatus',
label: '装载制动反馈'
},
],
[
{
name: 'mechBrakeCmd',
label: '机械制动给定'
},
],
[
{
name: 'mechBrakeStatus',
label: '机械制动反馈'
},
],
// [
// {
// name: 'loadBrakeCmd',
// label: '装载制动给定'
// },
// ],
// [
// {
// name: 'loadBrakeStatus',
// label: '装载制动反馈'
// },
// ],
// [
// {
// name: 'mechBrakeCmd',
// label: '机械制动给定'
// },
// ],
// [
// {
// name: 'mechBrakeStatus',
// label: '机械制动反馈'
// },
// ],
[
{
name: 'AutoChangeFlag',
......
......@@ -25,10 +25,10 @@
</div>
</div>
<div class="content">
<p class="c-box b-box">
<!-- <p class="c-box b-box">
<Button type="primary" @click="boxDown(10)">货箱回落</Button>
<span>仅在0/1级故障下且货箱功能正常时点击</span>
</p>
</p> -->
<p class="c-box b-box">
<Button type="primary" @click="handleSave(6)">解锁</Button>
<span>解锁上次异常退出导致的路权锁定</span>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment