fase()指标预警,报文添加

car_1
王熙朝 2024-06-26 21:43:20 +08:00
parent cf58cb0dc3
commit 891152c5fc
5 changed files with 274 additions and 13 deletions

View File

@ -0,0 +1,50 @@
import request from '@/utils/request'
// 查询围栏组列表
export function standard(data) {
return request({
url: '/rule/forewarn/standard',
method: 'post',
data
})
}
/**
* 新增报文
* @param data
* @returns {AxiosPromise}
*/
export function indexDataFormat(data,vin) {
return request({
url: '/rule/forewarn/indexDataFormat?vin=' + vin,
method: 'post',
data
})
}
/**
* 添加
* @param vin
* @returns {AxiosPromise}
*/
export function selectDataFormatById(vin) {
return request({
url: '/rule/forewarn/selectDataFormatById?vin=' + vin,
method: 'post'
})
}
export function deleteDataFormatById(vin) {
return request({
url: '/rule/forewarn/deleteDataFormatById/' + vin,
method: 'post'
})
}

View File

@ -121,13 +121,11 @@
<el-table-column label="品牌" align="center" prop="brand" />
<el-table-column label="型号" align="center" prop="model" />
<el-table-column label="生产年份" align="center" prop="manufactureYear" />
<el-table-column label="车身类型" align="center" prop="bodyType" />
<el-table-column label="车辆颜色" align="center" prop="color" />
<el-table-column label="发动机排量" align="center" prop="engineCapacity" />
<el-table-column label="燃油类型" align="center" prop="fuelType" />
<el-table-column label="变速器类型" align="center" prop="transmission" />
<el-table-column label="驱动类型" align="center" prop="driveType" />
<el-table-column label="行驶里程" align="center" prop="mileage" />
<el-table-column label="注册日期" align="center" prop="registrationDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.registrationDate, '{y}-{m}-{d}') }}</span>
@ -159,6 +157,7 @@
</el-table-column>
<el-table-column label="查看实时坐标">
<span slot-scope="scope">
<el-button type="text" @click="readFormat(scope.row.vin)"></el-button>
<el-button type="text" @click="realTime(scope.row.vin)"></el-button>
</span>
</el-table-column>
@ -184,9 +183,6 @@
<el-form-item label="生产年份" prop="manufactureYear">
<el-input v-model="form.manufactureYear" placeholder="请输入生产年份" />
</el-form-item>
<el-form-item label="车身类型" prop="bodyType">
<el-input v-model="form.bodyType" placeholder="请输入车身类型" />
</el-form-item>
<el-form-item label="车辆颜色" prop="color">
<el-input v-model="form.color" placeholder="请输入车辆颜色" />
</el-form-item>
@ -213,9 +209,6 @@
<el-option label="AWD" value="AWD"></el-option>
</el-select>
</el-form-item>
<el-form-item label="行驶里程" prop="mileage">
<el-input v-model="form.mileage" placeholder="请输入行驶里程" />
</el-form-item>
<el-form-item label="注册日期" prop="registrationDate">
<el-date-picker clearable
v-model="form.registrationDate"
@ -294,7 +287,9 @@ export default {
},
realTime(vin) {
this.$router.push({path: '/client/sever/random',query:{vin:vin}})
},
readFormat(vin) {
this.$router.push({path: '/client/sever/message',query:{vin:vin}})
},
/** 查询车辆信息列表 */
getList() {

View File

@ -69,12 +69,13 @@
</el-descriptions>
</span>
</span>
<el-button @click="stand()"></el-button>
</div>
</template>
<script>
import { listEnterprise } from "@/api/goods/business";
import { standard } from "@/api/goods/forewarn";
import { getEnterprise, updateEnterprise } from "@/api/goods/enterprise";
// jsjsjson,
// import from ',
@ -88,8 +89,7 @@ export default {
open: false,
enterprise:{},
//
rules: {
}
rules: {}
}
},
// data",
@ -107,6 +107,11 @@ export default {
console.log(res.data)
})
},
stand() {
standard().then(res => {
console.log(res)
})
},
submitForm() {
updateEnterprise(this.enterprise).then(res => {
this.$message.success("申请已发送,请审核")

View File

@ -204,7 +204,10 @@ export default {
series: [
{
type: 'bar',
data: this.b
data: this.b,
// itemStyle: {
// color:
// }
},
]
};

View File

@ -0,0 +1,208 @@
<template>
<div class="container">
<div class="left">
<div class="top">
基本信息
<div v-for="(item, index) in basic" :key="index" class="item-container">
<label>
<input type="checkbox" :value="item" v-model="selectedOptions" disabled>
{{item.label}}
</label>
<div v-if="isSelected(index)">
<label>Start:<input type="number" v-model="item.start" min="1" disabled/></label>
<label>End:<input type="number" v-model="item.end" min="1" disabled/></label>
</div>
</div>
</div>
<div class="middle">
车辆详情:
<div v-for="(item, index) in standard" :key="index">
<label>
<input type="checkbox" :value="item" v-model="selectedOptions">
{{item.label}}
</label>
<div v-if="isSelected2(index)">
<label>Start:<input type="number" v-model="item.start" min="1" disabled/></label>
<label>End:<input type="number" v-model="item.end" min="1" disabled/></label>
</div>
</div>
</div>
<div class="boolean">
故障状态<br>
<div v-for="(item,index) in breakdown" :key="index">
<label>
<input type="checkbox" :value="item" v-model="selectedOptions">
{{item.label}}
</label>
<div v-if="isSelected3(index)">
<label>Start:<input type="number" v-model="item.start" min="1" disabled/></label>
<label>End:<input type="number" v-model="item.end" min="1" disabled/></label>
</div>
</div>
</div>
</div>
<div class="right">
<el-button @click="dian"></el-button>
<br>
<div v-for="(option, index) in selectedOptions" :key="index">
{{option}}
</div>
</div>
</div>
</template>
<script>
import { indexDataFormat, selectDataFormatById, deleteDataFormatById } from "@/api/goods/forewarn"
// jsjsjson,
// import from ',
export default {
// import使"
components: {},
props: {},
data() {
// "
return {
vin: this.$route.query.vin,
//
basic: [
{dataCode:"vin",label:"车辆标识",start:1,end:17},
{dataCode:"time",label:"时间",start:18,end:27},
{dataCode:"longitude",label:"经度",start:31,end:40},
{dataCode:"latitude",label:"纬度",start:41,end:50},
{dataCode:"speed",label:"车速",start:52,end:57},
{dataCode:"totalMileage",label:"总里程",start:58,end:68},
{dataCode:"gears",label:"档位",start:89,end:89}
],
//
standard: [
{dataCode:"acceleratorPedal",label:"加速踏板行程值",start:58,end:68},
{dataCode:"brakePedal",label:"制动踏板行程值",start:58,end:68},
{dataCode:"fuelConsumptionRate",label:"燃料消耗率",start:58,end:68},
{dataCode:"MotorControllerTemperature",label:"电机控制器温度",start:58,end:68},
{dataCode:"motorSpeed",label:"电机转速",start:58,end:68},
{dataCode:"motorTorque",label:"电机转矩",start:58,end:68},
{dataCode:"motorTemperature",label:"电机温度",start:58,end:68},
{dataCode:"motorVoltage",label:"电机电压",start:58,end:68},
{dataCode:"motorCurrent",label:"电机电流",start:58,end:68},
{dataCode:"remainingPower",label:"动力电池剩余电量SOC",start:58,end:68},
{dataCode:"maximumFeedbackPower",label:"当前状态允许的最大反馈功率",start:58,end:68},
{dataCode:"maximumDischargePower",label:"当前状态允许最大放电功率",start:58,end:68},
{dataCode:"selfTestCounter",label:"BMS自检计数器",start:58,end:68},
{dataCode:"batteryChargeOrDischargeCurrent",label:"动力电池充放电电流",start:58,end:68},
{dataCode:"totalVoltageV3",label:"动力电池负载端总电压V3",start:58,end:68},
{dataCode:"maximumVoltage",label:"单次最大电压",start:58,end:68},
{dataCode:"minimumBatteryVoltage",label:"单体电池最低电压",start:58,end:68},
{dataCode:"maximumBatteryTemperature",label:"单体电池最高温度",start:58,end:68},
{dataCode:"minimumBatteryTemperature",label:"单体电池最低温度",start:58,end:68},
{dataCode:"usableBatteryCapacity",label:"动力电池可用容量",start:58,end:68},
{dataCode:"checkDigit",label:"校验位",start:58,end:68},
],
//
breakdown: [
{dataCode:"vehicleStatus",label:"车辆状态",start:1,end:17},
{dataCode:"chargeStatus",label:"充电状态",start:1,end:17},
{dataCode:"operationalStatus",label:"运行状态",start:1,end:17},
{dataCode:"soc",label:"SOC",start:1,end:17},
{dataCode:"energyStorageDeviceWorkingStatus",label:"可充电储能装置工作状态",start:1,end:17},
{dataCode:"driveMotorStatus",label:"驱动电机状态",start:1,end:17},
{dataCode:"positioningIsOrNotEffective",label:"定位是否有效",start:1,end:17},
{dataCode:"eas",label:"EAS",start:1,end:17},
{dataCode:"eps",label:"EAS",start:1,end:17},
{dataCode:"abs",label:"ABS",start:1,end:17},
{dataCode:"mcu",label:"mcu",start:1,end:17},
{dataCode:"batteryHeatingStatus",label:"动力电池加热状态",start:1,end:17},
{dataCode:"batteryCurrentStatus",label:"动力电池当前状态",start:1,end:17},
{dataCode:"batteryInsulationStatus",label:"动力电池保温状态",start:1,end:17},
{dataCode:"dcdc",label:"DCDC",start:1,end:17},
{dataCode:"chg",label:"CHG",start:1,end:17}
],
//
selectedOptions: [
{dataCode:"vin",label:"车辆标识",start:1,end:17},
{dataCode:"time",label:"时间",start:18,end:27},
{dataCode:"longitude",label:"经度",start:31,end:40},
{dataCode:"latitude",label:"纬度",start:41,end:50},
{dataCode:"speed",label:"车速",start:52,end:57},
{dataCode:"totalMileage",label:"总里程",start:58,end:68},
{dataCode:"gears",label:"档位",start:89,end:89}
],
}
},
// data",
computed: {},
// data",
watch: {},
// ",
methods: {
//
isSelected(index) {
return this.selectedOptions.some(item => item.dataCode === this.basic[index].dataCode);
},
isSelected2(index) {
return this.selectedOptions.some(item => item.dataCode === this.standard[index].dataCode);
},
isSelected3(index) {
return this.selectedOptions.some(item => item.dataCode === this.breakdown[index].dataCode);
},
//
dian() {
indexDataFormat(this.selectedOptions,this.vin)
// this.selectedOptions.forEach(res => {
// indexDataFormat(res,this.vin)
// })
this.getInfo()
},
getInfo() {
selectDataFormatById(this.vin).then(res => {
if (res.data != null) {
this.selectedOptions = res.data
}
})
}
},
// - 访this",
created() {
this.getInfo()
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} // keep-alive",
}
</script>
<style scoped>
.container {
display: flex;
}
.left {
flex: 1;
display: flex;
flex-direction: column;
}
.left > div {
flex: 0 0 auto;
border-bottom: 1px solid #eee;
}
.right .bottom {
border-bottom: none;
}
.right {
flex: 1;
}
</style>