Commit 572e3f21 authored by caicaicai's avatar caicaicai

修改

parent f64a38fd
......@@ -173,7 +173,7 @@ export default {
}
})
//获取历史轨迹
HttpReq.truckDispatching.getAllHistroyCarTrajectoryQuery({id:that.deviceId}).then((res) => {
HttpReq.truckDispatching.getAllHistroyCarTrajectoryQuery({name:that.deviceId}).then((res) => {
//console.log('获取历史轨迹',res);
if(res.code == 200){
let obj1 = {};
......@@ -185,7 +185,7 @@ export default {
array2.push('500');
array1.push(array2);
})
obj1.name = res.data.devId;
obj1.name = res.data.name;
obj1.arrays = array1;
let hisCenterData = [...that.historyTrajectoryData];
hisCenterData.push(obj1);
......
......@@ -35,9 +35,9 @@ Vue.prototype.Cesium = mars3d.Cesium
var map;
export default {
name: 'mars3dViewer',
created(){
this.getCoordinate();
mounted(){
this.getCoordinate('','',120);
},
data(){
......@@ -94,6 +94,8 @@ export default {
zuobianData:[],
toJavaCoordinates:[],
weilanName:[],
carNumber:'',
carPlaySpeed:120,
}
},
......@@ -135,9 +137,12 @@ export default {
},
methods: {
//后台获取数据
getCoordinate() {
//获取数据
getCoordinate(equipmentName,number,speed) {
let that = this;
that.deviceId = equipmentName;
that.carNumber = number;
that.carPlaySpeed = speed;
//获取电子围栏
HttpReq.truckDispatching.screenMapSetUpQuery({size:9999}).then((res) => {
if(true){;
......@@ -173,42 +178,44 @@ export default {
}
})
//获取历史轨迹
HttpReq.truckDispatching.getAllHistroyCarTrajectoryQuery({id:that.deviceId}).then((res) => {
//console.log('获取历史轨迹',res);
if(res.code == 200){
let obj1 = {};
let array1 = [];
res.data.line.forEach((item,index)=>{
let array2 = [];
array2.push(item.location.x);
array2.push(item.location.y);
array2.push('500');
array1.push(array2);
})
obj1.name = res.data.devId;
obj1.arrays = array1;
let hisCenterData = [...that.historyTrajectoryData];
hisCenterData.push(obj1);
that.historyTrajectoryData = [...hisCenterData];
this.$nextTick(()=>{
if (this.appendToBody) {
document.body.appendChild(this.$el)
}
if (this.mapKey) {
this.initMars3d(this.options)
} else {
mars3d.Resource.fetchJson({ url: this.url }).then((data) => {
this.initMars3d(data.map3d)// 构建地图
})
}
})
}
})
if(number == ''){
}else{
HttpReq.truckDispatching.getAllHistroyCarTrajectoryQuery({name:that.deviceId}).then((res) => {
console.log('获取历史轨迹',res);
if(res.code == 200){
let obj1 = {};
let array1 = [];
res.data.line.forEach((item,index)=>{
let array2 = [];
array2.push(item.location.x);
array2.push(item.location.y);
array2.push('500');
array1.push(array2);
})
obj1.name = res.data.name;
obj1.arrays = array1;
//let hisCenterData = [...that.historyTrajectoryData];
let hisCenterData = [];
hisCenterData.push(obj1);
that.historyTrajectoryData = [...hisCenterData];
this.$nextTick(()=>{
if (this.appendToBody) {
document.body.appendChild(this.$el)
}
if (this.mapKey) {
this.initMars3d(this.options)
} else {
mars3d.Resource.fetchJson({ url: this.url }).then((data) => {
this.initMars3d(data.map3d)// 构建地图
})
}
})
}
})
}
},
//上传围栏数据
uploaded(){
......@@ -260,10 +267,10 @@ export default {
}
},
//创建地图
//创建地图电子围栏
initMars3d(options) {
let that = this;
if (this[`map${this.mapKey}`]) return
//if (this[`map${this.mapKey}`]) return
const mapOptions = {
...options,
......@@ -284,36 +291,42 @@ export default {
initLayerManager(graphicLayer,that.weilanName[index]);
that.addGraphic_01(graphicLayer,item,that.weilanName[index]);
})
//历史轨迹回放
that.historyTrajectoryData.forEach(function(item,index){
var graphicLayer2 = new mars3d.layer.GraphicLayer();
map.addLayer(graphicLayer2);
if(that.carNumber == ''){
}else{
//创建矢量数据图层2
var graphicLayer1 = new mars3d.layer.GraphicLayer();
map.addLayer(graphicLayer1);
var itemText = `<table style="width: auto;">
<tr>
<th scope="col" colspan="2" style="text-align:center;font-size:15px;">卡车号码:${item.name}</th>
<th scope="col" colspan="2" style="text-align:center;font-size:15px;">卡车号码:${that.carNumber}</th>
</tr>
<tr>
<td>名称:卡车二</td>
<td>设备名称:${that.deviceId}</td>
</tr>
</table>`;
initGraphicManager(graphicLayer2,itemText);
that.addGraphic_02(graphicLayer2,item.arrays,item.name);
})
//创建矢量数据图层2
var graphicLayer1 = new mars3d.layer.GraphicLayer();
map.addLayer(graphicLayer1);
var itemText = `<table style="width: auto;">
<tr>
<th scope="col" colspan="2" style="text-align:center;font-size:15px;">卡车号码:鲁K12345</th>
</tr>
<tr>
<td>名称:卡车一</td>
</tr>
</table>`;
initGraphicManager(graphicLayer1,itemText);
that.addGraphic_02(graphicLayer1,this.persons,'卡车一');
initGraphicManager(graphicLayer1,itemText);
that.addGraphic_02(graphicLayer1,this.persons,that.carNumber);
//历史轨迹回放
that.historyTrajectoryData.forEach(function(item,index){
var graphicLayer2 = new mars3d.layer.GraphicLayer();
map.addLayer(graphicLayer2);
var itemText = `<table style="width: auto;">
<tr>
<th scope="col" colspan="2" style="text-align:center;font-size:15px;">卡车号码:${that.carNumber}</th>
</tr>
<tr>
<td>设备名称:${that.deviceId}</td>
</tr>
</table>`;
initGraphicManager(graphicLayer2,itemText);
that.addGraphic_02(graphicLayer2,item.arrays,item.name);
})
}
// 抛出事件
this.$emit('onload', map)
......@@ -371,7 +384,7 @@ export default {
},
//车辆轨迹
addGraphic_02(graphicLayer1,positions,truckName) {
let that = this;
var property = new Cesium.SampledPositionProperty();
var tempTime;
......@@ -379,7 +392,7 @@ export default {
tempTime = map.clock.currentTime; //开始时间
property.addSample(tempTime, Cesium.Cartesian3.fromDegrees(positions[0][0],positions[0][1],positions[0][2]));
for(let i = 1;i < positions.length;i++){
tempTime = Cesium.JulianDate.addSeconds(tempTime, 120, new Cesium.JulianDate());
tempTime = Cesium.JulianDate.addSeconds(tempTime, that.carPlaySpeed, new Cesium.JulianDate());
property.addSample(tempTime, Cesium.Cartesian3.fromDegrees(positions[i][0],positions[i][1],positions[i][2],));
}
......
......@@ -12,7 +12,7 @@
</el-select> -->
<label class="el-form-item-label" style="font-weight: 500;">设备编码</label>
<el-input v-model="query.code" clearable size="small" placeholder="请输入设备编码" style="width:180px;"/>
<el-input v-model="query.name" clearable size="small" placeholder="请输入设备编码" style="width:180px;"/>
<el-button size="mini" type="success" icon="el-icon-search" @click="toSearch">搜索</el-button>
<el-button size="mini" icon="el-icon-refresh" @click="clearLimit">重置</el-button>
......@@ -31,10 +31,8 @@
<div class="content">
<el-table :data="tableData" v-loading="loading" border style="width:auto" :row-class-name="tableRowClassName">
<el-table-column prop="name" label="设备名称" align="center"></el-table-column>
<el-table-column prop="code" label="设备编码" align="center"></el-table-column>
<el-table-column prop="status" label="设备状态" align="center"></el-table-column>
<el-table-column prop="carclass" label="车辆类型" align="center"></el-table-column>
<el-table-column prop="number" label="通信账号" align="center"></el-table-column>
<el-table-column prop="remarks" label="备注" align="center"></el-table-column>
<el-table-column label="操作" align="center" fixed="right">
<template slot-scope="scope">
......@@ -57,9 +55,6 @@
<el-form-item label="设备名称" prop="name">
<el-input v-model="form.item.name" style="width:280px;" placeholder="请输入设备名称"/>
</el-form-item>
<el-form-item label="设备编码" prop="code">
<el-input v-model="form.item.code" style="width:280px;" placeholder="请输入车牌号"/>
</el-form-item>
<el-form-item label="设备状态" prop="status">
<el-select v-model="form.item.status" placeholder="请选择设备状态" style="width:280px;">
<el-option label="正常" value="正常"></el-option>
......@@ -71,12 +66,6 @@
<el-option v-for="(obj,index) in carTypeData" :label="obj.name" :value="obj.name" :key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="通信账号" prop="number">
<el-input v-model="form.item.number" style="width:280px;" placeholder="请输入通信账号" :disabled="form.reqType == 'edit'" />
</el-form-item>
<!-- <el-form-item label="通信密码" prop="password">
<el-input v-model="form.item.password" style="width:280px;" show-password placeholder="请输入通信密码" :disabled="form.reqType == 'edit'"/>
</el-form-item> -->
<el-form-item label="备注" prop="remarks">
<el-input type="textarea" v-model="form.item.remarks" style="width:280px;"></el-input>
</el-form-item>
......
......@@ -46,7 +46,7 @@
<el-table-column prop="year" label="车辆年限" align="center"></el-table-column>
<el-table-column prop="time" label="最新一次保养时间" align="center"></el-table-column>
<!-- <el-table-column prop="time" label="最新一次保养时间" align="center" :formatter="timeChange"></el-table-column> -->
<el-table-column prop="plant" label="终端设备编号" align="center"></el-table-column>
<el-table-column prop="equipmentName" label="终端设备名称" align="center"></el-table-column>
<el-table-column label="操作" align="center" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-edit" @click="toEdit(scope.row)"></el-button>
......@@ -107,9 +107,9 @@
<el-input v-model="form.item.time" style="width:160px;" placeholder="请输入最新一次保养时间"/>
<!-- <el-date-picker v-model="form.item.time" type="date" placeholder="选择日期"></el-date-picker> -->
</el-form-item>
<el-form-item label="终端设备编号" prop="plant">
<el-select v-model="form.item.plant" placeholder="请选择终端设备" style="width:160px;">
<el-option v-for="(obj,index) in terminalList" :label="obj.code" :value="obj.code" :key="index"></el-option>
<el-form-item label="终端设备名称" prop="equipmentName">
<el-select v-model="form.item.equipmentName" placeholder="请选择终端设备" style="width:160px;">
<el-option v-for="(obj,index) in terminalList" :label="obj.name" :value="obj.name" :key="index"></el-option>
</el-select>
</el-form-item>
</el-form>
......
......@@ -8,7 +8,7 @@
<div style="font-size:18px;font-weight:bold;margin-bottom:10px;">车辆历史轨迹查询</div>
<el-form-item label="开始时间" style="display: inline-block;">
<!-- <el-form-item label="开始时间" style="display: inline-block;">
<el-date-picker v-model="query.startTime" type="datetime" placeholder="选择开始时间"></el-date-picker>
</el-form-item>
<el-form-item label="结束时间" style="display: inline-block;">
......@@ -18,7 +18,7 @@
<el-select v-model="query.road" placeholder="请选择矿区">
<el-option v-for="(obj,index) in areaInformationData" :label="obj.name" :value="obj.name" :key="index"></el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item label="车辆牌号" style="display: inline-block;">
<el-select v-model="query.number" placeholder="请选择车辆牌号">
<el-option v-for="(obj,index) in carInformationData" :label="obj.number" :value="obj.number" :key="index"></el-option>
......@@ -29,7 +29,7 @@
<br>
<el-form-item label="测量距离" style="display: inline-block;">
<!-- <el-form-item label="测量距离" style="display: inline-block;">
<el-button type="primary" plain style="font-size:15px;">开测距</el-button>
<el-button type="primary" plain style="font-size:15px;">关测距</el-button>
</el-form-item>
......@@ -42,9 +42,9 @@
</el-form-item>
<el-button style="font-size:15px;">暂停</el-button>
<el-button style="font-size:15px;">继续</el-button>
<el-button style="font-size:15px;">统计轨迹</el-button>
<el-button style="font-size:15px;">统计轨迹</el-button> -->
<el-form-item label="观看倍速" style="display: inline-block;">
<el-select v-model="query.playSpeed" placeholder="请选择观看倍速">
<el-select v-model="query.playSpeed" placeholder="请选择观看倍速" @change="changeSpeed()">
<el-option label="1倍" value="1"></el-option>
<el-option label="4倍" value="4"></el-option>
<el-option label="8倍" value="8"></el-option>
......@@ -52,11 +52,11 @@
<el-option label="32倍" value="32"></el-option>
</el-select>
</el-form-item>
<el-button type="primary" plain style="font-size:15px;">显示所有轨迹</el-button>
<!-- <el-button type="primary" plain style="font-size:15px;">显示所有轨迹</el-button> -->
</el-form>
<div id="centerDiv" class="mapcontainer">
<mars3dViewerMap :url="configUrl" @onload="onMapload"/>
<mars3dViewerMap :url="configUrl" @onload="onMapload" ref="mars3dViewerMapMethod" :key="shuaxinTimer"/>
</div>
</div>
</div>
......@@ -80,11 +80,15 @@ export default {
//地图图片
configUrl: basePathUrl + 'config/config.json',
query:{
number:'',
startTime:'',
endTime:'',
playSpeed:'1',
},
carInformationData:[],
areaInformationData:[],
shuaxinTimer:null,
playSpeedNum:120,
}
},
mounted() {
......@@ -95,12 +99,27 @@ export default {
methods: {
// 点击搜索
toSearch() {
let that = this;
console.log(this.query.number);
HttpReq.truckDispatching.carInformationQuery({number:this.query.number}).then((res) => {
if(res.code == 200){
this.shuaxinTimer = new Date().getTime();
that.$refs.mars3dViewerMapMethod.getCoordinate(res.data.content[0].equipmentName,res.data.content[0].number,that.playSpeedNum);
}
})
},
// 重置搜索
clearLimit(){
this.query = {};
let that = this;
this.query = {
number:'',
startTime:'',
endTime:'',
playSpeed:'1',
};
this.loadData();
this.shuaxinTimer = new Date().getTime();
that.$refs.mars3dViewerMapMethod.getCoordinate('','',120);
},
//获取数据
loadData() {
......@@ -121,6 +140,22 @@ export default {
})
},
//改变倍速
changeSpeed(){
let that = this;
let numSpeed1 = 120 / parseInt(this.query.playSpeed);
this.playSpeedNum = parseInt(numSpeed1);
if(this.query.number == ''){
return;
}else{
HttpReq.truckDispatching.carInformationQuery({number:this.query.number}).then((res) => {
if(res.code == 200){
this.shuaxinTimer = new Date().getTime();
that.$refs.mars3dViewerMapMethod.getCoordinate(res.data.content[0].equipmentName,res.data.content[0].number,parseInt(numSpeed1));
}
})
}
},
// 地图构造完成回调
onMapload(map) {
// 以下为演示代码
......
......@@ -351,39 +351,32 @@ export default {
},
//新增区域信息
reqAddItem(form, item){
let lastData = {...item};
lastData.card = this.picFileName;
this.$refs.mars3dViewerMapMethod.uploaded(lastData.name);
HttpReq.truckDispatching.RegionalInformationAdd(lastData).then((res) => {
form.visible = false;
if(res.code == 200){
this.$notify({
title: '区域信息上传中,请稍等!',
type: 'success',
duration: 2500
});
this.loadData();
this.$nextTick(()=>{
this.$refs.mars3dViewerMapMethod.uploaded(lastData.name);
})
}else{
this.$notify({
title: res.msg,
type: 'error',
duration: 2500
})
}
}).catch(function(error) {
form.status.cu = 0
});
this.checkDataList.forEach((carItem,index)=>{
let uploadCarData = {};
uploadCarData.car = carItem;
uploadCarData.areaId = item.code;
console.log('uploadCarData',uploadCarData);
HttpReq.truckDispatching.RegionalInformationCarAdd(uploadCarData).then((res) => {
let panduan1 = this.tableData.find((obj,index)=>{
return obj.name == item.name;
})
if(panduan1){
this.$notify({
title: '区域名称重复,请重新输入区域名称!',
type: 'error',
duration: 2500
})
return
}else{
let lastData = {...item};
lastData.card = this.picFileName;
this.$refs.mars3dViewerMapMethod.uploaded(lastData.name);
HttpReq.truckDispatching.RegionalInformationAdd(lastData).then((res) => {
form.visible = false;
if(res.code == 200){
this.$notify({
title: '区域信息上传中,请稍等!',
type: 'success',
duration: 2500
});
this.loadData();
this.$nextTick(()=>{
this.$refs.mars3dViewerMapMethod.uploaded(lastData.name);
})
}else{
this.$notify({
title: res.msg,
......@@ -391,8 +384,29 @@ export default {
duration: 2500
})
}
}).catch(function(error) { });
})
}).catch(function(error) {
form.status.cu = 0
});
this.checkDataList.forEach((carItem,index)=>{
let uploadCarData = {};
uploadCarData.car = carItem;
uploadCarData.areaId = item.code;
console.log('uploadCarData',uploadCarData);
HttpReq.truckDispatching.RegionalInformationCarAdd(uploadCarData).then((res) => {
if(res.code == 200){
}else{
this.$notify({
title: res.msg,
type: 'error',
duration: 2500
})
}
}).catch(function(error) { });
})
}
},
//修改区域信息
reqUpdateItem(form, item){
......
......@@ -25,7 +25,7 @@ module.exports = {
productionSourceMap: false,
devServer: {
// host: 'localhost', // 也可以直接写IP地址这样方便真机测试
host: '192.168.0.107', // 也可以直接写IP地址这样方便真机测试
host: '192.168.0.101', // 也可以直接写IP地址这样方便真机测试
port: port,
open: true,
overlay: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment