Commit f052b6e5 authored by 164003836@qq.con's avatar 164003836@qq.con

车辆信息管理:增加字段

parent f1754c72
import store from '../../../store';
import rsCode from '../../../utils/rsCode';
import {
VEHICLE_CONSTANT_VEHICLE_BRAND,
VEHICLE_CONSTANT_VEHICLE_USE,
VEHICLE_CONSTANT_BRAND_CODE_UNKOWN,
INSURANCE_COMPANY,
VEHICLE_CONSTANT_INSURANCE_COMPANY_UNKOWN,
VEHICLE_CONSTANT_USE_TYPE_UNKOWN,
VEHICLE_CONSTANT_STATUS_NORMAL
} from '../../../store/modules/baseInfo';
function loadFromServer(type) {
......@@ -70,7 +79,7 @@ export function getConstantListByType(type) {
return null;
}
let constantMap = store.getters.vehicleConstants(type);
if (JSON.stringify(constantMap) === '{}') {
if (constantMap == null || typeof (constantMap) == "undefined") {
let constants = loadFromServer(type);
if (!constants || constants.length === 0) {
return null;
......@@ -87,3 +96,15 @@ export function getConstantListByType(type) {
}
return constantMap;
}
export function getInsuranceCompany(code) {
if (code == null || typeof (code) == "undefined" || code === VEHICLE_CONSTANT_INSURANCE_COMPANY_UNKOWN) {
return '未知';
}
return getConstantByTypeAndCode(INSURANCE_COMPANY, code).val;
}
export function getAllInsuranceCompany() {
return getConstantListByType(INSURANCE_COMPANY);
}
// 以下为车辆相关常量类型的编码
export const VEHICLE_CONSTANT_VEHICLE_BRAND = 1; // "车辆品牌"
export const VEHICLE_CONSTANT_VEHICLE_USE = 2; // "车辆用途"
export const INSURANCE_COMPANY = 3; // "保险公司"
export const VEHICLE_CONSTANT_BRAND_CODE_UNKOWN = 0; // 车辆品牌-未知
export const VEHICLE_CONSTANT_USE_TYPE_UNKOWN = 0; // "车辆用途" - 未知
export const VEHICLE_CONSTANT_INSURANCE_COMPANY_UNKOWN = 0; // "车辆用途" - 未知
export const VEHICLE_CONSTANT_STATUS_DISCARD = 3; // 车辆状态 - 废弃
export const VEHICLE_CONSTANT_STATUS_NORMAL = 1; // 车辆状态 - 废弃
......
......@@ -24,3 +24,14 @@ export function newEast8Date() {
export function deepCopyDate(date) {
return toEast8Date(formatDate(date, 'yyyy-MM-dd'));
}
export function convertDate2Str(object) {
let ownPropertyNames = Object.getOwnPropertyNames(object);
for (let index in ownPropertyNames) {
let key = ownPropertyNames[index];
if ('[object Date]' === Object.prototype.toString.call(object[key])) {
object[key] = formatDate(object[key], 'yyyy-MM-dd hh:mm:ss');
}
}
}
......@@ -3,12 +3,16 @@ export default {
code: {
INVALID_REST_REQ_PARAM: 100000, //rest请求参数非法
VEHICLE_BOOKED_INFO_ALREADY_CHANGED: 101001, //车辆预定信息已被修改,请刷新后继续操作
VEHICLE_INFO_NUMBER_PLATE_EXIST: 102001, //车牌已存在
VEHICLE_INFO_CODE_EXIST: 102003, //车辆编码已存在
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED: 103001, //车辆预定申请状态已被修改,请刷新后继续操作
},
msg: {
1: '成功',
100000: "rest请求参数非法",
101001: "车辆预定信息已被修改,请刷新后继续操作",
103001: "车辆预定申请状态已被修改,请刷新后继续操作"
103001: "车辆预定申请状态已被修改,请刷新后继续操作",
102001: "车牌已存在",
102003: "车辆编码已存在"
}
}
<template>
<div class="app-container calendar-list-container">
<div class="filter-container" ref="filter-container">
<el-form :rules="rules4Query" ref="queryForm" :inline="inline" :model="listQuery">
<el-form-item label="分公司" prop="subordinateBranch">
<el-select class="filter-item" v-model="listQuery.subordinateBranch" placeholder="请选择分公司">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="item in allCompanies" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form :rules="rules4Query" ref="queryForm" :inline="inline" :model="listQuery" label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item label="车牌">
<el-input v-model="listQuery.numberPlate" placeholder="请输入车牌"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="车辆编码">
<el-input v-model.number="listQuery.code" placeholder="请输入车辆编码"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="车辆状态">
<el-select class="filter-item" v-model="listQuery.status" placeholder="请选择车辆状态">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in getAllVehicleStatus() " :key="val.code" :label="val.val"
:value="val.code"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-form-item label="">
<el-input v-model="listQuery.numberPlate" placeholder="请输入车牌"></el-input>
</el-form-item>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="未预订日期" prop="notBookDateRange">
<el-date-picker
v-model="notBookDateRange"
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="bookDateRange">
<el-date-picker
v-model="bookDateRange"
type="daterange"
:editable="true"
format="yyyy-MM-dd"
placeholder="请输入已预订日期范围">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-button class="filter-item" type="primary" :icon=" showMoreQueryFilter ? 'caret-top' : 'caret-bottom' "
v-waves @click="showMoreQueryFilter=!showMoreQueryFilter">
更多条件
</el-button>
</el-col>
</el-row>
<el-form-item label="">
<el-input v-model="listQuery.code" placeholder="请输入车辆编码"></el-input>
</el-form-item>
<el-form-item label="车辆状态">
<el-select class="filter-item" v-model="listQuery.status" placeholder="请选择车辆状态">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in getAllVehicleStatus() " :key="val.code" :label="val.val"
:value="val.code"></el-option>
</el-select>
</el-form-item>
<transition name="fade">
<div v-if="showMoreQueryFilter">
<el-form-item label="未预订日期范围" prop="notBookDateRange">
<el-date-picker
v-model="notBookDateRange"
type="daterange"
:editable="true"
format="yyyy-MM-dd"
placeholder="请输入未预订日期范围">
</el-date-picker>
</el-form-item>
<el-form-item label="预订日期范围" prop="bookDateRange">
<el-date-picker
v-model="bookDateRange"
type="daterange"
:editable="true"
format="yyyy-MM-dd"
placeholder="请输入已预订日期范围">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="里程数" prop="mileageRangeStart">-->
<!-- <el-input v-model.number="listQuery.mileageRangeStart" placeholder="里程数范围上限"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="" prop="mileageRangeEnd">-->
<!-- <el-input v-model.number="listQuery.mileageRangeEnd" placeholder="里程数范围下限"></el-input>-->
<!-- </el-form-item>-->
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" v-if="vehicleInfo_btn_add" style="margin-left: 10px;" @click="handleCreate"
type="primary" icon="edit">添加
</el-button>
<el-row>
<el-col :span="8">
<el-form-item label="车架号" prop="vin">
<el-input v-model="listQuery.vin" 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="请选择保险公司">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in getAllInsuranceCompany() " :key="val.code" :label="val.val"
:value="val.code"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="保险结束日期" prop="insuranceDateRange">
<el-date-picker
v-model="listQuery.insuranceDateRange"
type="daterange"
:editable="true"
format="yyyy-MM-dd"
placeholder="请输入保险结束日期范围">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="年审日期" prop="aVRange">
<el-date-picker
v-model="listQuery.aVRange"
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="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="haveViolation">
<el-select class="filter-item" v-model="listQuery.haveViolation" placeholder="请选择是否违章">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option key="1" label="是" value="1"></el-option>
<el-option key="0" label="否" value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</transition>
</el-form>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" v-if="vehicleInfo_btn_add" style="margin-left: 10px;" @click="handleCreate"
type="primary" icon="edit">添加
</el-button>
<el-button class="filter-item" type="primary" :icon=" showMoreMoreCol ? 'caret-left' : 'caret-right' " v-waves
@click="showMoreMoreCol=!showMoreMoreCol">
更多列
</el-button>
</div>
<el-table :key='tableKey' :data="list" v-loading.body="listLoading" border fit highlight-current-row
style="width: 100%">
<el-table-column align="center" label="编号" width="65">
<template scope="scope">
<span>{{scope.row.code}}</span>
......@@ -97,7 +188,68 @@
</template>
</el-table-column>
<el-table-column width="180" align="center" label="最后更新时间">
<el-table-column width="200" align="center" v-if="showMoreMoreCol" label="车架号">
<template scope="scope">
<span>{{scope.row.vin}}</span>
</template>
</el-table-column>
<el-table-column width="65" align="center" v-if="showMoreMoreCol" label="里程数">
<template scope="scope">
<span>{{scope.row.mileage}}</span>
</template>
</el-table-column>
<el-table-column width="65" align="center" v-if="showMoreMoreCol" label="保险公司">
<template scope="scope">
<span>{{getInsuranceCompany(scope.row.insuranceCompany)}}</span>
</template>
</el-table-column>
<el-table-column width="150" align="center" v-if="showMoreMoreCol" label="保险单号">
<template scope="scope">
<span>{{scope.row.insuranceNo}}</span>
</template>
</el-table-column>
<el-table-column width="100" align="center" v-if="showMoreMoreCol" label="保险开始时间">
<template scope="scope">
<span>{{scope.row.insuranceStartDate}}</span>
</template>
</el-table-column>
<el-table-column width="100" align="center" v-if="showMoreMoreCol" label="保险结束时间">
<template scope="scope">
<span>{{scope.row.insuranceEndDate}}</span>
</template>
</el-table-column>
<el-table-column width="100" align="center" v-if="showMoreMoreCol" label="年审时间">
<template scope="scope">
<span>{{scope.row.annualVerificationDate}}</span>
</template>
</el-table-column>
<el-table-column width="100" align="center" v-if="showMoreMoreCol" label="保养时间">
<template scope="scope">
<span>{{scope.row.maintenanceDate}}</span>
</template>
</el-table-column>
<el-table-column width="65" align="center" v-if="showMoreMoreCol" label="保养里程数">
<template scope="scope">
<span>{{scope.row.maintenanceMileage}}</span>
</template>
</el-table-column>
<el-table-column width="65" align="center" v-if="showMoreMoreCol" label="是否违章">
<template scope="scope">
<span>{{scope.row.haveViolation?'是':'否'}}</span>
</template>
</el-table-column>
<el-table-column width="180" align="center" v-if="showMoreMoreCol" label="最后更新时间">
<template scope="scope">
<span>{{scope.row.updateTime?scope.row.updateTime:scope.row.createTime}}</span>
</template>
......@@ -113,6 +265,7 @@
<el-button size="small" type="success" @click="handleBookInfo(scope.row)">预订信息</el-button>
</template>
</el-table-column>
</el-table>
<div v-show="!listLoading" class="pagination-container">
......@@ -125,45 +278,164 @@
<!-- 对话框相关html元素 -->
<el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
<el-form :model="form" :rules="rules" ref="form" label-width="100px">
<el-form :model="form" :rules="rules" ref="form" label-width="90px">
<el-form-item label="车牌" prop="numberPlate">
<el-input v-model="form.numberPlate" placeholder="输入车牌"></el-input>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="车辆编码" prop="code">
<el-input v-model.number="form.code" placeholder="不填将自动生成"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车牌" prop="numberPlate">
<el-input v-model="form.numberPlate" placeholder="输入车牌"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="车辆状态" prop="status">
<el-select class="filter-item" v-model="form.status" placeholder="请选择车辆状态">
<el-option v-for="(val, key, index) in getAllVehicleStatus() " :key="val.code" :label="val.val"
:value="val.code"></el-option>
</el-select>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="车辆状态" prop="status">
<el-select class="filter-item" v-model="form.status" placeholder="请选择车辆状态">
<el-option v-for="(val, key, index) in getAllVehicleStatus() " :key="val.code" :label="val.val"
:value="val.code"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-form-item label="车辆品牌" prop="brand">
<el-select class="filter-item" v-model="form.brand" placeholder="请选择车辆品牌">
<el-option :key="getUnkownBrandCode" label="未知" :value="getUnkownBrandCode"></el-option>
<el-option v-for="item in getAllBranch() " :key="item.code" :label="item.val"
:value="item.code"></el-option>
</el-select>
</el-form-item>
<el-col :span="12">
<el-form-item label="车辆品牌" prop="brand">
<el-select class="filter-item" v-model="form.brand" placeholder="请选择车辆品牌">
<el-option :key="getUnkownBrandCode" label="未知" :value="getUnkownBrandCode"></el-option>
<el-option v-for="item in getAllBranch() " :key="item.code" :label="item.val"
:value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="分公司" prop="subordinateBranch">
<el-select class="filter-item" v-model="form.subordinateBranch" placeholder="请选择分公司">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="item in allCompanies" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="分公司" prop="subordinateBranch">
<el-select class="filter-item" v-model="form.subordinateBranch" placeholder="请选择分公司">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="item in allCompanies" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="用途" prop="useType">
<el-select class="filter-item" v-model="form.useType" placeholder="请选择用途">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="item in getAllUseType() " :key="item.code" :label="item.val"
:value="item.code"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="用途" prop="useType">
<el-select class="filter-item" v-model="form.useType" placeholder="请选择用途">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="item in getAllUseType() " :key="item.code" :label="item.val"
:value="item.code"></el-option>
</el-select>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="车架号" prop="vin">
<el-input v-model="form.vin" placeholder="请输入车架号"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="里程数" prop="mileage">
<el-input v-model.number="form.mileage" placeholder="请输入里程数"></el-input>
</el-form-item>
</el-col>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注信息"></el-input>
</el-form-item>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="保险公司" prop="insuranceCompany">
<el-select class="filter-item" v-model="form.insuranceCompany" placeholder="请选择保险公司">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in getAllInsuranceCompany() " :key="val.code" :label="val.val"
:value="val.code"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="保险单号" prop="insuranceNo">
<el-input v-model="form.insuranceNo" placeholder="请输入保险单号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否违章" prop="haveViolation">
<el-select class="filter-item" v-model.number="form.haveViolation" placeholder="请选择是否违章">
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option key="1" label="是" :value="1"></el-option>
<el-option key="0" label="否" :value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年审时间" prop="annualVerificationDate">
<el-date-picker
v-model="form.annualVerificationDate"
type="date"
:editable="true"
format="yyyy-MM-dd"
placeholder="请选择年审时间"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="保养时间" prop="annualVerificationDate">
<el-date-picker
v-model="form.maintenanceDate"
type="date"
:editable="true"
format="yyyy-MM-dd"
placeholder="请选择保养日期"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="保养里程数" prop="maintenanceMileage">
<el-input v-model.number="form.maintenanceMileage" placeholder="请输入保养里程数"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="保险日期" prop="insuranceDateRange4form">
<el-date-picker
v-model="form.insuranceDateRange4form"
type="daterange"
:editable="true"
format="yyyy-MM-dd"
placeholder="请输入保险日期范围"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" :rows="5" v-model="form.remark" placeholder="请输入备注信息"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
......@@ -226,7 +498,9 @@
import {
getConstantByTypeAndCode,
getConstantListByType
getConstantListByType,
getAllInsuranceCompany,
getInsuranceCompany
} from 'api/base_info/constant/';
import {
......@@ -238,6 +512,7 @@
VEHICLE_CONSTANT_VEHICLE_BRAND,
VEHICLE_CONSTANT_VEHICLE_USE,
VEHICLE_CONSTANT_BRAND_CODE_UNKOWN,
INSURANCE_COMPANY,
VEHICLE_CONSTANT_USE_TYPE_UNKOWN,
VEHICLE_CONSTANT_STATUS_NORMAL
} from '../../../store/modules/baseInfo';
......@@ -253,7 +528,8 @@
import {
toEast8Date,
deepCopyDate,
newEast8Date
newEast8Date,
convertDate2Str
} from 'utils/dateUtils';
import rsCode from '../../../utils/rsCode';
......@@ -272,13 +548,58 @@
return {
form: {
status: undefined,
code: undefined,
numberPlate: undefined,
brand: undefined,
subordinateBranch: undefined,
useType: undefined,
vin: undefined,
insuranceNo: undefined,
insuranceCompany: undefined,
insuranceDateRange4form: undefined,
annualVerificationDate: undefined,
maintenanceDate: undefined,
maintenanceMileage: undefined,
haveViolation: undefined,
mileage: undefined,
remark: undefined
},
rules: {
subordinateBranch: [
{
type: 'integer',
required: true,
message: '请选择公司',
trigger: 'blur'
}
],
maintenanceMileage: [this.integerValidator()],
mileage: [this.integerValidator()],
code: [
{
validator: (rule, value, callback) => {
if (this.$utils.isUndefined(value) || this.$utils.isNull()) {
return callback();
}
if (!this.$utils.isInteger(value)) {
return callback(new Error('编码必须为整数'));
}
if (value < 1 || value > 9999999999) {
return callback(new Error('编码合法范围:[1 - 9999999999]'));
}
callback();
},
trigger: 'blur'
}
],
vin: [
{
min: 0,
max: 200,
message: '长度小于 200 个字符',
trigger: 'blur'
}
],
numberPlate: [
{
min: 0,
......@@ -308,6 +629,14 @@
disabledDate: this.checkBookDate
},
rules4Query: {
vin: [
{
min: 0,
max: 200,
message: '长度小于 200 个字符',
trigger: 'blur'
}
],
subordinateBranch: [
{
validator: (rule, value, callback) => {
......@@ -414,6 +743,14 @@
listQuery: {
page: 1,
limit: 20,
vin: undefined,
haveViolation: undefined,
insuranceCompany: undefined,
mileageRangeStart: undefined,
mileageRangeEnd: undefined,
insuranceDateRange: undefined,
mRange: undefined,
aVRange: undefined,
subordinateBranch: undefined,
numberPlate: undefined,
status: undefined,
......@@ -423,6 +760,8 @@
notBookedEndDate: undefined,
code: undefined
},
showMoreQueryFilter: false,
showMoreMoreCol: false,
inline: true,
dialogFormVisible: false,
dialogForm4ApplyVisible: false,
......@@ -543,6 +882,52 @@
}
},
methods: {
getAllInsuranceCompany,
getInsuranceCompany,
integerValidator: function () {
return {
validator: (rule, value, callback) => {
if (this.$utils.isUndefined(value) || this.$utils.isNull()) {
return callback();
}
if (!this.$utils.isInteger(value)) {
return callback(new Error('必须为整数'));
}
if (value < 1 || value > 9999999999) {
return callback(new Error('编码合法范围:[1 - 9999999999]'));
}
callback();
},
trigger: 'blur'
};
},
fillDateRange2Object: function (realBelong, rangePropName, startDatePropName, endDatePropName) {
if (this.$utils.isEmpty(realBelong) || !this.$utils.isArray(realBelong[rangePropName])) {
return realBelong;
}
let belong = this.$utils.clone(realBelong, true);
let [startDate, endDate] = belong[rangePropName];
if (this.$utils.isDate(startDate)) {
belong[startDatePropName] = formatDate(startDate, 'yyyy-MM-dd hh:mm:ss');
} else {
belong[startDatePropName] = undefined;
}
if (this.$utils.isDate(endDate)) {
belong[endDatePropName] = formatDate(endDate, 'yyyy-MM-dd hh:mm:ss');
} else {
belong[endDatePropName] = undefined;
}
belong[rangePropName] = undefined;
return belong;
},
fillDates2Range: function (belong, rangePropName, startDatePropName, endDatePropName) {
if (this.$utils.isEmpty(belong) || !this.$utils.isString(belong[startDatePropName]) || belong[startDatePropName] === '' ||
!this.$utils.isString(belong[endDatePropName]) || belong[endDatePropName] === '') {
return;
}
let [startDateStr, endDateStr] = [belong[startDatePropName], belong[endDatePropName]];
belong[rangePropName] = [toEast8Date(startDateStr), toEast8Date(endDateStr)];
},
changeDate4BookInfo: function (date) {
getBookedInfo(this.form4BookInfo.vehicle, date).then(response => {
this.curBookedInfo = response.data;
......@@ -591,7 +976,10 @@
},
getList() {
this.listLoading = true;
page(this.listQuery).then(response => {
let listQueryTemp = this.fillDateRange2Object(this.listQuery, 'mRange', 'mRangeDateStart', 'mRangeDateEnd');
listQueryTemp = this.fillDateRange2Object(listQueryTemp, 'aVRange', 'aVRangeDateStart', 'aVRangeDateEnd');
listQueryTemp = this.fillDateRange2Object(listQueryTemp, 'insuranceDateRange', 'insuranceDateRangeStart', 'insuranceDateRangeEnd');
page(listQueryTemp).then(response => {
let totalCountRs = undefined;
let listRs = undefined;
if (!this.$utils.isEmpty(response.data.data) && this.$utils.isInteger(response.data.totalCount)) {
......@@ -633,6 +1021,7 @@
getObj(row.id)
.then(response => {
this.form = response.data;
this.fillDates2Range(this.form, 'insuranceDateRange4form', 'insuranceStartDate', 'insuranceEndDate');
this.dialogFormVisible = true;
this.dialogStatus = 'update';
});
......@@ -654,17 +1043,28 @@
const set = this.$refs;
set[formName].validate(valid => {
if (valid) {
addObj(this.form)
.then(() => {
this.dialogFormVisible = false;
this.getList();
this.$notify({
title: '成功',
message: '创建成功',
type: 'success',
duration: 2000
});
})
let formTemp = this.fillDateRange2Object(this.form, 'insuranceDateRange4form', 'insuranceStartDate', 'insuranceEndDate');
convertDate2Str(formTemp);
addObj(formTemp)
.then(response => {
if (response.code === rsCode.RS_CODE_SUC) {
this.dialogFormVisible = false;
this.getList();
this.$notify({
title: '成功',
message: '创建成功',
type: 'success',
duration: 2000
});
} else {
this.$notify({
title: '失败',
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!',
type: 'error',
duration: 2000
});
}
});
} else {
return false;
}
......@@ -683,16 +1083,26 @@
const set = this.$refs;
set[formName].validate(valid => {
if (valid) {
this.dialogFormVisible = false;
putObj(this.form).then(() => {
this.dialogFormVisible = false;
this.getList();
this.$notify({
title: '成功',
message: '创建成功',
type: 'success',
duration: 2000
});
let formTemp = this.fillDateRange2Object(this.form, 'insuranceDateRange4form', 'insuranceStartDate', 'insuranceEndDate');
convertDate2Str(formTemp);
putObj(formTemp).then(response => {
if (response.code === rsCode.RS_CODE_SUC) {
this.dialogFormVisible = false;
this.getList();
this.$notify({
title: '成功',
message: '更新成功',
type: 'success',
duration: 2000
});
} else {
this.$notify({
title: '失败',
message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!',
type: 'error',
duration: 2000
});
}
});
} else {
return false;
......@@ -722,10 +1132,20 @@
resetTemp() {
this.form = {
status: undefined,
code: undefined,
numberPlate: undefined,
brand: undefined,
subordinateBranch: undefined,
useType: undefined,
vin: undefined,
insuranceNo: undefined,
insuranceCompany: undefined,
insuranceDateRange4form: undefined,
annualVerificationDate: undefined,
maintenanceDate: undefined,
maintenanceMileage: undefined,
haveViolation: undefined,
mileage: undefined,
remark: undefined
};
},
......
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