|
|
@@ -0,0 +1,6052 @@
|
|
|
+<template>
|
|
|
+ <div class="body">
|
|
|
+ <div class="Enclosure flex f-c back">
|
|
|
+ <div class="home flex j-s a-c">
|
|
|
+ <div class="flex j-s a-c">
|
|
|
+ <img src="../../../src/icon/insurance.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">归属信息</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-form class="demo-ruleForm" :model="userform" ref="userform" label-width="130px" size="small"
|
|
|
+ style="margin-top:30px;" disabled>
|
|
|
+ <el-row>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="业务员:">
|
|
|
+ <el-input v-model="userform.name"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="工号:">
|
|
|
+ <el-input v-model="userform.id" type="text"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="工号类型:">
|
|
|
+ <el-select v-model="userform.usertype">
|
|
|
+ <el-option label="业务员" value="A"></el-option>
|
|
|
+ <el-option label="代理人" value="B"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="归属:">
|
|
|
+ <el-input v-model="deptName"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure flex f-c back">
|
|
|
+ <div class="home flex j-s a-c">
|
|
|
+ <div class="flex j-s a-c">
|
|
|
+ <img src="../../../src/icon/insurance.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left: 10px">快速查询</span>
|
|
|
+ </div>
|
|
|
+ <el-button size="small" type="warning" @click="continuousquery()">
|
|
|
+ <i class="el-icon-search" style="margin-right: 1px"></i>
|
|
|
+ 续保查询
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <el-form class="demo-ruleForm" :model="attributionform" ref="continuousform" label-width="130px" size="small"
|
|
|
+ style="margin-top: 30px">
|
|
|
+ <el-row>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="保险公司:" prop="companyId">
|
|
|
+ <el-select v-model="attributionform.companyId" placeholder="请选择保险公司" @change="continuousChange">
|
|
|
+ <el-option v-for="(item, index) in continuousCompanyList" :key="index" :label="item.namesimple"
|
|
|
+ :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell"
|
|
|
+ v-for="(domain, index) in attributionform.configure" :key="domain.index">
|
|
|
+ <el-form-item :label="domain.label + ':'" :prop="'configure.' + index + '.value'" :rules="{
|
|
|
+ required: true,
|
|
|
+ message: domain.label + '不能为空',
|
|
|
+ trigger: 'blur',
|
|
|
+ }">
|
|
|
+ <el-input v-model="domain.value" :type="domain.type"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure flex f-c back">
|
|
|
+ <div class="home flex j-s a-c">
|
|
|
+ <div class="flex j-s a-c color" id="Car">
|
|
|
+ <img src="../../../src/icon/car.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">车辆信息</span>
|
|
|
+ </div>
|
|
|
+ <el-button size="small" type="warning" @click="uploadcardialogVisible = true">
|
|
|
+ <i class="el-icon-camera-solid" style="margin-right:1px;"></i>
|
|
|
+ 证件识别
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <div class="flex j-c a-c" style="margin-bottom: 20px;">
|
|
|
+ <div class="csstool">
|
|
|
+ <span>是否已上牌照</span>
|
|
|
+ <el-switch v-model="licenseplate" active-color="#ee7000"></el-switch>
|
|
|
+ </div>
|
|
|
+ <div class="csstool">
|
|
|
+ <span>是否过户车</span>
|
|
|
+ <el-switch @change="transferFlagChange" v-model="carInfo.transferFlag" active-color="#ee7000"></el-switch>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-form class="demo-ruleForm" :model="carInfo" ref="carInfo" :rules="rules" label-width="130px" size="small ">
|
|
|
+ <el-row style="flex-wrap: wrap; display: flex;">
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="车牌:" :prop="licenseplate ? 'licenseNo' : ''">
|
|
|
+ <el-input v-model="carInfo.licenseNo" placeholder="请输入车牌号" :disabled="!licenseplate"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="车辆识别代码:" prop="frameNo">
|
|
|
+ <el-input placeholder="请输入车辆识别码" v-model="carInfo.frameNo" maxlength="17" type="text" show-word-limit>
|
|
|
+ <el-button slot="append" icon="el-icon-search" @click="toChooseVin(carInfo.frameNo)"
|
|
|
+ style="color: #ee6f00ce;"></el-button>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="品牌型号:" prop="modelcname">
|
|
|
+ <el-input v-model="carInfo.modelcname" placeholder="请输入品牌型号" type="text">
|
|
|
+ <el-button slot="append" icon="el-icon-search" @click="toChooseVehicleType(carInfo.modelcname)"
|
|
|
+ style="color: #ee6f00ce;"></el-button>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="发动机号:" prop="engineNo">
|
|
|
+ <el-input onkeyup="value=value.replace(/[^\w-]/ig,'')" v-model="carInfo.engineNo"
|
|
|
+ placeholder="请输入发动机号"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="年款:" prop="caryear">
|
|
|
+ <el-input onkeyup="value=value.replace(/\D/g,'')" v-model="carInfo.caryear" placeholder="请输入年款">
|
|
|
+
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="座位数:" prop="seatCount">
|
|
|
+ <el-input onkeyup="value=value.replace(/\D/g,'')" v-model="carInfo.seatCount" placeholder="请输入座位数">
|
|
|
+ <el-button slot="append">座</el-button></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="排量:" prop="enginedesc">
|
|
|
+ <el-input v-model="carInfo.enginedesc" placeholder="请输入排量">
|
|
|
+ <el-button slot="append">升(L)</el-button>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="功率:" prop="powerScale">
|
|
|
+ <el-input v-model="carInfo.powerScale" placeholder="请输入功率">
|
|
|
+ <el-button slot="append">千瓦(KW)</el-button>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="新车购置价:" prop="purchasePrice">
|
|
|
+ <el-input onkeyup="value=value.replace(/\D/g,'')" v-model="carInfo.purchasePrice" placeholder="请输入新车购置价">
|
|
|
+ <el-button slot="append">元</el-button>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="使用性质:" prop="carnature">
|
|
|
+ <el-select v-model="carInfo.carnature" placeholder="请选择使用性质">
|
|
|
+ <el-option :label="item.label" :value="item.id" v-for="(item, index) in carnatureList"
|
|
|
+ :key="index"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="车辆类型:" prop="cartype">
|
|
|
+ <el-select v-model="carInfo.cartype" placeholder="请选择车辆种类" filterable clearable>
|
|
|
+ <el-option :label="item.dictValue + item.dictTag" :value="item.dictValue"
|
|
|
+ v-for="(item, index) in trafficManagementVehicleTypeoptions" :key="index"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="车辆种类:" prop="cimodelclass">
|
|
|
+ <el-select v-model="carInfo.cimodelclass" placeholder="请选择车辆种类" clearable>
|
|
|
+ <el-option :label="item.dictTag" :value="item.dictValue" v-for="(item, index) in vehicleTypeoptions"
|
|
|
+ :key="index"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="能源种类:" prop="energyType">
|
|
|
+ <el-select v-model="carInfo.energyType" placeholder="请选择能源种类">
|
|
|
+ <el-option :label="item.dictTag" :value="item.dictValue" v-for="(item, index) in energyTypeoptions"
|
|
|
+ :key="index"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="注册日期:" prop="registerDate">
|
|
|
+ <el-date-picker v-dateFormat v-model="carInfo.registerDate" :picker-options="pickerOptions"
|
|
|
+ value-format="yyyy-MM-dd" type="date" placeholder="选择注册日期" placement="bottom-start"></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="发证日期:" prop="issueDate">
|
|
|
+ <el-date-picker v-dateFormat v-model="carInfo.issueDate" :picker-options="issueDateOptions" type="date"
|
|
|
+ placeholder="选择发证日期" value-format="yyyy-MM-dd" placement="bottom-start"></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell" v-if="transferDateShow">
|
|
|
+ <el-form-item label="转移登记日期:" prop="transferDate">
|
|
|
+ <el-date-picker v-dateFormat v-model="carInfo.transferDate" :picker-options="pickerOptions" type="date"
|
|
|
+ placeholder="选择日期" value-format="yyyy-MM-dd" placement="bottom-start"></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure flex f-c back">
|
|
|
+ <div class="home flex j-s a-c">
|
|
|
+ <div class="flex j-s a-c color" id="CheZhu">
|
|
|
+ <img src="../../../src/icon/chezhu.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">车主信息</span>
|
|
|
+ </div>
|
|
|
+ <el-button size="small" type="warning" @click="uploaduser(2)">
|
|
|
+ <i class="el-icon-camera-solid" style="margin-right:4px;"></i>证件识别
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <el-form class="demo-ruleForm" :model="ownerInfo" ref="ownerInfo" :rules="rules" label-width="130px" size="small"
|
|
|
+ style="margin-top:30px;">
|
|
|
+ <el-row style="flex-wrap: wrap; display: flex;">
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="车主姓名:" prop="name">
|
|
|
+ <el-input v-model="ownerInfo.name" placeholder="请输入车主姓名"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="证件类型:" prop="identifyType">
|
|
|
+ <el-select v-model="ownerInfo.identifyType" placeholder="身份证" disabled>
|
|
|
+ <el-option label="身份证" value="01"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="证件号码:" prop="identifyNumber">
|
|
|
+ <el-input v-model="ownerInfo.identifyNumber" placeholder="请输入证件号码" type="text" maxlength="18"
|
|
|
+ show-word-limit @blur="identifyblur('ownerInfo')"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="年龄:" prop="age">
|
|
|
+ <el-input v-model="ownerInfo.age" placeholder="请输入年龄" type="text" disabled></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="车主手机号:" prop="mobile">
|
|
|
+ <el-input v-model="ownerInfo.mobile" placeholder="请输入车主手机号" maxlength="11" type="text"
|
|
|
+ show-word-limit></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="省市区:">
|
|
|
+ <el-cascader v-model="selectedOptions1" :options="areaOptions"
|
|
|
+ @change="event => areahandleChange(event, 'ownerInfo')"></el-cascader>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="地址:" prop="addr">
|
|
|
+ <el-input v-model="ownerInfo.addr" placeholder="请输入地址" type="text"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="有效期起期:" prop="identifyValidDate">
|
|
|
+ <el-date-picker v-dateFormat v-model="ownerInfo.identifyValidDate" value-format="yyyy-MM-dd"
|
|
|
+ :picker-options="pickerOptions" type="date" placeholder="选择注册日期"
|
|
|
+ placement="bottom-start"></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="有效期止期:" prop="identifyValidEndDate">
|
|
|
+ <el-date-picker v-dateFormat v-model="ownerInfo.identifyValidEndDate" type="date" value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择有效期" placement="bottom-start" style="width: calc(100% - 40px);"></el-date-picker>
|
|
|
+ <div class="insure-long-term" @click="insureLongterm('ownerInfo')">长期</div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="电子邮箱:" prop="email">
|
|
|
+ <el-input v-model="ownerInfo.email" placeholder="请输入电子邮箱"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure flex f-c back">
|
|
|
+ <div class="home flex j-s a-c">
|
|
|
+ <div class="flex j-s a-c">
|
|
|
+ <img src="../../../src/icon/toubaoren.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">投保人信息</span>
|
|
|
+ </div>
|
|
|
+ <div class="flex a-c j-c">
|
|
|
+ <div style="font-size:12px;margin:0 10px;">
|
|
|
+ 同车主:
|
|
|
+ <el-switch v-model="tbczcarShow" active-color="#ee7000" @change="tbczcarShowChange()"></el-switch>
|
|
|
+ </div>
|
|
|
+ <el-button size="small" type="warning" @click="uploaduser(3)">
|
|
|
+ <i class="el-icon-camera-solid" style="margin-right:4px;"></i>
|
|
|
+ 证件识别
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-form v-show="!tbczcarShow" class="demo-ruleForm" :model="policyHolderInfo" ref="policyHolderInfo" :rules="rules"
|
|
|
+ label-width="130px" size="small " style="margin-top:30px;">
|
|
|
+ <el-row style="flex-wrap: wrap; display: flex;">
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="投保人姓名:" prop="name">
|
|
|
+ <el-input v-model="policyHolderInfo.name" placeholder="请输入投保人姓名"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="证件类型:" prop="identifyType">
|
|
|
+ <el-select v-model="policyHolderInfo.identifyType" placeholder="身份证" disabled>
|
|
|
+ <el-option label="身份证" value="01"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="证件号码:" prop="identifyNumber">
|
|
|
+ <el-input v-model="policyHolderInfo.identifyNumber" placeholder="请输入证件号码" type="text" maxlength="18"
|
|
|
+ show-word-limit @blur="identifyblur('policyHolderInfo')"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="年龄:" prop="age">
|
|
|
+ <el-input v-model="policyHolderInfo.age" placeholder="请输入年龄" type="text" disabled></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="投保人手机号:" prop="mobile">
|
|
|
+ <el-input v-model="policyHolderInfo.mobile" placeholder="请输入投保人手机号" maxlength="11" type="text"
|
|
|
+ show-word-limit></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="省市区:">
|
|
|
+ <el-cascader v-model="selectedOptions2" :options="areaOptions"
|
|
|
+ @change="event => areahandleChange(event, 'policyHolderInfo')"></el-cascader>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="地址:" prop="addr">
|
|
|
+ <el-input v-model="policyHolderInfo.addr" placeholder="请输入地址" type="text"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="有效期起期:" prop="identifyValidDate">
|
|
|
+ <el-date-picker v-dateFormat v-model="policyHolderInfo.identifyValidDate" value-format="yyyy-MM-dd"
|
|
|
+ :picker-options="pickerOptions" type="date" placeholder="选择有效期" placement="bottom-start"></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="有效期止期:" prop="identifyValidEndDate">
|
|
|
+ <el-date-picker v-dateFormat v-model="policyHolderInfo.identifyValidEndDate" type="date"
|
|
|
+ value-format="yyyy-MM-dd" placeholder="选择有效期" placement="bottom-start"
|
|
|
+ style="width: calc(100% - 40px);"></el-date-picker>
|
|
|
+ <div class="insure-long-term" @click="insureLongterm('policyHolderInfo')">长期</div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="电子邮箱:" prop="email">
|
|
|
+ <el-input v-model="policyHolderInfo.email" placeholder="请输入电子邮箱"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure flex f-c back">
|
|
|
+ <div class="home flex j-s a-c">
|
|
|
+ <div class="flex j-s a-c">
|
|
|
+ <img src="../../../src/icon/toubaoren.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">被保人信息</span>
|
|
|
+ </div>
|
|
|
+ <div class="flex j-s a-c">
|
|
|
+ <div style="font-size:12px;margin:0 10px;">
|
|
|
+ 同投保人:
|
|
|
+ <el-switch v-model="bbtbcarShow" active-color="#ee7000" @change="bbtbcarShowChange()"></el-switch>
|
|
|
+ </div>
|
|
|
+ <div style="font-size:12px;margin:0 10px;">
|
|
|
+ 同车主:
|
|
|
+ <el-switch v-model="bbczcarShow" active-color="#ee7000" @change="bbczcarShowChange()"></el-switch>
|
|
|
+ </div>
|
|
|
+ <el-button size="small" type="warning" @click="uploaduser(4)">
|
|
|
+ <i class="el-icon-camera-solid" style="margin-right:4px;"></i>
|
|
|
+ 证件识别
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-form v-show="!bbtbcarShow && !bbczcarShow" class="demo-ruleForm" :model="insuredPersonInfo"
|
|
|
+ ref="insuredPersonInfo" :rules="rules" label-width="130px" size="small" style="margin-top:30px;">
|
|
|
+ <el-row style="flex-wrap: wrap; display: flex;">
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="被保人姓名:" prop="name">
|
|
|
+ <el-input v-model="insuredPersonInfo.name" placeholder="请输入被保人姓名"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="证件类型:" prop="identifyType">
|
|
|
+ <el-select v-model="insuredPersonInfo.identifyType" placeholder="身份证" disabled>
|
|
|
+ <el-option label="身份证" value="01"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="证件号码:" prop="identifyNumber">
|
|
|
+ <el-input v-model="insuredPersonInfo.identifyNumber" placeholder="请输入证件号码" type="text" maxlength="18"
|
|
|
+ show-word-limit @blur="identifyblur('insuredPersonInfo')"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="年龄:" prop="age">
|
|
|
+ <el-input v-model="insuredPersonInfo.age" placeholder="请输入年龄" type="text" disabled></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="被保人手机号:" prop="mobile">
|
|
|
+ <el-input v-model="insuredPersonInfo.mobile" placeholder="请输入被保人手机号" maxlength="11" type="text"
|
|
|
+ show-word-limit></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="省市区:">
|
|
|
+ <el-cascader v-model="selectedOptions3" :options="areaOptions"
|
|
|
+ @change="event => areahandleChange(event, 'insuredPersonInfo')"></el-cascader>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="地址:" prop="addr">
|
|
|
+ <el-input v-model="insuredPersonInfo.addr" placeholder="请输入地址" type="text"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="有效期起期:" prop="identifyValidDate">
|
|
|
+ <el-date-picker v-dateFormat v-model="insuredPersonInfo.identifyValidDate" value-format="yyyy-MM-dd"
|
|
|
+ :picker-options="pickerOptions" type="date" placeholder="选择有效期" placement="bottom-start"></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="有效期止期:" prop="identifyValidEndDate">
|
|
|
+ <el-date-picker v-dateFormat v-model="insuredPersonInfo.identifyValidEndDate" type="date"
|
|
|
+ value-format="yyyy-MM-dd" placeholder="选择有效期" placement="bottom-start"
|
|
|
+ style="width: calc(100% - 40px);"></el-date-picker>
|
|
|
+ <div class="insure-long-term" @click="insureLongterm('insuredPersonInfo')">长期</div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
|
|
|
+ <el-form-item label="电子邮箱:" prop="email">
|
|
|
+ <el-input v-model="insuredPersonInfo.email" placeholder="请输入电子邮箱"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure flex f-c back">
|
|
|
+ <div class="home flex j-s a-c">
|
|
|
+ <div class="flex j-s a-c color" id="insurance">
|
|
|
+ <img src="../../../src/icon/salesman.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">投保信息</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-form class="back demo-ruleForm" :inline="true" :model="Carinsurance" label-width="150px" size="small"
|
|
|
+ style="padding:20px;">
|
|
|
+ <div class="flex j-start a-c">
|
|
|
+ <div class="flex j-c a-start">
|
|
|
+ <el-checkbox class="checkbox" v-model="jqchecked" @change="jqcheckedChange"></el-checkbox>
|
|
|
+ <div class="flex f-c a-c">
|
|
|
+ <el-form-item label="交强险起保日期:" prop="identifyNumber">
|
|
|
+ <el-date-picker v-dateFormat value-format="yyyy-MM-dd HH:mm:ss" v-model="jqstartDate" @change="jqChange"
|
|
|
+ type="datetime" placeholder="选择日期时间" placement="bottom-start"></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="交强险终保日期:" prop="identifyNumber">
|
|
|
+ <el-date-picker v-dateFormat value-format="yyyy-MM-dd HH:mm:ss" v-model="jqendDate" type="datetime"
|
|
|
+ placeholder="选择日期时间" placement="bottom-start"></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="flex f-c a-c" style="margin: 0 20px;">
|
|
|
+ <span style="font-size:12px;">同步</span>
|
|
|
+ <svg data-v-7ff62e07 t="1595555843123" viewBox="0 0 1505 1024" version="1.1"
|
|
|
+ xmlns="http://www.w3.org/2000/svg" p-id="7086" width="100" height="100" class="icon">
|
|
|
+ <path data-v-7ff62e07
|
|
|
+ d="M227.83021864 224.558766h537.088236l0.906223-176.562471c0.151037-42.743524 51.956792-64.039767 82.16423-33.83233L1311.06892164 478.30124c18.879648 18.879648 18.728611 49.38916-0.151037 68.268808L843.30675464 1009.952137c-30.509512 30.207437-82.315267 8.458082-82.013192-34.436479l0.755186-170.974095H227.83021864c-26.28047 0-47.425677-21.296243-47.425676-47.425676V271.984443C180.25350564 245.703972 201.54974864 224.558766 227.83021864 224.558766z"
|
|
|
+ p-id="7087" fill="#f05f08" @click="synchronization" />
|
|
|
+ </svg>
|
|
|
+ </div>
|
|
|
+ <div class="flex j-c a-start">
|
|
|
+ <el-checkbox class="checkbox" v-model="sychecked" @change="sycheckedChange"></el-checkbox>
|
|
|
+ <div class="flex f-c a-c">
|
|
|
+ <el-form-item label="商业险起保日期:" prop="name">
|
|
|
+ <el-date-picker v-dateFormat value-format="yyyy-MM-dd HH:mm:ss" v-model="systartDate" @change="syChange"
|
|
|
+ type="datetime" placeholder="选择日期时间" placement="bottom-start"></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="商业险终保日期:" prop="name">
|
|
|
+ <el-date-picker v-dateFormat value-format="yyyy-MM-dd HH:mm:ss" v-model="syendDate" type="datetime"
|
|
|
+ placeholder="选择日期时间" placement="bottom-start"></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure flex f-c back">
|
|
|
+ <div class="home flex j-s a-c back">
|
|
|
+ <div class="flex j-s a-c color" id="more">
|
|
|
+ <img src="../../../src/icon/more.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">险别选择</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="flex f-c more">
|
|
|
+ <div class="flex j-s a-c more-title back">
|
|
|
+ <div style="width:590px;padding-left:100px;" class="flex j-s a-c">
|
|
|
+ <span>险别</span>
|
|
|
+ <span>保额(元)</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="flex a-c more-data back" v-for="(insureitem, insureindex) in insureList" :key="insureindex">
|
|
|
+ <div style="width:700px;padding-left: 100px;" class="flex j-s a-c">
|
|
|
+ <div style="width:auto;">
|
|
|
+ <span style="text-align:center;">{{ insureitem.kindName }}<el-input
|
|
|
+ v-show="insureitem.kindCode == 'D4' || insureitem.kindCode == 'MJ4' || insureitem.kindCode == 'SY_FJ_YBW2'"
|
|
|
+ v-model="sumseatCount" style="width:40px;margin:0 5px;" size="small" placeholder
|
|
|
+ disabled></el-input><span
|
|
|
+ v-show="insureitem.kindCode == 'D4' || insureitem.kindCode == 'MJ4' || insureitem.kindCode == 'SY_FJ_YBW2'">座</span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <el-select filterable v-model="insureitem.amount" placeholder="请选择" @change="insureitemChange" size="small"
|
|
|
+ style="width: 300px;">
|
|
|
+ <el-option :label="item.label" :value="item.value" v-for="(item, index) in insureitem.amtList"
|
|
|
+ :key="index"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <!-- <div style="margin:0 auto;font-size: 14px;cursor: pointer;margin-top:15px;">
|
|
|
+ <span v-show="insureMore" @click="selectMore(insureList.length)">
|
|
|
+ 查看更多
|
|
|
+ <i class="el-icon-arrow-down"></i>
|
|
|
+ </span>
|
|
|
+ <span v-show="!insureMore" @click="packup()">
|
|
|
+ 收起
|
|
|
+ <i class="el-icon-arrow-up"></i>
|
|
|
+ </span>
|
|
|
+ </div> -->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure flex f-c back">
|
|
|
+ <div class="home flex j-s a-c">
|
|
|
+ <div class="flex j-s a-c color" id="company">
|
|
|
+ <img src="../../../src/icon/company.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">保险公司</span>
|
|
|
+ </div>
|
|
|
+ <div class="flex j-s a-c color">
|
|
|
+ <el-button v-show="imageUploadShow" size="small" type="warning" @click="imageUpload()">
|
|
|
+ <i class="el-icon-camera-solid" style="margin-right:4px;"></i>
|
|
|
+ 影像上传
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="padding:0 56px;">
|
|
|
+ <div class="flex j-s a-c companyhead">
|
|
|
+ <span>报价结果</span>
|
|
|
+ <span>交强险</span>
|
|
|
+ <span>车船税</span>
|
|
|
+ <span>商业险</span>
|
|
|
+ <span>驾意险</span>
|
|
|
+ </div>
|
|
|
+ <div class="coll">
|
|
|
+ <div v-loading.fullscreen.lock="loading" class="hovers" v-for="(reslistitem, reslistindex) in totalCompanyList"
|
|
|
+ :key="reslistindex">
|
|
|
+ <div class="flex j-s">
|
|
|
+ <div style="width:15%;font-weight: bold;" class="flex j-s a-c">
|
|
|
+ <div class="flex j-c a-c" style="width:50%">
|
|
|
+ <el-checkbox class="checkbox" v-model="reslistitem.checked"
|
|
|
+ @change="event => initchange(event, reslistitem.id, reslistitem.cnName, reslistindex)"></el-checkbox>
|
|
|
+ </div>
|
|
|
+ <div class="flex f-c a-c" style="width:50%">
|
|
|
+ <img :src="reslistitem.logo" alt style="width:30px; height:30px;margin-bottom:10px;" />
|
|
|
+ <span>{{ reslistitem.namesimple }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="headers" style="width:61%">
|
|
|
+ <div style="color:#ee7000" v-show="reslistitem.quoteCode == '0'">
|
|
|
+ <span>未报价</span>
|
|
|
+ </div>
|
|
|
+ <div v-show="reslistitem.quoteCode == '1'">
|
|
|
+ <i style="color:#ee7000" class="el-icon-loading"></i>
|
|
|
+ </div>
|
|
|
+ <span v-show="reslistitem.quoteCode == '200'" style="color:#ee7000;font-weight:bold;">
|
|
|
+ ¥{{
|
|
|
+ reslistitem.result.sumPermium
|
|
|
+ }}
|
|
|
+ </span>
|
|
|
+ <span v-show="reslistitem.quoteCode == '200'" style="color:#ee7000;font-weight:bold;">
|
|
|
+ ¥{{
|
|
|
+ reslistitem.result.jqPremium }}
|
|
|
+ </span>
|
|
|
+ <span v-show="reslistitem.quoteCode == '200'" style="color:#ee7000;font-weight:bold;">
|
|
|
+ ¥{{
|
|
|
+ reslistitem.result.taxAmount }}
|
|
|
+ </span>
|
|
|
+ <span v-show="reslistitem.quoteCode == '200'" style="color:#ee7000;font-weight:bold;">
|
|
|
+ ¥{{
|
|
|
+ reslistitem.result.syPremium }}
|
|
|
+ </span>
|
|
|
+ <span v-if="reslistitem.quoteCode == '200'" style="color:#ee7000;font-weight:bold;">
|
|
|
+ {{
|
|
|
+ reslistitem.result.jyPremium ? '¥' + reslistitem.result.jyPremium : '无' }}
|
|
|
+ </span>
|
|
|
+ <span
|
|
|
+ v-show="(reslistitem.quoteCode != '200') && (reslistitem.quoteCode != '0') && (reslistitem.quoteCode != '1')">
|
|
|
+ {{
|
|
|
+ reslistitem.msg.length > 500 ? reslistitem.msg.slice(0, 500) : reslistitem.msg }}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div style="width:15%;" class="flex j-start a-c">
|
|
|
+ <el-button v-show="reslistitem.quoteCode == '200'" type="text" style="color:#ee7000"
|
|
|
+ @click="hbsubmitdialog(reslistitem)">下单</el-button>
|
|
|
+ <el-button v-show="reslistitem.quoteCode == '200'" type="text"
|
|
|
+ @click="qoutedetail(reslistitem.result.companyId)">查看详情</el-button>
|
|
|
+ <el-button v-show="reslistitem.quoteCode == '200'" type="text" style="color:rgb(240, 12, 10)"
|
|
|
+ @click="bjdpreview(reslistitem.result.companyId)">报价单</el-button>
|
|
|
+ <el-button v-show="reslistitem.orderstatus == '2'" type="text" style="color:rgb(240, 12, 10)"
|
|
|
+ @click="Payment(reslistitem.result.companyId)">付款码</el-button>
|
|
|
+ <el-tooltip class="item" effect="dark" content="上年信息" placement="top">
|
|
|
+ <i class="el-icon-chat-dot-round" v-show="(reslistitem.quoteCode == '200' && reslistitem.lastYearMsg)"
|
|
|
+ @click="open2(reslistitem.namesimple, reslistitem.lastYearMsg)"
|
|
|
+ style="color:rgb(238, 112, 0);font-size:20px;margin-left:10px;"></i>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="offer-time " v-show="reslistitem.quoteCode == '200'">
|
|
|
+ <template v-if="reslistitem.namesimple == '永诚财险'">
|
|
|
+ <span v-show="reslistitem.result.startDateJq">交强险:<span>{{ reslistitem.result.startDateJq }} -
|
|
|
+ {{ reslistitem.result.endDateJq }}</span></span>
|
|
|
+ <span v-show="reslistitem.result.startDateSy">商业险: <span>{{ reslistitem.result.startDateSy }} -
|
|
|
+ {{ reslistitem.result.endDateSy }}</span></span>
|
|
|
+ <span>光博分:{{ reslistitem.result.ilogPreUdwMess ? reslistitem.result.ilogPreUdwMess : '无' }}</span>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <div v-if="reslistitem.checked" class="dis a-c Driving-risk" style="margin-top:10px;">
|
|
|
+ <h4>报价协议选择:</h4>
|
|
|
+ <el-select size="small" v-model="reslistitem.agreementId" placeholder="请选择协议" style="width: 200px;"
|
|
|
+ :clearable="true" @change="val => agreementChange(val, reslistitem.agreement, reslistindex, reslistitem)">
|
|
|
+ <div v-for="(agreementitem, agreementindex ) in reslistitem.agreement" :key="agreementindex">
|
|
|
+ <div
|
|
|
+ v-if="agreementitem.licenseNo.length > 0 ? agreementitem.licenseNo.includes(carInfo.licenseNo.slice(0, 2)) : 'true'">
|
|
|
+ <el-option :label="agreementitem.agreementName" :value="agreementitem.id"></el-option>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <template v-if="reslistitem.namesimple == '紫金财险' && reslistitem.checked && reslistitem.agreementId">
|
|
|
+ <div class="flex f-c Driving-risk accident-style">
|
|
|
+ <h3>意外险信息</h3>
|
|
|
+ <el-table size="small" :data="ziJinInsuranceData" border v-loading="accidentLoading"
|
|
|
+ @select="CheckboxChange" ref="expandTable" highlight-current-row
|
|
|
+ :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#ee7000' }">
|
|
|
+ <el-table-column type="selection" width="55"></el-table-column>
|
|
|
+ <el-table-column prop="projectName" label="方案名称" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="sumAmount" label="总保额 (元)/每份" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="sumPremium" label="保费 (元)/每份" align="center">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="quantity" label="份数" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input-number v-model="scope.row.quantity" :min="1" :max="scope.row.maxQuantity" size="small"
|
|
|
+ controls-position="right"></el-input-number>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="Totalprice" label="总保费 (元)" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.quantity">{{ scope.row.sumPremium * scope.row.quantity }}</span>
|
|
|
+ <span v-else>{{ scope.row.sumPremium }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template v-if="reslistitem.namesimple == '永诚财险' && reslistitem.checked && reslistitem.agreementId">
|
|
|
+ <div class="flex f-c Driving-risk accident-style">
|
|
|
+ <h3>意外险信息</h3>
|
|
|
+ <el-form :inline="true" :model="accidentForm" class="demo-form-inline" size="small">
|
|
|
+ <el-form-item label="意外险类型:" style="margin-right:30px;">
|
|
|
+ <el-select clearable v-model="accidentForm.accidentType" placeholder="选择类型" @clear="clearAccidentForm"
|
|
|
+ @change="ywxxxchange">
|
|
|
+ <el-option v-for="(item, index) in accidentDataList" :key="index" :label="item.name"
|
|
|
+ :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="份数:" style="margin-right:30px;">
|
|
|
+ <el-input-number v-model="accidentForm.fen" @change="numberCopieschange" :min="1"></el-input-number>
|
|
|
+ <span style="margin-left: 5px;">份</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="保费:">
|
|
|
+ <el-input-number v-model="accidentForm.premium" :min="1"></el-input-number>
|
|
|
+ <span style="margin-left: 5px;">元</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <el-table v-if="accidentForm.accidentType" size="small" :data="accidenttableData" border
|
|
|
+ v-loading="accidentLoading" ref="expandTable" highlight-current-row
|
|
|
+ :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#ee7000' }">
|
|
|
+ <el-table-column prop="name" label="保险责任" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="seatSum" label="每座保额 (元)/每份" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.seatSum" placeholder="请输入内容" size="small"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="carSum" label="每车保额 (元)/每份" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.carSum" placeholder="请输入内容" size="small "></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="premium" label="责任保费 (元)/每份" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.premium" placeholder="请输入内容" size="small "></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template v-if="reslistitem.namesimple == '中煤财险' && reslistitem.checked">
|
|
|
+ <div class="flex f-c Driving-risk">
|
|
|
+ <h4>意外险信息</h4>
|
|
|
+ <el-form :inline="true" :model="zmDrivingForm" class="demo-form-inline" size="small">
|
|
|
+ <el-form-item label="产品:" style="margin-right:30px;">
|
|
|
+ <el-select clearable v-model="zmDrivingForm.id" placeholder="选择产品" @change="zmdvchange"
|
|
|
+ @clear="zmdvclear">
|
|
|
+ <el-option v-for="(item, index) in zhongmeiDrivinglist" :key="index" :label="item.rideRiskName"
|
|
|
+ :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="份数:">
|
|
|
+ <el-input-number v-model="zmDrivingForm.quantity" @change="quantityhandleChange" :min="1"
|
|
|
+ :max="DrivingMAXnum"></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="单价:" v-if="unitPrice" style="margin-left:30px;color: #606266;">
|
|
|
+ <span>{{ unitPrice }}/份</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure flex f-c">
|
|
|
+ <div class="home flex j-s a-c back">
|
|
|
+ <div class="flex j-s a-c color">
|
|
|
+ <img src="../../../src/icon/salesman.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">报价历史</span>
|
|
|
+ <el-radio-group v-model="radio" style="margin-left:30px;" @input="RadioHistoryChange" v-if="orderno">
|
|
|
+ <el-radio label>全部</el-radio>
|
|
|
+ <el-radio :label="0">报价中</el-radio>
|
|
|
+ <el-radio :label="1">待核保</el-radio>
|
|
|
+ <el-radio :label="2">已核保待缴费</el-radio>
|
|
|
+ <el-radio :label="3">已承保</el-radio>
|
|
|
+ <el-radio :label="4">人工核保</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="padding:20px;">
|
|
|
+ <el-table size="small" :data="HistoryList" height="250" border style="width: 100%" v-loading="loading"
|
|
|
+ :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#ee7000' }" highlight-current-row>
|
|
|
+ <el-table-column prop="inscompany" label="保险公司" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="createtime" label="报价时间" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="jqpremium" label="交强险" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="sypremium" label="商业险" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="taxamount" label="车船税" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="sumpremium" label="总保费" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="orderstatus" label="状态" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tag v-if="scope.row.orderstatus == '0'" type="success" size="small">报价中</el-tag>
|
|
|
+ <el-tag v-if="scope.row.orderstatus == '1'" type="warning" size="small">待核保</el-tag>
|
|
|
+ <el-tag v-if="scope.row.orderstatus == '2'" type="danger" size="small">已核保待缴费</el-tag>
|
|
|
+ <el-tag v-if="scope.row.orderstatus == '3'" type="danger" size="small">已承保</el-tag>
|
|
|
+ <el-tag v-if="scope.row.orderstatus == '4'" type="danger" size="small">核保退回</el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" min-width="200" fixed="right">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button type="text" size="small" @click="qoutedetail(scope.row.id)">查看详情</el-button>
|
|
|
+ <el-button size="small" type="text" style="color:rgb(240, 12, 10)"
|
|
|
+ @click="bjdpreview(scope.row.id)">报价单</el-button>
|
|
|
+ <el-button size="small" v-show="scope.row.orderstatus == '2'" type="text" style="color:rgb(240, 12, 10)"
|
|
|
+ @click="Payment(scope.row.id)">付款码</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-dialog title="报价详情" :visible.sync="quotedetailsdialogVisible" width="90%">
|
|
|
+ <div class="Enclosure" v-if="queryOrders">
|
|
|
+ <div class="home flex j-s a-c back">
|
|
|
+ <div class="flex j-s a-c color">
|
|
|
+ <img src="../../../src/icon/company.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">报价信息</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="padding:20px;font-weight:bold;font-size:20px;">
|
|
|
+ <span>总保费</span>
|
|
|
+ <span style="color:#ff7612;">¥{{ queryOrders.sumpremium }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="headers headers_Custom" style="padding:20px;">
|
|
|
+ <div v-show="queryOrders.jqpremium">
|
|
|
+ 交强险金额:
|
|
|
+ <span>
|
|
|
+ ¥{{
|
|
|
+ queryOrders.jqpremium }}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div v-show="queryOrders.sypremium">
|
|
|
+ 商业险金额:
|
|
|
+ <span>¥{{ queryOrders.sypremium }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-show="queryOrders.taxamount">
|
|
|
+ 车船税:
|
|
|
+ <span>¥{{ queryOrders.taxamount }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-if="queryOrders.accidentInfo">
|
|
|
+ 驾意险:
|
|
|
+ <span>¥{{ queryOrders.accidentInfo.sumPremium }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-show="queryOrders.jqstartdate">
|
|
|
+ 交强险起保日期:
|
|
|
+ <span>{{ queryOrders.jqstartdate }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-show="queryOrders.systartdate">
|
|
|
+ 商业险起保日期:
|
|
|
+ <span>{{ queryOrders.systartdate }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure" v-if="queryOrders">
|
|
|
+ <div class="home flex j-s a-c back">
|
|
|
+ <div class="flex j-s a-c color">
|
|
|
+ <img src="../../../src/icon/company.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">保费因素</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-descriptions size="small">
|
|
|
+ <el-descriptions-item label="商业险折扣比例">{{ queryOrders.extendInfo.nirrratio }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="交强险折扣比例">{{ queryOrders.extendInfo.nirrratioCI }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="自主定价系数">{{ queryOrders.extendInfo.pricingAdjustValue }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="业务员交强险销售费用浮动率">
|
|
|
+ {{ queryOrders.extendInfo.jqFeeSaleChangeRateA4
|
|
|
+ }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="交强深度定价分档">{{ queryOrders.extendInfo.deepPriceGradeCI }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="业务员商业险销售费用浮动率">
|
|
|
+ {{ queryOrders.extendInfo.syFeeSaleChangeRateA4
|
|
|
+ }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="商业深度定价分档">{{ queryOrders.extendInfo.deepPriceGradeBI }}</el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure" v-if="queryOrders">
|
|
|
+ <div class="home flex j-s a-c back">
|
|
|
+ <div class="flex j-s a-c color">
|
|
|
+ <img src="../../../src/icon/company.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">车辆信息</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-descriptions size="small">
|
|
|
+ <el-descriptions-item label="车牌号">{{ queryOrders.carinfo.licenseNo }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="车牌号">{{ queryOrders.carinfo.licenseTypeCode }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="车辆识别代码">{{ queryOrders.carinfo.vinNo }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="品牌型号">{{ queryOrders.carinfo.modelcname }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="发动机号">{{ queryOrders.carinfo.engineNo }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="年款">{{ queryOrders.carinfo.caryear }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="座位数">{{ queryOrders.carinfo.seatCount }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="新车购置价">{{ queryOrders.carinfo.purchasePrice }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="使用性质">
|
|
|
+ {{ queryOrders.carinfo.carnature == '8A' ? '家庭自用' : ''
|
|
|
+ }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="注册日期">{{ queryOrders.carinfo.registerDate }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="发证日期">{{ queryOrders.carinfo.issueDate }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="是否过户">
|
|
|
+ {{ queryOrders.carinfo.transferFlag == true ? '是' : '否'
|
|
|
+ }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure" v-if="queryOrders">
|
|
|
+ <div class="home flex j-s a-c back">
|
|
|
+ <div class="flex j-s a-c color">
|
|
|
+ <img src="../../../src/icon/company.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">车主信息</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-descriptions size="small">
|
|
|
+ <el-descriptions-item label="车主姓名">{{ queryOrders.ownerinfo.name }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="证件类型">
|
|
|
+ {{ queryOrders.ownerinfo.identifyType == '01' ? '身份证' : ''
|
|
|
+ }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="身份证号">{{ queryOrders.ownerinfo.identifyNumber }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="手机号">{{ queryOrders.ownerinfo.mobile }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="地址">{{ queryOrders.ownerinfo.addr }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="电子邮箱">{{ queryOrders.ownerinfo.email }}</el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure" v-if="queryOrders">
|
|
|
+ <div class="home flex j-s a-c back">
|
|
|
+ <div class="flex j-s a-c color">
|
|
|
+ <img src="../../../src/icon/company.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">投保人信息</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-descriptions size="small">
|
|
|
+ <el-descriptions-item label="投保人姓名">{{ queryOrders.applyinfo.name }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="证件类型">
|
|
|
+ {{ queryOrders.applyinfo.identifyType == '01' ? '身份证' : ''
|
|
|
+ }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="身份证号">{{ queryOrders.applyinfo.identifyNumber }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="手机号">{{ queryOrders.applyinfo.mobile }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="地址">{{ queryOrders.applyinfo.addr }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="电子邮箱">{{ queryOrders.applyinfo.email }}</el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure" v-if="queryOrders">
|
|
|
+ <div class="home flex j-s a-c back">
|
|
|
+ <div class="flex j-s a-c color">
|
|
|
+ <img src="../../../src/icon/company.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">被保人信息</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-descriptions size="small">
|
|
|
+ <el-descriptions-item label="被保人姓名">{{ queryOrders.insureinfo.name }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="证件类型">
|
|
|
+ {{ queryOrders.insureinfo.identifyType == '01' ? '身份证' : ''
|
|
|
+ }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="身份证号">{{ queryOrders.insureinfo.identifyNumber }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="手机号">{{ queryOrders.insureinfo.mobile }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="地址">{{ queryOrders.insureinfo.addr }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="电子邮箱">{{ queryOrders.insureinfo.email }}</el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="Enclosure" v-if="queryOrders">
|
|
|
+ <div class="home flex j-s a-c back">
|
|
|
+ <div class="flex j-s a-c color">
|
|
|
+ <img src="../../../src/icon/company.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">险种信息</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="font-size:12px">
|
|
|
+ <div class="headers kindinfocss" style="justify-content: space-around">
|
|
|
+ <span>商业险险别</span>
|
|
|
+ <span>保额(元)</span>
|
|
|
+ <span>保费(元)</span>
|
|
|
+ </div>
|
|
|
+ <div class="headers kindinfocss" style="color:rgb(255, 118, 18); justify-content:space-around;"
|
|
|
+ v-for="(kindinfoitem, kindinfoindex) in queryOrders.kindinfo" :key="kindinfoindex">
|
|
|
+ <template v-if="kindinfoitem.coveragePremium">
|
|
|
+ <span>{{ kindinfoitem.kindName }}</span>
|
|
|
+ <span v-if="['D4', 'SY_FJ_YBW2'].includes(kindinfoitem.kindCode)">{{ kindinfoitem.unitAmount }}</span>
|
|
|
+ <span v-else-if="['MJ1', 'MJ2', 'MJ3', 'MJ4'].includes(kindinfoitem.kindCode)">
|
|
|
+ {{
|
|
|
+ kindinfoitem.deductibleRate
|
|
|
+ }}
|
|
|
+ </span>
|
|
|
+ <span v-else>{{ kindinfoitem.amount }}</span>
|
|
|
+ <span>{{ kindinfoitem.coveragePremium }}</span>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure" v-if="queryOrders.accidentInfo">
|
|
|
+ <div class="home flex j-s a-c back">
|
|
|
+ <div class="flex j-s a-c color">
|
|
|
+ <img src="../../../src/icon/company.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">驾意险</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-descriptions size="small">
|
|
|
+ <el-descriptions-item label="产品">{{ queryOrders.accidentInfo.rideRiskName }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="份数">{{ queryOrders.accidentInfo.quantity }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="价格">{{ queryOrders.accidentInfo.unitPremium }}/份</el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ </div>
|
|
|
+ <div class="Enclosure" v-if="queryOrders">
|
|
|
+ <div class="home flex j-s a-c back">
|
|
|
+ <div class="flex j-s a-c color">
|
|
|
+ <img src="../../../src/icon/company.png" alt class="icon-img" />
|
|
|
+ <span style="margin-left:10px;">欠税明细</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="font-size:12px">
|
|
|
+ <div class="headers kindinfocss" style="justify-content: space-around;">
|
|
|
+ <span>日期</span>
|
|
|
+ <span>欠费(元)</span>
|
|
|
+ <span>滞纳金(元)</span>
|
|
|
+ </div>
|
|
|
+ <div class="headers kindinfocss" style="color:rgb(255, 118, 18); justify-content:space-around;"
|
|
|
+ v-for="(taxArrearsitem, taxArrearsindex) in queryOrders.taxArrears" :key="taxArrearsindex">
|
|
|
+ <span>{{ taxArrearsitem.years }}</span>
|
|
|
+ <span>{{ taxArrearsitem.taxDefault }}</span>
|
|
|
+ <span>{{ taxArrearsitem.lateFee }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="small" @click="quotedetailsdialogVisible = false">关闭</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog title="车型选择" :visible.sync="chexingdialogVisible" width="1300px">
|
|
|
+ <el-table size="small" :data="reslist" height="690" border style="width: 100%" v-loading="loading"
|
|
|
+ :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#ee7000' }" highlight-current-row
|
|
|
+ @row-dblclick="reslistCurrentChange">
|
|
|
+ <el-table-column prop="modelCode" label="厂牌型号代码" align="center" width="200"></el-table-column>
|
|
|
+ <el-table-column prop="modelName" label="厂牌型号" align="center" width="300"></el-table-column>
|
|
|
+ <el-table-column prop="replacementValue" label="新车购置价" align="center" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="marketYear" label="年款" align="center" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="ratedPassengerCapacity" label="座位数" align="center" width="80"></el-table-column>
|
|
|
+ <el-table-column prop="displacement" label="排量" align="center" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="remark" label="配置" align="center"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog :visible.sync="bjddialogVisible" width="570px" top="1vh" v-if="queryOrders">
|
|
|
+ <div class="bjdbody">
|
|
|
+ <div class="bjdCarMessage">
|
|
|
+ <div class="bjdCarMessage1">
|
|
|
+ <img src="../../../static/bjdcar.png" class="align" alt style="width:60px;height:60px;" />
|
|
|
+ <div class="dis f-c" style="height:100%">
|
|
|
+ <span>{{ queryOrders.carinfo.licenseNo }}</span>
|
|
|
+ <span>{{ queryOrders.carinfo.modelcname }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="bjdCarMessage2">
|
|
|
+ <ul>
|
|
|
+ <li>
|
|
|
+ <div class="bjdCarMessage2_car dis">
|
|
|
+ <span>订单号:</span>
|
|
|
+ <span>{{ queryOrders.orderno }}</span>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <li>
|
|
|
+ <div class="bjdCarMessage2_car dis">
|
|
|
+ <span>车主姓名:</span>
|
|
|
+ <span>{{ queryOrders.ownerinfo.name }}</span>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <li>
|
|
|
+ <div class="bjdCarMessage2_car dis">
|
|
|
+ <span>投保人姓名:</span>
|
|
|
+ <span>{{ queryOrders.applyinfo.name }}</span>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <li>
|
|
|
+ <div class="bjdCarMessage2_car dis">
|
|
|
+ <span>发动机号:</span>
|
|
|
+ <span>{{ queryOrders.carinfo.engineNo }}</span>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <li>
|
|
|
+ <div class="bjdCarMessage2_car dis">
|
|
|
+ <span>车架号:</span>
|
|
|
+ <span>{{ queryOrders.carinfo.vinNo }}</span>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <li v-show="queryOrders.jqstartdate">
|
|
|
+ <div class="bjdCarMessage2_car" style="flex-direction: column;">
|
|
|
+ <span>车辆交强险保险期间:</span>
|
|
|
+ <span style="margin-top:5px;">{{ queryOrders.jqstartdate }} 至 {{ queryOrders.jqenddate }}</span>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <li v-show="queryOrders.systartdate">
|
|
|
+ <div class="bjdCarMessage2_car" style="flex-direction: column;">
|
|
|
+ <span>车辆商业险保险期间:</span>
|
|
|
+ <span style="margin-top:5px;">{{ queryOrders.systartdate }} 至 {{ queryOrders.syenddate }}</span>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="bjdCarSum">
|
|
|
+ <div class="dis align jus">
|
|
|
+ <span>应缴金额</span>
|
|
|
+ <span style="color:rgb(255, 30, 7);font-size:16px;">¥{{ queryOrders.sumpremium }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="dis align jus" v-show="queryOrders.jqpremium">
|
|
|
+ <span>交强险</span>
|
|
|
+ <span>¥{{ queryOrders.jqpremium }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="dis align jus" v-show="queryOrders.sypremium">
|
|
|
+ <span>车辆商业险</span>
|
|
|
+ <span>¥{{ queryOrders.sypremium }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="dis align jus" v-show="queryOrders.taxamount">
|
|
|
+ <span>车船税</span>
|
|
|
+ <span>¥{{ queryOrders.taxamount }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="dis align jus" v-show="queryOrders.jqdiscountrate">
|
|
|
+ <span>交强险优惠比例</span>
|
|
|
+ <span style="color:#ff8605;">{{ queryOrders.jqdiscountrate }}%</span>
|
|
|
+ </div>
|
|
|
+ <div class="dis align jus" v-show="queryOrders.sydiscountrate">
|
|
|
+ <span>商业险优惠比例</span>
|
|
|
+ <span style="color:#ff8605;">{{ queryOrders.sydiscountrate }}%</span>
|
|
|
+ </div>
|
|
|
+ <div style="border:none;" v-show="queryOrders.sypremium">
|
|
|
+ <div class="Risk">
|
|
|
+ <div class="Risk_title dis align jus">
|
|
|
+ <div>
|
|
|
+ <span>商业险险别</span>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span>保险金额</span>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span>保费</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="Risk_data dis align jus" v-for="(kindinfoitem, kindinfoindex) in queryOrders.kindinfo"
|
|
|
+ :key="kindinfoindex">
|
|
|
+ <template>
|
|
|
+ <div>
|
|
|
+ <span>{{ kindinfoitem.kindName }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-if="['D4', 'SY_FJ_YBW2'].includes(kindinfoitem.kindCode)">
|
|
|
+ <span>{{ kindinfoitem.unitAmount }}</span>/<span>{{ queryOrders.carinfo.seatCount - 1 }}座</span>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="['MJ1', 'MJ2', 'MJ3', 'MJ4'].includes(kindinfoitem.kindCode)">
|
|
|
+ <span>{{ kindinfoitem.deductibleRate }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <span>{{ kindinfoitem.amount }}</span>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span>¥{{ kindinfoitem.coveragePremium }}</span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="flex f-c" style="padding:5px 0; color:#fff;margin-bottom:15px;">
|
|
|
+ <span style="margin-bottom:10px;">报价时间:</span>
|
|
|
+ <span>注:本报价单仅供参考,最终以出单价格为准。</span>
|
|
|
+ </div>
|
|
|
+ <div class="bjdfooter dis align">
|
|
|
+ <img :src="logoImg" class="align" alt style="width:60px;height:60px;" />
|
|
|
+ <div class="dis f-c jus" style="height:100%">
|
|
|
+ <span>{{ queryOrders.inscompany }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="display">
|
|
|
+ <el-button size="small" style="width:100px;" @click="bjddialogVisible = false">关闭</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog :visible.sync="codedialogVisible" width="400px" top="10vh" class="saomazhifucodeClass">
|
|
|
+ <div class="ORcodebody">
|
|
|
+ <div class="code_title dis align">
|
|
|
+ <span>扫码付款</span>
|
|
|
+ </div>
|
|
|
+ <div style="padding:0 20px">
|
|
|
+ <div class="ORcode">
|
|
|
+ <div style="padding:5px;position: relative;">
|
|
|
+ <div v-show="['永安财险', '人保财险', '永诚财险', '中煤财险', '众安财险', '紫金财险'].includes(inscompany)" id="qrcode"
|
|
|
+ ref="qrcode">
|
|
|
+ </div>
|
|
|
+ <img v-show="['恒邦财险'].includes(inscompany)" :src="paycodeimg" alt style="width:100%" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="ORtitle dis f-c align">
|
|
|
+ <div>
|
|
|
+ <span>保险公司:</span>
|
|
|
+ <span>{{ inscompany }}</span>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span>车牌号:</span>
|
|
|
+ <span>{{ licenseNo }}</span>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span>投保人:</span>
|
|
|
+ <span>{{ applyName }}</span>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span style="color:#f75c00">总金额:</span>
|
|
|
+ <span style="color:#f75c00">{{ sumpremium }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-show="jqpremium">
|
|
|
+ <span>交强:</span>
|
|
|
+ <span>{{ jqpremium }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-show="sypremium">
|
|
|
+ <span>商业:</span>
|
|
|
+ <span>{{ sypremium }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-show="taxamount">
|
|
|
+ <span>车船税:</span>
|
|
|
+ <span>{{ taxamount }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-show="jqstartdate">
|
|
|
+ <span>交强险起保日期:</span>
|
|
|
+ <span>{{ jqstartdate }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-show="systartdate">
|
|
|
+ <span>商业险起保日期:</span>
|
|
|
+ <span>{{ systartdate }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="display">
|
|
|
+ <el-button size="small" style="width:100px;" @click="codedialogVisible = false">关闭</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog title="行驶证识别" :visible.sync="uploadcardialogVisible" width="960px"
|
|
|
+ style="padding:10px 20px;box-sizing: border-box;" @open="closeDialog(0)">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <div class="bodys1">
|
|
|
+ <div>
|
|
|
+ <div class="flex a-c">
|
|
|
+ <div class="OCR" style="text-align:center;">行驶证主页</div>
|
|
|
+ <div style="text-align:center;margin: 20px;" @drop="reportDrop">
|
|
|
+ <el-upload drag action="#" :show-file-list="false" :auto-upload="false" :on-change="carfrontChange">
|
|
|
+ <img v-show="carfrontImg" :src="carfrontImg" style="width:100%;height:100%" />
|
|
|
+ <img v-show="!carfrontImg" src="../../../static/carfront.png" style="width:100%;height:100%" />
|
|
|
+ <span class="slot" v-show="carfrontImg" @click.stop>
|
|
|
+ <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(carfrontImg)"></i>
|
|
|
+ <i class="el-icon-delete" @click.stop="handleRemove('carfrontImg')"></i>
|
|
|
+ </span>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="flex a-c">
|
|
|
+ <div class="OCR" style="text-align:center;">行驶证副页</div>
|
|
|
+ <div style="text-align:center;margin: 20px;" @drop="reportDrop">
|
|
|
+ <el-upload drag action="#" :show-file-list="false" :auto-upload="false" :on-change="carbackChange">
|
|
|
+ <img v-show="carbackImg" :src="carbackImg" style="width:100%;height:100%" />
|
|
|
+ <img v-show="!carbackImg" src="../../../static/carback.png" style="width:100%;height:100%" />
|
|
|
+ <span class="slot" v-show="carbackImg" @click.stop>
|
|
|
+ <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(carbackImg)"></i>
|
|
|
+ <i class="el-icon-delete" @click.stop="handleRemove('carbackImg')"></i>
|
|
|
+ </span>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="text-align:center;">
|
|
|
+ <el-form :model="carform" label-width="130px" size="small">
|
|
|
+ <el-form-item label="车牌号">
|
|
|
+ <el-input v-model="carform.licenseNo" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="车架号">
|
|
|
+ <el-input v-model="carform.frameNo" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="品牌型号">
|
|
|
+ <el-input v-model="carform.modelcname" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发动机号">
|
|
|
+ <el-input v-model="carform.engineNo" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="总质量">
|
|
|
+ <el-input v-model="carform.grossMass" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="整备质量">
|
|
|
+ <el-input v-model="carform.unladenMass" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="核定载客数">
|
|
|
+ <el-input v-model="carform.approvedPassengersCapacity" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发证日期">
|
|
|
+ <el-input v-model="carform.issueDate" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="注册日期">
|
|
|
+ <el-input v-model="carform.registerDate" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-row>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="warning" @click="CarOCRdiscern()" size="small">识 别</el-button>
|
|
|
+ <el-button @click="CarOCRconfirm()" size="small">确 认</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog title="身份证识别" :visible.sync="uploaduserdialogVisible" width="960px"
|
|
|
+ style="padding:10px 20px;box-sizing: border-box;" @open="closeDialog(userIndex)">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <div class="bodys1">
|
|
|
+ <div>
|
|
|
+ <div class="flex a-c">
|
|
|
+ <div class="OCR" style="text-align:center;">身份证主页</div>
|
|
|
+ <div style="text-align:center;margin: 20px;" @drop="reportDrop">
|
|
|
+ <el-upload class="upload-demo" drag action="#" :show-file-list="false" :auto-upload="false"
|
|
|
+ :on-change="userfrontChange">
|
|
|
+ <img v-show="userfrontImg" :src="userfrontImg" style="width:100%;height:100%" />
|
|
|
+ <img v-show="!userfrontImg" src="../../../static/userfront.png" style="width:100%;height:100%" />
|
|
|
+ <span class="slot" v-show="userfrontImg" @click.stop>
|
|
|
+ <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(userfrontImg)"></i>
|
|
|
+ <i class="el-icon-delete" @click.stop="handleRemove('userfrontImg')"></i>
|
|
|
+ </span>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="flex a-c">
|
|
|
+ <div class="OCR" style="text-align:center;">身份证副页</div>
|
|
|
+ <div style="text-align:center;margin: 20px;" @drop="reportDrop">
|
|
|
+ <el-upload class="upload-demo" drag action="#" :show-file-list="false" :auto-upload="false"
|
|
|
+ :on-change="userbackChange">
|
|
|
+ <img v-show="userbackImg" :src="userbackImg" style="width:100%;height:100%" />
|
|
|
+ <img v-show="!userbackImg" src="../../../static/userback.png" style="width:100%;height:100%" />
|
|
|
+ <span class="slot" v-show="userbackImg" @click.stop>
|
|
|
+ <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(userbackImg)"></i>
|
|
|
+ <i class="el-icon-delete" @click.stop="handleRemove('userbackImg')"></i>
|
|
|
+ </span>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="text-align:center;">
|
|
|
+ <el-form :model="ownerInfoform" label-width="130px" size="small">
|
|
|
+ <el-form-item label="姓名">
|
|
|
+ <el-input v-model="ownerInfoform.name" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="证件类型">
|
|
|
+ <el-input v-model="ownerInfoform.identifyType" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="证件号码">
|
|
|
+ <el-input v-model="ownerInfoform.identifyNumber" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="车主手机号">
|
|
|
+ <el-input v-model="ownerInfoform.mobile" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="地址">
|
|
|
+ <el-input v-model="ownerInfoform.addr" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="有效期起期">
|
|
|
+ <el-input disabled v-model="ownerInfoform.identifyValidDate" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="有效期止期">
|
|
|
+ <el-input disabled v-model="ownerInfoform.identifyValidEndDate" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="电子邮箱">
|
|
|
+ <el-input v-model="ownerInfoform.email" autocomplete="off"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-row>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="warning" @click="userOCRdiscern()" size="small">识 别</el-button>
|
|
|
+ <el-button @click="userOCRconfirm()" size="small">确 认</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog title="影像上传" :visible.sync="imageUploaddialogVisible" width="1070px">
|
|
|
+ <el-row style="padding: 10px;">
|
|
|
+ <el-col :span="12" style="margin-bottom:30px;">
|
|
|
+ <div class="flex f-c j-s">
|
|
|
+ <div class="image-title ">
|
|
|
+ 行驶证照片
|
|
|
+ </div>
|
|
|
+ <div class="flex a-c">
|
|
|
+ <div class="flex f-c ">
|
|
|
+ <span style="margin:10px 0">1. 行驶证主页</span>
|
|
|
+ <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1"
|
|
|
+ :on-change="file => drivingupload(file, 'imageList1', 'imgList1', 'C01')" :file-list="imgList1"
|
|
|
+ style="margin-right:50px;" ref="upload1" :class="{ styleB: imgList1.length == 1 }">
|
|
|
+ <img v-show="imgList1.length == 0" src="../../../static/carfront.png" style="width:100%;height:100%" />
|
|
|
+ <div slot="file" slot-scope="{file}">
|
|
|
+ <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
|
|
|
+ <span class="el-upload-list__item-actions">
|
|
|
+ <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList1', 'imgList1')">
|
|
|
+ <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ <div class="flex f-c ">
|
|
|
+ <span style="margin:10px 0">2. 行驶证副本</span>
|
|
|
+ <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1"
|
|
|
+ :on-change="file => drivingupload(file, 'imageList1', 'imgList2', 'D01')" :file-list="imgList2"
|
|
|
+ ref="upload2" :class="{ styleB: imgList2.length === 1 }">
|
|
|
+ <img v-show="imgList2.length == 0" src="../../../static/carback.png" style="width:100%;height:100%" />
|
|
|
+ <div slot="file" slot-scope="{file}">
|
|
|
+ <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
|
|
|
+ <span class="el-upload-list__item-actions">
|
|
|
+ <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList1', 'imgList2')">
|
|
|
+ <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" style="margin-bottom:30px;">
|
|
|
+ <div class="flex f-c j-s">
|
|
|
+ <div class="image-title ">
|
|
|
+ 车主照片
|
|
|
+ </div>
|
|
|
+ <div class="flex a-c">
|
|
|
+ <div class="flex f-c ">
|
|
|
+ <span style="margin:10px 0">1. 证件正面</span>
|
|
|
+ <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" style="margin-right:50px;"
|
|
|
+ :on-change="file => drivingupload(file, 'imageList2', 'imgList3', 'C02')" :file-list="imgList3" multiple
|
|
|
+ ref="upload3" :class="{ styleB: imgList3.length === 1 }">
|
|
|
+ <img v-show="imgList3.length == 0" src="../../../static/userfront.png" style="width:100%;height:100%" />
|
|
|
+ <div slot="file" slot-scope="{file}">
|
|
|
+ <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
|
|
|
+ <span class="el-upload-list__item-actions">
|
|
|
+ <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList2', 'imgList3')">
|
|
|
+ <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ <div class="flex f-c ">
|
|
|
+ <span style="margin:10px 0">2. 证件反面</span>
|
|
|
+ <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1"
|
|
|
+ :on-change="file => drivingupload(file, 'imageList2', 'imgList4', 'D02')" :file-list="imgList4" multiple
|
|
|
+ ref="upload4" :class="{ styleB: imgList4.length === 1 }">
|
|
|
+ <img v-show="imgList4.length == 0" src="../../../static/userback.png" style="width:100%;height:100%" />
|
|
|
+ <div slot="file" slot-scope="{file}">
|
|
|
+ <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
|
|
|
+ <span class="el-upload-list__item-actions">
|
|
|
+ <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList2', 'imgList4')">
|
|
|
+ <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" style="margin-bottom:30px;">
|
|
|
+ <div class="flex f-c j-s">
|
|
|
+ <div class="image-title ">
|
|
|
+ 投保人照片
|
|
|
+ </div>
|
|
|
+ <div class="flex a-c">
|
|
|
+ <div class="flex f-c ">
|
|
|
+ <span style="margin:10px 0">1. 证件正面</span>
|
|
|
+ <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" style="margin-right:50px;"
|
|
|
+ :on-change="file => drivingupload(file, 'imageList3', 'imgList5', 'C03')" :file-list="imgList5" multiple
|
|
|
+ ref="upload5" :class="{ styleB: imgList5.length === 1 }">
|
|
|
+ <img v-show="imgList5.length == 0" src="../../../static/userfront.png" style="width:100%;height:100%" />
|
|
|
+ <div slot="file" slot-scope="{file}">
|
|
|
+ <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
|
|
|
+ <span class="el-upload-list__item-actions">
|
|
|
+ <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList3', 'imgList5')">
|
|
|
+ <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ <div class="flex f-c ">
|
|
|
+ <span style="margin:10px 0">2. 证件反面</span>
|
|
|
+ <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1"
|
|
|
+ :on-change="file => drivingupload(file, 'imageList3', 'imgList6', 'D03')" :file-list="imgList6" multiple
|
|
|
+ ref="upload6" :class="{ styleB: imgList6.length === 1 }">
|
|
|
+ <img v-show="imgList6.length == 0" src="../../../static/userback.png" style="width:100%;height:100%" />
|
|
|
+ <div slot="file" slot-scope="{file}">
|
|
|
+ <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
|
|
|
+ <span class="el-upload-list__item-actions">
|
|
|
+ <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList3', 'imgList6')">
|
|
|
+ <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" style="margin-bottom:30px;">
|
|
|
+ <div class="flex f-c j-s">
|
|
|
+ <div class="image-title ">
|
|
|
+ 被保人照片
|
|
|
+ </div>
|
|
|
+ <div class="flex a-c">
|
|
|
+ <div class="flex f-c ">
|
|
|
+ <span style="margin:10px 0">1. 证件正面</span>
|
|
|
+ <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" style="margin-right:50px;"
|
|
|
+ :on-change="file => drivingupload(file, 'imageList4', 'imgList7', 'C04')" :file-list="imgList7" multiple
|
|
|
+ ref="upload7" :class="{ styleB: imgList7.length === 1 }">
|
|
|
+ <img v-show="imgList7.length == 0" src="../../../static/userfront.png" style="width:100%;height:100%" />
|
|
|
+ <div slot="file" slot-scope="{file}">
|
|
|
+ <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
|
|
|
+ <span class="el-upload-list__item-actions">
|
|
|
+ <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList4', 'imgList7')">
|
|
|
+ <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ <div class="flex f-c ">
|
|
|
+ <span style="margin:10px 0">2. 证件反面</span>
|
|
|
+ <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1"
|
|
|
+ :on-change="file => drivingupload(file, 'imageList4', 'imgList8', 'D04')" :file-list="imgList8" multiple
|
|
|
+ ref="upload8" :class="{ styleB: imgList8.length === 1 }">
|
|
|
+ <img v-show="imgList8.length == 0" src="../../../static/userback.png" style="width:100%;height:100%" />
|
|
|
+ <div slot="file" slot-scope="{file}">
|
|
|
+ <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
|
|
|
+ <span class="el-upload-list__item-actions">
|
|
|
+ <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList4', 'imgList8')">
|
|
|
+ <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <div class="flex f-c j-s">
|
|
|
+ <div class="image-title ">
|
|
|
+ 验车照片
|
|
|
+ </div>
|
|
|
+ <div class="flex a-c">
|
|
|
+ <div class="flex f-c ">
|
|
|
+ <el-upload action="#" list-type="picture-card" :auto-upload="false" ref="upload8">
|
|
|
+ <img v-show="imgList8.length == 0" src="../../../static/yanche.png" style="width:100%;height:100%" />
|
|
|
+ <div slot="file" slot-scope="{file}">
|
|
|
+ <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
|
|
|
+ <span class="el-upload-list__item-actions">
|
|
|
+ <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList4', 'imgList8')">
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="small" @click="imageUploaddialogVisible = false">取 消</el-button>
|
|
|
+ <el-button size="small" type="warning" @click="uploadinformation">上传资料</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ <div class=" flex j-c a-c" :class="{
|
|
|
+ 'footer': true,
|
|
|
+ 'shadow': !isBottom
|
|
|
+ }">
|
|
|
+ <el-button size="small" @click="add()">录下一单</el-button>
|
|
|
+ <el-button type="warning" size="small" @click="quote()">保费计算</el-button>
|
|
|
+ </div>
|
|
|
+ <div class="Anchor-link flex f-c j-s a-c">
|
|
|
+ <div>
|
|
|
+ <img src="../../../src/icon/car.png" alt class="icon-img" @click="handleScroll('Car')" />
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <img src="../../../src/icon/salesman.png" alt class="icon-img" @click="handleScroll('insurance')" />
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <img src="../../../src/icon/more.png" alt class="icon-img" @click="handleScroll('more')" />
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <img src="../../../src/icon/company.png" alt class="icon-img" @click="handleScroll('company')" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-dialog title="核保信息" :visible.sync="underwritingdialogVisible" width="30%">
|
|
|
+ <div class="flex j-s f-c">
|
|
|
+ <div style="font-size: 18px;color: #ee7000;font-weight:700;padding: 10px 30px;" v-if="orderstatus == '2'">
|
|
|
+ 订单状态:已核保待缴费</div>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button style="width: 100px;" type="primary" size="small" @click="Payment(companyId)">缴费二维码</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog title="转保确认码" :visible.sync="renewalCodedialogVisible" width="400px" style="font-weight: bold">
|
|
|
+ <div class="flex a-c u-f-sa" v-if="renewalCodeJqImg">
|
|
|
+ <span>交强转保确认码</span>
|
|
|
+ <div class="flex a-c f-c">
|
|
|
+ <img :src="renewalCodeJqImg" alt style="width: 150px; height: 40px; margin-bottom: 5px" />
|
|
|
+ <el-input v-model="renewalCodeJq" placeholder="请输入确认码" style="width: 150px"></el-input>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="flex a-c u-f-sa" v-if="renewalCodeSyImg">
|
|
|
+ <span>商业转保确认码</span>
|
|
|
+ <div class="flex a-c f-c">
|
|
|
+ <img :src="renewalCodeSyImg" alt style="width: 150px; height: 40px; margin-bottom: 5px" />
|
|
|
+ <el-input v-model="renewalCodeSy" placeholder="请输入确认码" style="width: 150px"></el-input>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="small" @click="renewalCodedialogVisible = false">取 消</el-button>
|
|
|
+ <el-button size="small" type="primary" @click="renewalCodeconfirm">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog title="提交核保" :visible.sync="hbsubmitdialogVisible" width="1200px">
|
|
|
+ <div style="margin-bottom: 20px;font-weight: bold;">特约选择</div>
|
|
|
+ <el-table size="small" :data="zijinengageListData" border v-loading="accidentLoading" @select="zijinengageChange"
|
|
|
+ ref="expandTable" highlight-current-row
|
|
|
+ :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#ee7000' }">
|
|
|
+ <el-table-column type="selection" width="55"></el-table-column>
|
|
|
+ <el-table-column prop="clauseCode" label="特约代码" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="clauseName" label="特约名称" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="clauseContent" label="特约内容"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="small" @click="hbsubmitdialogVisible = false">取 消</el-button>
|
|
|
+ <el-button size="small" type="warning" @click="hbsubmit">提交核保</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ <el-image-viewer v-if="showViewer" :on-close="closeViewer" :z-index="2100" :url-list="[ProViewImg]" />
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import QRCode from "qrcodejs2";
|
|
|
+import Cookies from "js-cookie";
|
|
|
+import CommonUtil from "@/utils/comutil.js";
|
|
|
+import { getAgeByIdCard } from "@/utils/validate.js";
|
|
|
+import { regionData, codeToText } from "element-china-area-data";
|
|
|
+export default {
|
|
|
+ inject: ["reload"],
|
|
|
+ name: "qrCode",
|
|
|
+ data() {
|
|
|
+ var checkpurchasePrice = (rule, value, callback) => {
|
|
|
+ if (!value) {
|
|
|
+ callback(new Error("新车购置价不能为空"));
|
|
|
+ } else if (value == 0) {
|
|
|
+ callback(new Error("新车购置价不能为零"));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ };
|
|
|
+ var checkframeNo = (rule, value, callback) => {
|
|
|
+ if (value.length < 17) {
|
|
|
+ callback(new Error("车架号不足17位"));
|
|
|
+ } else if (
|
|
|
+ value.indexOf("I") != "-1" ||
|
|
|
+ value.indexOf("O") != "-1" ||
|
|
|
+ value.indexOf("Q") != "-1"
|
|
|
+ ) {
|
|
|
+ callback(new Error("车架号不能包含(I O Q)三个字母"));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ };
|
|
|
+ return {
|
|
|
+ xlcell: 6,
|
|
|
+ lgcell: 12,
|
|
|
+ mdcell: 12,
|
|
|
+ smcell: 24,
|
|
|
+ xscell: 24,
|
|
|
+ areaOptions: regionData,
|
|
|
+ selectedOptions1: [],
|
|
|
+ selectedOptions2: [],
|
|
|
+ selectedOptions3: [],
|
|
|
+ // ------------紫金意外险
|
|
|
+ ziJinInsuranceData: [],
|
|
|
+ accidentalDrivingVo: [],
|
|
|
+ zijinengageListData: [],
|
|
|
+ zijinengageList: [],
|
|
|
+ // ------------紫金意外险
|
|
|
+ licenseplate: true,
|
|
|
+ accidentForm: {
|
|
|
+ fen: "1"
|
|
|
+ }, //意外险内容
|
|
|
+ accidentDataList: [], //永诚意外险
|
|
|
+ accidenttableData: [],
|
|
|
+ accidentLoading: false,
|
|
|
+ accidentPremium: "",
|
|
|
+ pickerOptions: {
|
|
|
+ disabledDate(time) {
|
|
|
+ //若选择的日期小于当前日期(包含今天)
|
|
|
+ return time.getTime() > Date.now();
|
|
|
+ //若选择的日期大于当前日期(不包含今天): time.getTime() < Date.now()
|
|
|
+ //若选择的日期小于当前日期(不包含今天): time.getTime() > Date.now() - 8.64e7
|
|
|
+ //若选择的日期小于等于当前日期(包含今天): time.getTime() > Date.now()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ attributionform: {
|
|
|
+ //续保查询数据
|
|
|
+ configure: [],
|
|
|
+ companyId: ""
|
|
|
+ },
|
|
|
+ continuousAction: [], //续保配置项
|
|
|
+ //永诚转保确认码
|
|
|
+ cqryCdeJq: "",
|
|
|
+ cqryCdeSy: "",
|
|
|
+ renewalCodeJq: "", //交强确认码
|
|
|
+ renewalCodeSy: "", //商业确认码
|
|
|
+ renewalCodeJqImg: "", //交强图片
|
|
|
+ renewalCodeSyImg: "", //商业图片
|
|
|
+ //-----------------
|
|
|
+ showViewer: false,
|
|
|
+ transferDateShow: false, //转移登记日期
|
|
|
+ yonganchecked: false, //永安驾意险
|
|
|
+ renbaochecked: false, //人保驾意险
|
|
|
+ zhongmeichecked: false, //中煤驾意险
|
|
|
+ hengbangchecked: false, //恒邦驾意险
|
|
|
+ yongchengchecked: false, //永诚驾意险
|
|
|
+ yonganDrivinglist: [],
|
|
|
+ renbaoDrivinglist: [],
|
|
|
+ zhongmeiDrivinglist: [],
|
|
|
+ hengbangDrivinglist: [],
|
|
|
+ yongchengDrivinglist: [],
|
|
|
+ unitPrice: "", //驾意险单价
|
|
|
+ DrivingMAXnum: 0, //驾意险份数最大值
|
|
|
+ zmDrivingForm: {},
|
|
|
+ tbczcarShow: true, //投保人同车主
|
|
|
+ bbczcarShow: false, //被保人同车主
|
|
|
+ bbtbcarShow: true, //被保人同投保人
|
|
|
+ imageUploadShow: true, //上传影像显示
|
|
|
+ ProViewImg: "", //预览图片
|
|
|
+ carfrontImg: "", //行驶证正面
|
|
|
+ carbackImg: "", //行驶证背面
|
|
|
+ userfrontImg: "", //身份证正面
|
|
|
+ userbackImg: "", //身份证背面
|
|
|
+ CarFrontFile: "", //车正面文件流
|
|
|
+ CarBackFile: "", //车背面文件流
|
|
|
+ C02File: "",
|
|
|
+ D02File: "",
|
|
|
+ C03File: "",
|
|
|
+ D03File: "",
|
|
|
+ C04File: "",
|
|
|
+ D04File: "",
|
|
|
+ userIndex: 1, //区分三种人员
|
|
|
+ TabName: "car", //默认选项卡
|
|
|
+ value1: "",
|
|
|
+ chexingdialogVisible: false, //车型选择 显示/隐藏
|
|
|
+ quotedetailsdialogVisible: false, //报价详情 显示/隐藏
|
|
|
+ bjddialogVisible: false, //报价单 显示/隐藏
|
|
|
+ codedialogVisible: false, //二维码 显示/隐藏
|
|
|
+ uploadcardialogVisible: false, //行驶证识别 显示/隐藏
|
|
|
+ uploaduserdialogVisible: false, //身份证识别 显示/隐藏
|
|
|
+ imageUploaddialogVisible: false, //影像上传 显示/隐藏
|
|
|
+ underwritingdialogVisible: false, //核保信息 显示/隐藏
|
|
|
+ renewalCodedialogVisible: false, //转保确认码输入
|
|
|
+ hbsubmitdialogVisible: false,//核保弹框
|
|
|
+ Carinsurance: {
|
|
|
+ jqinsurance: "1", //交强险
|
|
|
+ syinsurance: "1" //商业险
|
|
|
+ },
|
|
|
+ jqchecked: true,
|
|
|
+ sychecked: false,
|
|
|
+ jqstartDate: "", //交强时间
|
|
|
+ jqendDate: "", //交强时间
|
|
|
+ systartDate: "", //商业时间
|
|
|
+ syendDate: "", //商业时间
|
|
|
+ loading: false, //加载事件
|
|
|
+ reslist: [], //车型列表
|
|
|
+ userId: "", //出单工号
|
|
|
+ carInfo: {
|
|
|
+ powerScale: "", ///功率
|
|
|
+ licenseNo: "", //车牌号
|
|
|
+ brandName: "", //车辆品牌型号
|
|
|
+ vinNo: "", //车架号
|
|
|
+ engineNo: "", //发动机号
|
|
|
+ modelCode: "", //车型编码
|
|
|
+ seatCount: null, //核定载客量 核定载人数
|
|
|
+ purchasePrice: null, //新车购置价最低,行业实际价值,协商价值
|
|
|
+ carBrand: "", //车型品牌
|
|
|
+ ciCarName: "", //行业车型名称
|
|
|
+ ciModelCode: "", //行业车型编码
|
|
|
+ completeKerbMass: "", //整备质量
|
|
|
+ exhaustScale: "", //排量
|
|
|
+ factory: "", //工厂名称
|
|
|
+ factoryid: "", //工厂编码
|
|
|
+ frameNo: "", //车架号
|
|
|
+ licenseTypeCode: "02", //号牌种类
|
|
|
+ vehicleclass: "", //车辆类型
|
|
|
+ familyName: "", //车型
|
|
|
+ modelcname: "", //车型名称
|
|
|
+ powertypecode: "", //燃料类型编码
|
|
|
+ vehicleweight: "", //总质量
|
|
|
+ limitLoad: "", //核定载质量
|
|
|
+ caryear: null, //年款
|
|
|
+ cimodelclass: "A0", //车辆种类
|
|
|
+ powertype: "汽油", //
|
|
|
+ energyType: "0", //能源类型
|
|
|
+ enginedesc: "", //排量
|
|
|
+ registerDate: "", //注册日期
|
|
|
+ issueDate: "", //发证日期
|
|
|
+ transferFlag: 0, //过户标志
|
|
|
+ transferDate: "", //过户日期
|
|
|
+ loanStatus: 0, //贷款标志
|
|
|
+ firstBeneMan: "", //第一受益人
|
|
|
+ noLicenseFlag: false, //是否新车
|
|
|
+ cartype: "", //客车A0 货车H0
|
|
|
+ carnature: "8A", //使用性质 家庭自用8A 非营业企业8B 非营业党政机关,事业团体8C 非营业货车8D
|
|
|
+ property: "1" //所属性质 1个人 2企业 3个人
|
|
|
+ },
|
|
|
+ carform: {
|
|
|
+ licenseNo: "", //车牌号
|
|
|
+ modelcname: "", //车辆品牌型号
|
|
|
+ frameNo: "", //车架号
|
|
|
+ engineNo: "", //发动机号
|
|
|
+ registerDate: "", //注册日期
|
|
|
+ issueDate: "", //发证日期
|
|
|
+ grossMass: "", //总质量
|
|
|
+ unladenMass: "", //整备质量
|
|
|
+ approvedPassengersCapacity: "" //核定载客数
|
|
|
+ },
|
|
|
+ ownerInfoform: {
|
|
|
+ name: "",
|
|
|
+ identifyType: "",
|
|
|
+ identifyNumber: "",
|
|
|
+ age: "",//年龄
|
|
|
+ addr: "",
|
|
|
+ email: "",
|
|
|
+ mobile: "",
|
|
|
+ identifyValidDate: "", //有效期起期
|
|
|
+ identifyValidEndDate: "", //有效期止期
|
|
|
+ province: "",//省
|
|
|
+ city: "",//市
|
|
|
+ county: "",//县
|
|
|
+ },
|
|
|
+ riskList: [], //险种大类信息
|
|
|
+ kindList: [], //商业险险别
|
|
|
+ ownerInfo: {
|
|
|
+ //车主
|
|
|
+ name: "", //姓名
|
|
|
+ identifyType: "01", //身份证类型
|
|
|
+ identifyNumber: "", //身份证号
|
|
|
+ age: "",//年龄
|
|
|
+ addr: "", //地址
|
|
|
+ email: "", //邮箱
|
|
|
+ mobile: "", //电话
|
|
|
+ identifyValidDate: "", //有效期起期
|
|
|
+ identifyValidEndDate: "", //有效期止期
|
|
|
+ province: "",//省
|
|
|
+ city: "",//市
|
|
|
+ county: "",//县
|
|
|
+ },
|
|
|
+ policyHolderInfo: {
|
|
|
+ //投保人
|
|
|
+ name: "", //姓名
|
|
|
+ identifyType: "01", //身份证类型
|
|
|
+ identifyNumber: "", //身份证号
|
|
|
+ age: "",//年龄
|
|
|
+ addr: "", //地址
|
|
|
+ email: "", //邮箱
|
|
|
+ mobile: "", //电话
|
|
|
+ identifyValidDate: "", //有效期起期
|
|
|
+ identifyValidEndDate: "", //有效期止期
|
|
|
+ province: "",//省
|
|
|
+ city: "",//市
|
|
|
+ county: "",//县
|
|
|
+ },
|
|
|
+ insuredPersonInfo: {
|
|
|
+ //被保人
|
|
|
+ name: "", //姓名
|
|
|
+ identifyType: "01", //身份证类型
|
|
|
+ identifyNumber: "", //身份证号
|
|
|
+ age: "",//年龄
|
|
|
+ addr: "", //地址
|
|
|
+ email: "", //邮箱
|
|
|
+ mobile: "", //电话
|
|
|
+ identifyValidDate: "", //有效期起期
|
|
|
+ identifyValidEndDate: "", //有效期止期
|
|
|
+ province: "",//省
|
|
|
+ city: "",//市
|
|
|
+ county: "",//县
|
|
|
+ },
|
|
|
+ //使用性质列表
|
|
|
+ carnatureList: [{ label: "家庭自用", id: "8A" }],
|
|
|
+ //能源种类列表
|
|
|
+ rules: {
|
|
|
+ energyType: [
|
|
|
+ { required: true, message: "请选择能源种类", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ cimodelclass: [
|
|
|
+ { required: true, message: "请选择车辆种类", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ cartype: [
|
|
|
+ { required: true, message: "请选择车辆类型", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ brandName: [
|
|
|
+ { required: true, message: "请填写品牌型号", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ licenseNo: [{ max: 8, message: "最多八个字符", trigger: "blur" },
|
|
|
+ { required: true, message: "请输入车牌号", trigger: "blur" }],
|
|
|
+ frameNo: [{ validator: checkframeNo, trigger: "blur" }],
|
|
|
+ engineNo: [
|
|
|
+ { required: true, message: "请填写发动机号", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ purchasePrice: [
|
|
|
+ { required: true, validator: checkpurchasePrice, trigger: "blur" }
|
|
|
+ ],
|
|
|
+ registerDate: [
|
|
|
+ { required: true, message: "请选择注册时间", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ issueDate: [
|
|
|
+ { required: true, message: "请选择发证日期", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ transferDate: [
|
|
|
+ { required: true, message: "请选择转移登记日期", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ name: [{ required: true, message: "请填写姓名", trigger: "blur" }],
|
|
|
+
|
|
|
+ identifyNumber: [
|
|
|
+ { required: true, message: "请填写证件号", trigger: "blur" },
|
|
|
+ { min: 18, max: 18, message: "长度在18个字符", trigger: "blur" },
|
|
|
+ {
|
|
|
+ pattern: /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9xX]$/,
|
|
|
+ message: "请输入正确的证件号",
|
|
|
+ trigger: "blur"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ identifyValidDate: [
|
|
|
+ { required: true, message: "请选择起期", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ identifyValidEndDate: [
|
|
|
+ { required: true, message: "请选择止期", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ addr: [
|
|
|
+ { required: true, message: "请填写地址", trigger: "blur" },
|
|
|
+ { min: 8, message: "最少8个字符", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ mobile: [
|
|
|
+ { required: true, message: "请填写手机号", trigger: "blur" },
|
|
|
+ { min: 11, max: 11, message: "长度在11个字符", trigger: "blur" },
|
|
|
+ {
|
|
|
+ pattern: /^(13[0-9]|14[01456879]|15[0-3,5-9]|16[2567]|17[0-8]|18[0-9]|19[0-3,5-9])\d{8}$/,
|
|
|
+ message: "请输入正确的手机号",
|
|
|
+ trigger: "blur"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ email: [
|
|
|
+ { min: 10, max: 20, message: "最少10个字符", trigger: "blur" },
|
|
|
+ {
|
|
|
+ pattern: /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
|
|
|
+ message: "请输入正确的邮箱",
|
|
|
+ trigger: "blur"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ CIInsureList: {
|
|
|
+ //交强险
|
|
|
+ amount: "1",
|
|
|
+ amountDesc: "投保",
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "投保",
|
|
|
+ value: "1"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ kindCode: "0507",
|
|
|
+ kindName: "交强险",
|
|
|
+ desc: "国家强制规定购买的险种,对第三方的人身或财产损失提供基本保障"
|
|
|
+ },
|
|
|
+ BIInsureList: {
|
|
|
+ //商业险
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "投保",
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "投保",
|
|
|
+ value: "1"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ kindCode: "0510",
|
|
|
+ kindName: "商业险",
|
|
|
+ desc: "国家强制规定购买的险种,对第三方的人身或财产损失提供基本保障"
|
|
|
+ },
|
|
|
+ insureList: [
|
|
|
+ {
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "投保",
|
|
|
+ coveragePremium: 0,
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "投保",
|
|
|
+ value: "1"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ kindCode: "A",
|
|
|
+ isMainRisk: true,
|
|
|
+ kindName: "机动车损失险",
|
|
|
+ desc:
|
|
|
+ "保险期间内,被保险人或被保险机动车驾驶人在使用被保险机动车过程中,因自然灾害、意外事故、机动车被盗窃、抢劫、抢夺等情况(详见保险条款)造成被保险机动车直接损失,且不属于免除保险人责任的范围,保险人依照本保险合同的约定负责赔偿的险种。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "不投保",
|
|
|
+ coveragePremium: 0,
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "10万",
|
|
|
+ value: "100000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "15万",
|
|
|
+ value: "150000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "20万",
|
|
|
+ value: "200000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "30万",
|
|
|
+ value: "300000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "50万",
|
|
|
+ value: "500000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "100万",
|
|
|
+ value: "1000000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "150万",
|
|
|
+ value: "1500000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "200万",
|
|
|
+ value: "2000000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "250万",
|
|
|
+ value: "2500000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "300万",
|
|
|
+ value: "3000000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "400万",
|
|
|
+ value: "4000000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "500万",
|
|
|
+ value: "5000000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "600万",
|
|
|
+ value: "6000000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "800万",
|
|
|
+ value: "8000000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "1000万",
|
|
|
+ value: "10000000"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ kindCode: "B",
|
|
|
+ isMainRisk: true,
|
|
|
+ kindName: "第三者责任险",
|
|
|
+ desc:
|
|
|
+ "保险期间内,被保险人或其允许的驾驶人在使用被保险机动车过程中发生意外事故,致使第三者遭受人身伤亡或财产直接损毁,依法应当对第三者承担的损害赔偿责任,且不属于免除保险人责任的范围,保险人依照本保险合同的约定,对于超过机动车交通事故责任强制保险各分项赔偿限额的部分负责赔偿的险种。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "1万",
|
|
|
+ coveragePremium: 0,
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "1万",
|
|
|
+ value: "10000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "2万",
|
|
|
+ value: "20000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "3万",
|
|
|
+ value: "30000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "4万",
|
|
|
+ value: "40000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "5万",
|
|
|
+ value: "50000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "6万",
|
|
|
+ value: "60000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "7万",
|
|
|
+ value: "70000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "8万",
|
|
|
+ value: "80000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "9万",
|
|
|
+ value: "90000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "10万",
|
|
|
+ value: "100000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "15万",
|
|
|
+ value: "150000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "20万",
|
|
|
+ value: "200000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "25万",
|
|
|
+ value: "250000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "30万",
|
|
|
+ value: "300000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "35万",
|
|
|
+ value: "350000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "40万",
|
|
|
+ value: "400000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "45万",
|
|
|
+ value: "450000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "50万",
|
|
|
+ value: "500000"
|
|
|
+ },
|
|
|
+
|
|
|
+ ],
|
|
|
+ kindCode: "D3",
|
|
|
+ isMainRisk: true,
|
|
|
+ kindName: "司机责任险",
|
|
|
+ desc:
|
|
|
+ "保险期间内,被保险人或其允许的驾驶人在使用被保险机动车过程中发生意外事故,致使车上人员遭受人身伤亡,且不属于免除保险人责任的范围,依法应当对车上人员承担的损害赔偿责任,保险人依照本保险合同的约定负责赔偿的险种。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "1万",
|
|
|
+ coveragePremium: 0,
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "1万",
|
|
|
+ value: "10000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "2万",
|
|
|
+ value: "20000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "3万",
|
|
|
+ value: "30000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "4万",
|
|
|
+ value: "40000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "5万",
|
|
|
+ value: "50000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "6万",
|
|
|
+ value: "60000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "7万",
|
|
|
+ value: "70000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "8万",
|
|
|
+ value: "80000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "9万",
|
|
|
+ value: "90000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "10万",
|
|
|
+ value: "100000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "15万",
|
|
|
+ value: "150000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "20万",
|
|
|
+ value: "200000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "25万",
|
|
|
+ value: "250000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "30万",
|
|
|
+ value: "300000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "35万",
|
|
|
+ value: "350000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "40万",
|
|
|
+ value: "400000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "45万",
|
|
|
+ value: "450000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "50万",
|
|
|
+ value: "500000"
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ kindCode: "D4",
|
|
|
+ isMainRisk: true,
|
|
|
+ kindName: "乘客责任险",
|
|
|
+ desc:
|
|
|
+ "保险期间内,被保险人或其允许的驾驶人在使用被保险机动车过程中发生意外事故,致使车上人员遭受人身伤亡,且不属于免除保险人责任的范围,依法应当对车上人员承担的损害赔偿责任,保险人依照本保险合同的约定负责赔偿的险种。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "不投保",
|
|
|
+ coveragePremium: 0,
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "2千",
|
|
|
+ value: "2000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "5千",
|
|
|
+ value: "5000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "1万",
|
|
|
+ value: "10000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "2万",
|
|
|
+ value: "20000"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ desc:
|
|
|
+ "保险期间内,被保险机动车在被保险人或被保险机动车驾驶人使用过程中,发生无明显碰撞痕迹的车身划痕损失,保险人按照保险合同约定负责赔偿的险种",
|
|
|
+ isMainRisk: false,
|
|
|
+ kindCode: "L",
|
|
|
+ kindName: "车身划痕险",
|
|
|
+ mainRiskCodeList: "A"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "不投保",
|
|
|
+ coveragePremium: 0,
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "5%",
|
|
|
+ value: "5"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "10%",
|
|
|
+ value: "10"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "15%",
|
|
|
+ value: "15"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "20%",
|
|
|
+ value: "20"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ desc:
|
|
|
+ "被保险机动车发生主险约定的保险事故,保险人按照主险的约定计算赔款后,扣减本特约条款约定的免赔的险种。",
|
|
|
+ isMainRisk: false,
|
|
|
+ kindCode: "MJ1",
|
|
|
+ kindName: "绝对免赔率特约险(车损)",
|
|
|
+ mainRiskCodeList: "A"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "不投保",
|
|
|
+ coveragePremium: 0,
|
|
|
+
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "5%",
|
|
|
+ value: "5"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "10%",
|
|
|
+ value: "10"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "15%",
|
|
|
+ value: "15"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "20%",
|
|
|
+ value: "20"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ desc:
|
|
|
+ "被保险机动车发生主险约定的保险事故,保险人按照主险的约定计算赔款后,扣减本特约条款约定的免赔的险种。",
|
|
|
+ isMainRisk: false,
|
|
|
+ kindCode: "MJ2",
|
|
|
+ kindName: "绝对免赔率特约险(三者)",
|
|
|
+ mainRiskCodeList: "B"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "不投保",
|
|
|
+ coveragePremium: 0,
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "5%",
|
|
|
+ value: "5"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "10%",
|
|
|
+ value: "10"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "15%",
|
|
|
+ value: "15"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "20%",
|
|
|
+ value: "20"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ desc:
|
|
|
+ "被保险机动车发生主险约定的保险事故,保险人按照主险的约定计算赔款后,扣减本特约条款约定的免赔的险种。",
|
|
|
+ isMainRisk: false,
|
|
|
+ kindCode: "MJ3",
|
|
|
+ kindName: "绝对免赔率特约险(司机)",
|
|
|
+ mainRiskCodeList: "D3"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "不投保",
|
|
|
+ coveragePremium: 0,
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "5%",
|
|
|
+ value: "5"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "10%",
|
|
|
+ value: "10"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "15%",
|
|
|
+ value: "15"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "20%",
|
|
|
+ value: "20"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ desc:
|
|
|
+ "被保险机动车发生主险约定的保险事故,保险人按照主险的约定计算赔款后,扣减本特约条款约定的免赔的险种。",
|
|
|
+ isMainRisk: false,
|
|
|
+ kindCode: "MJ4",
|
|
|
+ kindName: "绝对免赔率特约险(乘客)",
|
|
|
+ mainRiskCodeList: "D4"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "不投保",
|
|
|
+ coveragePremium: 0,
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "1万",
|
|
|
+ value: "10000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "2万",
|
|
|
+ value: "20000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "4万",
|
|
|
+ value: "40000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "5万",
|
|
|
+ value: "50000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "8万",
|
|
|
+ value: "80000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "10万",
|
|
|
+ value: "100000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "20万",
|
|
|
+ value: "200000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "30万",
|
|
|
+ value: "300000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "50万",
|
|
|
+ value: "500000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "100万",
|
|
|
+ value: "1000000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "200万",
|
|
|
+ value: "2000000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "300万",
|
|
|
+ value: "3000000"
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ kindCode: "SY_FJ_YBW1",
|
|
|
+ isMainRisk: true,
|
|
|
+ kindName: "附加医保-三者",
|
|
|
+ desc: "附加医保外医疗费用责任险(机动车第三者责任保险)"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "不投保",
|
|
|
+ coveragePremium: 0,
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "1万",
|
|
|
+ value: "10000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "2万",
|
|
|
+ value: "20000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "5万",
|
|
|
+ value: "50000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "10万",
|
|
|
+ value: "100000"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ kindCode: "SY_FJ_YBW2",
|
|
|
+ isMainRisk: true,
|
|
|
+ kindName: "附加医保-座位险(乘客)",
|
|
|
+ desc: "附加医保外医疗费用责任险(机动车第三者责任保险)"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "不投保",
|
|
|
+ coveragePremium: 0,
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "1万",
|
|
|
+ value: "10000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "2万",
|
|
|
+ value: "20000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "5万",
|
|
|
+ value: "50000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "10万",
|
|
|
+ value: "100000"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ kindCode: "SY_FJ_YBW3",
|
|
|
+ isMainRisk: true,
|
|
|
+ kindName: "附加医保-座位险(司机)",
|
|
|
+ desc: "附加医保外医疗费用责任险(机动车第三者责任保险)"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ amount: "0",
|
|
|
+ amountDesc: "不投保",
|
|
|
+ coveragePremium: 0,
|
|
|
+ amtList: [
|
|
|
+ {
|
|
|
+ label: "不投保",
|
|
|
+ value: "0"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "50万",
|
|
|
+ value: "500000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "100万",
|
|
|
+ value: "1000000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "150万",
|
|
|
+ value: "1500000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "200万",
|
|
|
+ value: "2000000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "250万",
|
|
|
+ value: "2500000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "300万",
|
|
|
+ value: "3000000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "500万",
|
|
|
+ value: "5000000"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "1000万",
|
|
|
+ value: "10000000"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ desc:
|
|
|
+ "保险期间内,被保险人或其允许的驾驶人在法定节假日期间使用被保险机动车发生机动车第三者责任保险范围内的事故,并经公安部门或保险人查勘确认的,被保险机动车第三者责任保险所适用的责任限额在保险单载明的基础上增加一倍的险种",
|
|
|
+ isMainRisk: false,
|
|
|
+ kindCode: "BD",
|
|
|
+ kindName: "法定节假日限额翻倍险",
|
|
|
+ mainRiskCodeList: "B"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ totalCompanyList: [], //报价保险公司
|
|
|
+ continuousCompanyList: [], //续保保险公司
|
|
|
+ quoteno: "", //报价号
|
|
|
+ orderno: "", //订单号
|
|
|
+ queryOrders: "", //核保详情
|
|
|
+ inscompany: "", //保险公司名称
|
|
|
+ licenseNo: "", //车牌号
|
|
|
+ applyName: "", //车主名字
|
|
|
+ orderstatus: "", //订单状态
|
|
|
+ sumpremium: "", //保费合计
|
|
|
+ jqpremium: "", //交强
|
|
|
+ sypremium: "", //商业
|
|
|
+ taxamount: "", //车船税
|
|
|
+ jqstartdate: "", //交强时间
|
|
|
+ systartdate: "", //商业时间
|
|
|
+ mobile: "", //投保人手机号
|
|
|
+ //影像回显列表
|
|
|
+ imgList1: [],
|
|
|
+ imgList2: [],
|
|
|
+ imgList3: [],
|
|
|
+ imgList4: [],
|
|
|
+ imgList5: [],
|
|
|
+ imgList6: [],
|
|
|
+ imgList7: [],
|
|
|
+ imgList8: [],
|
|
|
+ //影像上传列表
|
|
|
+ imageList1: [],
|
|
|
+ imageList2: [],
|
|
|
+ imageList3: [],
|
|
|
+ imageList4: [],
|
|
|
+ // 是否禁用上传
|
|
|
+ uploadDisabled: false,
|
|
|
+ href: "",
|
|
|
+ pageRequest: {
|
|
|
+ //归属查询
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 20,
|
|
|
+ columnFilters: {
|
|
|
+ deptId: {
|
|
|
+ name: "deptId",
|
|
|
+ value: "9"
|
|
|
+ },
|
|
|
+ containsSubDept: {
|
|
|
+ name: "containsSubDept",
|
|
|
+ value: 1
|
|
|
+ },
|
|
|
+ usertype: {
|
|
|
+ name: "usertype",
|
|
|
+ value: null
|
|
|
+ },
|
|
|
+ status: {
|
|
|
+ name: "status",
|
|
|
+ value: "1"
|
|
|
+ },
|
|
|
+ id: {
|
|
|
+ name: "id",
|
|
|
+ value: ""
|
|
|
+ },
|
|
|
+ name: {
|
|
|
+ name: "name",
|
|
|
+ value: ""
|
|
|
+ },
|
|
|
+ mobile: {
|
|
|
+ name: "mobile",
|
|
|
+ value: ""
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ userform: {},
|
|
|
+ qrcode: null,
|
|
|
+ paycodeimg: "", //展示二维码
|
|
|
+ ImageUrldialogVisible: false,
|
|
|
+ paramsEdit: "",
|
|
|
+ companyId: "",
|
|
|
+ apiType: "",
|
|
|
+ insureMore: true,
|
|
|
+ // insureLength: 5,
|
|
|
+ HistoryList: [], //历史记录数据
|
|
|
+ image1: "",
|
|
|
+ image2: "",
|
|
|
+ radio: 0,
|
|
|
+ sumseatCount: "", // 投保险种座位数
|
|
|
+ deptName: "",
|
|
|
+ isBottom: true,
|
|
|
+ logoImg: "",//报价单保险公司logo图
|
|
|
+ vehicleTypeoptions: [],//车辆种类
|
|
|
+ trafficManagementVehicleTypeoptions: [],//车辆类型
|
|
|
+ energyTypeoptions: [],//能源种类
|
|
|
+ };
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ "carInfo.licenseNo": {
|
|
|
+ handler(val) {
|
|
|
+ if (val) {
|
|
|
+ this.carInfo.licenseNo = val.toUpperCase();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ deep: true
|
|
|
+ },
|
|
|
+ "carInfo.frameNo": {
|
|
|
+ handler(val) {
|
|
|
+ if (val) {
|
|
|
+ this.carInfo.frameNo = val.toUpperCase();
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ deep: true
|
|
|
+ },
|
|
|
+ "carInfo.engineNo": {
|
|
|
+ handler(val) {
|
|
|
+ if (val) {
|
|
|
+ this.carInfo.engineNo = val.toUpperCase();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ deep: true
|
|
|
+ },
|
|
|
+ "carInfo.seatCount": {
|
|
|
+ handler(val) {
|
|
|
+ if (val) {
|
|
|
+ this.sumseatCount = val - 1;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ deep: true
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ "el-image-viewer": () =>
|
|
|
+ import("element-ui/packages/image/src/image-viewer")
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getDicType("vehicleType");//车辆种类
|
|
|
+ this.getDicType("trafficManagementVehicleType");//车辆类型
|
|
|
+ this.getDicType("energyType");//能源种类
|
|
|
+ this.$api.letter.queryCompany().then(res => {
|
|
|
+ this.continuousCompanyList = res.data;
|
|
|
+ });
|
|
|
+ this.commpanyList(); //获取保险公司
|
|
|
+ this.defaultcarInfo = JSON.parse(JSON.stringify(this.carInfo));
|
|
|
+ this.defaultownerInfo = JSON.parse(JSON.stringify(this.ownerInfo));
|
|
|
+ this.defaultpolicyHolderInfo = JSON.parse(
|
|
|
+ JSON.stringify(this.policyHolderInfo)
|
|
|
+ );
|
|
|
+ this.defaultinsuredPersonInfo = JSON.parse(
|
|
|
+ JSON.stringify(this.insuredPersonInfo)
|
|
|
+ );
|
|
|
+ this.defaultinsureList = JSON.parse(JSON.stringify(this.insureList));
|
|
|
+ //--归属信息获取--
|
|
|
+ var userId = Cookies.get("user");
|
|
|
+ if (userId == "admin") {
|
|
|
+ this.userId = "admin";
|
|
|
+ } else {
|
|
|
+ // this.userId = userId;
|
|
|
+ this.$api.user.getLoginUser().then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.userform = res.data
|
|
|
+ this.$api.dept.getDeptById(res.data.deptId).then(res => {
|
|
|
+ this.deptName = res.data.name;
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
+ //--订单编辑回显--
|
|
|
+ this.paramsEdit = this.$route.query.data; //接收参数
|
|
|
+ if (this.paramsEdit) {
|
|
|
+ var _this = this;
|
|
|
+ this.tbczcarShow = false;
|
|
|
+ this.bbtbcarShow = false;
|
|
|
+ this.bbczcarShow = false;
|
|
|
+ const { carinfo, ownerinfo, applyinfo, insureinfo, quoteno, orderno } = _this.paramsEdit;
|
|
|
+ _this.carInfo = carinfo;
|
|
|
+ _this.ownerInfo = ownerinfo;
|
|
|
+ _this.policyHolderInfo = applyinfo;
|
|
|
+ _this.insuredPersonInfo = insureinfo;
|
|
|
+ _this.quoteno = quoteno;
|
|
|
+ _this.orderno = orderno;
|
|
|
+ _this.ownerInfo.age = getAgeByIdCard(_this.ownerInfo.identifyNumber)
|
|
|
+ _this.policyHolderInfo.age = getAgeByIdCard(_this.policyHolderInfo.identifyNumber)
|
|
|
+ _this.insuredPersonInfo.age = getAgeByIdCard(_this.insuredPersonInfo.identifyNumber)
|
|
|
+ if (_this.paramsEdit.carinfo.transferFlag) {
|
|
|
+ this.transferDateShow = true;
|
|
|
+ }
|
|
|
+ _this.paramsEdit.risk.map(ele => {
|
|
|
+ if (ele.riskCode == "0507") {
|
|
|
+ _this.jqchecked = true;
|
|
|
+ _this.jqstartDate = ele.startDate;
|
|
|
+ _this.jqendDate = ele.endDate;
|
|
|
+ } else if (ele.riskCode == "0510") {
|
|
|
+ _this.sychecked = true;
|
|
|
+ _this.systartDate = ele.startDate;
|
|
|
+ _this.syendDate = ele.endDate;
|
|
|
+ _this.insureList.map(eleA => {
|
|
|
+ _this.paramsEdit.king.map(eleB => {
|
|
|
+ if (eleA.kindCode == eleB.kindCode) {
|
|
|
+ eleA.amount = JSON.stringify(eleB.amount);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // this.HistoryList = this.paramsEdit.insAreaCompanyList;
|
|
|
+ let params = {
|
|
|
+ orderNo: this.paramsEdit.orderno,
|
|
|
+ orderStatus: ""
|
|
|
+ };
|
|
|
+ this.$api.letter.queryQuoteHistory(params).then(res => {
|
|
|
+ this.HistoryList = res.data;
|
|
|
+ });
|
|
|
+
|
|
|
+ //--获取影像信息--
|
|
|
+ _this.imageEcho(this.quoteno);
|
|
|
+ //--显示影像按钮--
|
|
|
+ _this.imageUploadShow = true;
|
|
|
+ } else {
|
|
|
+ this.jqstartDate = this.transformTime1();
|
|
|
+ this.jqendDate = this.oneYearPast1(this.jqstartDate);
|
|
|
+ this.systartDate = this.transformTime1();
|
|
|
+ this.syendDate = this.oneYearPast1(this.systartDate);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.onScroll()
|
|
|
+ window.addEventListener('scroll', this.onScroll)
|
|
|
+ },
|
|
|
+ destroyed() {
|
|
|
+ window.removeEventListener('scroll', this.onScroll)
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ issueDateOptions() {
|
|
|
+ return {
|
|
|
+ disabledDate: this.disabledDate,
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ //--数据字典 begin --
|
|
|
+ getDicType(type) {
|
|
|
+ this.$api.insCompany.dicType(type).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this[type + 'options'] = res.data.ddList;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //身份证失去焦点
|
|
|
+ identifyblur(info) {
|
|
|
+ this[info].age = getAgeByIdCard(this[info].identifyNumber)
|
|
|
+ },
|
|
|
+ //省市区
|
|
|
+ areahandleChange(event, info) {
|
|
|
+ if (event[0] != null && event[1] != null && event[2] != null) {
|
|
|
+ this[info].province = codeToText[event[0]]
|
|
|
+ this[info].city = codeToText[event[1]]
|
|
|
+ this[info].county = codeToText[event[2]]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ iconfftter(icon) {
|
|
|
+ return CommonUtil.getDataName({
|
|
|
+ dataList: this.global.insCompanyList,
|
|
|
+ value: "name",
|
|
|
+ label: "icon",
|
|
|
+ data: icon,
|
|
|
+ });
|
|
|
+ },
|
|
|
+ disabledDate(time) {
|
|
|
+ let datetime = this.carInfo.registerDate
|
|
|
+ return time.getTime() < new Date(datetime).getTime();
|
|
|
+ },
|
|
|
+
|
|
|
+ onScroll() {
|
|
|
+ // 变量scrollTop是滚动条滚动时,滚动条上端距离顶部的距离
|
|
|
+ var scrollTop = document.documentElement.scrollTop || document.body.scrollTop
|
|
|
+ // 变量windowHeight是可视区的高度
|
|
|
+ var windowHeight = document.documentElement.clientHeight || document.body.clientHeight
|
|
|
+ // 变量scrollHeight是滚动条的总高度(当前可滚动的页面的总高度)
|
|
|
+ var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight
|
|
|
+ // 滚动条到底部
|
|
|
+ if (Math.ceil(scrollTop + windowHeight) >= scrollHeight) {
|
|
|
+ this.isBottom = true
|
|
|
+ } else {
|
|
|
+ this.isBottom = false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 选择意外险类型
|
|
|
+ async ywxxxchange(index) {
|
|
|
+ this.accidentForm = Object.assign(
|
|
|
+ this.accidentForm,
|
|
|
+ this.accidentDataList.find(val => val.id == index)
|
|
|
+ );
|
|
|
+ this.accidentForm.fen = "1";
|
|
|
+ this.accidentPremium = this.accidentForm.premium;
|
|
|
+ this.accidentLoading = true;
|
|
|
+ let data = await this.$api.letter.ycgainAccidentSchemeList({
|
|
|
+ accidentId: index
|
|
|
+ });
|
|
|
+ if (data.code == 200) {
|
|
|
+ this.accidentLoading = false;
|
|
|
+ this.accidenttableData = data.data;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ numberCopieschange(index) {
|
|
|
+ this.accidentForm.premium = Number(this.accidentPremium) * index;
|
|
|
+ },
|
|
|
+ continuousChange(id) {
|
|
|
+ this.continuousCompanyList.map(ele => {
|
|
|
+ if (ele.id == id) {
|
|
|
+ this.attributionform.configure = [];
|
|
|
+ ele.configure.map((ele, index) => {
|
|
|
+ this.attributionform.configure.push({
|
|
|
+ field: ele.field,
|
|
|
+ isEdit: ele.isEdit,
|
|
|
+ label: ele.label,
|
|
|
+ type: ele.type,
|
|
|
+ value: ""
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //续保查询
|
|
|
+ continuousquery() {
|
|
|
+ this.$api.letter.queryRenewal(this.attributionform).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ this.carInfo = res.data.carInfo;
|
|
|
+ this.ownerInfo = res.data.ownerInfo;
|
|
|
+ this.policyHolderInfo = res.data.policyHolderInfo;
|
|
|
+ this.insuredPersonInfo = res.data.insuredPersonInfo;
|
|
|
+ res.data.riskList.map(ele => {
|
|
|
+ if (ele.riskCode == "0507") {
|
|
|
+ this.jqchecked = true;
|
|
|
+ this.jqstartDate = ele.startDate;
|
|
|
+ this.jqendDate = ele.endDate;
|
|
|
+ } else if (ele.riskCode == "0510") {
|
|
|
+ this.sychecked = true;
|
|
|
+ this.systartDate = ele.startDate;
|
|
|
+ this.syendDate = ele.endDate;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'error',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //永诚转保
|
|
|
+ renewalCodeconfirm() {
|
|
|
+ this.renewalCodedialogVisible = false;
|
|
|
+ this.quote();
|
|
|
+ },
|
|
|
+ //报价轨迹查询
|
|
|
+ RadioHistoryChange(e) {
|
|
|
+
|
|
|
+ let params = {
|
|
|
+ orderNo: this.orderno,
|
|
|
+ orderStatus: e
|
|
|
+ };
|
|
|
+ this.$api.letter.queryQuoteHistory(params).then(res => {
|
|
|
+ this.HistoryList = res.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //获取保险公司列表
|
|
|
+ commpanyList() {
|
|
|
+ this.$api.letter.gainAllowQuoteList().then(res => {
|
|
|
+ res.data.map(ele => {
|
|
|
+ ele["result"] = {};
|
|
|
+ ele["quoteCode"] = 0;
|
|
|
+ ele["checked"] = false;
|
|
|
+ ele["msg"] = "";
|
|
|
+ ele["lastYearMsg"] = "";
|
|
|
+ ele["agreementId"] = "";
|
|
|
+ ele["apiType"] = "";
|
|
|
+ ele["orderstatus"] = 0;
|
|
|
+ });
|
|
|
+ this.totalCompanyList = res.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ Payment(id) {
|
|
|
+ this.carcode(id);
|
|
|
+ },
|
|
|
+ //选择协议 val:协议id row:协议列表 index:下标 item:保险公司数据集合
|
|
|
+ agreementChange(val, row, index, item) {
|
|
|
+ let obj = {};
|
|
|
+ obj = row.find(item => {
|
|
|
+ return item;
|
|
|
+ })
|
|
|
+ this.totalCompanyList[index].apiType = obj.apiType;
|
|
|
+ switch (item.namesimple) {
|
|
|
+ case '永诚财险':
|
|
|
+ this.accidentForm.agreementId = item.agreementId
|
|
|
+ this.$api.letter.ycgainAccidentList({ companyCode: item.id, agreementId: item.agreementId }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.accidentDataList = res.data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case '紫金财险':
|
|
|
+ this.$api.letter.zijinqueryVehicleProducts({ agreementId: val, seatCount: Number(this.carInfo.seatCount) }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ let data = res.data;
|
|
|
+ data.map(ele => {
|
|
|
+ ele.quantity = 1;
|
|
|
+ return ele;
|
|
|
+ })
|
|
|
+ this.ziJinInsuranceData = data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ CheckboxChange(select, row) {
|
|
|
+ this.accidentalDrivingVo = [];
|
|
|
+ select.map(val => {
|
|
|
+ this.accidentalDrivingVo.push(val)
|
|
|
+ return val;
|
|
|
+ })
|
|
|
+ },
|
|
|
+ zijinengageChange(select, row) {
|
|
|
+ this.zijinengageList = [];
|
|
|
+ select.map(val => {
|
|
|
+ this.zijinengageList.push({
|
|
|
+ clauseCode: val.clauseCode,
|
|
|
+ clauseName: val.clauseName,
|
|
|
+ clauses: val.clauseContent,
|
|
|
+ riskCode: val.riskCode,
|
|
|
+ })
|
|
|
+ return val;
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //勾选保险公司
|
|
|
+ initchange(e, code, name, index) {
|
|
|
+ this.totalCompanyList[index].agreementId = "";
|
|
|
+ this.totalCompanyList[index].checked = e;
|
|
|
+ },
|
|
|
+ clearAccidentForm() {
|
|
|
+ this.accidentForm = {
|
|
|
+ fen: "1"
|
|
|
+ };
|
|
|
+ },
|
|
|
+ //身份证有效期长期
|
|
|
+ insureLongterm(e) {
|
|
|
+ this[e].identifyValidEndDate = "9999-12-31";
|
|
|
+ },
|
|
|
+ //较强起保日期事件
|
|
|
+ jqChange(e) {
|
|
|
+ this.jqendDate = this.oneYearPast1(e);
|
|
|
+ },
|
|
|
+ //商业起保日期事件
|
|
|
+ syChange(e) {
|
|
|
+ this.syendDate = this.oneYearPast1(e);
|
|
|
+ },
|
|
|
+ // //查看更多
|
|
|
+ // selectMore(leg) {
|
|
|
+ // this.insureMore = false;
|
|
|
+ // this.insureLength = leg;
|
|
|
+ // },
|
|
|
+ // //收起
|
|
|
+ // packup() {
|
|
|
+ // this.insureMore = true;
|
|
|
+ // this.insureLength = 5;
|
|
|
+ // },
|
|
|
+ //险别选择框事件
|
|
|
+ insureitemChange(e) {
|
|
|
+ if (e != 0) {
|
|
|
+ this.sychecked = true;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //获取产品id
|
|
|
+ zmdvchange(e) {
|
|
|
+ var data = this.zhongmeiDrivinglist;
|
|
|
+ data.map(ele => {
|
|
|
+ if (ele.id == e) {
|
|
|
+ this.zmDrivingForm.id = ele.id;
|
|
|
+ this.zmDrivingForm.rideRiskCode = ele.rideRiskCode;
|
|
|
+ this.zmDrivingForm.rideRiskName = ele.rideRiskName;
|
|
|
+ this.zmDrivingForm.quantity = 1;
|
|
|
+ this.DrivingMAXnum = ele.maxNum;
|
|
|
+ this.unitPrice = ele.unitPremium;
|
|
|
+ }
|
|
|
+ return ele;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //清空单选
|
|
|
+ zmdvclear() {
|
|
|
+ this.zmDrivingForm = {};
|
|
|
+ this.DrivingMAXnum = null;
|
|
|
+ this.unitPrice = "";
|
|
|
+ },
|
|
|
+ //获取驾意险份数
|
|
|
+ quantityhandleChange(e) {
|
|
|
+ this.zmDrivingForm.quantity = e;
|
|
|
+ },
|
|
|
+ all() {
|
|
|
+ this.quotedetailsdialogVisible = true;
|
|
|
+ },
|
|
|
+ base64ToBlob(code) {
|
|
|
+ code = code.replace(/[\n\r]/g, "");
|
|
|
+ // atob() 方法用于解码使用 base-64 编码的字符串。
|
|
|
+ const raw = window.atob(code);
|
|
|
+ const rawLength = raw.length;
|
|
|
+ const uInt8Array = new Uint8Array(rawLength);
|
|
|
+ for (let i = 0; i < rawLength; ++i) {
|
|
|
+ uInt8Array[i] = raw.charCodeAt(i);
|
|
|
+ }
|
|
|
+ return new Blob([uInt8Array], { type: "application/pdf" });
|
|
|
+ },
|
|
|
+ viewPdf(content) {
|
|
|
+ if (!content) {
|
|
|
+ this.$message.error("暂无文件");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ const blob = this.base64ToBlob(content);
|
|
|
+ this.href = blob;
|
|
|
+ if (window.navigator && window.navigator.msSaveOrOpenBlob) {
|
|
|
+ window.navigator.msSaveOrOpenBlob(blob);
|
|
|
+ } else {
|
|
|
+ const fileURL = URL.createObjectURL(blob);
|
|
|
+ window.open(fileURL);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ creatQrCode(text) {
|
|
|
+ if (this.qrcode) {
|
|
|
+ this.qrcode.clear();
|
|
|
+ this.qrcode.makeCode(text);
|
|
|
+ } else {
|
|
|
+ this.qrcode = new QRCode("qrcode", {
|
|
|
+ text: text,
|
|
|
+ width: 180,
|
|
|
+ height: 180,
|
|
|
+ colorDark: "#000000",
|
|
|
+ colorLight: "#ffffff",
|
|
|
+ correctLevel: QRCode.CorrectLevel.H
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //人工核保
|
|
|
+ underwriting(id) {
|
|
|
+ let param = {
|
|
|
+ companyId: id
|
|
|
+ };
|
|
|
+ this.$api.letter.manualUnderwriting(param).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ this.Payment(id);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ jqcheckedChange(e) {
|
|
|
+ if (e) {
|
|
|
+ this.jqstartDate = this.transformTime1();
|
|
|
+ this.jqendDate = this.oneYearPast1(this.jqstartDate);
|
|
|
+ } else {
|
|
|
+ this.jqstartDate = "";
|
|
|
+ this.jqendDate = "";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ sycheckedChange(e) {
|
|
|
+ if (e) {
|
|
|
+ this.systartDate = this.transformTime1();
|
|
|
+ this.syendDate = this.oneYearPast1(this.systartDate);
|
|
|
+ } else {
|
|
|
+ this.systartDate = "";
|
|
|
+ this.syendDate = "";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //报价
|
|
|
+ quote() {
|
|
|
+ let starttime = new Date(this.carInfo.registerDate)
|
|
|
+ let endtime = new Date(this.carInfo.issueDate)
|
|
|
+ if (endtime < starttime) {
|
|
|
+ this.$message({ message: "发证日期早于初登日期", type: "error" });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.$refs["carInfo"].validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ var _this = this;
|
|
|
+ _this.$refs["ownerInfo"].validate(valid1 => {
|
|
|
+ if (valid1) {
|
|
|
+ if (_this.tbczcarShow == true) {
|
|
|
+ _this.policyHolderInfo = JSON.parse(
|
|
|
+ JSON.stringify(_this.ownerInfo)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ if (_this.bbczcarShow == true) {
|
|
|
+ _this.insuredPersonInfo = JSON.parse(
|
|
|
+ JSON.stringify(_this.ownerInfo)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ if (_this.bbtbcarShow == true) {
|
|
|
+ _this.insuredPersonInfo = JSON.parse(
|
|
|
+ JSON.stringify(_this.policyHolderInfo)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ _this.carInfo.vinNo = _this.carInfo.frameNo;
|
|
|
+ _this.riskList = []; //险种大类
|
|
|
+ _this.kindList = []; //商业险险别
|
|
|
+ if (
|
|
|
+ (!_this.jqstartDate || !_this.jqendDate) &&
|
|
|
+ (!_this.systartDate || !_this.syendDate)
|
|
|
+ ) {
|
|
|
+ this.$message({ message: "投保日期不能为空", type: "warning" });
|
|
|
+ } else {
|
|
|
+ if (_this.jqchecked) {
|
|
|
+ //交强
|
|
|
+ _this.jqstartDate = this.transformTime(_this.jqstartDate);
|
|
|
+ _this.jqendDate = this.transformTime(_this.jqendDate);
|
|
|
+ _this.riskList.push({
|
|
|
+ amount: "200000",
|
|
|
+ premium: "0",
|
|
|
+ riskCode: "0507",
|
|
|
+ endDate: _this.jqendDate,
|
|
|
+ startDate: _this.jqstartDate,
|
|
|
+ instantFlag: "0"
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (_this.sychecked) {
|
|
|
+ _this.systartDate = this.transformTime(_this.systartDate);
|
|
|
+ _this.syendDate = this.transformTime(_this.syendDate);
|
|
|
+ //商业
|
|
|
+ _this.riskList.push({
|
|
|
+ premium: "0",
|
|
|
+ riskCode: "0510",
|
|
|
+ quotePreceptCode: "",
|
|
|
+ quotePreceptName: "",
|
|
|
+ endDate: _this.syendDate,
|
|
|
+ startDate: _this.systartDate,
|
|
|
+ instantFlag: "0"
|
|
|
+ });
|
|
|
+ _this.insureList.map((ele, index) => {
|
|
|
+ if (
|
|
|
+ ele.amount != "0" &&
|
|
|
+ (ele.kindCode == "D4" || ele.kindCode == "SY_FJ_YBW2")
|
|
|
+ ) {
|
|
|
+ _this.kindList.push({
|
|
|
+ unitAmount: _this.insureList[index].amount,
|
|
|
+ kindCode: _this.insureList[index].kindCode,
|
|
|
+ kindName: _this.insureList[index].kindName
|
|
|
+ });
|
|
|
+ } else if (
|
|
|
+ ele.amount != "0" &&
|
|
|
+ (ele.kindCode == "MJ1" ||
|
|
|
+ ele.kindCode == "MJ2" ||
|
|
|
+ ele.kindCode == "MJ3" ||
|
|
|
+ ele.kindCode == "MJ4")
|
|
|
+ ) {
|
|
|
+ _this.kindList.push({
|
|
|
+ deductibleRate: _this.insureList[index].amount,
|
|
|
+ kindCode: _this.insureList[index].kindCode,
|
|
|
+ kindName: _this.insureList[index].kindName
|
|
|
+ });
|
|
|
+ } else if (ele.amount != "0") {
|
|
|
+ _this.kindList.push({
|
|
|
+ amount: _this.insureList[index].amount,
|
|
|
+ kindCode: _this.insureList[index].kindCode,
|
|
|
+ kindName: _this.insureList[index].kindName
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return ele;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ _this.kindList = [];
|
|
|
+ }
|
|
|
+ if (_this.orderno) {
|
|
|
+ this.OrderStageProcessing();
|
|
|
+ } else {
|
|
|
+ _this.$api.letter.getquote().then(res => {
|
|
|
+ _this.quoteno = res.data; //获取报价号
|
|
|
+ this.OrderStageProcessing();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ document.getElementById("CheZhu").scrollIntoView();
|
|
|
+ _this.$message({ message: "请检查人员信息", type: "warning" });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ document.getElementById("Car").scrollIntoView();
|
|
|
+ this.$message({ message: "请检查车辆信息", type: "warning" });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //动态函数
|
|
|
+ ToolClickFun(MethodName, Parameter, companyId, companyName) {
|
|
|
+ this[`${MethodName}`](Parameter, companyId, companyName);
|
|
|
+ },
|
|
|
+
|
|
|
+ //更新报价历史
|
|
|
+ QuotationHistory() {
|
|
|
+ let params = {
|
|
|
+ orderNo: this.orderno,
|
|
|
+ orderStatus: ""
|
|
|
+ };
|
|
|
+ this.$api.letter.queryQuoteHistory(params).then(res => {
|
|
|
+ this.HistoryList = res.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ open2(Name, Msg) {
|
|
|
+ this.$notify.info({
|
|
|
+ title: Name,
|
|
|
+ dangerouslyUseHTMLString: true,
|
|
|
+ type: 'warning',
|
|
|
+ message: Msg,
|
|
|
+ customClass: "customNotifyClass",
|
|
|
+ duration: 7000,
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //订单生成前数据处理事件
|
|
|
+ OrderStageProcessing() {
|
|
|
+ this.imageList3 = this.tbczcarShow ? JSON.parse(JSON.stringify(this.imageList2)) : this.imageList3;//投保人同车主
|
|
|
+ this.imageList4 = this.bbczcarShow ? JSON.parse(JSON.stringify(this.imageList2)) : this.imageList4;//被保人同车主
|
|
|
+ this.imageList4 = this.bbtbcarShow ? JSON.parse(JSON.stringify(this.imageList3)) : this.imageList4; //被保人同投保人
|
|
|
+ if (this.imageList2.length > 1) {
|
|
|
+ this.imageList3[1].imageType = "D03";
|
|
|
+ this.imageList4[1].imageType = "D04";
|
|
|
+ }
|
|
|
+ this.imageList3[0].imageType = "C03";
|
|
|
+ this.imageList4[0].imageType = "C04";
|
|
|
+ //上传图片
|
|
|
+ const mergedArray = [...this.imageList1, ...this.imageList2, ...this.imageList3, ...this.imageList4];
|
|
|
+ let imageparam = {
|
|
|
+ imageList: mergedArray,
|
|
|
+ quoteNo: this.quoteno
|
|
|
+ }
|
|
|
+ this.$api.letter.uploadImages(imageparam).then(responses => {
|
|
|
+ this.imageEcho(this.quoteno); // 获取图片
|
|
|
+ });
|
|
|
+ // 上传图片
|
|
|
+ //日期长度<10处理
|
|
|
+ const formatDate = (date) => {
|
|
|
+ if (date.length < 10) {
|
|
|
+ return this.timeformat(date);
|
|
|
+ }
|
|
|
+ return date;
|
|
|
+ };
|
|
|
+ if (this.carInfo.registerDate.length < 10) {
|
|
|
+ this.carInfo.registerDate = formatDate(this.carInfo.registerDate);
|
|
|
+ }
|
|
|
+ if (this.carInfo.issueDate.length < 10) {
|
|
|
+ this.carInfo.issueDate = formatDate(this.carInfo.issueDate);
|
|
|
+ }
|
|
|
+ if (this.carInfo.transferDate.length < 10 && this.carInfo.transferDate !== "") {
|
|
|
+ this.carInfo.transferDate = formatDate(this.carInfo.transferDate);
|
|
|
+ }
|
|
|
+ //日期长度<10处理
|
|
|
+ //提交身份证/驾驶证 ——————————————————
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.paramsEdit ? this.orderno : "",
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList,
|
|
|
+ };
|
|
|
+ this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ this.orderno = res.data.orderno;
|
|
|
+ this.totalCompanyList.map((ele, index) => {
|
|
|
+ if (ele.checked) {
|
|
|
+ //动态调用报价接口
|
|
|
+ ele.quoteCode = 1;
|
|
|
+ this.ToolClickFun(ele.cnName, index, ele.id, ele.namesimple);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$message({ message: res.msg, type: "warning" });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ document.getElementById("company").scrollIntoView();
|
|
|
+ this.imageUploadShow = true;
|
|
|
+ },
|
|
|
+ //永安报价
|
|
|
+ yongan(num, id) {
|
|
|
+ let params = {
|
|
|
+ orderNo: this.orderno,
|
|
|
+ companyId: id,
|
|
|
+ agreementId: this.totalCompanyList[num].agreementId,
|
|
|
+ };
|
|
|
+ this.$api.letter.yonganquote(params).then(res => {
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ if (res.msg == "重复投保" && res.code == "501") {
|
|
|
+ if (!!res.data.jqStartDate && !res.data.syStartDate) {
|
|
|
+ this.jqstartDate = res.data.jqStartDate;
|
|
|
+ this.jqendDate = res.data.jqEndDate;
|
|
|
+ this.updateRiskDates("0507", res.data.jqStartDate, res.data.jqEndDate);
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList
|
|
|
+ };
|
|
|
+ return this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ this.yongan(num, id);
|
|
|
+ });
|
|
|
+ } else if (!!res.data.syStartDate && !res.data.jqStartDate) {
|
|
|
+ this.systartDate = res.data.syStartDate;
|
|
|
+ this.syendDate = res.data.syEndDate;
|
|
|
+ this.updateRiskDates("0510", res.data.syStartDate, res.data.syEndDate);
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList
|
|
|
+ };
|
|
|
+ return this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ this.yongan(num, id);
|
|
|
+ });
|
|
|
+ } else if (!!res.data.syStartDate && !!res.data.jqStartDate) {
|
|
|
+ this.jqstartDate = res.data.jqStartDate;
|
|
|
+ this.jqendDate = res.data.jqEndDate;
|
|
|
+ this.systartDate = res.data.syStartDate;
|
|
|
+ this.syendDate = res.data.syEndDate;
|
|
|
+ this.updateRiskDates("0507", res.data.jqStartDate, res.data.jqEndDate);
|
|
|
+ this.updateRiskDates("0510", res.data.syStartDate, res.data.syEndDate);
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList
|
|
|
+ };
|
|
|
+ return this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ this.yongan(num, id);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.totalCompanyList[num].quoteCode = "3";
|
|
|
+ this.totalCompanyList[num].msg = "重复投保";
|
|
|
+ }
|
|
|
+ } else if (
|
|
|
+ res.code == "500" ||
|
|
|
+ res.code == "502" ||
|
|
|
+ res.code == "-9999"
|
|
|
+ ) {
|
|
|
+ this.totalCompanyList[num].quoteCode = "-9999";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ } else {
|
|
|
+ this.totalCompanyList[num].quoteCode = 200;
|
|
|
+ this.totalCompanyList[num].result = res.data;
|
|
|
+ this.QuotationHistory();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ updateRiskDates(riskCode, startDate, endDate) {
|
|
|
+ for (let i = 0; i < this.riskList.length; i++) {
|
|
|
+ if (this.riskList[i].riskCode == riskCode) {
|
|
|
+ this.riskList[i].startDate = startDate;
|
|
|
+ this.riskList[i].endDate = endDate;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //中煤报价
|
|
|
+ zhongmei(num, id) {
|
|
|
+ let params = {
|
|
|
+ accidentalDrivingVo: this.zmDrivingForm,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ companyId: id,
|
|
|
+ agreementId: this.totalCompanyList[num].agreementId,
|
|
|
+ };
|
|
|
+ this.$api.letter.zhongmeiquote(params).then(res => {
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ if (!!res.msg && res.msg.indexOf("不存在有效协议") >= 0) {
|
|
|
+ this.totalCompanyList[num].quoteCode = "4";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ return;
|
|
|
+ } else if (res.data == null && res.msg.indexOf("交强险平台返回") > -1 && res.msg.indexOf(";终保日期") > -1) {
|
|
|
+ this.totalCompanyList[num].lastYearMsg = "<b>交强险</b><br>" + res.msg.slice(res.msg.indexOf("起保日期 "), res.msg.indexOf("地区 山西。") + 6);
|
|
|
+ let time =
|
|
|
+ res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
|
|
|
+ this.jqstartDate = time;
|
|
|
+ this.jqendDate = this.oneYearPast1(time);
|
|
|
+ if (this.riskList.length > 0) {
|
|
|
+ for (let i = 0; i < this.riskList.length; i++) {
|
|
|
+ if (this.riskList[i].riskCode == "0507") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast1(time);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList
|
|
|
+ };
|
|
|
+ return this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ this.zhongmei(num, id);
|
|
|
+ });
|
|
|
+ } else if (!!res.data) {
|
|
|
+ this.totalCompanyList[num].quoteCode = 200;
|
|
|
+ this.totalCompanyList[num].result = res.data;
|
|
|
+ this.QuotationHistory();
|
|
|
+ } else {
|
|
|
+ this.totalCompanyList[num].quoteCode = "3";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //紫金报价
|
|
|
+ zijin(num, id) {
|
|
|
+ let params = {
|
|
|
+ accidentalDrivingVo: this.accidentalDrivingVo,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ companyId: id,
|
|
|
+ agreementId: this.totalCompanyList[num].agreementId,
|
|
|
+ };
|
|
|
+ this.$api.letter.zijinquote(params).then(res => {
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ if (!!res.msg && res.msg.indexOf("不存在有效协议") >= 0) {
|
|
|
+ this.totalCompanyList[num].quoteCode = "4";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ return;
|
|
|
+ } else if (
|
|
|
+ res.data == null &&
|
|
|
+ res.msg.indexOf("交强险平台返回") > -1 &&
|
|
|
+ res.msg.indexOf(";终保日期") > -1
|
|
|
+ ) {
|
|
|
+ let time =
|
|
|
+ res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
|
|
|
+ this.jqstartDate = time;
|
|
|
+ this.jqendDate = this.oneYearPast1(time);
|
|
|
+ this.systartDate = time;
|
|
|
+ this.syendDate = this.oneYearPast1(time);
|
|
|
+ if (this.riskList.length > 0) {
|
|
|
+ for (let i = 0; i < this.riskList.length; i++) {
|
|
|
+ if (this.riskList[i].riskCode == "0507") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast1(time);
|
|
|
+ } else if (this.riskList[i].riskCode == "0510") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast1(time);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList
|
|
|
+ };
|
|
|
+ return this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ this.zijin(num, id);
|
|
|
+ });
|
|
|
+ } else if (!!res.data) {
|
|
|
+ this.totalCompanyList[num].quoteCode = 200;
|
|
|
+ this.totalCompanyList[num].result = res.data;
|
|
|
+ this.QuotationHistory();
|
|
|
+ } else {
|
|
|
+ this.totalCompanyList[num].quoteCode = "3";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //永诚报价
|
|
|
+ yongcheng(num, id) {
|
|
|
+ let accidentalDrivingVo = {};
|
|
|
+ if (this.accidentForm.id) {
|
|
|
+ let data = this.accidentDataList.find(
|
|
|
+ val => val.id == this.accidentForm.accidentType
|
|
|
+ );
|
|
|
+ accidentalDrivingVo = {
|
|
|
+ rideRiskCode: data.code ? data.code : "",
|
|
|
+ rideRiskName: data.name ? data.name : "",
|
|
|
+ quantity: this.accidentForm.fen ? this.accidentForm.fen : ""
|
|
|
+ };
|
|
|
+ }
|
|
|
+ let params = {
|
|
|
+ accidentalDrivingVo,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ companyId: id,
|
|
|
+ cqryCdeJq: this.cqryCdeJq,
|
|
|
+ cqryCdeSy: this.cqryCdeSy,
|
|
|
+ renewalCodeJq: this.renewalCodeJq,
|
|
|
+ renewalCodeSy: this.renewalCodeSy,
|
|
|
+ agreementId: this.totalCompanyList[num].agreementId,
|
|
|
+ };
|
|
|
+ this.$api.letter.yongchengquote(params).then(res => {
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ if (
|
|
|
+ res.data == null &&
|
|
|
+ res.msg.indexOf("车险平台返回") > -1 &&
|
|
|
+ res.msg.indexOf(";终保日期") > -1
|
|
|
+ ) {
|
|
|
+ let time =
|
|
|
+ res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
|
|
|
+ this.jqstartDate = time;
|
|
|
+ this.jqendDate = this.oneYearPast1(time);
|
|
|
+
|
|
|
+ if (this.riskList.length > 0) {
|
|
|
+ for (let i = 0; i < this.riskList.length; i++) {
|
|
|
+ if (this.riskList[i].riskCode == "0507") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast1(time);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList
|
|
|
+ };
|
|
|
+ return this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ this.yongcheng(num, id);
|
|
|
+ });
|
|
|
+ } else if (res.code == "200") {
|
|
|
+ if (res.data.warnMessageList.length > 0) {
|
|
|
+ this.totalCompanyList[num].lastYearMsg = "";
|
|
|
+ let dat = res.data.warnMessageList;
|
|
|
+ dat.map(ele => {
|
|
|
+ this.totalCompanyList[num].lastYearMsg += ele + '<br>';
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this.totalCompanyList[num].quoteCode = 200;
|
|
|
+ this.totalCompanyList[num].result = res.data;
|
|
|
+ this.QuotationHistory();
|
|
|
+ } else if (res.code == "101") {
|
|
|
+ this.totalCompanyList[num].quoteCode = "101";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ this.cqryCdeJq = res.data.cqryCdeJq;
|
|
|
+ this.cqryCdeSy = res.data.cqryCdeSy;
|
|
|
+ let jq = res.data.renewalCodeJq.replace(/[\r\n]/g, "");
|
|
|
+ let jqBase64 = `data:image/png;base64,${jq}`;
|
|
|
+ this.renewalCodeJqImg = jqBase64;
|
|
|
+ if (res.data.renewalCodeSy) {
|
|
|
+ let sy = res.data.renewalCodeSy.replace(/[\r\n]/g, "");
|
|
|
+ let syBase64 = `data:image/png;base64,${sy}`;
|
|
|
+ this.renewalCodeSyImg = syBase64;
|
|
|
+ }
|
|
|
+ this.renewalCodedialogVisible = true;
|
|
|
+ } else {
|
|
|
+ this.totalCompanyList[num].quoteCode = "3";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //国任报价
|
|
|
+ guoRen(num, id) {
|
|
|
+ let accidentalDrivingVo = {};
|
|
|
+ if (this.accidentForm.id) {
|
|
|
+ let data = this.accidentDataList.find(
|
|
|
+ val => val.id == this.accidentForm.accidentType
|
|
|
+ );
|
|
|
+ accidentalDrivingVo = {
|
|
|
+ rideRiskCode: data.code ? data.code : "",
|
|
|
+ rideRiskName: data.name ? data.name : "",
|
|
|
+ quantity: this.accidentForm.fen ? this.accidentForm.fen : ""
|
|
|
+ };
|
|
|
+ }
|
|
|
+ let params = {
|
|
|
+ accidentalDrivingVo,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ companyId: id,
|
|
|
+ cqryCdeJq: this.cqryCdeJq,
|
|
|
+ cqryCdeSy: this.cqryCdeSy,
|
|
|
+ renewalCodeJq: this.renewalCodeJq,
|
|
|
+ renewalCodeSy: this.renewalCodeSy,
|
|
|
+ agreementId: this.totalCompanyList[num].agreementId,
|
|
|
+ };
|
|
|
+ this.$api.letter.guorenquote(params).then(res => {
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ if (!!res.msg && res.msg.indexOf("不存在有效协议") >= 0) {
|
|
|
+ this.totalCompanyList[num].quoteCode = "4";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ return;
|
|
|
+ } else if (
|
|
|
+ res.data == null &&
|
|
|
+ res.msg.indexOf("车险平台返回") > -1 &&
|
|
|
+ res.msg.indexOf(";终保日期") > -1
|
|
|
+ ) {
|
|
|
+ let time =
|
|
|
+ res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
|
|
|
+ this.jqstartDate = time;
|
|
|
+ this.jqendDate = this.oneYearPast1(time);
|
|
|
+ this.systartDate = time;
|
|
|
+ this.syendDate = this.oneYearPast1(time);
|
|
|
+ if (this.riskList.length > 0) {
|
|
|
+ for (let i = 0; i < this.riskList.length; i++) {
|
|
|
+ if (this.riskList[i].riskCode == "0507") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast1(time);
|
|
|
+ } else if (this.riskList[i].riskCode == "0510") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast1(time);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList
|
|
|
+ };
|
|
|
+ return this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ this.guoRen(num, id);
|
|
|
+ });
|
|
|
+ } else if (res.code == "200") {
|
|
|
+ this.totalCompanyList[num].quoteCode = 200;
|
|
|
+ this.totalCompanyList[num].result = res.data;
|
|
|
+ this.QuotationHistory();
|
|
|
+ } else if (res.code == "101") {
|
|
|
+ this.totalCompanyList[num].quoteCode = "101";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ this.cqryCdeJq = res.data.cqryCdeJq;
|
|
|
+ this.cqryCdeSy = res.data.cqryCdeSy;
|
|
|
+ let jq = res.data.renewalCodeJq.replace(/[\r\n]/g, "");
|
|
|
+ let jqBase64 = `data:image/png;base64,${jq}`;
|
|
|
+ this.renewalCodeJqImg = jqBase64;
|
|
|
+ if (res.data.renewalCodeSy) {
|
|
|
+ let sy = res.data.renewalCodeSy.replace(/[\r\n]/g, "");
|
|
|
+ let syBase64 = `data:image/png;base64,${sy}`;
|
|
|
+ this.renewalCodeSyImg = syBase64;
|
|
|
+ }
|
|
|
+ this.renewalCodedialogVisible = true;
|
|
|
+ } else {
|
|
|
+ this.totalCompanyList[num].quoteCode = "3";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 爬虫对接
|
|
|
+ quoteInsurance(num, id, namesimple, apiType) {
|
|
|
+ let api = apiType === 2 ? "pythonquote" : "anshengquote";
|
|
|
+ let params = {
|
|
|
+ orderNo: this.orderno,
|
|
|
+ companyId: id,
|
|
|
+ agreementId: this.totalCompanyList[num].agreementId,
|
|
|
+ };
|
|
|
+ this.$api.letter[api](params).then(res => {
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ switch (namesimple) {
|
|
|
+ case '安盛天平':
|
|
|
+ if (res.data == null && res.msg.indexOf("交强险重复投保") > -1 && res.msg.indexOf(";终保日期") > -1) {
|
|
|
+ this.totalCompanyList[num].lastYearMsg = "<b>交强险</b><br>" + res.msg.slice(res.msg.indexOf("起保日期 "), res.msg.indexOf("地区 山西。") + 6);
|
|
|
+ let time = res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
|
|
|
+ this.jqstartDate = time;
|
|
|
+ this.jqendDate = this.oneYearPast1(time);
|
|
|
+ if (this.riskList.length > 0) {
|
|
|
+ for (let i = 0; i < this.riskList.length; i++) {
|
|
|
+ if (this.riskList[i].riskCode == "0507") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast1(time);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList
|
|
|
+ };
|
|
|
+ return this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ this.quoteInsurance(num, id, namesimple, apiType);
|
|
|
+ });
|
|
|
+ } else if (res.data == null && res.msg.indexOf("上年保险止期(") > -1 && res.msg.indexOf("重复投保情况") > -1) {
|
|
|
+ this.totalCompanyList[num].lastYearMsg += "<br><b>商业险</b><br>" + res.msg;
|
|
|
+ let time = res.msg.substr(res.msg.indexOf("上年保险止期(") + 7, 17) + ":00";
|
|
|
+ time = time.substring(0, 4) + "-" + time.substring(5, 7) + "-" + time.substring(8, 10) + " " + time.substring(12, 14) + ":" + time.substring(15, 17) + ":00"
|
|
|
+ this.systartDate = time;
|
|
|
+ this.syendDate = this.oneYearPast1(time);
|
|
|
+ if (this.riskList.length > 0) {
|
|
|
+ for (let i = 0; i < this.riskList.length; i++) {
|
|
|
+ if (this.riskList[i].riskCode == "0510") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast1(time);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList
|
|
|
+ };
|
|
|
+ return this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ this.quoteInsurance(num, id, namesimple, apiType);
|
|
|
+ });
|
|
|
+ } else if (!!res.data) {
|
|
|
+ this.totalCompanyList[num].quoteCode = 200;
|
|
|
+ this.totalCompanyList[num].result = res.data;
|
|
|
+ this.QuotationHistory();
|
|
|
+ } else {
|
|
|
+ this.totalCompanyList[num].quoteCode = "3";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case '中国人寿':
|
|
|
+ if (res.data == null && res.msg.indexOf("交强险") > -1 && res.msg.indexOf(";终保日期") > -1) {
|
|
|
+ this.totalCompanyList[num].lastYearMsg = "<b>交强险</b><br>" + res.msg.slice(res.msg.indexOf("起保日期 "), res.msg.indexOf("地区 山西。") + 6);
|
|
|
+ let time = res.msg.substr(res.msg.indexOf(";终保日期") + 6, 16) + ":00";
|
|
|
+ this.jqstartDate = time;
|
|
|
+ this.jqendDate = this.oneYearPast1(time);
|
|
|
+ if (this.riskList.length > 0) {
|
|
|
+ for (let i = 0; i < this.riskList.length; i++) {
|
|
|
+ if (this.riskList[i].riskCode == "0507") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast1(time);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList
|
|
|
+ };
|
|
|
+ return this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ this.quoteInsurance(num, id, namesimple, apiType);
|
|
|
+ });
|
|
|
+ } else if (res.data == null && res.msg.indexOf("商业险-平台返回") > -1 && res.msg.indexOf("保险期间:") > -1) {
|
|
|
+ this.totalCompanyList[num].lastYearMsg += "<br><b>商业险</b><br>" + res.msg.slice(res.msg.indexOf("保险期间:"), -1);
|
|
|
+ let time = res.msg.substr(res.msg.indexOf("保险期间:") + 18, 12) + "00";
|
|
|
+ time = time.substring(0, 4) + "-" + time.substring(4, 6) + "-" + time.substring(6, 8) + " " + time.substring(8, 10) + ":" + time.substring(10, 12) + ":" + time.substring(12, 14);
|
|
|
+ this.systartDate = time;
|
|
|
+ this.syendDate = this.oneYearPast1(time);
|
|
|
+ if (this.riskList.length > 0) {
|
|
|
+ for (let i = 0; i < this.riskList.length; i++) {
|
|
|
+ if (this.riskList[i].riskCode == "0510") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast1(time);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList
|
|
|
+ };
|
|
|
+ return this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ this.quoteInsurance(num, id, namesimple, apiType);
|
|
|
+ });
|
|
|
+ } else if (!!res.data) {
|
|
|
+ this.totalCompanyList[num].quoteCode = 200;
|
|
|
+ this.totalCompanyList[num].result = res.data;
|
|
|
+ this.QuotationHistory();
|
|
|
+ } else {
|
|
|
+ this.totalCompanyList[num].quoteCode = "3";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case '恒邦财险':
|
|
|
+ if (res.data == null && res.msg.indexOf("交强险平台返回") > -1 && res.msg.indexOf(";终保日期") > -1) {
|
|
|
+ this.totalCompanyList[num].lastYearMsg = "<b>交强险</b><br>" + res.msg.slice(res.msg.indexOf("起保日期 "), -1);
|
|
|
+ let time = res.msg.substr(res.msg.indexOf(";终保日期") + 6, 16) + ":00";
|
|
|
+ this.jqstartDate = time;
|
|
|
+ this.jqendDate = this.oneYearPast1(time);
|
|
|
+ if (this.riskList.length > 0) {
|
|
|
+ for (let i = 0; i < this.riskList.length; i++) {
|
|
|
+ if (this.riskList[i].riskCode == "0507") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast1(time);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList
|
|
|
+ };
|
|
|
+ return this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ this.quoteInsurance(num, id, namesimple, apiType);
|
|
|
+ });
|
|
|
+ } else if (res.data == null && res.msg.indexOf("平台校验,重复投保") > -1 && res.msg.indexOf("终保日期:") > -1) {
|
|
|
+ this.totalCompanyList[num].lastYearMsg += "<br><b>商业险</b><br>" + res.msg.slice(res.msg.indexOf("起保日期"), res.msg.indexOf("签单日期"));
|
|
|
+ let time = res.msg.substr(res.msg.indexOf("终保日期:") + 5, 10) + " 00:00:00";
|
|
|
+ this.systartDate = time;
|
|
|
+ this.syendDate = this.oneYearPast1(time);
|
|
|
+ if (this.riskList.length > 0) {
|
|
|
+ for (let i = 0; i < this.riskList.length; i++) {
|
|
|
+ if (this.riskList[i].riskCode == "0510") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast1(time);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let param = {
|
|
|
+ userId: this.userId,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList
|
|
|
+ };
|
|
|
+ return this.$api.letter.generateOrder(param).then(res => {
|
|
|
+ this.quoteInsurance(num, id, namesimple, apiType);
|
|
|
+ });
|
|
|
+ } else if (!!res.data) {
|
|
|
+ this.totalCompanyList[num].quoteCode = 200;
|
|
|
+ this.totalCompanyList[num].result = res.data;
|
|
|
+ this.QuotationHistory();
|
|
|
+ } else {
|
|
|
+ this.totalCompanyList[num].quoteCode = "3";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case '众安财险':
|
|
|
+ if (!!res.data) {
|
|
|
+ this.totalCompanyList[num].quoteCode = 200;
|
|
|
+ this.totalCompanyList[num].result = res.data;
|
|
|
+ this.QuotationHistory();
|
|
|
+ } else {
|
|
|
+ this.totalCompanyList[num].quoteCode = "3";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //安盛天平
|
|
|
+ ansheng(num, id, namesimple) {
|
|
|
+ this.quoteInsurance(num, id, namesimple, this.totalCompanyList[num].apiType);
|
|
|
+ },
|
|
|
+ //众安
|
|
|
+ zhongan(num, id, namesimple) {
|
|
|
+ this.quoteInsurance(num, id, namesimple, this.totalCompanyList[num].apiType);
|
|
|
+ },
|
|
|
+ //人寿
|
|
|
+ renshou(num, id, namesimple) {
|
|
|
+ this.quoteInsurance(num, id, namesimple, this.totalCompanyList[num].apiType);
|
|
|
+ },
|
|
|
+ //恒邦
|
|
|
+ hengbang(num, id, namesimple) {
|
|
|
+ this.quoteInsurance(num, id, namesimple, this.totalCompanyList[num].apiType);
|
|
|
+ },
|
|
|
+ // 爬虫对接
|
|
|
+ qoutedetail(companyId) {
|
|
|
+ let params = {
|
|
|
+ companyId: companyId
|
|
|
+ };
|
|
|
+ this.$api.letter.getByCompanyId(params).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ var data = res.data;
|
|
|
+ data.kindinfo.map((ele, index) => {
|
|
|
+ switch (ele.kindCode) {
|
|
|
+ case "A":
|
|
|
+ ele.amount = "投保";
|
|
|
+ break;
|
|
|
+ case "D4":
|
|
|
+ case "SY_FJ_YBW2":
|
|
|
+ ele.unitAmount = this.toChinesNum(ele.unitAmount);
|
|
|
+ break;
|
|
|
+ case "MJ1":
|
|
|
+ case "MJ2":
|
|
|
+ case "MJ3":
|
|
|
+ case "MJ4":
|
|
|
+ ele.deductibleRate = ele.deductibleRate + "%";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ ele.amount = this.toChinesNum(ele.amount);
|
|
|
+ }
|
|
|
+ return ele;
|
|
|
+ });
|
|
|
+ this.queryOrders = data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.quotedetailsdialogVisible = true;
|
|
|
+ },
|
|
|
+ imageUpload() {
|
|
|
+ this.imageUploaddialogVisible = true;
|
|
|
+ },
|
|
|
+ imageEcho(quotenos) {
|
|
|
+ //影像查询
|
|
|
+ this.$api.letter.findByQuoteNo(quotenos)
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ this.imageList1 = [];
|
|
|
+ this.imageList2 = [];
|
|
|
+ this.imageList3 = [];
|
|
|
+ this.imageList4 = [];
|
|
|
+ Object.keys(res.data).forEach((keys) => {
|
|
|
+ if (res.data[keys].url) {
|
|
|
+ res.data[keys].url = process.env.BASE_URL + res.data[keys].url;
|
|
|
+ switch (keys) {
|
|
|
+ case 'C01':
|
|
|
+ this.imageList1.push({
|
|
|
+ imageId: res.data[keys].imageId,
|
|
|
+ imageType: res.data[keys].imageType,
|
|
|
+ })
|
|
|
+ this.imgList1.push(res.data[keys]);
|
|
|
+ break;
|
|
|
+ case 'D01':
|
|
|
+ this.imageList1.push({
|
|
|
+ imageId: res.data[keys].imageId,
|
|
|
+ imageType: res.data[keys].imageType,
|
|
|
+ })
|
|
|
+ this.imgList2.push(res.data[keys]);
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 'C02':
|
|
|
+ this.imageList2.push({
|
|
|
+ imageId: res.data[keys].imageId,
|
|
|
+ imageType: res.data[keys].imageType,
|
|
|
+ })
|
|
|
+ this.imgList3.push(res.data[keys]);
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 'D02':
|
|
|
+ this.imageList2.push({
|
|
|
+ imageId: res.data[keys].imageId,
|
|
|
+ imageType: res.data[keys].imageType,
|
|
|
+ })
|
|
|
+ this.imgList4.push(res.data[keys]);
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 'C03':
|
|
|
+ this.imageList3.push({
|
|
|
+ imageId: res.data[keys].imageId,
|
|
|
+ imageType: res.data[keys].imageType,
|
|
|
+ })
|
|
|
+ this.imgList5.push(res.data[keys]);
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 'D03':
|
|
|
+ this.imageList3.push({
|
|
|
+ imageId: res.data[keys].imageId,
|
|
|
+ imageType: res.data[keys].imageType,
|
|
|
+ })
|
|
|
+ this.imgList6.push(res.data[keys]);
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 'C04':
|
|
|
+ this.imageList4.push({
|
|
|
+ imageId: res.data[keys].imageId,
|
|
|
+ imageType: res.data[keys].imageType,
|
|
|
+ })
|
|
|
+ this.imgList7.push(res.data[keys]);
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 'D04':
|
|
|
+ this.imageList4.push({
|
|
|
+ imageId: res.data[keys].imageId,
|
|
|
+ imageType: res.data[keys].imageType,
|
|
|
+ })
|
|
|
+ this.imgList8.push(res.data[keys]);
|
|
|
+
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ } else {
|
|
|
+ this.$message({ message: res.msg, type: "info" });
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ },
|
|
|
+ hbsubmitdialog(data) {
|
|
|
+ this.companyId = data.result.companyId;
|
|
|
+ this.apiType = data.apiType;
|
|
|
+ this.hbsubmitdialogVisible = true;
|
|
|
+ switch (data.namesimple) {
|
|
|
+ case "紫金财险":
|
|
|
+ this.$api.letter.zijinqueryClauseData({ companyId: this.companyId }).then(res => {
|
|
|
+ this.zijinengageListData = res.data;
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ hbsubmit() {
|
|
|
+ this.hbsubmitdialogVisible = false;
|
|
|
+ this.$api.letter.getByCompanyId({ companyId: this.companyId }).then(async res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ var data = res.data;
|
|
|
+ this.queryOrders = data;
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: "Loading",
|
|
|
+ spinner: "el-icon-loading",
|
|
|
+ background: "rgba(0, 0, 0, 0.7)"
|
|
|
+ });
|
|
|
+ switch (this.queryOrders.inscompany) {
|
|
|
+ case "永安财险":
|
|
|
+ let api = "";
|
|
|
+ api = this.apiType == 2 ? "pythonsubmitImage" : "insyongansubmitImage"
|
|
|
+ await this.$api.letter[api]({
|
|
|
+ companyId: this.companyId
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ var _this = this;
|
|
|
+ let api1 = "";
|
|
|
+ api1 = this.apiType == 2 ? "pythonaudit" : "yonganaudit"
|
|
|
+ this.$api.letter[api1]({
|
|
|
+ companyId: this.companyId,
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ var _this = this;
|
|
|
+ if (res.code == "200") {
|
|
|
+ loading.close();
|
|
|
+ this.$message({
|
|
|
+ message: "核保成功",
|
|
|
+ type: "success"
|
|
|
+ });
|
|
|
+ this.QuotationHistory();
|
|
|
+ _this.$api.letter.getByCompanyId({ companyId: this.companyId }).then(res => {
|
|
|
+ _this.orderstatus = res.data.orderstatus; //订单状态
|
|
|
+ _this.underwritingdialogVisible = true;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ loading.close();
|
|
|
+ this.$message({
|
|
|
+ showClose: true,
|
|
|
+ message: this.queryOrders.inscompany + "提核--:" + res.msg,
|
|
|
+ type: "error",
|
|
|
+ duration: 0
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: this.queryOrders.inscompany + "影像:" + res.msg,
|
|
|
+ type: "error",
|
|
|
+ duration: 7000
|
|
|
+ });
|
|
|
+ loading.close();
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ break;
|
|
|
+ case "中煤财险":
|
|
|
+ await this.$api.letter
|
|
|
+ .insZhongmeisubmitImage({
|
|
|
+ companyId: this.companyId
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ var _this = this;
|
|
|
+ _this.$api.letter
|
|
|
+ .Zhongmeiaudit({
|
|
|
+ companyId: this.companyId,
|
|
|
+ jqappoint: "",
|
|
|
+ syappoint: ""
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ loading.close();
|
|
|
+ _this.$message({
|
|
|
+ message: "核保成功",
|
|
|
+ type: "success"
|
|
|
+ });
|
|
|
+ this.QuotationHistory();
|
|
|
+ _this.$api.letter.getByCompanyId({ companyId: this.companyId }).then(res => {
|
|
|
+ _this.orderstatus = res.data.orderstatus; //订单状态
|
|
|
+ _this.underwritingdialogVisible = true;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ loading.close();
|
|
|
+ _this.$message({
|
|
|
+ showClose: true,
|
|
|
+ message: this.queryOrders.inscompany + "提核--:" + res.msg,
|
|
|
+ type: "error",
|
|
|
+ duration: 0
|
|
|
+ });
|
|
|
+ _this.$api.letter.getByCompanyId({ companyId: this.companyId }).then(res => {
|
|
|
+ _this.orderstatus = res.data.orderstatus; //订单状态
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: this.queryOrders.inscompany + "影像--:" + res.msg,
|
|
|
+ type: "error",
|
|
|
+ duration: 7000
|
|
|
+ });
|
|
|
+ loading.close();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "紫金财险":
|
|
|
+ await this.$api.letter
|
|
|
+ .zijinsubmitImage({
|
|
|
+ companyId: this.companyId
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ var _this = this;
|
|
|
+ _this.$api.letter
|
|
|
+ .zijinaudit({
|
|
|
+ companyId: this.companyId,
|
|
|
+ engageList: this.zijinengageList,
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ loading.close();
|
|
|
+ _this.$message({
|
|
|
+ message: "核保成功",
|
|
|
+ type: "success"
|
|
|
+ });
|
|
|
+ this.QuotationHistory();
|
|
|
+ _this.$api.letter.getByCompanyId({ companyId: this.companyId }).then(res => {
|
|
|
+ _this.orderstatus = res.data.orderstatus; //订单状态
|
|
|
+ _this.underwritingdialogVisible = true;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ loading.close();
|
|
|
+ _this.$message({
|
|
|
+ showClose: true,
|
|
|
+ message: this.queryOrders.inscompany + "提核--:" + res.msg,
|
|
|
+ type: "error",
|
|
|
+ duration: 0
|
|
|
+ });
|
|
|
+ _this.$api.letter.getByCompanyId({ companyId: this.companyId }).then(res => {
|
|
|
+ _this.orderstatus = res.data.orderstatus; //订单状态
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: this.queryOrders.inscompany + "影像--:" + res.msg,
|
|
|
+ type: "error",
|
|
|
+ duration: 7000
|
|
|
+ });
|
|
|
+ loading.close();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "国任财险":
|
|
|
+ await this.$api.letter
|
|
|
+ .insguorensubmitImage({
|
|
|
+ companyId: this.companyId
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ var _this = this;
|
|
|
+ _this.$api.letter
|
|
|
+ .gunrenaudit({
|
|
|
+ companyId: this.companyId
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ loading.close();
|
|
|
+ _this.cqryCdeJq = "";
|
|
|
+ _this.cqryCdeSy = "";
|
|
|
+ _this.renewalCodeJq = "";
|
|
|
+ _this.renewalCodeSy = "";
|
|
|
+ this.$message({
|
|
|
+ message: "核保成功",
|
|
|
+ type: "success"
|
|
|
+ });
|
|
|
+ this.QuotationHistory();
|
|
|
+ _this.$api.letter.getByCompanyId({ companyId: this.companyId }).then(res => {
|
|
|
+ _this.orderstatus = res.data.orderstatus; //订单状态
|
|
|
+ _this.underwritingdialogVisible = true;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ loading.close();
|
|
|
+ this.$message({
|
|
|
+ showClose: true,
|
|
|
+ message: res.msg,
|
|
|
+ type: "error",
|
|
|
+ duration: 0
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ loading.close();
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: "error",
|
|
|
+ duration: 7000
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "恒邦财险":
|
|
|
+ case "安盛天平":
|
|
|
+ case "众安财险":
|
|
|
+ case "中国人寿":
|
|
|
+ let hengbangapi = "";
|
|
|
+ hengbangapi = this.apiType == 2 ? "pythonsubmitImage" : "anshengsubmitImage"
|
|
|
+ await this.$api.letter[hengbangapi]({
|
|
|
+ subOrderNo: this.companyId
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ var _this = this;
|
|
|
+ let hengbangapi1 = "";
|
|
|
+ hengbangapi1 = this.apiType == 2 ? "pythonaudit" : "anshengaudit"
|
|
|
+ _this.$api.letter
|
|
|
+ [hengbangapi1]({
|
|
|
+ subOrderNo: this.companyId,
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ loading.close();
|
|
|
+ this.$message({
|
|
|
+ message: "核保成功",
|
|
|
+ type: "success"
|
|
|
+ });
|
|
|
+ this.QuotationHistory();
|
|
|
+ _this.$api.letter.getByCompanyId({ companyId: this.companyId }).then(res => {
|
|
|
+ _this.orderstatus = res.data.orderstatus; //订单状态
|
|
|
+ _this.underwritingdialogVisible = true;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ loading.close();
|
|
|
+ this.$message({
|
|
|
+ showClose: true,
|
|
|
+ message: this.queryOrders.inscompany + "提核--:" + res.msg,
|
|
|
+ type: "error",
|
|
|
+ duration: 0
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ loading.close();
|
|
|
+ this.$message({
|
|
|
+ message: this.queryOrders.inscompany + "影像--:" + res.msg,
|
|
|
+ type: "error",
|
|
|
+ duration: 7000
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "永诚财险":
|
|
|
+ await this.$api.letter
|
|
|
+ .insyongchengsubmitImage({
|
|
|
+ companyId: this.companyId
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ var _this = this;
|
|
|
+ _this.$api.letter
|
|
|
+ .yongchengaudit({
|
|
|
+ companyId: this.companyId
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ loading.close();
|
|
|
+ _this.cqryCdeJq = "";
|
|
|
+ _this.cqryCdeSy = "";
|
|
|
+ _this.renewalCodeJq = "";
|
|
|
+ _this.renewalCodeSy = "";
|
|
|
+ this.$message({
|
|
|
+ message: "核保成功",
|
|
|
+ type: "success"
|
|
|
+ });
|
|
|
+ this.QuotationHistory();
|
|
|
+ _this.$api.letter.getByCompanyId({ companyId: this.companyId }).then(res => {
|
|
|
+ _this.orderstatus = res.data.orderstatus; //订单状态
|
|
|
+ _this.underwritingdialogVisible = true;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ loading.close();
|
|
|
+ this.$message({
|
|
|
+ showClose: true,
|
|
|
+ message: this.queryOrders.inscompany + "提核--:" + res.msg,
|
|
|
+ type: "error",
|
|
|
+ duration: 0
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ loading.close();
|
|
|
+ this.$message({
|
|
|
+ message: this.queryOrders.inscompany + "影像--:" + res.msg,
|
|
|
+ type: "error",
|
|
|
+ duration: 7000
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //当前日期的次日
|
|
|
+ transformTime1() {
|
|
|
+ var date = new Date();
|
|
|
+ date.setFullYear(date.getFullYear());
|
|
|
+ date.setTime(date.getTime() + 24 * 60 * 60 * 1000);
|
|
|
+ var strYear = date.getFullYear();
|
|
|
+ var strDay = date.getDate();
|
|
|
+ var strMonth = date.getMonth() + 1;
|
|
|
+ var hh = date.getHours();
|
|
|
+ if (hh < 10) {
|
|
|
+ hh = "0" + hh;
|
|
|
+ }
|
|
|
+ if (strMonth < 10) {
|
|
|
+ strMonth = "0" + strMonth;
|
|
|
+ }
|
|
|
+ if (strDay < 10) {
|
|
|
+ strDay = "0" + strDay;
|
|
|
+ }
|
|
|
+ var datastr = strYear + "-" + strMonth + "-" + strDay + " " + "00:00:00";
|
|
|
+ return datastr;
|
|
|
+ },
|
|
|
+ //传入日期的次日
|
|
|
+ transformTime2(time) {
|
|
|
+ var date = new Date(time);
|
|
|
+ date.setFullYear(date.getFullYear());
|
|
|
+ date.setTime(date.getTime() + 24 * 60 * 60 * 1000); //一年后的前一天
|
|
|
+ var strYear = date.getFullYear();
|
|
|
+ var strDay = date.getDate();
|
|
|
+ var strMonth = date.getMonth() + 1;
|
|
|
+ var hh = date.getHours();
|
|
|
+ if (hh < 10) {
|
|
|
+ hh = "0" + hh;
|
|
|
+ }
|
|
|
+ if (strMonth < 10) {
|
|
|
+ strMonth = "0" + strMonth;
|
|
|
+ }
|
|
|
+ if (strDay < 10) {
|
|
|
+ strDay = "0" + strDay;
|
|
|
+ }
|
|
|
+ var datastr = strYear + "-" + strMonth + "-" + strDay + " " + "00:00:00";
|
|
|
+ return datastr;
|
|
|
+ },
|
|
|
+ //时间转换
|
|
|
+ transformTime(date) {
|
|
|
+ var d = new Date(date);
|
|
|
+ var strYear = d.getFullYear();
|
|
|
+ var strMonth = d.getMonth() + 1;
|
|
|
+ var strDay = d.getDate();
|
|
|
+ var hh = d.getHours();
|
|
|
+ var minutes = d.getMinutes(); // 分
|
|
|
+ var Seconds = d.getSeconds();
|
|
|
+ if (hh < 10) {
|
|
|
+ hh = "0" + hh;
|
|
|
+ }
|
|
|
+ if (minutes < 10) {
|
|
|
+ minutes = "0" + minutes;
|
|
|
+ }
|
|
|
+ if (Seconds < 10) {
|
|
|
+ Seconds = "0" + Seconds;
|
|
|
+ }
|
|
|
+ if (strMonth < 10) {
|
|
|
+ strMonth = "0" + strMonth;
|
|
|
+ }
|
|
|
+ if (strDay < 10) {
|
|
|
+ strDay = "0" + strDay;
|
|
|
+ }
|
|
|
+ var datetime =
|
|
|
+ strYear + "-" + strMonth + "-" + strDay + " " + hh + ":" + minutes + ":" + Seconds;
|
|
|
+ return datetime;
|
|
|
+ },
|
|
|
+ timeformat(date) {
|
|
|
+ var d = new Date(date);
|
|
|
+ var strYear = d.getFullYear();
|
|
|
+ var strMonth = d.getMonth() + 1;
|
|
|
+ var strDay = d.getDate();
|
|
|
+ var hh = d.getHours();
|
|
|
+ if (hh < 10) {
|
|
|
+ hh = "0" + hh;
|
|
|
+ }
|
|
|
+ if (strMonth < 10) {
|
|
|
+ strMonth = "0" + strMonth;
|
|
|
+ }
|
|
|
+ if (strDay < 10) {
|
|
|
+ strDay = "0" + strDay;
|
|
|
+ }
|
|
|
+ var datetime = strYear + "-" + strMonth + "-" + strDay;
|
|
|
+ return datetime;
|
|
|
+ },
|
|
|
+ oneYearPast1(time) {//明年减一秒
|
|
|
+ var date = new Date(time);
|
|
|
+ date.setSeconds(date.getSeconds() - 1);
|
|
|
+ date.setFullYear(date.getFullYear() + 1); //一年后
|
|
|
+ date.setTime(date.getTime()); //一年后的前一天
|
|
|
+ var strYear = date.getFullYear();
|
|
|
+ var strDay = date.getDate();
|
|
|
+ var strMonth = date.getMonth() + 1;
|
|
|
+ var hh = date.getHours();
|
|
|
+ var minutes = date.getMinutes(); // 分
|
|
|
+ var Seconds = date.getSeconds();
|
|
|
+ if (hh < 10) {
|
|
|
+ hh = "0" + hh;
|
|
|
+ }
|
|
|
+ if (minutes < 10) {
|
|
|
+ minutes = "0" + minutes;
|
|
|
+ }
|
|
|
+ if (Seconds < 10) {
|
|
|
+ Seconds = "0" + Seconds;
|
|
|
+ }
|
|
|
+ if (strMonth < 10) {
|
|
|
+ strMonth = "0" + strMonth;
|
|
|
+ }
|
|
|
+ if (strDay < 10) {
|
|
|
+ strDay = "0" + strDay;
|
|
|
+ }
|
|
|
+ var datastr =
|
|
|
+ strYear + "-" + strMonth + "-" + strDay + " " + hh + ":" + minutes + ":" + Seconds;
|
|
|
+ return datastr;
|
|
|
+ },
|
|
|
+ tbczcarShowChange() {
|
|
|
+ //投保人同车主
|
|
|
+ switch (this.tbczcarShow) {
|
|
|
+ case true:
|
|
|
+ this.policyHolderInfo = JSON.parse(JSON.stringify(this.ownerInfo));
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ for (let key in this.policyHolderInfo) {
|
|
|
+ this.policyHolderInfo[key] = "";
|
|
|
+ this.selectedOptions2 = [];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ bbczcarShowChange() {
|
|
|
+ //被保人同车主
|
|
|
+ switch (this.bbczcarShow) {
|
|
|
+ case true:
|
|
|
+ this.bbtbcarShow = false;
|
|
|
+ this.insuredPersonInfo = JSON.parse(JSON.stringify(this.ownerInfo));
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ for (let key in this.insuredPersonInfo) {
|
|
|
+ this.insuredPersonInfo[key] = "";
|
|
|
+ this.selectedOptions3 = [];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ bbtbcarShowChange() {
|
|
|
+ //被保人同投保人
|
|
|
+ switch (this.bbtbcarShow) {
|
|
|
+ case true:
|
|
|
+ this.bbczcarShow = false;
|
|
|
+ this.insuredPersonInfo = JSON.parse(
|
|
|
+ JSON.stringify(this.policyHolderInfo)
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ for (let key in this.insuredPersonInfo) {
|
|
|
+ this.insuredPersonInfo[key] = "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //VIN查询
|
|
|
+ toChooseVin(cartype) {
|
|
|
+ if (cartype == "" || cartype == null) {
|
|
|
+ this.$message({
|
|
|
+ message: "请输入车架号",
|
|
|
+ type: "warning"
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: "Loading",
|
|
|
+ spinner: "el-icon-loading",
|
|
|
+ background: "rgba(0, 0, 0, 0.7)"
|
|
|
+ });
|
|
|
+ this.$api.letter.insZhongmeiVIN(this.carInfo.frameNo).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ this.reslist = res.data;
|
|
|
+ loading.close();
|
|
|
+ this.chexingdialogVisible = true;
|
|
|
+ } else {
|
|
|
+ loading.close();
|
|
|
+ this.$message.error(res.msg);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //品牌型号查询
|
|
|
+ toChooseVehicleType(cartype) {
|
|
|
+ if (cartype == "" || cartype == null) {
|
|
|
+ this.$message({
|
|
|
+ message: "请输入车型名称",
|
|
|
+ type: "warning"
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: "Loading",
|
|
|
+ spinner: "el-icon-loading",
|
|
|
+ background: "rgba(0, 0, 0, 0.7)"
|
|
|
+ });
|
|
|
+ let param = {
|
|
|
+ modelName: cartype
|
|
|
+ };
|
|
|
+ this.$api.letter.ModelsQuery(param).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ loading.close();
|
|
|
+ this.reslist = res.data;
|
|
|
+ this.chexingdialogVisible = true;
|
|
|
+ } else {
|
|
|
+ loading.close();
|
|
|
+ this.$message.error(res.msg);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //车型列表双击选中事件
|
|
|
+ reslistCurrentChange(row, column, event) {
|
|
|
+ this.carInfo.brandName = row.brandCN; //品牌型号
|
|
|
+ this.carInfo.modelcname = row.modelName; //品牌型号
|
|
|
+ this.carInfo.caryear = row.marketYear; //年款
|
|
|
+ this.carInfo.seatCount = row.ratedPassengerCapacity; //座位数
|
|
|
+ this.carInfo.purchasePrice = row.replacementValue; //购置价
|
|
|
+ this.carInfo.modelCode = row.modelCode; //型号代码
|
|
|
+ this.carInfo.familyName = row.series; //系列
|
|
|
+ this.carInfo.enginedesc = row.displacement; //排量
|
|
|
+ this.carInfo.powertype = row.fuelType; //燃油种类
|
|
|
+ this.carInfo.powerScale = row.powerScale; //功率
|
|
|
+ this.chexingdialogVisible = false;
|
|
|
+ },
|
|
|
+ //是否过户事件
|
|
|
+ transferFlagChange(e) {
|
|
|
+ if (e) {
|
|
|
+ this.transferDateShow = true;
|
|
|
+ } else {
|
|
|
+ this.transferDateShow = false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ //影像上传
|
|
|
+ drivingupload(file, imageIdList, imgurl, type) {
|
|
|
+ this[imgurl].push(file)
|
|
|
+ var file = file.raw;
|
|
|
+ const params = new FormData(); // 声明formData数据类型
|
|
|
+ params.append("multipartFile", file);
|
|
|
+ params.append("type", "image");
|
|
|
+ this.$api.letter.uploadFile(params).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ if (this[imageIdList].some(v => v.imageType == type)) {
|
|
|
+ this[imageIdList].map(val => {
|
|
|
+ if (val.imageType == type) {
|
|
|
+ val.imageId = res.data.id;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this[imageIdList].push({
|
|
|
+ imageId: res.data.id,
|
|
|
+ imageType: type,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ handleRemove1(file, imageIdList, imgList) {
|
|
|
+ this[imageIdList].map((ele, index) => {
|
|
|
+ if (file.imageId === ele.imageId) {
|
|
|
+ this[imageIdList].splice(index, 1);
|
|
|
+ }
|
|
|
+ return ele;
|
|
|
+ });
|
|
|
+ if (file.imageId) {
|
|
|
+ this[imgList].map((ele, index) => {
|
|
|
+ if (file.imageId === ele.imageId) {
|
|
|
+ this[imgList].splice(index, 1);
|
|
|
+ }
|
|
|
+ return ele;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this[imgList].map((ele, index) => {
|
|
|
+ if (file.uid === ele.uid) {
|
|
|
+ this[imgList].splice(index, 1);
|
|
|
+ }
|
|
|
+ return ele;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ carfrontChange(file) {
|
|
|
+ //选择行驶证正面
|
|
|
+ var file = file.raw;
|
|
|
+ let files = window.URL.createObjectURL(file); //转临时路径
|
|
|
+ this.carfrontImg = files;
|
|
|
+ const params = new FormData(); // 声明formData数据类型
|
|
|
+ params.append("multipartFile", file);
|
|
|
+ params.append("type", "image");
|
|
|
+ this.$api.letter.uploadFile(params).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ this.CarFrontFile = file;//文件流
|
|
|
+ if (this.imageList1.some(v => v.imageType == 'C01')) {
|
|
|
+ this.imageList1.map(val => {
|
|
|
+ if (val.imageType == 'C01') {
|
|
|
+ val.imageId = res.data.id;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.imageList1.push({
|
|
|
+ imageId: res.data.id,
|
|
|
+ imageType: "C01",
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$message({ message: res.msg, type: "warning" });
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ },
|
|
|
+ carbackChange(file) {
|
|
|
+ //选择行驶证反面
|
|
|
+ var file = file.raw;
|
|
|
+ let files = window.URL.createObjectURL(file); //转临时路径
|
|
|
+ this.carbackImg = files;
|
|
|
+ const params = new FormData(); // 声明formData数据类型
|
|
|
+ params.append("multipartFile", file);
|
|
|
+ params.append("type", "image");
|
|
|
+ this.$api.letter.uploadFile(params).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ this.CarBackFile = file;
|
|
|
+ if (this.imageList1.some(v => v.imageType == 'D01')) {
|
|
|
+ this.imageList1.map(val => {
|
|
|
+ if (val.imageType == 'D01') {
|
|
|
+ val.imageId = res.data.id;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.imageList1.push({
|
|
|
+ imageId: res.data.id,
|
|
|
+ imageType: "D01",
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$message({ message: res.msg, type: "warning" });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ userfrontChange(file) {
|
|
|
+ //选择身份证正面
|
|
|
+ var file = file.raw;
|
|
|
+ let files = window.URL.createObjectURL(file); //转链接
|
|
|
+ this.userfrontImg = files;
|
|
|
+ const params = new FormData(); // 声明formData数据类型
|
|
|
+ params.append("multipartFile", file);
|
|
|
+ params.append("type", "image");
|
|
|
+ this.$api.letter.uploadFile(params).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ let type = 'C0' + this.userIndex;
|
|
|
+ if (this['imageList' + this.userIndex].some(v => v.imageType == type)) {
|
|
|
+ this['imageList' + this.userIndex].map(val => {
|
|
|
+ if (val.imageType == type) {
|
|
|
+ val.imageId = res.data.id;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this['imageList' + this.userIndex].push({
|
|
|
+ imageId: res.data.id,
|
|
|
+ imageType: type,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this[type + 'File'] = file;
|
|
|
+ } else {
|
|
|
+ this.$message({ message: res.msg, type: "warning" });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ userbackChange(file) {
|
|
|
+ //选择身份证背面
|
|
|
+ var file = file.raw;
|
|
|
+ let files = window.URL.createObjectURL(file); //转链接
|
|
|
+ this.userbackImg = files;
|
|
|
+ const params = new FormData(); // 声明formData数据类型
|
|
|
+ params.append("multipartFile", file);
|
|
|
+ params.append("type", "image");
|
|
|
+ this.$api.letter.uploadFile(params).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ let type = 'D0' + this.userIndex;
|
|
|
+ if (this['imageList' + this.userIndex].some(v => v.imageType == type)) {
|
|
|
+ this['imageList' + this.userIndex].map(val => {
|
|
|
+ if (val.imageType == type) {
|
|
|
+ val.imageId = res.data.id;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this['imageList' + this.userIndex].push({
|
|
|
+ imageId: res.data.id,
|
|
|
+ imageType: type,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this[type + 'File'] = file;
|
|
|
+ } else {
|
|
|
+ this.$message({ message: res.msg, type: "warning" });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ CarOCRdiscern() {
|
|
|
+ //car识别
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: "Loading",
|
|
|
+ spinner: "el-icon-loading",
|
|
|
+ background: "rgba(0, 0, 0, 0.7)"
|
|
|
+ });
|
|
|
+ const params = new FormData(); // 声明formData数据类型
|
|
|
+ params.append("image1", this.CarFrontFile);
|
|
|
+ params.append("image2", this.CarBackFile);
|
|
|
+ this.$api.letter.drivingPermit(params).then(res => {
|
|
|
+ loading.close();
|
|
|
+ if (res.msg == "201") {
|
|
|
+ this.$message({ message: "请正确选择驾驶证", type: "warning" });
|
|
|
+ }
|
|
|
+ var carInfo = res.data.carInfo;
|
|
|
+ carInfo.issueDate =
|
|
|
+ carInfo.issueDate.substring(0, 4) +
|
|
|
+ "-" +
|
|
|
+ carInfo.issueDate.substring(4, 6) +
|
|
|
+ "-" +
|
|
|
+ carInfo.issueDate.substring(6, 8);
|
|
|
+ carInfo.registerDate =
|
|
|
+ carInfo.registerDate.substring(0, 4) +
|
|
|
+ "-" +
|
|
|
+ carInfo.registerDate.substring(4, 6) +
|
|
|
+ "-" +
|
|
|
+ carInfo.registerDate.substring(6, 8);
|
|
|
+ this.carform.licenseNo = carInfo.plateNo; //车牌号
|
|
|
+ this.carform.modelcname = carInfo.backOcrID; //品牌型号
|
|
|
+ this.carform.frameNo = carInfo.vIN; //车架号
|
|
|
+ this.carform.engineNo = carInfo.engine; //发动机号
|
|
|
+ this.carform.registerDate = carInfo.registerDate; //车牌号
|
|
|
+ this.carform.issueDate = carInfo.issueDate; //车牌号
|
|
|
+ this.carform.grossMass = carInfo.grossMass; //总质量
|
|
|
+ this.carform.unladenMass = carInfo.unladenMass; //整备质量
|
|
|
+ this.carform.approvedPassengersCapacity =
|
|
|
+ carInfo.approvedPassengersCapacity; //核定载客数
|
|
|
+ });
|
|
|
+ },
|
|
|
+ CarOCRconfirm() {
|
|
|
+ //传参
|
|
|
+ this.carInfo.licenseNo = this.carform.licenseNo; //车牌号
|
|
|
+ this.carInfo.modelcname = this.carform.modelcname; //品牌型号
|
|
|
+ this.carInfo.vinNo = this.carform.frameNo; //车架号
|
|
|
+ this.carInfo.frameNo = this.carform.frameNo; //车架号
|
|
|
+ this.carInfo.engineNo = this.carform.engineNo; //发动机号
|
|
|
+ this.carInfo.registerDate = this.carform.registerDate; //车牌号
|
|
|
+ this.carInfo.issueDate = this.carform.issueDate; //车牌号
|
|
|
+ this.carInfo.seatCount = this.carform.approvedPassengersCapacity; //核定载客数
|
|
|
+ this.carInfo.vehicleweight = this.carform.grossMass; //总质量
|
|
|
+ this.carInfo.completeKerbMass = this.carform.unladenMass; //整备质量
|
|
|
+ this.uploadcardialogVisible = false;
|
|
|
+ },
|
|
|
+ handleRemove(e) {
|
|
|
+ //删除图片
|
|
|
+ this[e] = "";
|
|
|
+ },
|
|
|
+ //预览图片
|
|
|
+ handlePictureCardPreview(img) {
|
|
|
+ this.ProViewImg = img;
|
|
|
+ this.showViewer = true;
|
|
|
+ },
|
|
|
+ // 关闭查看器
|
|
|
+ closeViewer() {
|
|
|
+ this.showViewer = false;
|
|
|
+ },
|
|
|
+ uploaduser(index) {
|
|
|
+ this.userIndex = index;
|
|
|
+ this.uploaduserdialogVisible = true;
|
|
|
+ },
|
|
|
+ userOCRdiscern() {
|
|
|
+ //OCR识别
|
|
|
+ switch (this.userIndex) {
|
|
|
+ case 2:
|
|
|
+ const params1 = new FormData(); // 声明formData数据类型
|
|
|
+ params1.append("image1", this.C02File);
|
|
|
+ params1.append("image2", this.D02File);
|
|
|
+ this.userOCRjoggle(params1);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ const params2 = new FormData(); // 声明formData数据类型
|
|
|
+ params2.append("image1", this.C03File);
|
|
|
+ params2.append("image2", this.D03File);
|
|
|
+ this.userOCRjoggle(params2);
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ const params3 = new FormData(); // 声明formData数据类型
|
|
|
+ params3.append("image1", this.C04File);
|
|
|
+ params3.append("image2", this.D04File);
|
|
|
+ this.userOCRjoggle(params3);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ }
|
|
|
+ },
|
|
|
+ userOCRjoggle(param) {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: "Loading",
|
|
|
+ spinner: "el-icon-loading",
|
|
|
+ background: "rgba(0, 0, 0, 0.7)"
|
|
|
+ });
|
|
|
+ this.$api.letter.idCard(param).then(res => {
|
|
|
+ loading.close();
|
|
|
+ if (res.msg == "201") {
|
|
|
+ this.$message({ message: "请正确选择身份证", type: "warning" });
|
|
|
+ }
|
|
|
+ var customerInfo = res.data.customerInfo;
|
|
|
+ if (customerInfo) {
|
|
|
+ this.ownerInfoform.name = customerInfo.name;
|
|
|
+ if (customerInfo.identifyType == '01') {
|
|
|
+ this.ownerInfoform.identifyType = '身份证';
|
|
|
+ } else {
|
|
|
+ this.ownerInfoform.identifyType = "未知";
|
|
|
+ }
|
|
|
+
|
|
|
+ this.ownerInfoform.identifyNumber = customerInfo.identifyNumber;
|
|
|
+ this.ownerInfoform.addr = customerInfo.addr;
|
|
|
+ this.ownerInfoform.age = getAgeByIdCard(customerInfo.identifyNumber)
|
|
|
+ this.ownerInfoform.identifyValidDate =
|
|
|
+ customerInfo.identifyValidDate.substring(0, 4) +
|
|
|
+ "-" +
|
|
|
+ customerInfo.identifyValidDate.substring(4, 6) +
|
|
|
+ "-" +
|
|
|
+ customerInfo.identifyValidDate.substring(6, 8);
|
|
|
+ this.ownerInfoform.identifyValidEndDate =
|
|
|
+ customerInfo.identifyValidEndDate.substring(0, 4) +
|
|
|
+ "-" +
|
|
|
+ customerInfo.identifyValidEndDate.substring(4, 6) +
|
|
|
+ "-" +
|
|
|
+ customerInfo.identifyValidEndDate.substring(6, 8);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ userOCRconfirm() {
|
|
|
+ //传参
|
|
|
+ switch (this.userIndex) {
|
|
|
+ case 2:
|
|
|
+ this.ownerInfo = JSON.parse(JSON.stringify(this.ownerInfoform));
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ this.policyHolderInfo = JSON.parse(
|
|
|
+ JSON.stringify(this.ownerInfoform)
|
|
|
+ );
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ this.insuredPersonInfo = JSON.parse(
|
|
|
+ JSON.stringify(this.ownerInfoform)
|
|
|
+ );
|
|
|
+
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ this.uploaduserdialogVisible = false;
|
|
|
+ },
|
|
|
+ closeDialog(index) {
|
|
|
+ // 0:车辆 1:车主 2:投保人 3:被保人
|
|
|
+ switch (index) {
|
|
|
+ case 0:
|
|
|
+ this.carfrontImg = '';
|
|
|
+ this.carbackImg = '';
|
|
|
+ this.CarFrontFile = ''; // 行驶证正面base64
|
|
|
+ this.CarBackFile = ''; // 行驶证背面base64
|
|
|
+ Object.keys(this.carform).forEach((key) => {
|
|
|
+ this.carform[key] = '';
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ this.userfrontImg = '';
|
|
|
+ this.userbackImg = '';
|
|
|
+ this.C02File = ''; // 车主正面base64
|
|
|
+ this.D02File = ''; // 车主背面base64
|
|
|
+ Object.keys(this.ownerInfoform).forEach((key) => {
|
|
|
+ this.ownerInfoform[key] = '';
|
|
|
+ });
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 3:
|
|
|
+ this.userfrontImg = '';
|
|
|
+ this.userbackImg = '';
|
|
|
+ this.C03File = ''; // 投保人正面base64
|
|
|
+ this.D03File = ''; // 投保人背面base64
|
|
|
+ Object.keys(this.ownerInfoform).forEach((key) => {
|
|
|
+ this.ownerInfoform[key] = '';
|
|
|
+ });
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 4:
|
|
|
+ this.userfrontImg = '';
|
|
|
+ this.userbackImg = '';
|
|
|
+ this.C04File = ''; // 被保人正面base64
|
|
|
+ this.D04File = ''; // 被保人背面base64
|
|
|
+ Object.keys(this.ownerInfoform).forEach((key) => {
|
|
|
+ this.ownerInfoform[key] = '';
|
|
|
+ });
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ }
|
|
|
+ },
|
|
|
+ bjdpreview(companyId) {
|
|
|
+ let params = {
|
|
|
+ companyId: companyId
|
|
|
+ };
|
|
|
+ this.$api.letter.getByCompanyId(params).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ var data = res.data;
|
|
|
+ if (data.kindinfo != null) {
|
|
|
+ data.kindinfo.map((ele, index) => {
|
|
|
+ switch (ele.kindCode) {
|
|
|
+ case "A":
|
|
|
+ ele.amount = "投保";
|
|
|
+ break;
|
|
|
+ case "D4":
|
|
|
+ case "SY_FJ_YBW2":
|
|
|
+ ele.unitAmount = this.toChinesNum(ele.unitAmount);
|
|
|
+ break;
|
|
|
+ case "MJ1":
|
|
|
+ case "MJ2":
|
|
|
+ case "MJ3":
|
|
|
+ case "MJ4":
|
|
|
+ ele.deductibleRate = ele.deductibleRate + "%";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ ele.amount = this.toChinesNum(ele.amount);
|
|
|
+ }
|
|
|
+ return ele;
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ this.queryOrders = data;
|
|
|
+ this.logoImg = this.iconfftter(res.data.inscompany)
|
|
|
+ this.bjddialogVisible = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //返回上一步
|
|
|
+ Back() { },
|
|
|
+ carcode(id) {
|
|
|
+ let params = {
|
|
|
+ companyId: id
|
|
|
+ };
|
|
|
+ this.$api.letter.getByCompanyId(params).then(res => {
|
|
|
+ if (res.code == "200") {
|
|
|
+ const { inscompany, sumpremium, carinfo, insuredname, jqpremium, sypremium, taxamount, jqstartdate, systartdate, applyinfo } = res.data;
|
|
|
+ this.inscompany = inscompany; // 保险公司
|
|
|
+ this.sumpremium = sumpremium; // 总价
|
|
|
+ this.licenseNo = carinfo.licenseNo; // 车牌号
|
|
|
+ this.applyName = insuredname; // 车主
|
|
|
+ this.jqpremium = jqpremium; // 交强
|
|
|
+ this.sypremium = sypremium; // 商业
|
|
|
+ this.taxamount = taxamount; // 车船税
|
|
|
+ this.jqstartdate = jqstartdate; // 交强起保日期
|
|
|
+ this.systartdate = systartdate; // 商业起保日期
|
|
|
+ this.mobile = applyinfo.mobile; // 投保人手机号
|
|
|
+ switch (this.inscompany) {
|
|
|
+ case "永安财险":
|
|
|
+ let url =
|
|
|
+ this.global.h5BaseUrl +
|
|
|
+ "/#/pages/carInsure1/yonganCode?companyId=" +
|
|
|
+ this.companyId +
|
|
|
+ "&mobile=" +
|
|
|
+ this.mobile;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.creatQrCode(url);
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "人保财险":
|
|
|
+ case "中煤财险":
|
|
|
+ case "永诚财险":
|
|
|
+ case "众安财险":
|
|
|
+ case "紫金财险":
|
|
|
+ case "中国人寿":
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.creatQrCode(res.data.paymentLink);
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "恒邦财险":
|
|
|
+ this.paycodeimg = res.data.paymentLink;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ this.$message({
|
|
|
+ message: "识别不到保险公司,请检查",
|
|
|
+ type: "warning"
|
|
|
+ });
|
|
|
+ }
|
|
|
+ this.codedialogVisible = true;
|
|
|
+ } else {
|
|
|
+ this.$message({ message: res.msg, type: "warning" });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //同步
|
|
|
+ synchronization() {
|
|
|
+ this.systartDate = this.jqstartDate;
|
|
|
+ this.syendDate = this.jqendDate;
|
|
|
+ },
|
|
|
+ //影像上传
|
|
|
+ uploadinformation() {
|
|
|
+ // //上传图片
|
|
|
+ const mergedArray = [...this.imageList1, ...this.imageList2, ...this.imageList3, ...this.imageList4];
|
|
|
+ let imageparam = {
|
|
|
+ imageList: mergedArray,
|
|
|
+ quoteNo: this.quoteno
|
|
|
+ }
|
|
|
+ this.$api.letter.uploadImages(imageparam).then(responses => {
|
|
|
+ if(responses.code=='200'){
|
|
|
+ this.imageEcho(this.quoteno);
|
|
|
+ this.$message({ message: responses.msg, type: "success" });
|
|
|
+ }else{
|
|
|
+ this.$message({ message: responses.msg, type: "error" });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ add() {
|
|
|
+ this.carInfo = { ...this.defaultcarInfo };
|
|
|
+ this.ownerInfo = { ...this.defaultownerInfo };
|
|
|
+ this.policyHolderInfo = { ...this.defaultpolicyHolderInfo };
|
|
|
+ this.insuredPersonInfo = { ...this.defaultinsuredPersonInfo };
|
|
|
+ this.insureList = [...this.defaultinsureList];
|
|
|
+ this.sychecked = false;
|
|
|
+ this.yonganchecked = false;
|
|
|
+ this.zhongmeichecked = false;
|
|
|
+ this.transferDateShow = false;
|
|
|
+ this.imgList1 = [];
|
|
|
+ this.imgList2 = [];
|
|
|
+ this.imgList3 = [];
|
|
|
+ this.imgList4 = [];
|
|
|
+ this.imgList5 = [];
|
|
|
+ this.selectedOptions1 = [];
|
|
|
+ this.selectedOptions2 = [];
|
|
|
+ this.selectedOptions3 = [];
|
|
|
+ this.orderno = "";
|
|
|
+ this.quoteno = "";
|
|
|
+ this.jqstartDate = this.transformTime1();
|
|
|
+ this.jqendDate = this.oneYearPast1(this.jqstartDate);
|
|
|
+ this.systartDate = this.transformTime1();
|
|
|
+ this.syendDate = this.oneYearPast1(this.jqstartDate);
|
|
|
+ this.commpanyList(); // 获取保险公司
|
|
|
+ },
|
|
|
+ toChinesNum(num) {
|
|
|
+ let changeNum = [
|
|
|
+ "零", "1", "2", "3", "4", "5", "6", "7", "8", "9"
|
|
|
+ ];
|
|
|
+ let unit = ["", "0", "00", "000", "0000"];
|
|
|
+ num = parseInt(num);
|
|
|
+ let getWan = temp => {
|
|
|
+ let strArr = temp
|
|
|
+ .toString()
|
|
|
+ .split("")
|
|
|
+ .reverse();
|
|
|
+ let newNum = "";
|
|
|
+ let newArr = [];
|
|
|
+ strArr.forEach((item, index) => {
|
|
|
+ newArr.unshift(
|
|
|
+ item === "0" ? changeNum[item] : changeNum[item] + unit[index]
|
|
|
+ );
|
|
|
+ });
|
|
|
+ let numArr = [];
|
|
|
+ newArr.forEach((m, n) => {
|
|
|
+ if (m !== "零") numArr.push(n);
|
|
|
+ });
|
|
|
+ if (newArr.length > 1) {
|
|
|
+ newArr.forEach((m, n) => {
|
|
|
+ if (newArr[newArr.length - 1] === "零") {
|
|
|
+ if (n <= numArr[numArr.length - 1]) {
|
|
|
+ newNum += m;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ newNum += m;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ newNum = newArr[0];
|
|
|
+ }
|
|
|
+ return newNum;
|
|
|
+ };
|
|
|
+ let overWan = Math.floor(num / 10000);
|
|
|
+ let noWan = num % 10000;
|
|
|
+ if (noWan.toString().length < 4) {
|
|
|
+ noWan = "0" + noWan;
|
|
|
+ }
|
|
|
+ return overWan ? getWan(overWan) + "万" + getWan(noWan) : getWan(num);
|
|
|
+ },
|
|
|
+ reportDrop(event) {
|
|
|
+ event.preventDefault();
|
|
|
+ event.stopPropagation();
|
|
|
+ },
|
|
|
+ handleScroll(id) {
|
|
|
+ document.getElementById(id).scrollIntoView();
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style>
|
|
|
+.customNotifyClass {
|
|
|
+ word-break: break-all;
|
|
|
+ width: 600px;
|
|
|
+}
|
|
|
+</style>
|
|
|
+<style lang="scss" scoped>
|
|
|
+/deep/.accident-style .el-table {
|
|
|
+ .el-table__body-wrapper {
|
|
|
+ height: 245px;
|
|
|
+ overflow-y: auto;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.styleB .el-upload--picture-card {
|
|
|
+ // display: none;
|
|
|
+ opacity: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.saomazhifucodeClass .el-dialog__body,
|
|
|
+.saomazhifucodeClass .el-dialog__header {
|
|
|
+ padding: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.ORcodebody {
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+
|
|
|
+.code_title {
|
|
|
+ width: 100%;
|
|
|
+ height: 50px;
|
|
|
+ background-color: #fdcb08;
|
|
|
+ justify-content: center;
|
|
|
+
|
|
|
+ &>span {
|
|
|
+ font-size: 22px;
|
|
|
+ color: #000;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.csstool {
|
|
|
+ font-weight: 600;
|
|
|
+ color: #606266;
|
|
|
+ font-size: 14px;
|
|
|
+ margin: 0 20px;
|
|
|
+
|
|
|
+ span {
|
|
|
+ margin-right: 5px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.ORcode {
|
|
|
+ width: 100%;
|
|
|
+ background: #fff;
|
|
|
+ height: auto;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ padding: 30px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-bottom: 6px dotted #fdcb08;
|
|
|
+
|
|
|
+ &>div {
|
|
|
+ width: 180px;
|
|
|
+ height: 180px;
|
|
|
+ border: 1px solid #000;
|
|
|
+ border-radius: 5px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.ORtitle {
|
|
|
+ background: #fff;
|
|
|
+ width: 100%;
|
|
|
+ padding: 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-bottom: 1px solid #f2f2f2;
|
|
|
+
|
|
|
+ &>div {
|
|
|
+ width: 100%;
|
|
|
+ margin: 10px 0;
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 14px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ &>span {
|
|
|
+ &:nth-child(1) {
|
|
|
+ color: #979797;
|
|
|
+ text-align: end;
|
|
|
+ width: 150px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:nth-child(2) {
|
|
|
+ color: #000;
|
|
|
+ margin-left: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.Risk {
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ font-size: 12px;
|
|
|
+}
|
|
|
+
|
|
|
+.Risk_title {
|
|
|
+ width: 100%;
|
|
|
+ height: 40px;
|
|
|
+
|
|
|
+ &>div {
|
|
|
+ background: rgb(199, 20, 45);
|
|
|
+ color: rgb(255, 255, 255);
|
|
|
+ height: 100%;
|
|
|
+ font-weight: 500;
|
|
|
+ width: 33.3%;
|
|
|
+ padding: 10px 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border: #fff solid 1px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ border-bottom: none;
|
|
|
+
|
|
|
+ &:nth-child(1) {
|
|
|
+ border-top-left-radius: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:nth-child(2) {
|
|
|
+ border-left: none;
|
|
|
+ border-right: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:nth-child(3) {
|
|
|
+ border-top-right-radius: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.Risk_data {
|
|
|
+ width: 100%;
|
|
|
+ height: 40px;
|
|
|
+
|
|
|
+ &>div {
|
|
|
+ background: #fbf6f7;
|
|
|
+ color: rgb(51, 51, 51);
|
|
|
+ height: 100%;
|
|
|
+ font-weight: 500;
|
|
|
+ width: 33.3%;
|
|
|
+ padding: 10px 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border: #fff solid 1px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ border-bottom: none;
|
|
|
+
|
|
|
+ &:nth-child(2) {
|
|
|
+ border-left: none;
|
|
|
+ border-right: none;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.hebaozhuangtai {
|
|
|
+ padding: 10px 50px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border: 4px solid #08283524;
|
|
|
+}
|
|
|
+
|
|
|
+.hebaozhuangtai_data {
|
|
|
+ font-size: 20px;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #000;
|
|
|
+ padding: 20px;
|
|
|
+
|
|
|
+ &>span {
|
|
|
+ &:nth-child(2) {
|
|
|
+ color: #ff7612;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.kindinfocss {
|
|
|
+ &>span {
|
|
|
+ width: 200px;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.headers1 {
|
|
|
+ &>div {
|
|
|
+ padding: 30px;
|
|
|
+
|
|
|
+ &>span {
|
|
|
+ color: #ff7612;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.dis {
|
|
|
+ display: flex;
|
|
|
+}
|
|
|
+
|
|
|
+.align {
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+
|
|
|
+.jus {
|
|
|
+ justify-content: space-between;
|
|
|
+}
|
|
|
+
|
|
|
+.bjdbody {
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
+ background-color: rgb(199, 20, 45);
|
|
|
+ padding: 20px 10px 0 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-radius: 8px;
|
|
|
+}
|
|
|
+
|
|
|
+.bjdCarMessage,
|
|
|
+.bjdCarSum {
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
+ background-color: #fff;
|
|
|
+ border-radius: 8px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ padding-bottom: 10px;
|
|
|
+}
|
|
|
+
|
|
|
+.bjdfooter {
|
|
|
+ border-top: 1px solid #fff;
|
|
|
+ padding: 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ color: #fff;
|
|
|
+}
|
|
|
+
|
|
|
+.bjdCarSum {
|
|
|
+ &>div {
|
|
|
+ width: 100%;
|
|
|
+ padding: 15px 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #000;
|
|
|
+ border-bottom: 1px solid #f2f2f2;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.bjdCarMessage1 {
|
|
|
+ height: 80px;
|
|
|
+ padding: 16px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-bottom: 1px solid #f2f2f2;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ color: #000;
|
|
|
+
|
|
|
+ .f-c {
|
|
|
+ &>span {
|
|
|
+ &:nth-child(1) {
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.bjdCarMessage1>img,
|
|
|
+.bjdfooter>img {
|
|
|
+ margin-right: 30px;
|
|
|
+}
|
|
|
+
|
|
|
+.bjdCarMessage1 .f-c>span:nth-child(2),
|
|
|
+.bjdCarMessage1 .f-c>span:nth-child(3) {
|
|
|
+ font-size: 12px;
|
|
|
+ margin-top: 5px;
|
|
|
+}
|
|
|
+
|
|
|
+.bjdCarMessage2_car {
|
|
|
+ &>span {
|
|
|
+ &:nth-child(1) {
|
|
|
+ color: #000;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:nth-child(2) {
|
|
|
+ color: #999;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.bjdCarMessage2 {
|
|
|
+ &>ul {
|
|
|
+ li {
|
|
|
+ margin: 20px 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.shangyexian {
|
|
|
+ padding-left: 100px;
|
|
|
+}
|
|
|
+
|
|
|
+.headertotal {
|
|
|
+ padding: 30px;
|
|
|
+}
|
|
|
+
|
|
|
+.my-label {
|
|
|
+ background: #e1f3d8;
|
|
|
+}
|
|
|
+
|
|
|
+.my-content {
|
|
|
+ background: #fde2e2;
|
|
|
+ color: aqua;
|
|
|
+}
|
|
|
+
|
|
|
+.el-button--mini {
|
|
|
+ padding: 5px;
|
|
|
+}
|
|
|
+
|
|
|
+#qqq {
|
|
|
+ background-color: #111;
|
|
|
+ width: 300px;
|
|
|
+ height: 300px;
|
|
|
+ margin: 0 auto;
|
|
|
+ position: relative;
|
|
|
+}
|
|
|
+
|
|
|
+#qrCode {
|
|
|
+ display: inline-block;
|
|
|
+ margin: 0 auto;
|
|
|
+ position: relative;
|
|
|
+ top: 15%;
|
|
|
+
|
|
|
+ img {
|
|
|
+ width: 200px;
|
|
|
+ height: 200px;
|
|
|
+ background-color: #fff;
|
|
|
+ padding: 6px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.code {
|
|
|
+ box-sizing: border-box;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ &>span {
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.code_name {
|
|
|
+ width: 350px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ font-weight: bold;
|
|
|
+
|
|
|
+ &>span {
|
|
|
+ &:nth-child(1) {
|
|
|
+ color: #979797;
|
|
|
+ width: 120px;
|
|
|
+ text-align: right;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:nth-child(2) {
|
|
|
+ color: #2d2d2d;
|
|
|
+ width: 120px;
|
|
|
+ text-align: left;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.header {
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: bold;
|
|
|
+}
|
|
|
+
|
|
|
+.body {
|
|
|
+ border-top: none;
|
|
|
+ padding-bottom: 100px;
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+
|
|
|
+.u-f-ac {
|
|
|
+ -webkit-box-align: center;
|
|
|
+ align-items: center;
|
|
|
+ padding: 10px;
|
|
|
+}
|
|
|
+
|
|
|
+.bodyTitle {
|
|
|
+ height: 45px;
|
|
|
+ background: #f3f3f3;
|
|
|
+ border: 1px solid #dddddd;
|
|
|
+ line-height: 45px;
|
|
|
+ padding: 0 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+
|
|
|
+.start {
|
|
|
+ justify-content: flex-start;
|
|
|
+}
|
|
|
+
|
|
|
+.end {
|
|
|
+ justify-content: flex-end;
|
|
|
+}
|
|
|
+
|
|
|
+.descriptions {
|
|
|
+ padding: 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+}
|
|
|
+
|
|
|
+.bodys {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ flex-wrap: wrap;
|
|
|
+}
|
|
|
+
|
|
|
+.bodys1 {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ flex-wrap: wrap;
|
|
|
+}
|
|
|
+
|
|
|
+.widths {
|
|
|
+ width: 230px;
|
|
|
+}
|
|
|
+
|
|
|
+.widths1 {
|
|
|
+ width: 300px;
|
|
|
+}
|
|
|
+
|
|
|
+.back {
|
|
|
+ color: #303133;
|
|
|
+ font-weight: 700;
|
|
|
+}
|
|
|
+
|
|
|
+.home {
|
|
|
+ padding-left: 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+
|
|
|
+ &>span {
|
|
|
+ margin-right: 10px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.hovers {
|
|
|
+ margin: 10px 0;
|
|
|
+ cursor: pointer;
|
|
|
+ padding: 10px 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-bottom: 1px solid #f2f2f2;
|
|
|
+
|
|
|
+ .offer-time {
|
|
|
+ padding: 5px 0 5px 100px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ color: #6495ed;
|
|
|
+
|
|
|
+ &>span {
|
|
|
+ margin: 0 10px;
|
|
|
+
|
|
|
+ &>span {
|
|
|
+ font-weight: 500;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/* 内容待定 */
|
|
|
+.coll {
|
|
|
+ font-size: 14px;
|
|
|
+}
|
|
|
+
|
|
|
+.headers {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ margin: 5px 0;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #333;
|
|
|
+}
|
|
|
+
|
|
|
+/* 内容待定 */
|
|
|
+.headers_Custom {
|
|
|
+ div {
|
|
|
+ padding: 20px 40px;
|
|
|
+ font-size: 16px;
|
|
|
+
|
|
|
+ &>span {
|
|
|
+ color: rgb(226, 118, 10);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.display {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ padding: 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+
|
|
|
+.black {
|
|
|
+ color: #000;
|
|
|
+}
|
|
|
+
|
|
|
+.gray {
|
|
|
+ color: #999;
|
|
|
+}
|
|
|
+
|
|
|
+.OCR {
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #333;
|
|
|
+ margin: 20px;
|
|
|
+}
|
|
|
+
|
|
|
+.slot {
|
|
|
+ position: absolute;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ left: 0;
|
|
|
+ top: 0;
|
|
|
+ cursor: default;
|
|
|
+ text-align: center;
|
|
|
+ color: #fff;
|
|
|
+ opacity: 0;
|
|
|
+ font-size: 20px;
|
|
|
+ background-color: rgba(0, 0, 0, 0.5);
|
|
|
+ transition: opacity 0.3s;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ &>i {
|
|
|
+ margin: 10px;
|
|
|
+ color: #fff;
|
|
|
+ font-size: 30px;
|
|
|
+ font-weight: bold;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ opacity: 1;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.companyhead {
|
|
|
+ width: 60%;
|
|
|
+ margin: 0 auto;
|
|
|
+ padding: 10px;
|
|
|
+ color: #333;
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 14px;
|
|
|
+}
|
|
|
+
|
|
|
+.footer {
|
|
|
+ width: calc(100% - 200px);
|
|
|
+ position: fixed;
|
|
|
+ bottom: 0;
|
|
|
+ right: 0;
|
|
|
+ background-color: #fff;
|
|
|
+ z-index: 9;
|
|
|
+ padding: 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ box-shadow: 0 0 1px 0 #ccc;
|
|
|
+ transition: all 0.3s, box-shadow 0.5s;
|
|
|
+
|
|
|
+ &.shadow {
|
|
|
+ box-shadow: 0 -10px 10px -10px #ccc;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.Enclosure {
|
|
|
+ width: 100%;
|
|
|
+ background-color: #fff;
|
|
|
+ padding: 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ border-radius: 6px;
|
|
|
+ border: 1px solid #ebeef5;
|
|
|
+ transition: all 0.2s ease-in-out;
|
|
|
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
|
|
+}
|
|
|
+
|
|
|
+.icon-img {
|
|
|
+ display: block;
|
|
|
+ width: 30px;
|
|
|
+ height: 30px;
|
|
|
+}
|
|
|
+
|
|
|
+.Anchor-link {
|
|
|
+ width: 40px;
|
|
|
+ background-color: #fff;
|
|
|
+ box-shadow: #ccc 0 0px 3px 0;
|
|
|
+ border-radius: 6px;
|
|
|
+ position: fixed;
|
|
|
+ top: 50%;
|
|
|
+ right: 0;
|
|
|
+ z-index: 99;
|
|
|
+
|
|
|
+ div {
|
|
|
+ margin: 5px;
|
|
|
+ border-bottom: 1px solid #f2f2f2;
|
|
|
+ cursor: pointer;
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.color {
|
|
|
+ padding-top: 150px;
|
|
|
+ margin-top: -150px;
|
|
|
+}
|
|
|
+
|
|
|
+.more {
|
|
|
+ width: 100%;
|
|
|
+ padding: 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+
|
|
|
+.more-title {
|
|
|
+ padding: 10px;
|
|
|
+ border-bottom: 1px solid #e3e3e3;
|
|
|
+ font-size: 14px;
|
|
|
+}
|
|
|
+
|
|
|
+.more-data {
|
|
|
+ padding: 10px;
|
|
|
+ border-bottom: 1px solid #f2f2f2;
|
|
|
+ color: #ee7000;
|
|
|
+ font-size: 14px;
|
|
|
+}
|
|
|
+
|
|
|
+.Driving-risk {
|
|
|
+ padding: 0 50px;
|
|
|
+}
|
|
|
+
|
|
|
+.checkbox {
|
|
|
+ transform: scale(1.2);
|
|
|
+}
|
|
|
+
|
|
|
+.insure-long-term {
|
|
|
+ display: inline-flex;
|
|
|
+ padding-left: 8px;
|
|
|
+ padding-right: 8px;
|
|
|
+ background: #ee7000;
|
|
|
+ color: #fff;
|
|
|
+ font-size: 12px;
|
|
|
+ margin-left: -5px;
|
|
|
+ border-radius: 0px 5px 5px 0px;
|
|
|
+ cursor: pointer;
|
|
|
+}
|
|
|
+
|
|
|
+.textareaSty {
|
|
|
+ width: 160px;
|
|
|
+ height: 210px;
|
|
|
+ border: 1px solid #d2d2d2;
|
|
|
+ border-radius: 4px;
|
|
|
+
|
|
|
+ img {
|
|
|
+ width: 50px;
|
|
|
+ height: 50px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.image-title {
|
|
|
+ width: 100px;
|
|
|
+ height: 30px;
|
|
|
+ color: #fff;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 30px;
|
|
|
+ font-weight: bold;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ background: #fc4a1a;
|
|
|
+ background: #F2994A;
|
|
|
+ /* fallback for old browsers */
|
|
|
+ background: -webkit-linear-gradient(to left, #F2C94C, #F2994A);
|
|
|
+ /* Chrome 10-25, Safari 5.1-6 */
|
|
|
+ background: linear-gradient(to left, #F2C94C, #F2994A);
|
|
|
+ /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
|
|
|
+}
|
|
|
+
|
|
|
+/* 清除图片上传动画bug */
|
|
|
+/deep/ {
|
|
|
+ .el-upload-list__item {
|
|
|
+ transition: none !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-checkbox__input {
|
|
|
+ &.is-checked {
|
|
|
+ .el-checkbox__inner {
|
|
|
+ background-color: #ee7000;
|
|
|
+ border-color: #ee7000;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-checkbox__inner {
|
|
|
+ border: 1px solid #ff7000;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ border-color: #ee7000;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-upload .el-upload-dragger {
|
|
|
+ height: 250px;
|
|
|
+ width: 400px;
|
|
|
+ border: 2px solid #f2870c42;
|
|
|
+ padding: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-upload--picture-card {
|
|
|
+ width: 198px;
|
|
|
+ height: 128px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-upload-list__item {
|
|
|
+ width: 198px;
|
|
|
+ height: 128px;
|
|
|
+ margin: 0;
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-upload-list--picture-card .el-upload-list__item-thumbnail {
|
|
|
+ width: 198px;
|
|
|
+ height: 128px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-button--warning {
|
|
|
+ color: #fff;
|
|
|
+ background-color: #ee7000;
|
|
|
+ border-color: #ee7000;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ color: #fff;
|
|
|
+ background-color: #ee6f00ce;
|
|
|
+ border-color: #ee6f00ce;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-descriptions-item__label {
|
|
|
+ &:not(.is-bordered-label) {
|
|
|
+ color: #333;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-descriptions__body {
|
|
|
+ padding: 10px 50px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ color: rgb(226, 118, 10);
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-radio__input.is-checked+.el-radio__label {
|
|
|
+ color: #ff7000;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-radio__input.is-checked .el-radio__inner {
|
|
|
+ border-color: #ff7000;
|
|
|
+ background: #ff7000;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-radio__inner {
|
|
|
+ &:hover {
|
|
|
+ border-color: #ff7000;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-input--small .el-icon-date {
|
|
|
+ color: #ee6f00ce;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-select {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-date-editor.el-input {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-cascader--small {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .styleB .el-upload--picture-card {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+}</style>
|