web/src/views/allCar/catMessage.vue

400 lines
12 KiB
Vue

<template>
<div>
<el-form ref="from" :model="from" status-icon class="demo-ruleForm">
车辆VIN: <el-input v-model="from.carVinId" placeholder="车辆VIN" />
车辆类型: <el-input v-model="from.carTypeId" placeholder="车辆类型" />
电子围栏: <el-input v-model="from.fenceId" placeholder="电子围栏" />
车辆状态: <el-input v-model="from.status" placeholder="车辆状态" />
<br><br>
电机厂商: <el-input v-model="from.batteryManufacturer" placeholder="电机厂商" />
电池厂商: <el-input v-model="from.motorManufacturer" placeholder="电池厂商" />
电机编号: <el-input v-model="from.motorNumber" placeholder="电机编号" />
电池编号: <el-input v-model="from.batteryNumber" placeholder="电池编号" />
<br><br>
<el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button @click="resetForm">重置</el-button>
</el-form-item>
<el-button type="primary" @click="addCar">添加</el-button>
<el-button type="danger" round @click="delListCar">批量删除</el-button>
<el-button type="info" round @click="exportCar">导出信息</el-button>
<!--1111111111111111111111111111111111添加弹窗1111111111111111111111111111-->
<el-dialog title="添加车辆信息管理" :visible.sync="dialogFormVisible">
<el-form :model="form">
<el-form-item label="车辆VIN">
<el-input v-model="form.carVinId" autocomplete="off" />
</el-form-item>
<el-form-item label="车辆类型">
<el-select v-model="form.carTypeId" clearable placeholder="请选择">
<el-option
v-for="item in carTypeList"
:key="item.id"
:label="item.carTypeName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="电子围栏">
<el-select v-model="form.fenceId" clearable placeholder="请选择">
<el-option
v-for="item in fenceList"
:key="item.id"
:label="item.fenceName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="电机厂商" >
<el-input v-model="form.motorManufacturer" autocomplete="off" />
</el-form-item>
<el-form-item label="电池厂商" >
<el-input v-model="form.batteryManufacturer" autocomplete="off" />
</el-form-item>
<el-form-item label="电机编号" >
<el-input v-model="form.motorNumber" autocomplete="off" />
</el-form-item>
<el-form-item label="电池编号" >
<el-input v-model="form.batteryNumber" autocomplete="off" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="addCarDialogFormVisible">确 定</el-button>
</div>
</el-dialog>
<!--1111111111111111111111111111111111修改回显弹窗1111111111111111111111111111-->
<el-dialog title="修改车辆信息管理" :visible.sync="dialogFormVisible1">
<el-form :model="formHui">
<el-form-item label="车辆VIN" >
<el-input v-model="formHui.carVinId" autocomplete="off" />
</el-form-item>
<el-form-item label="车辆类型">
<el-select v-model="form.carTypeId" clearable placeholder="请选择">
<el-option
v-for="item in carTypeList"
:key="item.id"
:label="item.carTypeName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="电子围栏">
<el-select v-model="form.fenceId" clearable placeholder="请选择">
<el-option
v-for="item in fenceList"
:key="item.id"
:label="item.fenceName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="电机厂商" >
<el-input v-model="formHui.motorManufacturer" autocomplete="off" />
</el-form-item>
<el-form-item label="电池厂商" >
<el-input v-model="formHui.batteryManufacturer" autocomplete="off" />
</el-form-item>
<el-form-item label="电机编号" >
<el-input v-model="formHui.motorNumber" autocomplete="off" />
</el-form-item>
<el-form-item label="电池编号" >
<el-input v-model="formHui.batteryNumber" autocomplete="off" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="addCarDialogFormVisible1">确 定</el-button>
</div>
</el-dialog>
</el-form>
<!--1111111111111111111111111111111111 列表展示 1111111111111111111111111111-->
<el-table :data="tableData" style="width: 100%">
<el-table-column label="车辆VIN" width="180">
<template slot-scope="scope">
<el-tag size="medium">{{ scope.row.carVinId }}</el-tag>
</template>
</el-table-column>
<el-table-column label="车辆类型" width="180" prop="carTypeId">
<template slot-scope="scope">
<el-tag size="medium">{{ scope.row.carTypeId }}</el-tag>
</template>
</el-table-column>
<el-table-column label="电子围栏ID" width="180" prop="fenceId">
<template slot-scope="scope">
<el-tag size="medium">{{ scope.row.fenceId }}</el-tag>
</template>
</el-table-column>
<el-table-column label="车辆状态" width="180">
<template slot-scope="scope">
<el-tag size="medium">{{ scope.row.status }}</el-tag>
</template>
</el-table-column>
<el-table-column label="电池厂商" width="180">
<template slot-scope="scope">
<el-tag size="medium">{{ scope.row.batteryManufacturer }}</el-tag>
</template>
</el-table-column>
<el-table-column label="电机厂商" width="180">
<template slot-scope="scope">
<el-tag size="medium">{{ scope.row.motorManufacturer }}</el-tag>
</template>
</el-table-column>
<el-table-column label="电机编号" width="180">
<template slot-scope="scope">
<el-tag size="medium">{{ scope.row.motorNumber }}</el-tag>
</template>
</el-table-column>
<el-table-column label="电池编号" width="180">
<template slot-scope="scope">
<el-tag size="medium">{{ scope.row.batteryNumber }}</el-tag>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<!-- 实时轨迹-->
<el-button size="mini" @click="handleShi(scope.$index , scope.row.carVinId)">实时轨迹</el-button>
<!-- 111111-->
<el-button size="mini" @click="handleShiGui(scope.$index , scope.row.carVinId)">1111</el-button>
<!-- 修改车辆信息-->
<el-button size="mini" @click="handleEdit(scope.$index, scope.row.carVinId)">修改</el-button>
<!-- 删除车辆信息-->
<el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row.carVinId)"></el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import {
carAdd,
carDel,
carExport,
carHuiList,
carList,
carUpd,
getCarType,
getFenceList
} from '../../api/carList/list'
export default {
name: 'CarList',
filters: {
statusFilter(status) {
const statusMap = {
published: 'success',
draft: 'gray',
deleted: 'danger'
}
return statusMap[status]
}
},
data() {
return {
list: null,
listLoading: true,
from: {
carVinId: null,
carTypeId: null
},
// 添加表单数据
form: {
carVinId: '',
carTypeId: '',
fenceId: '',
status: '',
motorManufacturer: '',
batteryManufacturer: '',
motorNumber: '',
batteryNumber: '',
fenceName: '',
carTypeName: ''
},
// 修改表单数据
formHui: {
carVinId: '',
carTypeId: '',
fenceId: '',
status: '',
motorManufacturer: '',
batteryManufacturer: '',
motorNumber: '',
batteryNumber: ''
},
tableData: [],
fenceList: [],
carTypeList: [],
dialogFormVisible: false,
dialogFormVisible1: false
}
},
created() {
this.fetchData()
},
methods: {
fetchData: function() {
this.listLoading = true
carList().then(response => {
this.tableData = response.data.data
console.log(2222222222222222)
this.listLoading = false
})
},
handleShiGui() {
this.$router.push('/allCar/history')
},
// 模糊查询提交 更新列表
submitForm() {
this.fetchData()
},
// 重置
resetForm() {
this.fetchData()
},
// 新增车辆管理信息数据
addCar() {
this.getFenceList1()
this.getCarType1()
this.dialogFormVisible = true
},
// 添加车辆确认
addCarDialogFormVisible() {
carAdd().then(res => {
debugger
if (res.data.code === 200) {
this.$message({
type: 'success',
message: '添加成功'
})
this.dialogFormVisible = false
this.fetchData()
} else {
this.$message({
type: 'error',
message: '添加失败'
})
}
})
},
// 批量删除
delListCar() {},
// 实时轨迹 跳转这个表 carVinId
handleShi() {
this.$router.push('/allCar/operation')
},
// 回显 修改
handleEdit(carVinId) {
this.dialogFormVisible1 = true
carHuiList(carVinId).then(res => {
if (res.data.code === 200) {
this.formHui = res.data.data
} else {
this.$message({
type: 'error',
message: '回显失败失败'
})
}
})
},
// 修改确认键
addCarDialogFormVisible1() {
carUpd().then(res => {
if (res.data.code === 200) {
this.$message({
type: 'success',
message: '修改成功'
})
} else {
this.$message({
type: 'error',
message: '修改失败'
})
}
})
},
// 单删除
handleDelete(carVinId) {
carDel(carVinId).then(res => {
if (res.data.code === 200) {
this.$message({
type: 'success',
message: '删除成功'
})
} else {
this.$message({
type: 'error',
message: '删除失败'
})
}
})
},
// 导出信息
exportCar() {
carExport().then(res => {
if (res.data.code === 200) {
this.$message({
type: 'success',
message: '导出成功'
})
} else {
this.$message({
type: 'error',
message: '导出失败'
})
}
})
},
// 电子围栏列表
getFenceList1() {
getFenceList().then(res => {
console.log(res)
if (res.code === 200) {
this.fenceList = res.data
console.log(this.fenceList + '2222222')
} else {
this.$message({
type: 'error',
message: '获取电子围栏列表失败'
})
}
})
},
// 获取车辆类型列表
getCarType1() {
getCarType().then(res => {
console.log(res)
if (res.code === 200) {
this.carTypeList = res.data
console.log(this.carTypeList + '1111111111111111111')
} else {
this.$message({
type: 'error',
message: '获取车辆类型列表失败'
})
}
})
}
}
}
</script>
<style>
.el-input{
width: 200px;
}
</style>