作者 小范

车辆信息新增出任务功能

... ... @@ -6,6 +6,9 @@ let baseServiceURL = 'wms-server-warehouse'
//车辆定位
export const selectVehicle = params => { return axios.get(`${baseServiceURL}/map/location/lastlocation`, { params: params }); };
//出任务
export const insertSelective = params => { return http.post(`${baseServiceURL}/map/location/insertSelective`, params); };
//车辆轨迹
export const historyTrack = params => { return axios.get(`${baseServiceURL}/map/location/historyTrack`, { params: params }); };
... ...
... ... @@ -4,19 +4,36 @@
<el-card style="background-color: #F5F7FA">
<el-row>
<el-form :model="queryInfo" :rules="rules" ref="ruleForm">
<el-col :span="5">
<el-col :span="6">
<el-form-item label="" prop="vno">
<el-input v-model="queryInfo.vno" size="small" style="width: 200px"
placeholder="车牌号" clearable required>
<template slot="prepend">车牌号</template>
</el-input>
<div class="my-text-area">
<div class="el-input-group__prepend prepand">车牌号</div>
<el-select v-model="queryInfo.vno"
@click.native="getCreden"
default-first-option
:loading="loading" clearable placeholder="请选择" style="width: 100px">
<el-option
v-for="item in vnos"
:key="item.lisenceNo"
:label="item.lisenceNo"
:value="item.lisenceNo"
:disabled="item.disabled">
</el-option>
</el-select>
</div>
<!-- <el-input v-model="queryInfo.vno" size="small" style="width: 200px"-->
<!-- placeholder="车牌号" clearable required>-->
<!-- <template slot="prepend">车牌号</template>-->
<!-- </el-input>-->
</el-form-item>
</el-col>
<el-col :offset="1" :span="5">
<el-col :span="6">
<el-form-item label="" prop="vnocolor">
<div class="my-text-area">
<div class="el-input-group__prepend prepand">车牌类型</div>
<el-select required v-model="queryInfo.vnocolor" placeholder="车牌类型" style="width: 80px">
<el-select required v-model="queryInfo.vnocolor" placeholder="车牌类型" style="width: 100px">
<el-option label="蓝牌" value="1"></el-option>
<el-option label="黄牌" value="2"></el-option>
<el-option label="绿牌" value="3"></el-option>
... ... @@ -38,7 +55,8 @@
</template>
<script>
import AMapLoader from '@amap/amap-jsapi-loader';
import { selectVehicle } from '../../api/consigner/vehicle';
import { selectVehicle,selectNameList } from '../../api/consigner/vehicle';
import {loginedUserInfo} from "../../api/user";
export default {
name: 'MapComponent',
... ... @@ -49,6 +67,8 @@
vno: '',
vnocolor: '2'
},
vnos:[],
loading:false,
rules: {
vno: [
{ required: true, message: '请输入车牌号', trigger: 'blur' },
... ... @@ -61,6 +81,25 @@
};
},
methods: {
//获取车牌号
getCreden(){
this.vnos=[];
//let params={};
this.loading = true;
console.log(loginedUserInfo().username)
selectNameList({'username':loginedUserInfo().username}).then(res =>{
console.log(res)
if (res!=null) {
console.log(res.data.data)
setTimeout(() => {
this.loading = false;
this.vnos=res.data.data;
}, 200);
} else {
this.vnos = [];
}
});
},
getList() {
this.$refs.ruleForm.validate(valid => {
if (!valid) return;
... ...
... ... @@ -82,7 +82,7 @@
<el-table-column label="操作" align="center" width="240" fixed="right">
<!-- v-if="isAdmin"-->
<template slot-scope="scope">
<el-button type="warning" size="mini" >出任务</el-button>
<el-button type="warning" size="mini" @click="handlOut(scope.$index, scope.row)">出任务</el-button>
<el-button type="success" size="mini" @click="handlEdit(scope.$index, scope.row)">编辑</el-button>
<el-button type="danger" size="mini" @click="handleDel(scope.$index, scope.row)">删除</el-button>
</template>
... ... @@ -286,6 +286,47 @@
@click="dialogStatus ==='save'? addSubmit():editSubmit()" v-loading="addloading">保存</el-button>
</div>
</el-dialog>
<!-- //出任务-->
<el-dialog title="出任务" :visible.sync="dialogVisible">
<el-form :model="form">
<el-form-item label="" :label-width="formLabelWidth">
<el-col :span="15">
<el-input v-model="form.lisenceNo" autocomplete="off" disabled>
<template slot="prepend">车牌号</template>
</el-input>
</el-col>
</el-form-item>
<el-form-item label="" :label-width="formLabelWidth">
<div class="my-text-area">
<div class="el-input-group__prepend prepand">用户名</div>
<el-col :span="14">
<el-select v-model="form.username"
@click.native="getUsers"
default-first-option
:loading="loading" clearable placeholder="请选择">
<el-option
v-for="item in usernames"
:key="item.username"
:label="item.username"
:value="item.username"
:disabled="item.disabled">
</el-option>
</el-select>
</el-col>
</div>
</el-form-item>
<el-form-item label="" :label-width="formLabelWidth">
<el-col :span="14">
<el-tag v-if="lisenceNoSatus=false" type="success">在线</el-tag>
<el-tag v-else type="info">离线</el-tag>
</el-col>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button @click="saveOut()">确 定</el-button>
</div>
</el-dialog>
</el-card>
</el-main>
</el-container>
... ... @@ -298,6 +339,8 @@
import {isAdmin, loginedUserInfo} from "../../api/user";
//获取关锁列表
// import {list as lockList} from "../../api/lock_info/lock_info";
import { getUserList } from '../../api/user';
import {selectVehicle, insertSelective, selectHistroy} from '../../api/consigner/vehicle';
export default {
... ... @@ -419,7 +462,22 @@
veState: [
{ required: true, message: '请选择备案状态', trigger: 'blur' }
]
}
},
dialogVisible:false,
form: {
lisenceNo: '',
username: '',
id:'',
starttime:''
},
usernames:[],
queryInfo: {
vno: '',
vnocolor: '2'
},
lisenceNoSatus:'',
formLabelWidth: '120px',
loading:false,
}
},
mounted() {
... ... @@ -427,6 +485,56 @@
this.getReCord();
},
methods: {
//出任务
handlOut(index,row){
this.dialogVisible=true;
this.form.lisenceNo=row.domesticLisenceNo;
this.getUsers();
this.getLisenceNoStatus(row.domesticLisenceNo)
},
//确定出任务
saveOut() {
const _this = this
insertSelective(this.form).then((response) => {
const res = response.data
if (res.code !== '200') {
return _this.$message.error('出任务,失败!')
}
_this.$message.success('出任务,成功!')
this.dialogVisible=false;
this.$router.push(
{
path:'conveyance'
}
)
}).catch(error => {
// 关闭加载
_this.$message.warning('车辆已出任务')
})
},
//获取用户名
getUsers:function() {
let para = {};
this.listLoading = true;
getUserList(para).then((res) => {
let response = res.data.data;
console.log(response)
this.usernames=res.data.data.list;
}).catch((error) => {
this.$message.error(error.toString());
});
},
//车辆状态
getLisenceNoStatus(lisenceNo){
this.queryInfo.vno=lisenceNo;
selectVehicle(this.queryInfo).then((response) => {
const res = response.data;
this.lisenceNoSatus=res.data.data.firstVcl.offlineState;
}).catch(error => {
this.$message.error('获取车辆状态失败:' + error.toString());
});
},
//获取备案列表
getReCord(val) {
let pageSize = this.pageSize;
... ...