Commit 23fc09ef authored by caicaicai's avatar caicaicai

修改

parent 96e95ba2
......@@ -365,6 +365,37 @@ var HttpReq = function(){
params:param,
})
},
//车辆管理——故障类型管理
carFaultTypeQuery: function(param){
return request({
url: '/api/BreakClass',
method: 'get',
params:param,
})
},
carFaultTypeUpAdd: function(data){
return request({
url: '/api/BreakClass',
method: 'POST',
data:data,
}).then((res) => {
return res
})
},
carFaultTypeUpdate: function(data){
return request({
url: '/api/BreakClass',
method: 'PUT',
data:data,
})
},
carFaultTypeDel: function(data){
return request({
url: '/api/BreakClass',
method: 'Delete',
data:data,
})
},
//车辆管理——车辆故障管理
carFaultQuery: function(param){
return request({
......@@ -1969,7 +2000,8 @@ var HttpReq = function(){
method: 'get',
params:param,
})
}
},
......
......@@ -117,7 +117,7 @@ export default {
res.content.forEach((item,index) => {
item.ref = "video" + index;
item.hls = null;
item.label = item.car + '/' + item.carnumber;
item.label = item.carnumber;
fenquName.push(item);
});
data1.forEach((item) => {
......
<template>
<div class="common-page device-manage">
<div class="option page-row">
<!--工具栏-->
<div class="head-container">
<!-- 搜索 -->
<label class="el-form-item-label" style="font-weight: 500;">车牌号</label>
<el-input v-model="query.number" clearable size="small" placeholder="请输入车牌号" style="width:180px;"/>
<label class="el-form-item-label" style="font-weight: 500;">故障类型</label>
<el-select v-model="query.carbreak" placeholder="请选择故障类型" style="width:180px;">
<el-option v-for="(obj,index) in guzhangleixingData" :label="obj.breakclass" :value="obj.breakclass" :key="index"></el-option>
</el-select>
<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>
</div>
</div>
<!-- 表格 -->
<div class="panel-bottom page-row">
<h3>车辆故障管理</h3>
......@@ -12,16 +30,19 @@
</div>
<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="number" label="车辆名称" align="center"></el-table-column>
<el-table-column prop="number" label="车牌号" align="center"></el-table-column>
<el-table-column prop="driver" label="司机" align="center"></el-table-column>
<el-table-column prop="carbreak" label="故障类型" align="center"></el-table-column>
<el-table-column prop="createTime" label="日期" align="center"></el-table-column>
<el-table-column prop="breakRemarks" label="故障详情" align="center"></el-table-column>
<el-table-column prop="createTime" label="故障日期" align="center"></el-table-column>
<el-table-column prop="status" label="车辆状态处理" align="center" :formatter="statusChange"></el-table-column>
<el-table-column prop="updateBy" label="故障处理人" align="center"></el-table-column>
<el-table-column prop="updateTime" label="处理时间" align="center"></el-table-column>
<el-table-column label="操作" align="center" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="toEdit(scope.row)">处理故障</el-button>
<el-button size="mini" type="primary" @click="toEdit(scope.row)" v-if="scope.row.status == 1">处理故障</el-button>
<!-- <el-button size="mini" type="danger" icon="el-icon-delete" @click="toDelete(scope.row)"></el-button> -->
<span v-if="scope.row.status == 0">已处理故障</span>
</template>
</el-table-column>
</el-table>
......@@ -36,17 +57,23 @@
<!-- 表单渲染 -->
<el-dialog append-to-body :close-on-click-modal="true" :before-close="cancelForm" :visible.sync="form.visible" :title="form.title" width="700px">
<el-form :model="form.item" :rules="rules" ref="form1" :inline="true" size="small" label-width="150px">
<el-form-item label="编码" prop="name" v-show="form.reqType == 'add'">
<el-input v-model="form.item.name" style="width:280px;" placeholder="请输入编码"/>
</el-form-item>
<el-form-item label="车辆名称" prop="number" v-show="form.reqType == 'add'">
<el-input v-model="form.item.number" style="width:280px;" placeholder="请输入车辆名称"/>
<el-form-item label="车牌号" prop="number" v-show="form.reqType == 'add'">
<el-select v-model="form.item.number" placeholder="请选择车牌号" style="width:280px;">
<el-option v-for="(obj,index) in carInformationData" :label="obj.number" :value="obj.number" :key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="司机" prop="driver" v-show="form.reqType == 'add'">
<el-input v-model="form.item.driver" style="width:280px;" placeholder="请输入司机"/>
<el-select v-model="form.item.driver" placeholder="请选择司机" style="width:280px;">
<el-option v-for="(obj,index) in sijiData" :label="obj.name" :value="obj.name" :key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="故障类型" prop="carbreak" v-show="form.reqType == 'add'">
<el-input v-model="form.item.carbreak" style="width:280px;" placeholder="请输入故障类型"/>
<el-select v-model="form.item.carbreak" placeholder="请选择故障类型" style="width:280px;">
<el-option v-for="(obj,index) in guzhangleixingData" :label="obj.breakclass" :value="obj.breakclass" :key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="故障详情" prop="breakRemarks" v-show="form.reqType == 'add'">
<el-input type="textarea" v-model="form.item.breakRemarks" style="width:280px;"></el-input>
</el-form-item>
<el-form-item label="车辆状态处理" prop="status" v-show="form.reqType == 'edit'">
<el-select v-model="form.item.status" placeholder="请选择车辆状态处理" style="width:280px;">
......@@ -78,6 +105,9 @@ export default {
total: 0,
query:{},
tableData: [],
carInformationData:[],
guzhangleixingData:[],
sijiData:[],
form: {
title:'新增车辆故障',
visible:false,
......@@ -86,9 +116,9 @@ export default {
item:{},
},
rules: {
// time: [
// {required: true, message: '请输入车辆型号', trigger: 'blur' }
// ],
number: [
{required: true, message: '请输入车牌', trigger: 'blur' }
],
},
}
},
......@@ -111,13 +141,20 @@ export default {
HttpReq.truckDispatching.carFaultQuery(param).then((res) => {
if(res.code == 200){
this.loading = false;
res.data.content.forEach((item,index)=>{
if(item.status == 1){
showData.push(item);
}
})
this.tableData = showData;
this.total = showData.length;
this.tableData = res.data.content;
this.total = res.data.totalElements;
}
})
//获取车辆信息
HttpReq.truckDispatching.carInformationQuery({size:9999}).then((res) => {
if(res.code == 200){
this.carInformationData = res.data.content;
}
})
//获取故障类型信息
HttpReq.truckDispatching.carFaultTypeQuery({size:9999}).then((res) => {
if(res.code == 200){
this.guzhangleixingData = res.data.content;
}
})
})
......@@ -130,7 +167,17 @@ export default {
return 'success-row';
}
return '';
},
},
// 点击搜索
toSearch() {
this.page = 1;
this.loadData();
},
// 重置搜索
clearLimit(){
this.query = {};
this.loadData();
},
cancelForm(a, b, c){
this.form.visible = false;
},
......@@ -146,7 +193,7 @@ export default {
toEdit(item) {
// 请除表单验证
this.$refs['form1'] && this.$refs['form1'].clearValidate();
this.form.title = '修改车辆故障并删除此条数据';
this.form.title = '修改车辆故障';
this.form.status.cu = 0;
this.form.visible = true;
this.form.item = {...item};
......@@ -214,33 +261,25 @@ export default {
//修改车辆故障
reqUpdateItem(form, item){
let lastData = {...item};
this.$confirm('确认处理故障并且删除该条数据吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then((e) => {
HttpReq.truckDispatching.carFaultUpdate(lastData).then((res) => {
form.visible = false;
if(res.code == 200){
this.$notify({
title: '车辆故障处理成功!',
type: 'success',
duration: 2500
});
this.loadData()
}else{
this.$notify({
title: res.msg,
type: 'error',
duration: 2500
})
}
}).catch(function(error) {
form.status.cu = 0
});
}).catch((e) => {
HttpReq.truckDispatching.carFaultUpdate(lastData).then((res) => {
form.visible = false;
if(res.code == 200){
this.$notify({
title: '车辆故障处理成功!',
type: 'success',
duration: 2500
});
this.loadData()
}else{
this.$notify({
title: res.msg,
type: 'error',
duration: 2500
})
}
}).catch(function(error) {
form.status.cu = 0
})
});
},
//删除车辆故障
reqRemoveProject(item){
......@@ -265,7 +304,16 @@ export default {
statusChange(row){
return row.status == '0' ? '正常' : '故障' ;
},
}
},
watch:{
'form.item.number':function(){
HttpReq.truckDispatching.driverManagementPCQuery({car:this.form.item.number}).then((res) => {
if(res.code == 200){
this.sijiData = res.data.content;
}
})
},
},
}
</script>
......
<template>
<div class="common-page device-manage">
<!-- 表格 -->
<div class="panel-bottom page-row">
<h3>故障类型管理</h3>
<div class="ctin-box">
<div class="content-within">
<div class="content-fix">
<div class="toolbar">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="toAdd">新增</el-button>
</div>
<div class="content">
<el-table :data="tableData" v-loading="loading" border style="width:auto" :row-class-name="tableRowClassName">
<el-table-column prop="breakclass" 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>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="toDelete(scope.row)"></el-button>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<el-pagination :total="total" :current-page="page" style="margin-top: 8px;" layout="total, prev, pager, next, sizes" @size-change="sizeChange" @current-change="pageChange" />
</div>
</div>
</div>
</div>
</div>
<!-- 表单渲染 -->
<el-dialog append-to-body :close-on-click-modal="true" :before-close="cancelForm" :visible.sync="form.visible" :title="form.title" width="700px">
<el-form :model="form.item" :rules="rules" ref="form1" :inline="true" size="small" label-width="150px">
<el-form-item label="故障类型名称" prop="breakclass">
<el-input v-model="form.item.breakclass" style="width:280px;" placeholder="请输入故障类型名称"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="cancelForm">取消</el-button>
<el-button :loading="form.status.cu === 2" type="primary" @click="submitForm('form1', form.item)">确认</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { Tools, HttpReq, Dates} from '@/assets/js/common.js';
export default {
name: 'CarFaultType',
components: {},
data() {
return {
loading: false,
page: 1,
size: 10,
total: 0,
query:{},
tableData: [],
belongAreaData:[],
form: {
title:'新增故障类型',
visible:false,
reqType:'add',
status:{cu:0},
item:{},
},
rules: {
breakclass: [
{required: true, message: '请输入故障类型名称', trigger: 'blur' }
],
},
}
},
mounted() {
this.$nextTick(() => {
this.loadData();
})
},
methods: {
loadData() {
var sort = 'id,desc';
var param = this.query;
param.page = this.page - 1;
param.size = this.size;
param.sort = sort;
this.$nextTick(()=>{
//获取故障类型信息
HttpReq.truckDispatching.carFaultTypeQuery(param).then((res) => {
if(res.code == 200){
this.loading = false;
this.tableData = res.data.content;
this.total = res.data.totalElements;
}
})
})
},
tableRowClassName({row, rowIndex}) {
if (rowIndex === 1) {
return 'warning-row';
} else if (rowIndex === 3) {
return 'success-row';
}
return '';
},
cancelForm(a, b, c){
this.form.visible = false;
},
toAdd() {
// 请除表单验证
this.$refs['form1'] && this.$refs['form1'].clearValidate();
this.form.title = '新增故障类型';
this.form.status.cu = 0;
this.form.visible = true;
this.form.reqType = 'add';
this.form.item = {};
},
toEdit(item) {
// 请除表单验证
this.$refs['form1'] && this.$refs['form1'].clearValidate();
this.form.title = '修改故障类型';
this.form.status.cu = 0;
this.form.visible = true;
this.form.item = {...item};
this.form.reqType = 'edit';
},
toDelete(item) {
var id = item.id;
this.$confirm('确认删除该条数据吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then((e) => {
this.reqRemoveProject([id])
}).catch((e) => {})
},
pageChange(e) {
this.page = e
this.loadData()
},
sizeChange(e) {
this.page = 1
this.size = e
this.loadData()
},
submitForm(validateName, item){
if(!this.form.status.cu){
this.form.status.cu = 2;
this.$refs[validateName].validate(valid => {
if(valid){
if(this.form.reqType === 'add'){
this.reqAddItem(this.form, item)
}else{
this.reqUpdateItem(this.form, item)
}
}else{
this.form.status.cu = 0
}
});
};
},
//新增故障类型
reqAddItem(form, item){
let lastData = {...item};
HttpReq.truckDispatching.carFaultTypeUpAdd(lastData).then((res) => {
form.visible = false;
if(res.code == 200){
this.$notify({
title: '故障类型新增成功!',
type: 'success',
duration: 2500
});
this.loadData()
}else{
this.$notify({
title: res.msg,
type: 'error',
duration: 2500
})
}
}).catch(function(error) {
form.status.cu = 0
});
},
//修改故障类型
reqUpdateItem(form, item){
let lastData = {...item};
HttpReq.truckDispatching.carFaultTypeUpdate(lastData).then((res) => {
form.visible = false;
if(res.code == 200){
this.$notify({
title: '故障类型修改成功!',
type: 'success',
duration: 2500
});
this.loadData()
}else{
this.$notify({
title: res.msg,
type: 'error',
duration: 2500
})
}
}).catch(function(error) {
form.status.cu = 0
});
},
//删除故障类型
reqRemoveProject(item){
HttpReq.truckDispatching.carFaultTypeDel(item).then((res) => {
if(res.status == 400){
this.$notify({
title: res.msg,
type: 'error',
duration: 2500
})
}else{
this.$notify({
title: '删除成功!',
type: 'success',
duration: 2500
});
}
this.loadData();
})
},
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scope>
.el-table .warning-row {
background: oldlace;
}
.el-table .success-row {
background: #f0f9eb;
}
.device-manage{
.panel-bottom{
.el-button{margin:2px 0;padding:6px 15px;font-size:14px;}
.btn-groub2{
display:inline-block;
.el-button{margin:2px 0;padding:6px 15px;font-size:15px;}
.el-button--warning {
background-color: #e6a23c;
border-color: #e6a23c;
}
.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;}
}
}
}
.ecahrt1-dialog{
display:flex;align-items:center;
.el-dialog{
margin-top:inherit !important;display:table !important;width:fit-content;
.el-form-item{margin-right:0;}
}
.el-dialog__header{height:0;padding:0;display:block;}
.form-body{
border:1px solid #999;width:800px;height:500px;position:relative;
>div{position:absolute;top:0;left:0;height:100%;width:100%;}
}
}
</style>
<template>
<div class="common-page device-manage">
<div class="option page-row">
<!--工具栏-->
<div class="head-container">
<!-- 搜索 -->
<label class="el-form-item-label" style="font-weight: 500;">车牌号</label>
<el-input v-model="query.number" clearable size="small" placeholder="请输入车牌号" style="width:180px;"/>
<label class="el-form-item-label" style="font-weight: 500;">检修类型</label>
<el-select v-model="query.carrepair" placeholder="请选择检修类型" style="width:180px;">
<el-option label="定期保养" value="定期保养"></el-option>
<el-option label="定期检修" value="定期检修"></el-option>
</el-select>
<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>
</div>
</div>
<!-- 表格 -->
<div class="panel-bottom page-row">
<h3>车辆检修管理</h3>
......@@ -12,8 +31,7 @@
</div>
<div class="content">
<el-table :data="tableData" v-loading="loading" border style="width:auto" :row-class-name="tableRowClassName">
<el-table-column prop="number" label="编码" align="center"></el-table-column>
<el-table-column prop="name" label="车辆名称" align="center"></el-table-column>
<el-table-column prop="number" label="车牌号" align="center"></el-table-column>
<el-table-column prop="driver" label="司机" align="center"></el-table-column>
<el-table-column prop="carrepair" label="检修类型" align="center"></el-table-column>
<el-table-column prop="createTime" label="日期" align="center"></el-table-column>
......@@ -36,14 +54,15 @@
<!-- 表单渲染 -->
<el-dialog append-to-body :close-on-click-modal="true" :before-close="cancelForm" :visible.sync="form.visible" :title="form.title" width="700px">
<el-form :model="form.item" :rules="rules" ref="form1" :inline="true" size="small" label-width="150px">
<el-form-item label="编码" prop="number">
<el-input v-model="form.item.number" style="width:280px;" placeholder="请输入编码" :disabled="this.form.reqType == 'edit'"/>
</el-form-item>
<el-form-item label="车辆名称" prop="name">
<el-input v-model="form.item.name" style="width:280px;" placeholder="请输入车辆名称" :disabled="this.form.reqType == 'edit'"/>
<el-form-item label="车牌号" prop="number">
<el-select v-model="form.item.number" placeholder="请选择车牌号" style="width:280px;" :disabled="this.form.reqType == 'edit'">
<el-option v-for="(obj,index) in carInformationData" :label="obj.number" :value="obj.number" :key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="司机" prop="driver">
<el-input v-model="form.item.driver" style="width:280px;" placeholder="请输入司机" :disabled="this.form.reqType == 'edit'"/>
<el-select v-model="form.item.driver" placeholder="请选择司机" style="width:280px;" :disabled="this.form.reqType == 'edit'">
<el-option v-for="(obj,index) in sijiData" :label="obj.name" :value="obj.name" :key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="检修类型" prop="carrepair">
<el-select v-model="form.item.carrepair" placeholder="请选择检修类型" style="width:280px;">
......@@ -78,6 +97,8 @@ export default {
total: 0,
query:{},
tableData: [],
carInformationData:[],
sijiData:[],
form: {
title:'新增车辆维修',
visible:false,
......@@ -86,14 +107,13 @@ export default {
item:{},
},
rules: {
// time: [
// {required: true, message: '请输入车辆型号', trigger: 'blur' }
// ],
number: [
{required: true, message: '请选择车牌号', trigger: 'change' }
],
},
}
},
mounted() {
var that = this;
this.$nextTick(() => {
this.loadData();
})
......@@ -114,6 +134,12 @@ export default {
this.total = res.data.totalElements;
}
})
//获取车辆信息
HttpReq.truckDispatching.carInformationQuery({size:9999}).then((res) => {
if(res.code == 200){
this.carInformationData = res.data.content;
}
})
})
},
......@@ -128,6 +154,16 @@ export default {
cancelForm(a, b, c){
this.form.visible = false;
},
// 点击搜索
toSearch() {
this.page = 1;
this.loadData();
},
// 重置搜索
clearLimit(){
this.query = {};
this.loadData();
},
toAdd() {
// 请除表单验证
this.$refs['form1'] && this.$refs['form1'].clearValidate();
......@@ -246,7 +282,16 @@ export default {
this.loadData();
})
},
}
},
watch:{
'form.item.number':function(){
HttpReq.truckDispatching.driverManagementPCQuery({car:this.form.item.number}).then((res) => {
if(res.code == 200){
this.sijiData = res.data.content;
}
})
},
},
}
</script>
......
......@@ -6,8 +6,8 @@
<div class="leftMenuBar">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>监控分区</span>
<el-button style="float: right; padding: 3px 0" type="text" @click="zoneEdit('add')">添加分区</el-button>
<span>监控车队</span>
<el-button style="float: right; padding: 3px 0" type="text" @click="zoneEdit('add')">添加监控车队</el-button>
</div>
<div class="text item">
<el-table :data="main_camera" border style="width: 100%" @row-click="gridClick">
......@@ -53,12 +53,11 @@
<div class="text item">
<el-table :data="cameraDetail" border style="width: 100%" height="710">
<el-table-column prop="id" label="NO." align="center" width="60"></el-table-column>
<el-table-column prop="car" label="车辆名称" align="left"></el-table-column>
<el-table-column prop="carnumber" label="车牌号" align="left"></el-table-column>
<el-table-column prop="name" label="摄像头名称" align="center"></el-table-column>
<el-table-column prop="ip" label="ip" align="center"></el-table-column>
<el-table-column prop="port" label="端口" align="center"></el-table-column>
<el-table-column prop="card" label="商标" align="center"></el-table-column>
<!-- <el-table-column prop="card" label="商标" align="center"></el-table-column> -->
<el-table-column label="操作" width="150" align="center">
<template slot-scope="scope">
<el-button size="mini" round type="danger" @click="cameraDetaileDelete(scope.row)">删除</el-button>
......@@ -68,10 +67,7 @@
</div>
</el-card>
<el-dialog :title="cameraDetailTitle" :visible.sync="cameraDetailVisible" width="30%">
<el-form ref="cameraDetailData" :rules="rulesDetai" :model="cameraDetailData" label-width="80px">
<el-form-item label="车辆名称" style="margin-bottom:15px;" prop="car">
<el-input v-model="cameraDetailData.car"></el-input>
</el-form-item>
<el-form ref="cameraDetailData" :rules="rulesDetai" :model="cameraDetailData" label-width="100px">
<el-form-item label="车牌号" style="margin-bottom:15px;" prop="carnumber">
<el-input v-model="cameraDetailData.carnumber"></el-input>
</el-form-item>
......@@ -84,9 +80,9 @@
<el-form-item label="端口" style="margin-bottom:15px;">
<el-input v-model="cameraDetailData.port"></el-input>
</el-form-item>
<el-form-item label="商标" style="margin-bottom:15px;" prop="card">
<!-- <el-form-item label="商标" style="margin-bottom:15px;" prop="card">
<el-input v-model="cameraDetailData.card"></el-input>
</el-form-item>
</el-form-item> -->
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="cameraDetaileCancel()" style="padding:10px;">取 消</el-button>
......
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