Commit b0b7c5c3 authored by caicaicai's avatar caicaicai

修改

parent 76946ce8
......@@ -192,6 +192,37 @@ var HttpReq = function(){
data:data,
})
},
//司机管理——人员管理
driverManagementPCQuery: function(param){
return request({
url: '/api/Drivers',
method: 'get',
params:param,
})
},
driverManagementPCAdd: function(data){
return request({
url: '/api/Drivers',
method: 'POST',
data:data,
}).then((res) => {
return res
})
},
driverManagementPCUpdate: function(data){
return request({
url: '/api/Drivers',
method: 'PUT',
data:data,
})
},
driverManagementPCDel: function(data){
return request({
url: '/api/Drivers',
method: 'Delete',
data:data,
})
},
//车辆管理——车辆类型
carTypeQuery: function(param){
return request({
......@@ -288,14 +319,14 @@ var HttpReq = function(){
//车辆管理——车辆信息
carInformationQuery: function(param){
return request({
url: '/api/Car',
url: '/api/CarPeop',
method: 'get',
params:param,
})
},
carInformationAdd: function(data){
return request({
url: '/api/Car',
url: '/api/CarPeop',
method: 'POST',
data:data,
}).then((res) => {
......@@ -304,14 +335,14 @@ var HttpReq = function(){
},
carInformationUpdate: function(data){
return request({
url: '/api/Car',
url: '/api/CarPeop',
method: 'PUT',
data:data,
})
},
carInformationDel: function(data){
return request({
url: '/api/Car',
url: '/api/CarPeop',
method: 'Delete',
data:data,
})
......@@ -1716,7 +1747,7 @@ var HttpReq = function(){
//大屏——数据总览——司机信息
screenDriverInformationQuery: function(param){
return request({
url: '/api/Driver',
url: '/api/Drivers',
method: 'get',
params:param,
})
......
......@@ -88,7 +88,7 @@ export default {
position:relative;height:6.018vh;width:100%;min-height:60px;
figure{position:absolute;top:0;left:1.562vw;right:9.01vw;height:100%;margin:0;padding:0;
background:no-repeat top center url('~@/assets/images/layout/top.png');background-size:100% 100%;
background:no-repeat top center url('~@/assets/images/cutGraph/top_title.png');background-size:120% 100%;
}
.navbar{
......
<template>
<div :class="{'has-logo':showLogo}">
<logo v-if="showLogo" :collapse="isCollapse" />
<!-- <logo v-if="showLogo" :collapse="isCollapse" /> -->
<el-scrollbar wrap-class="scrollbar-wrapper">
<el-menu
:default-active="activeMenu"
......
......@@ -36,8 +36,7 @@
<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="carname" 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">
......@@ -69,16 +68,11 @@
<el-option label="故障" value="故障"></el-option>
</el-select>
</el-form-item>
<el-form-item label="终端车辆类型" prop="carclass">
<el-select v-model="form.item.carclass" placeholder="请选择终端车辆类型" style="width:280px;">
<el-option label="卡车" value="卡车"></el-option>
<el-option label="电铲" value="电铲"></el-option>
</el-select>
<el-form-item label="设备账号" prop="number">
<el-input v-model="form.item.number" style="width:280px;" placeholder="请输入设备账号"/>
</el-form-item>
<el-form-item label="安装车辆" prop="carname">
<el-select v-model="form.item.carname" placeholder="请选择安装车辆" style="width:280px;">
<el-option :label="item.name + '/' + item.number" :value="item.name + '/' + item.number" v-for="(item,index) in selectList" :key="index"></el-option>
</el-select>
<el-form-item label="设备密码" prop="password">
<el-input v-model="form.item.password" style="width:280px;" show-password placeholder="请输入设备密码"/>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input type="textarea" v-model="form.item.remarks" style="width:280px;"></el-input>
......@@ -116,9 +110,9 @@ export default {
item:{},
},
rules: {
number: [
{required: true, message: '请输入车牌号', trigger: 'blur' }
],
// number: [
// {required: true, message: '请输入车牌号', trigger: 'blur' }
// ],
},
}
},
......
......@@ -112,7 +112,10 @@
<div>
<div class="carManScrView_rightView_title">卡车动态</div>
<div class="carManScrView_rightView_content">
<div class="carDynamicTitleStyle">
<img src="../../../../assets/images/cutGraph/huoche11.png" height="28">
<div>KK35125</div>
</div>
</div>
</div>
<!-- 电铲动态-->
......@@ -580,4 +583,22 @@ export default {
width: 100%;
height: 28vh;
}
.carDynamicTitleStyle{
display: flex;
width: 100%;
height: 3.5vh;
align-items: center;
}
.carDynamicTitleStyle>div{
margin-left: 10px;
height: 3.5vh;
width: 5vw;
background:no-repeat center center url('~@/assets/images/cutGraph/xingzhuang9kaobei2.png');
background-size:100% 100%;
line-height: 3.5vh;
text-align: center;
color: #06EFFE;
font-weight: 600;
font-size: 17px;
}
</style>
\ No newline at end of file
......@@ -66,13 +66,13 @@
<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">
<el-input v-model="form.item.name" style="width:280px;" placeholder="请输入车辆名称"/>
<el-input v-model="form.item.name" style="width:160px;" placeholder="请输入车辆名称"/>
</el-form-item>
<el-form-item label="车牌号" prop="number">
<el-input v-model="form.item.number" style="width:280px;" placeholder="请输入车牌号"/>
<el-input v-model="form.item.number" style="width:160px;" placeholder="请输入车牌号"/>
</el-form-item>
<el-form-item label="卡车类型" prop="carclass">
<el-select v-model="form.item.carclass" placeholder="请选择卡车类型" style="width:280px;">
<el-select v-model="form.item.carclass" placeholder="请选择卡车类型" style="width:160px;">
<el-option label="挖机" value="挖机"></el-option>
<el-option label="铲车" value="铲车"></el-option>
<el-option label="卡车" value="卡车"></el-option>
......@@ -80,38 +80,40 @@
</el-select>
</el-form-item>
<el-form-item label="车队名称" prop="road">
<el-select v-model="form.item.road" placeholder="请选择所属车队名称" style="width:280px;">
<el-select v-model="form.item.road" placeholder="请选择所属车队名称" style="width:160px;">
<el-option v-for="(obj,index) in selectList" :label="obj.name" :value="obj.name" :key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="车辆型号" prop="model">
<el-input v-model="form.item.model" style="width:280px;" placeholder="请输入车辆型号"/>
<el-input v-model="form.item.model" style="width:160px;" placeholder="请输入车辆型号"/>
</el-form-item>
<el-form-item label="运重(kg)" prop="weight">
<el-input v-model="form.item.weight" style="width:280px;" placeholder="请输入运重(kg)"/>
<el-input v-model="form.item.weight" style="width:160px;" placeholder="请输入运重(kg)"/>
</el-form-item>
<el-form-item label="车辆状态" prop="status">
<el-select v-model="form.item.status" placeholder="请选择车辆状态" style="width:280px;">
<el-select v-model="form.item.status" placeholder="请选择车辆状态" style="width:160px;">
<el-option label="正常" value="0"></el-option>
<el-option label="故障" value="1"></el-option>
<el-option label="停用" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="超速预警(km/h)" prop="alarm">
<el-input v-model="form.item.alarm" style="width:280px;" placeholder="请输入超速预警(km/h)"/>
<el-input v-model="form.item.alarm" style="width:160px;" placeholder="请输入超速预警(km/h)"/>
</el-form-item>
<el-form-item label="保养周期(月)" prop="month">
<el-input v-model="form.item.month" style="width:280px;" placeholder="请输入保养周期(月)"/>
<el-input v-model="form.item.month" style="width:160px;" placeholder="请输入保养周期(月)"/>
</el-form-item>
<el-form-item label="车辆年限" prop="year">
<el-input v-model="form.item.year" style="width:280px;" placeholder="请输入车辆年限"/>
<el-input v-model="form.item.year" style="width:160px;" placeholder="请输入车辆年限"/>
</el-form-item>
<el-form-item label="最新一次保养时间" prop="time">
<el-input v-model="form.item.time" style="width:280px;" placeholder="请输入最新一次保养时间"/>
<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-input v-model="form.item.plant" style="width:280px;" placeholder="请输入终端设备编号"/>
<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-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
......@@ -138,6 +140,7 @@ export default {
query:{},
tableData: [],
selectList:[],
terminalList:[],
form: {
title:'新增车辆',
visible:false,
......@@ -146,9 +149,9 @@ export default {
item:{},
},
rules: {
number: [
{required: true, message: '请输入车牌号', trigger: 'blur' }
],
// number: [
// {required: true, message: '请输入车牌号', trigger: 'blur' }
// ],
},
}
},
......@@ -176,11 +179,17 @@ export default {
}
})
//获取车队
HttpReq.truckDispatching.carFleetQuery().then((res) => {
HttpReq.truckDispatching.carFleetQuery({size:9999}).then((res) => {
if(res.code == 200){
this.selectList = res.data.content;
}
})
//获取终端信息
HttpReq.truckDispatching.deviceManagementQuery({size:9999}).then((res) => {
if(res.code == 200){
this.terminalList = res.data.content;
}
})
})
},
......
<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.name" clearable size="small" placeholder="请输入人员姓名" style="width:180px;"/>
<label class="el-form-item-label" style="font-weight: 500;">驾驶车辆</label>
<el-select v-model="query.car" placeholder="请选择驾驶车辆" style="width:180px;">
<el-option v-for="(obj,index) in selectList" :label="obj.number" :value="obj.number" :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>
<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="name" label="名称" align="center"></el-table-column>
<el-table-column prop="userName" label="用户名" align="center"></el-table-column>
<el-table-column prop="phone" label="电话" align="center"></el-table-column>
<el-table-column prop="age" label="驾龄" align="center"></el-table-column>
<el-table-column prop="depart" label="部门" align="center"></el-table-column>
<el-table-column prop="post" label="岗位" align="center"></el-table-column>
<el-table-column prop="company" label="公司名称" align="center"></el-table-column>
<el-table-column prop="adr" label="住址" align="center"></el-table-column>
<el-table-column prop="car" 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="name">
<el-input v-model="form.item.name" style="width:280px;" placeholder="请输入名称"/>
</el-form-item>
<el-form-item label="用户名" prop="userName">
<el-input v-model="form.item.userName" style="width:280px;" placeholder="请输入用户名"/>
</el-form-item>
<el-form-item label="电话" prop="phone">
<el-input v-model="form.item.phone" style="width:280px;" placeholder="请输入电话"/>
</el-form-item>
<el-form-item label="驾龄" prop="age">
<el-input v-model="form.item.age" style="width:280px;" placeholder="请输入驾龄"/>
</el-form-item>
<el-form-item label="部门" prop="depart">
<el-input v-model="form.item.depart" style="width:280px;" placeholder="请输入部门"/>
</el-form-item>
<el-form-item label="岗位" prop="post">
<el-input v-model="form.item.post" style="width:280px;" placeholder="请输入岗位"/>
</el-form-item>
<el-form-item label="公司名称" prop="company">
<el-input v-model="form.item.company" style="width:280px;" placeholder="请输入公司名称"/>
</el-form-item>
<el-form-item label="公司名称" prop="company">
<el-input v-model="form.item.company" style="width:280px;" placeholder="请输入公司名称"/>
</el-form-item>
<el-form-item label="驾驶车辆" prop="car">
<el-select v-model="form.item.car" placeholder="请选择驾驶车辆" style="width:280px;">
<el-option v-for="(obj,index) in selectList" :label="obj.number" :value="obj.number" :key="index"></el-option>
</el-select>
</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: 'DriverManage',
components: {},
data() {
return {
loading: false,
page: 1,
size: 10,
total: 0,
query:{},
tableData: [],
selectList:[],
form: {
title:'新增司机人员',
visible:false,
reqType:'add',
status:{cu:0},
item:{},
},
rules: {
// number: [
// {required: true, message: '请输入车牌号', trigger: 'blur' }
// ],
},
}
},
mounted() {
var that = this;
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.driverManagementPCQuery(param).then((res) => {
if(res.code == 200){
this.loading = false;
this.tableData = res.data.content;
this.total = res.data.totalElements;
}
})
//获取车辆信息
HttpReq.truckDispatching.carInformationQuery({size:9999}).then((res) => {
if(res.code == 200){
this.selectList = res.data.content;
}
})
})
},
tableRowClassName({row, rowIndex}) {
if (rowIndex === 1) {
return 'warning-row';
} else if (rowIndex === 3) {
return 'success-row';
}
return '';
},
// 点击搜索
toSearch() {
this.page = 1;
this.loadData();
},
// 重置搜索
clearLimit(){
this.query = {};
this.loadData()
},
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.driverManagementPCAdd(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.driverManagementPCUpdate(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.driverManagementPCDel(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>
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