diff --git a/pom.xml b/pom.xml
index c301ab7..04851e1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.muyu
VehicleSimulation
- 1.0.5
+ 1.0.6
17
diff --git a/src/main/java/com/muyu/vehicle/VehicleInstance.java b/src/main/java/com/muyu/vehicle/VehicleInstance.java
index 7013702..2d01987 100644
--- a/src/main/java/com/muyu/vehicle/VehicleInstance.java
+++ b/src/main/java/com/muyu/vehicle/VehicleInstance.java
@@ -1,6 +1,9 @@
package com.muyu.vehicle;
import com.alibaba.fastjson2.JSONObject;
+import com.muyu.vehicle.model.VehicleData;
+import com.muyu.vehicle.model.properties.MqttProperties;
+import com.muyu.vehicle.thread.VehicleThread;
import com.muyu.web.common.SystemConstant;
import com.muyu.web.common.pool.ScheduledThreadPool;
import com.muyu.web.domain.VehicleInfo;
@@ -8,9 +11,6 @@ import com.muyu.web.domain.model.PositionModel;
import com.muyu.web.utils.CalculateCheckDigit;
import com.muyu.web.utils.ConversionUtil;
import com.muyu.web.utils.VehicleUtils;
-import com.muyu.vehicle.model.VehicleData;
-import com.muyu.vehicle.model.properties.MqttProperties;
-import com.muyu.vehicle.thread.VehicleThread;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -54,6 +54,7 @@ public class VehicleInstance {
*/
@Builder.Default
private LinkedBlockingQueue positionQueue = new LinkedBlockingQueue<>();
+
/**
* 车辆
*/
@@ -148,6 +149,12 @@ public class VehicleInstance {
client.connect(options);
log.debug("车辆:[{}] 客户端初始化成功连接配置:{}", getVin(),
JSONObject.toJSONString(this.mqttProperties));
+ VehicleThread vehicleThread = new VehicleThread();
+ vehicleThread.setVehicleInstance(this);
+ this.setVehicleThread(vehicleThread);
+ ScheduledFuture> scheduledFuture = ScheduledThreadPool.submit(vehicleThread);
+ this.setScheduledFuture(scheduledFuture);
+ log.info("初始化车辆上报模拟线程开始:[{}]", this.getVin());
} catch (MqttException e) {
log.error("车辆:[{}] 客户端初始化异常", getVin(), e);
throw new RuntimeException(e);
@@ -203,7 +210,7 @@ public class VehicleInstance {
/**
* 初始化线程
*/
- public void initVehicleThread() {
+ /*public void initVehicleThread() {
if (this.positionCode == null){
throw new RuntimeException("车辆["+getVin()+"]未选中路径");
}
@@ -216,29 +223,7 @@ public class VehicleInstance {
ScheduledFuture> scheduledFuture = ScheduledThreadPool.submit(vehicleThread);
this.setScheduledFuture(scheduledFuture);
log.info("初始化车辆上报模拟线程开始:[{}]", this.getVin());
- }
-
- /**
- * 开始上报线程
- */
- public void startSend() {
- this.msgCode = "上报";
- if (this.vehicleThread != null){
- this.vehicleThread.resume();
- }
- log.info("车辆[{}],开始上报", this.getVin());
- }
-
- /**
- * 暂停上报线程
- */
- public void pauseSend() {
- this.msgCode = "暂停";
- if (this.vehicleThread != null) {
- this.vehicleThread.pause();
- }
- log.info("车辆[{}],暂停上报", this.getVin());
- }
+ }*/
/**
* 结束发送
@@ -263,31 +248,45 @@ public class VehicleInstance {
/**
* 模拟车辆数据
*/
- public String imitateData() {
- String gear = this.vehicleData.getGear();
- if (!"D".equals(gear)){
- log.info("车辆不是动车档位,不进行模拟数据");
- return null;
- }
+ public void imitateData() {
// 获取上一次定位点
PositionModel lastPositionModel = this.lastPosition == null ? positionQueue.poll() : this.lastPosition;
// 获取当前定位点
PositionModel currentPositionModel = positionQueue.poll();
if (currentPositionModel == null) {
- return "表示当前定位点已经跑完,请选择其他路径";
+ currentPositionModel = PositionModel.builder()
+ .latitude(this.vehicleInfo.getLastLatitude())
+ .longitude(this.vehicleInfo.getLastLongitude())
+ .build();
+ }
+ if (lastPositionModel == null){
+ lastPositionModel = currentPositionModel;
}
// 两点之间的距离
- BigDecimal distance = VehicleUtils.distance(Objects.requireNonNull(lastPositionModel), currentPositionModel);
+ BigDecimal distance = null;
+ if (currentPositionModel != null) {
+ distance = VehicleUtils.distance(Objects.requireNonNull(lastPositionModel), currentPositionModel);
+ }
+ if (lastPositionModel == currentPositionModel){
+ distance = new BigDecimal("0.01");
+ }
// 车辆总里程 相加
vehicleData.setMileage(vehicleData.getMileage().add(distance));
// 定位点填写
- vehicleData.setLongitude(currentPositionModel.getLongitude());
- vehicleData.setLatitude(currentPositionModel.getLatitude());
+ vehicleData.setLongitude(
+ currentPositionModel == null || currentPositionModel.getLongitude() == null ? this.vehicleInfo.getLastLongitude() : currentPositionModel.getLongitude()
+ );
+ vehicleData.setLatitude(
+ currentPositionModel == null || currentPositionModel.getLatitude() == null ? this.vehicleInfo.getLastLatitude() : currentPositionModel.getLatitude()
+ );
// 当前电量减少
// 电池浮动
BigDecimal batteryFloat = VehicleUtils.batteryFloat();
// 百公里占比
- BigDecimal hundredKMScale = distance.divide(SystemConstant.hundredKilometers).setScale(3, RoundingMode.HALF_UP);
+ BigDecimal hundredKMScale = null;
+ if (distance != null) {
+ hundredKMScale = distance.divide(SystemConstant.hundredKilometers).setScale(3, RoundingMode.HALF_UP);
+ }
// 使用电量
BigDecimal powerUsage = powerConsumption.multiply(hundredKMScale)
.multiply(batteryFloat)
@@ -299,15 +298,16 @@ public class VehicleInstance {
powerConsumption.multiply(batteryFloat).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_UP).toString()
);
// 计算总速度
- vehicleData.setSpeed(
- distance.divide(new BigDecimal(2))
- .multiply(new BigDecimal("3600"))
- .setScale(2, RoundingMode.HALF_UP).toString()
- );
+ if (distance != null) {
+ vehicleData.setSpeed(
+ distance.divide(new BigDecimal(2))
+ .multiply(new BigDecimal("3600"))
+ .setScale(2, RoundingMode.HALF_UP).toString()
+ );
+ }
vehicleData.imitateBase();
vehicleData.imitateMotor();
vehicleData.imitateBatteryPack();
- return null;
}
/**
diff --git a/src/main/java/com/muyu/vehicle/model/properties/MqttProperties.java b/src/main/java/com/muyu/vehicle/model/properties/MqttProperties.java
index 58daa7c..89eb3a0 100644
--- a/src/main/java/com/muyu/vehicle/model/properties/MqttProperties.java
+++ b/src/main/java/com/muyu/vehicle/model/properties/MqttProperties.java
@@ -4,8 +4,6 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
/**
* @author DongZeLiang
@@ -43,5 +41,9 @@ public class MqttProperties {
* 节点ID
*/
private String clientId;
+
+ /**
+ * 上报级别
+ */
private int qos = 0;
}
diff --git a/src/main/java/com/muyu/vehicle/thread/VehicleThread.java b/src/main/java/com/muyu/vehicle/thread/VehicleThread.java
index 3fd01b8..889de31 100644
--- a/src/main/java/com/muyu/vehicle/thread/VehicleThread.java
+++ b/src/main/java/com/muyu/vehicle/thread/VehicleThread.java
@@ -13,11 +13,6 @@ public class VehicleThread implements Runnable {
*/
private volatile boolean isStop = false;
- /**
- * 设置是否暂停
- */
- private volatile boolean isPaused;
-
/**
* 车辆实例对象
*/
@@ -27,19 +22,11 @@ public class VehicleThread implements Runnable {
public void run() {
try {
if (!isStop){
- if (!isPaused){
- log.info("{} - 上报数据", this.vehicleInstance.getVin());
- String imitateResult = this.vehicleInstance.imitateData();
- if (imitateResult == null){
- this.vehicleInstance.sendMsg(
- this.vehicleInstance.getVehicleData().getMsg()
- );
- }else {
- log.warn("车辆[{}]数据模拟:{}", this.vehicleInstance.getVin(), imitateResult);
- }
- }else {
- log.info("暂停模拟和上报:[{}]", this.vehicleInstance.getVin());
- }
+ log.info("{} - 上报数据", this.vehicleInstance.getVin());
+ this.vehicleInstance.imitateData();
+ this.vehicleInstance.sendMsg(
+ this.vehicleInstance.getVehicleData().getMsg()
+ );
}else {
log.info("终止模拟和上报:[{}]", this.vehicleInstance.getVin());
vehicleInstance.cancelExecution();
@@ -49,21 +36,6 @@ public class VehicleThread implements Runnable {
}
}
- /**
- * 暂停线程
- */
- public void pause() {
- isPaused = true;
- }
-
- /**
- * 开始线程
- */
- public void resume() {
- isPaused = false;
- }
-
-
/**
* 停止方法
*/
diff --git a/src/main/java/com/muyu/web/controller/VehicleInstanceController.java b/src/main/java/com/muyu/web/controller/VehicleInstanceController.java
index 67a0943..1a6c48a 100644
--- a/src/main/java/com/muyu/web/controller/VehicleInstanceController.java
+++ b/src/main/java/com/muyu/web/controller/VehicleInstanceController.java
@@ -1,15 +1,14 @@
package com.muyu.web.controller;
+import com.muyu.vehicle.core.LocalContainer;
+import com.muyu.vehicle.model.VehicleData;
import com.muyu.web.common.PageList;
import com.muyu.web.common.Result;
import com.muyu.web.domain.req.CheckPositionReq;
import com.muyu.web.domain.req.GearReq;
-import com.muyu.web.domain.req.MsgReq;
import com.muyu.web.domain.req.VehicleInstanceListReq;
import com.muyu.web.domain.resp.VehicleInstanceResp;
import com.muyu.web.service.VehicleInstanceService;
-import com.muyu.vehicle.core.LocalContainer;
-import com.muyu.vehicle.model.VehicleData;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -53,9 +52,9 @@ public class VehicleInstanceController {
* @param vin vin
* @return 初始化
*/
- @PostMapping("/client/init/{vin}")
+ @PostMapping("/client/start/{vin}")
public Result vehicleClientInit(@PathVariable("vin") String vin){
- this.vehicleInstanceService.vehicleClientInit(vin);
+ this.vehicleInstanceService.vehicleClientStart(vin);
return Result.success();
}
@@ -81,16 +80,6 @@ public class VehicleInstanceController {
return Result.success();
}
- /**
- * 车辆报文操作
- * @return 操作提示
- */
- @PostMapping("/msg")
- public Result msg(@RequestBody MsgReq msgReq){
- this.vehicleInstanceService.msg(msgReq);
- return Result.success();
- }
-
/**
* 车辆档位操作
* @return 操作提示
diff --git a/src/main/java/com/muyu/web/domain/ServerConfig.java b/src/main/java/com/muyu/web/domain/ServerConfig.java
index 3650ae4..1db0872 100644
--- a/src/main/java/com/muyu/web/domain/ServerConfig.java
+++ b/src/main/java/com/muyu/web/domain/ServerConfig.java
@@ -1,6 +1,7 @@
package com.muyu.web.domain;
import com.baomidou.mybatisplus.annotation.*;
+import com.muyu.system.handle.SystemHandler;
import com.muyu.web.domain.model.ServerConfigModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
@@ -65,6 +66,7 @@ public class ServerConfig {
public static ServerConfig modeBuild (ServerConfigModel serverConfigModel, Supplier idKey) {
return builder()
.id(idKey.get())
+ .tenantId(SystemHandler.getTenantId())
.host(serverConfigModel.getHost())
.port(serverConfigModel.getPort())
.uri(serverConfigModel.getUri())
diff --git a/src/main/java/com/muyu/web/domain/VehicleInfo.java b/src/main/java/com/muyu/web/domain/VehicleInfo.java
index b17860b..859c384 100644
--- a/src/main/java/com/muyu/web/domain/VehicleInfo.java
+++ b/src/main/java/com/muyu/web/domain/VehicleInfo.java
@@ -63,6 +63,18 @@ public class VehicleInfo {
@TableField("battery_level")
private BigDecimal batteryLevel;
+ /**
+ * 上一次经度
+ */
+ @TableField("last_longitude")
+ private String lastLongitude;
+
+ /**
+ * 上一次维度
+ */
+ @TableField("last_latitude")
+ private String lastLatitude;
+
/**
* 总里程
*/
diff --git a/src/main/java/com/muyu/web/service/VehicleInstanceService.java b/src/main/java/com/muyu/web/service/VehicleInstanceService.java
index ae83b34..8fdbf82 100644
--- a/src/main/java/com/muyu/web/service/VehicleInstanceService.java
+++ b/src/main/java/com/muyu/web/service/VehicleInstanceService.java
@@ -4,7 +4,6 @@ import com.muyu.web.common.PageList;
import com.muyu.web.domain.VehicleInfo;
import com.muyu.web.domain.req.CheckPositionReq;
import com.muyu.web.domain.req.GearReq;
-import com.muyu.web.domain.req.MsgReq;
import com.muyu.web.domain.req.VehicleInstanceListReq;
import com.muyu.web.domain.resp.VehicleInstanceResp;
@@ -36,7 +35,7 @@ public interface VehicleInstanceService {
* 车辆客户端初始化
* @param vin vin
*/
- void vehicleClientInit (String vin);
+ void vehicleClientStart (String vin);
/**
* 车辆客户端关闭
@@ -50,12 +49,6 @@ public interface VehicleInstanceService {
*/
void checkPosition (CheckPositionReq checkPositionReq);
- /**
- * 车辆消息操作
- * @param msgReq
- */
- void msg (MsgReq msgReq);
-
/**
* 设置档位
* @param gearReq
diff --git a/src/main/java/com/muyu/web/service/impl/ServerConfigServiceImpl.java b/src/main/java/com/muyu/web/service/impl/ServerConfigServiceImpl.java
index 56e113c..c545dad 100644
--- a/src/main/java/com/muyu/web/service/impl/ServerConfigServiceImpl.java
+++ b/src/main/java/com/muyu/web/service/impl/ServerConfigServiceImpl.java
@@ -1,5 +1,6 @@
package com.muyu.web.service.impl;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.system.handle.SystemHandler;
@@ -34,8 +35,9 @@ public class ServerConfigServiceImpl extends ServiceImpl());
SystemHandler.setServerConfig(
ServerConfigProperties.modelToProperties(serverConfigModel)
);
diff --git a/src/main/java/com/muyu/web/service/impl/VehicleInstanceServiceImpl.java b/src/main/java/com/muyu/web/service/impl/VehicleInstanceServiceImpl.java
index 089033b..0c46ede 100644
--- a/src/main/java/com/muyu/web/service/impl/VehicleInstanceServiceImpl.java
+++ b/src/main/java/com/muyu/web/service/impl/VehicleInstanceServiceImpl.java
@@ -13,7 +13,6 @@ import com.muyu.web.domain.model.MqttServerModel;
import com.muyu.web.domain.model.PositionModel;
import com.muyu.web.domain.req.CheckPositionReq;
import com.muyu.web.domain.req.GearReq;
-import com.muyu.web.domain.req.MsgReq;
import com.muyu.web.domain.req.VehicleInstanceListReq;
import com.muyu.web.domain.resp.VehicleInstanceResp;
import com.muyu.web.service.PositionRouteService;
@@ -99,7 +98,7 @@ public class VehicleInstanceServiceImpl implements VehicleInstanceService {
* @param vin vin
*/
@Override
- public void vehicleClientInit (String vin) {
+ public void vehicleClientStart (String vin) {
log.info("vin[{}],开始上线", vin);
VehicleInstance vehicleInstance = LocalContainer.getVehicleInstance(vin);
if (vehicleInstance == null){
@@ -159,27 +158,6 @@ public class VehicleInstanceServiceImpl implements VehicleInstanceService {
vehicleInstance.setPositionCode(checkPositionReq.getPositionCode());
}
- /**
- * 车辆消息操作
- *
- * @param msgReq
- */
- @Override
- public void msg (MsgReq msgReq) {
- VehicleInstance vehicleInstance = LocalContainer.getVehicleInstance(msgReq.getVin());
- switch (msgReq.getMsgCode()){
- case "上报" -> {
- if(vehicleInstance.getVehicleThread() == null){
- vehicleInstance.initVehicleThread();
- }
- vehicleInstance.startSend();
- }
- case "暂停" -> vehicleInstance.pauseSend();
- case "停止" -> vehicleInstance.stopSend();
- default -> throw new RuntimeException("车辆消息事件错误");
- }
- }
-
/**
* 设置档位
*
diff --git a/src/main/java/com/muyu/web/service/impl/VehicleUnifiedServiceImpl.java b/src/main/java/com/muyu/web/service/impl/VehicleUnifiedServiceImpl.java
index 9d6b1c8..4b392a0 100644
--- a/src/main/java/com/muyu/web/service/impl/VehicleUnifiedServiceImpl.java
+++ b/src/main/java/com/muyu/web/service/impl/VehicleUnifiedServiceImpl.java
@@ -6,7 +6,6 @@ import com.muyu.vehicle.core.LocalContainer;
import com.muyu.web.domain.PositionRouteInfo;
import com.muyu.web.domain.model.PositionModel;
import com.muyu.web.domain.model.TaskModel;
-import com.muyu.web.domain.req.MsgReq;
import com.muyu.web.domain.resp.UnifiedTaskResp;
import com.muyu.web.service.PositionRouteService;
import com.muyu.web.service.VehicleInstanceService;
@@ -51,7 +50,7 @@ public class VehicleUnifiedServiceImpl implements VehicleUnifiedService {
.map(VehicleInstance::getVin)
.toList();
taskModel.submit("一键上线", vinList, (vin) -> {
- vehicleInstanceService.vehicleClientInit(vin);
+ vehicleInstanceService.vehicleClientStart(vin);
});
}
@@ -96,12 +95,6 @@ public class VehicleUnifiedServiceImpl implements VehicleUnifiedService {
vehicleInstance.setPositionCode(positionCode);
// 设置车辆档位
vehicleInstance.setGear("D");
- vehicleInstanceService.msg(
- MsgReq.builder()
- .vin(vin)
- .msgCode("上报")
- .build()
- );
});
}
@@ -143,12 +136,6 @@ public class VehicleUnifiedServiceImpl implements VehicleUnifiedService {
// 获取在线车辆VIN
List vinList = LocalContainer.getOnlineVehicleVin();
taskModel.submit("一键取消上报", vinList, (vin) -> {
- vehicleInstanceService.msg(
- MsgReq.builder()
- .vin(vin)
- .msgCode("停止")
- .build()
- );
});
}
diff --git a/src/main/resources/static/css/chunk-725364c9.71c8f52e.css b/src/main/resources/static/css/chunk-00a52ac4.71c8f52e.css
similarity index 100%
rename from src/main/resources/static/css/chunk-725364c9.71c8f52e.css
rename to src/main/resources/static/css/chunk-00a52ac4.71c8f52e.css
diff --git a/src/main/resources/static/css/chunk-22cea610.3c7f5ad9.css b/src/main/resources/static/css/chunk-159c7f2c.3c7f5ad9.css
similarity index 100%
rename from src/main/resources/static/css/chunk-22cea610.3c7f5ad9.css
rename to src/main/resources/static/css/chunk-159c7f2c.3c7f5ad9.css
diff --git a/src/main/resources/static/css/chunk-643fd843.5488218b.css b/src/main/resources/static/css/chunk-643fd843.5488218b.css
new file mode 100644
index 0000000..76eae8b
--- /dev/null
+++ b/src/main/resources/static/css/chunk-643fd843.5488218b.css
@@ -0,0 +1 @@
+.app-container[data-v-2ab19043]{padding:10px 5px 0 10px;background-color:#f4f4f5}.el-row[data-v-2ab19043]{&:last-child{margin-bottom:0}}.bg-purple[data-v-2ab19043]{background:#f4f4f5}.grid-content[data-v-2ab19043]{border-radius:4px;overflow-x:hidden;overflow-y:auto}.grid-content[data-v-2ab19043]::-webkit-scrollbar{width:4px}.grid-content[data-v-2ab19043]::-webkit-scrollbar-thumb{border-radius:10px;background:rgba(0,0,0,.2)}.grid-content[data-v-2ab19043]::-webkit-scrollbar-track{border-radius:0;background:rgba(0,0,0,.1)}.vehicleDiv[data-v-2ab19043]{height:50px;margin:0 0 10px 0}.contentMain[data-v-2ab19043]{margin-top:10px}.vehicleDataTab[data-v-2ab19043]{width:100%;overflow-y:auto;overflow-x:hidden}.vehicleDataTab[data-v-2ab19043]::-webkit-scrollbar{width:4px}.vehicleDataTab[data-v-2ab19043]::-webkit-scrollbar-thumb{border-radius:10px;background:rgba(0,0,0,.2)}.vehicleDataTab[data-v-2ab19043]::-webkit-scrollbar-track{border-radius:0;background:rgba(0,0,0,.1)}.el-form-item__label[data-v-2ab19043]{padding:0}.el-form-item[data-v-2ab19043]{margin-bottom:5px}
\ No newline at end of file
diff --git a/src/main/resources/static/css/chunk-7146ee17.6963607a.css b/src/main/resources/static/css/chunk-7146ee17.6963607a.css
deleted file mode 100644
index ff1137b..0000000
--- a/src/main/resources/static/css/chunk-7146ee17.6963607a.css
+++ /dev/null
@@ -1 +0,0 @@
-.app-container[data-v-601f2e6f]{padding:10px 5px 0 10px;background-color:#f4f4f5}.el-row[data-v-601f2e6f]{&:last-child{margin-bottom:0}}.bg-purple[data-v-601f2e6f]{background:#f4f4f5}.grid-content[data-v-601f2e6f]{border-radius:4px;overflow-x:hidden;overflow-y:auto}.grid-content[data-v-601f2e6f]::-webkit-scrollbar{width:4px}.grid-content[data-v-601f2e6f]::-webkit-scrollbar-thumb{border-radius:10px;background:rgba(0,0,0,.2)}.grid-content[data-v-601f2e6f]::-webkit-scrollbar-track{border-radius:0;background:rgba(0,0,0,.1)}.vehicleDiv[data-v-601f2e6f]{height:50px;margin:0 0 10px 0}.contentMain[data-v-601f2e6f]{margin-top:10px}.vehicleDataTab[data-v-601f2e6f]{width:100%;overflow-y:auto;overflow-x:hidden}.vehicleDataTab[data-v-601f2e6f]::-webkit-scrollbar{width:4px}.vehicleDataTab[data-v-601f2e6f]::-webkit-scrollbar-thumb{border-radius:10px;background:rgba(0,0,0,.2)}.vehicleDataTab[data-v-601f2e6f]::-webkit-scrollbar-track{border-radius:0;background:rgba(0,0,0,.1)}.el-form-item__label[data-v-601f2e6f]{padding:0}.el-form-item[data-v-601f2e6f]{margin-bottom:5px}
\ No newline at end of file
diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html
index dd4980c..4f08fb8 100644
--- a/src/main/resources/static/index.html
+++ b/src/main/resources/static/index.html
@@ -1 +1 @@
-车辆
\ No newline at end of file
+车辆
\ No newline at end of file
diff --git a/src/main/resources/static/js/app.c57091f6.js b/src/main/resources/static/js/app.a2f5934b.js
similarity index 99%
rename from src/main/resources/static/js/app.c57091f6.js
rename to src/main/resources/static/js/app.a2f5934b.js
index fd0043b..9c994e5 100644
--- a/src/main/resources/static/js/app.c57091f6.js
+++ b/src/main/resources/static/js/app.a2f5934b.js
@@ -1 +1 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["app"],{0:function(e,t,n){e.exports=n("56d7")},"0ae2d":function(e,t,n){"use strict";n("cbd7")},"18f0":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-link",use:"icon-link-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},2224:function(e,t,n){"use strict";n("5031")},"279e":function(e,t,n){},"2a3d":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-password",use:"icon-password-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},"2b29":function(e,t,n){"use strict";n("f6c3")},"30c3":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-example",use:"icon-example-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},4360:function(e,t,n){"use strict";var a=n("2b0e"),i=n("2f62"),o=(n("b0c0"),{sidebar:function(e){return e.app.sidebar},device:function(e){return e.app.device},token:function(e){return e.user.token},avatar:function(e){return e.user.avatar},name:function(e){return e.user.name}}),r=o,c=n("a78e"),s=n.n(c),u={sidebar:{opened:!s.a.get("sidebarStatus")||!!+s.a.get("sidebarStatus"),withoutAnimation:!1},device:"desktop"},l={TOGGLE_SIDEBAR:function(e){e.sidebar.opened=!e.sidebar.opened,e.sidebar.withoutAnimation=!1,e.sidebar.opened?s.a.set("sidebarStatus",1):s.a.set("sidebarStatus",0)},CLOSE_SIDEBAR:function(e,t){s.a.set("sidebarStatus",0),e.sidebar.opened=!1,e.sidebar.withoutAnimation=t},TOGGLE_DEVICE:function(e,t){e.device=t}},d={toggleSideBar:function(e){var t=e.commit;t("TOGGLE_SIDEBAR")},closeSideBar:function(e,t){var n=e.commit,a=t.withoutAnimation;n("CLOSE_SIDEBAR",a)},toggleDevice:function(e,t){var n=e.commit;n("TOGGLE_DEVICE",t)}},h={namespaced:!0,state:u,mutations:l,actions:d},m=n("83d6"),f=n.n(m),p=f.a.showSettings,b=f.a.fixedHeader,v=f.a.sidebarLogo,g={showSettings:p,fixedHeader:b,sidebarLogo:v},w={CHANGE_SETTING:function(e,t){var n=t.key,a=t.value;e.hasOwnProperty(n)&&(e[n]=a)}},x={changeSetting:function(e,t){var n=e.commit;n("CHANGE_SETTING",t)}},y={namespaced:!0,state:g,mutations:w,actions:x},k=(n("d3b7"),n("498a"),n("5f87")),O=n("a18c"),C=n("c24f"),_=function(){return{token:Object(k["a"])(),name:"",avatar:""}},E=_(),z={RESET_STATE:function(e){Object.assign(e,_())},SET_TOKEN:function(e,t){e.token=t},SET_NAME:function(e,t){e.name=t},SET_AVATAR:function(e,t){e.avatar=t}},S={login:function(e,t){var n=e.commit,a=t.userName,i=t.password;return new Promise((function(e,t){Object(C["b"])({userName:a.trim(),password:i}).then((function(t){var a=t.data;n("SET_TOKEN",a),Object(k["c"])(a),e()})).catch((function(e){t(e)}))}))},getInfo:function(e){var t=e.commit,n=e.state;return new Promise((function(e,a){Object(C["a"])(n.token).then((function(n){var i=n.data;if(!i)return a("验证失败,请再次登录。");var o=i.userName;t("SET_NAME",o),t("SET_AVATAR","https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"),e(i)})).catch((function(e){a(e)}))}))},logout:function(e){var t=e.commit;e.state;return new Promise((function(e,n){Object(k["b"])(),Object(O["b"])(),t("RESET_STATE"),e()}))},resetToken:function(e){var t=e.commit;return new Promise((function(e){Object(k["b"])(),t("RESET_STATE"),e()}))}},M={namespaced:!0,state:E,mutations:z,actions:S};a["default"].use(i["a"]);var H=new i["a"].Store({modules:{app:h,settings:y,user:M},getters:r});t["a"]=H},"47f1":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-table",use:"icon-table-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},"4df5":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-eye",use:"icon-eye-usage",viewBox:"0 0 128 64",content:''});r.a.add(c);t["default"]=c},5031:function(e,t,n){},"51ff":function(e,t,n){var a={"./dashboard.svg":"f782","./example.svg":"30c3","./eye-open.svg":"d7ec","./eye.svg":"4df5","./form.svg":"eb1b","./link.svg":"18f0","./nested.svg":"dcf8","./password.svg":"2a3d","./table.svg":"47f1","./tree.svg":"93cd","./user.svg":"b3b5"};function i(e){var t=o(e);return n(t)}function o(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}i.keys=function(){return Object.keys(a)},i.resolve=o,e.exports=i,i.id="51ff"},"56d7":function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d");var a=n("2b0e"),i=(n("f5df1"),n("5c96")),o=n.n(i),r=(n("0fae"),n("f0d9")),c=n.n(r),s=(n("b20f"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("router-view")],1)}),u=[],l={name:"App"},d=l,h=n("2877"),m=Object(h["a"])(d,s,u,!1,null,null,null),f=m.exports,p=n("4360"),b=n("a18c"),v=(n("d81d"),n("d3b7"),n("ddb0"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isExternal?n("div",e._g({staticClass:"svg-external-icon svg-icon",style:e.styleExternalIcon},e.$listeners)):n("svg",e._g({class:e.svgClass,attrs:{"aria-hidden":"true"}},e.$listeners),[n("use",{attrs:{"xlink:href":e.iconName}})])}),g=[],w=n("61f7"),x={name:"SvgIcon",props:{iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExternal:function(){return Object(w["a"])(this.iconClass)},iconName:function(){return"#icon-".concat(this.iconClass)},svgClass:function(){return this.className?"svg-icon "+this.className:"svg-icon"},styleExternalIcon:function(){return{mask:"url(".concat(this.iconClass,") no-repeat 50% 50%"),"-webkit-mask":"url(".concat(this.iconClass,") no-repeat 50% 50%")}}}},y=x,k=(n("2b29"),Object(h["a"])(y,v,g,!1,null,"f9f7fefc",null)),O=k.exports;a["default"].component("svg-icon",O);var C=n("51ff"),_=function(e){return e.keys().map(e)};_(C);var E=n("c7eb"),z=n("1da1"),S=(n("b0c0"),n("323e")),M=n.n(S),H=(n("a5d8"),n("5f87")),T=(n("99af"),n("83d6")),B=n.n(T),j=B.a.title||"Vue Admin Template";function A(e){return e?"".concat(e," - ").concat(j):"".concat(j)}M.a.configure({showSpinner:!1});var V=["/login"];b["a"].beforeEach(function(){var e=Object(z["a"])(Object(E["a"])().mark((function e(t,n,a){var o,r;return Object(E["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(M.a.start(),document.title=A(t.meta.title),o=Object(H["a"])(),!o){e.next=29;break}if("/login"!==t.path){e.next=9;break}a({path:"/"}),M.a.done(),e.next=27;break;case 9:if(r=p["a"].getters.name,!r){e.next=14;break}a(),e.next=27;break;case 14:return e.prev=14,e.next=17,p["a"].dispatch("user/getInfo");case 17:a(),e.next=27;break;case 20:return e.prev=20,e.t0=e["catch"](14),e.next=24,p["a"].dispatch("user/resetToken");case 24:i["Message"].error(e.t0||"Has Error"),a("/login?redirect=".concat(t.path)),M.a.done();case 27:e.next=30;break;case 29:-1!==V.indexOf(t.path)?a():(a("/login?redirect=".concat(t.path)),M.a.done());case 30:case"end":return e.stop()}}),e,null,[[14,20]])})));return function(t,n,a){return e.apply(this,arguments)}}()),b["a"].afterEach((function(){M.a.done()})),a["default"].use(o.a,{locale:c.a}),a["default"].config.productionTip=!1,new a["default"]({el:"#app",router:b["a"],store:p["a"],render:function(e){return e(f)}})},"5f87":function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"c",(function(){return c})),n.d(t,"b",(function(){return s}));var a=n("a78e"),i=n.n(a),o="vue_admin_template_token";function r(){return i.a.get(o)}function c(e){return i.a.set(o,e)}function s(){return i.a.remove(o)}},"61f7":function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));n("ac1f"),n("00b4"),n("498a");function a(e){return/^(https?:|mailto:|tel:)/.test(e)}},"6c02":function(e,t,n){},"71a0":function(e,t,n){"use strict";n("6c02")},"80a3":function(e,t,n){"use strict";n("bfcb")},"83d6":function(e,t){e.exports={title:"车辆",fixedHeader:!1,sidebarLogo:!1}},"88a1":function(e,t,n){},"8d0b":function(e,t,n){},"8dd0":function(e,t,n){"use strict";n("c459")},9353:function(e,t,n){"use strict";n("8d0b")},"93cd":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-tree",use:"icon-tree-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},a18c:function(e,t,n){"use strict";n.d(t,"b",(function(){return Be}));n("d3b7"),n("3ca3"),n("ddb0");var a,i,o=n("2b0e"),r=n("8c4f"),c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-wrapper",class:e.classObj},["mobile"===e.device&&e.sidebar.opened?n("div",{staticClass:"drawer-bg",on:{click:e.handleClickOutside}}):e._e(),n("sidebar",{staticClass:"sidebar-container"}),n("div",{staticClass:"main-container"},[n("div",{class:{"fixed-header":e.fixedHeader}},[n("navbar")],1),n("app-main")],1)],1)},s=[],u=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"navbar"},[n("hamburger",{staticClass:"hamburger-container",attrs:{"is-active":e.sidebar.opened},on:{toggleClick:e.toggleSideBar}}),n("breadcrumb",{staticClass:"breadcrumb-container"}),n("div",{staticClass:"right-menu"},[n("el-dropdown",{staticClass:"avatar-container",attrs:{trigger:"click"}},[n("div",{staticClass:"avatar-wrapper"},[n("img",{staticClass:"user-avatar",attrs:{src:e.avatar+"?imageView2/1/w/80/h/80"}}),n("i",{staticClass:"el-icon-caret-bottom"})]),n("el-dropdown-menu",{staticClass:"user-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[n("router-link",{attrs:{to:"/"}},[n("el-dropdown-item",[e._v(" 主页 ")])],1),n("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(t){return e.logout(t)}}},[n("span",{staticStyle:{display:"block"}},[e._v("退出登录")])])],1)],1)],1)],1)},l=[],d=n("c7eb"),h=n("1da1"),m=n("5530"),f=n("2f62"),p=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{separator:"/"}},[n("transition-group",{attrs:{name:"breadcrumb"}},e._l(e.levelList,(function(t,a){return n("el-breadcrumb-item",{key:t.path},["noRedirect"===t.redirect||a===e.levelList.length-1?n("span",{staticClass:"no-redirect"},[e._v(e._s(t.meta.title))]):n("a",{on:{click:function(n){return n.preventDefault(),e.handleLink(t)}}},[e._v(e._s(t.meta.title))])])})),1)],1)},b=[],v=(n("4de4"),n("99af"),n("b0c0"),n("498a"),n("bd11")),g=n.n(v),w={data:function(){return{levelList:null}},watch:{$route:function(){this.getBreadcrumb()}},created:function(){this.getBreadcrumb()},methods:{getBreadcrumb:function(){var e=this.$route.matched.filter((function(e){return e.meta&&e.meta.title})),t=e[0];e=this.isDashboard(t)?[{path:"/dashboard",meta:{title:"首页"}}]:[{path:"/dashboard",meta:{title:"首页"}}].concat(e),this.levelList=e.filter((function(e){return e.meta&&e.meta.title&&!1!==e.meta.breadcrumb}))},isDashboard:function(e){var t=e&&e.name;return!!t&&"首页"===t.trim()},pathCompile:function(e){var t=this.$route.params,n=g.a.compile(e);return n(t)},handleLink:function(e){var t=e.redirect,n=e.path;t?this.$router.push(t):this.$router.push(this.pathCompile(n))}}},x=w,y=(n("d633"),n("2877")),k=Object(y["a"])(x,p,b,!1,null,"43342757",null),O=k.exports,C=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticStyle:{padding:"0 15px"},on:{click:e.toggleClick}},[n("svg",{staticClass:"hamburger",class:{"is-active":e.isActive},attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64"}},[n("path",{attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z"}})])])},_=[],E={name:"Hamburger",props:{isActive:{type:Boolean,default:!1}},methods:{toggleClick:function(){this.$emit("toggleClick")}}},z=E,S=(n("8dd0"),Object(y["a"])(z,C,_,!1,null,"49e15297",null)),M=S.exports,H={components:{Breadcrumb:O,Hamburger:M},computed:Object(m["a"])({},Object(f["b"])(["sidebar","avatar"])),methods:{toggleSideBar:function(){this.$store.dispatch("app/toggleSideBar")},logout:function(){var e=this;return Object(h["a"])(Object(d["a"])().mark((function t(){return Object(d["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("user/logout");case 2:e.$router.push("/login?redirect=".concat(e.$route.fullPath));case 3:case"end":return t.stop()}}),t)})))()}}},T=H,B=(n("80a3"),Object(y["a"])(T,u,l,!1,null,"455efee4",null)),j=B.exports,A=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:{"has-logo":e.showLogo}},[e.showLogo?n("logo",{attrs:{collapse:e.isCollapse}}):e._e(),n("el-scrollbar",{attrs:{"wrap-class":"scrollbar-wrapper"}},[n("el-menu",{attrs:{"default-active":e.activeMenu,collapse:e.isCollapse,"background-color":e.variables.menuBg,"text-color":e.variables.menuText,"unique-opened":!1,"active-text-color":e.variables.menuActiveText,"collapse-transition":!1,mode:"vertical"}},e._l(e.routes,(function(e){return n("sidebar-item",{key:e.path,attrs:{item:e,"base-path":e.path}})})),1)],1)],1)},V=[],$=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"sidebar-logo-container",class:{collapse:e.collapse}},[n("transition",{attrs:{name:"sidebarLogoFade"}},[e.collapse?n("router-link",{key:"collapse",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])]):n("router-link",{key:"expand",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):e._e(),n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])])],1)],1)},L=[],N={name:"SidebarLogo",props:{collapse:{type:Boolean,required:!0}},data:function(){return{title:"Vue Admin Template",logo:"https://wpimg.wallstcn.com/69a1c46c-eb1c-4b46-8bd4-e9e686ef5251.png"}}},P=N,I=(n("71a0"),Object(y["a"])(P,$,L,!1,null,"5bb1c0e2",null)),D=I.exports,q=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.item.hidden?e._e():n("div",[!e.hasOneShowingChild(e.item.children,e.item)||e.onlyOneChild.children&&!e.onlyOneChild.noShowingChildren||e.item.alwaysShow?n("el-submenu",{ref:"subMenu",attrs:{index:e.resolvePath(e.item.path),"popper-append-to-body":""}},[n("template",{slot:"title"},[e.item.meta?n("item",{attrs:{icon:e.item.meta&&e.item.meta.icon,title:e.item.meta.title}}):e._e()],1),e._l(e.item.children,(function(t){return n("sidebar-item",{key:t.path,staticClass:"nest-menu",attrs:{"is-nest":!0,item:t,"base-path":e.resolvePath(t.path)}})}))],2):[e.onlyOneChild.meta?n("app-link",{attrs:{to:e.resolvePath(e.onlyOneChild.path)}},[n("el-menu-item",{class:{"submenu-title-noDropdown":!e.isNest},attrs:{index:e.resolvePath(e.onlyOneChild.path)}},[n("item",{attrs:{icon:e.onlyOneChild.meta.icon||e.item.meta&&e.item.meta.icon,title:e.onlyOneChild.meta.title}})],1)],1):e._e()]],2)},G=[],R=n("df7c"),U=n.n(R),F=n("61f7"),J=(n("caad"),n("2532"),{name:"MenuItem",functional:!0,props:{icon:{type:String,default:""},title:{type:String,default:""}},render:function(e,t){var n=t.props,a=n.icon,i=n.title,o=[];return a&&(a.includes("el-icon")?o.push(e("i",{class:[a,"sub-el-icon"]})):o.push(e("svg-icon",{attrs:{"icon-class":a}}))),i&&o.push(e("span",{slot:"title"},[i])),o}}),K=J,W=(n("f87e"),Object(y["a"])(K,a,i,!1,null,"18eeea00",null)),Q=W.exports,X=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.type,e._b({tag:"component"},"component",e.linkProps(e.to),!1),[e._t("default")],2)},Y=[],Z={props:{to:{type:String,required:!0}},computed:{isExternal:function(){return Object(F["a"])(this.to)},type:function(){return this.isExternal?"a":"router-link"}},methods:{linkProps:function(e){return this.isExternal?{href:e,target:"_blank",rel:"noopener"}:{to:e}}}},ee=Z,te=Object(y["a"])(ee,X,Y,!1,null,null,null),ne=te.exports,ae={computed:{device:function(){return this.$store.state.app.device}},mounted:function(){this.fixBugIniOS()},methods:{fixBugIniOS:function(){var e=this,t=this.$refs.subMenu;if(t){var n=t.handleMouseleave;t.handleMouseleave=function(t){"mobile"!==e.device&&n(t)}}}}},ie={name:"SidebarItem",components:{Item:Q,AppLink:ne},mixins:[ae],props:{item:{type:Object,required:!0},isNest:{type:Boolean,default:!1},basePath:{type:String,default:""}},data:function(){return this.onlyOneChild=null,{}},methods:{hasOneShowingChild:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0,a=t.filter((function(t){return!t.hidden&&(e.onlyOneChild=t,!0)}));return 1===a.length||0===a.length&&(this.onlyOneChild=Object(m["a"])(Object(m["a"])({},n),{},{path:"",noShowingChildren:!0}),!0)},resolvePath:function(e){return Object(F["a"])(e)?e:Object(F["a"])(this.basePath)?this.basePath:U.a.resolve(this.basePath,e)}}},oe=ie,re=Object(y["a"])(oe,q,G,!1,null,null,null),ce=re.exports,se=n("cf1e"),ue=n.n(se),le={components:{SidebarItem:ce,Logo:D},computed:Object(m["a"])(Object(m["a"])({},Object(f["b"])(["sidebar"])),{},{routes:function(){return this.$router.options.routes},activeMenu:function(){var e=this.$route,t=e.meta,n=e.path;return t.activeMenu?t.activeMenu:n},showLogo:function(){return this.$store.state.settings.sidebarLogo},variables:function(){return ue.a},isCollapse:function(){return!this.sidebar.opened}})},de=le,he=Object(y["a"])(de,A,V,!1,null,null,null),me=he.exports,fe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"app-main"},[n("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[n("router-view",{key:e.key})],1)],1)},pe=[],be={name:"AppMain",computed:{key:function(){return this.$route.path}}},ve=be,ge=(n("2224"),n("0ae2d"),Object(y["a"])(ve,fe,pe,!1,null,"64cf4d83",null)),we=ge.exports,xe=n("4360"),ye=document,ke=ye.body,Oe=992,Ce={watch:{$route:function(e){"mobile"===this.device&&this.sidebar.opened&&xe["a"].dispatch("app/closeSideBar",{withoutAnimation:!1})}},beforeMount:function(){window.addEventListener("resize",this.$_resizeHandler)},beforeDestroy:function(){window.removeEventListener("resize",this.$_resizeHandler)},mounted:function(){var e=this.$_isMobile();e&&(xe["a"].dispatch("app/toggleDevice","mobile"),xe["a"].dispatch("app/closeSideBar",{withoutAnimation:!0}))},methods:{$_isMobile:function(){var e=ke.getBoundingClientRect();return e.width-1'});r.a.add(c);t["default"]=c},b775:function(e,t,n){"use strict";n("d3b7");var a=n("bc3a"),i=n.n(a),o=n("5c96"),r=n("4360"),c=n("5f87"),s=i.a.create({baseURL:"/",timeout:5e3});s.interceptors.request.use((function(e){return r["a"].getters.token&&(e.headers["Authorization"]=Object(c["a"])()),e}),(function(e){return console.log(e),Promise.reject(e)})),s.interceptors.response.use((function(e){var t=e.data;return 200!==t.code?(Object(o["Message"])({message:t.msg||"Error",type:"error",duration:5e3}),501!==t.code&&502!==t.code&&503!==t.code||o["MessageBox"].confirm("您已经注销,您可以取消以保留在此页面上,或再次登录","确认注销",{confirmButtonText:"重新登录",cancelButtonText:"取消",type:"warning"}).then((function(){r["a"].dispatch("user/resetToken").then((function(){location.reload()}))})),Promise.reject(new Error(t.msg||"Error"))):t}),(function(e){return console.log("err"+e),Object(o["Message"])({message:e.message,type:"error",duration:5e3}),Promise.reject(e)})),t["a"]=s},bfcb:function(e,t,n){},c24f:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return r}));var a=n("b775");function i(e){return Object(a["a"])({url:"/system/auth/login",method:"post",data:e})}function o(e){return Object(a["a"])({url:"/system/auth/reg",method:"post",data:e})}function r(e){return Object(a["a"])({url:"/system/auth/info",method:"get",params:{token:e}})}},c459:function(e,t,n){},cbd7:function(e,t,n){},cf1e:function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409eff",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"210px"}},d633:function(e,t,n){"use strict";n("88a1")},d7ec:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-eye-open",use:"icon-eye-open-usage",viewBox:"0 0 1024 1024",content:''});r.a.add(c);t["default"]=c},dcf8:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-nested",use:"icon-nested-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},eb1b:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-form",use:"icon-form-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},f6c3:function(e,t,n){},f782:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-dashboard",use:"icon-dashboard-usage",viewBox:"0 0 128 100",content:''});r.a.add(c);t["default"]=c},f87e:function(e,t,n){"use strict";n("279e")}},[[0,"runtime","chunk-elementUI","chunk-libs"]]]);
\ No newline at end of file
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["app"],{0:function(e,t,n){e.exports=n("56d7")},"0ae2d":function(e,t,n){"use strict";n("cbd7")},"18f0":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-link",use:"icon-link-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},2224:function(e,t,n){"use strict";n("5031")},"279e":function(e,t,n){},"2a3d":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-password",use:"icon-password-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},"2b29":function(e,t,n){"use strict";n("f6c3")},"30c3":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-example",use:"icon-example-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},4360:function(e,t,n){"use strict";var a=n("2b0e"),i=n("2f62"),o=(n("b0c0"),{sidebar:function(e){return e.app.sidebar},device:function(e){return e.app.device},token:function(e){return e.user.token},avatar:function(e){return e.user.avatar},name:function(e){return e.user.name}}),r=o,c=n("a78e"),s=n.n(c),u={sidebar:{opened:!s.a.get("sidebarStatus")||!!+s.a.get("sidebarStatus"),withoutAnimation:!1},device:"desktop"},l={TOGGLE_SIDEBAR:function(e){e.sidebar.opened=!e.sidebar.opened,e.sidebar.withoutAnimation=!1,e.sidebar.opened?s.a.set("sidebarStatus",1):s.a.set("sidebarStatus",0)},CLOSE_SIDEBAR:function(e,t){s.a.set("sidebarStatus",0),e.sidebar.opened=!1,e.sidebar.withoutAnimation=t},TOGGLE_DEVICE:function(e,t){e.device=t}},d={toggleSideBar:function(e){var t=e.commit;t("TOGGLE_SIDEBAR")},closeSideBar:function(e,t){var n=e.commit,a=t.withoutAnimation;n("CLOSE_SIDEBAR",a)},toggleDevice:function(e,t){var n=e.commit;n("TOGGLE_DEVICE",t)}},h={namespaced:!0,state:u,mutations:l,actions:d},m=n("83d6"),f=n.n(m),p=f.a.showSettings,b=f.a.fixedHeader,v=f.a.sidebarLogo,g={showSettings:p,fixedHeader:b,sidebarLogo:v},w={CHANGE_SETTING:function(e,t){var n=t.key,a=t.value;e.hasOwnProperty(n)&&(e[n]=a)}},x={changeSetting:function(e,t){var n=e.commit;n("CHANGE_SETTING",t)}},y={namespaced:!0,state:g,mutations:w,actions:x},k=(n("d3b7"),n("498a"),n("5f87")),O=n("a18c"),C=n("c24f"),_=function(){return{token:Object(k["a"])(),name:"",avatar:""}},E=_(),z={RESET_STATE:function(e){Object.assign(e,_())},SET_TOKEN:function(e,t){e.token=t},SET_NAME:function(e,t){e.name=t},SET_AVATAR:function(e,t){e.avatar=t}},S={login:function(e,t){var n=e.commit,a=t.userName,i=t.password;return new Promise((function(e,t){Object(C["b"])({userName:a.trim(),password:i}).then((function(t){var a=t.data;n("SET_TOKEN",a),Object(k["c"])(a),e()})).catch((function(e){t(e)}))}))},getInfo:function(e){var t=e.commit,n=e.state;return new Promise((function(e,a){Object(C["a"])(n.token).then((function(n){var i=n.data;if(!i)return a("验证失败,请再次登录。");var o=i.userName;t("SET_NAME",o),t("SET_AVATAR","https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"),e(i)})).catch((function(e){a(e)}))}))},logout:function(e){var t=e.commit;e.state;return new Promise((function(e,n){Object(k["b"])(),Object(O["b"])(),t("RESET_STATE"),e()}))},resetToken:function(e){var t=e.commit;return new Promise((function(e){Object(k["b"])(),t("RESET_STATE"),e()}))}},M={namespaced:!0,state:E,mutations:z,actions:S};a["default"].use(i["a"]);var H=new i["a"].Store({modules:{app:h,settings:y,user:M},getters:r});t["a"]=H},"47f1":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-table",use:"icon-table-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},"4df5":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-eye",use:"icon-eye-usage",viewBox:"0 0 128 64",content:''});r.a.add(c);t["default"]=c},5031:function(e,t,n){},"51ff":function(e,t,n){var a={"./dashboard.svg":"f782","./example.svg":"30c3","./eye-open.svg":"d7ec","./eye.svg":"4df5","./form.svg":"eb1b","./link.svg":"18f0","./nested.svg":"dcf8","./password.svg":"2a3d","./table.svg":"47f1","./tree.svg":"93cd","./user.svg":"b3b5"};function i(e){var t=o(e);return n(t)}function o(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}i.keys=function(){return Object.keys(a)},i.resolve=o,e.exports=i,i.id="51ff"},"56d7":function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d");var a=n("2b0e"),i=(n("f5df1"),n("5c96")),o=n.n(i),r=(n("0fae"),n("f0d9")),c=n.n(r),s=(n("b20f"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("router-view")],1)}),u=[],l={name:"App"},d=l,h=n("2877"),m=Object(h["a"])(d,s,u,!1,null,null,null),f=m.exports,p=n("4360"),b=n("a18c"),v=(n("d81d"),n("d3b7"),n("ddb0"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isExternal?n("div",e._g({staticClass:"svg-external-icon svg-icon",style:e.styleExternalIcon},e.$listeners)):n("svg",e._g({class:e.svgClass,attrs:{"aria-hidden":"true"}},e.$listeners),[n("use",{attrs:{"xlink:href":e.iconName}})])}),g=[],w=n("61f7"),x={name:"SvgIcon",props:{iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExternal:function(){return Object(w["a"])(this.iconClass)},iconName:function(){return"#icon-".concat(this.iconClass)},svgClass:function(){return this.className?"svg-icon "+this.className:"svg-icon"},styleExternalIcon:function(){return{mask:"url(".concat(this.iconClass,") no-repeat 50% 50%"),"-webkit-mask":"url(".concat(this.iconClass,") no-repeat 50% 50%")}}}},y=x,k=(n("2b29"),Object(h["a"])(y,v,g,!1,null,"f9f7fefc",null)),O=k.exports;a["default"].component("svg-icon",O);var C=n("51ff"),_=function(e){return e.keys().map(e)};_(C);var E=n("c7eb"),z=n("1da1"),S=(n("b0c0"),n("323e")),M=n.n(S),H=(n("a5d8"),n("5f87")),T=(n("99af"),n("83d6")),B=n.n(T),j=B.a.title||"Vue Admin Template";function A(e){return e?"".concat(e," - ").concat(j):"".concat(j)}M.a.configure({showSpinner:!1});var V=["/login"];b["a"].beforeEach(function(){var e=Object(z["a"])(Object(E["a"])().mark((function e(t,n,a){var o,r;return Object(E["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(M.a.start(),document.title=A(t.meta.title),o=Object(H["a"])(),!o){e.next=29;break}if("/login"!==t.path){e.next=9;break}a({path:"/"}),M.a.done(),e.next=27;break;case 9:if(r=p["a"].getters.name,!r){e.next=14;break}a(),e.next=27;break;case 14:return e.prev=14,e.next=17,p["a"].dispatch("user/getInfo");case 17:a(),e.next=27;break;case 20:return e.prev=20,e.t0=e["catch"](14),e.next=24,p["a"].dispatch("user/resetToken");case 24:i["Message"].error(e.t0||"Has Error"),a("/login?redirect=".concat(t.path)),M.a.done();case 27:e.next=30;break;case 29:-1!==V.indexOf(t.path)?a():(a("/login?redirect=".concat(t.path)),M.a.done());case 30:case"end":return e.stop()}}),e,null,[[14,20]])})));return function(t,n,a){return e.apply(this,arguments)}}()),b["a"].afterEach((function(){M.a.done()})),a["default"].use(o.a,{locale:c.a}),a["default"].config.productionTip=!1,new a["default"]({el:"#app",router:b["a"],store:p["a"],render:function(e){return e(f)}})},"5f87":function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"c",(function(){return c})),n.d(t,"b",(function(){return s}));var a=n("a78e"),i=n.n(a),o="vue_admin_template_token";function r(){return i.a.get(o)}function c(e){return i.a.set(o,e)}function s(){return i.a.remove(o)}},"61f7":function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));n("ac1f"),n("00b4"),n("498a");function a(e){return/^(https?:|mailto:|tel:)/.test(e)}},"6c02":function(e,t,n){},"71a0":function(e,t,n){"use strict";n("6c02")},"80a3":function(e,t,n){"use strict";n("bfcb")},"83d6":function(e,t){e.exports={title:"车辆",fixedHeader:!1,sidebarLogo:!1}},"88a1":function(e,t,n){},"8d0b":function(e,t,n){},"8dd0":function(e,t,n){"use strict";n("c459")},9353:function(e,t,n){"use strict";n("8d0b")},"93cd":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-tree",use:"icon-tree-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},a18c:function(e,t,n){"use strict";n.d(t,"b",(function(){return Be}));n("d3b7"),n("3ca3"),n("ddb0");var a,i,o=n("2b0e"),r=n("8c4f"),c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-wrapper",class:e.classObj},["mobile"===e.device&&e.sidebar.opened?n("div",{staticClass:"drawer-bg",on:{click:e.handleClickOutside}}):e._e(),n("sidebar",{staticClass:"sidebar-container"}),n("div",{staticClass:"main-container"},[n("div",{class:{"fixed-header":e.fixedHeader}},[n("navbar")],1),n("app-main")],1)],1)},s=[],u=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"navbar"},[n("hamburger",{staticClass:"hamburger-container",attrs:{"is-active":e.sidebar.opened},on:{toggleClick:e.toggleSideBar}}),n("breadcrumb",{staticClass:"breadcrumb-container"}),n("div",{staticClass:"right-menu"},[n("el-dropdown",{staticClass:"avatar-container",attrs:{trigger:"click"}},[n("div",{staticClass:"avatar-wrapper"},[n("img",{staticClass:"user-avatar",attrs:{src:e.avatar+"?imageView2/1/w/80/h/80"}}),n("i",{staticClass:"el-icon-caret-bottom"})]),n("el-dropdown-menu",{staticClass:"user-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[n("router-link",{attrs:{to:"/"}},[n("el-dropdown-item",[e._v(" 主页 ")])],1),n("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(t){return e.logout(t)}}},[n("span",{staticStyle:{display:"block"}},[e._v("退出登录")])])],1)],1)],1)],1)},l=[],d=n("c7eb"),h=n("1da1"),m=n("5530"),f=n("2f62"),p=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{separator:"/"}},[n("transition-group",{attrs:{name:"breadcrumb"}},e._l(e.levelList,(function(t,a){return n("el-breadcrumb-item",{key:t.path},["noRedirect"===t.redirect||a===e.levelList.length-1?n("span",{staticClass:"no-redirect"},[e._v(e._s(t.meta.title))]):n("a",{on:{click:function(n){return n.preventDefault(),e.handleLink(t)}}},[e._v(e._s(t.meta.title))])])})),1)],1)},b=[],v=(n("4de4"),n("99af"),n("b0c0"),n("498a"),n("bd11")),g=n.n(v),w={data:function(){return{levelList:null}},watch:{$route:function(){this.getBreadcrumb()}},created:function(){this.getBreadcrumb()},methods:{getBreadcrumb:function(){var e=this.$route.matched.filter((function(e){return e.meta&&e.meta.title})),t=e[0];e=this.isDashboard(t)?[{path:"/dashboard",meta:{title:"首页"}}]:[{path:"/dashboard",meta:{title:"首页"}}].concat(e),this.levelList=e.filter((function(e){return e.meta&&e.meta.title&&!1!==e.meta.breadcrumb}))},isDashboard:function(e){var t=e&&e.name;return!!t&&"首页"===t.trim()},pathCompile:function(e){var t=this.$route.params,n=g.a.compile(e);return n(t)},handleLink:function(e){var t=e.redirect,n=e.path;t?this.$router.push(t):this.$router.push(this.pathCompile(n))}}},x=w,y=(n("d633"),n("2877")),k=Object(y["a"])(x,p,b,!1,null,"43342757",null),O=k.exports,C=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticStyle:{padding:"0 15px"},on:{click:e.toggleClick}},[n("svg",{staticClass:"hamburger",class:{"is-active":e.isActive},attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64"}},[n("path",{attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z"}})])])},_=[],E={name:"Hamburger",props:{isActive:{type:Boolean,default:!1}},methods:{toggleClick:function(){this.$emit("toggleClick")}}},z=E,S=(n("8dd0"),Object(y["a"])(z,C,_,!1,null,"49e15297",null)),M=S.exports,H={components:{Breadcrumb:O,Hamburger:M},computed:Object(m["a"])({},Object(f["b"])(["sidebar","avatar"])),methods:{toggleSideBar:function(){this.$store.dispatch("app/toggleSideBar")},logout:function(){var e=this;return Object(h["a"])(Object(d["a"])().mark((function t(){return Object(d["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("user/logout");case 2:e.$router.push("/login?redirect=".concat(e.$route.fullPath));case 3:case"end":return t.stop()}}),t)})))()}}},T=H,B=(n("80a3"),Object(y["a"])(T,u,l,!1,null,"455efee4",null)),j=B.exports,A=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:{"has-logo":e.showLogo}},[e.showLogo?n("logo",{attrs:{collapse:e.isCollapse}}):e._e(),n("el-scrollbar",{attrs:{"wrap-class":"scrollbar-wrapper"}},[n("el-menu",{attrs:{"default-active":e.activeMenu,collapse:e.isCollapse,"background-color":e.variables.menuBg,"text-color":e.variables.menuText,"unique-opened":!1,"active-text-color":e.variables.menuActiveText,"collapse-transition":!1,mode:"vertical"}},e._l(e.routes,(function(e){return n("sidebar-item",{key:e.path,attrs:{item:e,"base-path":e.path}})})),1)],1)],1)},V=[],$=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"sidebar-logo-container",class:{collapse:e.collapse}},[n("transition",{attrs:{name:"sidebarLogoFade"}},[e.collapse?n("router-link",{key:"collapse",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])]):n("router-link",{key:"expand",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):e._e(),n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])])],1)],1)},L=[],N={name:"SidebarLogo",props:{collapse:{type:Boolean,required:!0}},data:function(){return{title:"Vue Admin Template",logo:"https://wpimg.wallstcn.com/69a1c46c-eb1c-4b46-8bd4-e9e686ef5251.png"}}},P=N,I=(n("71a0"),Object(y["a"])(P,$,L,!1,null,"5bb1c0e2",null)),D=I.exports,q=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.item.hidden?e._e():n("div",[!e.hasOneShowingChild(e.item.children,e.item)||e.onlyOneChild.children&&!e.onlyOneChild.noShowingChildren||e.item.alwaysShow?n("el-submenu",{ref:"subMenu",attrs:{index:e.resolvePath(e.item.path),"popper-append-to-body":""}},[n("template",{slot:"title"},[e.item.meta?n("item",{attrs:{icon:e.item.meta&&e.item.meta.icon,title:e.item.meta.title}}):e._e()],1),e._l(e.item.children,(function(t){return n("sidebar-item",{key:t.path,staticClass:"nest-menu",attrs:{"is-nest":!0,item:t,"base-path":e.resolvePath(t.path)}})}))],2):[e.onlyOneChild.meta?n("app-link",{attrs:{to:e.resolvePath(e.onlyOneChild.path)}},[n("el-menu-item",{class:{"submenu-title-noDropdown":!e.isNest},attrs:{index:e.resolvePath(e.onlyOneChild.path)}},[n("item",{attrs:{icon:e.onlyOneChild.meta.icon||e.item.meta&&e.item.meta.icon,title:e.onlyOneChild.meta.title}})],1)],1):e._e()]],2)},G=[],R=n("df7c"),U=n.n(R),F=n("61f7"),J=(n("caad"),n("2532"),{name:"MenuItem",functional:!0,props:{icon:{type:String,default:""},title:{type:String,default:""}},render:function(e,t){var n=t.props,a=n.icon,i=n.title,o=[];return a&&(a.includes("el-icon")?o.push(e("i",{class:[a,"sub-el-icon"]})):o.push(e("svg-icon",{attrs:{"icon-class":a}}))),i&&o.push(e("span",{slot:"title"},[i])),o}}),K=J,W=(n("f87e"),Object(y["a"])(K,a,i,!1,null,"18eeea00",null)),Q=W.exports,X=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.type,e._b({tag:"component"},"component",e.linkProps(e.to),!1),[e._t("default")],2)},Y=[],Z={props:{to:{type:String,required:!0}},computed:{isExternal:function(){return Object(F["a"])(this.to)},type:function(){return this.isExternal?"a":"router-link"}},methods:{linkProps:function(e){return this.isExternal?{href:e,target:"_blank",rel:"noopener"}:{to:e}}}},ee=Z,te=Object(y["a"])(ee,X,Y,!1,null,null,null),ne=te.exports,ae={computed:{device:function(){return this.$store.state.app.device}},mounted:function(){this.fixBugIniOS()},methods:{fixBugIniOS:function(){var e=this,t=this.$refs.subMenu;if(t){var n=t.handleMouseleave;t.handleMouseleave=function(t){"mobile"!==e.device&&n(t)}}}}},ie={name:"SidebarItem",components:{Item:Q,AppLink:ne},mixins:[ae],props:{item:{type:Object,required:!0},isNest:{type:Boolean,default:!1},basePath:{type:String,default:""}},data:function(){return this.onlyOneChild=null,{}},methods:{hasOneShowingChild:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0,a=t.filter((function(t){return!t.hidden&&(e.onlyOneChild=t,!0)}));return 1===a.length||0===a.length&&(this.onlyOneChild=Object(m["a"])(Object(m["a"])({},n),{},{path:"",noShowingChildren:!0}),!0)},resolvePath:function(e){return Object(F["a"])(e)?e:Object(F["a"])(this.basePath)?this.basePath:U.a.resolve(this.basePath,e)}}},oe=ie,re=Object(y["a"])(oe,q,G,!1,null,null,null),ce=re.exports,se=n("cf1e"),ue=n.n(se),le={components:{SidebarItem:ce,Logo:D},computed:Object(m["a"])(Object(m["a"])({},Object(f["b"])(["sidebar"])),{},{routes:function(){return this.$router.options.routes},activeMenu:function(){var e=this.$route,t=e.meta,n=e.path;return t.activeMenu?t.activeMenu:n},showLogo:function(){return this.$store.state.settings.sidebarLogo},variables:function(){return ue.a},isCollapse:function(){return!this.sidebar.opened}})},de=le,he=Object(y["a"])(de,A,V,!1,null,null,null),me=he.exports,fe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"app-main"},[n("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[n("router-view",{key:e.key})],1)],1)},pe=[],be={name:"AppMain",computed:{key:function(){return this.$route.path}}},ve=be,ge=(n("2224"),n("0ae2d"),Object(y["a"])(ve,fe,pe,!1,null,"64cf4d83",null)),we=ge.exports,xe=n("4360"),ye=document,ke=ye.body,Oe=992,Ce={watch:{$route:function(e){"mobile"===this.device&&this.sidebar.opened&&xe["a"].dispatch("app/closeSideBar",{withoutAnimation:!1})}},beforeMount:function(){window.addEventListener("resize",this.$_resizeHandler)},beforeDestroy:function(){window.removeEventListener("resize",this.$_resizeHandler)},mounted:function(){var e=this.$_isMobile();e&&(xe["a"].dispatch("app/toggleDevice","mobile"),xe["a"].dispatch("app/closeSideBar",{withoutAnimation:!0}))},methods:{$_isMobile:function(){var e=ke.getBoundingClientRect();return e.width-1'});r.a.add(c);t["default"]=c},b775:function(e,t,n){"use strict";n("d3b7");var a=n("bc3a"),i=n.n(a),o=n("5c96"),r=n("4360"),c=n("5f87"),s=i.a.create({baseURL:"/",timeout:5e3});s.interceptors.request.use((function(e){return r["a"].getters.token&&(e.headers["Authorization"]=Object(c["a"])()),e}),(function(e){return console.log(e),Promise.reject(e)})),s.interceptors.response.use((function(e){var t=e.data;return 200!==t.code?(Object(o["Message"])({message:t.msg||"Error",type:"error",duration:5e3}),501!==t.code&&502!==t.code&&503!==t.code||o["MessageBox"].confirm("您已经注销,您可以取消以保留在此页面上,或再次登录","确认注销",{confirmButtonText:"重新登录",cancelButtonText:"取消",type:"warning"}).then((function(){r["a"].dispatch("user/resetToken").then((function(){location.reload()}))})),Promise.reject(new Error(t.msg||"Error"))):t}),(function(e){return console.log("err"+e),Object(o["Message"])({message:e.message,type:"error",duration:5e3}),Promise.reject(e)})),t["a"]=s},bfcb:function(e,t,n){},c24f:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return r}));var a=n("b775");function i(e){return Object(a["a"])({url:"/system/auth/login",method:"post",data:e})}function o(e){return Object(a["a"])({url:"/system/auth/reg",method:"post",data:e})}function r(e){return Object(a["a"])({url:"/system/auth/info",method:"get",params:{token:e}})}},c459:function(e,t,n){},cbd7:function(e,t,n){},cf1e:function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409eff",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"210px"}},d633:function(e,t,n){"use strict";n("88a1")},d7ec:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-eye-open",use:"icon-eye-open-usage",viewBox:"0 0 1024 1024",content:''});r.a.add(c);t["default"]=c},dcf8:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-nested",use:"icon-nested-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},eb1b:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-form",use:"icon-form-usage",viewBox:"0 0 128 128",content:''});r.a.add(c);t["default"]=c},f6c3:function(e,t,n){},f782:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),r=n.n(o),c=new i.a({id:"icon-dashboard",use:"icon-dashboard-usage",viewBox:"0 0 128 100",content:''});r.a.add(c);t["default"]=c},f87e:function(e,t,n){"use strict";n("279e")}},[[0,"runtime","chunk-elementUI","chunk-libs"]]]);
\ No newline at end of file
diff --git a/src/main/resources/static/js/chunk-00a52ac4.5f82d470.js b/src/main/resources/static/js/chunk-00a52ac4.5f82d470.js
new file mode 100644
index 0000000..b29d911
--- /dev/null
+++ b/src/main/resources/static/js/chunk-00a52ac4.5f82d470.js
@@ -0,0 +1 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-00a52ac4"],{"00de":function(e,a,t){"use strict";t("c3ca")},"25f0":function(e,a,t){"use strict";var l=t("6eeb"),s=t("825a"),o=t("d039"),n=t("ad6d"),u="toString",r=RegExp.prototype,i=r[u],c=o((function(){return"/a/b"!=i.call({source:"a",flags:"b"})})),m=i.name!=u;(c||m)&&l(RegExp.prototype,u,(function(){var e=s(this),a=String(e.source),t=e.flags,l=String(void 0===t&&e instanceof RegExp&&!("flags"in r)?n.call(e):t);return"/"+a+"/"+l}),{unsafe:!0})},3951:function(e,a,t){"use strict";t.d(a,"a",(function(){return s})),t.d(a,"b",(function(){return o})),t.d(a,"c",(function(){return n})),t.d(a,"d",(function(){return u}));var l=t("b775");function s(){return Object(l["a"])({url:"/message/template/list",method:"get"})}function o(e){return Object(l["a"])({url:"/message/template",method:"post",data:e})}function n(e){return Object(l["a"])({url:"/message/template/".concat(e,"/value"),method:"get"})}function u(e,a){return Object(l["a"])({url:"/message/template/".concat(e,"/value"),method:"post",data:a})}},"80b1":function(e,a,t){"use strict";t.r(a);var l=function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("div",{staticClass:"app-container"},[t("el-row",{attrs:{gutter:20}},[t("el-col",{attrs:{span:5}},[t("el-row",[t("el-button",{on:{click:e.toMessageTemplateSave}},[e._v("添加模板")])],1),t("el-dialog",{attrs:{title:"提示",visible:e.messageTemplateSaveStatus,width:"30%"},on:{"update:visible":function(a){e.messageTemplateSaveStatus=a}}},[t("el-form",{ref:"form",attrs:{model:e.messageTemplateForm,"label-width":"80px"}},[t("el-form-item",{attrs:{label:"模板名称"}},[t("el-input",{model:{value:e.messageTemplateForm.messageName,callback:function(a){e.$set(e.messageTemplateForm,"messageName",a)},expression:"messageTemplateForm.messageName"}})],1),t("el-form-item",{attrs:{label:"模板描述"}},[t("el-input",{attrs:{type:"textarea"},model:{value:e.messageTemplateForm.description,callback:function(a){e.$set(e.messageTemplateForm,"description",a)},expression:"messageTemplateForm.description"}})],1)],1),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{on:{click:function(a){e.messageTemplateSaveStatus=!1}}},[e._v("取 消")]),t("el-button",{attrs:{type:"primary"},on:{click:e.doMessageTemplateSave}},[e._v("确 定")])],1)],1),t("el-row",{staticClass:"grid-content",style:{height:e.contentHeight+"px"}},e._l(e.messageTemplateList,(function(a){return t("el-card",{staticClass:"box-card"},[t("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[t("span",[e._v(e._s(a.messageName))]),t("el-button",{staticStyle:{float:"right",padding:"3px 0"},attrs:{type:"text"},on:{click:function(t){return e.selectMessage(a)}}},[e._v("模板配置 ")])],1),e._v(" "+e._s(a.description)+" ")])})),1)],1),t("el-col",{attrs:{span:19}},[null===e.selectedMessage?t("el-empty",{attrs:{description:"请选择报文模板","image-size":300}}):e._e(),null!==e.selectedMessage?t("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0,model:e.messageValue,size:"mini","label-width":"80px"}},[t("el-form-item",{attrs:{label:"报文类别"}},[t("el-select",{staticStyle:{width:"198px"},attrs:{placeholder:"报文类别"},model:{value:e.messageValue.category,callback:function(a){e.$set(e.messageValue,"category",a)},expression:"messageValue.category"}},[t("el-option",{key:"base",attrs:{label:"车辆基础",value:"base"}}),t("el-option",{key:"data",attrs:{label:"车辆数据",value:"data"}}),t("el-option",{key:"status",attrs:{label:"设备状态",value:"status"}})],1)],1),t("el-form-item",{attrs:{label:"编码"}},[t("el-input",{attrs:{placeholder:"编码"},model:{value:e.messageValue.code,callback:function(a){e.$set(e.messageValue,"code",a)},expression:"messageValue.code"}})],1),t("el-form-item",{attrs:{label:"标签"}},[t("el-input",{attrs:{placeholder:"标签"},model:{value:e.messageValue.label,callback:function(a){e.$set(e.messageValue,"label",a)},expression:"messageValue.label"}})],1),t("el-form-item",{attrs:{label:"起始位"}},[t("el-input",{attrs:{placeholder:"起始位"},model:{value:e.messageValue.startLocation,callback:function(a){e.$set(e.messageValue,"startLocation",a)},expression:"messageValue.startLocation"}})],1),t("el-form-item",{attrs:{label:"数据长度"}},[t("el-input",{attrs:{placeholder:"数据长度"},model:{value:e.messageValue.length,callback:function(a){e.$set(e.messageValue,"length",a)},expression:"messageValue.length"}})],1),t("el-form-item",{attrs:{label:"终止位"}},[t("el-input",{attrs:{placeholder:"终止位"},model:{value:e.messageValue.endLocation,callback:function(a){e.$set(e.messageValue,"endLocation",a)},expression:"messageValue.endLocation"}})],1),t("el-form-item",{attrs:{label:"数据类型"}},[t("el-select",{staticStyle:{width:"198px"},attrs:{placeholder:"数据类型"},model:{value:e.messageValue.valueType,callback:function(a){e.$set(e.messageValue,"valueType",a)},expression:"messageValue.valueType"}},[t("el-option",{key:"el",attrs:{label:"表达式",value:"el"}}),t("el-option",{key:"fixed",attrs:{label:"固定值",value:"fixed"}}),t("el-option",{key:"interval",attrs:{label:"区间随机值",value:"interval"}})],1)],1),"fixed"===e.messageValue.valueType?t("el-form-item",{attrs:{label:"固定值"}},[t("el-select",{staticStyle:{width:"198px"},attrs:{multiple:"",filterable:"","allow-create":"","default-first-option":"",placeholder:"请输入固定值"},model:{value:e.messageValue.fixedValueList,callback:function(a){e.$set(e.messageValue,"fixedValueList",a)},expression:"messageValue.fixedValueList"}},e._l([],(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1):e._e(),"el"===e.messageValue.valueType?t("el-form-item",{attrs:{label:"表达式"}},[t("el-input",{attrs:{placeholder:"表达式"},model:{value:e.messageValue.elValue,callback:function(a){e.$set(e.messageValue,"elValue",a)},expression:"messageValue.elValue"}})],1):e._e(),"interval"===e.messageValue.valueType?t("el-form-item",{attrs:{label:"最小值"}},[t("el-input",{attrs:{placeholder:"最小值"},model:{value:e.messageValue.minValue,callback:function(a){e.$set(e.messageValue,"minValue",a)},expression:"messageValue.minValue"}})],1):e._e(),"interval"===e.messageValue.valueType?t("el-form-item",{attrs:{label:"最大值"}},[t("el-input",{attrs:{placeholder:"最大值"},model:{value:e.messageValue.maxValue,callback:function(a){e.$set(e.messageValue,"maxValue",a)},expression:"messageValue.maxValue"}})],1):e._e(),t("el-row",{attrs:{gutter:40}},[t("el-col",[t("el-button",{staticStyle:{float:"right","margin-right":"50%"},attrs:{size:"mini",type:"primary"},on:{click:e.doMessageTemplateValueSave}},[e._v(" 添加 ")])],1)],1)],1):e._e(),null!==e.selectedMessage?t("el-tabs",{model:{value:e.activeName,callback:function(a){e.activeName=a},expression:"activeName"}},[t("el-tab-pane",{attrs:{label:"基础",name:"基础"}},[e._v(" 车辆基础报文部分,为车辆第一个基础部分报文,每个部分的报文都是从1开始 "),t("el-divider",[t("i",{staticClass:"el-icon-shopping-cart-2"})]),t("el-table",{staticStyle:{width:"100%"},attrs:{data:e.messageTemplateValueList.filter((function(e){return"base"===e.category}))}},[t("el-table-column",{attrs:{prop:"code",label:"编码"}}),t("el-table-column",{attrs:{prop:"label",label:"标签"}}),t("el-table-column",{attrs:{prop:"length",label:"数据长度"}}),t("el-table-column",{attrs:{prop:"startLocation",label:"起始位"}}),t("el-table-column",{attrs:{prop:"endLocation",label:"终止位"}}),t("el-table-column",{attrs:{prop:"valueType",label:"数据类型"},scopedSlots:e._u([{key:"default",fn:function(a){return[t("el-tag",{attrs:{type:"fixed"===a.row.valueType?"success":"",effect:"Dark",size:"small"}},[e._v(e._s("fixed"===a.row.valueType?"固定值":"区间随机值"))])]}}],null,!1,3909993057)}),t("el-table-column",{attrs:{prop:"fixedValue",label:"表达式"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("el"===a.row.valueType?a.row.elValue:"-")+" ")]}}],null,!1,2872206416)}),t("el-table-column",{attrs:{prop:"fixedValue",label:"固定值"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("fixed"===a.row.valueType?a.row.fixedValue:"-")+" ")]}}],null,!1,1492578704)}),t("el-table-column",{attrs:{prop:"fixedValue",label:"范围值"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("interval"===a.row.valueType?a.row.minValue+"至"+a.row.maxValue:"-")+" ")]}}],null,!1,2506281289)})],1)],1),t("el-tab-pane",{attrs:{label:"数据",name:"数据"}},[e._v(" 车辆数据报文部分,为车辆第二个基础部分报文,每个部分的报文都是从1开始 "),t("el-divider",[t("i",{staticClass:"el-icon-data-analysis"})]),t("el-table",{staticStyle:{width:"100%"},attrs:{data:e.messageTemplateValueList.filter((function(e){return"data"===e.category}))}},[t("el-table-column",{attrs:{prop:"code",label:"编码"}}),t("el-table-column",{attrs:{prop:"label",label:"标签"}}),t("el-table-column",{attrs:{prop:"length",label:"数据长度"}}),t("el-table-column",{attrs:{prop:"startLocation",label:"起始位"}}),t("el-table-column",{attrs:{prop:"endLocation",label:"终止位"}}),t("el-table-column",{attrs:{prop:"valueType",label:"数据类型"},scopedSlots:e._u([{key:"default",fn:function(a){return[t("el-tag",{attrs:{type:"fixed"===a.row.valueType?"success":"",effect:"Dark",size:"small"}},[e._v(e._s("fixed"===a.row.valueType?"固定值":"区间随机值"))])]}}],null,!1,3909993057)}),t("el-table-column",{attrs:{prop:"fixedValue",label:"表达式"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("el"===a.row.valueType?a.row.elValue:"-")+" ")]}}],null,!1,2872206416)}),t("el-table-column",{attrs:{prop:"fixedValue",label:"固定值"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("fixed"===a.row.valueType?a.row.fixedValue:"-")+" ")]}}],null,!1,1492578704)}),t("el-table-column",{attrs:{prop:"fixedValue",label:"范围值"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("interval"===a.row.valueType?a.row.minValue+"至"+a.row.maxValue:"-")+" ")]}}],null,!1,2506281289)})],1)],1),t("el-tab-pane",{attrs:{label:"设备状态",name:"设备状态"}},[e._v(" 车辆设备状态报文信息,为车辆第三个基础部分报文,每个部分的报文都是从1开始 "),t("el-divider",[t("i",{staticClass:"el-icon-view"})]),t("el-table",{staticStyle:{width:"100%"},attrs:{data:e.messageTemplateValueList.filter((function(e){return"status"===e.category}))}},[t("el-table-column",{attrs:{prop:"code",label:"编码"}}),t("el-table-column",{attrs:{prop:"label",label:"标签"}}),t("el-table-column",{attrs:{prop:"length",label:"数据长度"}}),t("el-table-column",{attrs:{prop:"startLocation",label:"起始位"}}),t("el-table-column",{attrs:{prop:"endLocation",label:"终止位"}}),t("el-table-column",{attrs:{prop:"valueType",label:"数据类型"},scopedSlots:e._u([{key:"default",fn:function(a){return[t("el-tag",{attrs:{type:"fixed"===a.row.valueType?"success":"",effect:"Dark",size:"small"}},[e._v(e._s("fixed"===a.row.valueType?"固定值":"区间随机值"))])]}}],null,!1,3909993057)}),t("el-table-column",{attrs:{prop:"fixedValue",label:"表达式"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("el"===a.row.valueType?a.row.elValue:"-")+" ")]}}],null,!1,2872206416)}),t("el-table-column",{attrs:{prop:"fixedValue",label:"固定值"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("fixed"===a.row.valueType?a.row.fixedValue:"-")+" ")]}}],null,!1,1492578704)}),t("el-table-column",{attrs:{prop:"fixedValue",label:"范围值"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("interval"===a.row.valueType?a.row.minValue+"至"+a.row.maxValue:"-")+" ")]}}],null,!1,2506281289)})],1)],1)],1):e._e()],1)],1)],1)},s=[],o=(t("d3b7"),t("25f0"),t("3951")),n={name:"MessageTemplate",data:function(){return{contentHeight:1024,activeName:"基础",messageTemplateList:[],selectedMessage:null,messageTemplateSaveStatus:!1,messageTemplateForm:{messageName:"",description:""},messageTemplateValueList:[],messageValue:{category:null,code:null,label:null,length:null,startLocation:null,endLocation:null,valueType:null,elValue:null,fixedValue:null,fixedValueList:[],minValue:null,maxValue:null}}},watch:{"messageValue.fixedValueList":{handler:function(e){this.messageValue.fixedValue=this.messageValue.fixedValueList.toString()},immediate:!0}},created:function(){this.contentHeight=window.innerHeight-140,this.selectMessageTemplateList()},methods:{selectMessage:function(e){this.selectedMessage=e,this.activeName="基础",this.selectMessageTemplateValueList()},doMessageTemplateValueSave:function(){var e=this;Object(o["d"])(this.selectedMessage.id,this.messageValue).then((function(a){e.$notify({title:"成功",message:"报文模板,添加成功",type:"success"}),e.selectMessageTemplateValueList()}))},selectMessageTemplateValueList:function(){var e=this;Object(o["c"])(this.selectedMessage.id).then((function(a){e.messageTemplateValueList=a.data}))},doMessageTemplateSave:function(){var e=this;Object(o["b"])(this.messageTemplateForm).then((function(a){e.messageTemplateSaveStatus=!1,e.$notify({title:"成功",message:"报文模板,添加成功",type:"success"}),e.selectMessageTemplateList()}))},toMessageTemplateSave:function(){this.messageTemplateSaveStatus=!0,this.messageTemplateForm={messageName:"",description:""}},selectMessageTemplateList:function(){var e=this;Object(o["a"])().then((function(a){e.messageTemplateList=a.data}))}}},u=n,r=(t("00de"),t("2877")),i=Object(r["a"])(u,l,s,!1,null,"6151d512",null);a["default"]=i.exports},c3ca:function(e,a,t){}}]);
\ No newline at end of file
diff --git a/src/main/resources/static/js/chunk-22cea610.7879ff8f.js b/src/main/resources/static/js/chunk-159c7f2c.0fa7a8a3.js
similarity index 68%
rename from src/main/resources/static/js/chunk-22cea610.7879ff8f.js
rename to src/main/resources/static/js/chunk-159c7f2c.0fa7a8a3.js
index a3630a9..08a2538 100644
--- a/src/main/resources/static/js/chunk-22cea610.7879ff8f.js
+++ b/src/main/resources/static/js/chunk-159c7f2c.0fa7a8a3.js
@@ -1 +1 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-22cea610"],{"26fc":function(t,s,a){t.exports=a.p+"static/img/404_cloud.0f4bc32b.png"},"8cdb":function(t,s,a){"use strict";a.r(s);var e=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"wscn-http404-container"},[a("div",{staticClass:"wscn-http404"},[t._m(0),a("div",{staticClass:"bullshit"},[a("div",{staticClass:"bullshit__oops"},[t._v("OOPS!")]),t._m(1),a("div",{staticClass:"bullshit__headline"},[t._v(t._s(t.message))]),a("div",{staticClass:"bullshit__info"},[t._v("Please check that the URL you entered is correct, or click the button below to return to the homepage.")]),a("a",{staticClass:"bullshit__return-home",attrs:{href:""}},[t._v("Back to home")])])])])},c=[function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"pic-404"},[e("img",{staticClass:"pic-404__parent",attrs:{src:a("a36b"),alt:"404"}}),e("img",{staticClass:"pic-404__child left",attrs:{src:a("26fc"),alt:"404"}}),e("img",{staticClass:"pic-404__child mid",attrs:{src:a("26fc"),alt:"404"}}),e("img",{staticClass:"pic-404__child right",attrs:{src:a("26fc"),alt:"404"}})])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"bullshit__info"},[t._v("All rights reserved "),a("a",{staticStyle:{color:"#20a0ff"},attrs:{href:"https://wallstreetcn.com",target:"_blank"}},[t._v("wallstreetcn")])])}],i={name:"Page404",computed:{message:function(){return"The webmaster said that you can not enter this page..."}}},l=i,n=(a("dd53"),a("2877")),r=Object(n["a"])(l,e,c,!1,null,"c095f994",null);s["default"]=r.exports},a36b:function(t,s,a){t.exports=a.p+"static/img/404.a57b6f31.png"},b0a8:function(t,s,a){},dd53:function(t,s,a){"use strict";a("b0a8")}}]);
\ No newline at end of file
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-159c7f2c"],{"26fc":function(t,s,a){t.exports=a.p+"static/img/404_cloud.0f4bc32b.png"},"8cdb":function(t,s,a){"use strict";a.r(s);var c=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"wscn-http404-container"},[a("div",{staticClass:"wscn-http404"},[t._m(0),a("div",{staticClass:"bullshit"},[a("div",{staticClass:"bullshit__oops"},[t._v("OOPS!")]),t._m(1),a("div",{staticClass:"bullshit__headline"},[t._v(t._s(t.message))]),a("div",{staticClass:"bullshit__info"},[t._v("Please check that the URL you entered is correct, or click the button below to return to the homepage.")]),a("a",{staticClass:"bullshit__return-home",attrs:{href:""}},[t._v("Back to home")])])])])},e=[function(){var t=this,s=t.$createElement,c=t._self._c||s;return c("div",{staticClass:"pic-404"},[c("img",{staticClass:"pic-404__parent",attrs:{src:a("a36b"),alt:"404"}}),c("img",{staticClass:"pic-404__child left",attrs:{src:a("26fc"),alt:"404"}}),c("img",{staticClass:"pic-404__child mid",attrs:{src:a("26fc"),alt:"404"}}),c("img",{staticClass:"pic-404__child right",attrs:{src:a("26fc"),alt:"404"}})])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"bullshit__info"},[t._v("All rights reserved "),a("a",{staticStyle:{color:"#20a0ff"},attrs:{href:"https://wallstreetcn.com",target:"_blank"}},[t._v("wallstreetcn")])])}],i={name:"Page404",computed:{message:function(){return"The webmaster said that you can not enter this page..."}}},l=i,n=(a("dd53"),a("2877")),r=Object(n["a"])(l,c,e,!1,null,"c095f994",null);s["default"]=r.exports},a36b:function(t,s,a){t.exports=a.p+"static/img/404.a57b6f31.png"},b0a8:function(t,s,a){},dd53:function(t,s,a){"use strict";a("b0a8")}}]);
\ No newline at end of file
diff --git a/src/main/resources/static/js/chunk-643fd843.ad8a85d9.js b/src/main/resources/static/js/chunk-643fd843.ad8a85d9.js
new file mode 100644
index 0000000..8aacf13
--- /dev/null
+++ b/src/main/resources/static/js/chunk-643fd843.ad8a85d9.js
@@ -0,0 +1 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-643fd843"],{3025:function(t,e,a){"use strict";a("993e")},3951:function(t,e,a){"use strict";a.d(e,"a",(function(){return i})),a.d(e,"b",(function(){return s})),a.d(e,"c",(function(){return n})),a.d(e,"d",(function(){return r}));var l=a("b775");function i(){return Object(l["a"])({url:"/message/template/list",method:"get"})}function s(t){return Object(l["a"])({url:"/message/template",method:"post",data:t})}function n(t){return Object(l["a"])({url:"/message/template/".concat(t,"/value"),method:"get"})}function r(t,e){return Object(l["a"])({url:"/message/template/".concat(t,"/value"),method:"post",data:e})}},"993e":function(t,e,a){},ba75:function(t,e,a){"use strict";a.r(e);var l=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"app-container"},[a("el-row",{staticStyle:{"margin-bottom":"10px",padding:"0 10px"},attrs:{gutter:10}},[a("el-col",{attrs:{span:24}},[a("el-col",{staticStyle:{"padding-left":"0"},attrs:{span:2}},[a("el-button",{on:{click:function(e){t.addVehicleDrawer=!0}}},[t._v("添加车辆")])],1),a("el-col",{attrs:{span:2}},[a("el-button",{attrs:{type:"primary"},on:{click:function(e){t.genVehicleDialog=!0}}},[t._v("生成车辆")])],1)],1)],1),a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:10}},[a("el-row",{staticStyle:{height:"100px"},attrs:{gutter:10}},[a("el-row",{staticStyle:{"margin-bottom":"10px",padding:"0 10px"},attrs:{gutter:10}},[a("el-col",{attrs:{span:6}},[a("el-input",{attrs:{"prefix-icon":"el-icon-search",placeholder:"VIN检索(模糊)"},model:{value:t.queryParams.vin,callback:function(e){t.$set(t.queryParams,"vin",e)},expression:"queryParams.vin"}})],1),a("el-col",{attrs:{span:6}},[a("el-switch",{staticStyle:{margin:"9px 0"},attrs:{"active-color":"#13ce66","inactive-text":"上线优先展示"},model:{value:t.queryParams.online,callback:function(e){t.$set(t.queryParams,"online",e)},expression:"queryParams.online"}})],1)],1),a("el-row",{staticStyle:{"margin-bottom":"10px",padding:"0 10px"},attrs:{gutter:10}},[a("el-pagination",{attrs:{"current-page":t.queryParams.page,"page-sizes":[10,20,30,50,100],"page-size":t.queryParams.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:t.vehiclePage.total},on:{"size-change":t.pageSizeChange,"current-change":t.pageChange}})],1)],1),a("div",{staticClass:"grid-content bg-purple",style:{height:t.contentHeight-150+"px"}},[a("el-row",{attrs:{gutter:10}},t._l(t.vehiclePage.rows,(function(e){return a("el-col",{staticStyle:{margin:"0 0 10px 0"},attrs:{span:24}},[a("el-card",{staticClass:"box-card"},[a("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[a("el-tag",{staticStyle:{"padding-left":"0","padding-right":"0"},attrs:{type:e.online?"success":"info"}},[t._v(" "+t._s(e.vin)+" ")]),a("el-button",{staticStyle:{float:"right"},attrs:{type:"danger",size:"mini"},on:{click:function(a){return t.vehicleRemove(e.vin)}}},[t._v("删除")]),a("span",{staticStyle:{float:"right",color:"rgba(255,255,255,0)"}},[t._v("|")]),a("el-button",{staticStyle:{float:"right"},attrs:{type:t.checkVin===e.vin?"success":"",size:"mini",disabled:!e.online},on:{click:function(a){t.checkVin=e.vin}}},[t._v(t._s(t.checkVin===e.vin?"已选择":"选择"))]),a("span",{staticStyle:{float:"right",color:"rgba(255,255,255,0)"}},[t._v("|")]),e.online?t._e():a("el-button",{staticStyle:{float:"right"},attrs:{size:"mini"},on:{click:function(a){return t.clientInit(e.vin)}}},[t._v(" 启动 ")]),e.online?a("el-button",{staticStyle:{float:"right"},attrs:{size:"mini"},on:{click:function(a){return t.clientClose(e.vin)}}},[t._v(" 关闭 ")]):t._e()],1),a("el-descriptions",{staticClass:"margin-top",attrs:{column:1,size:"mini",border:""}},[a("el-descriptions-item",[a("template",{slot:"label"},[a("i",{staticClass:"el-icon-discover"}),t._v(" 路线 ")]),a("el-radio-group",{attrs:{size:"mini"},on:{input:function(a){return t.checkPositionCode(e)}},model:{value:e.positionCode,callback:function(a){t.$set(e,"positionCode",a)},expression:"vehicle.positionCode"}},t._l(t.positionCodeList,(function(t){return a("el-radio-button",{attrs:{label:t}})})),1),a("el-tag",{staticStyle:{"margin-left":"15px"},attrs:{type:"success"}},[t._v(t._s(e.positionLength))])],2),a("el-descriptions-item",[a("template",{slot:"label"},[a("i",{staticClass:"el-icon-location-outline"}),t._v(" 档位 ")]),a("el-radio-group",{attrs:{size:"mini"},on:{input:function(a){return t.checkGear(e)}},model:{value:e.gear,callback:function(a){t.$set(e,"gear",a)},expression:"vehicle.gear"}},[a("el-radio-button",{attrs:{label:"P"}}),a("el-radio-button",{attrs:{label:"D"}})],1)],2),a("el-descriptions-item",[a("template",{slot:"label"},[a("i",{staticClass:"el-icon-tickets"}),t._v(" 总里程 ")]),a("el-tag",{attrs:{size:"small"}},[t._v(t._s(e.mileage)+"/KM")])],2),a("el-descriptions-item",[a("template",{slot:"label"},[a("i",{staticClass:"el-icon-office-building"}),t._v(" 报文模板 ")]),t._v(" "+t._s(e.messageTemplateName)+" ")],2)],1)],1)],1)})),1)],1)],1),a("el-col",{attrs:{span:14}},[null==t.checkVin?a("el-empty",{attrs:{description:"请在左侧选择需要查看数据的车辆"}}):t._e(),null!=t.checkVin?a("div",{staticClass:"grid-content bg-purple",style:{height:t.contentHeight+"px"}},[a("div",{staticClass:"contentMain",style:{height:t.contentHeight/2-10+"px",width:"100%"}},[a("el-row",{attrs:{gutter:10}},[a("el-form",{ref:"form",attrs:{"label-position":"top",model:t.vehicleData}},[a("el-col",{attrs:{span:12}},[a("div",{style:{height:t.contentHeight/2-10+"px",width:"100%","background-color":"#FFFFFF"}},[a("el-tabs",{style:{height:t.contentHeight/2-10+"px"},attrs:{"tab-position":"top",type:"border-card"}},[a("el-tab-pane",{attrs:{label:"基本信息"}},[a("div",{staticClass:"vehicleDataTab",style:{height:t.contentHeight/2-80+"px"}},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"车速"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.speed,callback:function(e){t.$set(t.vehicleData,"speed",e)},expression:"vehicleData.speed"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"总电压"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.voltage,callback:function(e){t.$set(t.vehicleData,"voltage",e)},expression:"vehicleData.voltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"总电流"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.current,callback:function(e){t.$set(t.vehicleData,"current",e)},expression:"vehicleData.current"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"绝缘电阻"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.resistance,callback:function(e){t.$set(t.vehicleData,"resistance",e)},expression:"vehicleData.resistance"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"加速踏板行程值"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.accelerationPedal,callback:function(e){t.$set(t.vehicleData,"accelerationPedal",e)},expression:"vehicleData.accelerationPedal"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"制动踏板行程值"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.brakePedal,callback:function(e){t.$set(t.vehicleData,"brakePedal",e)},expression:"vehicleData.brakePedal"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"燃料消耗率"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.fuelConsumptionRate,callback:function(e){t.$set(t.vehicleData,"fuelConsumptionRate",e)},expression:"vehicleData.fuelConsumptionRate"}})],1)],1)],1)],1)]),a("el-tab-pane",{attrs:{label:"电机"}},[a("div",{staticClass:"vehicleDataTab",style:{height:t.contentHeight/2-80+"px"}},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机控制器温度"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.motorControllerTemperature,callback:function(e){t.$set(t.vehicleData,"motorControllerTemperature",e)},expression:"vehicleData.motorControllerTemperature"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机转速"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.motorSpeed,callback:function(e){t.$set(t.vehicleData,"motorSpeed",e)},expression:"vehicleData.motorSpeed"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机转矩"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.motorTorque,callback:function(e){t.$set(t.vehicleData,"motorTorque",e)},expression:"vehicleData.motorTorque"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机温度"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.motorTemperature,callback:function(e){t.$set(t.vehicleData,"motorTemperature",e)},expression:"vehicleData.motorTemperature"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机电压"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.motorVoltage,callback:function(e){t.$set(t.vehicleData,"motorVoltage",e)},expression:"vehicleData.motorVoltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机电流"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.motorCurrent,callback:function(e){t.$set(t.vehicleData,"motorCurrent",e)},expression:"vehicleData.motorCurrent"}})],1)],1)],1)],1)]),a("el-tab-pane",{attrs:{label:"动力电池"}},[a("div",{staticClass:"vehicleDataTab",style:{height:t.contentHeight/2-80+"px"}},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池剩余电量SOC"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.remainingBattery,callback:function(e){t.$set(t.vehicleData,"remainingBattery",e)},expression:"vehicleData.remainingBattery"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电池总容量"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.batteryLevel,callback:function(e){t.$set(t.vehicleData,"batteryLevel",e)},expression:"vehicleData.batteryLevel"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"当前状态允许的最大反馈功率"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.maximumFeedbackPower,callback:function(e){t.$set(t.vehicleData,"maximumFeedbackPower",e)},expression:"vehicleData.maximumFeedbackPower"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"当前状态允许最大放电功率"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.maximumDischargePower,callback:function(e){t.$set(t.vehicleData,"maximumDischargePower",e)},expression:"vehicleData.maximumDischargePower"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"BMS自检计数器"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.selfCheckCounter,callback:function(e){t.$set(t.vehicleData,"selfCheckCounter",e)},expression:"vehicleData.selfCheckCounter"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池充放电电流"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.totalBatteryCurrent,callback:function(e){t.$set(t.vehicleData,"totalBatteryCurrent",e)},expression:"vehicleData.totalBatteryCurrent"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池负载端总电压V3"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.totalBatteryVoltage,callback:function(e){t.$set(t.vehicleData,"totalBatteryVoltage",e)},expression:"vehicleData.totalBatteryVoltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"单次最大电压"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.singleBatteryMaxVoltage,callback:function(e){t.$set(t.vehicleData,"singleBatteryMaxVoltage",e)},expression:"vehicleData.singleBatteryMaxVoltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"单体电池最低电压"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.singleBatteryMinVoltage,callback:function(e){t.$set(t.vehicleData,"singleBatteryMinVoltage",e)},expression:"vehicleData.singleBatteryMinVoltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"单体电池最高温度"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.singleBatteryMaxTemperature,callback:function(e){t.$set(t.vehicleData,"singleBatteryMaxTemperature",e)},expression:"vehicleData.singleBatteryMaxTemperature"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"单体电池最低温度"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.singleBatteryMinTemperature,callback:function(e){t.$set(t.vehicleData,"singleBatteryMinTemperature",e)},expression:"vehicleData.singleBatteryMinTemperature"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池可用容量"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.availableBatteryCapacity,callback:function(e){t.$set(t.vehicleData,"availableBatteryCapacity",e)},expression:"vehicleData.availableBatteryCapacity"}})],1)],1)],1)],1)])],1)],1)]),a("el-col",{attrs:{span:12}},[a("div",{style:{height:t.contentHeight/2-10+"px",width:"100%","background-color":"#FFFFFF"}},[a("el-tabs",{style:{height:t.contentHeight/2-10+"px"},attrs:{"tab-position":"top",type:"border-card"}},[a("el-tab-pane",{attrs:{label:"基本状态"}},[a("div",{staticClass:"vehicleDataTab",style:{height:t.contentHeight/2-80+"px"}},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"车辆状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("vehicleStatus")}},model:{value:t.vehicleData.vehicleStatus,callback:function(e){t.$set(t.vehicleData,"vehicleStatus",e)},expression:"vehicleData.vehicleStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"充电状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("chargingStatus")}},model:{value:t.vehicleData.chargingStatus,callback:function(e){t.$set(t.vehicleData,"chargingStatus",e)},expression:"vehicleData.chargingStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"运行状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("operatingStatus")}},model:{value:t.vehicleData.operatingStatus,callback:function(e){t.$set(t.vehicleData,"operatingStatus",e)},expression:"vehicleData.operatingStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"SOC状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("socStatus")}},model:{value:t.vehicleData.socStatus,callback:function(e){t.$set(t.vehicleData,"socStatus",e)},expression:"vehicleData.socStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"可充电储能装置工作状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("chargingEnergyStorageStatus")}},model:{value:t.vehicleData.chargingEnergyStorageStatus,callback:function(e){t.$set(t.vehicleData,"chargingEnergyStorageStatus",e)},expression:"vehicleData.chargingEnergyStorageStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"驱动电机状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("driveMotorStatus")}},model:{value:t.vehicleData.driveMotorStatus,callback:function(e){t.$set(t.vehicleData,"driveMotorStatus",e)},expression:"vehicleData.driveMotorStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"定位是否有效"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("positionStatus")}},model:{value:t.vehicleData.positionStatus,callback:function(e){t.$set(t.vehicleData,"positionStatus",e)},expression:"vehicleData.positionStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1)],1)],1)]),a("el-tab-pane",{attrs:{label:"组件状态"}},[a("div",{staticClass:"vehicleDataTab",style:{height:t.contentHeight/2-80+"px"}},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"EAS(汽车防盗系统)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("easStatus")}},model:{value:t.vehicleData.easStatus,callback:function(e){t.$set(t.vehicleData,"easStatus",e)},expression:"vehicleData.easStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"PTC(电动加热器)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("ptcStatus")}},model:{value:t.vehicleData.ptcStatus,callback:function(e){t.$set(t.vehicleData,"ptcStatus",e)},expression:"vehicleData.ptcStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"EPS(电动助力系统)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("epsStatus")}},model:{value:t.vehicleData.epsStatus,callback:function(e){t.$set(t.vehicleData,"epsStatus",e)},expression:"vehicleData.epsStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"ABS(防抱死)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("vehicleStatus")}},model:{value:t.vehicleData.absStatus,callback:function(e){t.$set(t.vehicleData,"absStatus",e)},expression:"vehicleData.absStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"MCU(电机/逆变器)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("vehicleStatus")}},model:{value:t.vehicleData.mcuStatus,callback:function(e){t.$set(t.vehicleData,"mcuStatus",e)},expression:"vehicleData.mcuStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1)],1)],1)]),a("el-tab-pane",{attrs:{label:"电池状态"}},[a("div",{staticClass:"vehicleDataTab",style:{height:t.contentHeight/2-80+"px"}},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池加热状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("heatingStatus")}},model:{value:t.vehicleData.heatingStatus,callback:function(e){t.$set(t.vehicleData,"heatingStatus",e)},expression:"vehicleData.heatingStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池当前状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("batteryStatus")}},model:{value:t.vehicleData.batteryStatus,callback:function(e){t.$set(t.vehicleData,"batteryStatus",e)},expression:"vehicleData.batteryStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池保温状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("batteryInsulationStatus")}},model:{value:t.vehicleData.batteryInsulationStatus,callback:function(e){t.$set(t.vehicleData,"batteryInsulationStatus",e)},expression:"vehicleData.batteryInsulationStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"DCDC(电力交换系统)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("dcdcStatus")}},model:{value:t.vehicleData.dcdcStatus,callback:function(e){t.$set(t.vehicleData,"dcdcStatus",e)},expression:"vehicleData.dcdcStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"CHG(充电机)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("chgStatus")}},model:{value:t.vehicleData.chgStatus,callback:function(e){t.$set(t.vehicleData,"chgStatus",e)},expression:"vehicleData.chgStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1)],1)],1)])],1)],1)])],1)],1)],1),a("div",{staticClass:"contentMain",style:{height:t.contentHeight/2-10+"px",width:"100%","background-color":"#FFFFFF"}})]):t._e()],1)],1),a("el-drawer",{attrs:{title:"添加车辆",visible:t.addVehicleDrawer,direction:"ltr",size:"50%"},on:{"update:visible":function(e){t.addVehicleDrawer=e}}},[a("el-row",[a("el-col",{attrs:{span:22,offset:1}},[a("h3",{staticStyle:{color:"red"}},[t._v("一行一个VIN,多VIN进行换行")]),a("el-form",{ref:"form",attrs:{model:t.addForm,"label-position":"top","label-width":"80px"}},[a("el-form-item",{attrs:{label:"车辆VIN"}},[a("el-input",{attrs:{type:"textarea",rows:20},model:{value:t.addForm.vinStr,callback:function(e){t.$set(t.addForm,"vinStr",e)},expression:"addForm.vinStr"}})],1),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:t.vehicleCreate}},[t._v("添加车辆")]),a("el-button",{on:{click:function(e){t.addVehicleDrawer=!1}}},[t._v("取消")])],1)],1)],1)],1)],1),a("el-dialog",{attrs:{title:"生成车辆",visible:t.genVehicleDialog,width:"30%"},on:{"update:visible":function(e){t.genVehicleDialog=e}}},[a("el-row",[a("el-col",{attrs:{offset:1,span:22}},[a("el-form",{ref:"form",attrs:{model:t.genForm,"label-position":"top","label-width":"80px"}},[a("el-form-item",{attrs:{label:"生成车辆数量 最高99999"}},[a("el-input-number",{staticStyle:{width:"100%"},attrs:{"controls-position":"right",min:1,max:99999},model:{value:t.genForm.number,callback:function(e){t.$set(t.genForm,"number",e)},expression:"genForm.number"}})],1)],1)],1)],1),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(e){t.genVehicleDialog=!1}}},[t._v("取 消")]),a("el-button",{attrs:{type:"primary"},on:{click:t.vehicleGen}},[t._v("确 定")])],1)],1)],1)},i=[],s=(a("99af"),a("b775"));function n(t){return Object(s["a"])({url:"/vehicle/instance/list",method:"post",data:t})}function r(t){return Object(s["a"])({url:"/vehicle/instance/data/".concat(t),method:"GET"})}function o(t,e,a){return Object(s["a"])({url:"/vehicle/instance/status/".concat(t,"/").concat(e,"/").concat(a),method:"PUT"})}function c(t){return Object(s["a"])({url:"/vehicle/instance/client/start/".concat(t),method:"post"})}function u(t){return Object(s["a"])({url:"/vehicle/instance/client/close/".concat(t),method:"post"})}function h(t,e){return Object(s["a"])({url:"/vehicle/instance/position/check",method:"post",data:{vin:t,positionCode:e}})}function v(t,e){return Object(s["a"])({url:"/vehicle/instance/gear",method:"post",data:{vin:t,gear:e}})}function p(){return Object(s["a"])({url:"/vehicle/position/list",method:"get"})}function d(t){return Object(s["a"])({url:"/vehicle/create",method:"post",data:t})}function m(t){return Object(s["a"])({url:"/vehicle/gen/".concat(t),method:"GET"})}function g(t){return Object(s["a"])({url:"/vehicle/".concat(t),method:"DELETE"})}var b=a("3951"),f={name:"Vehicle",data:function(){return{contentHeight:1024,checkVin:null,positionCodeList:[],vehiclePage:{rows:[],total:0},queryParams:{page:1,pageSize:10,vin:null,online:!0},intervalInstanceList:null,intervalVehicleDataContinued:null,vehicleData:{},addVehicleDrawer:!1,messageTemplateList:[],addForm:{vinStr:null,messageTemplateId:null},genVehicleDialog:!1,genForm:{number:0,messageTemplateId:null}}},created:function(){this.contentHeight=window.innerHeight-60,this.initInstanceList(),this.initPositionList(),this.selectMessageTemplateList(),setInterval(this.vehicleDataContinued,1e3)},methods:{pageSizeChange:function(t){this.queryParams.pageSize=t,this.getInstanceList()},pageChange:function(t){this.queryParams.page=t,this.getInstanceList()},vehicleGen:function(){var t=this;m(this.genForm.number).then((function(e){t.genVehicleDialog=!1,t.$notify({title:"操作提示",message:e.msg,type:200===e.code?"success":"error"})}))},vehicleCreate:function(){var t=this;d(this.addForm).then((function(e){t.addVehicleDrawer=!1,t.$notify({title:"操作提示",message:e.msg,type:200===e.code?"success":"error"})}))},vehicleRemove:function(t){var e=this;g(t).then((function(t){e.getInstanceList(),e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},vehicleDataContinued:function(){var t=this;null!=this.checkVin&&r(this.checkVin).then((function(e){t.vehicleData=e.data}))},statusChange:function(t){var e=this;o(this.checkVin,t,this.vehicleData[t]).then((function(t){e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},checkGear:function(t){var e=this;v(t.vin,t.gear).then((function(t){e.getInstanceList(),e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},checkPositionCode:function(t){var e=this;h(t.vin,t.positionCode).then((function(t){e.getInstanceList(),e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},initPositionList:function(){var t=this;p().then((function(e){t.positionCodeList=e.data}))},initInstanceList:function(){this.getInstanceList(),this.intervalInstanceList=setInterval(this.getInstanceList,3e3)},getInstanceList:function(){var t=this;n(this.queryParams).then((function(e){t.vehiclePage=e.data}))},clientInit:function(t){var e=this;c(t).then((function(t){e.getInstanceList(),e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},clientClose:function(t){var e=this;u(t).then((function(a){e.getInstanceList(),t===e.checkVin&&(e.checkVin=null),e.$notify({title:"操作提示",message:a.msg,type:200===a.code?"success":"error"})}))},selectMessageTemplateList:function(){var t=this;Object(b["a"])().then((function(e){t.messageTemplateList=e.data}))}}},D=f,y=(a("3025"),a("2877")),S=Object(y["a"])(D,l,i,!1,null,"2ab19043",null);e["default"]=S.exports}}]);
\ No newline at end of file
diff --git a/src/main/resources/static/js/chunk-7146ee17.8de3769d.js b/src/main/resources/static/js/chunk-7146ee17.8de3769d.js
deleted file mode 100644
index dcb0cff..0000000
--- a/src/main/resources/static/js/chunk-7146ee17.8de3769d.js
+++ /dev/null
@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-7146ee17"],{"92eb":function(t,e,a){"use strict";a("ab77")},ab77:function(t,e,a){},ba75:function(t,e,a){"use strict";a.r(e);var l=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"app-container"},[a("el-row",{staticStyle:{"margin-bottom":"10px",padding:"0 10px"},attrs:{gutter:10}},[a("el-col",{attrs:{span:24}},[a("el-col",{staticStyle:{"padding-left":"0"},attrs:{span:2}},[a("el-button",{on:{click:function(e){t.addVehicleDrawer=!0}}},[t._v("添加车辆")])],1),a("el-col",{attrs:{span:2}},[a("el-button",{attrs:{type:"primary"},on:{click:function(e){t.genVehicleDialog=!0}}},[t._v("生成车辆")])],1)],1)],1),a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:10}},[a("el-row",{staticStyle:{height:"100px"},attrs:{gutter:10}},[a("el-row",{staticStyle:{"margin-bottom":"10px",padding:"0 10px"},attrs:{gutter:10}},[a("el-col",{attrs:{span:6}},[a("el-input",{attrs:{"prefix-icon":"el-icon-search",placeholder:"VIN检索(模糊)"},model:{value:t.queryParams.vin,callback:function(e){t.$set(t.queryParams,"vin",e)},expression:"queryParams.vin"}})],1),a("el-col",{attrs:{span:6}},[a("el-switch",{staticStyle:{margin:"9px 0"},attrs:{"active-color":"#13ce66","inactive-text":"上线优先展示"},model:{value:t.queryParams.online,callback:function(e){t.$set(t.queryParams,"online",e)},expression:"queryParams.online"}})],1)],1),a("el-row",{staticStyle:{"margin-bottom":"10px",padding:"0 10px"},attrs:{gutter:10}},[a("el-pagination",{attrs:{"current-page":t.queryParams.page,"page-sizes":[10,20,30,50,100],"page-size":t.queryParams.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:t.vehiclePage.total},on:{"size-change":t.pageSizeChange,"current-change":t.pageChange}})],1)],1),a("div",{staticClass:"grid-content bg-purple",style:{height:t.contentHeight-150+"px"}},[a("el-row",{attrs:{gutter:10}},t._l(t.vehiclePage.rows,(function(e){return a("el-col",{staticStyle:{margin:"0 0 10px 0"},attrs:{span:24}},[a("el-card",{staticClass:"box-card"},[a("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[a("el-tag",{staticStyle:{"padding-left":"0","padding-right":"0"},attrs:{type:e.online?"success":"info"}},[t._v(" "+t._s(e.vin)+" ")]),a("el-button",{staticStyle:{float:"right"},attrs:{type:"danger",size:"mini"},on:{click:function(a){return t.vehicleRemove(e.vin)}}},[t._v("删除")]),a("span",{staticStyle:{float:"right",color:"rgba(255,255,255,0)"}},[t._v("|")]),a("el-button",{staticStyle:{float:"right"},attrs:{type:t.checkVin===e.vin?"success":"",size:"mini",disabled:!e.online},on:{click:function(a){t.checkVin=e.vin}}},[t._v(t._s(t.checkVin===e.vin?"已选择":"选择"))]),a("span",{staticStyle:{float:"right",color:"rgba(255,255,255,0)"}},[t._v("|")]),e.online?t._e():a("el-button",{staticStyle:{float:"right"},attrs:{size:"mini"},on:{click:function(a){return t.clientInit(e.vin)}}},[t._v(" 上线 ")]),e.online?a("el-button",{staticStyle:{float:"right"},attrs:{size:"mini"},on:{click:function(a){return t.clientClose(e.vin)}}},[t._v(" 下线 ")]):t._e()],1),a("el-descriptions",{staticClass:"margin-top",attrs:{column:1,size:"mini",border:""}},[a("el-descriptions-item",[a("template",{slot:"label"},[a("i",{staticClass:"el-icon-discover"}),t._v(" 路线 ")]),a("el-radio-group",{attrs:{size:"mini"},on:{input:function(a){return t.checkPositionCode(e)}},model:{value:e.positionCode,callback:function(a){t.$set(e,"positionCode",a)},expression:"vehicle.positionCode"}},t._l(t.positionCodeList,(function(t){return a("el-radio-button",{attrs:{label:t}})})),1),a("el-tag",{staticStyle:{"margin-left":"15px"},attrs:{type:"success"}},[t._v(t._s(e.positionLength))])],2),a("el-descriptions-item",[a("template",{slot:"label"},[a("i",{staticClass:"el-icon-location-outline"}),t._v(" 档位 ")]),a("el-radio-group",{attrs:{size:"mini"},on:{input:function(a){return t.checkGear(e)}},model:{value:e.gear,callback:function(a){t.$set(e,"gear",a)},expression:"vehicle.gear"}},[a("el-radio-button",{attrs:{label:"P"}}),a("el-radio-button",{attrs:{label:"D"}})],1)],2),a("el-descriptions-item",[a("template",{slot:"label"},[a("i",{staticClass:"el-icon-mobile-phone"}),t._v(" 报文上报 ")]),a("el-radio-group",{attrs:{size:"mini"},on:{input:function(a){return t.checkMsg(e)}},model:{value:e.msgCode,callback:function(a){t.$set(e,"msgCode",a)},expression:"vehicle.msgCode"}},[a("el-radio-button",{attrs:{label:"上报"}}),a("el-radio-button",{attrs:{label:"暂停"}}),a("el-radio-button",{attrs:{label:"停止"}})],1)],2),a("el-descriptions-item",[a("template",{slot:"label"},[a("i",{staticClass:"el-icon-tickets"}),t._v(" 总里程 ")]),a("el-tag",{attrs:{size:"small"}},[t._v(t._s(e.mileage)+"/KM")])],2),a("el-descriptions-item",[a("template",{slot:"label"},[a("i",{staticClass:"el-icon-office-building"}),t._v(" 联系地址 ")]),t._v(" 江苏省苏州市吴中区吴中大道 1188 号 ")],2)],1)],1)],1)})),1)],1)],1),a("el-col",{attrs:{span:14}},[null==t.checkVin?a("el-empty",{attrs:{description:"请在左侧选择需要查看数据的车辆"}}):t._e(),null!=t.checkVin?a("div",{staticClass:"grid-content bg-purple",style:{height:t.contentHeight+"px"}},[a("div",{staticClass:"contentMain",style:{height:t.contentHeight/2-10+"px",width:"100%"}},[a("el-row",{attrs:{gutter:10}},[a("el-form",{ref:"form",attrs:{"label-position":"top",model:t.vehicleData}},[a("el-col",{attrs:{span:12}},[a("div",{style:{height:t.contentHeight/2-10+"px",width:"100%","background-color":"#FFFFFF"}},[a("el-tabs",{style:{height:t.contentHeight/2-10+"px"},attrs:{"tab-position":"top",type:"border-card"}},[a("el-tab-pane",{attrs:{label:"基本信息"}},[a("div",{staticClass:"vehicleDataTab",style:{height:t.contentHeight/2-80+"px"}},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"车速"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.speed,callback:function(e){t.$set(t.vehicleData,"speed",e)},expression:"vehicleData.speed"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"总电压"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.voltage,callback:function(e){t.$set(t.vehicleData,"voltage",e)},expression:"vehicleData.voltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"总电流"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.current,callback:function(e){t.$set(t.vehicleData,"current",e)},expression:"vehicleData.current"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"绝缘电阻"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.resistance,callback:function(e){t.$set(t.vehicleData,"resistance",e)},expression:"vehicleData.resistance"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"加速踏板行程值"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.accelerationPedal,callback:function(e){t.$set(t.vehicleData,"accelerationPedal",e)},expression:"vehicleData.accelerationPedal"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"制动踏板行程值"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.brakePedal,callback:function(e){t.$set(t.vehicleData,"brakePedal",e)},expression:"vehicleData.brakePedal"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"燃料消耗率"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.fuelConsumptionRate,callback:function(e){t.$set(t.vehicleData,"fuelConsumptionRate",e)},expression:"vehicleData.fuelConsumptionRate"}})],1)],1)],1)],1)]),a("el-tab-pane",{attrs:{label:"电机"}},[a("div",{staticClass:"vehicleDataTab",style:{height:t.contentHeight/2-80+"px"}},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机控制器温度"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.motorControllerTemperature,callback:function(e){t.$set(t.vehicleData,"motorControllerTemperature",e)},expression:"vehicleData.motorControllerTemperature"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机转速"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.motorSpeed,callback:function(e){t.$set(t.vehicleData,"motorSpeed",e)},expression:"vehicleData.motorSpeed"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机转矩"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.motorTorque,callback:function(e){t.$set(t.vehicleData,"motorTorque",e)},expression:"vehicleData.motorTorque"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机温度"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.motorTemperature,callback:function(e){t.$set(t.vehicleData,"motorTemperature",e)},expression:"vehicleData.motorTemperature"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机电压"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.motorVoltage,callback:function(e){t.$set(t.vehicleData,"motorVoltage",e)},expression:"vehicleData.motorVoltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机电流"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.motorCurrent,callback:function(e){t.$set(t.vehicleData,"motorCurrent",e)},expression:"vehicleData.motorCurrent"}})],1)],1)],1)],1)]),a("el-tab-pane",{attrs:{label:"动力电池"}},[a("div",{staticClass:"vehicleDataTab",style:{height:t.contentHeight/2-80+"px"}},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池剩余电量SOC"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.remainingBattery,callback:function(e){t.$set(t.vehicleData,"remainingBattery",e)},expression:"vehicleData.remainingBattery"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电池总容量"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.batteryLevel,callback:function(e){t.$set(t.vehicleData,"batteryLevel",e)},expression:"vehicleData.batteryLevel"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"当前状态允许的最大反馈功率"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.maximumFeedbackPower,callback:function(e){t.$set(t.vehicleData,"maximumFeedbackPower",e)},expression:"vehicleData.maximumFeedbackPower"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"当前状态允许最大放电功率"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.maximumDischargePower,callback:function(e){t.$set(t.vehicleData,"maximumDischargePower",e)},expression:"vehicleData.maximumDischargePower"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"BMS自检计数器"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.selfCheckCounter,callback:function(e){t.$set(t.vehicleData,"selfCheckCounter",e)},expression:"vehicleData.selfCheckCounter"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池充放电电流"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.totalBatteryCurrent,callback:function(e){t.$set(t.vehicleData,"totalBatteryCurrent",e)},expression:"vehicleData.totalBatteryCurrent"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池负载端总电压V3"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.totalBatteryVoltage,callback:function(e){t.$set(t.vehicleData,"totalBatteryVoltage",e)},expression:"vehicleData.totalBatteryVoltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"单次最大电压"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.singleBatteryMaxVoltage,callback:function(e){t.$set(t.vehicleData,"singleBatteryMaxVoltage",e)},expression:"vehicleData.singleBatteryMaxVoltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"单体电池最低电压"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.singleBatteryMinVoltage,callback:function(e){t.$set(t.vehicleData,"singleBatteryMinVoltage",e)},expression:"vehicleData.singleBatteryMinVoltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"单体电池最高温度"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.singleBatteryMaxTemperature,callback:function(e){t.$set(t.vehicleData,"singleBatteryMaxTemperature",e)},expression:"vehicleData.singleBatteryMaxTemperature"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"单体电池最低温度"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.singleBatteryMinTemperature,callback:function(e){t.$set(t.vehicleData,"singleBatteryMinTemperature",e)},expression:"vehicleData.singleBatteryMinTemperature"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池可用容量"}},[a("el-input",{attrs:{disabled:""},model:{value:t.vehicleData.availableBatteryCapacity,callback:function(e){t.$set(t.vehicleData,"availableBatteryCapacity",e)},expression:"vehicleData.availableBatteryCapacity"}})],1)],1)],1)],1)])],1)],1)]),a("el-col",{attrs:{span:12}},[a("div",{style:{height:t.contentHeight/2-10+"px",width:"100%","background-color":"#FFFFFF"}},[a("el-tabs",{style:{height:t.contentHeight/2-10+"px"},attrs:{"tab-position":"top",type:"border-card"}},[a("el-tab-pane",{attrs:{label:"基本状态"}},[a("div",{staticClass:"vehicleDataTab",style:{height:t.contentHeight/2-80+"px"}},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"车辆状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("vehicleStatus")}},model:{value:t.vehicleData.vehicleStatus,callback:function(e){t.$set(t.vehicleData,"vehicleStatus",e)},expression:"vehicleData.vehicleStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"充电状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("chargingStatus")}},model:{value:t.vehicleData.chargingStatus,callback:function(e){t.$set(t.vehicleData,"chargingStatus",e)},expression:"vehicleData.chargingStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"运行状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("operatingStatus")}},model:{value:t.vehicleData.operatingStatus,callback:function(e){t.$set(t.vehicleData,"operatingStatus",e)},expression:"vehicleData.operatingStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"SOC状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("socStatus")}},model:{value:t.vehicleData.socStatus,callback:function(e){t.$set(t.vehicleData,"socStatus",e)},expression:"vehicleData.socStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"可充电储能装置工作状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("chargingEnergyStorageStatus")}},model:{value:t.vehicleData.chargingEnergyStorageStatus,callback:function(e){t.$set(t.vehicleData,"chargingEnergyStorageStatus",e)},expression:"vehicleData.chargingEnergyStorageStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"驱动电机状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("driveMotorStatus")}},model:{value:t.vehicleData.driveMotorStatus,callback:function(e){t.$set(t.vehicleData,"driveMotorStatus",e)},expression:"vehicleData.driveMotorStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"定位是否有效"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("positionStatus")}},model:{value:t.vehicleData.positionStatus,callback:function(e){t.$set(t.vehicleData,"positionStatus",e)},expression:"vehicleData.positionStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1)],1)],1)]),a("el-tab-pane",{attrs:{label:"组件状态"}},[a("div",{staticClass:"vehicleDataTab",style:{height:t.contentHeight/2-80+"px"}},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"EAS(汽车防盗系统)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("easStatus")}},model:{value:t.vehicleData.easStatus,callback:function(e){t.$set(t.vehicleData,"easStatus",e)},expression:"vehicleData.easStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"PTC(电动加热器)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("ptcStatus")}},model:{value:t.vehicleData.ptcStatus,callback:function(e){t.$set(t.vehicleData,"ptcStatus",e)},expression:"vehicleData.ptcStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"EPS(电动助力系统)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("epsStatus")}},model:{value:t.vehicleData.epsStatus,callback:function(e){t.$set(t.vehicleData,"epsStatus",e)},expression:"vehicleData.epsStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"ABS(防抱死)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("vehicleStatus")}},model:{value:t.vehicleData.absStatus,callback:function(e){t.$set(t.vehicleData,"absStatus",e)},expression:"vehicleData.absStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"MCU(电机/逆变器)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("vehicleStatus")}},model:{value:t.vehicleData.mcuStatus,callback:function(e){t.$set(t.vehicleData,"mcuStatus",e)},expression:"vehicleData.mcuStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1)],1)],1)]),a("el-tab-pane",{attrs:{label:"电池状态"}},[a("div",{staticClass:"vehicleDataTab",style:{height:t.contentHeight/2-80+"px"}},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池加热状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("heatingStatus")}},model:{value:t.vehicleData.heatingStatus,callback:function(e){t.$set(t.vehicleData,"heatingStatus",e)},expression:"vehicleData.heatingStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池当前状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("batteryStatus")}},model:{value:t.vehicleData.batteryStatus,callback:function(e){t.$set(t.vehicleData,"batteryStatus",e)},expression:"vehicleData.batteryStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池保温状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("batteryInsulationStatus")}},model:{value:t.vehicleData.batteryInsulationStatus,callback:function(e){t.$set(t.vehicleData,"batteryInsulationStatus",e)},expression:"vehicleData.batteryInsulationStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"DCDC(电力交换系统)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("dcdcStatus")}},model:{value:t.vehicleData.dcdcStatus,callback:function(e){t.$set(t.vehicleData,"dcdcStatus",e)},expression:"vehicleData.dcdcStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"CHG(充电机)状态"}},[a("el-radio-group",{on:{input:function(e){return t.statusChange("chgStatus")}},model:{value:t.vehicleData.chgStatus,callback:function(e){t.$set(t.vehicleData,"chgStatus",e)},expression:"vehicleData.chgStatus"}},[a("el-radio",{attrs:{label:1}},[t._v("正常")]),t._v(" "),a("el-radio",{attrs:{label:0}},[t._v("异常")])],1)],1)],1)],1)],1)])],1)],1)])],1)],1)],1),a("div",{staticClass:"contentMain",style:{height:t.contentHeight/2-10+"px",width:"100%","background-color":"#FFFFFF"}})]):t._e()],1)],1),a("el-drawer",{attrs:{title:"添加车辆",visible:t.addVehicleDrawer,direction:"ltr",size:"50%"},on:{"update:visible":function(e){t.addVehicleDrawer=e}}},[a("el-row",[a("el-col",{attrs:{span:22,offset:1}},[a("h3",{staticStyle:{color:"red"}},[t._v("一行一个VIN,多VIN进行换行")]),a("el-form",{ref:"form",attrs:{model:t.addForm,"label-position":"top","label-width":"80px"}},[a("el-form-item",{attrs:{label:"车辆VIN"}},[a("el-input",{attrs:{type:"textarea",rows:20},model:{value:t.addForm.vinStr,callback:function(e){t.$set(t.addForm,"vinStr",e)},expression:"addForm.vinStr"}})],1),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:t.vehicleCreate}},[t._v("添加车辆")]),a("el-button",{on:{click:function(e){t.addVehicleDrawer=!1}}},[t._v("取消")])],1)],1)],1)],1)],1),a("el-dialog",{attrs:{title:"生成车辆",visible:t.genVehicleDialog,width:"30%"},on:{"update:visible":function(e){t.genVehicleDialog=e}}},[a("el-row",[a("el-col",{attrs:{offset:1,span:22}},[a("el-form",{ref:"form",attrs:{model:t.genForm,"label-position":"top","label-width":"80px"}},[a("el-form-item",{attrs:{label:"生成车辆数量 最高99999"}},[a("el-input-number",{staticStyle:{width:"100%"},attrs:{"controls-position":"right",min:1,max:99999},model:{value:t.genForm.number,callback:function(e){t.$set(t.genForm,"number",e)},expression:"genForm.number"}})],1)],1)],1)],1),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(e){t.genVehicleDialog=!1}}},[t._v("取 消")]),a("el-button",{attrs:{type:"primary"},on:{click:t.vehicleGen}},[t._v("确 定")])],1)],1)],1)},i=[],s=(a("99af"),a("b775"));function n(t){return Object(s["a"])({url:"/vehicle/instance/list",method:"post",data:t})}function r(t){return Object(s["a"])({url:"/vehicle/instance/data/".concat(t),method:"GET"})}function o(t,e,a){return Object(s["a"])({url:"/vehicle/instance/status/".concat(t,"/").concat(e,"/").concat(a),method:"PUT"})}function c(t){return Object(s["a"])({url:"/vehicle/instance/client/init/".concat(t),method:"post"})}function u(t){return Object(s["a"])({url:"/vehicle/instance/client/close/".concat(t),method:"post"})}function h(t,e){return Object(s["a"])({url:"/vehicle/instance/position/check",method:"post",data:{vin:t,positionCode:e}})}function v(t,e){return Object(s["a"])({url:"/vehicle/instance/msg",method:"post",data:{vin:t,msgCode:e}})}function p(t,e){return Object(s["a"])({url:"/vehicle/instance/gear",method:"post",data:{vin:t,gear:e}})}function d(){return Object(s["a"])({url:"/vehicle/position/list",method:"get"})}function m(t){return Object(s["a"])({url:"/vehicle/create",method:"post",data:t})}function g(t){return Object(s["a"])({url:"/vehicle/gen/".concat(t),method:"GET"})}function b(t){return Object(s["a"])({url:"/vehicle/".concat(t),method:"DELETE"})}var f={name:"Vehicle",data:function(){return{contentHeight:1024,checkVin:null,positionCodeList:[],vehiclePage:{rows:[],total:0},queryParams:{page:1,pageSize:10,vin:null,online:!0},intervalInstanceList:null,intervalVehicleDataContinued:null,vehicleData:{},addVehicleDrawer:!1,addForm:{vinStr:null},genVehicleDialog:!1,genForm:{number:0}}},created:function(){this.contentHeight=window.innerHeight-60,this.initInstanceList(),this.initPositionList()},methods:{pageSizeChange:function(t){this.queryParams.pageSize=t,this.getInstanceList()},pageChange:function(t){this.queryParams.page=t,this.getInstanceList()},vehicleGen:function(){var t=this;g(this.genForm.number).then((function(e){t.genVehicleDialog=!1,t.$notify({title:"操作提示",message:e.msg,type:200===e.code?"success":"error"})}))},vehicleCreate:function(){var t=this;m(this.addForm).then((function(e){t.addVehicleDrawer=!1,t.$notify({title:"操作提示",message:e.msg,type:200===e.code?"success":"error"})}))},vehicleRemove:function(t){var e=this;b(t).then((function(t){e.getInstanceList(),e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},vehicleDataContinued:function(){var t=this;null!=this.checkVin&&r(this.checkVin).then((function(e){t.vehicleData=e.data}))},statusChange:function(t){var e=this;o(this.checkVin,t,this.vehicleData[t]).then((function(t){e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},checkGear:function(t){var e=this;p(t.vin,t.gear).then((function(t){e.getInstanceList(),e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},checkMsg:function(t){var e=this;v(t.vin,t.msgCode).then((function(t){e.getInstanceList(),e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},checkPositionCode:function(t){var e=this;h(t.vin,t.positionCode).then((function(t){e.getInstanceList(),e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},initPositionList:function(){var t=this;d().then((function(e){t.positionCodeList=e.data}))},initInstanceList:function(){this.getInstanceList(),this.intervalInstanceList=setInterval(this.getInstanceList,3e3)},getInstanceList:function(){var t=this;n(this.queryParams).then((function(e){t.vehiclePage=e.data}))},clientInit:function(t){var e=this;c(t).then((function(t){e.getInstanceList(),e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},clientClose:function(t){var e=this;u(t).then((function(a){e.getInstanceList(),t===e.checkVin&&(e.checkVin=null),e.$notify({title:"操作提示",message:a.msg,type:200===a.code?"success":"error"})}))}}},D=f,y=(a("92eb"),a("2877")),S=Object(y["a"])(D,l,i,!1,null,"601f2e6f",null);e["default"]=S.exports}}]);
\ No newline at end of file
diff --git a/src/main/resources/static/js/chunk-725364c9.5d13ee53.js b/src/main/resources/static/js/chunk-725364c9.5d13ee53.js
deleted file mode 100644
index edf7455..0000000
--- a/src/main/resources/static/js/chunk-725364c9.5d13ee53.js
+++ /dev/null
@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-725364c9"],{"00de":function(e,a,l){"use strict";l("c3ca")},"25f0":function(e,a,l){"use strict";var t=l("6eeb"),s=l("825a"),o=l("d039"),n=l("ad6d"),u="toString",r=RegExp.prototype,i=r[u],c=o((function(){return"/a/b"!=i.call({source:"a",flags:"b"})})),m=i.name!=u;(c||m)&&t(RegExp.prototype,u,(function(){var e=s(this),a=String(e.source),l=e.flags,t=String(void 0===l&&e instanceof RegExp&&!("flags"in r)?n.call(e):l);return"/"+a+"/"+t}),{unsafe:!0})},"80b1":function(e,a,l){"use strict";l.r(a);var t=function(){var e=this,a=e.$createElement,l=e._self._c||a;return l("div",{staticClass:"app-container"},[l("el-row",{attrs:{gutter:20}},[l("el-col",{attrs:{span:5}},[l("el-row",[l("el-button",{on:{click:e.toMessageTemplateSave}},[e._v("添加模板")])],1),l("el-dialog",{attrs:{title:"提示",visible:e.messageTemplateSaveStatus,width:"30%"},on:{"update:visible":function(a){e.messageTemplateSaveStatus=a}}},[l("el-form",{ref:"form",attrs:{model:e.messageTemplateForm,"label-width":"80px"}},[l("el-form-item",{attrs:{label:"模板名称"}},[l("el-input",{model:{value:e.messageTemplateForm.messageName,callback:function(a){e.$set(e.messageTemplateForm,"messageName",a)},expression:"messageTemplateForm.messageName"}})],1),l("el-form-item",{attrs:{label:"模板描述"}},[l("el-input",{attrs:{type:"textarea"},model:{value:e.messageTemplateForm.description,callback:function(a){e.$set(e.messageTemplateForm,"description",a)},expression:"messageTemplateForm.description"}})],1)],1),l("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[l("el-button",{on:{click:function(a){e.messageTemplateSaveStatus=!1}}},[e._v("取 消")]),l("el-button",{attrs:{type:"primary"},on:{click:e.doMessageTemplateSave}},[e._v("确 定")])],1)],1),l("el-row",{staticClass:"grid-content",style:{height:e.contentHeight+"px"}},e._l(e.messageTemplateList,(function(a){return l("el-card",{staticClass:"box-card"},[l("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[l("span",[e._v(e._s(a.messageName))]),l("el-button",{staticStyle:{float:"right",padding:"3px 0"},attrs:{type:"text"},on:{click:function(l){return e.selectMessage(a)}}},[e._v("模板配置 ")])],1),e._v(" "+e._s(a.description)+" ")])})),1)],1),l("el-col",{attrs:{span:19}},[null===e.selectedMessage?l("el-empty",{attrs:{description:"请选择报文模板","image-size":300}}):e._e(),null!==e.selectedMessage?l("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0,model:e.messageValue,size:"mini","label-width":"80px"}},[l("el-form-item",{attrs:{label:"报文类别"}},[l("el-select",{staticStyle:{width:"198px"},attrs:{placeholder:"报文类别"},model:{value:e.messageValue.category,callback:function(a){e.$set(e.messageValue,"category",a)},expression:"messageValue.category"}},[l("el-option",{key:"base",attrs:{label:"车辆基础",value:"base"}}),l("el-option",{key:"data",attrs:{label:"车辆数据",value:"data"}}),l("el-option",{key:"status",attrs:{label:"设备状态",value:"status"}})],1)],1),l("el-form-item",{attrs:{label:"编码"}},[l("el-input",{attrs:{placeholder:"编码"},model:{value:e.messageValue.code,callback:function(a){e.$set(e.messageValue,"code",a)},expression:"messageValue.code"}})],1),l("el-form-item",{attrs:{label:"标签"}},[l("el-input",{attrs:{placeholder:"标签"},model:{value:e.messageValue.label,callback:function(a){e.$set(e.messageValue,"label",a)},expression:"messageValue.label"}})],1),l("el-form-item",{attrs:{label:"起始位"}},[l("el-input",{attrs:{placeholder:"起始位"},model:{value:e.messageValue.startLocation,callback:function(a){e.$set(e.messageValue,"startLocation",a)},expression:"messageValue.startLocation"}})],1),l("el-form-item",{attrs:{label:"数据长度"}},[l("el-input",{attrs:{placeholder:"数据长度"},model:{value:e.messageValue.length,callback:function(a){e.$set(e.messageValue,"length",a)},expression:"messageValue.length"}})],1),l("el-form-item",{attrs:{label:"终止位"}},[l("el-input",{attrs:{placeholder:"终止位"},model:{value:e.messageValue.endLocation,callback:function(a){e.$set(e.messageValue,"endLocation",a)},expression:"messageValue.endLocation"}})],1),l("el-form-item",{attrs:{label:"数据类型"}},[l("el-select",{staticStyle:{width:"198px"},attrs:{placeholder:"数据类型"},model:{value:e.messageValue.valueType,callback:function(a){e.$set(e.messageValue,"valueType",a)},expression:"messageValue.valueType"}},[l("el-option",{key:"el",attrs:{label:"表达式",value:"el"}}),l("el-option",{key:"fixed",attrs:{label:"固定值",value:"fixed"}}),l("el-option",{key:"interval",attrs:{label:"区间随机值",value:"interval"}})],1)],1),"fixed"===e.messageValue.valueType?l("el-form-item",{attrs:{label:"固定值"}},[l("el-select",{staticStyle:{width:"198px"},attrs:{multiple:"",filterable:"","allow-create":"","default-first-option":"",placeholder:"请输入固定值"},model:{value:e.messageValue.fixedValueList,callback:function(a){e.$set(e.messageValue,"fixedValueList",a)},expression:"messageValue.fixedValueList"}},e._l([],(function(e){return l("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1):e._e(),"el"===e.messageValue.valueType?l("el-form-item",{attrs:{label:"表达式"}},[l("el-input",{attrs:{placeholder:"表达式"},model:{value:e.messageValue.elValue,callback:function(a){e.$set(e.messageValue,"elValue",a)},expression:"messageValue.elValue"}})],1):e._e(),"interval"===e.messageValue.valueType?l("el-form-item",{attrs:{label:"最小值"}},[l("el-input",{attrs:{placeholder:"最小值"},model:{value:e.messageValue.minValue,callback:function(a){e.$set(e.messageValue,"minValue",a)},expression:"messageValue.minValue"}})],1):e._e(),"interval"===e.messageValue.valueType?l("el-form-item",{attrs:{label:"最大值"}},[l("el-input",{attrs:{placeholder:"最大值"},model:{value:e.messageValue.maxValue,callback:function(a){e.$set(e.messageValue,"maxValue",a)},expression:"messageValue.maxValue"}})],1):e._e(),l("el-row",{attrs:{gutter:40}},[l("el-col",[l("el-button",{staticStyle:{float:"right","margin-right":"50%"},attrs:{size:"mini",type:"primary"},on:{click:e.doMessageTemplateValueSave}},[e._v(" 添加 ")])],1)],1)],1):e._e(),null!==e.selectedMessage?l("el-tabs",{model:{value:e.activeName,callback:function(a){e.activeName=a},expression:"activeName"}},[l("el-tab-pane",{attrs:{label:"基础",name:"基础"}},[e._v(" 车辆基础报文部分,为车辆第一个基础部分报文,每个部分的报文都是从1开始 "),l("el-divider",[l("i",{staticClass:"el-icon-shopping-cart-2"})]),l("el-table",{staticStyle:{width:"100%"},attrs:{data:e.messageTemplateValueList.filter((function(e){return"base"===e.category}))}},[l("el-table-column",{attrs:{prop:"code",label:"编码"}}),l("el-table-column",{attrs:{prop:"label",label:"标签"}}),l("el-table-column",{attrs:{prop:"length",label:"数据长度"}}),l("el-table-column",{attrs:{prop:"startLocation",label:"起始位"}}),l("el-table-column",{attrs:{prop:"endLocation",label:"终止位"}}),l("el-table-column",{attrs:{prop:"valueType",label:"数据类型"},scopedSlots:e._u([{key:"default",fn:function(a){return[l("el-tag",{attrs:{type:"fixed"===a.row.valueType?"success":"",effect:"Dark",size:"small"}},[e._v(e._s("fixed"===a.row.valueType?"固定值":"区间随机值"))])]}}],null,!1,3909993057)}),l("el-table-column",{attrs:{prop:"fixedValue",label:"表达式"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("el"===a.row.valueType?a.row.elValue:"-")+" ")]}}],null,!1,2872206416)}),l("el-table-column",{attrs:{prop:"fixedValue",label:"固定值"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("fixed"===a.row.valueType?a.row.fixedValue:"-")+" ")]}}],null,!1,1492578704)}),l("el-table-column",{attrs:{prop:"fixedValue",label:"范围值"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("interval"===a.row.valueType?a.row.minValue+"至"+a.row.maxValue:"-")+" ")]}}],null,!1,2506281289)})],1)],1),l("el-tab-pane",{attrs:{label:"数据",name:"数据"}},[e._v(" 车辆数据报文部分,为车辆第二个基础部分报文,每个部分的报文都是从1开始 "),l("el-divider",[l("i",{staticClass:"el-icon-data-analysis"})]),l("el-table",{staticStyle:{width:"100%"},attrs:{data:e.messageTemplateValueList.filter((function(e){return"data"===e.category}))}},[l("el-table-column",{attrs:{prop:"code",label:"编码"}}),l("el-table-column",{attrs:{prop:"label",label:"标签"}}),l("el-table-column",{attrs:{prop:"length",label:"数据长度"}}),l("el-table-column",{attrs:{prop:"startLocation",label:"起始位"}}),l("el-table-column",{attrs:{prop:"endLocation",label:"终止位"}}),l("el-table-column",{attrs:{prop:"valueType",label:"数据类型"},scopedSlots:e._u([{key:"default",fn:function(a){return[l("el-tag",{attrs:{type:"fixed"===a.row.valueType?"success":"",effect:"Dark",size:"small"}},[e._v(e._s("fixed"===a.row.valueType?"固定值":"区间随机值"))])]}}],null,!1,3909993057)}),l("el-table-column",{attrs:{prop:"fixedValue",label:"表达式"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("el"===a.row.valueType?a.row.elValue:"-")+" ")]}}],null,!1,2872206416)}),l("el-table-column",{attrs:{prop:"fixedValue",label:"固定值"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("fixed"===a.row.valueType?a.row.fixedValue:"-")+" ")]}}],null,!1,1492578704)}),l("el-table-column",{attrs:{prop:"fixedValue",label:"范围值"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("interval"===a.row.valueType?a.row.minValue+"至"+a.row.maxValue:"-")+" ")]}}],null,!1,2506281289)})],1)],1),l("el-tab-pane",{attrs:{label:"设备状态",name:"设备状态"}},[e._v(" 车辆设备状态报文信息,为车辆第三个基础部分报文,每个部分的报文都是从1开始 "),l("el-divider",[l("i",{staticClass:"el-icon-view"})]),l("el-table",{staticStyle:{width:"100%"},attrs:{data:e.messageTemplateValueList.filter((function(e){return"status"===e.category}))}},[l("el-table-column",{attrs:{prop:"code",label:"编码"}}),l("el-table-column",{attrs:{prop:"label",label:"标签"}}),l("el-table-column",{attrs:{prop:"length",label:"数据长度"}}),l("el-table-column",{attrs:{prop:"startLocation",label:"起始位"}}),l("el-table-column",{attrs:{prop:"endLocation",label:"终止位"}}),l("el-table-column",{attrs:{prop:"valueType",label:"数据类型"},scopedSlots:e._u([{key:"default",fn:function(a){return[l("el-tag",{attrs:{type:"fixed"===a.row.valueType?"success":"",effect:"Dark",size:"small"}},[e._v(e._s("fixed"===a.row.valueType?"固定值":"区间随机值"))])]}}],null,!1,3909993057)}),l("el-table-column",{attrs:{prop:"fixedValue",label:"表达式"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("el"===a.row.valueType?a.row.elValue:"-")+" ")]}}],null,!1,2872206416)}),l("el-table-column",{attrs:{prop:"fixedValue",label:"固定值"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("fixed"===a.row.valueType?a.row.fixedValue:"-")+" ")]}}],null,!1,1492578704)}),l("el-table-column",{attrs:{prop:"fixedValue",label:"范围值"},scopedSlots:e._u([{key:"default",fn:function(a){return[e._v(" "+e._s("interval"===a.row.valueType?a.row.minValue+"至"+a.row.maxValue:"-")+" ")]}}],null,!1,2506281289)})],1)],1)],1):e._e()],1)],1)],1)},s=[],o=(l("d3b7"),l("25f0"),l("b775"));function n(){return Object(o["a"])({url:"/message/template/list",method:"get"})}function u(e){return Object(o["a"])({url:"/message/template",method:"post",data:e})}function r(e){return Object(o["a"])({url:"/message/template/".concat(e,"/value"),method:"get"})}function i(e,a){return Object(o["a"])({url:"/message/template/".concat(e,"/value"),method:"post",data:a})}var c={name:"MessageTemplate",data:function(){return{contentHeight:1024,activeName:"基础",messageTemplateList:[],selectedMessage:null,messageTemplateSaveStatus:!1,messageTemplateForm:{messageName:"",description:""},messageTemplateValueList:[],messageValue:{category:null,code:null,label:null,length:null,startLocation:null,endLocation:null,valueType:null,elValue:null,fixedValue:null,fixedValueList:[],minValue:null,maxValue:null}}},watch:{"messageValue.fixedValueList":{handler:function(e){this.messageValue.fixedValue=this.messageValue.fixedValueList.toString()},immediate:!0}},created:function(){this.contentHeight=window.innerHeight-140,this.selectMessageTemplateList()},methods:{selectMessage:function(e){this.selectedMessage=e,this.activeName="基础",this.selectMessageTemplateValueList()},doMessageTemplateValueSave:function(){var e=this;i(this.selectedMessage.id,this.messageValue).then((function(a){e.$notify({title:"成功",message:"报文模板,添加成功",type:"success"}),e.selectMessageTemplateValueList()}))},selectMessageTemplateValueList:function(){var e=this;r(this.selectedMessage.id).then((function(a){e.messageTemplateValueList=a.data}))},doMessageTemplateSave:function(){var e=this;u(this.messageTemplateForm).then((function(a){e.messageTemplateSaveStatus=!1,e.$notify({title:"成功",message:"报文模板,添加成功",type:"success"}),e.selectMessageTemplateList()}))},toMessageTemplateSave:function(){this.messageTemplateSaveStatus=!0,this.messageTemplateForm={messageName:"",description:""}},selectMessageTemplateList:function(){var e=this;n().then((function(a){e.messageTemplateList=a.data}))}}},m=c,p=(l("00de"),l("2877")),d=Object(p["a"])(m,t,s,!1,null,"6151d512",null);a["default"]=d.exports},c3ca:function(e,a,l){}}]);
\ No newline at end of file