+
@@ -47,22 +47,25 @@
@import '../../assets/css/variable.scss';
// 整体白色字
.topTime{
+ position: absolute;
+ right: 10px;
+ top: 20px;
color: #fff;
- font-size: .12rem;
- margin-left: .05rem;
- width: 2.2rem;
- letter-spacing: .005rem;
+ font-size: 20px;
+ width: 400px;
+ letter-spacing: 5px;
font-family: $digitalFamily;
- padding-left: .1rem;
+ padding-left: 10px;
+ font-weight: bold;
}
.topTime a{
font-weight: bolder;
font-family: $digitalFamily;
}
.topTime a{
- font-size: .155rem;
+ font-size: 20px;
}
.topTime span{
- font-size: .12rem;
+ font-size: 20px;
}
diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue
index b70a3a1..0a10b2d 100644
--- a/src/layout/Layout.vue
+++ b/src/layout/Layout.vue
@@ -68,8 +68,9 @@
}
}
.right{
- flex: 1;
+ /*flex: 1;*/
padding-left: 20px;
+ width: calc(100vw - 350px);
/*background-color: #E6A23C;*/
}
}
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index b803ab4..75d0045 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -5,14 +5,16 @@
+
@@ -60,7 +129,7 @@
display: flex;
flex-direction: column;
.title{
- margin: 10px 0px 0px 50px;
+ margin: 10px 0px 0px 30px;
color: white;
font-size: 18px;
display: flex;
@@ -81,7 +150,7 @@
.weather{
margin: 5px 0px;
width: 100%;
- height: 42%;
+ height: 62%;
}
.water{
margin: 5px 0px;
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
index 6246e33..f9a595d 100644
--- a/src/views/overview/overview.vue
+++ b/src/views/overview/overview.vue
@@ -17,6 +17,7 @@
components: {LeafletMap, ImageBlock},
data() {
return {
+ timer:'',
data:[
// {name:'1号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
// {name:'2号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
@@ -29,21 +30,27 @@
]
}
},
+ beforeDestroy() {
+ clearTimeout(this.timer);
+ },
created() {
this.initRobot()
+ this.timer = setInterval(this.initRobot, 2000);
},
mounted() {
- this.webSocket()
+ // this.webSocket()
},
methods: {
- webSocket() {
- this.$store.dispatch('initWebSocket')
- },
+ // webSocket() {
+ // this.$store.dispatch('initWebSocket')
+ // },
initRobot(){
getRobotList().then(res => {
if (res.code === 200) {
this.data = res.data.map(item => {
- return {name:item.robotId+'号',electric:item.powerE+'%',distance: item.targetDistance.toFixed(2)+'海里',lng:Number(item.lng).toFixed(6),lat:Number(item.lat).toFixed(6)}
+ let distance = '-'
+ if(item.targetDistance!=='') distance = item.targetDistance.toFixed(2)
+ return {name:item.robotId+'号',electric:item.powerE+'%',distance: distance+'海里',lng:Number(item.lng).toFixed(8),lat:Number(item.lat).toFixed(8)}
})
}
})
@@ -54,20 +61,12 @@
diff --git a/package.json b/package.json
index acd3267..b52bf53 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "newfront",
+ "name": "fc",
"version": "0.1.0",
"private": true,
"scripts": {
@@ -19,6 +19,7 @@
"js-cookie": "^3.0.0",
"jsencrypt": "^3.2.1",
"leaflet": "^1.7.1",
+ "leaflet-canvas-marker": "^0.2.0",
"leaflet-rotatedmarker": "^0.2.0",
"mockjs": "^1.1.0",
"normalize.css": "^8.0.1",
diff --git a/public/config/project.config.json b/public/config/project.config.json
index 9f14282..c476196 100644
--- a/public/config/project.config.json
+++ b/public/config/project.config.json
@@ -2,10 +2,13 @@
"title": "方舱态势显示软件",
"subtitle": "",
"theme":"blue",
+ "mapserverUrl": "http://111.198.10.15:13003/",
+ "webSocketUrl": "ws://111.198.10.15:12209/websocket/",
"baseUrl": "http://111.198.10.15:12209/",
"mainPage": "http://111.198.10.15:11404/dcms/#",
"singleSys": true,
"provinceCode":"360000",
"cityCode":"361000",
- "areaCode":"361024"
+ "areaCode":"361024",
+ "webType":"client"
}
diff --git a/src/api/robot.js b/src/api/robot.js
index acd32c2..06c72d6 100644
--- a/src/api/robot.js
+++ b/src/api/robot.js
@@ -33,6 +33,15 @@
})
}
+export function getRouteByTaskId(params) {
+ return request({
+ url: 'shelter/routeByTaskId',
+ method: 'get',
+ params: params
+ })
+}
+
+
// 机器人当前任务
export function getRobotTask(robotId) {
return request({
diff --git a/src/api/system/log.js b/src/api/system/log.js
index 58ad81d..3e73567 100644
--- a/src/api/system/log.js
+++ b/src/api/system/log.js
@@ -64,6 +64,13 @@
params
})
}
+export function logListPage(params) {
+ return request({
+ url: 'system/logListPage',
+ method: 'get',
+ params
+ })
+}
// 删除日志
export function delLoginLog() {
return request({
diff --git a/src/assets/images/green.png b/src/assets/images/green.png
index 6e16540..31c0d4e 100644
--- a/src/assets/images/green.png
+++ b/src/assets/images/green.png
Binary files differ
diff --git a/src/components/NormalTable/index.vue b/src/components/NormalTable/index.vue
index 906da04..bbc799f 100644
--- a/src/components/NormalTable/index.vue
+++ b/src/components/NormalTable/index.vue
@@ -73,7 +73,7 @@
-
+
-
+
@@ -47,22 +47,25 @@
@import '../../assets/css/variable.scss';
// 整体白色字
.topTime{
+ position: absolute;
+ right: 10px;
+ top: 20px;
color: #fff;
- font-size: .12rem;
- margin-left: .05rem;
- width: 2.2rem;
- letter-spacing: .005rem;
+ font-size: 20px;
+ width: 400px;
+ letter-spacing: 5px;
font-family: $digitalFamily;
- padding-left: .1rem;
+ padding-left: 10px;
+ font-weight: bold;
}
.topTime a{
font-weight: bolder;
font-family: $digitalFamily;
}
.topTime a{
- font-size: .155rem;
+ font-size: 20px;
}
.topTime span{
- font-size: .12rem;
+ font-size: 20px;
}
diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue
index b70a3a1..0a10b2d 100644
--- a/src/layout/Layout.vue
+++ b/src/layout/Layout.vue
@@ -68,8 +68,9 @@
}
}
.right{
- flex: 1;
+ /*flex: 1;*/
padding-left: 20px;
+ width: calc(100vw - 350px);
/*background-color: #E6A23C;*/
}
}
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index b803ab4..75d0045 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -5,14 +5,16 @@
+
@@ -60,7 +129,7 @@
display: flex;
flex-direction: column;
.title{
- margin: 10px 0px 0px 50px;
+ margin: 10px 0px 0px 30px;
color: white;
font-size: 18px;
display: flex;
@@ -81,7 +150,7 @@
.weather{
margin: 5px 0px;
width: 100%;
- height: 42%;
+ height: 62%;
}
.water{
margin: 5px 0px;
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
index 6246e33..f9a595d 100644
--- a/src/views/overview/overview.vue
+++ b/src/views/overview/overview.vue
@@ -17,6 +17,7 @@
components: {LeafletMap, ImageBlock},
data() {
return {
+ timer:'',
data:[
// {name:'1号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
// {name:'2号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
@@ -29,21 +30,27 @@
]
}
},
+ beforeDestroy() {
+ clearTimeout(this.timer);
+ },
created() {
this.initRobot()
+ this.timer = setInterval(this.initRobot, 2000);
},
mounted() {
- this.webSocket()
+ // this.webSocket()
},
methods: {
- webSocket() {
- this.$store.dispatch('initWebSocket')
- },
+ // webSocket() {
+ // this.$store.dispatch('initWebSocket')
+ // },
initRobot(){
getRobotList().then(res => {
if (res.code === 200) {
this.data = res.data.map(item => {
- return {name:item.robotId+'号',electric:item.powerE+'%',distance: item.targetDistance.toFixed(2)+'海里',lng:Number(item.lng).toFixed(6),lat:Number(item.lat).toFixed(6)}
+ let distance = '-'
+ if(item.targetDistance!=='') distance = item.targetDistance.toFixed(2)
+ return {name:item.robotId+'号',electric:item.powerE+'%',distance: distance+'海里',lng:Number(item.lng).toFixed(8),lat:Number(item.lat).toFixed(8)}
})
}
})
@@ -54,20 +61,12 @@
diff --git a/src/views/overview/position.vue b/src/views/overview/position.vue
index 9e3e813..395b5cc 100644
--- a/src/views/overview/position.vue
+++ b/src/views/overview/position.vue
@@ -1,6 +1,6 @@
-
当前位置
+
气象指标
@@ -28,6 +28,8 @@
lng:'116.876473',
lat:'39.342181'
},
+ timer: null, // 定时器
+ clock: 1, // 定时时间
data:[
{name:'温度',value:'***°C',color:'#f3232c'},
{name:'湿度',value:'***',color:'#eacb18'},
@@ -42,6 +44,12 @@
]
}
},
+ created(){
+ this.init()
+ },
+ beforeDestroy(){
+ this.stopTimer()
+ },
mounted() {
getMeteorology().then(res => {
if (res.code === 200) {
@@ -59,6 +67,26 @@
})
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ this.position.lat = res.data.lat.toFixed(8)
+ this.position.lng = res.data.lng.toFixed(8)
+ }
+ })
+ // this.openTimer()
+ },
+ openTimer(){
+ this.timer = setTimeout(() => {
+ this.init()
+ }, this.clock * 1000)
+ }, // 停止定时器
+ stopTimer(){
+ if (this.timer){
+ clearTimeout(this.timer)
+ this.timer = null
+ }
+ }
}
}
@@ -72,6 +100,7 @@
color: #00f5ff;
font-size: 17px;
margin: 10px 0px 10px 20px;
+ font-weight: bold;
}
.content{
display: flex;
diff --git a/package.json b/package.json
index acd3267..b52bf53 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "newfront",
+ "name": "fc",
"version": "0.1.0",
"private": true,
"scripts": {
@@ -19,6 +19,7 @@
"js-cookie": "^3.0.0",
"jsencrypt": "^3.2.1",
"leaflet": "^1.7.1",
+ "leaflet-canvas-marker": "^0.2.0",
"leaflet-rotatedmarker": "^0.2.0",
"mockjs": "^1.1.0",
"normalize.css": "^8.0.1",
diff --git a/public/config/project.config.json b/public/config/project.config.json
index 9f14282..c476196 100644
--- a/public/config/project.config.json
+++ b/public/config/project.config.json
@@ -2,10 +2,13 @@
"title": "方舱态势显示软件",
"subtitle": "",
"theme":"blue",
+ "mapserverUrl": "http://111.198.10.15:13003/",
+ "webSocketUrl": "ws://111.198.10.15:12209/websocket/",
"baseUrl": "http://111.198.10.15:12209/",
"mainPage": "http://111.198.10.15:11404/dcms/#",
"singleSys": true,
"provinceCode":"360000",
"cityCode":"361000",
- "areaCode":"361024"
+ "areaCode":"361024",
+ "webType":"client"
}
diff --git a/src/api/robot.js b/src/api/robot.js
index acd32c2..06c72d6 100644
--- a/src/api/robot.js
+++ b/src/api/robot.js
@@ -33,6 +33,15 @@
})
}
+export function getRouteByTaskId(params) {
+ return request({
+ url: 'shelter/routeByTaskId',
+ method: 'get',
+ params: params
+ })
+}
+
+
// 机器人当前任务
export function getRobotTask(robotId) {
return request({
diff --git a/src/api/system/log.js b/src/api/system/log.js
index 58ad81d..3e73567 100644
--- a/src/api/system/log.js
+++ b/src/api/system/log.js
@@ -64,6 +64,13 @@
params
})
}
+export function logListPage(params) {
+ return request({
+ url: 'system/logListPage',
+ method: 'get',
+ params
+ })
+}
// 删除日志
export function delLoginLog() {
return request({
diff --git a/src/assets/images/green.png b/src/assets/images/green.png
index 6e16540..31c0d4e 100644
--- a/src/assets/images/green.png
+++ b/src/assets/images/green.png
Binary files differ
diff --git a/src/components/NormalTable/index.vue b/src/components/NormalTable/index.vue
index 906da04..bbc799f 100644
--- a/src/components/NormalTable/index.vue
+++ b/src/components/NormalTable/index.vue
@@ -73,7 +73,7 @@
-
+
-
+
@@ -47,22 +47,25 @@
@import '../../assets/css/variable.scss';
// 整体白色字
.topTime{
+ position: absolute;
+ right: 10px;
+ top: 20px;
color: #fff;
- font-size: .12rem;
- margin-left: .05rem;
- width: 2.2rem;
- letter-spacing: .005rem;
+ font-size: 20px;
+ width: 400px;
+ letter-spacing: 5px;
font-family: $digitalFamily;
- padding-left: .1rem;
+ padding-left: 10px;
+ font-weight: bold;
}
.topTime a{
font-weight: bolder;
font-family: $digitalFamily;
}
.topTime a{
- font-size: .155rem;
+ font-size: 20px;
}
.topTime span{
- font-size: .12rem;
+ font-size: 20px;
}
diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue
index b70a3a1..0a10b2d 100644
--- a/src/layout/Layout.vue
+++ b/src/layout/Layout.vue
@@ -68,8 +68,9 @@
}
}
.right{
- flex: 1;
+ /*flex: 1;*/
padding-left: 20px;
+ width: calc(100vw - 350px);
/*background-color: #E6A23C;*/
}
}
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index b803ab4..75d0045 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -5,14 +5,16 @@
+
@@ -60,7 +129,7 @@
display: flex;
flex-direction: column;
.title{
- margin: 10px 0px 0px 50px;
+ margin: 10px 0px 0px 30px;
color: white;
font-size: 18px;
display: flex;
@@ -81,7 +150,7 @@
.weather{
margin: 5px 0px;
width: 100%;
- height: 42%;
+ height: 62%;
}
.water{
margin: 5px 0px;
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
index 6246e33..f9a595d 100644
--- a/src/views/overview/overview.vue
+++ b/src/views/overview/overview.vue
@@ -17,6 +17,7 @@
components: {LeafletMap, ImageBlock},
data() {
return {
+ timer:'',
data:[
// {name:'1号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
// {name:'2号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
@@ -29,21 +30,27 @@
]
}
},
+ beforeDestroy() {
+ clearTimeout(this.timer);
+ },
created() {
this.initRobot()
+ this.timer = setInterval(this.initRobot, 2000);
},
mounted() {
- this.webSocket()
+ // this.webSocket()
},
methods: {
- webSocket() {
- this.$store.dispatch('initWebSocket')
- },
+ // webSocket() {
+ // this.$store.dispatch('initWebSocket')
+ // },
initRobot(){
getRobotList().then(res => {
if (res.code === 200) {
this.data = res.data.map(item => {
- return {name:item.robotId+'号',electric:item.powerE+'%',distance: item.targetDistance.toFixed(2)+'海里',lng:Number(item.lng).toFixed(6),lat:Number(item.lat).toFixed(6)}
+ let distance = '-'
+ if(item.targetDistance!=='') distance = item.targetDistance.toFixed(2)
+ return {name:item.robotId+'号',electric:item.powerE+'%',distance: distance+'海里',lng:Number(item.lng).toFixed(8),lat:Number(item.lat).toFixed(8)}
})
}
})
@@ -54,20 +61,12 @@
diff --git a/src/views/overview/position.vue b/src/views/overview/position.vue
index 9e3e813..395b5cc 100644
--- a/src/views/overview/position.vue
+++ b/src/views/overview/position.vue
@@ -1,6 +1,6 @@
-
当前位置
+
气象指标
@@ -28,6 +28,8 @@
lng:'116.876473',
lat:'39.342181'
},
+ timer: null, // 定时器
+ clock: 1, // 定时时间
data:[
{name:'温度',value:'***°C',color:'#f3232c'},
{name:'湿度',value:'***',color:'#eacb18'},
@@ -42,6 +44,12 @@
]
}
},
+ created(){
+ this.init()
+ },
+ beforeDestroy(){
+ this.stopTimer()
+ },
mounted() {
getMeteorology().then(res => {
if (res.code === 200) {
@@ -59,6 +67,26 @@
})
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ this.position.lat = res.data.lat.toFixed(8)
+ this.position.lng = res.data.lng.toFixed(8)
+ }
+ })
+ // this.openTimer()
+ },
+ openTimer(){
+ this.timer = setTimeout(() => {
+ this.init()
+ }, this.clock * 1000)
+ }, // 停止定时器
+ stopTimer(){
+ if (this.timer){
+ clearTimeout(this.timer)
+ this.timer = null
+ }
+ }
}
}
@@ -72,6 +100,7 @@
color: #00f5ff;
font-size: 17px;
margin: 10px 0px 10px 20px;
+ font-weight: bold;
}
.content{
display: flex;
diff --git a/src/views/overview/right.vue b/src/views/overview/right.vue
index a8fdf0a..709683d 100644
--- a/src/views/overview/right.vue
+++ b/src/views/overview/right.vue
@@ -33,7 +33,8 @@
name: '天通卫星通信',
value: 'kb/s'
},
- timer:''
+ timer:'',
+ type: this.baseConfig.webType
}
},
mounted() {
@@ -48,6 +49,19 @@
getSatelliteSignal().then(res => {
if (res.code === 200) {
this.data.value = res.data.signalValue + 'kb/s'
+ if(this.type === 'client'){
+ if(Number(res.data.signalValue)<3){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }else if(this.type === 'service'){
+ if(Number(res.data.signalValue)<10){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }
}
})
},
diff --git a/package.json b/package.json
index acd3267..b52bf53 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "newfront",
+ "name": "fc",
"version": "0.1.0",
"private": true,
"scripts": {
@@ -19,6 +19,7 @@
"js-cookie": "^3.0.0",
"jsencrypt": "^3.2.1",
"leaflet": "^1.7.1",
+ "leaflet-canvas-marker": "^0.2.0",
"leaflet-rotatedmarker": "^0.2.0",
"mockjs": "^1.1.0",
"normalize.css": "^8.0.1",
diff --git a/public/config/project.config.json b/public/config/project.config.json
index 9f14282..c476196 100644
--- a/public/config/project.config.json
+++ b/public/config/project.config.json
@@ -2,10 +2,13 @@
"title": "方舱态势显示软件",
"subtitle": "",
"theme":"blue",
+ "mapserverUrl": "http://111.198.10.15:13003/",
+ "webSocketUrl": "ws://111.198.10.15:12209/websocket/",
"baseUrl": "http://111.198.10.15:12209/",
"mainPage": "http://111.198.10.15:11404/dcms/#",
"singleSys": true,
"provinceCode":"360000",
"cityCode":"361000",
- "areaCode":"361024"
+ "areaCode":"361024",
+ "webType":"client"
}
diff --git a/src/api/robot.js b/src/api/robot.js
index acd32c2..06c72d6 100644
--- a/src/api/robot.js
+++ b/src/api/robot.js
@@ -33,6 +33,15 @@
})
}
+export function getRouteByTaskId(params) {
+ return request({
+ url: 'shelter/routeByTaskId',
+ method: 'get',
+ params: params
+ })
+}
+
+
// 机器人当前任务
export function getRobotTask(robotId) {
return request({
diff --git a/src/api/system/log.js b/src/api/system/log.js
index 58ad81d..3e73567 100644
--- a/src/api/system/log.js
+++ b/src/api/system/log.js
@@ -64,6 +64,13 @@
params
})
}
+export function logListPage(params) {
+ return request({
+ url: 'system/logListPage',
+ method: 'get',
+ params
+ })
+}
// 删除日志
export function delLoginLog() {
return request({
diff --git a/src/assets/images/green.png b/src/assets/images/green.png
index 6e16540..31c0d4e 100644
--- a/src/assets/images/green.png
+++ b/src/assets/images/green.png
Binary files differ
diff --git a/src/components/NormalTable/index.vue b/src/components/NormalTable/index.vue
index 906da04..bbc799f 100644
--- a/src/components/NormalTable/index.vue
+++ b/src/components/NormalTable/index.vue
@@ -73,7 +73,7 @@
-
+
-
+
@@ -47,22 +47,25 @@
@import '../../assets/css/variable.scss';
// 整体白色字
.topTime{
+ position: absolute;
+ right: 10px;
+ top: 20px;
color: #fff;
- font-size: .12rem;
- margin-left: .05rem;
- width: 2.2rem;
- letter-spacing: .005rem;
+ font-size: 20px;
+ width: 400px;
+ letter-spacing: 5px;
font-family: $digitalFamily;
- padding-left: .1rem;
+ padding-left: 10px;
+ font-weight: bold;
}
.topTime a{
font-weight: bolder;
font-family: $digitalFamily;
}
.topTime a{
- font-size: .155rem;
+ font-size: 20px;
}
.topTime span{
- font-size: .12rem;
+ font-size: 20px;
}
diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue
index b70a3a1..0a10b2d 100644
--- a/src/layout/Layout.vue
+++ b/src/layout/Layout.vue
@@ -68,8 +68,9 @@
}
}
.right{
- flex: 1;
+ /*flex: 1;*/
padding-left: 20px;
+ width: calc(100vw - 350px);
/*background-color: #E6A23C;*/
}
}
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index b803ab4..75d0045 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -5,14 +5,16 @@
+
@@ -60,7 +129,7 @@
display: flex;
flex-direction: column;
.title{
- margin: 10px 0px 0px 50px;
+ margin: 10px 0px 0px 30px;
color: white;
font-size: 18px;
display: flex;
@@ -81,7 +150,7 @@
.weather{
margin: 5px 0px;
width: 100%;
- height: 42%;
+ height: 62%;
}
.water{
margin: 5px 0px;
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
index 6246e33..f9a595d 100644
--- a/src/views/overview/overview.vue
+++ b/src/views/overview/overview.vue
@@ -17,6 +17,7 @@
components: {LeafletMap, ImageBlock},
data() {
return {
+ timer:'',
data:[
// {name:'1号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
// {name:'2号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
@@ -29,21 +30,27 @@
]
}
},
+ beforeDestroy() {
+ clearTimeout(this.timer);
+ },
created() {
this.initRobot()
+ this.timer = setInterval(this.initRobot, 2000);
},
mounted() {
- this.webSocket()
+ // this.webSocket()
},
methods: {
- webSocket() {
- this.$store.dispatch('initWebSocket')
- },
+ // webSocket() {
+ // this.$store.dispatch('initWebSocket')
+ // },
initRobot(){
getRobotList().then(res => {
if (res.code === 200) {
this.data = res.data.map(item => {
- return {name:item.robotId+'号',electric:item.powerE+'%',distance: item.targetDistance.toFixed(2)+'海里',lng:Number(item.lng).toFixed(6),lat:Number(item.lat).toFixed(6)}
+ let distance = '-'
+ if(item.targetDistance!=='') distance = item.targetDistance.toFixed(2)
+ return {name:item.robotId+'号',electric:item.powerE+'%',distance: distance+'海里',lng:Number(item.lng).toFixed(8),lat:Number(item.lat).toFixed(8)}
})
}
})
@@ -54,20 +61,12 @@
diff --git a/src/views/overview/position.vue b/src/views/overview/position.vue
index 9e3e813..395b5cc 100644
--- a/src/views/overview/position.vue
+++ b/src/views/overview/position.vue
@@ -1,6 +1,6 @@
-
当前位置
+
气象指标
@@ -28,6 +28,8 @@
lng:'116.876473',
lat:'39.342181'
},
+ timer: null, // 定时器
+ clock: 1, // 定时时间
data:[
{name:'温度',value:'***°C',color:'#f3232c'},
{name:'湿度',value:'***',color:'#eacb18'},
@@ -42,6 +44,12 @@
]
}
},
+ created(){
+ this.init()
+ },
+ beforeDestroy(){
+ this.stopTimer()
+ },
mounted() {
getMeteorology().then(res => {
if (res.code === 200) {
@@ -59,6 +67,26 @@
})
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ this.position.lat = res.data.lat.toFixed(8)
+ this.position.lng = res.data.lng.toFixed(8)
+ }
+ })
+ // this.openTimer()
+ },
+ openTimer(){
+ this.timer = setTimeout(() => {
+ this.init()
+ }, this.clock * 1000)
+ }, // 停止定时器
+ stopTimer(){
+ if (this.timer){
+ clearTimeout(this.timer)
+ this.timer = null
+ }
+ }
}
}
@@ -72,6 +100,7 @@
color: #00f5ff;
font-size: 17px;
margin: 10px 0px 10px 20px;
+ font-weight: bold;
}
.content{
display: flex;
diff --git a/src/views/overview/right.vue b/src/views/overview/right.vue
index a8fdf0a..709683d 100644
--- a/src/views/overview/right.vue
+++ b/src/views/overview/right.vue
@@ -33,7 +33,8 @@
name: '天通卫星通信',
value: 'kb/s'
},
- timer:''
+ timer:'',
+ type: this.baseConfig.webType
}
},
mounted() {
@@ -48,6 +49,19 @@
getSatelliteSignal().then(res => {
if (res.code === 200) {
this.data.value = res.data.signalValue + 'kb/s'
+ if(this.type === 'client'){
+ if(Number(res.data.signalValue)<3){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }else if(this.type === 'service'){
+ if(Number(res.data.signalValue)<10){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }
}
})
},
diff --git a/src/views/overview/water.vue b/src/views/overview/water.vue
index b0a4e70..896ac83 100644
--- a/src/views/overview/water.vue
+++ b/src/views/overview/water.vue
@@ -29,28 +29,31 @@
}
},
mounted() {
- getShelterPosition().then(res => {
- if (res.code === 200) {
- let params = {
- lng: res.data.lng,
- lat: res.data.lat,
- date: dateToString(new Date(), 'y-m-d'),
- days: 0,
- hour: new Date().getHours()
- }
- getTyphoonOcean(params).then(res => {
- if (res.code === 200) {
- // this.data[0].value = res.data.
- this.data[0].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
- // this.data[3].value = res.data.
- this.data[1].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + '米\n' +
- '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + '米'
- }
- })
- }
- })
+ this.init()
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ let params = {
+ lng: res.data.lng,
+ lat: res.data.lat,
+ date: dateToString(new Date(), 'y-m-d'),
+ days: 0,
+ hour: new Date().getHours()
+ }
+ getTyphoonOcean(params).then(res => {
+ if (res.code === 200) {
+ // this.data[0].value = res.data.
+ // this.data[3].value = res.data.
+ this.data[0].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
+ this.data[1].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + 'm\n' +
+ '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + 'm'
+ }
+ })
+ }
+ })
+ }
}
}
diff --git a/package.json b/package.json
index acd3267..b52bf53 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "newfront",
+ "name": "fc",
"version": "0.1.0",
"private": true,
"scripts": {
@@ -19,6 +19,7 @@
"js-cookie": "^3.0.0",
"jsencrypt": "^3.2.1",
"leaflet": "^1.7.1",
+ "leaflet-canvas-marker": "^0.2.0",
"leaflet-rotatedmarker": "^0.2.0",
"mockjs": "^1.1.0",
"normalize.css": "^8.0.1",
diff --git a/public/config/project.config.json b/public/config/project.config.json
index 9f14282..c476196 100644
--- a/public/config/project.config.json
+++ b/public/config/project.config.json
@@ -2,10 +2,13 @@
"title": "方舱态势显示软件",
"subtitle": "",
"theme":"blue",
+ "mapserverUrl": "http://111.198.10.15:13003/",
+ "webSocketUrl": "ws://111.198.10.15:12209/websocket/",
"baseUrl": "http://111.198.10.15:12209/",
"mainPage": "http://111.198.10.15:11404/dcms/#",
"singleSys": true,
"provinceCode":"360000",
"cityCode":"361000",
- "areaCode":"361024"
+ "areaCode":"361024",
+ "webType":"client"
}
diff --git a/src/api/robot.js b/src/api/robot.js
index acd32c2..06c72d6 100644
--- a/src/api/robot.js
+++ b/src/api/robot.js
@@ -33,6 +33,15 @@
})
}
+export function getRouteByTaskId(params) {
+ return request({
+ url: 'shelter/routeByTaskId',
+ method: 'get',
+ params: params
+ })
+}
+
+
// 机器人当前任务
export function getRobotTask(robotId) {
return request({
diff --git a/src/api/system/log.js b/src/api/system/log.js
index 58ad81d..3e73567 100644
--- a/src/api/system/log.js
+++ b/src/api/system/log.js
@@ -64,6 +64,13 @@
params
})
}
+export function logListPage(params) {
+ return request({
+ url: 'system/logListPage',
+ method: 'get',
+ params
+ })
+}
// 删除日志
export function delLoginLog() {
return request({
diff --git a/src/assets/images/green.png b/src/assets/images/green.png
index 6e16540..31c0d4e 100644
--- a/src/assets/images/green.png
+++ b/src/assets/images/green.png
Binary files differ
diff --git a/src/components/NormalTable/index.vue b/src/components/NormalTable/index.vue
index 906da04..bbc799f 100644
--- a/src/components/NormalTable/index.vue
+++ b/src/components/NormalTable/index.vue
@@ -73,7 +73,7 @@
-
+
-
+
@@ -47,22 +47,25 @@
@import '../../assets/css/variable.scss';
// 整体白色字
.topTime{
+ position: absolute;
+ right: 10px;
+ top: 20px;
color: #fff;
- font-size: .12rem;
- margin-left: .05rem;
- width: 2.2rem;
- letter-spacing: .005rem;
+ font-size: 20px;
+ width: 400px;
+ letter-spacing: 5px;
font-family: $digitalFamily;
- padding-left: .1rem;
+ padding-left: 10px;
+ font-weight: bold;
}
.topTime a{
font-weight: bolder;
font-family: $digitalFamily;
}
.topTime a{
- font-size: .155rem;
+ font-size: 20px;
}
.topTime span{
- font-size: .12rem;
+ font-size: 20px;
}
diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue
index b70a3a1..0a10b2d 100644
--- a/src/layout/Layout.vue
+++ b/src/layout/Layout.vue
@@ -68,8 +68,9 @@
}
}
.right{
- flex: 1;
+ /*flex: 1;*/
padding-left: 20px;
+ width: calc(100vw - 350px);
/*background-color: #E6A23C;*/
}
}
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index b803ab4..75d0045 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -5,14 +5,16 @@
+
@@ -60,7 +129,7 @@
display: flex;
flex-direction: column;
.title{
- margin: 10px 0px 0px 50px;
+ margin: 10px 0px 0px 30px;
color: white;
font-size: 18px;
display: flex;
@@ -81,7 +150,7 @@
.weather{
margin: 5px 0px;
width: 100%;
- height: 42%;
+ height: 62%;
}
.water{
margin: 5px 0px;
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
index 6246e33..f9a595d 100644
--- a/src/views/overview/overview.vue
+++ b/src/views/overview/overview.vue
@@ -17,6 +17,7 @@
components: {LeafletMap, ImageBlock},
data() {
return {
+ timer:'',
data:[
// {name:'1号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
// {name:'2号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
@@ -29,21 +30,27 @@
]
}
},
+ beforeDestroy() {
+ clearTimeout(this.timer);
+ },
created() {
this.initRobot()
+ this.timer = setInterval(this.initRobot, 2000);
},
mounted() {
- this.webSocket()
+ // this.webSocket()
},
methods: {
- webSocket() {
- this.$store.dispatch('initWebSocket')
- },
+ // webSocket() {
+ // this.$store.dispatch('initWebSocket')
+ // },
initRobot(){
getRobotList().then(res => {
if (res.code === 200) {
this.data = res.data.map(item => {
- return {name:item.robotId+'号',electric:item.powerE+'%',distance: item.targetDistance.toFixed(2)+'海里',lng:Number(item.lng).toFixed(6),lat:Number(item.lat).toFixed(6)}
+ let distance = '-'
+ if(item.targetDistance!=='') distance = item.targetDistance.toFixed(2)
+ return {name:item.robotId+'号',electric:item.powerE+'%',distance: distance+'海里',lng:Number(item.lng).toFixed(8),lat:Number(item.lat).toFixed(8)}
})
}
})
@@ -54,20 +61,12 @@
diff --git a/src/views/overview/position.vue b/src/views/overview/position.vue
index 9e3e813..395b5cc 100644
--- a/src/views/overview/position.vue
+++ b/src/views/overview/position.vue
@@ -1,6 +1,6 @@
-
当前位置
+
气象指标
@@ -28,6 +28,8 @@
lng:'116.876473',
lat:'39.342181'
},
+ timer: null, // 定时器
+ clock: 1, // 定时时间
data:[
{name:'温度',value:'***°C',color:'#f3232c'},
{name:'湿度',value:'***',color:'#eacb18'},
@@ -42,6 +44,12 @@
]
}
},
+ created(){
+ this.init()
+ },
+ beforeDestroy(){
+ this.stopTimer()
+ },
mounted() {
getMeteorology().then(res => {
if (res.code === 200) {
@@ -59,6 +67,26 @@
})
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ this.position.lat = res.data.lat.toFixed(8)
+ this.position.lng = res.data.lng.toFixed(8)
+ }
+ })
+ // this.openTimer()
+ },
+ openTimer(){
+ this.timer = setTimeout(() => {
+ this.init()
+ }, this.clock * 1000)
+ }, // 停止定时器
+ stopTimer(){
+ if (this.timer){
+ clearTimeout(this.timer)
+ this.timer = null
+ }
+ }
}
}
@@ -72,6 +100,7 @@
color: #00f5ff;
font-size: 17px;
margin: 10px 0px 10px 20px;
+ font-weight: bold;
}
.content{
display: flex;
diff --git a/src/views/overview/right.vue b/src/views/overview/right.vue
index a8fdf0a..709683d 100644
--- a/src/views/overview/right.vue
+++ b/src/views/overview/right.vue
@@ -33,7 +33,8 @@
name: '天通卫星通信',
value: 'kb/s'
},
- timer:''
+ timer:'',
+ type: this.baseConfig.webType
}
},
mounted() {
@@ -48,6 +49,19 @@
getSatelliteSignal().then(res => {
if (res.code === 200) {
this.data.value = res.data.signalValue + 'kb/s'
+ if(this.type === 'client'){
+ if(Number(res.data.signalValue)<3){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }else if(this.type === 'service'){
+ if(Number(res.data.signalValue)<10){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }
}
})
},
diff --git a/src/views/overview/water.vue b/src/views/overview/water.vue
index b0a4e70..896ac83 100644
--- a/src/views/overview/water.vue
+++ b/src/views/overview/water.vue
@@ -29,28 +29,31 @@
}
},
mounted() {
- getShelterPosition().then(res => {
- if (res.code === 200) {
- let params = {
- lng: res.data.lng,
- lat: res.data.lat,
- date: dateToString(new Date(), 'y-m-d'),
- days: 0,
- hour: new Date().getHours()
- }
- getTyphoonOcean(params).then(res => {
- if (res.code === 200) {
- // this.data[0].value = res.data.
- this.data[0].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
- // this.data[3].value = res.data.
- this.data[1].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + '米\n' +
- '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + '米'
- }
- })
- }
- })
+ this.init()
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ let params = {
+ lng: res.data.lng,
+ lat: res.data.lat,
+ date: dateToString(new Date(), 'y-m-d'),
+ days: 0,
+ hour: new Date().getHours()
+ }
+ getTyphoonOcean(params).then(res => {
+ if (res.code === 200) {
+ // this.data[0].value = res.data.
+ // this.data[3].value = res.data.
+ this.data[0].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
+ this.data[1].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + 'm\n' +
+ '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + 'm'
+ }
+ })
+ }
+ })
+ }
}
}
diff --git a/src/views/overview/weather.vue b/src/views/overview/weather.vue
index 32d5416..759380a 100644
--- a/src/views/overview/weather.vue
+++ b/src/views/overview/weather.vue
@@ -1,9 +1,15 @@
@@ -19,51 +25,62 @@
data() {
return {
data:[
- {name:'风速风向',value:'***°',color:'#00f5ff'},
- {name:'海温',value:'',color:'#50C55C'},
- {name:'气压',value:'',color:'#50C55C'},
- {name:'海拔',value:'',color:'#50C55C'},
- {name:'风浪方向/高度',value:'',color:'#00f5ff'},
+ {name:'风速风向',value:'***°',color:'#50C55C'},
+ {name:'海温',value:'',color:'#00f5ff'},
+ {name:'气压',value:'',color:'#00f5ff'},
+ {name:'海拔',value:'',color:'#00f5ff'},
+ {name:'风浪方向/高度',value:'',color:'#50C55C'},
{name:'涌浪方向/高度',value:'',color:'#00f5ff'},
- {name:'台风预报',value:'********************************************',color:'#50C55C'},
+ {name:'流向/流速',value:'***',color:'#00f5ff'},
+ {name:'波浪预报',value:'*****************************************',color:'#00f5ff'},
+ ],
+ data1:[
+ {name:'台风预报',value:'********************************************',color:'#50C55C'}
]
}
},
mounted() {
- getShelterPosition().then(res => {
- if (res.code === 200) {
- let params = {
- lng: res.data.lng,
- lat: res.data.lat,
- date: dateToString(new Date(), 'y-m-d'),
- days: 0,
- hour: new Date().getHours()
- }
- getTyphoonOcean(params).then(res => {
- if (res.code === 200) {
- this.data[0].value = res.data.windSpeed + 'm/s '+res.data.windDir + '°'
- this.data[1].value = res.data.temperature + '℃ '
- this.data[2].value = res.data.pressure + 'hPa '
- this.data[3].value = res.data.altitude + '米 '
- this.data[4].value = res.data.waveDir + '° '+ res.data.waveHeight + '米 '
- this.data[5].value = res.data.swellDir + '° '+ res.data.swellHeight + '米 '
- }
- })
- }
- })
- getTyphoonList().then(res => {
- if (res.code === 200) {
- if(res.data.length===0) {this.data[6].value = '暂无台风'}
- else {
- this.data[6].value = ''
- for(let i=0;i {
+ if (res.code === 200) {
+ let params = {
+ lng: res.data.lng,
+ lat: res.data.lat,
+ date: dateToString(new Date(), 'y-m-d'),
+ days: 0,
+ hour: new Date().getHours()
+ }
+ getTyphoonOcean(params).then(res => {
+ if (res.code === 200) {
+ this.data[0].value = res.data.windSpeed + 'm/s '+res.data.windDir + '°'
+ this.data[1].value = res.data.temperature + '℃ '
+ this.data[2].value = res.data.pressure + 'hPa '
+ this.data[3].value = res.data.altitude + 'm '
+ this.data[4].value = res.data.waveDir + '° '+ res.data.waveHeight + 'm '
+ this.data[5].value = res.data.swellDir + '° '+ res.data.swellHeight + 'm '
+ this.data[6].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
+ this.data[7].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + 'm\n' +
+ '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + 'm'
+
+ }
+ })
+ }
+ })
+ getTyphoonList().then(res => {
+ if (res.code === 200) {
+ if(res.data.length===0) {this.data1[0].value = '暂无台风'}
+ else {
+ this.data1[0].value = ''
+ for(let i=0;i
@@ -77,6 +94,7 @@
font-size: 17px;
color: #00f5ff;
margin: 10px 0px 10px 20px;
+ font-weight: bold;
}
.content{
padding: 0px 20px;
@@ -85,7 +103,7 @@
flex: 1;
.block{
width: 100%;
- height: 30px;
+ height: 38px;
}
}
}
diff --git a/package.json b/package.json
index acd3267..b52bf53 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "newfront",
+ "name": "fc",
"version": "0.1.0",
"private": true,
"scripts": {
@@ -19,6 +19,7 @@
"js-cookie": "^3.0.0",
"jsencrypt": "^3.2.1",
"leaflet": "^1.7.1",
+ "leaflet-canvas-marker": "^0.2.0",
"leaflet-rotatedmarker": "^0.2.0",
"mockjs": "^1.1.0",
"normalize.css": "^8.0.1",
diff --git a/public/config/project.config.json b/public/config/project.config.json
index 9f14282..c476196 100644
--- a/public/config/project.config.json
+++ b/public/config/project.config.json
@@ -2,10 +2,13 @@
"title": "方舱态势显示软件",
"subtitle": "",
"theme":"blue",
+ "mapserverUrl": "http://111.198.10.15:13003/",
+ "webSocketUrl": "ws://111.198.10.15:12209/websocket/",
"baseUrl": "http://111.198.10.15:12209/",
"mainPage": "http://111.198.10.15:11404/dcms/#",
"singleSys": true,
"provinceCode":"360000",
"cityCode":"361000",
- "areaCode":"361024"
+ "areaCode":"361024",
+ "webType":"client"
}
diff --git a/src/api/robot.js b/src/api/robot.js
index acd32c2..06c72d6 100644
--- a/src/api/robot.js
+++ b/src/api/robot.js
@@ -33,6 +33,15 @@
})
}
+export function getRouteByTaskId(params) {
+ return request({
+ url: 'shelter/routeByTaskId',
+ method: 'get',
+ params: params
+ })
+}
+
+
// 机器人当前任务
export function getRobotTask(robotId) {
return request({
diff --git a/src/api/system/log.js b/src/api/system/log.js
index 58ad81d..3e73567 100644
--- a/src/api/system/log.js
+++ b/src/api/system/log.js
@@ -64,6 +64,13 @@
params
})
}
+export function logListPage(params) {
+ return request({
+ url: 'system/logListPage',
+ method: 'get',
+ params
+ })
+}
// 删除日志
export function delLoginLog() {
return request({
diff --git a/src/assets/images/green.png b/src/assets/images/green.png
index 6e16540..31c0d4e 100644
--- a/src/assets/images/green.png
+++ b/src/assets/images/green.png
Binary files differ
diff --git a/src/components/NormalTable/index.vue b/src/components/NormalTable/index.vue
index 906da04..bbc799f 100644
--- a/src/components/NormalTable/index.vue
+++ b/src/components/NormalTable/index.vue
@@ -73,7 +73,7 @@
-
+
-
+
@@ -47,22 +47,25 @@
@import '../../assets/css/variable.scss';
// 整体白色字
.topTime{
+ position: absolute;
+ right: 10px;
+ top: 20px;
color: #fff;
- font-size: .12rem;
- margin-left: .05rem;
- width: 2.2rem;
- letter-spacing: .005rem;
+ font-size: 20px;
+ width: 400px;
+ letter-spacing: 5px;
font-family: $digitalFamily;
- padding-left: .1rem;
+ padding-left: 10px;
+ font-weight: bold;
}
.topTime a{
font-weight: bolder;
font-family: $digitalFamily;
}
.topTime a{
- font-size: .155rem;
+ font-size: 20px;
}
.topTime span{
- font-size: .12rem;
+ font-size: 20px;
}
diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue
index b70a3a1..0a10b2d 100644
--- a/src/layout/Layout.vue
+++ b/src/layout/Layout.vue
@@ -68,8 +68,9 @@
}
}
.right{
- flex: 1;
+ /*flex: 1;*/
padding-left: 20px;
+ width: calc(100vw - 350px);
/*background-color: #E6A23C;*/
}
}
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index b803ab4..75d0045 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -5,14 +5,16 @@
+
@@ -60,7 +129,7 @@
display: flex;
flex-direction: column;
.title{
- margin: 10px 0px 0px 50px;
+ margin: 10px 0px 0px 30px;
color: white;
font-size: 18px;
display: flex;
@@ -81,7 +150,7 @@
.weather{
margin: 5px 0px;
width: 100%;
- height: 42%;
+ height: 62%;
}
.water{
margin: 5px 0px;
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
index 6246e33..f9a595d 100644
--- a/src/views/overview/overview.vue
+++ b/src/views/overview/overview.vue
@@ -17,6 +17,7 @@
components: {LeafletMap, ImageBlock},
data() {
return {
+ timer:'',
data:[
// {name:'1号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
// {name:'2号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
@@ -29,21 +30,27 @@
]
}
},
+ beforeDestroy() {
+ clearTimeout(this.timer);
+ },
created() {
this.initRobot()
+ this.timer = setInterval(this.initRobot, 2000);
},
mounted() {
- this.webSocket()
+ // this.webSocket()
},
methods: {
- webSocket() {
- this.$store.dispatch('initWebSocket')
- },
+ // webSocket() {
+ // this.$store.dispatch('initWebSocket')
+ // },
initRobot(){
getRobotList().then(res => {
if (res.code === 200) {
this.data = res.data.map(item => {
- return {name:item.robotId+'号',electric:item.powerE+'%',distance: item.targetDistance.toFixed(2)+'海里',lng:Number(item.lng).toFixed(6),lat:Number(item.lat).toFixed(6)}
+ let distance = '-'
+ if(item.targetDistance!=='') distance = item.targetDistance.toFixed(2)
+ return {name:item.robotId+'号',electric:item.powerE+'%',distance: distance+'海里',lng:Number(item.lng).toFixed(8),lat:Number(item.lat).toFixed(8)}
})
}
})
@@ -54,20 +61,12 @@
diff --git a/src/views/overview/position.vue b/src/views/overview/position.vue
index 9e3e813..395b5cc 100644
--- a/src/views/overview/position.vue
+++ b/src/views/overview/position.vue
@@ -1,6 +1,6 @@
-
当前位置
+
气象指标
@@ -28,6 +28,8 @@
lng:'116.876473',
lat:'39.342181'
},
+ timer: null, // 定时器
+ clock: 1, // 定时时间
data:[
{name:'温度',value:'***°C',color:'#f3232c'},
{name:'湿度',value:'***',color:'#eacb18'},
@@ -42,6 +44,12 @@
]
}
},
+ created(){
+ this.init()
+ },
+ beforeDestroy(){
+ this.stopTimer()
+ },
mounted() {
getMeteorology().then(res => {
if (res.code === 200) {
@@ -59,6 +67,26 @@
})
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ this.position.lat = res.data.lat.toFixed(8)
+ this.position.lng = res.data.lng.toFixed(8)
+ }
+ })
+ // this.openTimer()
+ },
+ openTimer(){
+ this.timer = setTimeout(() => {
+ this.init()
+ }, this.clock * 1000)
+ }, // 停止定时器
+ stopTimer(){
+ if (this.timer){
+ clearTimeout(this.timer)
+ this.timer = null
+ }
+ }
}
}
@@ -72,6 +100,7 @@
color: #00f5ff;
font-size: 17px;
margin: 10px 0px 10px 20px;
+ font-weight: bold;
}
.content{
display: flex;
diff --git a/src/views/overview/right.vue b/src/views/overview/right.vue
index a8fdf0a..709683d 100644
--- a/src/views/overview/right.vue
+++ b/src/views/overview/right.vue
@@ -33,7 +33,8 @@
name: '天通卫星通信',
value: 'kb/s'
},
- timer:''
+ timer:'',
+ type: this.baseConfig.webType
}
},
mounted() {
@@ -48,6 +49,19 @@
getSatelliteSignal().then(res => {
if (res.code === 200) {
this.data.value = res.data.signalValue + 'kb/s'
+ if(this.type === 'client'){
+ if(Number(res.data.signalValue)<3){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }else if(this.type === 'service'){
+ if(Number(res.data.signalValue)<10){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }
}
})
},
diff --git a/src/views/overview/water.vue b/src/views/overview/water.vue
index b0a4e70..896ac83 100644
--- a/src/views/overview/water.vue
+++ b/src/views/overview/water.vue
@@ -29,28 +29,31 @@
}
},
mounted() {
- getShelterPosition().then(res => {
- if (res.code === 200) {
- let params = {
- lng: res.data.lng,
- lat: res.data.lat,
- date: dateToString(new Date(), 'y-m-d'),
- days: 0,
- hour: new Date().getHours()
- }
- getTyphoonOcean(params).then(res => {
- if (res.code === 200) {
- // this.data[0].value = res.data.
- this.data[0].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
- // this.data[3].value = res.data.
- this.data[1].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + '米\n' +
- '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + '米'
- }
- })
- }
- })
+ this.init()
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ let params = {
+ lng: res.data.lng,
+ lat: res.data.lat,
+ date: dateToString(new Date(), 'y-m-d'),
+ days: 0,
+ hour: new Date().getHours()
+ }
+ getTyphoonOcean(params).then(res => {
+ if (res.code === 200) {
+ // this.data[0].value = res.data.
+ // this.data[3].value = res.data.
+ this.data[0].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
+ this.data[1].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + 'm\n' +
+ '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + 'm'
+ }
+ })
+ }
+ })
+ }
}
}
diff --git a/src/views/overview/weather.vue b/src/views/overview/weather.vue
index 32d5416..759380a 100644
--- a/src/views/overview/weather.vue
+++ b/src/views/overview/weather.vue
@@ -1,9 +1,15 @@
@@ -19,51 +25,62 @@
data() {
return {
data:[
- {name:'风速风向',value:'***°',color:'#00f5ff'},
- {name:'海温',value:'',color:'#50C55C'},
- {name:'气压',value:'',color:'#50C55C'},
- {name:'海拔',value:'',color:'#50C55C'},
- {name:'风浪方向/高度',value:'',color:'#00f5ff'},
+ {name:'风速风向',value:'***°',color:'#50C55C'},
+ {name:'海温',value:'',color:'#00f5ff'},
+ {name:'气压',value:'',color:'#00f5ff'},
+ {name:'海拔',value:'',color:'#00f5ff'},
+ {name:'风浪方向/高度',value:'',color:'#50C55C'},
{name:'涌浪方向/高度',value:'',color:'#00f5ff'},
- {name:'台风预报',value:'********************************************',color:'#50C55C'},
+ {name:'流向/流速',value:'***',color:'#00f5ff'},
+ {name:'波浪预报',value:'*****************************************',color:'#00f5ff'},
+ ],
+ data1:[
+ {name:'台风预报',value:'********************************************',color:'#50C55C'}
]
}
},
mounted() {
- getShelterPosition().then(res => {
- if (res.code === 200) {
- let params = {
- lng: res.data.lng,
- lat: res.data.lat,
- date: dateToString(new Date(), 'y-m-d'),
- days: 0,
- hour: new Date().getHours()
- }
- getTyphoonOcean(params).then(res => {
- if (res.code === 200) {
- this.data[0].value = res.data.windSpeed + 'm/s '+res.data.windDir + '°'
- this.data[1].value = res.data.temperature + '℃ '
- this.data[2].value = res.data.pressure + 'hPa '
- this.data[3].value = res.data.altitude + '米 '
- this.data[4].value = res.data.waveDir + '° '+ res.data.waveHeight + '米 '
- this.data[5].value = res.data.swellDir + '° '+ res.data.swellHeight + '米 '
- }
- })
- }
- })
- getTyphoonList().then(res => {
- if (res.code === 200) {
- if(res.data.length===0) {this.data[6].value = '暂无台风'}
- else {
- this.data[6].value = ''
- for(let i=0;i {
+ if (res.code === 200) {
+ let params = {
+ lng: res.data.lng,
+ lat: res.data.lat,
+ date: dateToString(new Date(), 'y-m-d'),
+ days: 0,
+ hour: new Date().getHours()
+ }
+ getTyphoonOcean(params).then(res => {
+ if (res.code === 200) {
+ this.data[0].value = res.data.windSpeed + 'm/s '+res.data.windDir + '°'
+ this.data[1].value = res.data.temperature + '℃ '
+ this.data[2].value = res.data.pressure + 'hPa '
+ this.data[3].value = res.data.altitude + 'm '
+ this.data[4].value = res.data.waveDir + '° '+ res.data.waveHeight + 'm '
+ this.data[5].value = res.data.swellDir + '° '+ res.data.swellHeight + 'm '
+ this.data[6].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
+ this.data[7].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + 'm\n' +
+ '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + 'm'
+
+ }
+ })
+ }
+ })
+ getTyphoonList().then(res => {
+ if (res.code === 200) {
+ if(res.data.length===0) {this.data1[0].value = '暂无台风'}
+ else {
+ this.data1[0].value = ''
+ for(let i=0;i
@@ -77,6 +94,7 @@
font-size: 17px;
color: #00f5ff;
margin: 10px 0px 10px 20px;
+ font-weight: bold;
}
.content{
padding: 0px 20px;
@@ -85,7 +103,7 @@
flex: 1;
.block{
width: 100%;
- height: 30px;
+ height: 38px;
}
}
}
diff --git a/src/views/setting/alarm.vue b/src/views/setting/alarm.vue
index f387186..6340c8e 100644
--- a/src/views/setting/alarm.vue
+++ b/src/views/setting/alarm.vue
@@ -1,10 +1,10 @@
-
+
气象水文
-
+
小于
海里
@@ -12,7 +12,7 @@
-
+
大于
m/s
@@ -23,8 +23,8 @@
AIS&电子海图
-
-
+
+
小于
海里
@@ -34,7 +34,7 @@
水下机器人
-
+
小于
%
@@ -42,7 +42,7 @@
-
+
大于
海里
@@ -53,8 +53,8 @@
通信信号
-
-
+
+
小于
kb/s
@@ -77,8 +77,23 @@
name: 'Alarm',
components: {},
data() {
+ const validatePoint = (rule, value, callback) => {
+ if ((/^(([1-9][0-9]*|0)\.([0-9]{1,100})$)|^([1-9][0-9]*|0)$/).test(value) === false) {
+ callback(new Error('请输入正数'))
+ } else {
+ callback()
+ }
+ }
return {
list: [],
+ rules: {
+ satelliteSignal:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ typhoonDistance:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ typhoonSpeed:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ shipDistance:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ robotBattery :[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ robotDistance:[{validator: validatePoint, trigger: ['blur', 'change'] }]
+ },
form: {
typhoonDistance:'',
typhoonSpeed:'',
@@ -106,6 +121,9 @@
},
init(){
console.log('获取当前值')
+ this.$nextTick(() => {
+ this.$refs['dataForm'].clearValidate()
+ })
alarmRecentValue().then(res => {
if (res.code === 200) {
this.form = res.data
diff --git a/package.json b/package.json
index acd3267..b52bf53 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "newfront",
+ "name": "fc",
"version": "0.1.0",
"private": true,
"scripts": {
@@ -19,6 +19,7 @@
"js-cookie": "^3.0.0",
"jsencrypt": "^3.2.1",
"leaflet": "^1.7.1",
+ "leaflet-canvas-marker": "^0.2.0",
"leaflet-rotatedmarker": "^0.2.0",
"mockjs": "^1.1.0",
"normalize.css": "^8.0.1",
diff --git a/public/config/project.config.json b/public/config/project.config.json
index 9f14282..c476196 100644
--- a/public/config/project.config.json
+++ b/public/config/project.config.json
@@ -2,10 +2,13 @@
"title": "方舱态势显示软件",
"subtitle": "",
"theme":"blue",
+ "mapserverUrl": "http://111.198.10.15:13003/",
+ "webSocketUrl": "ws://111.198.10.15:12209/websocket/",
"baseUrl": "http://111.198.10.15:12209/",
"mainPage": "http://111.198.10.15:11404/dcms/#",
"singleSys": true,
"provinceCode":"360000",
"cityCode":"361000",
- "areaCode":"361024"
+ "areaCode":"361024",
+ "webType":"client"
}
diff --git a/src/api/robot.js b/src/api/robot.js
index acd32c2..06c72d6 100644
--- a/src/api/robot.js
+++ b/src/api/robot.js
@@ -33,6 +33,15 @@
})
}
+export function getRouteByTaskId(params) {
+ return request({
+ url: 'shelter/routeByTaskId',
+ method: 'get',
+ params: params
+ })
+}
+
+
// 机器人当前任务
export function getRobotTask(robotId) {
return request({
diff --git a/src/api/system/log.js b/src/api/system/log.js
index 58ad81d..3e73567 100644
--- a/src/api/system/log.js
+++ b/src/api/system/log.js
@@ -64,6 +64,13 @@
params
})
}
+export function logListPage(params) {
+ return request({
+ url: 'system/logListPage',
+ method: 'get',
+ params
+ })
+}
// 删除日志
export function delLoginLog() {
return request({
diff --git a/src/assets/images/green.png b/src/assets/images/green.png
index 6e16540..31c0d4e 100644
--- a/src/assets/images/green.png
+++ b/src/assets/images/green.png
Binary files differ
diff --git a/src/components/NormalTable/index.vue b/src/components/NormalTable/index.vue
index 906da04..bbc799f 100644
--- a/src/components/NormalTable/index.vue
+++ b/src/components/NormalTable/index.vue
@@ -73,7 +73,7 @@
-
+
-
+
@@ -47,22 +47,25 @@
@import '../../assets/css/variable.scss';
// 整体白色字
.topTime{
+ position: absolute;
+ right: 10px;
+ top: 20px;
color: #fff;
- font-size: .12rem;
- margin-left: .05rem;
- width: 2.2rem;
- letter-spacing: .005rem;
+ font-size: 20px;
+ width: 400px;
+ letter-spacing: 5px;
font-family: $digitalFamily;
- padding-left: .1rem;
+ padding-left: 10px;
+ font-weight: bold;
}
.topTime a{
font-weight: bolder;
font-family: $digitalFamily;
}
.topTime a{
- font-size: .155rem;
+ font-size: 20px;
}
.topTime span{
- font-size: .12rem;
+ font-size: 20px;
}
diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue
index b70a3a1..0a10b2d 100644
--- a/src/layout/Layout.vue
+++ b/src/layout/Layout.vue
@@ -68,8 +68,9 @@
}
}
.right{
- flex: 1;
+ /*flex: 1;*/
padding-left: 20px;
+ width: calc(100vw - 350px);
/*background-color: #E6A23C;*/
}
}
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index b803ab4..75d0045 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -5,14 +5,16 @@
+
@@ -60,7 +129,7 @@
display: flex;
flex-direction: column;
.title{
- margin: 10px 0px 0px 50px;
+ margin: 10px 0px 0px 30px;
color: white;
font-size: 18px;
display: flex;
@@ -81,7 +150,7 @@
.weather{
margin: 5px 0px;
width: 100%;
- height: 42%;
+ height: 62%;
}
.water{
margin: 5px 0px;
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
index 6246e33..f9a595d 100644
--- a/src/views/overview/overview.vue
+++ b/src/views/overview/overview.vue
@@ -17,6 +17,7 @@
components: {LeafletMap, ImageBlock},
data() {
return {
+ timer:'',
data:[
// {name:'1号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
// {name:'2号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
@@ -29,21 +30,27 @@
]
}
},
+ beforeDestroy() {
+ clearTimeout(this.timer);
+ },
created() {
this.initRobot()
+ this.timer = setInterval(this.initRobot, 2000);
},
mounted() {
- this.webSocket()
+ // this.webSocket()
},
methods: {
- webSocket() {
- this.$store.dispatch('initWebSocket')
- },
+ // webSocket() {
+ // this.$store.dispatch('initWebSocket')
+ // },
initRobot(){
getRobotList().then(res => {
if (res.code === 200) {
this.data = res.data.map(item => {
- return {name:item.robotId+'号',electric:item.powerE+'%',distance: item.targetDistance.toFixed(2)+'海里',lng:Number(item.lng).toFixed(6),lat:Number(item.lat).toFixed(6)}
+ let distance = '-'
+ if(item.targetDistance!=='') distance = item.targetDistance.toFixed(2)
+ return {name:item.robotId+'号',electric:item.powerE+'%',distance: distance+'海里',lng:Number(item.lng).toFixed(8),lat:Number(item.lat).toFixed(8)}
})
}
})
@@ -54,20 +61,12 @@
diff --git a/src/views/overview/position.vue b/src/views/overview/position.vue
index 9e3e813..395b5cc 100644
--- a/src/views/overview/position.vue
+++ b/src/views/overview/position.vue
@@ -1,6 +1,6 @@
-
当前位置
+
气象指标
@@ -28,6 +28,8 @@
lng:'116.876473',
lat:'39.342181'
},
+ timer: null, // 定时器
+ clock: 1, // 定时时间
data:[
{name:'温度',value:'***°C',color:'#f3232c'},
{name:'湿度',value:'***',color:'#eacb18'},
@@ -42,6 +44,12 @@
]
}
},
+ created(){
+ this.init()
+ },
+ beforeDestroy(){
+ this.stopTimer()
+ },
mounted() {
getMeteorology().then(res => {
if (res.code === 200) {
@@ -59,6 +67,26 @@
})
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ this.position.lat = res.data.lat.toFixed(8)
+ this.position.lng = res.data.lng.toFixed(8)
+ }
+ })
+ // this.openTimer()
+ },
+ openTimer(){
+ this.timer = setTimeout(() => {
+ this.init()
+ }, this.clock * 1000)
+ }, // 停止定时器
+ stopTimer(){
+ if (this.timer){
+ clearTimeout(this.timer)
+ this.timer = null
+ }
+ }
}
}
@@ -72,6 +100,7 @@
color: #00f5ff;
font-size: 17px;
margin: 10px 0px 10px 20px;
+ font-weight: bold;
}
.content{
display: flex;
diff --git a/src/views/overview/right.vue b/src/views/overview/right.vue
index a8fdf0a..709683d 100644
--- a/src/views/overview/right.vue
+++ b/src/views/overview/right.vue
@@ -33,7 +33,8 @@
name: '天通卫星通信',
value: 'kb/s'
},
- timer:''
+ timer:'',
+ type: this.baseConfig.webType
}
},
mounted() {
@@ -48,6 +49,19 @@
getSatelliteSignal().then(res => {
if (res.code === 200) {
this.data.value = res.data.signalValue + 'kb/s'
+ if(this.type === 'client'){
+ if(Number(res.data.signalValue)<3){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }else if(this.type === 'service'){
+ if(Number(res.data.signalValue)<10){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }
}
})
},
diff --git a/src/views/overview/water.vue b/src/views/overview/water.vue
index b0a4e70..896ac83 100644
--- a/src/views/overview/water.vue
+++ b/src/views/overview/water.vue
@@ -29,28 +29,31 @@
}
},
mounted() {
- getShelterPosition().then(res => {
- if (res.code === 200) {
- let params = {
- lng: res.data.lng,
- lat: res.data.lat,
- date: dateToString(new Date(), 'y-m-d'),
- days: 0,
- hour: new Date().getHours()
- }
- getTyphoonOcean(params).then(res => {
- if (res.code === 200) {
- // this.data[0].value = res.data.
- this.data[0].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
- // this.data[3].value = res.data.
- this.data[1].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + '米\n' +
- '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + '米'
- }
- })
- }
- })
+ this.init()
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ let params = {
+ lng: res.data.lng,
+ lat: res.data.lat,
+ date: dateToString(new Date(), 'y-m-d'),
+ days: 0,
+ hour: new Date().getHours()
+ }
+ getTyphoonOcean(params).then(res => {
+ if (res.code === 200) {
+ // this.data[0].value = res.data.
+ // this.data[3].value = res.data.
+ this.data[0].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
+ this.data[1].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + 'm\n' +
+ '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + 'm'
+ }
+ })
+ }
+ })
+ }
}
}
diff --git a/src/views/overview/weather.vue b/src/views/overview/weather.vue
index 32d5416..759380a 100644
--- a/src/views/overview/weather.vue
+++ b/src/views/overview/weather.vue
@@ -1,9 +1,15 @@
@@ -19,51 +25,62 @@
data() {
return {
data:[
- {name:'风速风向',value:'***°',color:'#00f5ff'},
- {name:'海温',value:'',color:'#50C55C'},
- {name:'气压',value:'',color:'#50C55C'},
- {name:'海拔',value:'',color:'#50C55C'},
- {name:'风浪方向/高度',value:'',color:'#00f5ff'},
+ {name:'风速风向',value:'***°',color:'#50C55C'},
+ {name:'海温',value:'',color:'#00f5ff'},
+ {name:'气压',value:'',color:'#00f5ff'},
+ {name:'海拔',value:'',color:'#00f5ff'},
+ {name:'风浪方向/高度',value:'',color:'#50C55C'},
{name:'涌浪方向/高度',value:'',color:'#00f5ff'},
- {name:'台风预报',value:'********************************************',color:'#50C55C'},
+ {name:'流向/流速',value:'***',color:'#00f5ff'},
+ {name:'波浪预报',value:'*****************************************',color:'#00f5ff'},
+ ],
+ data1:[
+ {name:'台风预报',value:'********************************************',color:'#50C55C'}
]
}
},
mounted() {
- getShelterPosition().then(res => {
- if (res.code === 200) {
- let params = {
- lng: res.data.lng,
- lat: res.data.lat,
- date: dateToString(new Date(), 'y-m-d'),
- days: 0,
- hour: new Date().getHours()
- }
- getTyphoonOcean(params).then(res => {
- if (res.code === 200) {
- this.data[0].value = res.data.windSpeed + 'm/s '+res.data.windDir + '°'
- this.data[1].value = res.data.temperature + '℃ '
- this.data[2].value = res.data.pressure + 'hPa '
- this.data[3].value = res.data.altitude + '米 '
- this.data[4].value = res.data.waveDir + '° '+ res.data.waveHeight + '米 '
- this.data[5].value = res.data.swellDir + '° '+ res.data.swellHeight + '米 '
- }
- })
- }
- })
- getTyphoonList().then(res => {
- if (res.code === 200) {
- if(res.data.length===0) {this.data[6].value = '暂无台风'}
- else {
- this.data[6].value = ''
- for(let i=0;i {
+ if (res.code === 200) {
+ let params = {
+ lng: res.data.lng,
+ lat: res.data.lat,
+ date: dateToString(new Date(), 'y-m-d'),
+ days: 0,
+ hour: new Date().getHours()
+ }
+ getTyphoonOcean(params).then(res => {
+ if (res.code === 200) {
+ this.data[0].value = res.data.windSpeed + 'm/s '+res.data.windDir + '°'
+ this.data[1].value = res.data.temperature + '℃ '
+ this.data[2].value = res.data.pressure + 'hPa '
+ this.data[3].value = res.data.altitude + 'm '
+ this.data[4].value = res.data.waveDir + '° '+ res.data.waveHeight + 'm '
+ this.data[5].value = res.data.swellDir + '° '+ res.data.swellHeight + 'm '
+ this.data[6].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
+ this.data[7].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + 'm\n' +
+ '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + 'm'
+
+ }
+ })
+ }
+ })
+ getTyphoonList().then(res => {
+ if (res.code === 200) {
+ if(res.data.length===0) {this.data1[0].value = '暂无台风'}
+ else {
+ this.data1[0].value = ''
+ for(let i=0;i
@@ -77,6 +94,7 @@
font-size: 17px;
color: #00f5ff;
margin: 10px 0px 10px 20px;
+ font-weight: bold;
}
.content{
padding: 0px 20px;
@@ -85,7 +103,7 @@
flex: 1;
.block{
width: 100%;
- height: 30px;
+ height: 38px;
}
}
}
diff --git a/src/views/setting/alarm.vue b/src/views/setting/alarm.vue
index f387186..6340c8e 100644
--- a/src/views/setting/alarm.vue
+++ b/src/views/setting/alarm.vue
@@ -1,10 +1,10 @@
-
+
气象水文
-
+
小于
海里
@@ -12,7 +12,7 @@
-
+
大于
m/s
@@ -23,8 +23,8 @@
AIS&电子海图
-
-
+
+
小于
海里
@@ -34,7 +34,7 @@
水下机器人
-
+
小于
%
@@ -42,7 +42,7 @@
-
+
大于
海里
@@ -53,8 +53,8 @@
通信信号
-
-
+
+
小于
kb/s
@@ -77,8 +77,23 @@
name: 'Alarm',
components: {},
data() {
+ const validatePoint = (rule, value, callback) => {
+ if ((/^(([1-9][0-9]*|0)\.([0-9]{1,100})$)|^([1-9][0-9]*|0)$/).test(value) === false) {
+ callback(new Error('请输入正数'))
+ } else {
+ callback()
+ }
+ }
return {
list: [],
+ rules: {
+ satelliteSignal:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ typhoonDistance:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ typhoonSpeed:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ shipDistance:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ robotBattery :[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ robotDistance:[{validator: validatePoint, trigger: ['blur', 'change'] }]
+ },
form: {
typhoonDistance:'',
typhoonSpeed:'',
@@ -106,6 +121,9 @@
},
init(){
console.log('获取当前值')
+ this.$nextTick(() => {
+ this.$refs['dataForm'].clearValidate()
+ })
alarmRecentValue().then(res => {
if (res.code === 200) {
this.form = res.data
diff --git a/src/views/setting/log.vue b/src/views/setting/log.vue
index 94da006..33e0dc8 100644
--- a/src/views/setting/log.vue
+++ b/src/views/setting/log.vue
@@ -1,9 +1,11 @@
- 水下机器人交互日志
- 岸基控制交互日志
- 系统操作日志
+ 水下机器人发送
+ 水下机器人接收
+ 岸基控制发送
+ 岸基控制接收
+
@@ -12,40 +14,37 @@
@@ -60,7 +129,7 @@
display: flex;
flex-direction: column;
.title{
- margin: 10px 0px 0px 50px;
+ margin: 10px 0px 0px 30px;
color: white;
font-size: 18px;
display: flex;
@@ -81,7 +150,7 @@
.weather{
margin: 5px 0px;
width: 100%;
- height: 42%;
+ height: 62%;
}
.water{
margin: 5px 0px;
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
index 6246e33..f9a595d 100644
--- a/src/views/overview/overview.vue
+++ b/src/views/overview/overview.vue
@@ -17,6 +17,7 @@
components: {LeafletMap, ImageBlock},
data() {
return {
+ timer:'',
data:[
// {name:'1号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
// {name:'2号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
@@ -29,21 +30,27 @@
]
}
},
+ beforeDestroy() {
+ clearTimeout(this.timer);
+ },
created() {
this.initRobot()
+ this.timer = setInterval(this.initRobot, 2000);
},
mounted() {
- this.webSocket()
+ // this.webSocket()
},
methods: {
- webSocket() {
- this.$store.dispatch('initWebSocket')
- },
+ // webSocket() {
+ // this.$store.dispatch('initWebSocket')
+ // },
initRobot(){
getRobotList().then(res => {
if (res.code === 200) {
this.data = res.data.map(item => {
- return {name:item.robotId+'号',electric:item.powerE+'%',distance: item.targetDistance.toFixed(2)+'海里',lng:Number(item.lng).toFixed(6),lat:Number(item.lat).toFixed(6)}
+ let distance = '-'
+ if(item.targetDistance!=='') distance = item.targetDistance.toFixed(2)
+ return {name:item.robotId+'号',electric:item.powerE+'%',distance: distance+'海里',lng:Number(item.lng).toFixed(8),lat:Number(item.lat).toFixed(8)}
})
}
})
@@ -54,20 +61,12 @@
diff --git a/src/views/overview/position.vue b/src/views/overview/position.vue
index 9e3e813..395b5cc 100644
--- a/src/views/overview/position.vue
+++ b/src/views/overview/position.vue
@@ -1,6 +1,6 @@
-
当前位置
+
气象指标
@@ -28,6 +28,8 @@
lng:'116.876473',
lat:'39.342181'
},
+ timer: null, // 定时器
+ clock: 1, // 定时时间
data:[
{name:'温度',value:'***°C',color:'#f3232c'},
{name:'湿度',value:'***',color:'#eacb18'},
@@ -42,6 +44,12 @@
]
}
},
+ created(){
+ this.init()
+ },
+ beforeDestroy(){
+ this.stopTimer()
+ },
mounted() {
getMeteorology().then(res => {
if (res.code === 200) {
@@ -59,6 +67,26 @@
})
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ this.position.lat = res.data.lat.toFixed(8)
+ this.position.lng = res.data.lng.toFixed(8)
+ }
+ })
+ // this.openTimer()
+ },
+ openTimer(){
+ this.timer = setTimeout(() => {
+ this.init()
+ }, this.clock * 1000)
+ }, // 停止定时器
+ stopTimer(){
+ if (this.timer){
+ clearTimeout(this.timer)
+ this.timer = null
+ }
+ }
}
}
@@ -72,6 +100,7 @@
color: #00f5ff;
font-size: 17px;
margin: 10px 0px 10px 20px;
+ font-weight: bold;
}
.content{
display: flex;
diff --git a/src/views/overview/right.vue b/src/views/overview/right.vue
index a8fdf0a..709683d 100644
--- a/src/views/overview/right.vue
+++ b/src/views/overview/right.vue
@@ -33,7 +33,8 @@
name: '天通卫星通信',
value: 'kb/s'
},
- timer:''
+ timer:'',
+ type: this.baseConfig.webType
}
},
mounted() {
@@ -48,6 +49,19 @@
getSatelliteSignal().then(res => {
if (res.code === 200) {
this.data.value = res.data.signalValue + 'kb/s'
+ if(this.type === 'client'){
+ if(Number(res.data.signalValue)<3){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }else if(this.type === 'service'){
+ if(Number(res.data.signalValue)<10){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }
}
})
},
diff --git a/src/views/overview/water.vue b/src/views/overview/water.vue
index b0a4e70..896ac83 100644
--- a/src/views/overview/water.vue
+++ b/src/views/overview/water.vue
@@ -29,28 +29,31 @@
}
},
mounted() {
- getShelterPosition().then(res => {
- if (res.code === 200) {
- let params = {
- lng: res.data.lng,
- lat: res.data.lat,
- date: dateToString(new Date(), 'y-m-d'),
- days: 0,
- hour: new Date().getHours()
- }
- getTyphoonOcean(params).then(res => {
- if (res.code === 200) {
- // this.data[0].value = res.data.
- this.data[0].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
- // this.data[3].value = res.data.
- this.data[1].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + '米\n' +
- '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + '米'
- }
- })
- }
- })
+ this.init()
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ let params = {
+ lng: res.data.lng,
+ lat: res.data.lat,
+ date: dateToString(new Date(), 'y-m-d'),
+ days: 0,
+ hour: new Date().getHours()
+ }
+ getTyphoonOcean(params).then(res => {
+ if (res.code === 200) {
+ // this.data[0].value = res.data.
+ // this.data[3].value = res.data.
+ this.data[0].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
+ this.data[1].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + 'm\n' +
+ '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + 'm'
+ }
+ })
+ }
+ })
+ }
}
}
diff --git a/src/views/overview/weather.vue b/src/views/overview/weather.vue
index 32d5416..759380a 100644
--- a/src/views/overview/weather.vue
+++ b/src/views/overview/weather.vue
@@ -1,9 +1,15 @@
@@ -19,51 +25,62 @@
data() {
return {
data:[
- {name:'风速风向',value:'***°',color:'#00f5ff'},
- {name:'海温',value:'',color:'#50C55C'},
- {name:'气压',value:'',color:'#50C55C'},
- {name:'海拔',value:'',color:'#50C55C'},
- {name:'风浪方向/高度',value:'',color:'#00f5ff'},
+ {name:'风速风向',value:'***°',color:'#50C55C'},
+ {name:'海温',value:'',color:'#00f5ff'},
+ {name:'气压',value:'',color:'#00f5ff'},
+ {name:'海拔',value:'',color:'#00f5ff'},
+ {name:'风浪方向/高度',value:'',color:'#50C55C'},
{name:'涌浪方向/高度',value:'',color:'#00f5ff'},
- {name:'台风预报',value:'********************************************',color:'#50C55C'},
+ {name:'流向/流速',value:'***',color:'#00f5ff'},
+ {name:'波浪预报',value:'*****************************************',color:'#00f5ff'},
+ ],
+ data1:[
+ {name:'台风预报',value:'********************************************',color:'#50C55C'}
]
}
},
mounted() {
- getShelterPosition().then(res => {
- if (res.code === 200) {
- let params = {
- lng: res.data.lng,
- lat: res.data.lat,
- date: dateToString(new Date(), 'y-m-d'),
- days: 0,
- hour: new Date().getHours()
- }
- getTyphoonOcean(params).then(res => {
- if (res.code === 200) {
- this.data[0].value = res.data.windSpeed + 'm/s '+res.data.windDir + '°'
- this.data[1].value = res.data.temperature + '℃ '
- this.data[2].value = res.data.pressure + 'hPa '
- this.data[3].value = res.data.altitude + '米 '
- this.data[4].value = res.data.waveDir + '° '+ res.data.waveHeight + '米 '
- this.data[5].value = res.data.swellDir + '° '+ res.data.swellHeight + '米 '
- }
- })
- }
- })
- getTyphoonList().then(res => {
- if (res.code === 200) {
- if(res.data.length===0) {this.data[6].value = '暂无台风'}
- else {
- this.data[6].value = ''
- for(let i=0;i {
+ if (res.code === 200) {
+ let params = {
+ lng: res.data.lng,
+ lat: res.data.lat,
+ date: dateToString(new Date(), 'y-m-d'),
+ days: 0,
+ hour: new Date().getHours()
+ }
+ getTyphoonOcean(params).then(res => {
+ if (res.code === 200) {
+ this.data[0].value = res.data.windSpeed + 'm/s '+res.data.windDir + '°'
+ this.data[1].value = res.data.temperature + '℃ '
+ this.data[2].value = res.data.pressure + 'hPa '
+ this.data[3].value = res.data.altitude + 'm '
+ this.data[4].value = res.data.waveDir + '° '+ res.data.waveHeight + 'm '
+ this.data[5].value = res.data.swellDir + '° '+ res.data.swellHeight + 'm '
+ this.data[6].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
+ this.data[7].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + 'm\n' +
+ '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + 'm'
+
+ }
+ })
+ }
+ })
+ getTyphoonList().then(res => {
+ if (res.code === 200) {
+ if(res.data.length===0) {this.data1[0].value = '暂无台风'}
+ else {
+ this.data1[0].value = ''
+ for(let i=0;i
@@ -77,6 +94,7 @@
font-size: 17px;
color: #00f5ff;
margin: 10px 0px 10px 20px;
+ font-weight: bold;
}
.content{
padding: 0px 20px;
@@ -85,7 +103,7 @@
flex: 1;
.block{
width: 100%;
- height: 30px;
+ height: 38px;
}
}
}
diff --git a/src/views/setting/alarm.vue b/src/views/setting/alarm.vue
index f387186..6340c8e 100644
--- a/src/views/setting/alarm.vue
+++ b/src/views/setting/alarm.vue
@@ -1,10 +1,10 @@
-
+
气象水文
-
+
小于
海里
@@ -12,7 +12,7 @@
-
+
大于
m/s
@@ -23,8 +23,8 @@
AIS&电子海图
-
-
+
+
小于
海里
@@ -34,7 +34,7 @@
水下机器人
-
+
小于
%
@@ -42,7 +42,7 @@
-
+
大于
海里
@@ -53,8 +53,8 @@
通信信号
-
-
+
+
小于
kb/s
@@ -77,8 +77,23 @@
name: 'Alarm',
components: {},
data() {
+ const validatePoint = (rule, value, callback) => {
+ if ((/^(([1-9][0-9]*|0)\.([0-9]{1,100})$)|^([1-9][0-9]*|0)$/).test(value) === false) {
+ callback(new Error('请输入正数'))
+ } else {
+ callback()
+ }
+ }
return {
list: [],
+ rules: {
+ satelliteSignal:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ typhoonDistance:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ typhoonSpeed:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ shipDistance:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ robotBattery :[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ robotDistance:[{validator: validatePoint, trigger: ['blur', 'change'] }]
+ },
form: {
typhoonDistance:'',
typhoonSpeed:'',
@@ -106,6 +121,9 @@
},
init(){
console.log('获取当前值')
+ this.$nextTick(() => {
+ this.$refs['dataForm'].clearValidate()
+ })
alarmRecentValue().then(res => {
if (res.code === 200) {
this.form = res.data
diff --git a/src/views/setting/log.vue b/src/views/setting/log.vue
index 94da006..33e0dc8 100644
--- a/src/views/setting/log.vue
+++ b/src/views/setting/log.vue
@@ -1,9 +1,11 @@
- 水下机器人交互日志
- 岸基控制交互日志
- 系统操作日志
+ 水下机器人发送
+ 水下机器人接收
+ 岸基控制发送
+ 岸基控制接收
+
@@ -12,40 +14,37 @@
@@ -60,7 +129,7 @@
display: flex;
flex-direction: column;
.title{
- margin: 10px 0px 0px 50px;
+ margin: 10px 0px 0px 30px;
color: white;
font-size: 18px;
display: flex;
@@ -81,7 +150,7 @@
.weather{
margin: 5px 0px;
width: 100%;
- height: 42%;
+ height: 62%;
}
.water{
margin: 5px 0px;
diff --git a/src/views/overview/overview.vue b/src/views/overview/overview.vue
index 6246e33..f9a595d 100644
--- a/src/views/overview/overview.vue
+++ b/src/views/overview/overview.vue
@@ -17,6 +17,7 @@
components: {LeafletMap, ImageBlock},
data() {
return {
+ timer:'',
data:[
// {name:'1号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
// {name:'2号',electric:'36%',distance: '20海里',lng:'116.876473',lat:'39.342181'},
@@ -29,21 +30,27 @@
]
}
},
+ beforeDestroy() {
+ clearTimeout(this.timer);
+ },
created() {
this.initRobot()
+ this.timer = setInterval(this.initRobot, 2000);
},
mounted() {
- this.webSocket()
+ // this.webSocket()
},
methods: {
- webSocket() {
- this.$store.dispatch('initWebSocket')
- },
+ // webSocket() {
+ // this.$store.dispatch('initWebSocket')
+ // },
initRobot(){
getRobotList().then(res => {
if (res.code === 200) {
this.data = res.data.map(item => {
- return {name:item.robotId+'号',electric:item.powerE+'%',distance: item.targetDistance.toFixed(2)+'海里',lng:Number(item.lng).toFixed(6),lat:Number(item.lat).toFixed(6)}
+ let distance = '-'
+ if(item.targetDistance!=='') distance = item.targetDistance.toFixed(2)
+ return {name:item.robotId+'号',electric:item.powerE+'%',distance: distance+'海里',lng:Number(item.lng).toFixed(8),lat:Number(item.lat).toFixed(8)}
})
}
})
@@ -54,20 +61,12 @@
diff --git a/src/views/overview/position.vue b/src/views/overview/position.vue
index 9e3e813..395b5cc 100644
--- a/src/views/overview/position.vue
+++ b/src/views/overview/position.vue
@@ -1,6 +1,6 @@
-
当前位置
+
气象指标
@@ -28,6 +28,8 @@
lng:'116.876473',
lat:'39.342181'
},
+ timer: null, // 定时器
+ clock: 1, // 定时时间
data:[
{name:'温度',value:'***°C',color:'#f3232c'},
{name:'湿度',value:'***',color:'#eacb18'},
@@ -42,6 +44,12 @@
]
}
},
+ created(){
+ this.init()
+ },
+ beforeDestroy(){
+ this.stopTimer()
+ },
mounted() {
getMeteorology().then(res => {
if (res.code === 200) {
@@ -59,6 +67,26 @@
})
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ this.position.lat = res.data.lat.toFixed(8)
+ this.position.lng = res.data.lng.toFixed(8)
+ }
+ })
+ // this.openTimer()
+ },
+ openTimer(){
+ this.timer = setTimeout(() => {
+ this.init()
+ }, this.clock * 1000)
+ }, // 停止定时器
+ stopTimer(){
+ if (this.timer){
+ clearTimeout(this.timer)
+ this.timer = null
+ }
+ }
}
}
@@ -72,6 +100,7 @@
color: #00f5ff;
font-size: 17px;
margin: 10px 0px 10px 20px;
+ font-weight: bold;
}
.content{
display: flex;
diff --git a/src/views/overview/right.vue b/src/views/overview/right.vue
index a8fdf0a..709683d 100644
--- a/src/views/overview/right.vue
+++ b/src/views/overview/right.vue
@@ -33,7 +33,8 @@
name: '天通卫星通信',
value: 'kb/s'
},
- timer:''
+ timer:'',
+ type: this.baseConfig.webType
}
},
mounted() {
@@ -48,6 +49,19 @@
getSatelliteSignal().then(res => {
if (res.code === 200) {
this.data.value = res.data.signalValue + 'kb/s'
+ if(this.type === 'client'){
+ if(Number(res.data.signalValue)<3){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }else if(this.type === 'service'){
+ if(Number(res.data.signalValue)<10){
+ this.img = require('@/assets/images/red.png')
+ }else{
+ this.img = require('@/assets/images/green.png')
+ }
+ }
}
})
},
diff --git a/src/views/overview/water.vue b/src/views/overview/water.vue
index b0a4e70..896ac83 100644
--- a/src/views/overview/water.vue
+++ b/src/views/overview/water.vue
@@ -29,28 +29,31 @@
}
},
mounted() {
- getShelterPosition().then(res => {
- if (res.code === 200) {
- let params = {
- lng: res.data.lng,
- lat: res.data.lat,
- date: dateToString(new Date(), 'y-m-d'),
- days: 0,
- hour: new Date().getHours()
- }
- getTyphoonOcean(params).then(res => {
- if (res.code === 200) {
- // this.data[0].value = res.data.
- this.data[0].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
- // this.data[3].value = res.data.
- this.data[1].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + '米\n' +
- '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + '米'
- }
- })
- }
- })
+ this.init()
},
methods: {
+ init(){
+ getShelterPosition().then(res => {
+ if (res.code === 200) {
+ let params = {
+ lng: res.data.lng,
+ lat: res.data.lat,
+ date: dateToString(new Date(), 'y-m-d'),
+ days: 0,
+ hour: new Date().getHours()
+ }
+ getTyphoonOcean(params).then(res => {
+ if (res.code === 200) {
+ // this.data[0].value = res.data.
+ // this.data[3].value = res.data.
+ this.data[0].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
+ this.data[1].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + 'm\n' +
+ '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + 'm'
+ }
+ })
+ }
+ })
+ }
}
}
diff --git a/src/views/overview/weather.vue b/src/views/overview/weather.vue
index 32d5416..759380a 100644
--- a/src/views/overview/weather.vue
+++ b/src/views/overview/weather.vue
@@ -1,9 +1,15 @@
@@ -19,51 +25,62 @@
data() {
return {
data:[
- {name:'风速风向',value:'***°',color:'#00f5ff'},
- {name:'海温',value:'',color:'#50C55C'},
- {name:'气压',value:'',color:'#50C55C'},
- {name:'海拔',value:'',color:'#50C55C'},
- {name:'风浪方向/高度',value:'',color:'#00f5ff'},
+ {name:'风速风向',value:'***°',color:'#50C55C'},
+ {name:'海温',value:'',color:'#00f5ff'},
+ {name:'气压',value:'',color:'#00f5ff'},
+ {name:'海拔',value:'',color:'#00f5ff'},
+ {name:'风浪方向/高度',value:'',color:'#50C55C'},
{name:'涌浪方向/高度',value:'',color:'#00f5ff'},
- {name:'台风预报',value:'********************************************',color:'#50C55C'},
+ {name:'流向/流速',value:'***',color:'#00f5ff'},
+ {name:'波浪预报',value:'*****************************************',color:'#00f5ff'},
+ ],
+ data1:[
+ {name:'台风预报',value:'********************************************',color:'#50C55C'}
]
}
},
mounted() {
- getShelterPosition().then(res => {
- if (res.code === 200) {
- let params = {
- lng: res.data.lng,
- lat: res.data.lat,
- date: dateToString(new Date(), 'y-m-d'),
- days: 0,
- hour: new Date().getHours()
- }
- getTyphoonOcean(params).then(res => {
- if (res.code === 200) {
- this.data[0].value = res.data.windSpeed + 'm/s '+res.data.windDir + '°'
- this.data[1].value = res.data.temperature + '℃ '
- this.data[2].value = res.data.pressure + 'hPa '
- this.data[3].value = res.data.altitude + '米 '
- this.data[4].value = res.data.waveDir + '° '+ res.data.waveHeight + '米 '
- this.data[5].value = res.data.swellDir + '° '+ res.data.swellHeight + '米 '
- }
- })
- }
- })
- getTyphoonList().then(res => {
- if (res.code === 200) {
- if(res.data.length===0) {this.data[6].value = '暂无台风'}
- else {
- this.data[6].value = ''
- for(let i=0;i {
+ if (res.code === 200) {
+ let params = {
+ lng: res.data.lng,
+ lat: res.data.lat,
+ date: dateToString(new Date(), 'y-m-d'),
+ days: 0,
+ hour: new Date().getHours()
+ }
+ getTyphoonOcean(params).then(res => {
+ if (res.code === 200) {
+ this.data[0].value = res.data.windSpeed + 'm/s '+res.data.windDir + '°'
+ this.data[1].value = res.data.temperature + '℃ '
+ this.data[2].value = res.data.pressure + 'hPa '
+ this.data[3].value = res.data.altitude + 'm '
+ this.data[4].value = res.data.waveDir + '° '+ res.data.waveHeight + 'm '
+ this.data[5].value = res.data.swellDir + '° '+ res.data.swellHeight + 'm '
+ this.data[6].value = res.data.oceanDir + '° '+ res.data.speed + 'm/s'
+ this.data[7].value = '风浪:' + res.data.forecast.waveDir + '° '+ res.data.forecast.waveHeight + 'm\n' +
+ '涌浪:' + res.data.forecast.swellDir + '° '+res.data.forecast.swellHeight + 'm'
+
+ }
+ })
+ }
+ })
+ getTyphoonList().then(res => {
+ if (res.code === 200) {
+ if(res.data.length===0) {this.data1[0].value = '暂无台风'}
+ else {
+ this.data1[0].value = ''
+ for(let i=0;i
@@ -77,6 +94,7 @@
font-size: 17px;
color: #00f5ff;
margin: 10px 0px 10px 20px;
+ font-weight: bold;
}
.content{
padding: 0px 20px;
@@ -85,7 +103,7 @@
flex: 1;
.block{
width: 100%;
- height: 30px;
+ height: 38px;
}
}
}
diff --git a/src/views/setting/alarm.vue b/src/views/setting/alarm.vue
index f387186..6340c8e 100644
--- a/src/views/setting/alarm.vue
+++ b/src/views/setting/alarm.vue
@@ -1,10 +1,10 @@
-
+
气象水文
-
+
小于
海里
@@ -12,7 +12,7 @@
-
+
大于
m/s
@@ -23,8 +23,8 @@
AIS&电子海图
-
-
+
+
小于
海里
@@ -34,7 +34,7 @@
水下机器人
-
+
小于
%
@@ -42,7 +42,7 @@
-
+
大于
海里
@@ -53,8 +53,8 @@
通信信号
-
-
+
+
小于
kb/s
@@ -77,8 +77,23 @@
name: 'Alarm',
components: {},
data() {
+ const validatePoint = (rule, value, callback) => {
+ if ((/^(([1-9][0-9]*|0)\.([0-9]{1,100})$)|^([1-9][0-9]*|0)$/).test(value) === false) {
+ callback(new Error('请输入正数'))
+ } else {
+ callback()
+ }
+ }
return {
list: [],
+ rules: {
+ satelliteSignal:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ typhoonDistance:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ typhoonSpeed:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ shipDistance:[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ robotBattery :[{validator: validatePoint, trigger: ['blur', 'change'] }],
+ robotDistance:[{validator: validatePoint, trigger: ['blur', 'change'] }]
+ },
form: {
typhoonDistance:'',
typhoonSpeed:'',
@@ -106,6 +121,9 @@
},
init(){
console.log('获取当前值')
+ this.$nextTick(() => {
+ this.$refs['dataForm'].clearValidate()
+ })
alarmRecentValue().then(res => {
if (res.code === 200) {
this.form = res.data
diff --git a/src/views/setting/log.vue b/src/views/setting/log.vue
index 94da006..33e0dc8 100644
--- a/src/views/setting/log.vue
+++ b/src/views/setting/log.vue
@@ -1,9 +1,11 @@
- 水下机器人交互日志
- 岸基控制交互日志
- 系统操作日志
+ 水下机器人发送
+ 水下机器人接收
+ 岸基控制发送
+ 岸基控制接收
+
@@ -12,40 +14,37 @@