Commit c3392610 authored by jiaorz's avatar jiaorz

后台优化

parent 850c58f9
......@@ -80,7 +80,6 @@ function loadFromServer(type) {
});
}
console.log(rs);
return rs;
}
......
......@@ -80,7 +80,6 @@ export function getSonRegionByCodes(code) {
if (!actualCode) {
actualCode = rsCode.REGION_CODE_CHAINA;
}
let sonRegions = store.getters.sonRegions(actualCode);
if (!sonRegions) {
let datas = loadSonsFromServer(actualCode);
......
......@@ -98,3 +98,19 @@ export function checkCode(code, id) {
method: 'get'
});
}
//检查车架号是否存在
export function checkVin(vin, id) {
return fetch({
url: '/vehicle/vehicleInfo/exist_vin/' + vin + '?id=' + id,
method: 'get'
});
}
//检查车辆发动机号是否存在
export function checkEngineNum(engineNum, id) {
return fetch({
url: '/vehicle/vehicleInfo/exist_engineNum/' + engineNum + '?id=' + id,
method: 'get'
});
}
\ No newline at end of file
......@@ -104,10 +104,15 @@
<span v-if="scope.row.bookType==10">其他</span>
</template>
</el-table-column>
<el-table-column align="center" label="预定时间" width="220">
<el-table-column align="center" label="预定取/还时间" width="200">
<template scope="scope">
<span>{{scope.row.bookStartDate}}{{scope.row.bookEndDate}}</span>
<span>{{scope.row.bookStartDate}}</span> <br/><span>{{scope.row.bookEndDate}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="实际取/还时间" width="200">
<template scope="scope">
<span>{{scope.row.actualStartDate}}</span> <br/><span>{{scope.row.actualEndDate}}</span>
</template>
</el-table-column>
<!-- <el-table-column align="center" label="预定时间" width="220">
<template scope="scope">
......@@ -177,11 +182,7 @@
<span>{{scope.row.reviewerNameReturn}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="还车时间" width="120">
<template scope="scope">
<span>{{scope.row.actualEndDate}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="随车物品" width="120">
<template scope="scope">
......@@ -301,7 +302,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="车辆编号">
<span>{{detailItem.vehicleId}}</span>
<span>{{detailItem.code}}</span>
</el-form-item>
</el-col>
<!-- <el-col :span="7">
......
......@@ -4,29 +4,41 @@
<el-form>
<el-row>
<el-col :span="5">
<el-form-item>
<el-date-picker
v-model="listQuery.time"
type="date"
:editable="false"
format="yyyy-MM-dd"
prop="time"
placeholder="请选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item>
<el-form-item label="车辆编码" prop="code">
<el-input type="number" style="width: 200px;" v-model.number="listQuery.code"
placeholder="请输入车辆编码"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item>
<el-form-item label="车牌号" prop="code">
<el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="车牌号"
v-model="listQuery.numberPlate"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="出车日期" prop="startTime">
<el-date-picker
v-model="listQuery.startTime"
type="date"
:editable="false"
format="yyyy-MM-dd"
prop="startTime"
placeholder="请选择出车日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="还车日期" prop="endTime">
<el-date-picker
v-model="listQuery.endTime"
type="date"
:editable="false"
format="yyyy-MM-dd"
prop="endTime"
placeholder="请选择还车日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
......@@ -79,8 +91,8 @@
label="编号"
width="65">
</el-table-column>
<!--<el-table-column align="center" label="编号" width="65">-->
<!--<template scope="scope">-->
<!-- <el-table-column align="center" label="编号" width="65">
--> <!--<template scope="scope">-->
<!--<span>{{scope.row.id}}</span>-->
<!--</template>-->
<!--</el-table-column>-->
......@@ -214,10 +226,10 @@
import {
toEast8Date,
deepCopyDate,
newEast8Date
newEast8Date,
getYMD_date
} from 'utils/dateUtils';
export default {
export default {
name: 'vehicleDepartureLog',
data() {
return {
......@@ -262,7 +274,8 @@
listQuery: {
page: 1,
limit: 20,
time: "",
startTime: undefined,
endTime:undefined,
numberPlate: undefined,
departureId:undefined,
},
......@@ -329,9 +342,12 @@
if (!this.listQuery.numberPlate) {
this.statisticVisiable = false;
}
if (this.listQuery.time) {
this.listQuery.time = this.dateToString(this.listQuery.time);
}
if (this.listQuery.startTime) {
this.listQuery.startTime = getYMD_date(new Date(this.listQuery.startTime));
}
if(this.listQuery.endTime) {
this.listQuery.endTime = getYMD_date(new Date(this.listQuery.endTime));
}
if (!this.state1) {
this.listQuery.departureId = undefined;
}
......
......@@ -35,44 +35,39 @@
</el-col>
</el-row>
<el-row>
<el-col>
<el-col :span="5">
<el-form-item label="区域" prop="zoneId">
<el-select class="filter-item" v-model="listQuery.zoneId" placeholder="请选择" @change="getProvinceRegions">
<el-select class="filter-item" v-model="listQuery.zoneId" placeholder="请选择" @change="getProvinceRegions()">
<el-option v-for="val in getAllZoneList" :key="val.id" :label="val.name" :value="val.id"></el-option>
</el-select>
<el-select class="filter-item" v-model="listQuery.addrProvince" placeholder="请选择省份(直辖市)"
@change='getValue'>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="省份" prop="addrProvince">
<el-select class="filter-item" v-model="listQuery.addrProvince" placeholder="请选择省份(直辖市)" @change="cityRegions4Query()">
<el-option v-for="item in provinceRegions" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="城市" prop="addrCity">
<el-select class="filter-item" v-model="listQuery.addrCity" placeholder="请选择城市">
<el-option v-for="item in cityRegions4Query" :key="item.id" :label="item.name"
<el-option v-for="item in cityRegions4Query()" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<!-- <el-form-item label="车型">
<el-select class="filter-item" v-model="listQuery.modelId" placeholder="请选择车型">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="item in allVehicleList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
-->
<el-form-item label="车型" prop="modelId">
<el-autocomplete
class="inline-input"
v-model="vehicleArr"
:fetch-suggestions="queryVehicleModelSearch"
placeholder="请选择车型"
@select="handleVehicleModelSelect"
></el-autocomplete>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="车型" prop="modelId">
<el-autocomplete
class="inline-input"
v-model="vehicleArr"
:fetch-suggestions="queryVehicleModelSearch"
placeholder="请选择车型"
@select="handleVehicleModelSelect"
></el-autocomplete>
</el-form-item>
</el-col>
</el-row>
<el-button class="filter-item" type="primary" :icon=" showMoreQueryFilter ? 'caret-top' : 'caret-bottom' "
......@@ -88,6 +83,11 @@
<el-input v-model="listQuery.vin" placeholder="请输入车架号"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="托管人" prop="belongToName">
<el-input v-model="listQuery.belongToName" placeholder="请输入姓名"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="保险公司" prop="insuranceCompany">
<el-select class="filter-item" v-model="listQuery.insuranceCompany" placeholder="请选择保险公司">
......@@ -97,6 +97,26 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="用途">
<el-select class="filter-item" v-model="listQuery.useType" placeholder="请选择用途">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="(val,index) in getAllUseType() " :key="index" :label="val.val"
:value="val.code"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="保养日期" prop="mRange">
<el-date-picker
v-model="listQuery.mRange"
type="daterange"
:editable="true"
format="yyyy-MM-dd"
placeholder="请输入保养日期范围">
</el-date-picker>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="保险结束日期" prop="insuranceDateRange">
<el-date-picker
......@@ -122,17 +142,7 @@
</el-date-picker>
</el-form-item>
</el-col>-->
<el-col :span="8">
<el-form-item label="保养日期" prop="mRange">
<el-date-picker
v-model="listQuery.mRange"
type="daterange"
:editable="true"
format="yyyy-MM-dd"
placeholder="请输入保养日期范围">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
</transition>
......@@ -201,6 +211,11 @@
<span>{{getUseType(scope.row.useType)}}</span>
</template>
</el-table-column>
<el-table-column width="120" align="center" label="托管人">
<template scope="scope">
<span>{{getBelongToNameStr(scope.row)}}</span>
</template>
</el-table-column>
<!-- <el-table-column align="center" label="备注">
<template scope="scope">
......@@ -262,11 +277,7 @@
</template>
</el-table-column>
<el-table-column width="120" align="center" v-if="showMoreMoreCol" label="所属人">
<template scope="scope">
<span>{{getBelongToNameStr(scope.row)}}</span>
</template>
</el-table-column>
<el-table-column width="80" align="center" v-if="showMoreMoreCol" label="行驶证">
......@@ -318,16 +329,19 @@
保养结束
</el-button> -->
<el-button v-if="vehicleInfo_btn_apply && checkIfRuning(scope.row) " size="small"
<!-- <el-button v-if="vehicleInfo_btn_apply && checkIfRuning(scope.row) " size="small"
class="el-button el-button--text el-button--small"
@click="handleApply(scope.row)">申请预订
</el-button>
</el-button> -->
<!-- <el-button size="small" class="el-button el-button&#45;&#45;text el-button&#45;&#45;small" @click="handleBookInfo(scope.row)">
预订信息
</el-button>-->
<el-button size="small" class="el-button el-button--text el-button--small"
@click="handleDepartureLog(scope.row)">排班记录
@click="handleBookRecord(scope.row)">排班记录
</el-button>
<el-button size="small" class="el-button el-button--text el-button--small"
@click="handleDepartureLog(scope.row)">出行记录
</el-button>
<el-button size="small" @click="deleteHandler(scope.row)" class="el-button el-button--text el-button--small"
style="color:red;" v-if="vehicleInfo_btn_ret">删除
</el-button>
......@@ -733,7 +747,9 @@
putObj,
delObj,
getSysRegionByIds,
checkCode
checkCode,
checkVin,
checkEngineNum
} from '../../../api/vehicle/vehicleInfo/';
import {
......@@ -909,12 +925,42 @@
],
vin: [
{
min: 0,
max: 200,
message: '长度小于 200 个字符',
validator: (rule, value, callback) => {
//检验code码
if (this.$utils.isUndefined(value) || this.$utils.isNull(value) || this.$utils.isEmpty("" + value)) {
return callback(new Error("请输入车架号"));
}
if (value.length < 1 || value.length > 17) {
return callback(new Error('车架号长度小于17 个字符'));
}
checkVin(value, this.form.id).then(response => {
// console.log(response.data);
if (response.data === true) {
return callback(new Error("该车架号已经被占用,请重新输入"));
} else {
callback();
}
})
},
trigger: 'blur',
}
],
engineNum: [
{
validator: (rule, value, callback) => {
//检验code码
checkEngineNum(value, this.form.id).then(response => {
// console.log(response.data);
if (response.data === true) {
return callback(new Error("该发动机号已经被占用,请重新输入"));
} else {
callback();
}
})
},
trigger: 'blur',
}
],
numberPlate: [
{
min: 0,
......@@ -1143,7 +1189,9 @@
notBookedStartDate: undefined,
notBookedEndDate: undefined,
code: undefined,
modelId: undefined
modelId: undefined,
belongToName: undefined,
useType:undefined
},
showMoreQueryFilter: false,
showMoreMoreCol: false,
......@@ -1192,6 +1240,7 @@
allUpkeepItems: null,
allZoneArr: [],//全部片区
provinceRegions: [],//片区下省份数据
cityList:[],
vehicleInfo_btn_edit: false,//编辑
vehicleInfo_btn_add: false,//新增
vehicleInfo_btn_apply: false,//申请预定
......@@ -1212,6 +1261,8 @@
getUpkeepAll().then(response => {
this.allUpkeepItems = response.data;
});
this.getAllProvinceRegions();
this.getAllCities();
this.vehicleInfo_btn_edit = this.elements['vehicleInfo:btn_edit'];
this.vehicleInfo_btn_add = this.elements['vehicleInfo:btn_add'];
this.vehicleInfo_btn_apply = this.elements['vehicleInfo:btn_apply'];
......@@ -1236,17 +1287,13 @@
}
return getSonRegionByCodes(this.form.addrCity);
},
cityRegions4Query() {
if (!this.$utils.isInteger(this.listQuery.addrProvince)) {
return null;
}
return getSonRegionByCodes(this.listQuery.addrProvince);
},
getAllZoneList() {
let that = this;
that.allZoneArr = getAllZone();
that.allZoneArr = getAllZone();
return getAllZone();
},
townRegions4Query() {
if (!this.$utils.isInteger(this.listQuery.addrCity)) {
return null;
......@@ -1362,7 +1409,7 @@
this.listQuery.addrCity = undefined;
this.listQuery.addrProvince = undefined;
if (!this.$utils.isInteger(this.listQuery.zoneId)) {
return null;
return that.getAllProvinceRegions();
}
this.allZoneArr.map(function (item) {
if (item.id == that.listQuery.zoneId) {
......@@ -1376,6 +1423,42 @@
}
});
},
getAllProvinceRegions() {
let that = this;
var zoneStr = "";
getAllZone().map(function (item) {
zoneStr = zoneStr+item.provinceIds+",";
});
let listRs = undefined;
getSysRegionByIds(zoneStr).then(response => {
if (!that.$utils.isEmpty(response.data)) {
listRs = response.data;
}
that.provinceRegions = listRs;
});
return listRs;
},
cityRegions4Query() {
let that = this;
if (!this.$utils.isInteger(this.listQuery.addrProvince)) {
return that.getAllCities();
}
that.cityList = getSonRegionByCodes(this.listQuery.addrProvince);
return that.cityList;
},
getAllCities() {
var cityStr = [];
var provinceIds = this.provinceRegions;
for(var index in provinceIds) {
var sysregion = getSonRegionByCodes(provinceIds[index].id)
for(var i in sysregion) {
cityStr.push(sysregion[i]);
}
}
this.cityList = cityStr;
return cityStr;
},
getValue(e) {
this.listQuery.addrCity = undefined;
},
......@@ -1622,13 +1705,21 @@
this.upkeepRow = row;
this.upkeepDialogVisible = true;
},
handleDepartureLog(row) {
handleBookRecord(row) {
this.$router.push({
path: '/vehicle/vehicleSchedulManage',
query: {
numberPlate: row.numberPlate
}
});
},
handleDepartureLog(row) {
this.$router.push({
path: '/vehicle/vehicleDepartureLog',
query: {
numberPlate: row.numberPlate
}
});
},
arrivalHandler(row) {
// open dialog
......@@ -1835,11 +1926,15 @@
4: {
code: 4,
val: '出车'
}/*,
5: {
code: 5,
val: '上牌中'
}*/
},
6: {
code: 6,
val: '维修中'
},
7: {
code: 7,
val: '保养中'
}
};
},
getBrand: function (code) {
......
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