Commit 9af85674 authored by rencs's avatar rencs

10.14

parent 124b7c18
<template> <template>
<el-dialog :title="title" :visible.sync="oneDialogVisible" @close="closePop" :modal="false" width="66%" class="flex-aic vehicle-dialog"> <el-dialog
<el-form ref="form" :model="form" :rules="rules" label-width="140px" style="margin-top: -30px;max-height: 486px;overflow: auto;"> :title="title"
<p style="padding: 10px;background: #f5f5f5;">基础信息</p> :visible.sync="oneDialogVisible"
@close="closePop"
:modal="false"
width="66%"
class="flex-aic vehicle-dialog"
>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="140px"
style="margin-top: -30px; max-height: 486px; overflow: auto"
>
<p style="padding: 10px; background: #f5f5f5">基础信息</p>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用途" prop="useType"> <el-form-item label="用途" prop="useType">
...@@ -13,12 +26,19 @@ ...@@ -13,12 +26,19 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车牌号码" prop="numberPlate"> <el-form-item label="车牌号码" prop="numberPlate">
<el-input v-model="form.numberPlate" placeholder="输入车牌"></el-input> <el-input
v-model="form.numberPlate"
placeholder="输入车牌"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车辆编码" prop="code"> <el-form-item label="车辆编码" prop="code">
<el-input v-model="form.code" placeholder="请输入车辆编码" type="number"></el-input> <el-input
v-model="form.code"
placeholder="请输入车辆编码"
type="number"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -29,10 +49,10 @@ ...@@ -29,10 +49,10 @@
class="filter-item" class="filter-item"
v-model="form.status" v-model="form.status"
placeholder="请选择车辆状态" placeholder="请选择车辆状态"
style="width:100%" style="width: 100%"
> >
<el-option <el-option
v-for="(val,index) in getAllVehicleStatus() " v-for="(val, index) in getAllVehicleStatus()"
:key="index" :key="index"
:label="val.val" :label="val.val"
:value="val.code" :value="val.code"
...@@ -42,16 +62,25 @@ ...@@ -42,16 +62,25 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="公里数" prop="mileageLastUpdate"> <el-form-item label="公里数" prop="mileageLastUpdate">
<el-input type="number" v-model="form.mileageLastUpdate" placeholder="请输入公里数"></el-input> <el-input
type="number"
v-model="form.mileageLastUpdate"
placeholder="请输入公里数"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="停靠门店" prop="parkBranchCompanyId"> <el-form-item label="停靠门店" prop="parkBranchCompanyId">
<el-select class="filter-item" v-model="form.parkBranchCompanyId" placeholder="请选择停靠门店" filterable> <el-select
class="filter-item"
v-model="form.parkBranchCompanyId"
placeholder="请选择停靠门店"
filterable
>
<el-option <el-option
v-for="(val,index) in allVehicleBranchCompany" v-for="(val, index) in allVehicleBranchCompany"
:key="index" :key="index"
:label="val.name" :label="val.name"
:value="val.id" :value="val.id"
...@@ -62,7 +91,7 @@ ...@@ -62,7 +91,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="新旧程度" prop="vehicleStatus"> <el-form-item label="新旧程度" prop="vehicleStatus">
<el-select <el-select
style="width: 100%;" style="width: 100%"
class="filter-item" class="filter-item"
v-model="form.vehicleStatus" v-model="form.vehicleStatus"
placeholder="请选择新旧程度" placeholder="请选择新旧程度"
...@@ -82,7 +111,7 @@ ...@@ -82,7 +111,7 @@
class="filter-item" class="filter-item"
v-model="form.vehicleBodyStatus" v-model="form.vehicleBodyStatus"
placeholder="请选择车身状况" placeholder="请选择车身状况"
style="width:100%" style="width: 100%"
> >
<el-option key="1" label="无剐蹭" :value="1"></el-option> <el-option key="1" label="无剐蹭" :value="1"></el-option>
<el-option key="2" label="微瑕疵" :value="2"></el-option> <el-option key="2" label="微瑕疵" :value="2"></el-option>
...@@ -96,7 +125,7 @@ ...@@ -96,7 +125,7 @@
class="filter-item" class="filter-item"
v-model="form.vehicleInnerStatus" v-model="form.vehicleInnerStatus"
placeholder="请选择内饰" placeholder="请选择内饰"
style="width:100%" style="width: 100%"
> >
<el-option key="1" label="全新" :value="1"></el-option> <el-option key="1" label="全新" :value="1"></el-option>
<el-option key="2" label="9成新" :value="2"></el-option> <el-option key="2" label="9成新" :value="2"></el-option>
...@@ -107,15 +136,25 @@ ...@@ -107,15 +136,25 @@
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="备注"> <el-form-item label="备注">
<el-input type="textarea" :rows="5" v-model="form.remark" placeholder="请输入备注信息"></el-input> <el-input
type="textarea"
:rows="5"
v-model="form.remark"
placeholder="请输入备注信息"
></el-input>
</el-form-item> </el-form-item>
<p style="padding: 10px;background: #f5f5f5;">车辆归属</p> <p style="padding: 10px; background: #f5f5f5">车辆归属</p>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="所属门店" prop="subordinateBranch"> <el-form-item label="所属门店" prop="subordinateBranch">
<el-select class="filter-item" v-model="form.subordinateBranch" placeholder="请选择所属门店" filterable> <el-select
class="filter-item"
v-model="form.subordinateBranch"
placeholder="请选择所属门店"
filterable
>
<el-option <el-option
v-for="(val,index) in allVehicleBranchCompany" v-for="(val, index) in allVehicleBranchCompany"
:key="index" :key="index"
:label="val.name" :label="val.name"
:value="val.id" :value="val.id"
...@@ -125,18 +164,30 @@ ...@@ -125,18 +164,30 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="托管人"> <el-form-item label="托管人">
<el-input v-model="form.belongToName" placeholder="请输入托管人" ></el-input> <el-input
v-model="form.belongToName"
placeholder="请输入托管人"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<p style="padding: 10px;background: #f5f5f5;">品牌、车型</p> <p style="padding: 10px; background: #f5f5f5">品牌、车型</p>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车辆品牌" prop="brand"> <el-form-item label="车辆品牌" prop="brand">
<el-select class="filter-item" v-model="form.brand" placeholder="请选择车辆品牌" style="width:100%"> <el-select
<el-option :key="getUnkownBrandCode" label="未知" :value="getUnkownBrandCode"></el-option> class="filter-item"
v-model="form.brand"
placeholder="请选择车辆品牌"
style="width: 100%"
>
<el-option <el-option
v-for="item in getAllBranch() " :key="getUnkownBrandCode"
label="未知"
:value="getUnkownBrandCode"
></el-option>
<el-option
v-for="item in getAllBranch()"
:key="item.code" :key="item.code"
:label="item.val" :label="item.val"
:value="item.code" :value="item.code"
...@@ -146,9 +197,14 @@ ...@@ -146,9 +197,14 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车型" prop="modelId"> <el-form-item label="车型" prop="modelId">
<el-select class="filter-item" v-model="form.modelId" placeholder="请选择车型" filterable> <el-select
class="filter-item"
v-model="form.modelId"
placeholder="请选择车型"
filterable
>
<el-option <el-option
v-for="(val,index) in allVehicleList" v-for="(val, index) in allVehicleList"
:key="index" :key="index"
:label="val.name" :label="val.name"
:value="val.id" :value="val.id"
...@@ -160,9 +216,14 @@ ...@@ -160,9 +216,14 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="生产商"> <el-form-item label="生产商">
<el-select class="filter-item" v-model="form.manufacturer" placeholder="请选择生产商" filterable> <el-select
class="filter-item"
v-model="form.manufacturer"
placeholder="请选择生产商"
filterable
>
<el-option <el-option
v-for="(val,index) in allManufacturer" v-for="(val, index) in allManufacturer"
:key="index" :key="index"
:label="val" :label="val"
:value="val" :value="val"
...@@ -171,23 +232,32 @@ ...@@ -171,23 +232,32 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<p style="padding: 10px;background: #f5f5f5;">车辆信息</p> <p style="padding: 10px; background: #f5f5f5">车辆信息</p>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车架号"> <el-form-item label="车架号">
<el-input v-model="form.vin" placeholder="请输入车架号" ></el-input> <el-input v-model="form.vin" placeholder="请输入车架号"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="发动机号"> <el-form-item label="发动机号">
<el-input v-model="form.engineNum" placeholder="请输入发动机号" ></el-input> <el-input
v-model="form.engineNum"
placeholder="请输入发动机号"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="上牌日期"> <el-form-item label="上牌日期">
<el-date-picker v-model="form.vehicleRegisterDate" type = "datetime" placeholder = "上牌日期" value-format="yyyy-MM-dd hh:mm:ss" format="yyyy-MM-dd hh:mm:ss"></el-date-picker> <el-date-picker
v-model="form.vehicleRegisterDate"
type="datetime"
placeholder="上牌日期"
value-format="yyyy-MM-dd hh:mm:ss"
format="yyyy-MM-dd hh:mm:ss"
></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -195,13 +265,15 @@ ...@@ -195,13 +265,15 @@
<el-date-picker <el-date-picker
v-model="form.annualVerificationDate" v-model="form.annualVerificationDate"
type="date" type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd hh:mm:ss"
placeholder="选择日期" placeholder="选择日期"
style="width:100%" style="width: 100%"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="行驶证" :style="{display:'block'}"> <el-form-item label="行驶证" :style="{ display: 'block' }">
<el-upload <el-upload
class="avatar-uploader" class="avatar-uploader"
:action="BASE_API + '/api/universal/file/app/unauth/admin/upload'" :action="BASE_API + '/api/universal/file/app/unauth/admin/upload'"
...@@ -209,19 +281,22 @@ ...@@ -209,19 +281,22 @@
:headers="getHeaderWithToken" :headers="getHeaderWithToken"
:on-success="handleAvatarSuccess" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :before-upload="beforeAvatarUpload"
:style="{display:'inline-block'}" :style="{ display: 'inline-block' }"
> >
<img <img
v-if="$utils.isString(form.drivingLicensePath) && !$utils.isEmpty(form.drivingLicensePath)" v-if="
$utils.isString(form.drivingLicensePath) &&
!$utils.isEmpty(form.drivingLicensePath)
"
:src="getDrivingLicenseUrl(form.drivingLicensePath)" :src="getDrivingLicenseUrl(form.drivingLicensePath)"
class="avatar" class="avatar"
:style="{display:'block'}" :style="{ display: 'block' }"
/> />
<i <i
v-else v-else
class="el-icon-plus avatar-uploader-icon" class="el-icon-plus avatar-uploader-icon"
:style="{lineHeight:'350px'}" :style="{ lineHeight: '350px' }"
style="position: relative;" style="position: relative"
> >
<br /> <br />
<span class="driving-title">行驶证正面</span> <span class="driving-title">行驶证正面</span>
...@@ -235,26 +310,29 @@ ...@@ -235,26 +310,29 @@
:headers="getHeaderWithToken" :headers="getHeaderWithToken"
:on-success="handleAvatarSuccessF" :on-success="handleAvatarSuccessF"
:before-upload="beforeAvatarUpload" :before-upload="beforeAvatarUpload"
:style="{display:'inline-block'}" :style="{ display: 'inline-block' }"
> >
<img <img
v-if="$utils.isString(form.drivingLicenseDuplicatePath) && !$utils.isEmpty(form.drivingLicenseDuplicatePath)" v-if="
$utils.isString(form.drivingLicenseDuplicatePath) &&
!$utils.isEmpty(form.drivingLicenseDuplicatePath)
"
:src="getDrivingLicenseUrl(form.drivingLicenseDuplicatePath)" :src="getDrivingLicenseUrl(form.drivingLicenseDuplicatePath)"
class="avatar" class="avatar"
:style="{display:'block'}" :style="{ display: 'block' }"
/> />
<i <i
v-else v-else
class="el-icon-plus avatar-uploader-icon" class="el-icon-plus avatar-uploader-icon"
:style="{lineHeight:'350px'}" :style="{ lineHeight: '350px' }"
style="position: relative;" style="position: relative"
> >
<br /> <br />
<span class="driving-title">行驶证副本</span> <span class="driving-title">行驶证副本</span>
</i> </i>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<p style="padding: 10px;background: #f5f5f5;">保险信息</p> <p style="padding: 10px; background: #f5f5f5">保险信息</p>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="商业险公司"> <el-form-item label="商业险公司">
...@@ -262,11 +340,15 @@ ...@@ -262,11 +340,15 @@
class="filter-item" class="filter-item"
v-model="form.insuranceCompany" v-model="form.insuranceCompany"
placeholder="请选择商业险公司" placeholder="请选择商业险公司"
style="width:100%" style="width: 100%"
> >
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option <el-option
v-for="(val, index) in getAllInsuranceCompany() " :key="undefined"
label="无"
:value="undefined"
></el-option>
<el-option
v-for="(val, index) in getAllInsuranceCompany()"
:key="index" :key="index"
:label="val.val" :label="val.val"
:value="val.code" :value="val.code"
...@@ -277,7 +359,10 @@ ...@@ -277,7 +359,10 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="商业险单号"> <el-form-item label="商业险单号">
<el-input v-model="form.insuranceNo" placeholder="请输入商业险单号"></el-input> <el-input
v-model="form.insuranceNo"
placeholder="请输入商业险单号"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -290,7 +375,7 @@ ...@@ -290,7 +375,7 @@
:editable="true" :editable="true"
format="yyyy-MM-dd" format="yyyy-MM-dd"
placeholder="请选择商业险到期时间" placeholder="请选择商业险到期时间"
style="width:100%" style="width: 100%"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -301,11 +386,15 @@ ...@@ -301,11 +386,15 @@
class="filter-item" class="filter-item"
v-model="form.strongInsuranceCompany" v-model="form.strongInsuranceCompany"
placeholder="请选择交强险公司" placeholder="请选择交强险公司"
style="width:100%" style="width: 100%"
> >
<el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option <el-option
v-for="(val, index) in getAllInsuranceCompany() " :key="undefined"
label="无"
:value="undefined"
></el-option>
<el-option
v-for="(val, index) in getAllInsuranceCompany()"
:key="index" :key="index"
:label="val.val" :label="val.val"
:value="val.code" :value="val.code"
...@@ -317,7 +406,10 @@ ...@@ -317,7 +406,10 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="交强险单号"> <el-form-item label="交强险单号">
<el-input v-model.text="form.strongInsuranceNo" placeholder="请输入交强险单号"></el-input> <el-input
v-model.text="form.strongInsuranceNo"
placeholder="请输入交强险单号"
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -328,73 +420,92 @@ ...@@ -328,73 +420,92 @@
:editable="true" :editable="true"
format="yyyy-MM-dd" format="yyyy-MM-dd"
placeholder="请选择交强险到期时间" placeholder="请选择交强险到期时间"
style="width:100%" style="width: 100%"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col> <el-col>
<el-form-item label="保单pdf" :style="{display:'block'}"> <el-form-item label="保单pdf" :style="{ display: 'block' }">
<el-upload <el-upload
ref="uploadPdf" ref="uploadPdf"
:action="BASE_API + '/api/universal/file/app/unauth/admin/upload'" :action="BASE_API + '/api/universal/file/app/unauth/admin/upload'"
:show-file-list="false" :show-file-list="false"
:headers="getHeaderWithToken" :headers="getHeaderWithToken"
:on-success="handleAvatarSuccessPDF" :on-success="handleAvatarSuccessPDF"
:style="{display:'inline-block'}" :style="{ display: 'inline-block' }"
accept=".pdf" accept=".pdf"
> >
<el-button size="small" plain>选择文件</el-button> <el-button size="small" plain>选择文件</el-button>
</el-upload> </el-upload>
<div v-for="(item, i) in pdfList" :key = i @click="downloadPDF(i)"> <div v-for="(item, i) in pdfList" :key="i" @click="downloadPDF(i)">
<span>{{item.name}}</span> <span>{{ item.name }}</span>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="flex-aic-jcc" style="margin-top: 10px;"> <div slot="footer" class="flex-aic-jcc" style="margin-top: 10px">
<el-button plain @click="closePop">取消</el-button> <el-button plain @click="closePop">取消</el-button>
<el-button type="primary" v-if="!isClick" class="handle-ok" @click="handleOk('form')">确定</el-button> <el-button
<el-button type="primary" v-if="isClick" class="handle-ok" style="opacity: 0.4;" :disabled="true">确定</el-button> type="primary"
v-if="!isClick"
class="handle-ok"
@click="handleOk('form')"
>确定</el-button
>
<el-button
type="primary"
v-if="isClick"
class="handle-ok"
style="opacity: 0.4"
:disabled="true"
>确定</el-button
>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
<style lang="scss"> <style lang="scss">
.vehicle-dialog .el-dialog{ .vehicle-dialog .el-dialog {
margin-top: 0 !important; margin-top: 0 !important;
} }
</style> </style>
<script type="javascript"> <script type="javascript">
import {mapGetters} from 'vuex'; import { mapGetters } from "vuex";
import ElFormItem from '../../../../node_modules/element-ui/packages/form/src/form-item.vue' import ElFormItem from "../../../../node_modules/element-ui/packages/form/src/form-item.vue";
import ElRow from 'element-ui/packages/row/src/row' import ElRow from "element-ui/packages/row/src/row";
import ElCol from 'element-ui/packages/col/src/col' import ElCol from "element-ui/packages/col/src/col";
import ElRadio from "../../../../node_modules/element-ui/packages/radio/src/radio.vue"; import ElRadio from "../../../../node_modules/element-ui/packages/radio/src/radio.vue";
import ElButton from "../../../../node_modules/element-ui/packages/button/src/button.vue"; import ElButton from "../../../../node_modules/element-ui/packages/button/src/button.vue";
import {addObj, getObj, putObj, vehicleBranchCompanyAll, allManufacturer} from "../../../api/vehicle/vehicleInfo"; import {
import { getToken } from 'utils/auth' addObj,
import { getObj,
putObj,
vehicleBranchCompanyAll,
allManufacturer,
} from "../../../api/vehicle/vehicleInfo";
import { getToken } from "utils/auth";
import {
VEHICLE_CONSTANT_VEHICLE_BRAND, VEHICLE_CONSTANT_VEHICLE_BRAND,
VEHICLE_CONSTANT_BRAND_CODE_UNKOWN, VEHICLE_CONSTANT_BRAND_CODE_UNKOWN,
} from '../../../store/modules/baseInfo' } from "../../../store/modules/baseInfo";
import { import {
getConstantListByType, getConstantListByType,
getAllInsuranceCompany, getAllInsuranceCompany,
getInsuranceCompany getInsuranceCompany,
} from 'api/base_info/constant/' } from "api/base_info/constant/";
import {getAllVehicleList} from "../../../api/vehicleType"; import { getAllVehicleList } from "../../../api/vehicleType";
import {objDeepCopy} from "../../../utils"; import { objDeepCopy } from "../../../utils";
export default { export default {
props: ['title', 'oneRow'], props: ["title", "oneRow"],
components: { components: {
ElButton, ElButton,
ElRadio, ElRadio,
ElFormItem, ElFormItem,
ElCol, ElCol,
ElRow ElRow,
}, },
data() { data() {
return { return {
...@@ -438,81 +549,79 @@ ...@@ -438,81 +549,79 @@
rules: { rules: {
numberPlate: { numberPlate: {
required: true, required: true,
message: '请输入车牌号', message: "请输入车牌号",
trigger: 'blur' trigger: "blur",
}, },
mileageLastUpdate: [this.integerValidator()], mileageLastUpdate: [this.integerValidator()],
status: { status: {
required: true, required: true,
message: '请选择出行状态', message: "请选择出行状态",
trigger: 'change' trigger: "change",
}, },
code: { code: {
required: true, required: true,
message: '请输入车辆编码', message: "请输入车辆编码",
trigger: 'blur' trigger: "blur",
}, },
useType: { useType: {
required: true, required: true,
message: '请选择用途', message: "请选择用途",
trigger: 'change' trigger: "change",
}, },
parkBranchCompanyId: { parkBranchCompanyId: {
required: true, required: true,
message: '请选择停靠门店', message: "请选择停靠门店",
trigger: 'change' trigger: "change",
}, },
vehicleStatus: { vehicleStatus: {
required: true, required: true,
message: '请选择新旧程度', message: "请选择新旧程度",
trigger: 'change' trigger: "change",
}, },
vehicleBodyStatus: { vehicleBodyStatus: {
required: true, required: true,
message: '请选择车身状况', message: "请选择车身状况",
trigger: 'change' trigger: "change",
}, },
vehicleInnerStatus: { vehicleInnerStatus: {
required: true, required: true,
message: '请选择内饰', message: "请选择内饰",
trigger: 'change' trigger: "change",
}, },
subordinateBranch: { subordinateBranch: {
required: true, required: true,
message: '请选择所属门店', message: "请选择所属门店",
trigger: 'change' trigger: "change",
}, },
brand: { brand: {
required: true, required: true,
message: '请选择车辆品牌', message: "请选择车辆品牌",
trigger: 'change' trigger: "change",
}, },
modelId: { modelId: {
required: true, required: true,
message: '请选择车型', message: "请选择车型",
trigger: 'change' trigger: "change",
}, },
}, },
pdfList:[], // 保单列表 pdfList: [], // 保单列表
} };
}, },
mounted() { mounted() {
this.oneDialogVisible = true; this.oneDialogVisible = true;
this.cleanForm() // 清空表单数据 this.cleanForm(); // 清空表单数据
if(this.title == '编辑车辆'){ if (this.title == "编辑车辆") {
// 编辑 // 编辑
this.getVehicleDetail() // 获取车辆详情 this.getVehicleDetail(); // 获取车辆详情
} }
this.getAllManufacturer()// 获取全部生产商 this.getAllManufacturer(); // 获取全部生产商
this.getAllVehicleType() // 获取全部车型 this.getAllVehicleType(); // 获取全部车型
this.getVehicleBranchCompanyAll() // 获取所有门店 this.getVehicleBranchCompanyAll(); // 获取所有门店
}, },
computed: { computed: {
...mapGetters([ ...mapGetters(["elements"]),
'elements'
]),
getHeaderWithToken() { getHeaderWithToken() {
return { Authorization: getToken() } return { Authorization: getToken() };
}, },
getUnkownBrandCode: () => VEHICLE_CONSTANT_BRAND_CODE_UNKOWN, // 车辆品牌 getUnkownBrandCode: () => VEHICLE_CONSTANT_BRAND_CODE_UNKOWN, // 车辆品牌
}, },
...@@ -520,75 +629,75 @@ ...@@ -520,75 +629,75 @@
/** /**
* 获取全部供应商列表 * 获取全部供应商列表
*/ */
getAllManufacturer(){ getAllManufacturer() {
allManufacturer().then(response => { allManufacturer().then((response) => {
if(response.status == 200){ if (response.status == 200) {
this.allManufacturer = response.data this.allManufacturer = response.data;
} else { } else {
this.$notify({ this.$notify({
title: '失败', title: "失败",
message: response.message, message: response.message,
type: 'error', type: "error",
duration: 2000 duration: 2000,
}) });
} }
}) });
}, },
/** /**
* 获取全部车型 * 获取全部车型
* */ * */
getAllVehicleType() { getAllVehicleType() {
getAllVehicleList().then(response => { getAllVehicleList().then((response) => {
if(response.status == 200){ if (response.status == 200) {
let listRs = undefined let listRs = undefined;
if (!this.$utils.isEmpty(response.data)) { if (!this.$utils.isEmpty(response.data)) {
listRs = response.data listRs = response.data;
} }
this.allVehicleList = listRs this.allVehicleList = listRs;
} else { } else {
this.$notify({ this.$notify({
title: '失败', title: "失败",
message: response.message, message: response.message,
type: 'error', type: "error",
duration: 2000 duration: 2000,
}) });
} }
}) });
}, },
getAllInsuranceCompany, getAllInsuranceCompany,
getInsuranceCompany, getInsuranceCompany,
/** /**
* 获取所有门店 * 获取所有门店
*/ */
getVehicleBranchCompanyAll(){ getVehicleBranchCompanyAll() {
vehicleBranchCompanyAll({state: 1}).then(response => { vehicleBranchCompanyAll({ state: 1 }).then((response) => {
if(response.status == 200){ if (response.status == 200) {
this.allVehicleBranchCompany = response.data this.allVehicleBranchCompany = response.data;
} else { } else {
this.$notify({ this.$notify({
title: '失败', title: "失败",
message: response.message, message: response.message,
type: 'error', type: "error",
duration: 2000 duration: 2000,
}) });
} }
}) });
}, },
/** /**
* 获取车辆全部品牌 * 获取车辆全部品牌
*/ */
getAllBranch: () => { getAllBranch: () => {
return getConstantListByType(VEHICLE_CONSTANT_VEHICLE_BRAND) return getConstantListByType(VEHICLE_CONSTANT_VEHICLE_BRAND);
}, },
/** /**
* 获取车辆详情 * 获取车辆详情
*/ */
getVehicleDetail(){ getVehicleDetail() {
getObj(this.oneRow.id).then(response => { getObj(this.oneRow.id).then((response) => {
if(response.status == 200){ if (response.status == 200) {
this.$utils.objectEach(response.data, (item, key) => { this.$utils.objectEach(response.data, (item, key) => {
this.form[key] = item this.form[key] = item;
}) });
// this.form = { // this.form = {
// id: response.data.id, // 车辆id // id: response.data.id, // 车辆id
// numberPlate: response.data.numberPlate, // 车牌号码 // numberPlate: response.data.numberPlate, // 车牌号码
...@@ -605,76 +714,76 @@ ...@@ -605,76 +714,76 @@
// } // }
} else { } else {
this.$notify({ this.$notify({
title: '失败', title: "失败",
message: response.message, message: response.message,
type: 'error', type: "error",
duration: 2000 duration: 2000,
}) });
} }
});
})
}, },
beforeAvatarUpload(file) { beforeAvatarUpload(file) {
const isJPG = const isJPG = file.type === "image/jpeg" || file.type === "image/gif";
file.type === 'image/jpeg' || file.type === 'image/gif' file.type === "image/jpeg" ||
file.type === 'image/jpeg' || file.type === 'image/gif' || file.type === 'image/pdf' file.type === "image/gif" ||
const isLt2M = file.size / 1024 / 1024 < 10 file.type === "image/pdf";
const isLt2M = file.size / 1024 / 1024 < 10;
if (!isJPG) { if (!isJPG) {
this.$message.error('上传图片只能是 JPG/GIF 格式!') this.$message.error("上传图片只能是 JPG/GIF 格式!");
} }
if (!isLt2M) { if (!isLt2M) {
this.$message.error('上传图片大小不能超过 10MB!') this.$message.error("上传图片大小不能超过 10MB!");
} }
// this.showLoadingBody = true // this.showLoadingBody = true
return isJPG && isLt2M return isJPG && isLt2M;
}, },
/** /**
* 行驶证--正面 * 行驶证--正面
*/ */
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.form.drivingLicensePath = res.data this.form.drivingLicensePath = res.data;
this.showLoadingBody = false this.showLoadingBody = false;
}, },
/** /**
* 行驶证--副本 * 行驶证--副本
*/ */
handleAvatarSuccessF(res, file) { handleAvatarSuccessF(res, file) {
this.form.drivingLicenseDuplicatePath = res.data this.form.drivingLicenseDuplicatePath = res.data;
this.showLoadingBody = false this.showLoadingBody = false;
}, },
/** /**
* PDF保单上传 * PDF保单上传
*/ */
handleAvatarSuccessPDF(res, file) { handleAvatarSuccessPDF(res, file) {
if (res.data) { if (res.data) {
if(this.pdfList.length >= 0) { if (this.pdfList.length >= 0) {
var data = { var data = {
"id": this.pdfList.length + 1, id: this.pdfList.length + 1,
"name": "车辆保单" + (this.pdfList.length + 1), name: "车辆保单" + (this.pdfList.length + 1),
"url":res.data url: res.data,
};
this.pdfList.push(data);
} }
this.pdfList.push(data)
} }
} this.showLoadingBody = false;
this.showLoadingBody = false
}, },
showImgDialog(drivingLicensePath) { showImgDialog(drivingLicensePath) {
this.licenceSrcUrl = this.getDrivingLicenseUrl(drivingLicensePath) this.licenceSrcUrl = this.getDrivingLicenseUrl(drivingLicensePath);
this.dialogForm4LicenceVisible = true this.dialogForm4LicenceVisible = true;
}, },
/** /**
* 行驶证--src * 行驶证--src
*/ */
getDrivingLicenseUrl(drivingLicensePath) { getDrivingLicenseUrl(drivingLicensePath) {
if (drivingLicensePath.indexOf('https') > -1) { if (drivingLicensePath.indexOf("https") > -1) {
return drivingLicensePath return drivingLicensePath;
}else{ } else {
return ( return (
process.env.BASE_API + process.env.BASE_API +
'/vehicle/vehicleInfo/download/drivingLicense?realFileRelPath=' + "/vehicle/vehicleInfo/download/drivingLicense?realFileRelPath=" +
encodeURI(drivingLicensePath) encodeURI(drivingLicensePath)
) );
} }
}, },
/** /**
...@@ -682,46 +791,41 @@ ...@@ -682,46 +791,41 @@
*/ */
downloadPDF(i) { downloadPDF(i) {
var data = this.pdfList[i].url; var data = this.pdfList[i].url;
if(data) { if (data) {
window.open(data, '_blank'); window.open(data, "_blank");
} else { } else {
this.$notify({ this.$notify({
title: '失败', title: "失败",
message: '车辆保单不存在', message: "车辆保单不存在",
type: 'error', type: "error",
duration: 2000 duration: 2000,
}) });
} }
}, },
/** /**
* 公里数验证 * 公里数验证
*/ */
integerValidator: function() { integerValidator: function () {
return { return {
validator: (rule, value, callback) => { validator: (rule, value, callback) => {
if ( if (this.$utils.isUndefined(value) || this.$utils.isNull()) {
this.$utils.isUndefined(value) || return callback();
this.$utils.isNull()
) {
return callback()
} }
if (!this.$utils.isInteger(value)) { if (!this.$utils.isInteger(value)) {
return callback(new Error('必须为整数')) return callback(new Error("必须为整数"));
} }
if (value < 1 || value > 9999999999) { if (value < 1 || value > 9999999999) {
return callback( return callback(new Error("编码合法范围:[1 - 9999999999]"));
new Error('编码合法范围:[1 - 9999999999]')
)
} }
callback() callback();
}, },
trigger: 'blur' trigger: "blur",
} };
}, },
/** /**
* 清空表单数据 * 清空表单数据
*/ */
cleanForm(){ cleanForm() {
this.form = { this.form = {
useType: 1, // 用途 useType: 1, // 用途
id: undefined, // 车辆id id: undefined, // 车辆id
...@@ -751,109 +855,109 @@ ...@@ -751,109 +855,109 @@
strongInsuranceCompany: undefined, // 交强险公司 strongInsuranceCompany: undefined, // 交强险公司
strongInsuranceNo: undefined, // 交强险单号 strongInsuranceNo: undefined, // 交强险单号
strongInsuranceEndDate: undefined, // 交强险日期 strongInsuranceEndDate: undefined, // 交强险日期
} };
}, },
/** /**
* 关闭弹窗 * 关闭弹窗
*/ */
closePop(){ closePop() {
this.oneDialogVisible = false this.oneDialogVisible = false;
this.$emit('oneDialogEvent', false); this.$emit("oneDialogEvent", false);
}, },
/** /**
* 确定 * 确定
*/ */
handleOk(){ handleOk() {
const set = this.$refs const set = this.$refs;
if(this.isClick) { if (this.isClick) {
return return;
} }
this.isClick = true this.isClick = true;
set['form'].validate(valid => { set["form"].validate((valid) => {
if (valid) { if (valid) {
let params = objDeepCopy(this.form) let params = objDeepCopy(this.form);
params.registerDate = this.form.vehicleRegisterDate // 上班时间 params.registerDate = this.form.vehicleRegisterDate; // 上班时间
params.vehicleRegisterDate = undefined params.vehicleRegisterDate = undefined;
if (this.form.id) { if (this.form.id) {
// 编辑 // 编辑
putObj(params).then(response => { putObj(params).then((response) => {
if (response.code == 1) { if (response.code == 1) {
this.$notify({ this.$notify({
title: '成功', title: "成功",
message: '编辑成功', message: "编辑成功",
type: 'success', type: "success",
duration: 2000 duration: 2000,
}) });
this.$emit('oneDialogEvent', true); this.$emit("oneDialogEvent", true);
} else { } else {
this.isClick = false this.isClick = false;
this.$notify({ this.$notify({
title: '失败', title: "失败",
message: response.message, message: response.message,
type: 'error', type: "error",
duration: 2000 duration: 2000,
}) });
} }
}) });
} else { } else {
// 添加 // 添加
addObj(params).then(response => { addObj(params).then((response) => {
if (response.code == 1) { if (response.code == 1) {
this.$notify({ this.$notify({
title: '成功', title: "成功",
message: '添加成功', message: "添加成功",
type: 'success', type: "success",
duration: 2000 duration: 2000,
}) });
this.$emit('oneDialogEvent', true); this.$emit("oneDialogEvent", true);
} else { } else {
this.isClick = false this.isClick = false;
this.$notify({ this.$notify({
title: '失败', title: "失败",
message: response.message, message: response.message,
type: 'error', type: "error",
duration: 2000 duration: 2000,
}) });
} }
}) });
} }
} else { } else {
this.isClick = false this.isClick = false;
} }
}) });
}, },
/** /**
* 出行状态 * 出行状态
*/ */
getAllVehicleStatus: function() { getAllVehicleStatus: function () {
return { return {
1: { 1: {
code: 1, code: 1,
val: '正常运行' val: "正常运行",
}, },
3: { 3: {
code: 3, code: 3,
val: '报废' val: "报废",
}, },
4: { 4: {
code: 4, code: 4,
val: '出车' val: "出车",
}, },
6: { 6: {
code: 6, code: 6,
val: '维修中' val: "维修中",
}, },
7: { 7: {
code: 7, code: 7,
val: '保养中' val: "保养中",
}, },
8: { 8: {
code: 8, code: 8,
val: '上牌中' val: "上牌中",
}
}
}, },
} };
} },
},
};
</script> </script>
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