diff --git a/db/vehicleSimulationDataBaseFile.mv.db b/db/vehicleSimulationDataBaseFile.mv.db index 517716c..b04942b 100644 Binary files a/db/vehicleSimulationDataBaseFile.mv.db and b/db/vehicleSimulationDataBaseFile.mv.db differ diff --git a/src/main/java/com/muyu/vehicle/core/LocalContainer.java b/src/main/java/com/muyu/vehicle/core/LocalContainer.java index 80e503a..33b391e 100644 --- a/src/main/java/com/muyu/vehicle/core/LocalContainer.java +++ b/src/main/java/com/muyu/vehicle/core/LocalContainer.java @@ -62,6 +62,16 @@ public class LocalContainer { public static List getOnlineVehicleInstance(){ return vehicleDataMap.values().stream().filter(VehicleInstance::isOnline).toList(); } + /** + * 获取在线车辆 + * @return 在线车辆VIN集合 + */ + public static List getOnlineVehicleVin(){ + return getOnlineVehicleInstance() + .stream() + .map(VehicleInstance::getVin) + .toList(); + } /** * 获取离线车辆 diff --git a/src/main/java/com/muyu/web/config/LoadServerConfig.java b/src/main/java/com/muyu/web/config/LoadServerConfig.java index 49d5a0e..382d242 100644 --- a/src/main/java/com/muyu/web/config/LoadServerConfig.java +++ b/src/main/java/com/muyu/web/config/LoadServerConfig.java @@ -1,12 +1,8 @@ package com.muyu.web.config; import com.muyu.web.config.properties.ServiceConfigProperties; -import com.muyu.web.domain.ServerConfig; import com.muyu.web.domain.model.ServerConfigModel; import com.muyu.web.service.ServerConfigService; -import lombok.AllArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/com/muyu/web/domain/model/TaskModel.java b/src/main/java/com/muyu/web/domain/model/TaskModel.java index aecd250..e0b219c 100644 --- a/src/main/java/com/muyu/web/domain/model/TaskModel.java +++ b/src/main/java/com/muyu/web/domain/model/TaskModel.java @@ -11,6 +11,7 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Consumer; /** * @author DongZeLiang @@ -79,12 +80,28 @@ public class TaskModel { private AtomicInteger taskErrorSum = new AtomicInteger(); + /** + * 判断是否有下个任务 + * @return true 下一个任务可执行 + */ + public boolean hashNext(){ + return !vehicleTaskQueue.isEmpty(); + } + + /** + * 获取下一个任务节点 + * @return 任务VIN + */ + public String next(){ + return vehicleTaskQueue.poll(); + } + /** * 提交当前线程任务 * @param taskName 任务名称 * @param vehicleVinList 提交车辆VIN集合 */ - public void submit(String taskName, List vehicleVinList){ + public void submit(String taskName, List vehicleVinList, Consumer consumer){ if (!this.isExecution()){ throw new RuntimeException("["+this.taskName+"]的任务正在进行中,请等待任务执行完成再次发布一键任务"); } @@ -99,6 +116,25 @@ public class TaskModel { this.taskSuccessSum = new AtomicInteger(); this.taskErrorSum = new AtomicInteger(); this.taskStartTime = System.currentTimeMillis(); + new Thread(() -> { + try { + while (hashNext()){ + Thread.sleep(100); + String vin = next(); + try { + consumer.accept(vin); + incrementSuccess(); + }catch (Exception e){ + log.error("任务:[{}] vin:[{}] 异常:[{}]",taskName,vin,e.getMessage(),e); + incrementError(); + } + } + }catch (Exception e){ + log.error("任务:[{}] 异常:[{}]",taskName,e.getMessage(),e); + }finally { + down(); + } + }).start(); log.info("[{}]任务执行开始", this.taskName); } 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 df6bbfe..9d6b1c8 100644 --- a/src/main/java/com/muyu/web/service/impl/VehicleUnifiedServiceImpl.java +++ b/src/main/java/com/muyu/web/service/impl/VehicleUnifiedServiceImpl.java @@ -1,6 +1,12 @@ package com.muyu.web.service.impl; +import com.alibaba.fastjson2.JSONArray; +import com.muyu.vehicle.VehicleInstance; +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; @@ -9,6 +15,9 @@ import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Random; + /** * @author DongZeLiang * @version 1.0 @@ -36,7 +45,14 @@ public class VehicleUnifiedServiceImpl implements VehicleUnifiedService { */ @Override public void unifiedOnline () { - + // 获取离线车辆VIN + List vinList = LocalContainer.getOfflineVehicleInstance() + .stream() + .map(VehicleInstance::getVin) + .toList(); + taskModel.submit("一键上线", vinList, (vin) -> { + vehicleInstanceService.vehicleClientInit(vin); + }); } /** @@ -44,7 +60,11 @@ public class VehicleUnifiedServiceImpl implements VehicleUnifiedService { */ @Override public void unifiedOffline () { - + // 获取在线车辆VIN + List vinList = LocalContainer.getOnlineVehicleVin(); + taskModel.submit("一键离线", vinList, (vin) -> { + vehicleInstanceService.vehicleClientClose(vin); + }); } /** @@ -52,7 +72,37 @@ public class VehicleUnifiedServiceImpl implements VehicleUnifiedService { */ @Override public void unifiedSend () { + // 获取在线车辆VIN + List vinList = LocalContainer.getOnlineVehicleVin(); + // 获取到所有路径 + List positionRouteInfoList = positionRouteService.list(); + // 路径长度 + int positionSize = positionRouteInfoList.size(); + // 随机数 + Random random = new Random(); + taskModel.submit("一键上报", vinList, (vin) -> { + // 随机一个路径结果 + int positionIndex = random.nextInt(0, positionSize); + PositionRouteInfo positionRouteInfo = positionRouteInfoList.get(positionIndex); + String positionCode = positionRouteInfo.getName(); + List positionModelList = JSONArray.parseArray(positionRouteInfo.getRouteData(), String.class) + .stream() + .map(PositionModel::strBuild) + .toList(); + VehicleInstance vehicleInstance = LocalContainer.getVehicleInstance(vin); + // 设置车辆路径 + vehicleInstance.settingPosition(positionModelList); + vehicleInstance.setPositionCode(positionCode); + // 设置车辆档位 + vehicleInstance.setGear("D"); + vehicleInstanceService.msg( + MsgReq.builder() + .vin(vin) + .msgCode("上报") + .build() + ); + }); } /** @@ -60,7 +110,29 @@ public class VehicleUnifiedServiceImpl implements VehicleUnifiedService { */ @Override public void unifiedPosition () { + // 获取在线车辆VIN + List vinList = LocalContainer.getOnlineVehicleVin(); + // 获取到所有路径 + List positionRouteInfoList = positionRouteService.list(); + // 路径长度 + int positionSize = positionRouteInfoList.size(); + // 随机数 + Random random = new Random(); + taskModel.submit("一键重置路径", vinList, (vin) -> { + // 随机一个路径结果 + int positionIndex = random.nextInt(0, positionSize); + PositionRouteInfo positionRouteInfo = positionRouteInfoList.get(positionIndex); + String positionCode = positionRouteInfo.getName(); + List positionModelList = JSONArray.parseArray(positionRouteInfo.getRouteData(), String.class) + .stream() + .map(PositionModel::strBuild) + .toList(); + VehicleInstance vehicleInstance = LocalContainer.getVehicleInstance(vin); + // 设置车辆路径 + vehicleInstance.settingPosition(positionModelList); + vehicleInstance.setPositionCode(positionCode); + }); } /** @@ -68,7 +140,16 @@ public class VehicleUnifiedServiceImpl implements VehicleUnifiedService { */ @Override public void unifiedStop () { - +// 获取在线车辆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-cd3ab578.5a7a63c7.css b/src/main/resources/static/css/chunk-cd3ab578.5a7a63c7.css deleted file mode 100644 index 469a9d8..0000000 --- a/src/main/resources/static/css/chunk-cd3ab578.5a7a63c7.css +++ /dev/null @@ -1 +0,0 @@ -.app-container[data-v-5503ff78]{padding:10px 5px 0 10px;background-color:#f4f4f5}.el-row[data-v-5503ff78]{&:last-child{margin-bottom:0}}.bg-purple[data-v-5503ff78]{background:#f4f4f5}.grid-content[data-v-5503ff78]{border-radius:4px;overflow-x:hidden;overflow-y:auto}.grid-content[data-v-5503ff78]::-webkit-scrollbar{width:4px}.grid-content[data-v-5503ff78]::-webkit-scrollbar-thumb{border-radius:10px;background:rgba(0,0,0,.2)}.grid-content[data-v-5503ff78]::-webkit-scrollbar-track{border-radius:0;background:rgba(0,0,0,.1)}.vehicleDiv[data-v-5503ff78]{height:50px;margin:0 0 10px 0}.contentMain[data-v-5503ff78]{margin-top:10px}.vehicleDataTab[data-v-5503ff78]{width:100%;overflow-y:auto;overflow-x:hidden}.vehicleDataTab[data-v-5503ff78]::-webkit-scrollbar{width:4px}.vehicleDataTab[data-v-5503ff78]::-webkit-scrollbar-thumb{border-radius:10px;background:rgba(0,0,0,.2)}.vehicleDataTab[data-v-5503ff78]::-webkit-scrollbar-track{border-radius:0;background:rgba(0,0,0,.1)}.el-form-item__label[data-v-5503ff78]{padding:0}.el-form-item[data-v-5503ff78]{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 de6171b..03b662d 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.a7bceb97.js b/src/main/resources/static/js/app.a7bceb97.js deleted file mode 100644 index 184190d..0000000 --- a/src/main/resources/static/js/app.a7bceb97.js +++ /dev/null @@ -1 +0,0 @@ -(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"),s=n.n(o),c=new i.a({id:"icon-link",use:"icon-link-usage",viewBox:"0 0 128 128",content:''});s.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"),s=n.n(o),c=new i.a({id:"icon-password",use:"icon-password-usage",viewBox:"0 0 128 128",content:''});s.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"),s=n.n(o),c=new i.a({id:"icon-example",use:"icon-example-usage",viewBox:"0 0 128 128",content:''});s.a.add(c);t["default"]=c},"3e9a":function(e,t,n){"use strict";n("72e6")},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}}),s=o,c=n("a78e"),r=n.n(c),u={sidebar:{opened:!r.a.get("sidebarStatus")||!!+r.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?r.a.set("sidebarStatus",1):r.a.set("sidebarStatus",0)},CLOSE_SIDEBAR:function(e,t){r.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,v=f.a.fixedHeader,b=f.a.sidebarLogo,g={showSettings:p,fixedHeader:v,sidebarLogo:b},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)}},k={namespaced:!0,state:g,mutations:w,actions:x},y=(n("d3b7"),n("5f87")),_=n("a18c"),C=function(){return{token:Object(y["a"])(),name:"",avatar:""}},O=C(),z={RESET_STATE:function(e){Object.assign(e,C())},SET_TOKEN:function(e,t){e.token=t},SET_NAME:function(e,t){e.name=t},SET_AVATAR:function(e,t){e.avatar=t}},E={login:function(e,t){var n=e.commit;return new Promise((function(e,t){n("SET_TOKEN","token"),Object(y["c"])("token"),e()}))},getInfo:function(e){var t=e.commit;e.state;return new Promise((function(e,n){var a={name:"今天你努力了吗",avatar:"https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"},i=a.name,o=a.avatar;t("SET_NAME",i),t("SET_AVATAR",o),e(a)}))},logout:function(e){var t=e.commit;e.state;return new Promise((function(e,n){Object(y["b"])(),Object(_["b"])(),t("RESET_STATE"),e()}))},resetToken:function(e){var t=e.commit;return new Promise((function(e){Object(y["b"])(),t("RESET_STATE"),e()}))}},S={namespaced:!0,state:O,mutations:z,actions:E};a["default"].use(i["a"]);var H=new i["a"].Store({modules:{app:h,settings:k,user:S},getters:s});t["a"]=H},"47f1":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),s=n.n(o),c=new i.a({id:"icon-table",use:"icon-table-usage",viewBox:"0 0 128 128",content:''});s.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"),s=n.n(o),c=new i.a({id:"icon-eye",use:"icon-eye-usage",viewBox:"0 0 128 64",content:''});s.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),s=(n("0fae"),n("f0d9")),c=n.n(s),r=(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,r,u,!1,null,null,null),f=m.exports,p=n("4360"),v=n("a18c"),b=(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%")}}}},k=x,y=(n("2b29"),Object(h["a"])(k,b,g,!1,null,"f9f7fefc",null)),_=y.exports;a["default"].component("svg-icon",_);var C=n("51ff"),O=function(e){return e.keys().map(e)};O(C);var z=n("c7eb"),E=n("1da1"),S=(n("b0c0"),n("323e")),H=n.n(S),M=(n("a5d8"),n("5f87")),B=(n("99af"),n("83d6")),T=n.n(B),j=T.a.title||"Vue Admin Template";function A(e){return e?"".concat(e," - ").concat(j):"".concat(j)}H.a.configure({showSpinner:!1});var V=["/login"];v["a"].beforeEach(function(){var e=Object(E["a"])(Object(z["a"])().mark((function e(t,n,a){var o,s;return Object(z["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(H.a.start(),document.title=A(t.meta.title),o=Object(M["a"])(),!o){e.next=29;break}if("/login"!==t.path){e.next=9;break}a({path:"/"}),H.a.done(),e.next=27;break;case 9:if(s=p["a"].getters.name,!s){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)),H.a.done();case 27:e.next=30;break;case 29:-1!==V.indexOf(t.path)?a():(a("/login?redirect=".concat(t.path)),H.a.done());case 30:case"end":return e.stop()}}),e,null,[[14,20]])})));return function(t,n,a){return e.apply(this,arguments)}}()),v["a"].afterEach((function(){H.a.done()})),a["default"].use(o.a,{locale:c.a}),a["default"].config.productionTip=!1,new a["default"]({el:"#app",router:v["a"],store:p["a"],render:function(e){return e(f)}})},"5f87":function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"c",(function(){return c})),n.d(t,"b",(function(){return r}));var a=n("a78e"),i=n.n(a),o="vue_admin_template_token";function s(){return i.a.get(o)}function c(e){return i.a.set(o,e)}function r(){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")},"72e6":function(e,t,n){},"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"),s=n.n(o),c=new i.a({id:"icon-tree",use:"icon-tree-usage",viewBox:"0 0 128 128",content:''});s.a.add(c);t["default"]=c},a18c:function(e,t,n){"use strict";n.d(t,"b",(function(){return Te}));n("d3b7"),n("3ca3"),n("ddb0");var a,i,o=n("2b0e"),s=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)},r=[],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(" Home ")])],1),n("a",{attrs:{target:"_blank",href:"https://github.com/PanJiaChen/vue-admin-template/"}},[n("el-dropdown-item",[e._v("Github")])],1),n("a",{attrs:{target:"_blank",href:"https://panjiachen.github.io/vue-element-admin-site/#/"}},[n("el-dropdown-item",[e._v("Docs")])],1),n("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(t){return e.logout(t)}}},[n("span",{staticStyle:{display:"block"}},[e._v("Log Out")])])],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)},v=[],b=(n("4de4"),n("99af"),n("b0c0"),n("498a"),n("bd11")),g=n.n(b),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,k=(n("d633"),n("2877")),y=Object(k["a"])(x,p,v,!1,null,"43342757",null),_=y.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"}})])])},O=[],z={name:"Hamburger",props:{isActive:{type:Boolean,default:!1}},methods:{toggleClick:function(){this.$emit("toggleClick")}}},E=z,S=(n("8dd0"),Object(k["a"])(E,C,O,!1,null,"49e15297",null)),H=S.exports,M={components:{Breadcrumb:_,Hamburger:H},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)})))()}}},B=M,T=(n("3e9a"),Object(k["a"])(B,u,l,!1,null,"050d8c75",null)),j=T.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=[],P={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"}}},I=P,N=(n("71a0"),Object(k["a"])(I,$,L,!1,null,"5bb1c0e2",null)),D=N.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"),J=n.n(R),U=n("61f7"),F=(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=F,W=(n("f87e"),Object(k["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(U["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(k["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(U["a"])(e)?e:Object(U["a"])(this.basePath)?this.basePath:J.a.resolve(this.basePath,e)}}},oe=ie,se=Object(k["a"])(oe,q,G,!1,null,null,null),ce=se.exports,re=n("cf1e"),ue=n.n(re),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(k["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=[],ve={name:"AppMain",computed:{key:function(){return this.$route.path}}},be=ve,ge=(n("2224"),n("0ae2d"),Object(k["a"])(be,fe,pe,!1,null,"64cf4d83",null)),we=ge.exports,xe=n("4360"),ke=document,ye=ke.body,_e=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=ye.getBoundingClientRect();return e.width-1<_e},$_resizeHandler:function(){if(!document.hidden){var e=this.$_isMobile();xe["a"].dispatch("app/toggleDevice",e?"mobile":"desktop"),e&&xe["a"].dispatch("app/closeSideBar",{withoutAnimation:!0})}}}},Oe={name:"Layout",components:{Navbar:j,Sidebar:me,AppMain:we},mixins:[Ce],computed:{sidebar:function(){return this.$store.state.app.sidebar},device:function(){return this.$store.state.app.device},fixedHeader:function(){return this.$store.state.settings.fixedHeader},classObj:function(){return{hideSidebar:!this.sidebar.opened,openSidebar:this.sidebar.opened,withoutAnimation:this.sidebar.withoutAnimation,mobile:"mobile"===this.device}}},methods:{handleClickOutside:function(){this.$store.dispatch("app/closeSideBar",{withoutAnimation:!1})}}},ze=Oe,Ee=(n("9353"),Object(k["a"])(ze,c,r,!1,null,"4f739cf0",null)),Se=Ee.exports;o["default"].use(s["a"]);var He=[{path:"/login",component:function(){return n.e("chunk-510f32e7").then(n.bind(null,"9ed6"))},hidden:!0},{path:"/404",component:function(){return n.e("chunk-22cea610").then(n.bind(null,"8cdb"))},hidden:!0},{path:"/",component:Se,redirect:"/dashboard",children:[{path:"dashboard",name:"首页",component:function(){return Promise.all([n.e("chunk-019c66da"),n.e("chunk-6f60c8f1"),n.e("chunk-4a014042")]).then(n.bind(null,"9406"))},meta:{title:"首页",icon:"dashboard"}}]},{path:"/server",component:Se,children:[{path:"config",name:"服务配置",component:function(){return Promise.all([n.e("chunk-019c66da"),n.e("chunk-e4980b30")]).then(n.bind(null,"88aa"))},meta:{title:"服务配置",icon:"example"}}]},{path:"/vehicle",component:Se,children:[{path:"instance",name:"数据模拟",component:function(){return Promise.all([n.e("chunk-019c66da"),n.e("chunk-cd3ab578")]).then(n.bind(null,"ba75"))},meta:{title:"数据模拟",icon:"form"}}]},{path:"*",redirect:"/404",hidden:!0}],Me=function(){return new s["a"]({scrollBehavior:function(){return{y:0}},routes:He})},Be=Me();function Te(){var e=Me();Be.matcher=e.matcher}t["a"]=Be},b20f:function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409eff",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"210px"}},b3b5:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),o=n("21a1"),s=n.n(o),c=new i.a({id:"icon-user",use:"icon-user-usage",viewBox:"0 0 130 130",content:''});s.a.add(c);t["default"]=c},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"),s=n.n(o),c=new i.a({id:"icon-eye-open",use:"icon-eye-open-usage",viewBox:"0 0 1024 1024",content:''});s.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"),s=n.n(o),c=new i.a({id:"icon-nested",use:"icon-nested-usage",viewBox:"0 0 128 128",content:''});s.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"),s=n.n(o),c=new i.a({id:"icon-form",use:"icon-form-usage",viewBox:"0 0 128 128",content:''});s.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"),s=n.n(o),c=new i.a({id:"icon-dashboard",use:"icon-dashboard-usage",viewBox:"0 0 128 100",content:''});s.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-cd3ab578.ba31bb9e.js b/src/main/resources/static/js/chunk-cd3ab578.ba31bb9e.js deleted file mode 100644 index 2254f2f..0000000 --- a/src/main/resources/static/js/chunk-cd3ab578.ba31bb9e.js +++ /dev/null @@ -1 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-cd3ab578"],{"0f49":function(e,t,a){"use strict";a("3cd3")},"3cd3":function(e,t,a){},b775:function(e,t,a){"use strict";a("d3b7");var l=a("bc3a"),i=a.n(l),n=a("5c96"),s=a("4360"),r=a("5f87"),o=i.a.create({baseURL:"/",timeout:5e3});o.interceptors.request.use((function(e){return s["a"].getters.token&&(e.headers["X-Token"]=Object(r["a"])()),e}),(function(e){return console.log(e),Promise.reject(e)})),o.interceptors.response.use((function(e){var t=e.data;return 200!==t.code?(Object(n["Message"])({message:t.msg||"Error",type:"error",duration:5e3}),50008!==t.code&&50012!==t.code&&50014!==t.code||n["MessageBox"].confirm("You have been logged out, you can cancel to stay on this page, or log in again","Confirm logout",{confirmButtonText:"Re-Login",cancelButtonText:"Cancel",type:"warning"}).then((function(){s["a"].dispatch("user/resetToken").then((function(){location.reload()}))})),Promise.reject(new Error(t.msg||"Error"))):t}),(function(e){return console.log("err"+e),Object(n["Message"])({message:e.message,type:"error",duration:5e3}),Promise.reject(e)})),t["a"]=o},ba75:function(e,t,a){"use strict";a.r(t);var l=function(){var e=this,t=e.$createElement,a=e._self._c||t;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-button",{on:{click:function(t){e.addVehicleDrawer=!0}}},[e._v("添加车辆")]),a("el-button",{attrs:{type:"primary"},on:{click:function(t){e.genVehicleDialog=!0}}},[e._v("生成车辆")]),a("el-button",{attrs:{type:"success"},on:{click:e.vehicleUnifiedOnline}},[e._v("一键上线")]),a("el-button",{attrs:{type:"success"},on:{click:e.vehicleUnifiedOffline}},[e._v("一键离线")]),a("el-button",{attrs:{type:"primary"},on:{click:e.vehicleUnifiedSend}},[e._v("一键上报")]),a("el-button",{attrs:{type:"primary"},on:{click:e.vehicleUnifiedPosition}},[e._v("一键重置路径")]),a("el-button",{attrs:{type:"warning"},on:{click:e.vehicleUnifiedStop}},[e._v("一键取消上报")]),e.unifiedInfo.unifiedStatus?a("el-popover",{staticStyle:{"margin-left":"15px"},attrs:{placement:"top-start",title:"任务执行状态",width:"200",trigger:"hover"}},[a("el-progress",{attrs:{percentage:(e.unifiedInfo.taskSuccessSum+e.unifiedInfo.taskErrorSum)/e.unifiedInfo.taskExecutionSum*100,color:e.customColors}}),a("div",{staticStyle:{width:"100%",margin:"5px 0"}},[e._v("任务描述:"),a("el-tag",[e._v(e._s(e.unifiedInfo.taskName))])],1),a("div",{staticStyle:{width:"100%",margin:"5px 0"}},[e._v("任务总数:"),a("el-tag",[e._v(e._s(e.unifiedInfo.taskExecutionSum))])],1),a("div",{staticStyle:{width:"100%",margin:"5px 0"}},[e._v("成功总数:"),a("el-tag",[e._v(e._s(e.unifiedInfo.taskSuccessSum))])],1),a("div",{staticStyle:{width:"100%",margin:"5px 0"}},[e._v("失败总数:"),a("el-tag",[e._v(e._s(e.unifiedInfo.taskErrorSum))])],1),a("el-button",{attrs:{slot:"reference"},slot:"reference"},[e._v("有任务在执行")])],1):e._e()],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:e.queryParams.vin,callback:function(t){e.$set(e.queryParams,"vin",t)},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:e.queryParams.online,callback:function(t){e.$set(e.queryParams,"online",t)},expression:"queryParams.online"}})],1)],1),a("el-row",{staticStyle:{"margin-bottom":"10px",padding:"0 10px"},attrs:{gutter:10}},[a("el-pagination",{attrs:{"current-page":e.queryParams.page,"page-sizes":[10,20,30,50,100],"page-size":e.queryParams.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.vehiclePage.total},on:{"size-change":e.pageSizeChange,"current-change":e.pageChange}})],1)],1),a("div",{staticClass:"grid-content bg-purple",style:{height:e.contentHeight-150+"px"}},[a("el-row",{attrs:{gutter:10}},e._l(e.vehiclePage.rows,(function(t){return a("el-col",{staticStyle:{margin:"0 0 10px 0"},attrs:{span:12}},[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:t.online?"success":"info"}},[e._v(" "+e._s(t.vin)+" ")]),a("el-button",{staticStyle:{float:"right"},attrs:{type:"danger",size:"mini"},on:{click:function(a){return e.vehicleRemove(t.vin)}}},[e._v("删除")]),a("span",{staticStyle:{float:"right",color:"rgba(255,255,255,0)"}},[e._v("|")]),a("el-button",{staticStyle:{float:"right"},attrs:{type:e.checkVin===t.vin?"success":"",size:"mini",disabled:!t.online},on:{click:function(a){e.checkVin=t.vin}}},[e._v(e._s(e.checkVin===t.vin?"已选择":"选择"))]),a("span",{staticStyle:{float:"right",color:"rgba(255,255,255,0)"}},[e._v("|")]),t.online?e._e():a("el-button",{staticStyle:{float:"right"},attrs:{size:"mini"},on:{click:function(a){return e.clientInit(t.vin)}}},[e._v(" 上线 ")]),t.online?a("el-button",{staticStyle:{float:"right"},attrs:{size:"mini"},on:{click:function(a){return e.clientClose(t.vin)}}},[e._v(" 下线 ")]):e._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"}),e._v(" 路线 ")]),a("el-radio-group",{attrs:{size:"mini"},on:{input:function(a){return e.checkPositionCode(t)}},model:{value:t.positionCode,callback:function(a){e.$set(t,"positionCode",a)},expression:"vehicle.positionCode"}},e._l(e.positionCodeList,(function(e){return a("el-radio-button",{attrs:{label:e}})})),1),a("el-tag",{staticStyle:{"margin-left":"15px"},attrs:{type:"success"}},[e._v(e._s(t.positionLength))])],2),a("el-descriptions-item",[a("template",{slot:"label"},[a("i",{staticClass:"el-icon-location-outline"}),e._v(" 档位 ")]),a("el-radio-group",{attrs:{size:"mini"},on:{input:function(a){return e.checkGear(t)}},model:{value:t.gear,callback:function(a){e.$set(t,"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"}),e._v(" 报文上报 ")]),a("el-radio-group",{attrs:{size:"mini"},on:{input:function(a){return e.checkMsg(t)}},model:{value:t.msgCode,callback:function(a){e.$set(t,"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"}),e._v(" 总里程 ")]),a("el-tag",{attrs:{size:"small"}},[e._v(e._s(t.mileage)+"/KM")])],2),a("el-descriptions-item",[a("template",{slot:"label"},[a("i",{staticClass:"el-icon-office-building"}),e._v(" 联系地址 ")]),e._v(" 江苏省苏州市吴中区吴中大道 1188 号 ")],2)],1)],1)],1)})),1)],1)],1),a("el-col",{attrs:{span:14}},[null==e.checkVin?a("el-empty",{attrs:{description:"请在左侧选择需要查看数据的车辆"}}):e._e(),null!=e.checkVin?a("div",{staticClass:"grid-content bg-purple",style:{height:e.contentHeight+"px"}},[a("div",{staticClass:"contentMain",style:{height:e.contentHeight/2-10+"px",width:"100%"}},[a("el-row",{attrs:{gutter:10}},[a("el-form",{ref:"form",attrs:{labelPosition:"top",model:e.vehicleData}},[a("el-col",{attrs:{span:12}},[a("div",{style:{height:e.contentHeight/2-10+"px",width:"100%","background-color":"#FFFFFF"}},[a("el-tabs",{style:{height:e.contentHeight/2-10+"px"},attrs:{"tab-position":"top",type:"border-card"}},[a("el-tab-pane",{attrs:{label:"基本信息"}},[a("div",{staticClass:"vehicleDataTab",style:{height:e.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:e.vehicleData.speed,callback:function(t){e.$set(e.vehicleData,"speed",t)},expression:"vehicleData.speed"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"总电压"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.voltage,callback:function(t){e.$set(e.vehicleData,"voltage",t)},expression:"vehicleData.voltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"总电流"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.current,callback:function(t){e.$set(e.vehicleData,"current",t)},expression:"vehicleData.current"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"绝缘电阻"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.resistance,callback:function(t){e.$set(e.vehicleData,"resistance",t)},expression:"vehicleData.resistance"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"加速踏板行程值"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.accelerationPedal,callback:function(t){e.$set(e.vehicleData,"accelerationPedal",t)},expression:"vehicleData.accelerationPedal"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"制动踏板行程值"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.brakePedal,callback:function(t){e.$set(e.vehicleData,"brakePedal",t)},expression:"vehicleData.brakePedal"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"燃料消耗率"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.fuelConsumptionRate,callback:function(t){e.$set(e.vehicleData,"fuelConsumptionRate",t)},expression:"vehicleData.fuelConsumptionRate"}})],1)],1)],1)],1)]),a("el-tab-pane",{attrs:{label:"电机"}},[a("div",{staticClass:"vehicleDataTab",style:{height:e.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:e.vehicleData.motorControllerTemperature,callback:function(t){e.$set(e.vehicleData,"motorControllerTemperature",t)},expression:"vehicleData.motorControllerTemperature"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机转速"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.motorSpeed,callback:function(t){e.$set(e.vehicleData,"motorSpeed",t)},expression:"vehicleData.motorSpeed"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机转矩"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.motorTorque,callback:function(t){e.$set(e.vehicleData,"motorTorque",t)},expression:"vehicleData.motorTorque"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机温度"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.motorTemperature,callback:function(t){e.$set(e.vehicleData,"motorTemperature",t)},expression:"vehicleData.motorTemperature"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机电压"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.motorVoltage,callback:function(t){e.$set(e.vehicleData,"motorVoltage",t)},expression:"vehicleData.motorVoltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电机电流"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.motorCurrent,callback:function(t){e.$set(e.vehicleData,"motorCurrent",t)},expression:"vehicleData.motorCurrent"}})],1)],1)],1)],1)]),a("el-tab-pane",{attrs:{label:"动力电池"}},[a("div",{staticClass:"vehicleDataTab",style:{height:e.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:e.vehicleData.remainingBattery,callback:function(t){e.$set(e.vehicleData,"remainingBattery",t)},expression:"vehicleData.remainingBattery"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"电池总容量"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.batteryLevel,callback:function(t){e.$set(e.vehicleData,"batteryLevel",t)},expression:"vehicleData.batteryLevel"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"当前状态允许的最大反馈功率"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.maximumFeedbackPower,callback:function(t){e.$set(e.vehicleData,"maximumFeedbackPower",t)},expression:"vehicleData.maximumFeedbackPower"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"当前状态允许最大放电功率"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.maximumDischargePower,callback:function(t){e.$set(e.vehicleData,"maximumDischargePower",t)},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:e.vehicleData.selfCheckCounter,callback:function(t){e.$set(e.vehicleData,"selfCheckCounter",t)},expression:"vehicleData.selfCheckCounter"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池充放电电流"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.totalBatteryCurrent,callback:function(t){e.$set(e.vehicleData,"totalBatteryCurrent",t)},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:e.vehicleData.totalBatteryVoltage,callback:function(t){e.$set(e.vehicleData,"totalBatteryVoltage",t)},expression:"vehicleData.totalBatteryVoltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"单次最大电压"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.singleBatteryMaxVoltage,callback:function(t){e.$set(e.vehicleData,"singleBatteryMaxVoltage",t)},expression:"vehicleData.singleBatteryMaxVoltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"单体电池最低电压"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.singleBatteryMinVoltage,callback:function(t){e.$set(e.vehicleData,"singleBatteryMinVoltage",t)},expression:"vehicleData.singleBatteryMinVoltage"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"单体电池最高温度"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.singleBatteryMaxTemperature,callback:function(t){e.$set(e.vehicleData,"singleBatteryMaxTemperature",t)},expression:"vehicleData.singleBatteryMaxTemperature"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"单体电池最低温度"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.singleBatteryMinTemperature,callback:function(t){e.$set(e.vehicleData,"singleBatteryMinTemperature",t)},expression:"vehicleData.singleBatteryMinTemperature"}})],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池可用容量"}},[a("el-input",{attrs:{disabled:""},model:{value:e.vehicleData.availableBatteryCapacity,callback:function(t){e.$set(e.vehicleData,"availableBatteryCapacity",t)},expression:"vehicleData.availableBatteryCapacity"}})],1)],1)],1)],1)])],1)],1)]),a("el-col",{attrs:{span:12}},[a("div",{style:{height:e.contentHeight/2-10+"px",width:"100%","background-color":"#FFFFFF"}},[a("el-tabs",{style:{height:e.contentHeight/2-10+"px"},attrs:{"tab-position":"top",type:"border-card"}},[a("el-tab-pane",{attrs:{label:"基本状态"}},[a("div",{staticClass:"vehicleDataTab",style:{height:e.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(t){return e.statusChange("vehicleStatus")}},model:{value:e.vehicleData.vehicleStatus,callback:function(t){e.$set(e.vehicleData,"vehicleStatus",t)},expression:"vehicleData.vehicleStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"充电状态"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("chargingStatus")}},model:{value:e.vehicleData.chargingStatus,callback:function(t){e.$set(e.vehicleData,"chargingStatus",t)},expression:"vehicleData.chargingStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"运行状态"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("operatingStatus")}},model:{value:e.vehicleData.operatingStatus,callback:function(t){e.$set(e.vehicleData,"operatingStatus",t)},expression:"vehicleData.operatingStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"SOC状态"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("socStatus")}},model:{value:e.vehicleData.socStatus,callback:function(t){e.$set(e.vehicleData,"socStatus",t)},expression:"vehicleData.socStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"可充电储能装置工作状态"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("chargingEnergyStorageStatus")}},model:{value:e.vehicleData.chargingEnergyStorageStatus,callback:function(t){e.$set(e.vehicleData,"chargingEnergyStorageStatus",t)},expression:"vehicleData.chargingEnergyStorageStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"驱动电机状态"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("driveMotorStatus")}},model:{value:e.vehicleData.driveMotorStatus,callback:function(t){e.$set(e.vehicleData,"driveMotorStatus",t)},expression:"vehicleData.driveMotorStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"定位是否有效"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("positionStatus")}},model:{value:e.vehicleData.positionStatus,callback:function(t){e.$set(e.vehicleData,"positionStatus",t)},expression:"vehicleData.positionStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1)],1)],1)]),a("el-tab-pane",{attrs:{label:"组件状态"}},[a("div",{staticClass:"vehicleDataTab",style:{height:e.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(t){return e.statusChange("easStatus")}},model:{value:e.vehicleData.easStatus,callback:function(t){e.$set(e.vehicleData,"easStatus",t)},expression:"vehicleData.easStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"PTC(电动加热器)状态"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("ptcStatus")}},model:{value:e.vehicleData.ptcStatus,callback:function(t){e.$set(e.vehicleData,"ptcStatus",t)},expression:"vehicleData.ptcStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"EPS(电动助力系统)状态"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("epsStatus")}},model:{value:e.vehicleData.epsStatus,callback:function(t){e.$set(e.vehicleData,"epsStatus",t)},expression:"vehicleData.epsStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"ABS(防抱死)状态"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("vehicleStatus")}},model:{value:e.vehicleData.absStatus,callback:function(t){e.$set(e.vehicleData,"absStatus",t)},expression:"vehicleData.absStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"MCU(电机/逆变器)状态"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("vehicleStatus")}},model:{value:e.vehicleData.mcuStatus,callback:function(t){e.$set(e.vehicleData,"mcuStatus",t)},expression:"vehicleData.mcuStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1)],1)],1)]),a("el-tab-pane",{attrs:{label:"电池状态"}},[a("div",{staticClass:"vehicleDataTab",style:{height:e.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(t){return e.statusChange("heatingStatus")}},model:{value:e.vehicleData.heatingStatus,callback:function(t){e.$set(e.vehicleData,"heatingStatus",t)},expression:"vehicleData.heatingStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池当前状态"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("batteryStatus")}},model:{value:e.vehicleData.batteryStatus,callback:function(t){e.$set(e.vehicleData,"batteryStatus",t)},expression:"vehicleData.batteryStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"动力电池保温状态"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("batteryInsulationStatus")}},model:{value:e.vehicleData.batteryInsulationStatus,callback:function(t){e.$set(e.vehicleData,"batteryInsulationStatus",t)},expression:"vehicleData.batteryInsulationStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"DCDC(电力交换系统)状态"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("dcdcStatus")}},model:{value:e.vehicleData.dcdcStatus,callback:function(t){e.$set(e.vehicleData,"dcdcStatus",t)},expression:"vehicleData.dcdcStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1),a("el-col",{attrs:{span:12}},[a("el-form-item",{attrs:{label:"CHG(充电机)状态"}},[a("el-radio-group",{on:{input:function(t){return e.statusChange("chgStatus")}},model:{value:e.vehicleData.chgStatus,callback:function(t){e.$set(e.vehicleData,"chgStatus",t)},expression:"vehicleData.chgStatus"}},[a("el-radio",{attrs:{label:1}},[e._v("正常")]),e._v(" "),a("el-radio",{attrs:{label:0}},[e._v("异常")])],1)],1)],1)],1)],1)])],1)],1)])],1)],1)],1),a("div",{staticClass:"contentMain",style:{height:e.contentHeight/2-10+"px",width:"100%","background-color":"#FFFFFF"}})]):e._e()],1)],1),a("el-drawer",{attrs:{title:"添加车辆",visible:e.addVehicleDrawer,direction:"ltr",size:"50%"},on:{"update:visible":function(t){e.addVehicleDrawer=t}}},[a("el-row",[a("el-col",{attrs:{span:22,offset:1}},[a("h3",{staticStyle:{color:"red"}},[e._v("一行一个VIN,多VIN进行换行")]),a("el-form",{ref:"form",attrs:{model:e.addForm,"label-position":"top","label-width":"80px"}},[a("el-form-item",{attrs:{label:"车辆VIN"}},[a("el-input",{attrs:{type:"textarea",rows:35},model:{value:e.addForm.vinStr,callback:function(t){e.$set(e.addForm,"vinStr",t)},expression:"addForm.vinStr"}})],1),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.vehicleCreate}},[e._v("添加车辆")]),a("el-button",[e._v("取消")])],1)],1)],1)],1)],1),a("el-dialog",{attrs:{title:"生成车辆",visible:e.genVehicleDialog,width:"30%"},on:{"update:visible":function(t){e.genVehicleDialog=t}}},[a("el-row",[a("el-col",{attrs:{offset:1,span:22}},[a("el-form",{ref:"form",attrs:{model:e.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:e.genForm.number,callback:function(t){e.$set(e.genForm,"number",t)},expression:"genForm.number"}})],1)],1)],1)],1),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.genVehicleDialog=!1}}},[e._v("取 消")]),a("el-button",{attrs:{type:"primary"},on:{click:e.vehicleGen}},[e._v("确 定")])],1)],1)],1)},i=[],n=(a("99af"),a("b775"));function s(e){return Object(n["a"])({url:"/vehicle/instance/list",method:"post",data:e})}function r(e){return Object(n["a"])({url:"/vehicle/instance/data/".concat(e),method:"GET"})}function o(e,t,a){return Object(n["a"])({url:"/vehicle/instance/status/".concat(e,"/").concat(t,"/").concat(a),method:"PUT"})}function c(e){return Object(n["a"])({url:"/vehicle/instance/client/init/".concat(e),method:"post"})}function u(e){return Object(n["a"])({url:"/vehicle/instance/client/close/".concat(e),method:"post"})}function h(e,t){return Object(n["a"])({url:"/vehicle/instance/position/check",method:"post",data:{vin:e,positionCode:t}})}function v(e,t){return Object(n["a"])({url:"/vehicle/instance/msg",method:"post",data:{vin:e,msgCode:t}})}function d(e,t){return Object(n["a"])({url:"/vehicle/instance/gear",method:"post",data:{vin:e,gear:t}})}function p(){return Object(n["a"])({url:"/vehicle/instance/unified/online",method:"post"})}function m(){return Object(n["a"])({url:"/vehicle/instance/unified/offline",method:"post"})}function g(){return Object(n["a"])({url:"/vehicle/instance/unified/send",method:"post"})}function f(){return Object(n["a"])({url:"/vehicle/instance/unified/position",method:"post"})}function b(){return Object(n["a"])({url:"/vehicle/instance/unified/stop",method:"post"})}function D(){return Object(n["a"])({url:"/vehicle/instance/unified/status",method:"GET"})}function y(){return Object(n["a"])({url:"/vehicle/position/list",method:"get"})}function S(e){return Object(n["a"])({url:"/vehicle/create",method:"post",data:e})}function k(e){return Object(n["a"])({url:"/vehicle/gen/".concat(e),method:"GET"})}function x(e){return Object(n["a"])({url:"/vehicle/".concat(e),method:"DELETE"})}var _={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},unifiedInfo:{unifiedStatus:!1,taskName:null,taskExecutionSum:null,taskStartTime:null,taskSuccessSum:null,taskErrorSum:null},unifiedInfoInterval:null,customColors:[{color:"#f56c6c",percentage:20},{color:"#e6a23c",percentage:40},{color:"#1989fa",percentage:60},{color:"#6f7ad3",percentage:80},{color:"#5cb87a",percentage:100}]}},created:function(){this.contentHeight=window.innerHeight-60,this.initInstanceList(),this.initPositionList(),this.intervalVehicleDataContinued=setInterval(this.vehicleDataContinued,1e3)},methods:{vehicleUnifiedStatus:function(){var e=this;D().then((function(t){e.unifiedInfo=t.data,e.unifiedInfo.unifiedStatus||clearInterval(e.unifiedInfoInterval)}))},vehicleUnifiedOnline:function(){var e=this;p().then((function(t){e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"}),e.unifiedInfoInterval=setInterval(e.vehicleUnifiedStatus,100)}))},vehicleUnifiedOffline:function(){var e=this;m().then((function(t){e.checkVin=null,e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},vehicleUnifiedSend:function(){var e=this;g().then((function(t){e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},vehicleUnifiedPosition:function(){var e=this;f().then((function(t){e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},vehicleUnifiedStop:function(){var e=this;b().then((function(t){e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},pageSizeChange:function(e){this.queryParams.pageSize=e,this.getInstanceList()},pageChange:function(e){this.queryParams.page=e,this.getInstanceList()},vehicleGen:function(){var e=this;k(this.genForm.number).then((function(t){e.genVehicleDialog=!1,e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},vehicleCreate:function(){var e=this;S(this.addForm).then((function(t){e.addVehicleDrawer=!1,e.$notify({title:"操作提示",message:t.msg,type:200===t.code?"success":"error"})}))},vehicleRemove:function(e){var t=this;x(e).then((function(e){t.getInstanceList(),t.$notify({title:"操作提示",message:e.msg,type:200===e.code?"success":"error"})}))},vehicleDataContinued:function(){var e=this;null!=this.checkVin&&r(this.checkVin).then((function(t){e.vehicleData=t.data}))},statusChange:function(e){var t=this;o(this.checkVin,e,this.vehicleData[e]).then((function(e){t.$notify({title:"操作提示",message:e.msg,type:200===e.code?"success":"error"})}))},checkGear:function(e){var t=this;d(e.vin,e.gear).then((function(e){t.getInstanceList(),t.$notify({title:"操作提示",message:e.msg,type:200===e.code?"success":"error"})}))},checkMsg:function(e){var t=this;v(e.vin,e.msgCode).then((function(e){t.getInstanceList(),t.$notify({title:"操作提示",message:e.msg,type:200===e.code?"success":"error"})}))},checkPositionCode:function(e){var t=this;h(e.vin,e.positionCode).then((function(e){t.getInstanceList(),t.$notify({title:"操作提示",message:e.msg,type:200===e.code?"success":"error"})}))},initPositionList:function(){var e=this;y().then((function(t){e.positionCodeList=t.data}))},initInstanceList:function(){this.getInstanceList(),this.intervalInstanceList=setInterval(this.getInstanceList,3e3)},getInstanceList:function(){var e=this;s(this.queryParams).then((function(t){e.vehiclePage=t.data}))},clientInit:function(e){var t=this;c(e).then((function(e){t.getInstanceList(),t.$notify({title:"操作提示",message:e.msg,type:200===e.code?"success":"error"})}))},clientClose:function(e){var t=this;u(e).then((function(a){t.getInstanceList(),e===t.checkVin&&(t.checkVin=null),t.$notify({title:"操作提示",message:a.msg,type:200===a.code?"success":"error"})}))}}},C=_,$=(a("0f49"),a("2877")),w=Object($["a"])(C,l,i,!1,null,"5503ff78",null);t["default"]=w.exports}}]); \ No newline at end of file diff --git a/src/test/java/com/AdminTest.java b/src/test/java/com/AdminTest.java deleted file mode 100644 index b3fb277..0000000 --- a/src/test/java/com/AdminTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com; - -import com.muyu.VehicleSimulationApplication; -import com.muyu.web.common.Result; -import com.muyu.vehicle.api.ClientAdmin; -import com.muyu.vehicle.api.req.VehicleConnectionReq; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; - -/** - * @author DongZl - * @description: - * @Date 2023-11-28 上午 10:36 - */ -@SpringBootTest(classes = VehicleSimulationApplication.class) -public class AdminTest { - - @Autowired - private ClientAdmin clientAdmin; - - @Test - public void vehicleConnTest(){ - Result result = clientAdmin.getVehicleLoadAddr( - serviceConfigProperties, VehicleConnectionReq.builder() - .vin("VIN1234567894") - .timestamp(String.valueOf(System.currentTimeMillis())) - .userName("156841600") - .nonce("134812") - .build() - ); - System.out.println(result); - } -}