...
|
...
|
@@ -2,724 +2,834 @@ |
|
|
<el-container>
|
|
|
<el-main>
|
|
|
<el-card style="background-color: #F5F7FA">
|
|
|
<!-- 搜素区域 -->
|
|
|
<div>
|
|
|
<el-form :model="queryInfo" :rules="queryFormRules" ref="queryFormRef" status-icon>
|
|
|
<el-form-item>
|
|
|
<el-col :span="4">
|
|
|
<el-form-item prop="gmtCreate">
|
|
|
<el-date-picker v-model="queryInfo.gmtCreate" type="date" value-format="yyyy-MM-dd"
|
|
|
placeholder="选择创建调度时间"
|
|
|
style="width: 200px"></el-date-picker>
|
|
|
<!--工具条-->
|
|
|
<el-row>
|
|
|
<el-form :model="filters" :rules="rules" ref="ruleForm">
|
|
|
<el-col :span="5">
|
|
|
<el-form-item label="" prop="trailerFrameNo">
|
|
|
<el-input v-model="filters.trailerFrameNo" placeholder="车牌号查询" style="width: 170px">
|
|
|
<template slot="prepend">车牌号</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="4" style="margin-left: 50px">
|
|
|
<el-form-item prop="dispatchType">
|
|
|
<el-select v-model="queryInfo.dispatchType" placeholder="请选择业务类型"
|
|
|
style="width: 200px"
|
|
|
clearable>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="" prop="veState">
|
|
|
<div class="my-text-area">
|
|
|
<div class="el-input-group__prepend prepand">备案状态</div>
|
|
|
<el-select v-model="filters.veState" placeholder="请选择" style="width: 100px">
|
|
|
<el-option
|
|
|
v-for="item in dispatchTypeList"
|
|
|
v-for="item in veStateOptions"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="4" style="margin-left: 50px">
|
|
|
<el-form-item prop="status">
|
|
|
<el-select v-model="queryInfo.status" placeholder="记录状态" clearable
|
|
|
style="width:200px;margin-left: 6px">
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="" prop="veClassFlag">
|
|
|
<div class="my-text-area">
|
|
|
<div class="el-input-group__prepend prepand">业务类型</div>
|
|
|
<el-select v-model="filters.veClassFlag" placeholder="请选择" style="width:100px">
|
|
|
<el-option
|
|
|
v-for="item in statusList"
|
|
|
v-for="item in options"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-button type="primary" style="margin-left: 60px"
|
|
|
@click="getDispatchNodeList">查询调度记录
|
|
|
</el-button>
|
|
|
<el-button type="success" style="margin-left: 15px" @click="dispatchFormVisible = true">
|
|
|
我要调度车辆
|
|
|
</el-button>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" v-on:click="getReCord(1)">查询</el-button>
|
|
|
<el-button type="success" @click="companyAdd">新增</el-button>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-form>
|
|
|
<el-row style="margin-top: 20px;">
|
|
|
</el-row>
|
|
|
</div>
|
|
|
<!--调度记录列表区域-->
|
|
|
<div style="margin-top: 20px;">
|
|
|
<el-table :data="DispatchNoteList" border highlight-current-row v-loading="listLoading"
|
|
|
:row-class-name="rowStatus"
|
|
|
element-loading-text="拼命加载中">
|
|
|
<el-table-column type="index" align="center"></el-table-column>
|
|
|
<el-table-column label="用户名称" prop="userName" align="center" width="100"></el-table-column>
|
|
|
<el-table-column label="联系方式" prop="userMobile" align="center" width="120"></el-table-column>
|
|
|
<el-table-column label="状态" prop="status" align="center" width="120">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.status ==='1'">完成状态</span>
|
|
|
<span v-if="scope.row.status ==='2'">执行状态</span>
|
|
|
<span v-if="scope.row.status ==='3'">取消状态</span>
|
|
|
<span v-if="scope.row.status ==='4'">待执行状态</span>
|
|
|
</template>
|
|
|
<!--列表-->
|
|
|
<el-table :data="recordList" highlight-current-row v-loading="listLoading" style="border-radius: 10px 10px 0px 0px;line-height: 25px"
|
|
|
:header-cell-style="{background:'#6F8294',color:'#FFFFFF'}" size="small">
|
|
|
<el-table-column type="selection" width="55" fixed="left">
|
|
|
</el-table-column>
|
|
|
<el-table-column label="业务类型" prop="dispatchType" align="center" width="120">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.dispatchType ==='1'">进站送货</span>
|
|
|
<span v-if="scope.row.dispatchType ==='2'">出站提货</span>
|
|
|
<span v-if="scope.row.dispatchType ==='3'">货物调拨</span>
|
|
|
<span v-if="scope.row.dispatchType ==='4'">货物流转</span>
|
|
|
</template>
|
|
|
<el-table-column prop="coCode" label="运输公司名称" width="120px" >
|
|
|
</el-table-column>
|
|
|
<el-table-column label="车牌号码" prop="licensePlateNumber" align="center"
|
|
|
width="120"></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 prop="proposer" label="挂靠单位" width="120px" >
|
|
|
</el-table-column>
|
|
|
<el-table-column label="场站位置" prop="station" align="center" width="120">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.station ==='1'">西货站</span>
|
|
|
<span v-if="scope.row.station ==='2'">综保区</span>
|
|
|
<span v-if="scope.row.station ==='3'">军投</span>
|
|
|
<span v-if="scope.row.station ==='4'">快邮</span>
|
|
|
</template>
|
|
|
<el-table-column prop="veClassFlag" label="业务类型" :formatter="veClassFlag" width="130px" >
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="domesticLisenceNo" label="国内车牌" width="100px">
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="veOwnerName" label="车主姓名" width="100px" >
|
|
|
</el-table-column>
|
|
|
<el-table-column label="创建时间" prop="gmtCreate" align="center" width="160"></el-table-column>
|
|
|
<el-table-column label="开始时间" prop="beginTime" align="center" width="160"></el-table-column>
|
|
|
<el-table-column label="完成时间" prop="endTime" align="center" width="160"></el-table-column>
|
|
|
<el-table-column label="操作" width="220px" fixed="right" align="center">
|
|
|
<el-table-column prop="ownerInsideTel" label="车主联系方式" width="110px" >
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="mainPort" label="关区代码" width="100px" >
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="selfWt" label="自重" width="90px">
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="veTon" label="载重" width="90px">
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="returnmessage" label="备案结果" width="100px">
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="createDate" label="创建时间" width="160px">
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="updateDate" label="更新时间" width="160px">
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" align="center" width="240" fixed="right">
|
|
|
<!-- v-if="isAdmin"-->
|
|
|
<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="showDialogVisible(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"
|
|
|
:disabled="scope.row.endTime!==null && scope.row.endTime!==''"
|
|
|
@click="cancelDispatch(scope.row)" :loading="cancelLoading">取消调度
|
|
|
</el-button>
|
|
|
</el-tooltip>
|
|
|
<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>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<!--分页区域-->
|
|
|
<div style="margin-top: 10px">
|
|
|
<!-- 分页-->
|
|
|
<div style="margin-top: 10px" class="toolbar">
|
|
|
<el-pagination
|
|
|
@size-change="handleSizeChange"
|
|
|
@current-change="handleCurrentChange"
|
|
|
:current-page="this.queryInfo.pageNum"
|
|
|
:page-sizes="[10,20,30,50]"
|
|
|
:page-size="this.queryInfo.pageSize"
|
|
|
:current-page="pageSize"
|
|
|
:page-sizes="[10, 100, 200, 300]"
|
|
|
:page-size="10"
|
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
|
:total="total">
|
|
|
:total="this.total">
|
|
|
</el-pagination>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-card>
|
|
|
<!-- 我要调度车辆,对话框 -->
|
|
|
<div>
|
|
|
<el-dialog
|
|
|
title="我要调度车辆"
|
|
|
:visible.sync="dispatchFormVisible"
|
|
|
width="50%" @close="dispatchDialogClosed">
|
|
|
<!-- :rules="dispatchFormRules" ref="dispatchFormRef"-->
|
|
|
<el-form :model="dispatchForm" label-width="100px" status-icon
|
|
|
:rules="dispatchFormRules" ref="dispatchFormRef"
|
|
|
style="margin-left:10%;margin-right:10%;background-color: #F5F7FA">
|
|
|
<br>
|
|
|
<el-form-item label="车辆类型:" prop="vehicleType">
|
|
|
<el-select v-model="dispatchForm.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-dialog :title=dialogMap[dialogStatus] :visible.sync="addFormVisible" :close-on-click-modal="false" width="80%" v-dialog-drag>
|
|
|
<el-form :model="addForm" label-width="20px" :rules="addFormRules" ref="addForm" label-position="left">
|
|
|
<el-row>
|
|
|
<el-col :span="7">
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="domesticLisenceNo">
|
|
|
<el-input v-model="addForm.domesticLisenceNo" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
|
|
|
@change="findTrailerFrameNo(addForm.domesticLisenceNo)"
|
|
|
auto-complete="on" placeholder="国内车牌">
|
|
|
<template slot="prepend">国内车牌</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="车辆数量:" prop="vehicleNumber">
|
|
|
<el-input-number style="width: 200px" v-model="dispatchForm.vehicleNumber"
|
|
|
:min="1" :max="100" controls-position="right">
|
|
|
</el-input-number>
|
|
|
<span style="margin-left:5px;font-size: 18px">辆</span>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="veOwnerName">
|
|
|
<el-input v-model="addForm.veOwnerName" auto-complete="on" placeholder="车主姓名">
|
|
|
<template slot="prepend">车主姓名</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="场站位置:" prop="station">
|
|
|
<el-select v-model="dispatchForm.station" style="width: 300px" clearable
|
|
|
placeholder="请选择场站位置">
|
|
|
<el-option
|
|
|
v-for="item in stationList"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="proposer">
|
|
|
<el-input v-model="addForm.proposer" auto-complete="on" placeholder="挂靠单位">
|
|
|
<template slot="prepend">挂靠单位</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="业务类型:" prop="dispatchType">
|
|
|
<el-select v-model="dispatchForm.dispatchType" style="width: 300px;" clearable
|
|
|
placeholder="请选择业务类型">
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="coCode">
|
|
|
<el-input v-model="addForm.coCode" auto-complete="on" placeholder="运输公司名称">
|
|
|
<template slot="prepend">运输公司名称</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="veClassFlag">
|
|
|
<div class="my-text-area">
|
|
|
<div class="el-input-group__prepend prepand">业务类型</div>
|
|
|
<el-select v-model="addForm.veClassFlag" placeholder="请选择" style="width: 165px">
|
|
|
<el-option
|
|
|
v-for="item in dispatchTypeList"
|
|
|
v-for="item in options"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<br>
|
|
|
</el-form>
|
|
|
<!--底部按钮区域-->
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="dispatchFormVisible = false">取 消</el-button>
|
|
|
<el-button type="primary" @click="dispatchVehicle" :loading="dispatchLoading">确定调度车辆</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
<!-- 查看调度记录,对话框 -->
|
|
|
<div>
|
|
|
<el-dialog
|
|
|
style="margin-top: -50px"
|
|
|
title="查看调度记录明细"
|
|
|
:visible.sync="viewDialogVisible"
|
|
|
text-align="center"
|
|
|
width="60%" @close="showDialogClosed">
|
|
|
<!-- 表单显示区域 :rules="dispatchFormRules" -->
|
|
|
<el-form :model="showForm" ref="showFormRef"
|
|
|
:inline="true" align="center"
|
|
|
style="background-color: #F5F7FA;margin-left: 5%;margin-right: 5%">
|
|
|
<div style="margin-top: -15px">
|
|
|
<br>
|
|
|
<el-form-item label="用户名称:" prop="userName">
|
|
|
<el-input v-model="showForm.userName" style="width: 200px;" size="small"
|
|
|
readonly></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="联系方式:" prop="userMobile">
|
|
|
<el-input v-model="showForm.userMobile" style="width: 200px;" size="small"
|
|
|
readonly></el-input>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label="" prop="icCode">
|
|
|
<el-input v-model="addForm.icCode" auto-complete="on" placeholder="IC卡编号">
|
|
|
<template slot="prepend">IC卡编号</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="车辆类型:" prop="vehicleType">
|
|
|
<el-select v-model="showForm.vehicleType" style="width:200px" size="small" readonly
|
|
|
placeholder="请选择车辆类型">
|
|
|
</el-row>
|
|
|
</el-col>
|
|
|
<el-col :offset="1" :span="7">
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="mainPort">
|
|
|
<div class="my-text-area">
|
|
|
<div class="el-input-group__prepend prepand">海关代码</div>
|
|
|
<el-select v-model="addForm.mainPort" placeholder="请选择" style="width: 165px">
|
|
|
<el-option
|
|
|
v-for="item in vehicleTypeList"
|
|
|
v-for="item in mainPortOptions"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="车牌号码:" prop="licensePlateNumber">
|
|
|
<el-input v-model="showForm.licensePlateNumber" style="width: 200px;" size="small"
|
|
|
readonly></el-input>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="ownerInsideTel">
|
|
|
<el-input v-model="addForm.ownerInsideTel" auto-complete="on" placeholder="车主联系电话">
|
|
|
<template slot="prepend">车主联系电话</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="场站位置:" prop="station">
|
|
|
<el-select v-model="showForm.station" style="width:200px" readonly size="small"
|
|
|
placeholder="请选择场站位置">
|
|
|
<el-option
|
|
|
v-for="item in stationList"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="veFactoryDate">
|
|
|
<div class="my-text-area">
|
|
|
<div class="el-input-group__prepend prepand">行驶证有效期</div>
|
|
|
<el-date-picker
|
|
|
style="width: 165px"
|
|
|
v-model="addForm.veFactoryDate"
|
|
|
type="date"
|
|
|
placeholder="选择日期">
|
|
|
</el-date-picker>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="业务类型:" prop="dispatchType">
|
|
|
<el-select v-model="showForm.dispatchType" style="width:200px" readonly size="small"
|
|
|
placeholder="请选择业务类型">
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="veState">
|
|
|
<div class="my-text-area">
|
|
|
<div class="el-input-group__prepend prepand">备案状态</div>
|
|
|
<el-select v-model="addForm.veState" placeholder="请选择" style="width: 165px">
|
|
|
<el-option
|
|
|
v-for="item in dispatchTypeList"
|
|
|
v-for="item in veStateOptions"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="selfWt">
|
|
|
<el-input v-model="addForm.selfWt" auto-complete="on" oninput="value=value.replace(/[^\d.+]/g,'')" placeholder="单位为KG">
|
|
|
<template slot="prepend">自重/空车重量</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="lockNum">
|
|
|
<div class="my-text-area">
|
|
|
<div class="el-input-group__prepend prepand">关锁号</div>
|
|
|
<el-autocomplete
|
|
|
class="inline-input"
|
|
|
v-model="addForm.lockNum"
|
|
|
:fetch-suggestions="querySearch"
|
|
|
value-key="lockNum"
|
|
|
highlight-first-item
|
|
|
clearable
|
|
|
placeholder="请输入内容"
|
|
|
style="width: 165px"
|
|
|
></el-autocomplete>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-row>
|
|
|
</el-col>
|
|
|
<el-col :offset="1" :span="7">
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="veTon">
|
|
|
<el-input v-model="addForm.veTon" auto-complete="on" placeholder="核定载货重量">
|
|
|
<template slot="prepend">载货重量</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="trailerLicenseNo">
|
|
|
<el-input v-model="addForm.trailerLicenseNo" auto-complete="on" placeholder="挂车牌号">
|
|
|
<template slot="prepend">挂车牌号</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="trailerFrameNo">
|
|
|
<el-input v-model="addForm.trailerFrameNo" auto-complete="on" placeholder="挂车车架号">
|
|
|
<template slot="prepend">挂车架号</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="创建时间:" prop="gmtCreate">
|
|
|
<el-input v-model="showForm.gmtCreate" style="width: 200px;" size="small"
|
|
|
readonly></el-input>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="apprNo">
|
|
|
<el-input v-model="addForm.apprNo" auto-complete="on" placeholder="车辆备案编号">
|
|
|
<template slot="prepend">车辆备案编号</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="开始时间:" prop="beginTime">
|
|
|
<el-input v-model="showForm.beginTime" style="width: 200px;" size="small"
|
|
|
readonly></el-input>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="veCustomsNo">
|
|
|
<el-input v-model="addForm.veCustomsNo" auto-complete="on" placeholder="电子车牌编号">
|
|
|
<template slot="prepend">电子车牌编号</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="结束时间:" prop="endTime">
|
|
|
<el-input v-model="showForm.endTime" style="width: 200px;" size="small"
|
|
|
readonly></el-input>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-form-item label=" " prop="memo">
|
|
|
<el-input v-model="addForm.memo" auto-complete="on" placeholder="备注">
|
|
|
<template slot="prepend">备注</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="记录状态:" prop="status">
|
|
|
<el-select v-model="showForm.status" placeholder="记录状态" style="width:200px" size="small"
|
|
|
readonly>
|
|
|
</el-row>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="addFormVisible = false" type="danger"
|
|
|
style="width: 100px">取消</el-button>
|
|
|
<el-button type="primary" style="width: 100px"
|
|
|
@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 statusList"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
v-for="item in usernames"
|
|
|
:key="item.username"
|
|
|
:label="item.username"
|
|
|
:value="item.username"
|
|
|
:disabled="item.disabled">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<br>
|
|
|
</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>
|
|
|
<!--底部按钮区域-->
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="viewDialogVisible = false">结束查看</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
<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>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import {selectDispatchNoteList, dispatch, cancel, getUser} from '../../api/dispatch_api'
|
|
|
// import {selectDispatchNoteList, dispatch, cancel, getUser} from '../../api/dispatch_api'
|
|
|
|
|
|
import { list, save, remove, edit} from '../../api/road_verecord/verecord';
|
|
|
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 {
|
|
|
name: 'dispatch_api',
|
|
|
created() {
|
|
|
|
|
|
},
|
|
|
data() {
|
|
|
/**
|
|
|
* 验证手机号的自定义规则
|
|
|
*/
|
|
|
var userMobileValid = (rule, value, callback) => {
|
|
|
//验证手机号的正则表达式
|
|
|
const regMobile = /^(0|86|17951)?(13[0-9]|15[0123456789]|17[678]|18[0-9]|14[57])[0-9]{8}$/;
|
|
|
if (regMobile.test(value)) {
|
|
|
//合法的手机号
|
|
|
return callback();
|
|
|
}
|
|
|
callback(new Error('请输入合法的手机号'));
|
|
|
};
|
|
|
return {
|
|
|
/**
|
|
|
* 查询列表
|
|
|
*/
|
|
|
queryInfo: {
|
|
|
//用户姓名
|
|
|
userName: '',
|
|
|
//用户联系方式
|
|
|
userMobile: '',
|
|
|
//记录状态
|
|
|
status: '',
|
|
|
//调度时间
|
|
|
gmtCreate: new Date(),
|
|
|
//业务类型
|
|
|
dispatchType: '',
|
|
|
//当前的页数
|
|
|
pageNum: 1,
|
|
|
//当前每页显示多少条数据
|
|
|
pageSize: 10
|
|
|
filters: {
|
|
|
trailerFrameNo: '',
|
|
|
veState: '',
|
|
|
veClassFlag: '',
|
|
|
},
|
|
|
/**
|
|
|
* 记录列表,总条数
|
|
|
*/
|
|
|
total: 0,
|
|
|
/**
|
|
|
* 所有,调度记录列表
|
|
|
*/
|
|
|
DispatchNoteList: [],
|
|
|
/**
|
|
|
* 我要调度车辆,表单
|
|
|
*/
|
|
|
dispatchForm: {
|
|
|
userName: '',
|
|
|
userMobile: '',
|
|
|
//车辆数量
|
|
|
vehicleNumber: 1,
|
|
|
//车辆类型
|
|
|
vehicleType: '2',
|
|
|
//场站位置
|
|
|
station: '1',
|
|
|
//调度业务类型
|
|
|
dispatchType: '1'
|
|
|
rules: {
|
|
|
// trailerFrameNo: [
|
|
|
// { required: true, message: '请输入车牌号', trigger: 'blur' },
|
|
|
// // { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
|
|
|
// ],
|
|
|
// veState: [
|
|
|
// { required: true, message: '请选择备案状态', trigger: 'change' }
|
|
|
// ],
|
|
|
// veClassFlag: [
|
|
|
// { required: true, message: '请选择业务类型', trigger: 'change' }
|
|
|
// ],
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 查看记录明细,表单
|
|
|
*/
|
|
|
showForm: {},
|
|
|
/**
|
|
|
* 控制添加用户对话框的显示与隐藏
|
|
|
*/
|
|
|
dispatchFormVisible: false,
|
|
|
/**
|
|
|
* 控制查看调度记录明细,对话框的显示与隐藏
|
|
|
*/
|
|
|
viewDialogVisible: false,
|
|
|
/**
|
|
|
* loading加载
|
|
|
*/
|
|
|
/* 获取列表时的加载 */
|
|
|
recordList: [],
|
|
|
lockInfoList: [],
|
|
|
total: 0,
|
|
|
pageSize: 1,
|
|
|
limitSize: 10,
|
|
|
listLoading: false,
|
|
|
/* 调度车辆时的加载 */
|
|
|
dispatchLoading: false,
|
|
|
/* 取消调度时的加载 */
|
|
|
cancelLoading: false,
|
|
|
/**
|
|
|
* 业务类型,选项列表
|
|
|
*/
|
|
|
dispatchTypeList: [
|
|
|
{
|
|
|
value: '1',
|
|
|
label: '进站送货'
|
|
|
},
|
|
|
{
|
|
|
value: '2',
|
|
|
label: '出站提货'
|
|
|
isAdmin: false,
|
|
|
addFormVisible: false,
|
|
|
disabledOne: true,
|
|
|
dialogMap: {
|
|
|
edit: '编辑',
|
|
|
save: '新增'
|
|
|
},
|
|
|
{
|
|
|
value: '3',
|
|
|
label: '货物流转'
|
|
|
dialogStatus: undefined,
|
|
|
addloading: false,
|
|
|
addForm: {
|
|
|
mainPort: '4604',
|
|
|
proposer: '',
|
|
|
coCode: '',
|
|
|
domesticLisenceNo: '',
|
|
|
veOwnerName: '',
|
|
|
ownerInsideTel: '',
|
|
|
veFactoryDate: '',
|
|
|
selfWt: '',
|
|
|
veTon: '',
|
|
|
trailerLicenseNo: '',
|
|
|
apprNo: '',
|
|
|
veClassFlag: '',
|
|
|
memo: '',
|
|
|
createBy: '',
|
|
|
veState: 'N',
|
|
|
icCode: '',
|
|
|
lockNum: ''
|
|
|
},
|
|
|
{
|
|
|
value: '4',
|
|
|
label: '货物调拨'
|
|
|
}
|
|
|
],
|
|
|
/**
|
|
|
* 车辆类型,选项列表
|
|
|
*/
|
|
|
vehicleTypeList: [
|
|
|
{
|
|
|
options: [{
|
|
|
value: '0',
|
|
|
label: '普通车辆'
|
|
|
}, {
|
|
|
value: '1',
|
|
|
label: '重型货车'
|
|
|
},
|
|
|
{
|
|
|
label: '调拨车辆'
|
|
|
},{
|
|
|
value: '2',
|
|
|
label: '中型货车'
|
|
|
},
|
|
|
{
|
|
|
value: '3',
|
|
|
label: '经济货车'
|
|
|
},
|
|
|
{
|
|
|
value: '4',
|
|
|
label: '微型货车'
|
|
|
},
|
|
|
{
|
|
|
value: '5',
|
|
|
label: '拖车'
|
|
|
},
|
|
|
{
|
|
|
value: '6',
|
|
|
label: '叉车'
|
|
|
}
|
|
|
],
|
|
|
/**
|
|
|
* 记录状态,列表
|
|
|
*/
|
|
|
statusList: [
|
|
|
{
|
|
|
value: '1',
|
|
|
label: '完成状态'
|
|
|
},
|
|
|
{
|
|
|
value: '2',
|
|
|
label: '执行状态'
|
|
|
},
|
|
|
{
|
|
|
value: '3',
|
|
|
label: '取消状态'
|
|
|
},
|
|
|
{
|
|
|
value: '4',
|
|
|
label: '待执行状态'
|
|
|
}
|
|
|
],
|
|
|
label: '分拨车辆'
|
|
|
}],
|
|
|
mainPortOptions: [{
|
|
|
value: '4604',
|
|
|
label: '4604'
|
|
|
}, {
|
|
|
value: '4620',
|
|
|
label: '4620'
|
|
|
}],
|
|
|
|
|
|
/**
|
|
|
* 场站位置,选项列表
|
|
|
*/
|
|
|
stationList: [
|
|
|
{
|
|
|
value: '1',
|
|
|
label: '西货站'
|
|
|
},
|
|
|
{
|
|
|
value: '2',
|
|
|
label: '综保区'
|
|
|
},
|
|
|
{
|
|
|
value: '3',
|
|
|
label: '军投'
|
|
|
},
|
|
|
{
|
|
|
value: '4',
|
|
|
label: '快邮'
|
|
|
}
|
|
|
veStateOptions: [{
|
|
|
value: 'Y',
|
|
|
label: '黑名单'
|
|
|
}, {
|
|
|
value: 'N',
|
|
|
label: '白名单'
|
|
|
}],
|
|
|
addFormRules: {
|
|
|
mainPort: [
|
|
|
{ required: true, message: '请输入海关关区', trigger: 'blur' }
|
|
|
],
|
|
|
|
|
|
queryFormRules: {
|
|
|
userName: [
|
|
|
{required: true, message: '请输入姓名', trigger: ['blur', 'change']},
|
|
|
proposer: [
|
|
|
{ required: true, message: '请输入挂靠单位', trigger: 'blur' }
|
|
|
],
|
|
|
userMobile: [
|
|
|
{required: true, message: '请输入联系方式', trigger: ['blur', 'change']},
|
|
|
{validator: userMobileValid, trigger: 'blur'}
|
|
|
coCode: [
|
|
|
{ required: true, message: '请输入运输公司名称', trigger: 'blur' }
|
|
|
],
|
|
|
},
|
|
|
/**
|
|
|
* 调度车辆表单的验证规则对象
|
|
|
*/
|
|
|
dispatchFormRules: {
|
|
|
status: [
|
|
|
{required: true, message: '请选择记录状态', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
gmtCreate: [
|
|
|
{required: true, message: '请选择创建时间', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
endTime: [
|
|
|
{required: true, message: '请选择结束时间', trigger: ['blur', 'change']},
|
|
|
],
|
|
|
licensePlateNumber: [
|
|
|
{required: true, message: '请输入车牌号', trigger: ['blur', 'change']},
|
|
|
domesticLisenceNo: [
|
|
|
{ required: true, message: '请输入国内车牌', trigger: 'blur' }
|
|
|
],
|
|
|
userName: [
|
|
|
{required: true, message: '请输入姓名', trigger: ['blur', 'change']},
|
|
|
veOwnerName: [
|
|
|
{ required: true, message: '请输入车主姓名', trigger: 'blur' }
|
|
|
],
|
|
|
userMobile: [
|
|
|
{required: true, message: '请输入联系方式', trigger: ['blur', 'change']},
|
|
|
{validator: userMobileValid, trigger: 'blur'}
|
|
|
veClassFlag: [
|
|
|
{ required: true, message: '请选择车辆属性', trigger: 'blur' }
|
|
|
],
|
|
|
vehicleType: [
|
|
|
{required: true, message: '请选择车辆类型', trigger: ['blur', 'change']},
|
|
|
|
|
|
],
|
|
|
vehicleNumber: [
|
|
|
{required: true, message: '请选择车辆数量', trigger: ['blur', 'change']},
|
|
|
ownerInsideTel: [
|
|
|
{ required: true, message: '手机号不能为空', trigger: 'blur' },
|
|
|
{ type: 'number', message: '手机号格式不正确', trigger: 'blur',
|
|
|
transform(value){
|
|
|
var phone = 11 && /^((13|14|15|16|17|18|19)[0-9]{1}\d{8})$/
|
|
|
if (!phone.test(value)){
|
|
|
return false;
|
|
|
}else {
|
|
|
return Number(value);
|
|
|
}
|
|
|
}}
|
|
|
],
|
|
|
station: [
|
|
|
{required: true, message: '请选择场站位置', trigger: ['blur', 'change']},
|
|
|
veFactoryDate: [
|
|
|
{ required: true, message: '请选择驾驶证有效期', trigger: 'blur' }
|
|
|
],
|
|
|
dispatchType: [
|
|
|
{required: true, message: '请选择调度业务类型', trigger: ['blur', 'change']},
|
|
|
selfWt: [
|
|
|
{ required: true, message: '请输入车辆自重', trigger: 'blur' }
|
|
|
],
|
|
|
veState: [
|
|
|
{ required: true, message: '请选择备案状态', trigger: 'blur' }
|
|
|
]
|
|
|
},
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
/**
|
|
|
* 监听,调度车辆对话框的关闭事件
|
|
|
*/
|
|
|
dispatchDialogClosed() {
|
|
|
//重置对话框
|
|
|
this.$refs.dispatchFormRef.resetFields();
|
|
|
dialogVisible:false,
|
|
|
form: {
|
|
|
lisenceNo: '',
|
|
|
username: '',
|
|
|
id:'',
|
|
|
starttime:''
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 监听,查看调度记录对话框的关闭事件
|
|
|
*/
|
|
|
showDialogClosed() {
|
|
|
//重置对话框
|
|
|
this.$refs.showFormRef.resetFields();
|
|
|
usernames:[],
|
|
|
queryInfo: {
|
|
|
vno: '',
|
|
|
vnocolor: '2'
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 监听pageSize改变的事件
|
|
|
*/
|
|
|
handleSizeChange(newSize) {
|
|
|
this.queryInfo.pageSize = newSize;
|
|
|
//刷新调度记录列表
|
|
|
this.getDispatchNodeList();
|
|
|
lisenceNoSatus:'',
|
|
|
formLabelWidth: '120px',
|
|
|
loading:false,
|
|
|
}
|
|
|
},
|
|
|
/**
|
|
|
* 监听当前页码值改变的事件
|
|
|
*/
|
|
|
handleCurrentChange(newPage) {
|
|
|
this.queryInfo.pageNum = newPage;
|
|
|
//刷新调度记录列表
|
|
|
this.getDispatchNodeList();
|
|
|
mounted() {
|
|
|
this.isAdmin = isAdmin();
|
|
|
this.getReCord();
|
|
|
},
|
|
|
/**
|
|
|
* 打开,查看调度记录明细,对话框
|
|
|
* @param row
|
|
|
*/
|
|
|
showDialogVisible(row) {
|
|
|
this.showForm = row;
|
|
|
this.viewDialogVisible = true;
|
|
|
methods: {
|
|
|
//出任务
|
|
|
handlOut(index,row){
|
|
|
this.dialogVisible=true;
|
|
|
this.form.lisenceNo=row.domesticLisenceNo;
|
|
|
this.getUsers();
|
|
|
this.getLisenceNoStatus(row.domesticLisenceNo)
|
|
|
},
|
|
|
/**
|
|
|
* 用户端,获取车辆调度记录
|
|
|
*/
|
|
|
getDispatchNodeList() {
|
|
|
this.listLoading = true;
|
|
|
selectDispatchNoteList(this.queryInfo).then((response) => {
|
|
|
let res = response.data;
|
|
|
//确定出任务
|
|
|
saveOut() {
|
|
|
const _this = this
|
|
|
insertSelective(this.form).then((response) => {
|
|
|
const res = response.data
|
|
|
if (res.code !== '200') {
|
|
|
this.listLoading = false;
|
|
|
return this.$message.error('获取车辆调度列表失败');
|
|
|
return _this.$message.error('出任务,失败!')
|
|
|
}
|
|
|
// 获取车辆调度列表数据
|
|
|
this.DispatchNoteList = res.data.list;
|
|
|
// 获取列表的总记录数
|
|
|
this.total = res.data.total;
|
|
|
this.listLoading = false;
|
|
|
this.$message.success('获取车辆调度列表,成功!');
|
|
|
_this.$message.success('出任务,成功!')
|
|
|
this.dialogVisible=false;
|
|
|
this.$router.push(
|
|
|
{
|
|
|
path:'conveyance'
|
|
|
}
|
|
|
)
|
|
|
}).catch(error => {
|
|
|
this.listLoading = false;
|
|
|
// 关闭加载
|
|
|
_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());
|
|
|
});
|
|
|
|
|
|
},
|
|
|
/**
|
|
|
* 用户端,我要调度车辆,方法
|
|
|
*/
|
|
|
dispatchVehicle() {
|
|
|
this.dispatchLoading = true;
|
|
|
dispatch(this.dispatchForm).then((response) => {
|
|
|
let res = response.data;
|
|
|
if (res.code !== '200') {
|
|
|
this.dispatchLoading = false;
|
|
|
return this.$message.error('车辆繁忙,请稍后重试');
|
|
|
}
|
|
|
//关闭加载
|
|
|
this.dispatchLoading = false;
|
|
|
this.$message.success('调度车辆成功!');
|
|
|
//调度成功,隐藏对话框
|
|
|
this.dispatchFormVisible = false;
|
|
|
/* 将调度车辆信息=>查询列表 */
|
|
|
// 用户名称
|
|
|
this.queryInfo.userName = this.dispatchForm.userName;
|
|
|
// 联系方式
|
|
|
this.queryInfo.userMobile = this.dispatchForm.userMobile;
|
|
|
// 调度业务类型
|
|
|
this.queryInfo.dispatchType = this.dispatchForm.dispatchType;
|
|
|
// 创建时间为当前时间(需留意)
|
|
|
this.queryInfo.gmtCreate = new Date();
|
|
|
//刷新车辆调度列表
|
|
|
this.getDispatchNodeList();
|
|
|
//车辆状态
|
|
|
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.dispatchLoading = false;
|
|
|
this.$message.error(error.toString());
|
|
|
this.$message.error('获取车辆状态失败:' + error.toString());
|
|
|
});
|
|
|
},
|
|
|
/**
|
|
|
* 用户端,取消调度车辆,方法
|
|
|
*/
|
|
|
cancelDispatch(row) {
|
|
|
//弹框询问是否取消车辆调度
|
|
|
this.$confirm('此操作将取消该车辆的调度, 是否继续?', '警告', {
|
|
|
confirmButtonText: '确定取消调度',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
//获取备案列表
|
|
|
getReCord(val) {
|
|
|
let pageSize = this.pageSize;
|
|
|
if (val != undefined){
|
|
|
pageSize = val;
|
|
|
}
|
|
|
).then(() => {
|
|
|
//开启加载
|
|
|
this.cancelLoading = true;
|
|
|
cancel(row).then((response) => {
|
|
|
let res = response.data;
|
|
|
if (res.code !== '200') {
|
|
|
this.cancelLoading = false;
|
|
|
return this.$message.error('取消车辆调度,失败!请人工介入');
|
|
|
let para = {
|
|
|
pageSize: pageSize,
|
|
|
limitSize: this.limitSize,
|
|
|
trailerFrameNo: this.filters.trailerFrameNo,
|
|
|
veState: this.filters.veState,
|
|
|
veClassFlag: this.filters.veClassFlag,
|
|
|
userId: loginedUserInfo().userId
|
|
|
};
|
|
|
if (isAdmin()){
|
|
|
para.userId = '';
|
|
|
}
|
|
|
this.listLoading = true;
|
|
|
list(para).then((res) => {
|
|
|
this.total = res.data.data.total;
|
|
|
this.recordList = res.data.data.list;
|
|
|
this.listLoading = false;
|
|
|
}).catch((error) => {
|
|
|
this.listLoading = false;
|
|
|
if(null!= error.response && error.response!==undefined){
|
|
|
let status= error.response.status;
|
|
|
let msg = error.response.statusText;
|
|
|
alert(status+msg);
|
|
|
}else {
|
|
|
alert(error);
|
|
|
}
|
|
|
//关闭加载
|
|
|
this.cancelLoading = false;
|
|
|
this.$message.success('取消调度车辆,成功!');
|
|
|
//刷新车辆调度列表
|
|
|
this.getDispatchNodeList();
|
|
|
}).catch(error => {
|
|
|
//关闭加载
|
|
|
this.cancelLoading = false;
|
|
|
this.$message.error(error.toString());
|
|
|
});
|
|
|
}).catch(() => {
|
|
|
},
|
|
|
|
|
|
// 分页
|
|
|
handleSizeChange(val) {
|
|
|
this.limitSize = val;
|
|
|
this.getReCord();
|
|
|
},
|
|
|
handleCurrentChange(val) {
|
|
|
this.pageSize = val;
|
|
|
this.getReCord();
|
|
|
|
|
|
},
|
|
|
|
|
|
findTrailerFrameNo(value){
|
|
|
let para = {
|
|
|
trailerFrameNo: value
|
|
|
};
|
|
|
list(para).then((res) => {
|
|
|
if (res.data.data.total > 0){
|
|
|
this.addForm.mainPort = res.data.data.list[0].mainPort;
|
|
|
this.addForm.proposer = res.data.data.list[0].proposer;
|
|
|
this.addForm.coCode = res.data.data.list[0].coCode;
|
|
|
this.addForm.domesticLisenceNo = res.data.data.list[0].domesticLisenceNo;
|
|
|
this.addForm.veOwnerName = res.data.data.list[0].veOwnerName;
|
|
|
this.addForm.ownerInsideTel = res.data.data.list[0].ownerInsideTel;
|
|
|
this.addForm.veFactoryDate = res.data.data.list[0].veFactoryDate;
|
|
|
this.addForm.selfWt = res.data.data.list[0].selfWt;
|
|
|
this.addForm.veTon = res.data.data.list[0].veTon;
|
|
|
this.addForm.trailerLicenseNo = res.data.data.list[0].trailerLicenseNo;
|
|
|
this.addForm.apprNo = res.data.data.list[0].apprNo;
|
|
|
this.addForm.veClassFlag = res.data.data.list[0].veClassFlag;
|
|
|
this.addForm.memo = res.data.data.list[0].memo;
|
|
|
this.addForm.veState = res.data.data.list[0].veState;
|
|
|
this.$message({
|
|
|
message: '该车辆已有备案',
|
|
|
type: 'error'
|
|
|
});
|
|
|
}else {
|
|
|
this.$message({
|
|
|
message: '该车辆没有备案',
|
|
|
type: 'success'
|
|
|
});
|
|
|
this.addForm.mainPort = '4604';
|
|
|
this.addForm.proposer = '';
|
|
|
this.addForm.coCode = '';
|
|
|
this.addForm.veOwnerName = '';
|
|
|
this.addForm.ownerInsideTel = '';
|
|
|
this.addForm.veFactoryDate = '';
|
|
|
this.addForm.selfWt = '';
|
|
|
this.addForm.veTon = '';
|
|
|
this.addForm.trailerLicenseNo = '';
|
|
|
this.addForm.apprNo = '';
|
|
|
this.addForm.veClassFlag = '';
|
|
|
this.addForm.memo = '';
|
|
|
this.addForm.veState = 'N';
|
|
|
}
|
|
|
}).catch((error) => {
|
|
|
if(null!= error.response && error.response!==undefined){
|
|
|
let status= error.response.status;
|
|
|
let msg = error.response.statusText;
|
|
|
alert(status+msg);
|
|
|
}else {
|
|
|
alert(error);
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
/**
|
|
|
* 获取用户信息
|
|
|
*/
|
|
|
getUserInfo(param) {
|
|
|
getUser(param).then((response) => {
|
|
|
let res = response.data;
|
|
|
if (res.code !== '200') {
|
|
|
return this.$message.error('网络异常,请刷新界面!');
|
|
|
|
|
|
veClassFlag: function(row, column){
|
|
|
if (row.veClassFlag == '0'){
|
|
|
return "普通车辆"
|
|
|
}else if(row.veClassFlag == '1'){
|
|
|
return "调拨车辆"
|
|
|
}else if (row.veClassFlag == '2'){
|
|
|
return "分拨车辆"
|
|
|
}
|
|
|
if (res.data.list.length === 0) {
|
|
|
return this.$message.error('网络异常,请刷新界面!');
|
|
|
},
|
|
|
handleDel(index, row){
|
|
|
this.$confirm('确认删除吗?', '提示', {}).then(() => {
|
|
|
let param = {
|
|
|
id: row.id,
|
|
|
domesticLisenceNo: row.domesticLisenceNo,
|
|
|
mainPort: row.mainPort
|
|
|
}
|
|
|
if (res.data.list[0].mobilephone === null || res.data.list[0].mobilephone === '') {
|
|
|
return this.$message.error('请填写您的手机号码');
|
|
|
remove(param).then((res) => {
|
|
|
if (res.data.code == 200){
|
|
|
this.$message({
|
|
|
message: '删除成功',
|
|
|
type: 'success'
|
|
|
});
|
|
|
}else {
|
|
|
this.$message({
|
|
|
message: '删除失败',
|
|
|
type: 'error'
|
|
|
});
|
|
|
}
|
|
|
this.queryInfo.userMobile = res.data.list[0].mobilephone;
|
|
|
this.dispatchForm.userMobile = res.data.list[0].mobilephone;
|
|
|
this.$message.success('欢迎使用,车辆调度系统!');
|
|
|
this.getReCord();
|
|
|
}).catch((error) => {
|
|
|
this.$message.error(error.toString());
|
|
|
|
|
|
});
|
|
|
}).catch(() =>{
|
|
|
|
|
|
});
|
|
|
},
|
|
|
/**
|
|
|
* 根据状态的不同区分颜色
|
|
|
*
|
|
|
* @param row
|
|
|
* @param rowIndex
|
|
|
*/
|
|
|
rowStatus({row, rowIndex}) {
|
|
|
if (row.status === '1') {
|
|
|
return 'success-row';
|
|
|
|
|
|
companyAdd:function(){
|
|
|
this.dialogStatus= "save";
|
|
|
this.addFormVisible = true;
|
|
|
this.$refs.addForm.resetFields();
|
|
|
if (this.$refs.addForm !==undefined) {
|
|
|
this.$refs.addForm.resetFields();
|
|
|
}
|
|
|
},
|
|
|
handlEdit:function(index, row){
|
|
|
this.dialogStatus = "edit";
|
|
|
this.addFormVisible = true;
|
|
|
this.addForm = Object.assign({}, row);
|
|
|
},
|
|
|
|
|
|
addSubmit:function(){
|
|
|
this.$refs.addForm.validate((valid) => {
|
|
|
if (valid) {
|
|
|
this.$confirm('确认提交吗?', '提示', {}).then(() => {
|
|
|
this.addloading = true;
|
|
|
this.addForm.createBy = JSON.parse(sessionStorage.getItem('user')).id;
|
|
|
let para = Object.assign({}, this.addForm);
|
|
|
save(para).then((res) => {
|
|
|
if (res.data.code == 200){
|
|
|
this.$message({
|
|
|
message: '提交成功',
|
|
|
type: 'success'
|
|
|
});
|
|
|
this.addFormVisible = false;
|
|
|
this.addloading = false;
|
|
|
this.getReCord();
|
|
|
}else {
|
|
|
this.addloading = false;
|
|
|
this.$message({
|
|
|
message: res.data.msg,
|
|
|
type: 'error'
|
|
|
});
|
|
|
}
|
|
|
if (row.status === '2') {
|
|
|
return 'run-row';
|
|
|
}).catch((error) => {
|
|
|
alert(error);
|
|
|
this.addloading = false;
|
|
|
});
|
|
|
})
|
|
|
} else {
|
|
|
console.log('error submit!!');
|
|
|
this.addloading = false;
|
|
|
return false;
|
|
|
}
|
|
|
if (row.status === '3') {
|
|
|
return 'cancel-row';
|
|
|
});
|
|
|
},
|
|
|
|
|
|
editSubmit:function(){
|
|
|
this.$refs.addForm.validate((valid) => {
|
|
|
if (valid) {
|
|
|
this.$confirm('确认提交吗?', '提示', {}).then(() => {
|
|
|
this.addloading = true;
|
|
|
let para = Object.assign({}, this.addForm);
|
|
|
edit(para).then((res) => {
|
|
|
if (res.data.code == 200){
|
|
|
this.$message({
|
|
|
message: '修改成功',
|
|
|
type: 'success'
|
|
|
});
|
|
|
this.addFormVisible = false
|
|
|
this.addloading = false;
|
|
|
this.getReCord();
|
|
|
}else {
|
|
|
this.addloading = false;
|
|
|
this.$message({
|
|
|
message: res.data.msg,
|
|
|
type: 'error'
|
|
|
});
|
|
|
}
|
|
|
if (row.status === '4') {
|
|
|
return 'await-row';
|
|
|
}).catch((error) => {
|
|
|
alert(error);
|
|
|
this.addloading = false;
|
|
|
});
|
|
|
})
|
|
|
} else {
|
|
|
this.addloading = false;
|
|
|
console.log('error submit!!');
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
operationType:function (row, column) {
|
|
|
if (row.operationType == '1'){
|
|
|
return '审批通过'
|
|
|
}else if (row.operationType == '0'){
|
|
|
return '需手动审批通过'
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
|
|
var user = sessionStorage.getItem('user');
|
|
|
if (user) {
|
|
|
user = JSON.parse(user);
|
|
|
console.log(user);
|
|
|
this.queryInfo.userName = user.username;
|
|
|
this.dispatchForm.userName = user.username;
|
|
|
let param = {
|
|
|
userName: this.queryInfo.userName
|
|
|
|
|
|
querySearch(queryString, cb) {
|
|
|
var restaurants = this.lockInfoList;
|
|
|
var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
|
|
|
// 调用 callback 返回建议列表的数据
|
|
|
cb(results);
|
|
|
},
|
|
|
|
|
|
createFilter(queryString) {
|
|
|
|
|
|
return (restaurant) => {
|
|
|
let rs = (restaurant.lockNum.indexOf(queryString) >= 0)
|
|
|
return rs;
|
|
|
};
|
|
|
this.getUserInfo(param);
|
|
|
}
|
|
|
/**
|
|
|
* 渲染完成之后,在获取调度记录列表
|
|
|
*/
|
|
|
// this.getDispatchNodeList();
|
|
|
}
|
|
|
},
|
|
|
|
|
|
// 获取关锁列表
|
|
|
// getLockInfoList(val) {
|
|
|
// let pageSize = this.pageSize;
|
|
|
// if (val != undefined){
|
|
|
// pageSize = val;
|
|
|
// }
|
|
|
// let para = {
|
|
|
// pageSize: pageSize,
|
|
|
// limitSize: this.limitSize
|
|
|
// };
|
|
|
// this.listLoading = true;
|
|
|
// lockList(para).then((res) => {
|
|
|
// this.lockInfoList = res.data.data.list;
|
|
|
// }).catch((error) => {
|
|
|
// this.listLoading = false;
|
|
|
// if(null!= error.response && error.response!==undefined){
|
|
|
// let status= error.response.status;
|
|
|
// let msg = error.response.statusText;
|
|
|
// alert(status+msg);
|
|
|
// }else {
|
|
|
// alert(error);
|
|
|
// }
|
|
|
// });
|
|
|
// },
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<style>
|
|
|
/* 完成状态 */
|
|
|
.el-table .success-row {
|
|
|
background: rgba(64, 158, 255, 0.2);
|
|
|
}
|
|
|
|
|
|
/* 执行状态 */
|
|
|
.el-table .run-row {
|
|
|
background: rgba(103, 194, 58, 0.2);
|
|
|
<style scoped>
|
|
|
.my-text-area .prepand{
|
|
|
float: left;
|
|
|
width:89px;
|
|
|
height: 28px;
|
|
|
font-size: 12px;
|
|
|
line-height: 28px;
|
|
|
}
|
|
|
|
|
|
/* 取消状态 */
|
|
|
.el-table .cancel-row {
|
|
|
background: rgba(144, 147, 153, 0.2);
|
|
|
</style>
|
|
|
<style>
|
|
|
.my-text-area .el-textarea__inner{
|
|
|
min-height: 28px;
|
|
|
height: 28px;
|
|
|
border-bottom-left-radius: 0;
|
|
|
border-top-left-radius: 0;
|
|
|
}
|
|
|
|
|
|
/* 待执行状态 */
|
|
|
.el-table .await-row {
|
|
|
background: rgba(230, 162, 60, 0.2);
|
|
|
.rounded-corner {
|
|
|
border-radius: 10px; /* 设置圆角的半径为10像素 */
|
|
|
background-color: #f0f0f0; /* 背景颜色 */
|
|
|
padding: 10px; /* 内边距 */
|
|
|
margin: 10px; /* 外边距 */
|
|
|
box-shadow: 0 0 5px #ddd; /* 盒子阴影效果 */
|
|
|
}
|
|
|
</style> |
...
|
...
|
|