Compare commits

...

2 Commits

Author SHA1 Message Date
chentaisen 8ee741606c feat():合并 2024-10-08 09:21:24 +08:00
法外狂徒张三 4daecfda92 修改车辆管理前台效果 2024-10-05 15:10:05 +08:00
12 changed files with 107 additions and 114 deletions

View File

@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询车辆故障列表
export function listBreakdown(query) {
return request({
url: '/breakdown/breakdown/list',
url: '/car/breakdown/list',
method: 'get',
params: query
@ -13,7 +13,7 @@ export function listBreakdown(query) {
// 查询车辆故障详细
export function getBreakdown(id) {
return request({
url: '/breakdown/breakdown/' + id,
url: '/car/breakdown/' + id,
method: 'get'
})
}
@ -21,7 +21,7 @@ export function getBreakdown(id) {
// 新增车辆故障
export function addBreakdown(data) {
return request({
url: '/breakdown/breakdown',
url: '/car/breakdown',
method: 'post',
data: data
})
@ -30,7 +30,7 @@ export function addBreakdown(data) {
// 修改车辆故障
export function updateBreakdown(data) {
return request({
url: '/breakdown/breakdown',
url: '/car/breakdown',
method: 'put',
data: data
})
@ -39,7 +39,7 @@ export function updateBreakdown(data) {
// 删除车辆故障
export function delBreakdown(id) {
return request({
url: '/breakdown/breakdown/' + id,
url: '/car/breakdown/' + id,
method: 'delete'
})
}

View File

@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询故障日志列表
export function listLog(query) {
return request({
url: '/breakdown/log/list',
url: '/car/log/list',
method: 'get',
params: query
})
@ -12,7 +12,7 @@ export function listLog(query) {
// 查询故障日志详细
export function getLog(id) {
return request({
url: '/breakdown/log/' + id,
url: '/car/log/' + id,
method: 'get'
})
}
@ -20,7 +20,7 @@ export function getLog(id) {
// 新增故障日志
export function addLog(data) {
return request({
url: '/breakdown/log',
url: '/car/log',
method: 'post',
data: data
})
@ -29,7 +29,7 @@ export function addLog(data) {
// 修改故障日志
export function updateLog(data) {
return request({
url: '/breakdown/log',
url: '/car/log',
method: 'put',
data: data
})
@ -38,7 +38,7 @@ export function updateLog(data) {
// 删除故障日志
export function delLog(id) {
return request({
url: '/breakdown/log/' + id,
url: '/car/log/' + id,
method: 'delete'
})
}

View File

@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询预警日志列表
export function listLogs(query) {
return request({
url: '/warn/logs/list',
url: '/car/logs/list',
method: 'get',
params: query
})
@ -12,7 +12,7 @@ export function listLogs(query) {
// 查询预警日志详细
export function getLogs(id) {
return request({
url: '/warn/logs/' + id,
url: '/car/logs/' + id,
method: 'get'
})
}
@ -20,7 +20,7 @@ export function getLogs(id) {
// 新增预警日志
export function addLogs(data) {
return request({
url: '/warn/logs',
url: '/car/logs',
method: 'post',
data: data
})
@ -29,7 +29,7 @@ export function addLogs(data) {
// 修改预警日志
export function updateLogs(data) {
return request({
url: '/warn/logs',
url: '/car/logs',
method: 'put',
data: data
})
@ -38,7 +38,7 @@ export function updateLogs(data) {
// 删除预警日志
export function delLogs(id) {
return request({
url: '/warn/logs/' + id,
url: '/car/logs/' + id,
method: 'delete'
})
}

View File

@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询预警规则列表
export function listRule(query) {
return request({
url: '/warn/rule/list',
url: '/car/rule/list',
method: 'get',
params: query
})
@ -12,7 +12,7 @@ export function listRule(query) {
// 查询预警规则详细
export function getRule(id) {
return request({
url: '/warn/rule/' + id,
url: '/car/rule/' + id,
method: 'get'
})
}
@ -20,7 +20,7 @@ export function getRule(id) {
// 新增预警规则
export function addRule(data) {
return request({
url: '/warn/rule/add',
url: '/car/rule/add',
method: 'post',
data: data
})
@ -29,7 +29,7 @@ export function addRule(data) {
// 修改预警规则
export function updateRule(data) {
return request({
url: '/warn/rule',
url: '/car/rule',
method: 'put',
data: data
})
@ -38,7 +38,7 @@ export function updateRule(data) {
// 删除预警规则
export function delRule(id) {
return request({
url: '/warn/rule/' + id,
url: '/car/rule/' + id,
method: 'delete'
})
}

View File

@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询预警策略列表
export function listStrategy(query) {
return request({
url: '/warn/strategy/list',
url: '/car/strategy/list',
method: 'get',
params: query
})
@ -12,7 +12,7 @@ export function listStrategy(query) {
// 查询预警策略详细
export function getStrategy(id) {
return request({
url: '/warn/strategy/' + id,
url: '/car/strategy/' + id,
method: 'get'
})
}
@ -20,7 +20,7 @@ export function getStrategy(id) {
// 新增预警策略
export function addStrategy(data) {
return request({
url: '/warn/strategy',
url: '/car/strategy',
method: 'post',
data: data
})
@ -29,7 +29,7 @@ export function addStrategy(data) {
// 修改预警策略
export function updateStrategy(data) {
return request({
url: '/warn/strategy',
url: '/car/strategy',
method: 'put',
data: data
})
@ -38,7 +38,7 @@ export function updateStrategy(data) {
// 删除预警策略
export function delStrategy(id) {
return request({
url: '/warn/strategy/' + id,
url: '/car/strategy/' + id,
method: 'delete'
})
}

View File

@ -69,13 +69,6 @@
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['car:car:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
@ -102,8 +95,15 @@
@pagination="getList"
/>
<el-dialog title="车辆报表" :visible.sync="dialogTableVisible">
<el-table v-loading="loading" :data="messageList" @selection-change="handleSelectionChange">
<el-tabs v-model="activeTab" @tab-click="handleTypeTabClick" v-if="dialogTableVisible">
<el-tab-pane
v-for="(item, index) in options"
:key="item.value"
:label="item.label"
:name="item.value"
>
</el-tab-pane>
<el-table v-loading="loading" :data="messageList" @selection-change="handleSelectionChange" v-if="srcs==''">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="车辆报文类型编码" align="center" prop="messageTypeCode" />
<el-table-column label="报文字段" align="center" >
@ -114,40 +114,11 @@
</template>
</el-table-column>
</el-table>
</el-dialog>
</el-tabs>
<!-- 添加或修改车辆基础信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="车辆VIN码" prop="carVin">
<el-input v-model="form.carVin" placeholder="请输入车辆VIN码" />
</el-form-item>
<el-form-item label="车辆车牌号" prop="carPlate">
<el-input v-model="form.carPlate" placeholder="请输入车辆车牌号" />
</el-form-item>
<el-form-item label="车辆品牌" prop="carBrand">
<el-input v-model="form.carBrand" placeholder="请输入车辆品牌" />
</el-form-item>
<el-form-item label="车辆型号" prop="carModel">
<el-input v-model="form.carModel" placeholder="请输入车辆型号" />
</el-form-item>
<el-form-item label="车辆车型" prop="carModel">
<el-input v-model="form.carType" placeholder="请输入车辆型号" />
</el-form-item>
<el-form-item label="启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中" prop="state">
<el-input v-model="form.state" placeholder="请输入启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<iframe :src="srcs" width="100%" height="1000px" frameborder="0" v-if="srcs!=''"></iframe>
<el-button @click="gotoMessage"></el-button>
<!-- <el-button @click="gotoMessage"></el-button>-->
<iframe :src="src" width="100%" height="1000px" frameborder="0"></iframe>
</div>
</template>
@ -161,6 +132,22 @@ export default {
name: "Car",
data() {
return {
srcs:'',
options: [
{
value: '',
label: '车辆数据'
},
{
value: '/car/log',
label: '故障日志'
},
{
value: '/car/breakdown',
label: '车辆故障'
}
],
activeTab: '',
src:'/firm/map',
test:[],
messageList: [],
@ -223,6 +210,10 @@ export default {
document.querySelector('.tags-view-container').style.display = 'none';
},
methods: {
handleTypeTabClick(tab){
console.log(tab.name)
this.srcs = tab.name
},
gotoMessage(){
this.$router.push({ path: '/firm/car/message' });
},

View File

@ -210,6 +210,11 @@ export default {
created() {
this.getList();
},
mounted() {
this.$store.dispatch('app/toggleSideBarHide',true);
document.querySelector('.navbar').style.display = 'none';
document.querySelector('.tags-view-container').style.display = 'none';
},
methods: {
/** 查询车辆故障列表 */
getList() {

View File

@ -6,7 +6,7 @@
<script>
import { getDataByRedis } from "@/api/car/ListManager";
import { getDataByRedis } from '@/api/car/ListManager'
export default {
data() {
@ -14,10 +14,10 @@ export default {
map: null,
polyline: null,
carMarker: null,
carVin: this.$route.query.carVin || null ,
carVin: this.$route.query.carVin || null,
intervalId: null,
data: {}, //
};
data: {} //
}
},
created() {
// fetchData
@ -26,26 +26,26 @@ export default {
methods: {
async fetchData() {
try {
const res = await getDataByRedis(this.carVin);
this.data = res.data;
const res = await getDataByRedis(this.carVin)
this.data = res.data
//
this.updateCarMarker();
this.updateCarMarker()
} catch (error) {
console.error("Error fetching vehicle data:", error);
console.error('Error fetching vehicle data:', error)
}
},
initMap() {
this.map = new AMap.Map('map', {
center: [116.397428, 39.90923], //
zoom: 20, //
});
zoom: 20 //
})
this.polyline = new AMap.Polyline({
map: this.map,
path: [], //
strokeColor: '#3366FF',
strokeWeight: 5,
});
strokeWeight: 5
})
//
this.carMarker = new AMap.Marker({
@ -53,43 +53,41 @@ export default {
position: [116.397428, 39.90923], //
icon: 'https://webapi.amap.com/images/car.png',
offset: new AMap.Pixel(-26, -13),
autoRotation: true,
});
autoRotation: true
})
},
updateCarMarker() {
if (this.data.longitude && this.data.latitude) {
const newPoint = [this.data.longitude, this.data.latitude];
const newPoint = [this.data.longitude, this.data.latitude]
//
this.carMarker.setPosition(newPoint);
this.carMarker.setPosition(newPoint)
// 线
const path = this.polyline.getPath();
path.push(new AMap.LngLat(this.data.longitude, this.data.latitude));
this.polyline.setPath(path);
const path = this.polyline.getPath()
path.push(new AMap.LngLat(this.data.longitude, this.data.latitude))
this.polyline.setPath(path)
//
this.map.setCenter(newPoint);
this.map.setCenter(newPoint)
}
},
}
},
mounted() {
this.$store.dispatch('app/toggleSideBarHide',true);
document.querySelector('.navbar').style.display = 'none';
document.querySelector('.tags-view-container').style.display = 'none';
this.$store.dispatch('app/toggleSideBarHide', true)
document.querySelector('.navbar').style.display = 'none'
document.querySelector('.tags-view-container').style.display = 'none'
const script = document.createElement('script');
script.src = 'https://webapi.amap.com/maps?v=1.4.15&key=7df1851ffb059e1e75c31b9bcd892b6b';
const script = document.createElement('script')
script.src = 'https://webapi.amap.com/maps?v=1.4.15&key=7df1851ffb059e1e75c31b9bcd892b6b'
script.onload = () => {
this.initMap();
};
document.head.appendChild(script);
this.initMap();
this.initMap()
}
document.head.appendChild(script)
this.initMap()
}
},
};
}
</script>

View File

@ -120,9 +120,6 @@
<!-- 添加或修改企业基础信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="数据库名" prop="tableName">
<el-input v-model="form.tableName" placeholder="请输入统一社会信用代码" />
</el-form-item>
<el-form-item label="统一社会信用代码" prop="firmCreditCode">
<el-input v-model="form.firmCreditCode" placeholder="请输入统一社会信用代码" />
</el-form-item>
@ -136,10 +133,10 @@
<image-upload v-model="form.firmLogs"/>
</el-form-item>
<el-form-item label="企业登录名" prop="firmUser">
<el-input v-model="form.firmUser" placeholder="请输入企业登录名" />
<el-input v-model="form.userName" placeholder="请输入企业登录名" />
</el-form-item>
<el-form-item label="企业登录密码" prop="firmPassword">
<el-input v-model="form.firmPassword" placeholder="请输入企业登录密码" />
<el-input v-model="form.password" placeholder="请输入企业登录密码" />
</el-form-item>
<el-form-item label="启用状态" prop="state">
<el-select v-model="form.state" placeholder="请选择启用状态">
@ -287,6 +284,7 @@ export default {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}

View File

@ -100,11 +100,11 @@ export default {
return {
options: [
{
value: 'identification',
value: 'basics',
label: '车辆基础'
},
{
value: 'information',
value: 'info',
label: '车辆数据'
},
{

View File

@ -206,6 +206,11 @@ export default {
created() {
this.getList();
},
mounted() {
this.$store.dispatch('app/toggleSideBarHide',true);
document.querySelector('.navbar').style.display = 'none';
document.querySelector('.tags-view-container').style.display = 'none';
},
methods: {
/** 查询故障日志列表 */
getList() {

View File

@ -30,13 +30,9 @@ export default {
label: '车辆数据'
},
{
value: '/car/log',
label: '故障日志'
},
{
value: '/car/breakdown',
label: '车辆故障'
},
value: '/firm/car/message',
label: '车辆报文'
}
],
activeTab: '/firm/car/car'
};