400 lines
12 KiB
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>
|