feat(): 一键上报
parent
6a414ad2e4
commit
91530b56c8
|
@ -85,58 +85,3 @@ export function instanceGear(vin, gear) {
|
|||
data: { 'vin': vin, 'gear': gear }
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 一键上线
|
||||
*/
|
||||
export function unifiedOnline() {
|
||||
return request({
|
||||
url: `/vehicle/instance/unified/online`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 一键离线
|
||||
*/
|
||||
export function unifiedOffline() {
|
||||
return request({
|
||||
url: `/vehicle/instance/unified/offline`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 一键上报
|
||||
*/
|
||||
export function unifiedSend() {
|
||||
return request({
|
||||
url: `/vehicle/instance/unified/send`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 一键重置路径
|
||||
*/
|
||||
export function unifiedPosition() {
|
||||
return request({
|
||||
url: `/vehicle/instance/unified/position`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 一键取消上报
|
||||
*/
|
||||
export function unifiedStop() {
|
||||
return request({
|
||||
url: `/vehicle/instance/unified/stop`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 一键执行任务状态
|
||||
*/
|
||||
export function unifiedStatus() {
|
||||
return request({
|
||||
url: `/vehicle/instance/unified/status`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 一键上线
|
||||
*/
|
||||
export function unifiedOnline() {
|
||||
return request({
|
||||
url: `/vehicle/unified/online`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 一键离线
|
||||
*/
|
||||
export function unifiedOffline() {
|
||||
return request({
|
||||
url: `/vehicle/unified/offline`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 一键上报
|
||||
*/
|
||||
export function unifiedSend() {
|
||||
return request({
|
||||
url: `/vehicle/unified/send`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 一键重置路径
|
||||
*/
|
||||
export function unifiedPosition() {
|
||||
return request({
|
||||
url: `/vehicle/unified/position`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 一键取消上报
|
||||
*/
|
||||
export function unifiedStop() {
|
||||
return request({
|
||||
url: `/vehicle/unified/stop`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 一键执行任务状态
|
||||
*/
|
||||
export function unifiedStatus() {
|
||||
return request({
|
||||
url: `/vehicle/unified/status`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
|
@ -1,18 +1,158 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
统一调配
|
||||
<el-row :gutter="10" style="margin-bottom: 10px;padding: 0 10px">
|
||||
<el-col :span="24">
|
||||
<el-button @click="vehicleUnifiedOnline" type="success">一键上线</el-button>
|
||||
<el-button @click="vehicleUnifiedOffline" type="success">一键离线</el-button>
|
||||
<el-button @click="vehicleUnifiedSend" type="primary">一键上报</el-button>
|
||||
<el-button @click="vehicleUnifiedPosition" type="primary">一键重置路径</el-button>
|
||||
<el-button @click="vehicleUnifiedStop" type="warning">一键取消上报</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="10" style="margin-top: 10px;">
|
||||
<el-empty v-if="!unifiedInfo.unifiedStatus" description="没有任务执行" />
|
||||
<el-card v-if="unifiedInfo.unifiedStatus">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>{{unifiedInfo.taskName}}</span>
|
||||
</div>
|
||||
<el-progress
|
||||
:percentage="(unifiedInfo.taskSuccessSum+unifiedInfo.taskErrorSum)/unifiedInfo.taskExecutionSum*100"
|
||||
:text-inside="true"
|
||||
:stroke-width="26"
|
||||
:format="format"
|
||||
:color="customColors"
|
||||
/>
|
||||
<div style="width: 100%; margin: 5px 0">任务描述:<el-tag>{{unifiedInfo.taskName}}</el-tag></div>
|
||||
<div style="width: 100%; margin: 5px 0">任务总数:<el-tag>{{unifiedInfo.taskExecutionSum}}</el-tag></div>
|
||||
<div style="width: 100%; margin: 5px 0">成功总数:<el-tag>{{unifiedInfo.taskSuccessSum}}</el-tag></div>
|
||||
<div style="width: 100%; margin: 5px 0">失败总数:<el-tag>{{unifiedInfo.taskErrorSum}}</el-tag></div>
|
||||
</el-card>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
unifiedOffline,
|
||||
unifiedOnline,
|
||||
unifiedPosition,
|
||||
unifiedSend,
|
||||
unifiedStatus,
|
||||
unifiedStop
|
||||
} from '@/api/vehicle/unified'
|
||||
|
||||
export default {
|
||||
name: "Unified",
|
||||
name: 'Unified',
|
||||
data() {
|
||||
return {}
|
||||
return {
|
||||
|
||||
// 任务进度
|
||||
unifiedInfo: {
|
||||
unifiedStatus: false,
|
||||
taskName: null,
|
||||
taskExecutionSum: null,
|
||||
taskStartTime: null,
|
||||
taskSuccessSum: null,
|
||||
taskErrorSum: null
|
||||
},
|
||||
unifiedInfoInterval: null,
|
||||
// 进度条颜色
|
||||
customColors: [
|
||||
{ color: '#f56c6c', percentage: 20 },
|
||||
{ color: '#e6a23c', percentage: 40 },
|
||||
{ color: '#1989fa', percentage: 60 },
|
||||
{ color: '#6f7ad3', percentage: 80 },
|
||||
{ color: '#5cb87a', percentage: 100 }
|
||||
]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
methods: {}
|
||||
methods: {
|
||||
|
||||
format(percentage) {
|
||||
return parseFloat(percentage).toFixed(2) + '%'
|
||||
},
|
||||
/**
|
||||
* 获取状态
|
||||
*/
|
||||
vehicleUnifiedStatus() {
|
||||
unifiedStatus().then(response => {
|
||||
this.unifiedInfo = response.data;
|
||||
if (!this.unifiedInfo.unifiedStatus) {
|
||||
clearInterval(this.unifiedInfoInterval);
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 一键上线
|
||||
*/
|
||||
vehicleUnifiedOnline() {
|
||||
unifiedOnline().then(response => {
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
type: response.code === 200 ? 'success' : 'error'
|
||||
})
|
||||
this.unifiedInfoInterval = setInterval(this.vehicleUnifiedStatus, 1000)
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 一键离线
|
||||
*/
|
||||
vehicleUnifiedOffline() {
|
||||
unifiedOffline().then(response => {
|
||||
// 一键离线清空车辆选择
|
||||
this.checkVin = null;
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
type: response.code === 200 ? 'success' : 'error'
|
||||
})
|
||||
this.unifiedInfoInterval = setInterval(this.vehicleUnifiedStatus, 1000)
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 一键上报
|
||||
*/
|
||||
vehicleUnifiedSend() {
|
||||
unifiedSend().then(response => {
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
type: response.code === 200 ? 'success' : 'error'
|
||||
})
|
||||
this.unifiedInfoInterval = setInterval(this.vehicleUnifiedStatus, 1000)
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 一键上报
|
||||
*/
|
||||
vehicleUnifiedPosition() {
|
||||
unifiedPosition().then(response => {
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
type: response.code === 200 ? 'success' : 'error'
|
||||
})
|
||||
this.unifiedInfoInterval = setInterval(this.vehicleUnifiedStatus, 1000)
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 一键取消上报
|
||||
*/
|
||||
vehicleUnifiedStop() {
|
||||
unifiedStop().then(response => {
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
type: response.code === 200 ? 'success' : 'error'
|
||||
})
|
||||
this.unifiedInfoInterval = setInterval(this.vehicleUnifiedStatus, 1000)
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -3,27 +3,7 @@
|
|||
<el-row :gutter="10" style="margin-bottom: 10px;padding: 0 10px">
|
||||
<el-col :span="24">
|
||||
<el-button @click="addVehicleDrawer = true">添加车辆</el-button>
|
||||
<el-button @click="genVehicleDialog = true" type="primary">生成车辆</el-button>
|
||||
<el-button @click="vehicleUnifiedOnline" type="success">一键上线</el-button>
|
||||
<el-button @click="vehicleUnifiedOffline" type="success">一键离线</el-button>
|
||||
<el-button @click="vehicleUnifiedSend" type="primary">一键上报</el-button>
|
||||
<el-button @click="vehicleUnifiedPosition" type="primary">一键重置路径</el-button>
|
||||
<el-button @click="vehicleUnifiedStop" type="warning">一键取消上报</el-button>
|
||||
<el-popover
|
||||
v-if="unifiedInfo.unifiedStatus"
|
||||
style="margin-left: 15px"
|
||||
placement="top-start"
|
||||
title="任务执行状态"
|
||||
width="200"
|
||||
trigger="hover">
|
||||
<el-progress :percentage="(unifiedInfo.taskSuccessSum+unifiedInfo.taskErrorSum)/unifiedInfo.taskExecutionSum*100" :color="customColors"></el-progress>
|
||||
<div style="width: 100%; margin: 5px 0">任务描述:<el-tag>{{unifiedInfo.taskName}}</el-tag></div>
|
||||
<div style="width: 100%; margin: 5px 0">任务总数:<el-tag>{{unifiedInfo.taskExecutionSum}}</el-tag></div>
|
||||
<div style="width: 100%; margin: 5px 0">成功总数:<el-tag>{{unifiedInfo.taskSuccessSum}}</el-tag></div>
|
||||
<div style="width: 100%; margin: 5px 0">失败总数:<el-tag>{{unifiedInfo.taskErrorSum}}</el-tag></div>
|
||||
|
||||
<el-button slot="reference">有任务在执行</el-button>
|
||||
</el-popover>
|
||||
<el-button type="primary" @click="genVehicleDialog = true">生成车辆</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="10">
|
||||
|
@ -31,41 +11,51 @@
|
|||
<el-row :gutter="10" style="height: 100px;">
|
||||
<el-row :gutter="10" style="margin-bottom: 10px;padding: 0 10px">
|
||||
<el-col :span="6">
|
||||
<el-input v-model="queryParams.vin" prefix-icon="el-icon-search" placeholder="VIN检索(模糊)"></el-input>
|
||||
<el-input v-model="queryParams.vin" prefix-icon="el-icon-search" placeholder="VIN检索(模糊)" />
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-switch style="margin: 9px 0;"
|
||||
v-model="queryParams.online"
|
||||
active-color="#13ce66"
|
||||
inactive-text="上线优先展示">
|
||||
</el-switch>
|
||||
<el-switch
|
||||
v-model="queryParams.online"
|
||||
style="margin: 9px 0;"
|
||||
active-color="#13ce66"
|
||||
inactive-text="上线优先展示"
|
||||
/>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="10" style="margin-bottom: 10px;padding: 0 10px">
|
||||
<el-pagination
|
||||
@size-change="pageSizeChange"
|
||||
@current-change="pageChange"
|
||||
:current-page="queryParams.page"
|
||||
:page-sizes="[10, 20, 30, 50, 100]"
|
||||
:page-size="queryParams.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="vehiclePage.total">
|
||||
</el-pagination>
|
||||
:total="vehiclePage.total"
|
||||
@size-change="pageSizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</el-row>
|
||||
</el-row>
|
||||
<div class="grid-content bg-purple" :style="{'height': contentHeight - 150 +'px'}">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12" v-for="vehicle in vehiclePage.rows" style="margin: 0 0 10px 0;">
|
||||
<el-col v-for="vehicle in vehiclePage.rows" :span="12" style="margin: 0 0 10px 0;">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-tag :type="!vehicle.online ? 'info' : 'success'" style="padding-left: 0; padding-right: 0">
|
||||
{{ vehicle.vin }}
|
||||
</el-tag>
|
||||
<el-button style="float: right;" type="danger"
|
||||
@click="vehicleRemove(vehicle.vin)" size="mini">删除</el-button>
|
||||
<el-button
|
||||
style="float: right;"
|
||||
type="danger"
|
||||
size="mini"
|
||||
@click="vehicleRemove(vehicle.vin)"
|
||||
>删除</el-button>
|
||||
<span style="float: right; color: rgba(255,255,255,0)">|</span>
|
||||
<el-button style="float: right;" :type="checkVin === vehicle.vin ? 'success' : ''"
|
||||
@click="checkVin = vehicle.vin" size="mini" :disabled="!vehicle.online">{{checkVin === vehicle.vin ? "已选择" : "选择"}}</el-button>
|
||||
<el-button
|
||||
style="float: right;"
|
||||
:type="checkVin === vehicle.vin ? 'success' : ''"
|
||||
size="mini"
|
||||
:disabled="!vehicle.online"
|
||||
@click="checkVin = vehicle.vin"
|
||||
>{{ checkVin === vehicle.vin ? "已选择" : "选择" }}</el-button>
|
||||
<span style="float: right; color: rgba(255,255,255,0)">|</span>
|
||||
<el-button v-if="!vehicle.online" style="float: right;" size="mini" @click="clientInit(vehicle.vin)">
|
||||
上线
|
||||
|
@ -76,35 +66,35 @@
|
|||
</div>
|
||||
<el-descriptions class="margin-top" :column="1" size="mini" border>
|
||||
<el-descriptions-item>
|
||||
<template slot="label"> <i class="el-icon-discover"></i> 路线 </template>
|
||||
<template slot="label"> <i class="el-icon-discover" /> 路线 </template>
|
||||
<el-radio-group v-model="vehicle.positionCode" size="mini" @input="checkPositionCode(vehicle)">
|
||||
<el-radio-button v-for="positionCode in positionCodeList" :label="positionCode"></el-radio-button>
|
||||
<el-radio-button v-for="positionCode in positionCodeList" :label="positionCode" />
|
||||
</el-radio-group>
|
||||
|
||||
<el-tag style="margin-left: 15px;" type="success">{{vehicle.positionLength}}</el-tag>
|
||||
<el-tag style="margin-left: 15px;" type="success">{{ vehicle.positionLength }}</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label"> <i class="el-icon-location-outline"></i> 档位 </template>
|
||||
<el-radio-group size="mini" v-model="vehicle.gear" @input="checkGear(vehicle)">
|
||||
<el-radio-button label="P"></el-radio-button>
|
||||
<el-radio-button label="D"></el-radio-button>
|
||||
<template slot="label"> <i class="el-icon-location-outline" /> 档位 </template>
|
||||
<el-radio-group v-model="vehicle.gear" size="mini" @input="checkGear(vehicle)">
|
||||
<el-radio-button label="P" />
|
||||
<el-radio-button label="D" />
|
||||
</el-radio-group>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label"> <i class="el-icon-mobile-phone"></i> 报文上报 </template>
|
||||
<el-radio-group size="mini" v-model="vehicle.msgCode" @input="checkMsg(vehicle)">
|
||||
<el-radio-button label="上报"></el-radio-button>
|
||||
<el-radio-button label="暂停"></el-radio-button>
|
||||
<el-radio-button label="停止"></el-radio-button>
|
||||
<template slot="label"> <i class="el-icon-mobile-phone" /> 报文上报 </template>
|
||||
<el-radio-group v-model="vehicle.msgCode" size="mini" @input="checkMsg(vehicle)">
|
||||
<el-radio-button label="上报" />
|
||||
<el-radio-button label="暂停" />
|
||||
<el-radio-button label="停止" />
|
||||
</el-radio-group>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label"> <i class="el-icon-tickets"></i> 总里程 </template>
|
||||
<el-tag size="small">{{vehicle.mileage}}/KM</el-tag>
|
||||
<template slot="label"> <i class="el-icon-tickets" /> 总里程 </template>
|
||||
<el-tag size="small">{{ vehicle.mileage }}/KM</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
<i class="el-icon-office-building"></i>
|
||||
<i class="el-icon-office-building" />
|
||||
联系地址
|
||||
</template>
|
||||
江苏省苏州市吴中区吴中大道 1188 号
|
||||
|
@ -117,94 +107,93 @@
|
|||
</div>
|
||||
</el-col>
|
||||
<el-col :span="14">
|
||||
<el-empty v-if="checkVin == null" description="请在左侧选择需要查看数据的车辆"></el-empty>
|
||||
<el-empty v-if="checkVin == null" description="请在左侧选择需要查看数据的车辆" />
|
||||
<div v-if="checkVin != null" class="grid-content bg-purple" :style="{'height': contentHeight+'px'}">
|
||||
<div class="contentMain" :style="{'height': (contentHeight / 2 - 10) + 'px', 'width': '100%'}">
|
||||
<el-row :gutter="10" >
|
||||
<el-form ref="form" labelPosition="top" :model="vehicleData">
|
||||
<el-col :span="12">
|
||||
<div :style="{'height': (contentHeight / 2 - 10) + 'px', 'width': '100%', 'background-color': '#FFFFFF'}">
|
||||
<el-tabs tab-position="top" type="border-card" :style="{'height': (contentHeight / 2 - 10) + 'px'}">
|
||||
<el-tab-pane label="基本信息"> <div class="vehicleDataTab" :style="{'height': (contentHeight / 2 - 80) + 'px'}">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12"> <el-form-item label="车速"> <el-input v-model="vehicleData.speed" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="总电压"> <el-input v-model="vehicleData.voltage" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="总电流"> <el-input v-model="vehicleData.current" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="绝缘电阻"> <el-input v-model="vehicleData.resistance" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="加速踏板行程值"> <el-input v-model="vehicleData.accelerationPedal" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="制动踏板行程值"> <el-input v-model="vehicleData.brakePedal" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="燃料消耗率"> <el-input v-model="vehicleData.fuelConsumptionRate" disabled></el-input></el-form-item> </el-col>
|
||||
</el-row>
|
||||
</div> </el-tab-pane>
|
||||
<el-tab-pane label="电机"> <div class="vehicleDataTab" :style="{'height': (contentHeight / 2 - 80) + 'px'}">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12"> <el-form-item label="电机控制器温度"> <el-input v-model="vehicleData.motorControllerTemperature" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="电机转速"> <el-input v-model="vehicleData.motorSpeed" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="电机转矩"> <el-input v-model="vehicleData.motorTorque" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="电机温度"> <el-input v-model="vehicleData.motorTemperature" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="电机电压"> <el-input v-model="vehicleData.motorVoltage" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="电机电流"> <el-input v-model="vehicleData.motorCurrent" disabled></el-input></el-form-item> </el-col>
|
||||
</el-row>
|
||||
</div> </el-tab-pane>
|
||||
<el-tab-pane label="动力电池"> <div class="vehicleDataTab" :style="{'height': (contentHeight / 2 - 80) + 'px'}">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12"> <el-form-item label="动力电池剩余电量SOC"> <el-input v-model="vehicleData.remainingBattery" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="电池总容量"> <el-input v-model="vehicleData.batteryLevel" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="当前状态允许的最大反馈功率"> <el-input v-model="vehicleData.maximumFeedbackPower" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="当前状态允许最大放电功率"> <el-input v-model="vehicleData.maximumDischargePower" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="BMS自检计数器"> <el-input v-model="vehicleData.selfCheckCounter" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="动力电池充放电电流"> <el-input v-model="vehicleData.totalBatteryCurrent" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="动力电池负载端总电压V3"> <el-input v-model="vehicleData.totalBatteryVoltage" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="单次最大电压"> <el-input v-model="vehicleData.singleBatteryMaxVoltage" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="单体电池最低电压"> <el-input v-model="vehicleData.singleBatteryMinVoltage" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="单体电池最高温度"> <el-input v-model="vehicleData.singleBatteryMaxTemperature" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="单体电池最低温度"> <el-input v-model="vehicleData.singleBatteryMinTemperature" disabled></el-input></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="动力电池可用容量"> <el-input v-model="vehicleData.availableBatteryCapacity" disabled></el-input></el-form-item> </el-col>
|
||||
</el-row>
|
||||
</div> </el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<div :style="{'height': (contentHeight / 2 - 10) + 'px', 'width': '100%', 'background-color': '#FFFFFF'}">
|
||||
<el-tabs tab-position="top" type="border-card" :style="{'height': (contentHeight / 2 - 10) + 'px'}">
|
||||
<el-tab-pane label="基本状态"> <div class="vehicleDataTab" :style="{'height': (contentHeight / 2 - 80) + 'px'}">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12"> <el-form-item label="车辆状态"> <el-radio-group v-model="vehicleData.vehicleStatus" @input="statusChange('vehicleStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="充电状态"> <el-radio-group v-model="vehicleData.chargingStatus" @input="statusChange('chargingStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="运行状态"> <el-radio-group v-model="vehicleData.operatingStatus" @input="statusChange('operatingStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="SOC状态"> <el-radio-group v-model="vehicleData.socStatus" @input="statusChange('socStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="可充电储能装置工作状态"> <el-radio-group v-model="vehicleData.chargingEnergyStorageStatus" @input="statusChange('chargingEnergyStorageStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="驱动电机状态"> <el-radio-group v-model="vehicleData.driveMotorStatus" @input="statusChange('driveMotorStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="定位是否有效"> <el-radio-group v-model="vehicleData.positionStatus" @input="statusChange('positionStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
</el-row>
|
||||
</div> </el-tab-pane>
|
||||
<el-tab-pane label="组件状态"> <div class="vehicleDataTab" :style="{'height': (contentHeight / 2 - 80) + 'px'}">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12"> <el-form-item label="EAS(汽车防盗系统)状态"> <el-radio-group v-model="vehicleData.easStatus" @input="statusChange('easStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="PTC(电动加热器)状态"> <el-radio-group v-model="vehicleData.ptcStatus" @input="statusChange('ptcStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="EPS(电动助力系统)状态"> <el-radio-group v-model="vehicleData.epsStatus" @input="statusChange('epsStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="ABS(防抱死)状态"> <el-radio-group v-model="vehicleData.absStatus" @input="statusChange('vehicleStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="MCU(电机/逆变器)状态"> <el-radio-group v-model="vehicleData.mcuStatus" @input="statusChange('vehicleStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
</el-row>
|
||||
</div> </el-tab-pane>
|
||||
<el-tab-pane label="电池状态"> <div class="vehicleDataTab" :style="{'height': (contentHeight / 2 - 80) + 'px'}">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12"> <el-form-item label="动力电池加热状态"> <el-radio-group v-model="vehicleData.heatingStatus" @input="statusChange('heatingStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="动力电池当前状态"> <el-radio-group v-model="vehicleData.batteryStatus" @input="statusChange('batteryStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="动力电池保温状态"> <el-radio-group v-model="vehicleData.batteryInsulationStatus" @input="statusChange('batteryInsulationStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="DCDC(电力交换系统)状态"> <el-radio-group v-model="vehicleData.dcdcStatus" @input="statusChange('dcdcStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="CHG(充电机)状态"> <el-radio-group v-model="vehicleData.chgStatus" @input="statusChange('chgStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
</el-row>
|
||||
</div> </el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-row :gutter="10">
|
||||
<el-form ref="form" label-position="top" :model="vehicleData">
|
||||
<el-col :span="12">
|
||||
<div :style="{'height': (contentHeight / 2 - 10) + 'px', 'width': '100%', 'background-color': '#FFFFFF'}">
|
||||
<el-tabs tab-position="top" type="border-card" :style="{'height': (contentHeight / 2 - 10) + 'px'}">
|
||||
<el-tab-pane label="基本信息"> <div class="vehicleDataTab" :style="{'height': (contentHeight / 2 - 80) + 'px'}">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12"> <el-form-item label="车速"> <el-input v-model="vehicleData.speed" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="总电压"> <el-input v-model="vehicleData.voltage" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="总电流"> <el-input v-model="vehicleData.current" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="绝缘电阻"> <el-input v-model="vehicleData.resistance" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="加速踏板行程值"> <el-input v-model="vehicleData.accelerationPedal" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="制动踏板行程值"> <el-input v-model="vehicleData.brakePedal" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="燃料消耗率"> <el-input v-model="vehicleData.fuelConsumptionRate" disabled /></el-form-item> </el-col>
|
||||
</el-row>
|
||||
</div> </el-tab-pane>
|
||||
<el-tab-pane label="电机"> <div class="vehicleDataTab" :style="{'height': (contentHeight / 2 - 80) + 'px'}">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12"> <el-form-item label="电机控制器温度"> <el-input v-model="vehicleData.motorControllerTemperature" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="电机转速"> <el-input v-model="vehicleData.motorSpeed" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="电机转矩"> <el-input v-model="vehicleData.motorTorque" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="电机温度"> <el-input v-model="vehicleData.motorTemperature" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="电机电压"> <el-input v-model="vehicleData.motorVoltage" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="电机电流"> <el-input v-model="vehicleData.motorCurrent" disabled /></el-form-item> </el-col>
|
||||
</el-row>
|
||||
</div> </el-tab-pane>
|
||||
<el-tab-pane label="动力电池"> <div class="vehicleDataTab" :style="{'height': (contentHeight / 2 - 80) + 'px'}">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12"> <el-form-item label="动力电池剩余电量SOC"> <el-input v-model="vehicleData.remainingBattery" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="电池总容量"> <el-input v-model="vehicleData.batteryLevel" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="当前状态允许的最大反馈功率"> <el-input v-model="vehicleData.maximumFeedbackPower" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="当前状态允许最大放电功率"> <el-input v-model="vehicleData.maximumDischargePower" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="BMS自检计数器"> <el-input v-model="vehicleData.selfCheckCounter" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="动力电池充放电电流"> <el-input v-model="vehicleData.totalBatteryCurrent" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="动力电池负载端总电压V3"> <el-input v-model="vehicleData.totalBatteryVoltage" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="单次最大电压"> <el-input v-model="vehicleData.singleBatteryMaxVoltage" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="单体电池最低电压"> <el-input v-model="vehicleData.singleBatteryMinVoltage" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="单体电池最高温度"> <el-input v-model="vehicleData.singleBatteryMaxTemperature" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="单体电池最低温度"> <el-input v-model="vehicleData.singleBatteryMinTemperature" disabled /></el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="动力电池可用容量"> <el-input v-model="vehicleData.availableBatteryCapacity" disabled /></el-form-item> </el-col>
|
||||
</el-row>
|
||||
</div> </el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<div :style="{'height': (contentHeight / 2 - 10) + 'px', 'width': '100%', 'background-color': '#FFFFFF'}">
|
||||
<el-tabs tab-position="top" type="border-card" :style="{'height': (contentHeight / 2 - 10) + 'px'}">
|
||||
<el-tab-pane label="基本状态"> <div class="vehicleDataTab" :style="{'height': (contentHeight / 2 - 80) + 'px'}">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12"> <el-form-item label="车辆状态"> <el-radio-group v-model="vehicleData.vehicleStatus" @input="statusChange('vehicleStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="充电状态"> <el-radio-group v-model="vehicleData.chargingStatus" @input="statusChange('chargingStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="运行状态"> <el-radio-group v-model="vehicleData.operatingStatus" @input="statusChange('operatingStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="SOC状态"> <el-radio-group v-model="vehicleData.socStatus" @input="statusChange('socStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="可充电储能装置工作状态"> <el-radio-group v-model="vehicleData.chargingEnergyStorageStatus" @input="statusChange('chargingEnergyStorageStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="驱动电机状态"> <el-radio-group v-model="vehicleData.driveMotorStatus" @input="statusChange('driveMotorStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="定位是否有效"> <el-radio-group v-model="vehicleData.positionStatus" @input="statusChange('positionStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
</el-row>
|
||||
</div> </el-tab-pane>
|
||||
<el-tab-pane label="组件状态"> <div class="vehicleDataTab" :style="{'height': (contentHeight / 2 - 80) + 'px'}">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12"> <el-form-item label="EAS(汽车防盗系统)状态"> <el-radio-group v-model="vehicleData.easStatus" @input="statusChange('easStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="PTC(电动加热器)状态"> <el-radio-group v-model="vehicleData.ptcStatus" @input="statusChange('ptcStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="EPS(电动助力系统)状态"> <el-radio-group v-model="vehicleData.epsStatus" @input="statusChange('epsStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="ABS(防抱死)状态"> <el-radio-group v-model="vehicleData.absStatus" @input="statusChange('vehicleStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="MCU(电机/逆变器)状态"> <el-radio-group v-model="vehicleData.mcuStatus" @input="statusChange('vehicleStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
</el-row>
|
||||
</div> </el-tab-pane>
|
||||
<el-tab-pane label="电池状态"> <div class="vehicleDataTab" :style="{'height': (contentHeight / 2 - 80) + 'px'}">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="12"> <el-form-item label="动力电池加热状态"> <el-radio-group v-model="vehicleData.heatingStatus" @input="statusChange('heatingStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="动力电池当前状态"> <el-radio-group v-model="vehicleData.batteryStatus" @input="statusChange('batteryStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="动力电池保温状态"> <el-radio-group v-model="vehicleData.batteryInsulationStatus" @input="statusChange('batteryInsulationStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="DCDC(电力交换系统)状态"> <el-radio-group v-model="vehicleData.dcdcStatus" @input="statusChange('dcdcStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="CHG(充电机)状态"> <el-radio-group v-model="vehicleData.chgStatus" @input="statusChange('chgStatus')"> <el-radio :label="1">正常</el-radio> <el-radio :label="0">异常</el-radio> </el-radio-group> </el-form-item> </el-col>
|
||||
</el-row>
|
||||
</div> </el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-form>
|
||||
</el-row>
|
||||
</div>
|
||||
<div class="contentMain" :style="{'height': (contentHeight / 2 - 10) + 'px', 'width': '100%', 'background-color': '#FFFFFF'}">
|
||||
</div>
|
||||
<div class="contentMain" :style="{'height': (contentHeight / 2 - 10) + 'px', 'width': '100%', 'background-color': '#FFFFFF'}" />
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -212,17 +201,18 @@
|
|||
title="添加车辆"
|
||||
:visible.sync="addVehicleDrawer"
|
||||
direction="ltr"
|
||||
size="50%">
|
||||
size="50%"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="22" :offset="1">
|
||||
<h3 style="color: red">一行一个VIN,多VIN进行换行</h3>
|
||||
<el-form ref="form" :model="addForm" label-position="top" label-width="80px">
|
||||
<el-form-item label="车辆VIN">
|
||||
<el-input type="textarea" :rows="35" v-model="addForm.vinStr"></el-input>
|
||||
<el-input v-model="addForm.vinStr" type="textarea" :rows="35" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="vehicleCreate">添加车辆</el-button>
|
||||
<el-button>取消</el-button>
|
||||
<el-button @click="addVehicleDrawer = false">取消</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
|
@ -231,13 +221,19 @@
|
|||
<el-dialog
|
||||
title="生成车辆"
|
||||
:visible.sync="genVehicleDialog"
|
||||
width="30%">
|
||||
width="30%"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :offset="1" :span="22">
|
||||
<el-form ref="form" :model="genForm" label-position="top" label-width="80px">
|
||||
<el-form-item label="生成车辆数量 最高99999">
|
||||
<el-input-number v-model="genForm.number" style="width: 100%" controls-position="right"
|
||||
:min="1" :max="99999"></el-input-number>
|
||||
<el-input-number
|
||||
v-model="genForm.number"
|
||||
style="width: 100%"
|
||||
controls-position="right"
|
||||
:min="1"
|
||||
:max="99999"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
|
@ -258,9 +254,9 @@ import {
|
|||
instanceClientInit, instanceData,
|
||||
instanceGear,
|
||||
instanceList,
|
||||
instanceMsg, unifiedOffline, unifiedOnline, unifiedPosition, unifiedSend, unifiedStatus, unifiedStop
|
||||
instanceMsg
|
||||
} from '@/api/vehicle/instance'
|
||||
import {positionList} from "@/api/vehicle/position";
|
||||
import { positionList } from '@/api/vehicle/position'
|
||||
import { create, gen, remove } from '@/api/vehicle/vehicle'
|
||||
|
||||
export default {
|
||||
|
@ -300,114 +296,22 @@ export default {
|
|||
// 生成车辆表单
|
||||
genForm: {
|
||||
number: 0
|
||||
},
|
||||
// 任务进度
|
||||
unifiedInfo: {
|
||||
unifiedStatus: false,
|
||||
taskName: null,
|
||||
taskExecutionSum: null,
|
||||
taskStartTime: null,
|
||||
taskSuccessSum: null,
|
||||
taskErrorSum: null
|
||||
},
|
||||
unifiedInfoInterval: null,
|
||||
// 进度条颜色
|
||||
customColors: [
|
||||
{ color: '#f56c6c', percentage: 20 },
|
||||
{ color: '#e6a23c', percentage: 40 },
|
||||
{ color: '#1989fa', percentage: 60 },
|
||||
{ color: '#6f7ad3', percentage: 80 },
|
||||
{ color: '#5cb87a', percentage: 100 }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.contentHeight = window.innerHeight - 60;
|
||||
this.initInstanceList();
|
||||
this.initPositionList();
|
||||
this.intervalVehicleDataContinued = setInterval(this.vehicleDataContinued, 1000);
|
||||
this.contentHeight = window.innerHeight - 60
|
||||
this.initInstanceList()
|
||||
this.initPositionList()
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 获取状态
|
||||
*/
|
||||
vehicleUnifiedStatus() {
|
||||
unifiedStatus().then(response => {
|
||||
this.unifiedInfo = response.data;
|
||||
if (!this.unifiedInfo.unifiedStatus){
|
||||
clearInterval(this.unifiedInfoInterval);
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 一键上线
|
||||
*/
|
||||
vehicleUnifiedOnline(){
|
||||
unifiedOnline().then(response => {
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
type: response.code === 200 ? 'success' : 'error'
|
||||
})
|
||||
this.unifiedInfoInterval = setInterval(this.vehicleUnifiedStatus, 100)
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 一键离线
|
||||
*/
|
||||
vehicleUnifiedOffline(){
|
||||
unifiedOffline().then(response => {
|
||||
// 一键离线清空车辆选择
|
||||
this.checkVin = null;
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
type: response.code === 200 ? 'success' : 'error'
|
||||
})
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 一键上报
|
||||
*/
|
||||
vehicleUnifiedSend(){
|
||||
unifiedSend().then(response => {
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
type: response.code === 200 ? 'success' : 'error'
|
||||
})
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 一键上报
|
||||
*/
|
||||
vehicleUnifiedPosition(){
|
||||
unifiedPosition().then(response => {
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
type: response.code === 200 ? 'success' : 'error'
|
||||
})
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 一键取消上报
|
||||
*/
|
||||
vehicleUnifiedStop(){
|
||||
unifiedStop().then(response => {
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
type: response.code === 200 ? 'success' : 'error'
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 选择每页数量
|
||||
* @param val
|
||||
*/
|
||||
pageSizeChange(val) {
|
||||
this.queryParams.pageSize = val;
|
||||
this.queryParams.pageSize = val
|
||||
this.getInstanceList()
|
||||
},
|
||||
/**
|
||||
|
@ -415,15 +319,15 @@ export default {
|
|||
* @param val
|
||||
*/
|
||||
pageChange(val) {
|
||||
this.queryParams.page = val;
|
||||
this.queryParams.page = val
|
||||
this.getInstanceList()
|
||||
},
|
||||
/**
|
||||
* 车辆生成
|
||||
*/
|
||||
vehicleGen(){
|
||||
vehicleGen() {
|
||||
gen(this.genForm.number).then(response => {
|
||||
this.genVehicleDialog = false;
|
||||
this.genVehicleDialog = false
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
|
@ -434,9 +338,9 @@ export default {
|
|||
/**
|
||||
* 车辆添加
|
||||
*/
|
||||
vehicleCreate(){
|
||||
vehicleCreate() {
|
||||
create(this.addForm).then(response => {
|
||||
this.addVehicleDrawer = false;
|
||||
this.addVehicleDrawer = false
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
|
@ -447,7 +351,7 @@ export default {
|
|||
/**
|
||||
* 车辆删除
|
||||
*/
|
||||
vehicleRemove(vin){
|
||||
vehicleRemove(vin) {
|
||||
remove(vin).then(response => {
|
||||
this.getInstanceList()
|
||||
this.$notify({
|
||||
|
@ -461,8 +365,8 @@ export default {
|
|||
/**
|
||||
* 获取车辆数据
|
||||
*/
|
||||
vehicleDataContinued(){
|
||||
if (this.checkVin != null){
|
||||
vehicleDataContinued() {
|
||||
if (this.checkVin != null) {
|
||||
instanceData(this.checkVin).then(response => {
|
||||
this.vehicleData = response.data
|
||||
})
|
||||
|
@ -488,7 +392,7 @@ export default {
|
|||
*/
|
||||
checkGear(vehicle) {
|
||||
instanceGear(vehicle.vin, vehicle.gear).then(response => {
|
||||
this.getInstanceList();
|
||||
this.getInstanceList()
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
|
@ -502,7 +406,7 @@ export default {
|
|||
*/
|
||||
checkMsg(vehicle) {
|
||||
instanceMsg(vehicle.vin, vehicle.msgCode).then(response => {
|
||||
this.getInstanceList();
|
||||
this.getInstanceList()
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
|
@ -516,7 +420,7 @@ export default {
|
|||
*/
|
||||
checkPositionCode(vehicle) {
|
||||
instanceCheckPosition(vehicle.vin, vehicle.positionCode).then(response => {
|
||||
this.getInstanceList();
|
||||
this.getInstanceList()
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
|
@ -527,26 +431,26 @@ export default {
|
|||
/**
|
||||
* 初始化路径
|
||||
*/
|
||||
initPositionList(){
|
||||
initPositionList() {
|
||||
positionList().then(response => {
|
||||
this.positionCodeList = response.data;
|
||||
this.positionCodeList = response.data
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 初始化车辆列表
|
||||
*/
|
||||
initInstanceList(){
|
||||
initInstanceList() {
|
||||
// 优先执行一次数据获取
|
||||
this.getInstanceList()
|
||||
// 再次执行为定时器执行
|
||||
this.intervalInstanceList = setInterval(this.getInstanceList, 3000);
|
||||
this.intervalInstanceList = setInterval(this.getInstanceList, 3000)
|
||||
},
|
||||
/**
|
||||
* 获取车辆列表
|
||||
*/
|
||||
getInstanceList() {
|
||||
instanceList(this.queryParams).then(response => {
|
||||
this.vehiclePage = response.data;
|
||||
this.vehiclePage = response.data
|
||||
})
|
||||
},
|
||||
|
||||
|
@ -554,9 +458,9 @@ export default {
|
|||
* 初始化车机
|
||||
* @param vin
|
||||
*/
|
||||
clientInit(vin){
|
||||
clientInit(vin) {
|
||||
instanceClientInit(vin).then(response => {
|
||||
this.getInstanceList();
|
||||
this.getInstanceList()
|
||||
this.$notify({
|
||||
title: '操作提示',
|
||||
message: response.msg,
|
||||
|
@ -568,11 +472,11 @@ export default {
|
|||
* 关闭车机
|
||||
* @param vin
|
||||
*/
|
||||
clientClose(vin){
|
||||
clientClose(vin) {
|
||||
instanceClientClose(vin).then(response => {
|
||||
this.getInstanceList();
|
||||
this.getInstanceList()
|
||||
// 如果下线的是本车则关闭实时车况查看
|
||||
if (vin === this.checkVin){
|
||||
if (vin === this.checkVin) {
|
||||
this.checkVin = null
|
||||
}
|
||||
this.$notify({
|
||||
|
|
Loading…
Reference in New Issue