|
|
<template>
|
|
|
<el-container>
|
|
|
<el-main>
|
|
|
<!--面包屑导航区域-->
|
|
|
<!-- <div>-->
|
|
|
<!-- <el-breadcrumb separator-class="el-icon-arrow-right">-->
|
|
|
<!-- <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>-->
|
|
|
<!-- <el-breadcrumb-item>车辆调度</el-breadcrumb-item>-->
|
|
|
<!-- <el-breadcrumb-item>车辆信息</el-breadcrumb-item>-->
|
|
|
<!-- </el-breadcrumb>-->
|
|
|
<!-- </div>-->
|
|
|
<el-card style="background-color: #F5F7FA">
|
|
|
<!--搜索区域-->
|
|
|
<div>
|
|
|
<el-row :gutter="24">
|
|
|
<el-col :span="5">
|
|
|
<el-input v-model="queryInfo.licensePlateNumber" clearable prefix-icon="el-icon-search"
|
|
|
placeholder="请输入车牌号码"></el-input>
|
|
|
</el-col>
|
|
|
<el-col :span="5">
|
|
|
<el-input v-model="queryInfo.vehicleCompany" clearable prefix-icon="el-icon-search"
|
|
|
placeholder="请输入车辆公司"></el-input>
|
|
|
</el-col>
|
|
|
<el-col :span="5">
|
|
|
<el-select v-model="queryInfo.vehicleStatus" clearable placeholder="请选择车辆状态">
|
|
|
<el-option
|
|
|
v-for="item in vehicleStatusList"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-col>
|
|
|
<el-col :span="5">
|
|
|
<el-select v-model="queryInfo.vehicleType" clearable placeholder="请选择车辆类型">
|
|
|
<el-option
|
|
|
v-for="item in vehicleTypeList"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row style="margin-top: 20px;">
|
|
|
<el-button type="primary" @click="getVehicleInfoList">查询车辆信息</el-button>
|
|
|
<el-button type="success" @click="addVehicleInfoFormVisible = true">增加车辆信息</el-button>
|
|
|
|
|
|
</el-row>
|
|
|
</div>
|
|
|
<!--车辆信息列表区域-->
|
|
|
<div style="margin-top: 20px;">
|
|
|
<el-table :data="vehicleInfoList" border stripe highlight-current-row v-loading="listLoading"
|
|
|
@selection-change="selsChange"
|
|
|
element-loading-text="拼命加载中">
|
|
|
<el-table-column type="selection" width="55" :selectable="isSelectable"
|
|
|
align="center"></el-table-column>
|
|
|
<el-table-column type="index" align="center"></el-table-column>
|
|
|
<el-table-column label="车辆类型" prop="vehicleType" align="center" width="120">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.vehicleType ==='1'">重型货车</span>
|
|
|
<span v-if="scope.row.vehicleType ==='2'">中型货车</span>
|
|
|
<span v-if="scope.row.vehicleType ==='3'">轻型货车</span>
|
|
|
<span v-if="scope.row.vehicleType ==='4'">微型货车</span>
|
|
|
<span v-if="scope.row.vehicleType ==='5'">拖车</span>
|
|
|
<span v-if="scope.row.vehicleType ==='6'">叉车</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="车牌号码" prop="licensePlateNumber" align="center"
|
|
|
width="130"></el-table-column>
|
|
|
<el-table-column label="车辆状态" prop="vehicleStatus" align="center" width="100">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.vehicleStatus ==='1'">空闲状态</span>
|
|
|
<span v-if="scope.row.vehicleStatus ==='2'">执行状态</span>
|
|
|
<span v-if="scope.row.vehicleStatus ==='3'">在修状态</span>
|
|
|
<span v-if="scope.row.vehicleStatus ==='4'">损坏未修</span>
|
|
|
<span v-if="scope.row.vehicleStatus ==='5'">保养状态</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="车辆载重/Kg" prop="vehicleLoad" align="center"
|
|
|
width="110"></el-table-column>
|
|
|
<el-table-column label="挂车与否" prop="isTrailer" align="center" width="110">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.isTrailer ==='1'">有挂车</span>
|
|
|
<span v-if="scope.row.isTrailer ==='2'">没有挂车</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="开始空闲时间" prop="freetime" align="center" width="160"></el-table-column>
|
|
|
|
|
|
<el-table-column label="车辆公司" prop="vehicleCompany" align="center"
|
|
|
width="200"></el-table-column>
|
|
|
<el-table-column label="行驶证号" prop="drivingLicenseNumber" align="center"
|
|
|
width="160"></el-table-column>
|
|
|
<el-table-column label="操作" width="200px" align="center" fixed="right">
|
|
|
<template slot-scope="scope">
|
|
|
<!--查看按钮-->
|
|
|
<el-tooltip effect="dark" content="编辑" placement="top-start" :enterable="false">
|
|
|
<el-button type="primary" icon="el-icon-edit" size="mini"
|
|
|
@click="showEditDialogVisible(scope.$index,scope.row)">编辑
|
|
|
</el-button>
|
|
|
</el-tooltip>
|
|
|
<!--取消调度按钮-->
|
|
|
<el-tooltip effect="dark" content="删除" placement="top-start" :enterable="false">
|
|
|
<el-button type="danger" icon="el-icon-delete" size="mini"
|
|
|
:loading="delLoading"
|
|
|
:disabled="scope.row.vehicleStatus==='2'"
|
|
|
@click="removeVehicleInfo(scope.$index,scope.row)">删除
|
|
|
</el-button>
|
|
|
</el-tooltip>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<!--分页区域-->
|
|
|
<div style="margin-top: 10px">
|
|
|
<el-row :gutter="24">
|
|
|
<el-col :span="5">
|
|
|
<el-button type="danger" icon="el-icon-delete" @click="batchRemove"
|
|
|
:disabled="this.sels.length===0">批量删除
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="10" style="margin-top: 5px">
|
|
|
<el-pagination
|
|
|
@size-change="handleSizeChange"
|
|
|
@current-change="handleCurrentChange"
|
|
|
:current-page="queryInfo.pageNum"
|
|
|
:page-sizes="[10,20,30,50]"
|
|
|
:page-size="queryInfo.pageSize"
|
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
|
:total="total">
|
|
|
</el-pagination>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-card>
|
|
|
<!-- 增加车辆信息对话框 -->
|
|
|
<div>
|
|
|
<el-dialog
|
|
|
style="margin-top: -50px"
|
|
|
title="增加车辆信息"
|
|
|
:visible.sync="addVehicleInfoFormVisible"
|
|
|
width="50%" @close="addVehicleInfoDialogClosed">
|
|
|
<el-form :model="addVehicleInfoForm" label-width="100px" status-icon
|
|
|
:rules="addVehicleInfoFormRules" ref="addVehicleInfoFormRef"
|
|
|
style="margin-left:10%;margin-right:10%;background-color: #F5F7FA">
|
|
|
<div style="margin-left: 30px">
|
|
|
<br>
|
|
|
<el-form-item label="车牌号码:" prop="licensePlateNumber">
|
|
|
<el-input v-model="addVehicleInfoForm.licensePlateNumber" clearable
|
|
|
style="width: 300px;"
|
|
|
placeholder="请输入车牌号码"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="行驶证号:" prop="drivingLicenseNumber">
|
|
|
<el-input v-model="addVehicleInfoForm.drivingLicenseNumber" clearable
|
|
|
style="width: 300px;"
|
|
|
placeholder="请输入车辆行驶证号"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="车辆类型:" prop="vehicleType">
|
|
|
<el-select v-model="addVehicleInfoForm.vehicleType" style="width: 300px" clearable
|
|
|
placeholder="请选择车辆类型">
|
|
|
<el-option
|
|
|
v-for="item in vehicleTypeList"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="车辆载重:" prop="vehicleLoad">
|
|
|
<el-input-number style="width: 200px" v-model="addVehicleInfoForm.vehicleLoad"
|
|
|
:min="10" :max="10000" controls-position="right">
|
|
|
</el-input-number>
|
|
|
<span style="margin-left:5px;font-size: 18px">Kg</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="有无挂车:" prop="vehicleType">
|
|
|
<el-select v-model="addVehicleInfoForm.isTrailer" style="width: 300px" clearable
|
|
|
placeholder="请选择有无挂车">
|
|
|
<el-option
|
|
|
v-for="item in isTrailerList"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="车辆公司:" prop="vehicleCompany">
|
|
|
<el-input v-model="addVehicleInfoForm.vehicleCompany" clearable style="width: 300px;"
|
|
|
placeholder="请输入车辆公司"></el-input>
|
|
|
</el-form-item>
|
|
|
<br>
|
|
|
</div>
|
|
|
</el-form>
|
|
|
<!--底部按钮区域-->
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="addVehicleInfoFormVisible = false">取 消</el-button>
|
|
|
<el-button type="primary" :loading="addLoading" @click="addVehicleInfo">增 加</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
<!-- 编辑车辆信息,对话框 -->
|
|
|
<div>
|
|
|
<el-dialog
|
|
|
title="编辑车辆信息"
|
|
|
text-align="center"
|
|
|
:visible.sync="editDialogVisible"
|
|
|
width="60%" @close="editVehicleInfoDialogClosed">
|
|
|
<el-form :model="editVehicleInfoForm" label-width="100px" status-icon
|
|
|
:rules="editVehicleInfoFormRules" ref="editVehicleInfoFormRef"
|
|
|
:inline="true" align="center"
|
|
|
style="background-color: #F5F7FA">
|
|
|
<div>
|
|
|
<br>
|
|
|
<el-form-item label="车牌号码:" prop="licensePlateNumber">
|
|
|
<el-input v-model="editVehicleInfoForm.licensePlateNumber" clearable readonly
|
|
|
style="width:250px"
|
|
|
placeholder="请输入车牌号码"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="行驶证号:" prop="drivingLicenseNumber">
|
|
|
<el-input v-model="editVehicleInfoForm.drivingLicenseNumber" clearable
|
|
|
style="width:250px"
|
|
|
placeholder="请输入车辆行驶证号"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="车辆类型:" prop="vehicleType">
|
|
|
<el-select v-model="editVehicleInfoForm.vehicleType" clearable
|
|
|
style="width:250px"
|
|
|
placeholder="请选择车辆类型">
|
|
|
<el-option
|
|
|
v-for="item in vehicleTypeList"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="车辆载重:" prop="vehicleLoad">
|
|
|
<el-input-number v-model="editVehicleInfoForm.vehicleLoad"
|
|
|
clearable style="width:220px"
|
|
|
:min="10" :max="10000" controls-position="right">
|
|
|
</el-input-number>
|
|
|
<span style="margin-left:5px;font-size: 18px">Kg</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="车辆状态:" prop="vehicleStatus">
|
|
|
<el-select v-model="editVehicleInfoForm.vehicleStatus" clearable
|
|
|
style="width:250px"
|
|
|
clearable placeholder="请选择车辆状态">
|
|
|
<el-option
|
|
|
v-for="item in vehicleStatusList"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="有无挂车:" prop="vehicleType">
|
|
|
<el-select v-model="editVehicleInfoForm.isTrailer" clearable
|
|
|
style="width:250px" clearable
|
|
|
placeholder="请选择有无挂车">
|
|
|
<el-option
|
|
|
v-for="item in isTrailerList"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="车辆公司:" prop="vehicleCompany">
|
|
|
<el-input v-model="editVehicleInfoForm.vehicleCompany" clearable
|
|
|
style="width:250px"
|
|
|
placeholder="请输入车辆公司"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="空闲时间:" prop="freetime">
|
|
|
<el-date-picker v-model="editVehicleInfoForm.freetime" type="datetime"
|
|
|
style="width:250px"
|
|
|
placeholder="选择调度时间"></el-date-picker>
|
|
|
</el-form-item>
|
|
|
<br>
|
|
|
</div>
|
|
|
</el-form>
|
|
|
<!--底部按钮区域-->
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="editDialogVisible = false">取 消</el-button>
|
|
|
<el-button type="primary" :loading="editLoading" @click="editVehicleInfo">编 辑</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</el-main>
|
|
|
</el-container>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
// import {
|
|
|
// selectVehicleInfoList,
|
|
|
// insertVehicleInfo,
|
|
|
// updateVehicleInfo,
|
|
|
// batchRemoveVehicleInfo,
|
|
|
// deleteVehicleInfo, deleteDispatchNote
|
|
|
// } from "../../api/dispatch_api";
|
|
|
|
|
|
export default {
|
|
|
name: "dispatch_api",
|
|
|
created() {
|
|
|
//获取车辆信息列表
|
|
|
this.getVehicleInfoList();
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
/**
|
|
|
* 查询信息列表
|
|
|
*/
|
|
|
queryInfo: {
|
|
|
//车牌号
|
|
|
licensePlateNumber: '',
|
|
|
//车辆所属公司
|
|
|
vehicleCompany: '',
|
|
|
//车辆状态
|
|
|
vehicleStatus: '',
|
|
|
//车辆类型
|
|
|
vehicleType: '',
|
|
|
//当前的页数
|
|
|
pageNum: 1,
|
|
|
//当前每页显示多少条数据
|
|
|
pageSize: 10
|
|
|
},
|
|
|
/**
|
|
|
* 设置,总条数
|
|
|
*/
|
|
|
total: 0,
|
|
|
/**
|
|
|
* 批量删除,选中列表
|
|
|
*/
|
|
|
sels: [],
|
|
|
/**
|
|
|
* 车辆信息列表
|
|
|
*/
|
|
|
vehicleInfoList: [],
|
|
|
/**
|
|
|
* 新增车辆信息表单
|
|
|
*/
|
|
|
addVehicleInfoForm: {
|
|
|
vehicleType: '2',
|
|
|
licensePlateNumber: '',
|
|
|
vehicleLoad: '',
|
|
|
isTrailer: '2',
|
|
|
vehicleCompany: '',
|
|
|
drivingLicenseNumber: '',
|
|
|
},
|
|
|
/**
|
|
|
* 编辑车辆信息表单
|
|
|
*/
|
|
|
editVehicleInfoForm: {},
|
|
|
/**
|
|
|
* 控制,添加车辆信息对话框的显示与隐藏
|
|
|
*/
|
|
|
addVehicleInfoFormVisible: false,
|
|
|
/**
|
|
|
* 控制,编辑车辆信息对话框的显示与隐藏
|
|
|
*/
|
|
|
editDialogVisible: false,
|
|
|
/* 列表加载 */
|
|
|
listLoading: false,
|
|
|
/* 添加加载 */
|
|
|
addLoading: false,
|
|
|
/* 编辑加载 */
|
|
|
editLoading: false,
|
|
|
/* 删除加载 */
|
|
|
delLoading: false,
|
|
|
/**
|
|
|
* 车辆类型,选项列表
|
|
|
*/
|
|
|
vehicleTypeList: [
|
|
|
{
|
|
|
value: '1',
|
|
|
label: '重型货车'
|
|
|
},
|
|
|
{
|
|
|
value: '2',
|
|
|
label: '中型货车'
|
|
|
},
|
|
|
{
|
|
|
value: '3',
|
|
|
label: '经济货车'
|
|
|
},
|
|
|
{
|
|
|
value: '4',
|
|
|
label: '微型货车'
|
|
|
},
|
|
|
{
|
|
|
value: '5',
|
|
|
label: '拖车'
|
|
|
},
|
|
|
{
|
|
|
value: '6',
|
|
|
label: '叉车'
|
|
|
}
|
|
|
],
|
|
|
/**
|
|
|
* 挂车与否,列表
|
|
|
*/
|
|
|
isTrailerList: [
|
|
|
{
|
|
|
value: '1',
|
|
|
label: '有挂车'
|
|
|
},
|
|
|
{
|
|
|
value: '2',
|
|
|
label: '没有挂车'
|
|
|
},
|
|
|
],
|
|
|
/**
|
|
|
* 车辆状态列表
|
|
|
*/
|
|
|
vehicleStatusList: [
|
|
|
{
|
|
|
value: '1',
|
|
|
label: '空闲状态'
|
|
|
},
|
|
|
{
|
|
|
value: '2',
|
|
|
label: '执行状态'
|
|
|
},
|
|
|
{
|
|
|
value: '3',
|
|
|
label: '在修状态'
|
|
|
},
|
|
|
{
|
|
|
value: '4',
|
|
|
label: '损坏未修状态'
|
|
|
},
|
|
|
{
|
|
|
value: '5',
|
|
|
label: '保养状态'
|
|
|
},
|
|
|
],
|
|
|
/**
|
|
|
* 添加车辆信息表单的验证规则对象
|
|
|
*/
|
|
|
addVehicleInfoFormRules: {
|
|
|
vehicleType: [
|
|
|
{required: true, message: '请选择车辆类型', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
licensePlateNumber: [
|
|
|
{required: true, message: '请输入车牌号', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
vehicleLoad: [
|
|
|
{required: true, message: '请输入车辆载重', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
isTrailer: [
|
|
|
{required: true, message: '请选择有无挂车', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
vehicleCompany: [
|
|
|
{required: true, message: '请输入车辆公司名称', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
drivingLicenseNumber: [
|
|
|
{required: true, message: '请输入车辆行驶证号', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
},
|
|
|
/**
|
|
|
* 编辑车辆信息表单的验证规则对象
|
|
|
*/
|
|
|
editVehicleInfoFormRules: {
|
|
|
vehicleStatus: [
|
|
|
{required: true, message: '请选择车辆状态', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
freetime: [
|
|
|
{required: true, message: '请选择开始空闲时间', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
vehicleType: [
|
|
|
{required: true, message: '请选择车辆类型', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
licensePlateNumber: [
|
|
|
{required: true, message: '请输入车牌号', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
vehicleLoad: [
|
|
|
{required: true, message: '请输入车辆载重', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
isTrailer: [
|
|
|
{required: true, message: '请选择有无挂车', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
vehicleCompany: [
|
|
|
{required: true, message: '请输入车辆公司名称', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
drivingLicenseNumber: [
|
|
|
{required: true, message: '请输入车辆行驶证号', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
/**
|
|
|
* 管理员端,获取车辆信息列表
|
|
|
*/
|
|
|
getVehicleInfoList() {
|
|
|
//开启加载
|
|
|
this.listLoading = true;
|
|
|
selectVehicleInfoList(this.queryInfo).then((response) => {
|
|
|
let res = response.data;
|
|
|
if (res.code !== '200') {
|
|
|
//关闭加载
|
|
|
this.listLoading = false;
|
|
|
return this.$message.error('获取车辆信息列表失败');
|
|
|
}
|
|
|
// 获取车辆信息列表数据
|
|
|
this.vehicleInfoList = res.data.list;
|
|
|
// 获取列表的总记录数
|
|
|
this.total = res.data.total;
|
|
|
//关闭加载
|
|
|
this.listLoading = false;
|
|
|
this.$message.success('获取车辆信息列表,成功');
|
|
|
}).catch(error => {
|
|
|
this.listLoading = false;
|
|
|
this.$message.error(error.toString());
|
|
|
});
|
|
|
},
|
|
|
/**
|
|
|
* 管理员端,增加车辆信息
|
|
|
*/
|
|
|
addVehicleInfo() {
|
|
|
/*进行表单的预验证*/
|
|
|
this.$refs.addVehicleInfoFormRef.validate(valid => {
|
|
|
// 未通过,表单预校验
|
|
|
if (!valid) return;
|
|
|
// 通过,表单预检验,发起添加车辆信息的网络请求,开启加载
|
|
|
this.addLoading = true;
|
|
|
insertVehicleInfo(this.addVehicleInfoForm).then((response) => {
|
|
|
let res = response.data;
|
|
|
//添加调度记录信息,失败
|
|
|
if (res.code !== '200') {
|
|
|
//关闭加载
|
|
|
this.addLoading = false;
|
|
|
if(res.code === '406'){
|
|
|
return this.$message.error('该车牌号已存在,请重新填写');
|
|
|
}
|
|
|
return this.$message.error('添加车辆信息,失败');
|
|
|
}
|
|
|
//关闭加载
|
|
|
this.addLoading = false;
|
|
|
this.$message.success('添加调度记录信息,成功');
|
|
|
//隐藏对话框
|
|
|
this.addVehicleInfoFormVisible = false;
|
|
|
//刷新车辆信息列表
|
|
|
this.getVehicleInfoList();
|
|
|
}).catch(error => {
|
|
|
this.addLoading = false;
|
|
|
this.$message.error(error.toString());
|
|
|
});
|
|
|
|
|
|
})
|
|
|
},
|
|
|
/**
|
|
|
* 管理员端,删除车辆信息
|
|
|
*/
|
|
|
removeVehicleInfo(index, row) {
|
|
|
//弹框询问是否删除车辆信息
|
|
|
this.$confirm('此操作永久删除该车辆信息, 是否继续?', '警告', {
|
|
|
confirmButtonText: '确定删除',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
}
|
|
|
).then(() => {
|
|
|
//开启加载
|
|
|
this.delLoading = true;
|
|
|
deleteVehicleInfo(row).then((response) => {
|
|
|
let res = response.data;
|
|
|
if (res.code !== '200') {
|
|
|
//关闭加载
|
|
|
this.delLoading = false;
|
|
|
return this.$message.error('删除车辆信息,失败');
|
|
|
}
|
|
|
//关闭加载
|
|
|
this.delLoading = false;
|
|
|
this.$message.success('删除车辆信息,成功!');
|
|
|
//刷新车辆信息列表
|
|
|
this.getVehicleInfoList();
|
|
|
}).catch(error => {
|
|
|
this.delLoading = false;
|
|
|
this.$message.error(error.toString());
|
|
|
});
|
|
|
}).catch(() => {
|
|
|
});
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 批量删除,之前的选中
|
|
|
*/
|
|
|
selsChange: function (sels) {
|
|
|
this.sels = sels;
|
|
|
},
|
|
|
/**
|
|
|
* 车辆状态为执行状态的时候,无法被选中
|
|
|
*/
|
|
|
isSelectable(row, index) {
|
|
|
if (row.vehicleStatus === '2') {
|
|
|
return false;
|
|
|
} else {
|
|
|
return true;
|
|
|
}
|
|
|
},
|
|
|
/**
|
|
|
* 批量删除功能
|
|
|
*/
|
|
|
batchRemove() {
|
|
|
var ids = this.sels.map(item => item.id).toString();
|
|
|
console.log(ids);
|
|
|
//弹框询问是否批量删除选中的车辆调度记录
|
|
|
this.$confirm('此操作永久删除选中的车辆信息, 是否继续?', '警告', {
|
|
|
confirmButtonText: '确定删除',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
}
|
|
|
).then(() => {
|
|
|
//开启加载
|
|
|
this.listLoading = true;
|
|
|
let params = {ids: ids};
|
|
|
batchRemoveVehicleInfo(params).then(response => {
|
|
|
let res = response.data;
|
|
|
if (res.code !== '200') {
|
|
|
this.listLoading = false;
|
|
|
return this.$message.error('批量删除车辆信息,失败');
|
|
|
}
|
|
|
this.$message.success('批量删除车辆信息,成功!');
|
|
|
this.listLoading = false;
|
|
|
//刷新车辆信息列表
|
|
|
this.getVehicleInfoList();
|
|
|
}).catch(error => {
|
|
|
this.delLoading = false;
|
|
|
this.$message.error(error.toString());
|
|
|
});
|
|
|
}).catch(() => {
|
|
|
});
|
|
|
},
|
|
|
/**
|
|
|
* 管理员端,编辑车辆信息
|
|
|
*/
|
|
|
editVehicleInfo() {
|
|
|
/*进行表单的预验证*/
|
|
|
this.$refs.editVehicleInfoFormRef.validate(valid => {
|
|
|
// 未通过,表单预校验
|
|
|
if (!valid) return;
|
|
|
// 通过,表单预校验,开启加载
|
|
|
this.editLoading = true;
|
|
|
updateVehicleInfo(this.editVehicleInfoForm).then((response) => {
|
|
|
let res = response.data;
|
|
|
if (res.code !== '200') {
|
|
|
//关闭加载
|
|
|
this.editLoading = false;
|
|
|
return this.$message.error('修改车辆信息,失败');
|
|
|
}
|
|
|
//关闭加载
|
|
|
this.editLoading = false;
|
|
|
this.$message.success('修改车辆信息,成功!');
|
|
|
//关闭编辑车辆信息对话框
|
|
|
this.editDialogVisible = false;
|
|
|
//刷新车辆信息列表
|
|
|
this.getVehicleInfoList();
|
|
|
}).catch(error => {
|
|
|
this.editLoading = false;
|
|
|
this.$message.error(error.toString());
|
|
|
});
|
|
|
})
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 添加车辆信息对话框,关闭时,重置对话框
|
|
|
*/
|
|
|
addVehicleInfoDialogClosed() {
|
|
|
this.$refs.addVehicleInfoFormRef.resetFields();
|
|
|
},
|
|
|
/**
|
|
|
* 编辑车辆信息对话框,关闭时,重置对话框
|
|
|
*/
|
|
|
editVehicleInfoDialogClosed() {
|
|
|
this.$refs.editVehicleInfoFormRef.resetFields();
|
|
|
},
|
|
|
/**
|
|
|
* 打开编辑车辆信息对话框
|
|
|
*/
|
|
|
showEditDialogVisible(index, row) {
|
|
|
this.editVehicleInfoForm = Object.assign({}, row);
|
|
|
this.editDialogVisible = true;
|
|
|
},
|
|
|
/**
|
|
|
* 监听pageSize改变的事件
|
|
|
*/
|
|
|
handleSizeChange(newSize) {
|
|
|
this.queryInfo.pageSize = newSize;
|
|
|
//刷新车辆信息列表
|
|
|
this.getVehicleInfoList();
|
|
|
|
|
|
},
|
|
|
/**
|
|
|
* 监听当前页码值改变的事件
|
|
|
*/
|
|
|
handleCurrentChange(newPage) {
|
|
|
this.queryInfo.pageNum = newPage;
|
|
|
//刷新车辆信息列表
|
|
|
this.getVehicleInfoList();
|
|
|
},
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
|
|
|
</style> |
...
|
...
|
|