|
|
@@ -1,8353 +1,10 @@
|
|
|
<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/归属信息.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: 15px" disabled label-position="top">
|
|
|
- <el-row type="flex" justify="space-between">
|
|
|
- <el-col :span="5">
|
|
|
- <el-form-item label="业务员">
|
|
|
- <el-input v-model="userform.name"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5">
|
|
|
- <el-form-item label="工号">
|
|
|
- <el-input v-model="userform.id" type="text"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5">
|
|
|
- <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 :span="5">
|
|
|
- <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/快速查询.png" alt class="icon-img" />
|
|
|
- <span style="margin-left: 10px">快速查询</span>
|
|
|
- </div>
|
|
|
- <el-button size="small" type="primary" @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: 15px" label-position="top">
|
|
|
- <el-row>
|
|
|
- <el-col :span="5">
|
|
|
- <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 :span="5" :offset="1" 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/车辆信息.png" alt class="icon-img" />
|
|
|
- <span style="margin-left:10px;">车辆信息</span>
|
|
|
- </div>
|
|
|
- <el-button size="small" type="primary" @click="uploadcardialogVisible = true">
|
|
|
- <i class="el-icon-camera-solid" style="margin-right:1px;"></i>
|
|
|
- 证件识别
|
|
|
- </el-button>
|
|
|
- </div>
|
|
|
- <el-form class="demo-ruleForm" :model="carInfo" ref="carInfo" :rules="rules" label-width="130px" size="small"
|
|
|
- label-position="top" style="margin-top: 15px">
|
|
|
- <el-row style="flex-wrap: wrap; display: flex;">
|
|
|
- <el-col :span="5">
|
|
|
- <el-form-item label="车牌" :prop="licenseplate ? 'licenseNo' : ''">
|
|
|
- <div style="display: flex;">
|
|
|
- <el-input style="width: 75%;margin-right:13px" v-model="carInfo.licenseNo" placeholder="请输入车牌号"
|
|
|
- :disabled="!licenseplate"></el-input>
|
|
|
- <el-checkbox v-model="licenseplate">已上牌</el-checkbox>
|
|
|
- </div>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <el-form-item label="车辆识别代码" prop="frameNo">
|
|
|
- <el-input placeholder="请输入车辆识别码" v-model="carInfo.frameNo" maxlength="17" type="text" show-word-limit>
|
|
|
- <el-button slot="append" type="primary" icon="el-icon-search" @click="toChooseVin(carInfo.frameNo)"
|
|
|
- style="color: #fff;background-color:#D42426;border-color:#D42426;"></el-button>
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <el-form-item label="品牌型号" prop="modelcname">
|
|
|
- <el-input v-model="carInfo.modelcname" placeholder="请输入品牌型号" type="text">
|
|
|
- <el-button slot="append" icon="el-icon-search" type="primary"
|
|
|
- @click="toChooseVehicleType(carInfo.modelcname)"
|
|
|
- style="color: #fff;background-color:#D42426;border-color:#D42426;border-top:none"></el-button>
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <el-form-item label="发动机号" prop="engineNo">
|
|
|
- <el-input v-model="carInfo.engineNo" placeholder="请输入发动机号"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <el-form-item label="整备质量" prop="completeKerbMass">
|
|
|
- <el-input v-model="carInfo.completeKerbMass" placeholder="请输入整备质量">
|
|
|
- <el-button slot="append">千克(KG)</el-button>
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <el-form-item label="核定载质量" prop="limitLoad">
|
|
|
- <el-input v-model="carInfo.limitLoad" placeholder="请输入核定载质量">
|
|
|
- <el-button slot="append">千克(KG)</el-button>
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <el-form-item label="使用性质" prop="carnature">
|
|
|
- <el-select v-model="carInfo.carnature" placeholder="请选择使用性质" @change="natureFun">
|
|
|
- <el-option :label="item.dictTag" :value="item.dictValue"
|
|
|
- v-for="(item, index) in natureOfVehicleUseoptions" :key="index"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5">
|
|
|
- <el-form-item label="车辆用途" prop="vehicleUse">
|
|
|
- <el-select v-if="carInfo.carnature == '02'" v-model="carInfo.vehicleUse" placeholder="请选择使车辆用途">
|
|
|
- <el-option :label="item.dictTag" :value="item.dictValue"
|
|
|
- v-for="(item, index) in outOfBusinessVehicleUseoptions" :key="index"></el-option>
|
|
|
- </el-select>
|
|
|
- <el-select v-if="carInfo.carnature == '01'" v-model="carInfo.vehicleUse" placeholder="请选择使车辆用途">
|
|
|
- <el-option :label="item.dictTag" :value="item.dictValue"
|
|
|
- v-for="(item, index) in businessVehicleUseoptions" :key="index"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <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 :span="5">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <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 :span="5" :offset="1" 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/车主信息.png" alt class="icon-img" />
|
|
|
- <span style="margin-left:10px;">车主信息</span>
|
|
|
- </div>
|
|
|
- <el-button size="small" type="primary" @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: 15px" label-position="top">
|
|
|
- <el-row style="flex-wrap: wrap; display: flex;">
|
|
|
- <el-col :span="5">
|
|
|
- <el-form-item label="车主姓名" prop="name">
|
|
|
- <el-input v-model="ownerInfo.name" placeholder="请输入车主姓名"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <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 :span="5">
|
|
|
- <el-form-item label="性别" prop="gender">
|
|
|
- <el-select @change="genderChange" v-model="ownerInfo.gender" placeholder="请选择性别">
|
|
|
- <el-option label="男" value="男"></el-option>
|
|
|
- <el-option label="女" value="女"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <el-form-item label="车主手机号" prop="mobile">
|
|
|
- <el-input v-model="ownerInfo.mobile" placeholder="请输入车主手机号" type="text" maxlength="11"
|
|
|
- @paste.native="handlePaste($event, 'ownerInfo')" show-word-limit></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <el-form-item label="地址" prop="addr">
|
|
|
- <el-input v-model="ownerInfo.addr" placeholder="请输入地址" type="text"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <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 :span="5">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <el-form-item label="电子邮箱" prop="email">
|
|
|
- <el-input v-model="ownerInfo.email" placeholder="请输入电子邮箱"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <!-- <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell" v-if="iscCrownerShow">
|
|
|
- <el-form-item label="省市区:">
|
|
|
- <el-cascader v-model="ownerInfo.provinceData" :options="areaOption" :props="{ value: 'code',label: 'name',children: 'sub'}"></el-cascader>
|
|
|
- </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/投保人信息.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="#D42426" @change="tbczcarShowChange()"></el-switch>
|
|
|
- </div>
|
|
|
- <el-button size="small" type="primary" @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: 15px" label-position="top">
|
|
|
- <el-row style="flex-wrap: wrap; display: flex;">
|
|
|
- <el-col :span="5">
|
|
|
- <el-form-item label="投保人姓名" prop="name">
|
|
|
- <el-input v-model="policyHolderInfo.name" placeholder="请输入投保人姓名"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <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 :span="5">
|
|
|
- <el-form-item label="性别" prop="gender">
|
|
|
- <el-select v-model="policyHolderInfo.gender" placeholder="请选择性别">
|
|
|
- <el-option label="男" value="男"></el-option>
|
|
|
- <el-option label="女" value="女"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <el-form-item label="投保人手机号" prop="mobile">
|
|
|
- <el-input v-model="policyHolderInfo.mobile" placeholder="请输入投保人手机号" maxlength="11" type="text"
|
|
|
- @paste.native="handlePaste($event, 'policyHolderInfo')" 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 :span="5" :offset="1">
|
|
|
- <el-form-item label="地址" prop="addr">
|
|
|
- <el-input v-model="policyHolderInfo.addr" placeholder="请输入地址" type="text"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <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 :span="5">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <el-form-item label="电子邮箱" prop="email">
|
|
|
- <el-input v-model="policyHolderInfo.email" placeholder="请输入电子邮箱"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <!-- <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell" v-if="isApplicantShow">
|
|
|
- <el-form-item label="省市区:">
|
|
|
- <el-cascader v-model="policyHolderInfo.provinceData" :options="areaOption" :props="{ value: 'code',label: 'name',children: 'sub'}"></el-cascader>
|
|
|
- </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/被投保人信息.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="#D42426" @change="bbtbcarShowChange()"></el-switch>
|
|
|
- </div>
|
|
|
- <div style="font-size:12px;margin:0 10px;">
|
|
|
- 同车主
|
|
|
- <el-switch v-model="bbczcarShow" active-color="#D42426" @change="bbczcarShowChange()"></el-switch>
|
|
|
- </div>
|
|
|
- <el-button size="small" type="primary" @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: 15px"
|
|
|
- label-position="top">
|
|
|
- <el-row style="flex-wrap: wrap; display: flex;">
|
|
|
- <el-col :span="5">
|
|
|
- <el-form-item label="被保人姓名" prop="name">
|
|
|
- <el-input v-model="insuredPersonInfo.name" placeholder="请输入被保人姓名"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <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 :span="5">
|
|
|
- <el-form-item label="性别" prop="gender">
|
|
|
- <el-select v-model="insuredPersonInfo.gender" placeholder="请选择性别">
|
|
|
- <el-option label="男" value="男"></el-option>
|
|
|
- <el-option label="女" value="女"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <el-form-item label="被保人手机号" prop="mobile">
|
|
|
- <el-input v-model="insuredPersonInfo.mobile" placeholder="请输入被保人手机号" maxlength="11" type="text"
|
|
|
- @paste.native="handlePaste($event, 'insuredPersonInfo')" 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 :span="5" :offset="1">
|
|
|
- <el-form-item label="地址" prop="addr">
|
|
|
- <el-input v-model="insuredPersonInfo.addr" placeholder="请输入地址" type="text"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5" :offset="1">
|
|
|
- <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 :span="5">
|
|
|
- <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 :span="5" :offset="1">
|
|
|
- <el-form-item label="电子邮箱" prop="email">
|
|
|
- <el-input v-model="insuredPersonInfo.email" placeholder="请输入电子邮箱"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <!-- <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell" v-if="isInsuredShow">
|
|
|
- <el-form-item label="省市区:">
|
|
|
- <el-cascader v-model="insuredPersonInfo.provinceData" :options="areaOption" :props="{ value: 'code',label: 'name',children: 'sub'}"></el-cascader>
|
|
|
- </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/投保信息.png" alt class="icon-img" />
|
|
|
- <span style="margin-left:10px;">投保信息</span>
|
|
|
- <el-switch style="margin:0 10px 0 30px;" @change="immediatelyChange" v-model="immediatelyValue"
|
|
|
- active-color="#D42426"></el-switch>
|
|
|
- <span style="font-weight:normal;font-size: 13px;">即时投保</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-form class="back demo-ruleForm" :inline="true" :model="Carinsurance" label-width="150px" size="small"
|
|
|
- style="margin-top: 15px" label-position="top">
|
|
|
- <div class="flex j-start a-c">
|
|
|
- <div class="flex j-c a-start">
|
|
|
- <el-checkbox class="checkbox" style="margin-right: 20px" 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 synchronous" style="margin: 0 50px;" @click="synchronization">
|
|
|
- <span style="font-size:12px;">同步</span>
|
|
|
- </div>
|
|
|
- <div class="flex j-c a-start">
|
|
|
- <el-checkbox class="checkbox" style="margin-right: 20px" 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">
|
|
|
- <div class="flex j-s a-c color" id="insurance">
|
|
|
- <img src="../../../src/icon/车船税.png" alt class="icon-img" />
|
|
|
- <span style="margin-left:10px;">车船税</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-form class="demo-ruleForm" :model="vehicleAndVesselTaxForm" ref="vehicleAndVesselTaxForm" :rules="rules"
|
|
|
- label-width="160px" size="small" style="margin-top: 15px" label-position="top">
|
|
|
- <el-row style="flex-wrap: wrap; display: flex;">
|
|
|
- <el-col :span="5">
|
|
|
- <el-form-item label="纳税类型:" prop="taxRelifFlag">
|
|
|
- <el-select @change="taxRelifFlagChange" v-model="vehicleAndVesselTaxForm.taxRelifFlag" placeholder="纳税类型">
|
|
|
- <el-option v-for="(item, index) in taxRelifFlagoptions" :key="index" :label="item.dictTag"
|
|
|
- :value="item.dictValue"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 1" :span="5" :offset="1">
|
|
|
- <el-form-item label="纳税人识别号:" prop="identifyNumber">
|
|
|
- <el-input v-model="vehicleAndVesselTaxForm.identifyNumber" placeholder="请输入纳税人识别号" type="text"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 1" :span="5" :offset="1">
|
|
|
- <el-form-item label="纳税人名称:" prop="taxpayerName">
|
|
|
- <el-input v-model="vehicleAndVesselTaxForm.taxpayerName" placeholder="请输入纳税人名称" type="text"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 1" :span="5" :offset="1">
|
|
|
- <el-form-item label="证件类型:" prop="taxpayerIdentifier">
|
|
|
- <el-select v-model="vehicleAndVesselTaxForm.taxpayerIdentifier" placeholder="证件类型" clearable>
|
|
|
- <el-option v-for="(item, index) in taxpayerIdentifieroptions" :key="index" :label="item.dictTag"
|
|
|
- :value="item.dictValue"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 2 || vehicleAndVesselTaxForm.taxRelifFlag == 3"
|
|
|
- :span="5" :offset="1">
|
|
|
- <el-form-item label="减免税凭证号:" prop="extendChar2">
|
|
|
- <el-input v-model="vehicleAndVesselTaxForm.extendChar2" placeholder="请输入减免税凭证号" type="text"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 4" :span="5" :offset="1">
|
|
|
- <el-form-item label="完税凭证号:" prop="paidFreeCertificate">
|
|
|
- <el-input v-model="vehicleAndVesselTaxForm.paidFreeCertificate" placeholder="请输入完税凭证号"
|
|
|
- type="text"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 2 || vehicleAndVesselTaxForm.taxRelifFlag == 3"
|
|
|
- :span="5" :offset="1">
|
|
|
- <el-form-item label="减免税原因:" prop="relifReason">
|
|
|
- <el-select v-model="vehicleAndVesselTaxForm.relifReason" placeholder="减免税原因" clearable>
|
|
|
- <el-option v-for="(item, index) in relifReasonoptions" :key="index" :label="item.dictTag"
|
|
|
- :value="item.dictValue"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag != 1" :span="5" :offset="1">
|
|
|
- <el-form-item label="税务机关代码:" prop="taxComCode">
|
|
|
- <el-input v-model="vehicleAndVesselTaxForm.taxComCode" placeholder="请输入税务机关代码" type="text"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag != 1" :span="5"
|
|
|
- :offset="vehicleAndVesselTaxForm.taxRelifFlag == 4 ? 1 : 0">
|
|
|
- <el-form-item label="税务机关名称:" prop="taxComName">
|
|
|
- <el-input v-model="vehicleAndVesselTaxForm.taxComName" placeholder="请输入税务机关名称" type="text"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 4" :span="5">
|
|
|
- <el-form-item label="完税凭证填发日期:" prop="taxDocumentDate">
|
|
|
- <el-date-picker v-dateFormat v-model="vehicleAndVesselTaxForm.taxDocumentDate" value-format="yyyy-MM-dd"
|
|
|
- type="date" placeholder="完税凭证填发日期" placement="bottom-start"></el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 4" :span="5" :offset="1">
|
|
|
- <el-form-item label="完税凭证地区:" prop="taxPaidAreaCode">
|
|
|
- <el-select v-model="vehicleAndVesselTaxForm.taxPaidAreaCode" placeholder="完税凭证地区" clearable>
|
|
|
- <el-option v-for="(item, index) in provinceSelect" :key="index" :label="item.name"
|
|
|
- :value="item.code"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 3" :span="5" :offset="1">
|
|
|
- <el-form-item label="减税比例:" prop="taxRelief">
|
|
|
- <el-input v-model="vehicleAndVesselTaxForm.taxRelief" placeholder="请输入0~1的数值" type="text"></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 back">
|
|
|
- <div class="flex j-s a-c " id="more">
|
|
|
- <img src="../../../src/icon/险别选择.png" alt class="icon-img" />
|
|
|
- <span style="margin-left:15px;width: 120px">险别选择</span>
|
|
|
- <el-select size='small' style="width:70%" v-model="packageValue" placeholder="请选择套餐" @change="packageChange">
|
|
|
- <el-option v-for="item in packageOptions" :key="item.id" :label="item.title" :value="item.id">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </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 v-if="insureitem.amtList" 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>
|
|
|
- <span v-else>
|
|
|
- <el-input-number size="small" style="width: 280px;margin-right:10px" v-model="insureitem.amount"
|
|
|
- :min="0"></el-input-number>次
|
|
|
- </span>
|
|
|
- </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 ">
|
|
|
- <div class="flex j-s a-c" id="company">
|
|
|
- <img src="../../../src/icon/保险公司.png" alt class="icon-img" />
|
|
|
- <span style="margin-left:10px;">保险公司</span>
|
|
|
- <div class="csstool">
|
|
|
- <span>是否过户车</span>
|
|
|
- <el-switch @change="transferFlagChange" v-model="carInfo.transferFlag" active-color="#D42426"></el-switch>
|
|
|
- </div>
|
|
|
- <div class="csstool">
|
|
|
- <span>商业险是否过户</span>
|
|
|
- <el-switch v-model="carInfo.transferFlagBi" active-color="#D42426"></el-switch>
|
|
|
- </div>
|
|
|
- <div class="csstool">
|
|
|
- <span>是否脱保</span>
|
|
|
- <el-switch v-model="carInfo.outOfInsurance" active-color="#D42426"></el-switch>
|
|
|
- </div>
|
|
|
- <div class="csstool">
|
|
|
- <span>是否二手车</span>
|
|
|
- <el-switch v-model="carInfo.usedCar" active-color="#D42426"></el-switch>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="flex j-c a-c">
|
|
|
- <el-button v-show="imageUploadShow" size="small" type="primary" @click="imageUpload()">
|
|
|
- <i class="el-icon-camera-solid" style="margin-right:4px;"></i>
|
|
|
- 影像上传
|
|
|
- </el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <div class=" companyhead">
|
|
|
- <el-row>
|
|
|
- <el-col :span="1">
|
|
|
- <el-checkbox style="margin:0 10px 0 10px" @change="handleCheckAllChange"></el-checkbox>
|
|
|
- <span style="font-size:14px;">全选</span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="2" style="margin: 0 42px 0 35px;">
|
|
|
- <span>保险公司</span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5">
|
|
|
- <span>报价协议</span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <span>报价结果</span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <span>交强险</span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <span>车船税</span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <span>商业险</span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="2">
|
|
|
- <span>驾意险</span>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <div class="coll">
|
|
|
- <div v-loading.fullscreen.lock="loading" class="hovers" v-for="(reslistitem, reslistindex) in totalCompanyList"
|
|
|
- :key="reslistindex">
|
|
|
- <el-row>
|
|
|
- <el-col :span="1" style="margin-left: 20px;">
|
|
|
- <el-checkbox v-model="reslistitem.checked"
|
|
|
- @change="event => initchange(event, reslistitem.id, reslistitem.cnName, reslistindex)"></el-checkbox>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <img :src="reslistitem.logo" alt
|
|
|
- style="width:30px; height:30px;vertical-align: middle;margin-left:20px" />
|
|
|
- <span>{{ reslistitem.namesimple }}</span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="5">
|
|
|
- <el-select size="small" v-if="reslistitem.isTaxSource && reslistitem.isTaxSource == '1'" :disabled="true"
|
|
|
- placeholder="默认" style="width: 230px;" v-model="isTaxSourceModel" :clearable="true"> </el-select>
|
|
|
- <el-select size="small" v-else :disabled="!reslistitem.checked" v-model="reslistitem.agreementId"
|
|
|
- placeholder="请选择协议" style="width: 230px;" :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 && agreementitem.licenseNo.length > 0 && carInfo.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>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <div v-show="reslistitem.quoteCode == '0'">
|
|
|
- <span>未报价</span>
|
|
|
- </div>
|
|
|
- <div v-show="reslistitem.quoteCode == '1'">
|
|
|
- <i style="color:#D42426" class="el-icon-loading"></i>
|
|
|
- </div>
|
|
|
- <span v-show="reslistitem.quoteCode == '200'" style="color:#D42426;font-weight:bold;">
|
|
|
- ¥{{
|
|
|
- reslistitem.result.sumPermium
|
|
|
- }}
|
|
|
- </span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <span v-show="reslistitem.quoteCode == '200'" style="color:#D42426;font-weight:bold;">
|
|
|
- ¥{{
|
|
|
- reslistitem.result.jqPremium }}
|
|
|
- </span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <span v-show="reslistitem.quoteCode == '200'" style="color:#D42426;font-weight:bold;">
|
|
|
- ¥{{
|
|
|
- reslistitem.result.taxAmount }}
|
|
|
- </span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <span v-show="reslistitem.quoteCode == '200'" style="color:#D42426;font-weight:bold;">
|
|
|
- ¥{{
|
|
|
- reslistitem.result.syPremium }}
|
|
|
- </span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="2" v-if="reslistitem.quoteCode == '200'" style="color:#D42426;font-weight:bold;">
|
|
|
- {{
|
|
|
- reslistitem.result.jyPremium ? '¥' + reslistitem.result.jyPremium : '无' }}
|
|
|
- </el-col>
|
|
|
- <el-col :span="24"
|
|
|
- v-show="(reslistitem.quoteCode != '200') && (reslistitem.quoteCode != '0') && (reslistitem.quoteCode != '1')">
|
|
|
- <div class="flex j-s offer-time" style="color:#D42426">
|
|
|
- {{ reslistitem.msg.length > 500 ? reslistitem.msg.slice(0, 500) : reslistitem.msg }}
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <div class="flex j-s offer-time" v-if="reslistitem.quoteCode == '200'">
|
|
|
- <div style="line-height: 25px;">
|
|
|
- 保险期限:
|
|
|
- <span v-show="reslistitem.result.startDateJq">
|
|
|
- 【交强险】
|
|
|
- <span>
|
|
|
- {{ reslistitem.result.startDateJq }} -
|
|
|
- {{ reslistitem.result.endDateJq }}
|
|
|
- </span>
|
|
|
- </span>
|
|
|
- <span v-show="reslistitem.result.startDateSy" style="margin-left: 20px;">
|
|
|
- 【商业险】
|
|
|
- <span>
|
|
|
- {{ reslistitem.result.startDateSy }} -
|
|
|
- {{ reslistitem.result.endDateSy }}
|
|
|
- </span>
|
|
|
- </span>
|
|
|
- <span @click="syncData(reslistitem.result)">
|
|
|
- <el-tooltip class="item" effect="dark" content="使用此时间" placement="top">
|
|
|
- <i style="color:red" class="el-icon-time"></i>
|
|
|
- </el-tooltip>
|
|
|
- </span>
|
|
|
-
|
|
|
- <div>
|
|
|
- <span v-if="reslistitem.namesimple == '永诚财险'">
|
|
|
- 光博分:
|
|
|
- <span>
|
|
|
- {{ reslistitem.result.ilogPreUdwMess ?
|
|
|
- reslistitem.result.ilogPreUdwMess : '无' }}
|
|
|
- </span>
|
|
|
- </span>
|
|
|
- <span v-else>
|
|
|
- 评分:
|
|
|
- <span>
|
|
|
- {{ reslistitem.result.ilogPreUdwMess ?
|
|
|
- reslistitem.result.ilogPreUdwMess : '无' }}
|
|
|
- </span>
|
|
|
- </span>
|
|
|
- <span v-if="reslistitem.result.jqScore" class="marginL">
|
|
|
- 交强类型评分:
|
|
|
- <span>{{ reslistitem.result.jqScore }}</span>
|
|
|
- </span>
|
|
|
- <span v-if="reslistitem.result.syScore" class="marginL">
|
|
|
- 商业类型评分:
|
|
|
- <span>{{ reslistitem.result.syScore }}</span>
|
|
|
- </span>
|
|
|
- <span v-if="reslistitem.result.lossRation" class="marginL">
|
|
|
- 总赔付率:
|
|
|
- <span>{{ reslistitem.result.lossRation }}</span>
|
|
|
- </span>
|
|
|
- <span v-if="reslistitem.result.jqLossRation" class="marginL">
|
|
|
- 交强赔付率:
|
|
|
- <span>{{ reslistitem.result.jqLossRation }}</span>
|
|
|
- </span>
|
|
|
- <span v-if="reslistitem.result.syLossRation" class="marginL">
|
|
|
- 商业赔付率:
|
|
|
- <span>{{ reslistitem.result.syLossRation }}</span>
|
|
|
- </span>
|
|
|
- <span v-if="reslistitem.result.totalAdjustRate" class="marginL">
|
|
|
- 自主定价系数:
|
|
|
- <span>{{ reslistitem.result.totalAdjustRate }}</span>
|
|
|
- </span>
|
|
|
- <span v-if="reslistitem.result.jgAdjustRate" class="marginL">
|
|
|
- 交强折扣系数:
|
|
|
- <span>{{ reslistitem.result.jgAdjustRate }}</span>
|
|
|
- </span>
|
|
|
- <span v-if="reslistitem.result.syAdjustRate" class="marginL">
|
|
|
- 商业折扣系数:
|
|
|
- <span>{{ reslistitem.result.syAdjustRate }}</span>
|
|
|
- </span>
|
|
|
- <span v-if="reslistitem.result.accidentInfoStr" class="marginL">
|
|
|
- 出险信息:
|
|
|
- <span>
|
|
|
- {{
|
|
|
- reslistitem.result.accidentInfoStr }}
|
|
|
- </span>
|
|
|
- </span>
|
|
|
- <span v-if="reslistitem.namesimple == '紫金财险' && reslistitem.result.ubiPredictedInfoScore"
|
|
|
- class="marginL">
|
|
|
- 紫金能源车(鼎然-车辆风险评分):<span>{{ reslistitem.result.ubiPredictedInfoScore }}</span>
|
|
|
- </span>
|
|
|
- <span v-if="reslistitem.result.iszdj && reslistitem.result.iszdj == '1'">真单交</span>
|
|
|
- <span v-if="reslistitem.result.iszdj && reslistitem.result.iszdj == '0'">假单交</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div style="text-align: right;">
|
|
|
- <div style="color:#2D4D89; ">
|
|
|
- <el-tooltip class="item" effect="dark" content="上年信息" placement="top">
|
|
|
- <i class="el-icon-chat-dot-round" @click="open2(reslistitem.namesimple, reslistitem.lastYearMsg)"
|
|
|
- style="font-size:20px;transform: scale(0.8);vertical-align: middle;"
|
|
|
- :disabled="reslistitem.namesimple == '众安财险' && reslistitem.result.tips == '需要验车'"
|
|
|
- v-show="(reslistitem.quoteCode == '200' && reslistitem.lastYearMsg)"></i>
|
|
|
- </el-tooltip>
|
|
|
- <el-tooltip class="item" effect="dark" content="预核保信息" placement="top">
|
|
|
- <i class="el-icon-chat-dot-round"
|
|
|
- @click="openPredictInfo(reslistitem.namesimple, reslistitem.predictInfo)"
|
|
|
- style="font-size:20px;transform: scale(0.8);vertical-align: middle;"
|
|
|
- v-show="(reslistitem.quoteCode == '200' && reslistitem.predictInfo && reslistitem.predictInfo.length > 0 && reslistitem.namesimple == '中国人寿')"></i>
|
|
|
- </el-tooltip>
|
|
|
- <el-button :disabled="reslistitem.namesimple == '众安财险' && reslistitem.result.tips == '需要验车'"
|
|
|
- v-show="reslistitem.quoteCode == '200' && !('editStatus' in reslistitem.result)" type="text"
|
|
|
- size="small" style="color:#2D4D89;font-size:14px" @click="hbsubmitdialog(reslistitem)">下单</el-button>
|
|
|
- <el-button v-show="reslistitem.quoteCode == '200'" type="text" size="small"
|
|
|
- style="color:#2D4D89;font-size:14px "
|
|
|
- @click="qoutedetail(reslistitem.result.companyId)">查看详情</el-button>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <el-button v-show="reslistitem.quoteCode == '200'" type="text" size="small" style="font-size:14px "
|
|
|
- @click="bjdpreview(reslistitem.result.companyId)">报价单</el-button>
|
|
|
- <el-button type="text" size="small" style="font-size:14px "
|
|
|
- @click="Payment(reslistitem.result.companyId, reslistitem.namesimple)"
|
|
|
- v-show="reslistitem.orderstatus == '2' && !('editStatus' in reslistitem.result)">付款码</el-button>
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <template>
|
|
|
- <!-- <div style="margin:20px 0 0 100px;" v-if="reslistitem.checked && reslistitem.agreementId"> -->
|
|
|
- <span v-if="reslistitem.checked && reslistitem.agreementId && reslistitem.underwritingDescription"
|
|
|
- style="margin:20px 20px 0 100px;display: inline-block"> {{ reslistitem.underwritingDescription }}</span>
|
|
|
- <!-- </div> -->
|
|
|
- </template>
|
|
|
- <template v-if="reslistitem.namesimple == '恒邦财险' && reslistitem.checked && reslistitem.agreementId">
|
|
|
- <div class="flex f-c Driving-risk">
|
|
|
- <div class="dis a-c" style="margin-top:15px">
|
|
|
- <span style="margin-right:15px;font-weight:bold">选择意外险</span>
|
|
|
- <el-select style="width: 250px;" filterable size="small" clearable v-model="insuranceHB"
|
|
|
- placeholder="未选择" @clear="clearAccidentFormHB" @change="hengbangInsuranceChange">
|
|
|
- <el-option v-for="(item, index) in hengbangInsuranceData" :key="index" :label="item.programname"
|
|
|
- :value="item.programcode"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <el-table size="small" :data="HBInsuranceData" border v-if="insuranceHB" @row-click="HBDrivingChange"
|
|
|
- ref="RsTable" highlight-current-row
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }">
|
|
|
- <el-table-column prop="programname" label="方案名称" align="center"></el-table-column>
|
|
|
- <el-table-column prop="suminsured" label="保额" align="center"></el-table-column>
|
|
|
- <el-table-column prop="sumgrosspremium" label="保费 (元)/每份" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>¥{{ scope.row.sumgrosspremium }}</span>
|
|
|
- </template></el-table-column>
|
|
|
- <el-table-column label="份数" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.quantity }}</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">
|
|
|
- <el-form :inline="true" :model="accidentFormHN" class="demo-form-inline"
|
|
|
- style="font-weight:bold;margin-top:15px" size="small">
|
|
|
- <el-form-item label="意外险类型:" style="margin-right:30px;">
|
|
|
- <el-select clearable v-model="accidentFormHN.accidentType" placeholder="未选择"
|
|
|
- @clear="clearAccidentFormHN" @change="huanongInsuranceChange">
|
|
|
- <el-option v-for="(item, index) in huanongInsuranceData" :key="index" :label="item.planName"
|
|
|
- :value="item.planCode"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="选择份数" style="margin-right:30px;">
|
|
|
- <el-input-number v-model="accidentFormHN.allQuantity" :min="1"
|
|
|
- controls-position="right"></el-input-number>
|
|
|
- <!-- <span style="margin-left: 5px;">份</span> -->
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <el-table v-if="accidentFormHN.accidentType" size="small" :data="HNInsuranceData" border ref="expandTable"
|
|
|
- highlight-current-row
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }">
|
|
|
- <el-table-column prop="dutyName" label="保险责任" align="center"></el-table-column>
|
|
|
- <el-table-column prop="unitAmount" label="保额" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-model="scope.row.unitAmount" placeholder="请输入内容" size="small" disabled></el-input>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template v-if="reslistitem.namesimple == '太平财险' && reslistitem.checked && reslistitem.agreementId">
|
|
|
- <div class="flex f-c Driving-risk">
|
|
|
- <div class="dis a-c" style="margin-top:15px">
|
|
|
- <span style="margin-right:15px;font-weight:bold">选择意外险</span>
|
|
|
- <el-select style="width: 250px;" filterable size="small" clearable v-model="insuranceTP"
|
|
|
- placeholder="未选择" @clear="clearAccidentFormTP" @change="taipingInsuranceChange">
|
|
|
- <el-option v-for="(item, index) in taipingInsuranceData" :key="index" :label="item.rationName"
|
|
|
- :value="item.rationType"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <el-table size="small" :data="TPInsuranceData" border v-if="insuranceTP" ref="RsTable"
|
|
|
- highlight-current-row
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }">
|
|
|
- <el-table-column prop="rationName" label="投保产品" align="center"></el-table-column>
|
|
|
- <el-table-column label="投保份数" align="center" prop="quantity">
|
|
|
- <template>
|
|
|
- <span>1</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="price" label="每份价税合计" align="center"></el-table-column>
|
|
|
- <el-table-column prop="endSeatNum" label="最大座位数" align="center"></el-table-column>
|
|
|
-
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template v-if="reslistitem.namesimple == '安盛天平' && reslistitem.checked && reslistitem.agreementId">
|
|
|
- <div class="flex f-c Driving-risk">
|
|
|
- <div class="dis a-c" style="margin-top:15px">
|
|
|
- <span style="margin-right:15px;font-weight:bold;">意外险类型</span>
|
|
|
- <el-select style="width: 250px;" size="small" clearable v-model="anshengInsurancetype" placeholder="未选择"
|
|
|
- @clear="clearAccidentFormAS" @change="anshengInsuranceChange">
|
|
|
- <el-option v-for="(item, index) in anshengInsuranceData" :key="index"
|
|
|
- :label="item.planCode + ' ' + item.planChineseName" :value="item.planCode"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <el-table size="small" :data="anshengInsuranceData1" border v-if="anshengInsurancetype" ref="RsTable"
|
|
|
- highlight-current-row
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }">
|
|
|
- <el-table-column align="center" width="55" label="选择">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-radio class="radio" v-model="AStemplateSelection" :label="scope.row.productCode"
|
|
|
- @click.native.stop.prevent="ASDrivingRadio(scope.row)"> </el-radio>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="productName" label="方案名称" align="center"></el-table-column>
|
|
|
- <el-table-column prop="productCode" label="方案代码" align="center"></el-table-column>
|
|
|
- <el-table-column label="份数" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.quantity }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template v-if="reslistitem.namesimple == '中国人寿' && reslistitem.checked && reslistitem.agreementId">
|
|
|
- <div style="margin:15px 0 15px 100px">
|
|
|
- <span>商业险折扣:</span>
|
|
|
- <el-input style="width:220px" :disabled="!lastCompanyId" size="small" v-model="reslistitem.discount"
|
|
|
- placeholder="请输入内容"
|
|
|
- @input="reslistitem.discount = reslistitem.discount.replace(/[^\d.]/g, '')"></el-input>
|
|
|
- </div>
|
|
|
- <div class="flex f-c Driving-risk">
|
|
|
- <div class="dis a-c">
|
|
|
- <span style="margin-right:15px;font-weight:bold">选择意外险</span>
|
|
|
- <el-select style="width: 250px;" filterable size="small" clearable v-model="insuranceRS"
|
|
|
- placeholder="未选择" @clear="clearAccidentFormRS" @change="renshouInsuranceChange">
|
|
|
- <el-option v-for="(item, index) in renshouInsuranceData" :key="index" :label="item.productName"
|
|
|
- :value="item.id"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <el-table size="small" :data="RSInsuranceData" border v-if="insuranceRS" @row-click="RSDrivingChange"
|
|
|
- ref="RsTable" highlight-current-row
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }">
|
|
|
- <el-table-column prop="productName" label="方案名称" align="center"></el-table-column>
|
|
|
- <el-table-column prop="totalPremium" label="保费 (元)起" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>¥{{ scope.row.totalPremium }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="份数" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.quantity }}</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">
|
|
|
- <div class="dis a-c" style="margin-top:15px">
|
|
|
- <span style="margin-right:15px;font-weight:bold">选择意外险</span>
|
|
|
- <el-select style="width: 250px;" filterable size="small" clearable v-model="insuranceZA"
|
|
|
- placeholder="未选择" @clear="clearAccidentFormZA" @change="zhonganInsuranceChange">
|
|
|
- <el-option v-for="(item, index) in zhonganInsuranceData" :key="index" :label="item.name"
|
|
|
- :value="item.combination"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <el-table size="small" :data="ZRInsuranceData" border v-if="insuranceZA" @row-click="ZADrivingChange"
|
|
|
- ref="RsTable" highlight-current-row
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }">
|
|
|
- <el-table-column prop="name" label="方案名称" align="center"></el-table-column>
|
|
|
- <el-table-column label="份数" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.quantity }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template v-if="reslistitem.namesimple == '紫金财险' && reslistitem.checked && reslistitem.agreementId">
|
|
|
- <div style="margin:15px 0 15px 100px">
|
|
|
- <span>自主定价系数:</span>
|
|
|
- <el-input style="width:220px" size="small" v-model="reslistitem.coefficient"
|
|
|
- placeholder="请输入内容"></el-input>
|
|
|
- </div>
|
|
|
- <div class="flex f-c Driving-risk">
|
|
|
- <div class="dis a-c" style="margin-bottom:15px">
|
|
|
- <span style="margin-right:15px;font-weight:bold">选择意外险</span>
|
|
|
- <el-select style="width: 250px;" filterable multiple size="small" clearable v-model="insuranceZJ"
|
|
|
- placeholder="未选择" @clear="clearAccidentFormZJ" @change="zijinInsuranceChange">
|
|
|
- <el-option v-for="(item, index) in ziJinInsuranceData" :key="index" :label="item.projectName"
|
|
|
- :value="item.projectCode"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <el-table size="small" :data="ZJInsuranceData" border v-if="insuranceZJ" @select="CheckboxChange"
|
|
|
- filterable ref="expandTable" highlight-current-row
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }">
|
|
|
- <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">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>¥{{ scope.row.sumPremium }}</span>
|
|
|
- </template></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">
|
|
|
- <el-form :inline="true" :model="accidentForm" class="demo-form-inline" size="small"
|
|
|
- style="font-weight:bold;margin-top:15px">
|
|
|
- <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.code"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="选择份数" style="margin-right:50px;">
|
|
|
- <el-input-number v-model="accidentForm.fen" @change="numberCopieschange" :min="1"
|
|
|
- controls-position="right"></el-input-number>
|
|
|
- <!-- <span style="margin-left: 5px;">份</span> -->
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="保费:">
|
|
|
- <span>{{ accidentForm.premium }} 元</span>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <el-table v-if="accidentForm.accidentType" size="small" :data="accidenttableData" border ref="expandTable"
|
|
|
- highlight-current-row
|
|
|
- :header-cell-style="{ background: '#F7F7F9', fontWeight: '700', color: '#333333' }">
|
|
|
- <el-table-column prop="name" label="保险责任" align="center"></el-table-column>
|
|
|
- <el-table-column prop="seatSum" label="每座保额 (元)/每份" align="center"></el-table-column>
|
|
|
- <el-table-column prop="carSum" label="每车保额 (元)/每份" align="center"></el-table-column>
|
|
|
- <el-table-column prop="premium" label="责任保费 (元)/每份" align="center"></el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template v-if="reslistitem.namesimple == '国任财险' && reslistitem.checked && reslistitem.agreementId">
|
|
|
- <!-- <div style="margin:10px 0 0 100px;">
|
|
|
- <span style="margin-right:20px"> {{reslistitem.underwritingDescription}}</span> -->
|
|
|
- <el-button type="text" @click="contributingGuoRen(reslistitem.agreementId)">选择特约</el-button>
|
|
|
- <!-- </div> -->
|
|
|
- <div class="flex f-c Driving-risk">
|
|
|
- <el-form :inline="true" :model="guoRenaccidentForm" class="demo-form-inline" size="small">
|
|
|
- <el-form-item label="意外险类型" style="margin-right:30px;">
|
|
|
- <el-select clearable placeholder="未选择" @clear="clearAccidentFormGr" @change="grcxchange"
|
|
|
- v-model="guoRenaccidentForm.goodsCode">
|
|
|
- <el-option v-for="(item, index) in guoRenaccidentDataList" :key="index" :label="item.goodDesc"
|
|
|
- :value="item.goodId"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label=" ">
|
|
|
- <el-select clearable v-model="guoRenaccidentForm.prodCode" v-loading="accidentLoading"
|
|
|
- @change="grcxchangeChild">
|
|
|
- <el-option v-for="(item, index) in guoRenaccidentDataListChild" :key="item.prodCode"
|
|
|
- :label="item.prodCName" :value="item.prodCode"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="选择份数" style="margin-right:30px;">
|
|
|
- <el-input-number v-model="guoRenaccidentForm.quantity" :min="1" controls-position="right"
|
|
|
- @change="numberCopieschangeGR"></el-input-number>
|
|
|
- <!-- <span style="margin-left: 5px;">份</span> -->
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="保费:">
|
|
|
- <span>{{ guoRenaccidentForm.premium }} 元</span>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <el-table v-if="guoRenaccidentForm.prodCode" size="small" :data="guoRenaccidenttableData" border
|
|
|
- ref="expandTable" highlight-current-row
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }">
|
|
|
- <el-table-column prop="liabName" label="保险责任" align="center"></el-table-column>
|
|
|
- <el-table-column prop="liabAmount" label="保额 (元)" align="center"></el-table-column>
|
|
|
- <el-table-column prop="liabPremium" label="保费 (元)" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- ¥{{ scope.row.liabPremium }}
|
|
|
- </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 zmDriving">
|
|
|
- <el-form :inline="true" :model="accidentFormZM" class="demo-form-inline" size="small"
|
|
|
- style="font-weight:bold;margin-top:15px">
|
|
|
- <el-form-item label="意外险类型" style="margin-right:30px;">
|
|
|
- <el-select style="width: 250px;" size="small" clearable v-model="zhongmeiInsurancetype"
|
|
|
- placeholder="未选择" @clear="numberCopieschangeZM" @change="zhongmeiInsuranceChange">
|
|
|
- <el-option v-for="(item, index) in zhongmeiInsuranceData" :key="index" :label="item.rideRiskName"
|
|
|
- :value="item.rideRiskCode"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="选择份数" style="margin-right:30px;">
|
|
|
- <el-input-number v-model="accidentFormZM.quantity" @change="numberCopieschangeZM" :min="1"
|
|
|
- controls-position="right" :max="accidentFormZM.maxQuantity"></el-input-number>
|
|
|
- <!-- <span style="margin-left: 5px;">份</span> -->
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="保费:">
|
|
|
- <span>{{ accidentFormZM.unitPremium }} 元</span>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <el-table size="small" :data="zhongmeiInsuranceDataDetail" border ref="ZmMultipleTable"
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }">
|
|
|
- <el-table-column prop="insurName" label="保险责任名称" align="center"></el-table-column>
|
|
|
- <el-table-column prop="amountName" label="保险责任对应保额" align="center"></el-table-column>
|
|
|
- <!-- <el-table-column label="份数" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <div @click.stop>
|
|
|
- <el-input-number
|
|
|
- v-model="scope.row.quantity"
|
|
|
- @change="ZMhandleChange"
|
|
|
- :min="1"
|
|
|
- :max="Number(scope.row.insuredNumLimit)"
|
|
|
- controls-position="right"
|
|
|
- ></el-input-number>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column> -->
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template v-if="reslistitem.namesimple == '大家财险' && reslistitem.checked && reslistitem.agreementId">
|
|
|
- <div class="flex f-c Driving-risk">
|
|
|
- <div class="dis a-c" style="margin-top:15px">
|
|
|
- <span style="margin-right:15px;font-weight:bold">选择意外险</span>
|
|
|
- <el-select style="width: 250px;" filterable size="small" clearable v-model="insuranceDJ"
|
|
|
- placeholder="未选择" @clear="clearAccidentFormDJ" @change="dajiaInsuranceChange">
|
|
|
- <el-option v-for="(item, index) in dajiaInsuranceData" :key="index" :label="item.productName"
|
|
|
- :value="item.id"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <el-table size="small" :data="DJInsuranceData" border v-if="insuranceDJ" @row-click="DJDrivingChange"
|
|
|
- ref="RsTable" highlight-current-row
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }">
|
|
|
- <el-table-column prop="cvrgName" label="保险责任名称" align="center"></el-table-column>
|
|
|
- <el-table-column prop="cvrgPrm" label="保费 (元)/每份" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- ¥{{ scope.row.cvrgPrm }}
|
|
|
- </template></el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template v-if="reslistitem.namesimple == '渤海财险' && reslistitem.checked && reslistitem.agreementId">
|
|
|
- <div class="flex f-c Driving-risk" style="margin-top:15px">
|
|
|
- <el-form :inline="true" :model="boHaiaccidentForm" class="demo-form-inline" size="small">
|
|
|
- <el-form-item label="意外险类型" style="margin-right:30px;">
|
|
|
- <el-select clearable placeholder="未选择" @clear="clearAccidentFormBh" @change="bhcxchange"
|
|
|
- v-model="boHaiaccidentForm.packageCode">
|
|
|
- <el-option v-for="(item, index) in boHaiaccidentDataList" :key="index" :label="item.packageName"
|
|
|
- :value="item.packageCode"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="选择份数" style="margin-right:30px;">
|
|
|
- <el-input-number v-model="boHaiaccidentForm.copies" :min="1"
|
|
|
- controls-position="right"></el-input-number>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="保费:">
|
|
|
- <span>{{ boHaiaccidentForm.premium * boHaiaccidentForm.copies }} 元</span>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <el-table v-if="boHaiaccidentForm.packageCode" size="small" :data="boHaiaccidenttableData" border
|
|
|
- v-loading="accidentLoadingbh" ref="expandTable" highlight-current-row
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }">
|
|
|
- <el-table-column prop="coverageName" label="保险责任名称" align="center"></el-table-column>
|
|
|
- <el-table-column prop="insuredAmount" label="保额 (元)" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- ¥{{ scope.row.insuredAmount }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </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/报价历史.png" alt class="icon-img" />
|
|
|
- <span style="margin-left:10px;">报价历史</span>
|
|
|
- <div v-if="orderno">
|
|
|
- <el-radio-group v-model="historyRadio" style="margin-left:30px;" @input="RadioHistoryChange"
|
|
|
- v-for="item in insOrderStatusoptions" :key="item.dictValue">
|
|
|
- <el-radio :label="item.dictValue">{{ item.dictTag }}</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- </div>
|
|
|
-
|
|
|
- </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: '#F7F7F9 ', fontWeight: '700', color: '#333333' }" highlight-current-row>
|
|
|
- <el-table-column prop="inscompany" label="保险公司" align="center"></el-table-column>
|
|
|
- <el-table-column prop="username" label="业务员" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.userName }}({{ scope.row.userId }})</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="licenseno" 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 style="color:#33A08D;border-color:#33A08D;background: rgba(51,160,141,0.1);"
|
|
|
- v-if="scope.row.orderstatus == '0' || scope.row.orderstatus == '1'" size="small">{{ scope.row.orderstatus |
|
|
|
- cap }}</el-tag>
|
|
|
- <el-tag type="danger" style="border-color:#E75B5D ;" v-else-if="scope.row.orderstatus == '3'"
|
|
|
- size="small">{{ scope.row.orderstatus | cap }}</el-tag>
|
|
|
- <el-tag v-else style="color:#2D4D89 ;border-color:#2D4D89 ;background: rgba(45, 77, 137,0.1);"
|
|
|
- size="small">{{ scope.row.orderstatus | cap }}</el-tag>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" align="center" min-width="180" fixed="right">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button type="text" style="color:#2D4D89 " size="small"
|
|
|
- @click="qoutedetail(scope.row.id)">查看详情</el-button>
|
|
|
- <el-button size="small" type="text" @click="bjdpreview(scope.row.id)">报价单</el-button>
|
|
|
- <el-button size="small" v-show="scope.row.orderstatus == '2'" type="text"
|
|
|
- @click="Payment(scope.row.id, scope.row)">付款码</el-button>
|
|
|
- <el-button size="mini" type="text"
|
|
|
- v-if="(scope.row.orderstatus == '1' || scope.row.orderstatus == '2' || scope.row.orderstatus == '4') && ['紫金财险'].includes(scope.row.inscompany)"
|
|
|
- @click="cancelorder(scope.row)">撤单</el-button>
|
|
|
- <el-button type="text" size="mini" style="color:#2D4D89 " v-if="scope.row.orderstatus == '2'"
|
|
|
- @click="revokeCode(scope.row.id)">撤销二维码</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- 查看详情 -->
|
|
|
- <detailsDialog ref="detailsDialog" :orderInfo="queryOrders"></detailsDialog>
|
|
|
- <el-dialog title="车型选择" :visible.sync="chexingdialogVisible" width="1300px">
|
|
|
- <el-form :inline="true" class="demo-form-inline" size="small">
|
|
|
- <el-form-item label="厂牌型号">
|
|
|
- <el-input v-model="carInfo.modelcname" placeholder="厂牌型号" style="width:500px;"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button type="primary" size="small" @click="toChooseVehicleType(carInfo.modelcname)">查询</el-button>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <el-table size="small" :data="reslist" height="690" border style="width: 100%" v-loading="loading"
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }" 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 title="车辆识别代码" :visible.sync="sbdmdialogVisible" width="1300px">
|
|
|
- <el-form :inline="true" class="demo-form-inline" size="small">
|
|
|
- <el-form-item label="车辆识别代码">
|
|
|
- <el-input v-model="carInfo.frameNo" placeholder="车辆识别代码" style="width:500px;"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button type="primary" size="small" @click="toChooseVin(carInfo.frameNo)">查询</el-button>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <el-table size="small" :data="reslist" height="690" border style="width: 100%" v-loading="loading"
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }" 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="codedialogVisible" width="430px" top="10vh" class="saomazhifucodeClass">
|
|
|
- <div class="ORcodebody">
|
|
|
- <div slot="title" class="dialog-title">
|
|
|
- <span>扫码付款</span>
|
|
|
- </div>
|
|
|
- <div class="ORcode">
|
|
|
- <div style="padding:13px;position: relative;">
|
|
|
- <img v-if="['太平财险'].includes(inscompany)" :src="paycodeimg" alt="" style="width:100%">
|
|
|
- <div v-else id="qrcode" ref="qrcode"></div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <img style="margin-left: -16px" src="../../assets/image/divider.png" alt="">
|
|
|
- <div style="font-size:32px;text-align: center;color:#D42426;margin-top:20px"><span
|
|
|
- style="font-size:24px;font-weight:bold">¥</span>{{ sumpremium }}</div>
|
|
|
- <div class="ORtitle">
|
|
|
- <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 v-if="jypremium">
|
|
|
- <span>非车险:</span>
|
|
|
- <span>{{ jypremium }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- <div class="display">
|
|
|
- <el-button size="small" style="width:100px;" @click="codedialogVisible = false">关闭</el-button>
|
|
|
- </div> -->
|
|
|
- </div>
|
|
|
- <span slot="footer" class="dialog-footer display">
|
|
|
- <el-button size="small" style="width:100px;border-color:#D42426;color:#D42426 "
|
|
|
- @click="codedialogVisible = false">关闭</el-button>
|
|
|
-
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
- <!--第二种 二维码 -->
|
|
|
- <el-dialog :visible.sync="codedialogVisiblePro" width="660px" class="proSaomazhifucodeClass" top="10vh" title="扫码付款">
|
|
|
- <div class="flex j-s">
|
|
|
- <div class="scan-code">
|
|
|
- <div style="font-weight: bold;">总金额:<span style="color:#2D4D89 ">{{ sumpremium }}</span></div>
|
|
|
- <div>交强险:{{ jqpremium }}</div>
|
|
|
- <div>车船税:{{ taxamount }}</div>
|
|
|
- <div>商业险:{{ sypremium }}</div>
|
|
|
- <div>非车险:{{ jypremium }}</div>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <img v-if="['太平财险'].includes(inscompany)" :src="paycodeimg" alt="" style="width:100%">
|
|
|
- <div v-else id="qrcode" ref="qrcode"></div>
|
|
|
- </div>
|
|
|
- <div class="scan-code">
|
|
|
- <div>保险公司:{{ inscompany }}</div>
|
|
|
- <div>车牌号:{{ licenseNo }}</div>
|
|
|
- <div>投保人:{{ applyName }}</div>
|
|
|
- <div>交强险起保日期:{{ jqstartdate }}</div>
|
|
|
- <div>商业险起保日期:{{ systartdate }}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
- <el-button size="small" style="width:100px;background: #EAEDF1;border-color:#EAEDF1;color:#2D4D89 "
|
|
|
- @click="codedialogVisiblePro = false">关闭</el-button>
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
- <el-dialog :visible.sync="uploadcardialogVisible" width="960px" style="padding:10px 20px;box-sizing: border-box;"
|
|
|
- @open="closeDialog(0)">
|
|
|
- <div slot="title" class="dialog-title">
|
|
|
- <span>行驶证识别</span>
|
|
|
- </div>
|
|
|
- <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.carOwner" autocomplete="off"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <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.limitLoad" 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.registerDate" 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>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-row>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="CarOCRdiscern()" size="small">识 别</el-button>
|
|
|
- <el-button type="primary" @click="CarOCRconfirm()" size="small">确 认</el-button>
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
- <el-dialog :visible.sync="uploaduserdialogVisible" width="960px" style="padding:10px 20px;box-sizing: border-box;"
|
|
|
- @open="closeDialog(userIndex)">
|
|
|
- <el-tabs v-model="activeName">
|
|
|
- <el-tab-pane label="身份证识别" name="1">
|
|
|
- <el-row :gutter="20">
|
|
|
- <div class="bodys1">
|
|
|
- <div>
|
|
|
- <div class="flex ">
|
|
|
- <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">
|
|
|
- <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.gender" 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>
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane label="营业执照" name="2">
|
|
|
- <el-row :gutter="20">
|
|
|
- <div class="bodys1">
|
|
|
- <div>
|
|
|
- <div class="flex ">
|
|
|
- <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="businessImg" :src="businessImg" style="width:100%;height:100%" />
|
|
|
- <img v-show="!businessImg" src="../../../static/userfront.png" style="width:100%;height:100%" />
|
|
|
- <span class="slot" v-show="businessImg" @click.stop>
|
|
|
- <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(businessImg)"></i>
|
|
|
- <i class="el-icon-delete" @click.stop="handleRemove('businessImg')"></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 autocomplete="off"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="法人">
|
|
|
- <el-input autocomplete="off"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="社会信用代码">
|
|
|
- <el-input autocomplete="off"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="地址">
|
|
|
- <el-input autocomplete="off"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="经营范围">
|
|
|
- <el-input autocomplete="off"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="注册资本">
|
|
|
- <el-input autocomplete="off"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-row>
|
|
|
- </el-tab-pane>
|
|
|
- </el-tabs>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="userOCRdiscern()" size="small">识 别</el-button>
|
|
|
- <el-button type="primary" @click="userOCRconfirm()" size="small">确 认</el-button>
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
- <el-dialog :visible.sync="imageUploaddialogVisible" width="1070px">
|
|
|
- <div slot="title" class=" dialog-title">
|
|
|
- <span>影像上传</span>
|
|
|
- </div>
|
|
|
- <el-row>
|
|
|
- <el-col :span="3">
|
|
|
- <div class="tab-style">
|
|
|
- <li class="liMenu" :class="idx == tabLiIndex ? 'tabLi-style' : ''" @click="tabLiScroll(item.scroll, idx)"
|
|
|
- v-for="(item, idx) in tabLimenu" :key="idx">{{ item.name }}
|
|
|
- </li>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- <el-col :span="21" style="height:320px;overflow-y: auto;">
|
|
|
-
|
|
|
- <div class="flex" id="vehicle">
|
|
|
- <div class="aaa">
|
|
|
- <span>1.行驶证主页</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag
|
|
|
- :on-change="file => drivingupload(file, 'imageList1', 'imgList1', 'C01')" :file-list="imgList1"
|
|
|
- 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}" v-if="imgList1.length > 0">
|
|
|
- <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="aaa">
|
|
|
- <span>2.行驶证副页</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag
|
|
|
- :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 class="aaa">
|
|
|
- <span>1.新车合格证</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag
|
|
|
- :on-change="file => drivingupload(file, 'imageList5', 'imgList9', 'XC00')" :file-list="imgList9" multiple
|
|
|
- ref="upload3" :class="{ styleB: imgList9.length === 1 }">
|
|
|
- <img v-show="imgList9.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, 'imageList5', 'imgList9')">
|
|
|
- <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="aaa">
|
|
|
- <span>2.购车发票</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag
|
|
|
- :on-change="file => drivingupload(file, 'imageList5', 'imgList10', 'GC00')" :file-list="imgList10"
|
|
|
- multiple ref="upload4" :class="{ styleB: imgList10.length === 1 }">
|
|
|
- <img v-show="imgList10.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, 'imageList5', 'imgList10')">
|
|
|
- <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 class="flex" id="owner">
|
|
|
- <div class="aaa">
|
|
|
- <span>1.车主身份证(正面)</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag
|
|
|
- :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="aaa">
|
|
|
- <span>2.车主身份证(反面)</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag
|
|
|
- :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 class="aaa">
|
|
|
- <span>3.营业执照</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag multiple ref="upload4">
|
|
|
- <img 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', '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 class="flex" id="applicant">
|
|
|
- <div class="aaa">
|
|
|
- <span>1.投保人身份证(正面)</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag
|
|
|
- :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="aaa">
|
|
|
- <span>2.投保人身份证(反面)</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag
|
|
|
- :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 class="aaa">
|
|
|
- <span>3.营业执照</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag multiple ref="upload4">
|
|
|
- <img 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', '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 class="flex">
|
|
|
- <div class="aaa">
|
|
|
- <span id="insured">1.被保人身份证(正面)</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag
|
|
|
- :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="aaa">
|
|
|
- <span>2.被保人身份证(反面)</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag
|
|
|
- :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 class="aaa">
|
|
|
- <span>3.营业执照</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag multiple ref="upload4">
|
|
|
- <img 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', '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 class="flex" id="relationship">
|
|
|
- <div class="aaa">
|
|
|
- <span>1.关系证明</span>
|
|
|
- <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag
|
|
|
- :on-change="file => drivingupload(file, 'imageList5', 'imgList11', 'GX00')" :file-list="imgList11"
|
|
|
- multiple ref="upload3" :class="{ styleB: imgList11.length === 1 }">
|
|
|
- <img v-show="imgList11.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, 'imageList5', 'imgList11')">
|
|
|
- <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>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
- <el-button size="small" @click="imageUploaddialogVisible = false">取 消</el-button>
|
|
|
- <el-button size="small" type="primary" @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="primary" :loading="calculateLoading" size="small" @click="quote()">保费计算</el-button>
|
|
|
- </div>
|
|
|
- <div class="Anchor-link flex f-c j-s a-c">
|
|
|
- <div>
|
|
|
- <img src="../../../src/icon/车辆信息.png" alt class="icon-img" @click="handleScroll('Car')" />
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <img src="../../../src/icon/投保信息.png" alt class="icon-img" @click="handleScroll('insurance')" />
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <img src="../../../src/icon/险别选择.png" alt class="icon-img" @click="handleScroll('more')" />
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <img src="../../../src/icon/保险公司.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: #D42426;font-weight:700;padding: 10px 30px;" v-if="orderstatus == '2'">
|
|
|
- 订单状态:已核保待缴费</div>
|
|
|
- </div>
|
|
|
- <span slot="footer" class="dialog-footer" v-if="orderstatus == '2'">
|
|
|
- <el-button style="width: 100px;" type="primary" size="small"
|
|
|
- @click="Payment(companyId, queryOrders.inscompany)">缴费二维码</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="contributingState ? '选择特约' : '提交核保'" :visible.sync="hbsubmitdialogVisible" width="1200px">
|
|
|
- <div style="margin-bottom: 20px;font-weight: bold;">特约选择</div>
|
|
|
- <el-table size="small" :data="zijinengageListData" border v-loading="contributingLoading"
|
|
|
- @select="zijinengageChange" @select-all="zijinengageChangeAll" ref="expandTablePro" highlight-current-row
|
|
|
- @cell-dblclick="zijincellDblclick" :cell-class-name="tableCellClassName"
|
|
|
- :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '700', color: '#333333' }">
|
|
|
- <el-table-column type="selection" width="55"></el-table-column>
|
|
|
- <el-table-column prop="clauseCode" :width="80" label="特约代码" align="center"></el-table-column>
|
|
|
- <el-table-column v-if="contributingState" :width="100" prop="riskName" label="特约险种"
|
|
|
- align="center"></el-table-column>
|
|
|
- <el-table-column prop="clauseName" label="特约名称" align="center"></el-table-column>
|
|
|
- <el-table-column prop="clauseContent" label="特约内容">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input @blur="hideInput" size="small" type="textarea" :ref="scope.row.index + ',' + scope.column.index"
|
|
|
- v-model="scope.row.clauseContent"
|
|
|
- v-if="scope.row.index + ',' + scope.column.index == currentCell && scope.row.modifyFlag == '1'"></el-input>
|
|
|
- <span v-else>{{ scope.row.clauseContent }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
- <el-button size="small" @click="hbsubmitdialogVisible = false">取 消</el-button>
|
|
|
- <el-button v-if="contributingState" size="small" type="primary"
|
|
|
- @click="hbsubmitdialogVisible = false">确定</el-button>
|
|
|
- <el-button v-else size="small" type="primary" @click="hbsubmit">提交核保</el-button>
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
- <!-- 报价单 -->
|
|
|
- <quotationDialog ref="quotationDialog" :queryOrders="queryOrders"></quotationDialog>
|
|
|
- <quotationDialogPro ref="quotationDialogPro" :queryOrders="queryOrders"></quotationDialogPro>
|
|
|
- <el-image-viewer v-if="showViewer" :on-close="closeViewer" :z-index="9999" :url-list="[ProViewImg]" />
|
|
|
- <el-dialog :visible.sync="redictInfodialogVisible" width="70%">
|
|
|
- <el-table :data="redictInfoMsg" style="width: 100%">
|
|
|
- <el-table-column prop="description" label="审核意见">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="opinion" label="备注">
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-dialog>
|
|
|
- </div>
|
|
|
+ <Ktletter ref="Ktletter" :isLetter="true"></Ktletter>
|
|
|
</template>
|
|
|
<script>
|
|
|
-let _self;
|
|
|
-import QRCode from "qrcodejs2";
|
|
|
-import Cookies from "js-cookie";
|
|
|
-import CommonUtil from "@/utils/comutil.js";
|
|
|
-import { getAgeByIdCard, searchkey, addressCode, getGenderByIdCard } from "@/utils/validate.js";
|
|
|
-import citydata from "@/assets/js/citydata.js";
|
|
|
-// import yongchengData from '../../assets/js/yongchengData';
|
|
|
-import { regionData, codeToText } from "element-china-area-data";
|
|
|
-import {
|
|
|
- base64ToPath
|
|
|
-} from '@/common/image-tools-base64.js';
|
|
|
-import quotationDialog from '@/views/Core/components/quotationDialog.vue'
|
|
|
-import quotationDialogPro from '@/views/Core/components/quotationDialogPro.vue'
|
|
|
-import detailsDialog from '@/views/Core/components/detailsDialog.vue'
|
|
|
-
|
|
|
+import Ktletter from "../Task/daikeComponents/KtLetter.vue";
|
|
|
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();
|
|
|
- }
|
|
|
- };
|
|
|
- var carPhoneValid = (rule, value, callback) => {
|
|
|
- const plateNumber = /^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1})$/
|
|
|
- if (!value) {
|
|
|
- callback(new Error("请输入车牌号"));
|
|
|
- }
|
|
|
- else if (plateNumber.test(value)) {
|
|
|
- callback()
|
|
|
- } else {
|
|
|
- callback(new Error('请输入正确的车牌号'))
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- return {
|
|
|
- redictInfoMsg: [],
|
|
|
- redictInfodialogVisible: false,
|
|
|
- qrcodeWidth: '180',
|
|
|
- qrcodeHeight: '180',
|
|
|
- activeName: '1',
|
|
|
- isTaxSourceModel: '',
|
|
|
- tabLiIndex: 0,
|
|
|
- tabLimenu: [
|
|
|
- {
|
|
|
- name: '车辆信息',
|
|
|
- scroll: 'vehicle'
|
|
|
- }, {
|
|
|
- name: '车主信息',
|
|
|
- scroll: 'owner'
|
|
|
- }, {
|
|
|
- name: '投保人信息',
|
|
|
- scroll: 'applicant'
|
|
|
- }, {
|
|
|
- name: '被保人信息',
|
|
|
- scroll: 'insured'
|
|
|
- }, {
|
|
|
- name: '关系证明',
|
|
|
- scroll: 'relationship'
|
|
|
- },
|
|
|
- ],
|
|
|
- packageValue: '',
|
|
|
- packageOptions: [],
|
|
|
- zhongmeiInsurancetype: "",//中煤驾意险产品选中值
|
|
|
- zhongmeiInsuranceData: [],//中煤驾意险产品列表数据
|
|
|
- zhongmeiInsuranceDataDetail: [],//中煤驾意险产品明细方案数据
|
|
|
- zhongmeiaccidentalDrivingVo: {},//中煤驾意险最终选中字段
|
|
|
- currentCell: null,
|
|
|
- feeDetailInfo: [],//费用明细信息
|
|
|
- immediatelyValue: false,
|
|
|
- isRetractZJ: false,
|
|
|
- isRetractHB: false,
|
|
|
- isRetractZM: false,
|
|
|
- isRetractASTP: false,
|
|
|
- isRetractZA: false,
|
|
|
- isRetractYC: false,
|
|
|
- isRetractRS: false,
|
|
|
- templateSelection: "",
|
|
|
- AStemplateSelection: "",
|
|
|
- iscCrownerShow: false,
|
|
|
- isApplicantShow: false,
|
|
|
- isInsuredShow: false,
|
|
|
- formInline: {},
|
|
|
- anshengInsurancetype: "",//安盛
|
|
|
- anshengInsuranceData: [],//安盛驾意险
|
|
|
- anshengInsuranceData1: [],//安盛驾意险
|
|
|
- anshengaccidentalDrivingVo: {},//安盛驾意险
|
|
|
- insuranceHB: '',//恒邦
|
|
|
- hengbangInsuranceData: [],//恒邦驾意险
|
|
|
- HBInsuranceData: [],
|
|
|
- hengbangaccidentalDrivingVo: {},//恒邦驾意险
|
|
|
- insuranceHN: '',//华农
|
|
|
- huanongInsuranceData: [],//华农驾意险
|
|
|
- HNInsuranceData: [],
|
|
|
- huanongaccidentalDrivingVo: {},//华农驾意险
|
|
|
-
|
|
|
- renshouaccidentalDrivingVo: {},//人寿意外险
|
|
|
- renshouInsuranceData: [],//-人寿意外险list
|
|
|
- ziJinInsuranceData: [],//-紫金意外险list
|
|
|
- zhonganInsuranceData: [],//众安驾意险
|
|
|
- zhonganaccidentalDrivingVo: {},//众安驾意险
|
|
|
- ZJInsuranceData: [],
|
|
|
- insuranceZJ: '',
|
|
|
- accidentalDrivingVo: [],//-紫金意外险传参
|
|
|
- zijinengageListData: [],//紫金特约
|
|
|
- zijinengageList: [],//紫金特约
|
|
|
- // ------------紫金意外险
|
|
|
- insuranceRS: '', //人寿
|
|
|
- RSInsuranceData: [],
|
|
|
- insuranceZA: '', //众安
|
|
|
- ZRInsuranceData: [],
|
|
|
- insuranceTP: '',//太平
|
|
|
- taipingInsuranceData: [],//太平驾意险
|
|
|
- TPDrivingChangeInsuranceData: [],
|
|
|
- taipingaccidentalDrivingVo: {},//太平驾意险
|
|
|
- licenseplate: true,
|
|
|
- calculateLoading: false, //保费计算按钮 节流
|
|
|
- accidentForm: {
|
|
|
- fen: "1",
|
|
|
- premium: 0
|
|
|
- }, //永诚意外险内容
|
|
|
- accidentFormHN: {
|
|
|
- allQuantity: "1",
|
|
|
- }, //华农意外险内容
|
|
|
- accidentDataList: [], //永诚意外险
|
|
|
- guoRenaccidentDataList: [], //国任意外险
|
|
|
- guoRenaccidenttableData: [],
|
|
|
- guoRenaccidentDataListChild: [],
|
|
|
- insuranceDJ: '',
|
|
|
- dajiaInsuranceData: [], //大家意外险
|
|
|
- DJInsuranceData: [],
|
|
|
- dajiaaccidentalDrivingVo: {},
|
|
|
- accidenttableData: [],
|
|
|
- accidentLoading: false,
|
|
|
- guoRenaccidentLoading: false,
|
|
|
- contributingLoading: false,
|
|
|
- guoRenaccidentPremium: '',
|
|
|
- guoRenaccidentForm: {
|
|
|
- quantity: "1",
|
|
|
- premium: 0
|
|
|
- }, //国任意外险内容
|
|
|
- accidentFormZM: {
|
|
|
- quantity: "1",
|
|
|
- unitPremium: 0
|
|
|
- }, //中煤意外险内容
|
|
|
- boHaiaccidentDataList: [], //渤海意外险
|
|
|
- boHaiaccidentForm: {
|
|
|
- copies: '1',
|
|
|
- policyNum: 0
|
|
|
- },
|
|
|
- accidentLoadingbh: false,
|
|
|
- boHaiaccidenttableData: [],
|
|
|
- accidentPremium: "",
|
|
|
- accidentPremiumGr: '',
|
|
|
- accidentPremiumZM: '',
|
|
|
- contributingState: false, //是否为国任特约
|
|
|
- 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: [],
|
|
|
- tbczcarShow: true, //投保人同车主
|
|
|
- bbczcarShow: false, //被保人同车主
|
|
|
- bbtbcarShow: true, //被保人同投保人
|
|
|
- imageUploadShow: true, //上传影像显示
|
|
|
- ProViewImg: "", //预览图片
|
|
|
- carfrontImg: "", //行驶证正面
|
|
|
- carbackImg: "", //行驶证背面
|
|
|
- userfrontImg: "", //身份证正面
|
|
|
- userbackImg: "", //身份证背面
|
|
|
- businessImg: '',
|
|
|
- CarFrontFile: "", //车正面文件流
|
|
|
- CarBackFile: "", //车背面文件流
|
|
|
- C02File: "",
|
|
|
- D02File: "",
|
|
|
- C03File: "",
|
|
|
- D03File: "",
|
|
|
- C04File: "",
|
|
|
- D04File: "",
|
|
|
- userIndex: 1, //区分三种人员
|
|
|
- TabName: "car", //默认选项卡
|
|
|
- value1: "",
|
|
|
- chexingdialogVisible: false, //车型选择 显示/隐藏
|
|
|
- sbdmdialogVisible: false, //车型车辆识别代码选择 显示/隐藏
|
|
|
- codedialogVisible: false, //二维码 显示/隐藏
|
|
|
- codedialogVisiblePro: 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, //过户标志
|
|
|
- transferFlagBi: false, //商业险是否过户
|
|
|
- transferDate: "", //过户日期
|
|
|
- loanStatus: 0, //贷款标志
|
|
|
- firstBeneMan: "", //第一受益人
|
|
|
- noLicenseFlag: false, //是否新车
|
|
|
- cartype: "", //客车A0 货车H0
|
|
|
- carnature: "02", //使用性质
|
|
|
- vehicleUse: '05',
|
|
|
- property: "1" //所属性质 1个人 2企业 3个人
|
|
|
- },
|
|
|
- carform: {
|
|
|
- carOwner: "",//车主
|
|
|
- licenseNo: "", //车牌号
|
|
|
- modelcname: "", //车辆品牌型号
|
|
|
- frameNo: "", //车架号
|
|
|
- engineNo: "", //发动机号
|
|
|
- registerDate: "", //注册日期
|
|
|
- issueDate: "", //发证日期
|
|
|
- grossMass: "", //总质量
|
|
|
- unladenMass: "", //整备质量
|
|
|
- limitLoad: "", //核定载质量
|
|
|
- approvedPassengersCapacity: "" //核定载客数
|
|
|
- },
|
|
|
- ownerInfoform: {
|
|
|
- name: "",
|
|
|
- identifyType: "",
|
|
|
- identifyNumber: "",
|
|
|
- age: "",//年龄
|
|
|
- gender: "",//性别
|
|
|
- addr: "",
|
|
|
- email: "",
|
|
|
- mobile: "",
|
|
|
- identifyValidDate: "", //有效期起期
|
|
|
- identifyValidEndDate: "", //有效期止期
|
|
|
- // province: "",//省
|
|
|
- // city: "",//市
|
|
|
- // county: "",//县
|
|
|
- },
|
|
|
- riskList: [], //险种大类信息
|
|
|
- kindList: [], //商业险险别
|
|
|
- ownerInfo: {
|
|
|
- //车主
|
|
|
- name: "", //姓名
|
|
|
- identifyType: "01", //身份证类型
|
|
|
- identifyNumber: "", //身份证号
|
|
|
- age: "",//年龄
|
|
|
- gender: "",//性别
|
|
|
- addr: "", //地址
|
|
|
- email: "", //邮箱
|
|
|
- mobile: "", //电话
|
|
|
- identifyValidDate: "", //有效期起期
|
|
|
- identifyValidEndDate: "", //有效期止期
|
|
|
- // province: "",//省
|
|
|
- // city: "",//市
|
|
|
- // county: "",//县
|
|
|
- provinceData: [], //省市区
|
|
|
- },
|
|
|
- policyHolderInfo: {
|
|
|
- //投保人
|
|
|
- name: "", //姓名
|
|
|
- identifyType: "01", //身份证类型
|
|
|
- identifyNumber: "", //身份证号
|
|
|
- age: "",//年龄
|
|
|
- gender: "",//性别
|
|
|
- addr: "", //地址
|
|
|
- email: "", //邮箱
|
|
|
- mobile: "", //电话
|
|
|
- identifyValidDate: "", //有效期起期
|
|
|
- identifyValidEndDate: "", //有效期止期
|
|
|
- // province: "",//省
|
|
|
- // city: "",//市
|
|
|
- // county: "",//县
|
|
|
- provinceData: [], //省市区
|
|
|
- },
|
|
|
- insuredPersonInfo: {
|
|
|
- //被保人
|
|
|
- name: "", //姓名
|
|
|
- identifyType: "01", //身份证类型
|
|
|
- identifyNumber: "", //身份证号
|
|
|
- age: "",//年龄
|
|
|
- gender: "",//性别
|
|
|
- addr: "", //地址
|
|
|
- email: "", //邮箱
|
|
|
- mobile: "", //电话
|
|
|
- identifyValidDate: "", //有效期起期
|
|
|
- identifyValidEndDate: "", //有效期止期
|
|
|
- provinceData: [], //省市区
|
|
|
- // province: "",//省
|
|
|
- // city: "",//市
|
|
|
- // county: "",//县
|
|
|
- },
|
|
|
- //车船税form
|
|
|
- vehicleAndVesselTaxForm: {
|
|
|
- taxRelifFlag: "1",//类型
|
|
|
- identifyNumber: "",//纳税人识别号
|
|
|
- taxpayerIdentifier: "01",//纳税人证件类型
|
|
|
- taxpayerName: "",//纳税人名称
|
|
|
- extendChar2: "",//减免税凭证号
|
|
|
- paidFreeCertificate: "",//完税凭证号
|
|
|
- relifReason: "",//减免税原因
|
|
|
- taxComCode: "",//税务机关代码
|
|
|
- taxComName: "",///税务机关名称
|
|
|
- taxDocumentDate: "",//完税日期
|
|
|
- taxPaidAreaCode: "",//完税凭证地区代码
|
|
|
- taxRelief: "",//减税比例
|
|
|
- },
|
|
|
- //车辆用途列表
|
|
|
- vehicleList: [],
|
|
|
- //能源种类列表
|
|
|
- rules: {
|
|
|
- extendChar2: [
|
|
|
- { required: true, message: "请输入减免税凭证号", trigger: "blur" }
|
|
|
- ],
|
|
|
- paidFreeCertificate: [
|
|
|
- { required: true, message: "请输入完税凭证号", trigger: "blur" }
|
|
|
- ],
|
|
|
- relifReason: [
|
|
|
- { required: true, message: "请输入减免税原因", trigger: "blur" }
|
|
|
- ],
|
|
|
- taxComCode: [
|
|
|
- { required: true, message: "请输入税务机关代码", trigger: "blur" }
|
|
|
- ],
|
|
|
- taxComName: [
|
|
|
- { required: true, message: "请输入税务机关名称", trigger: "blur" }
|
|
|
- ],
|
|
|
- taxDocumentDate: [
|
|
|
- { required: true, message: "请输入完税日期", trigger: "blur" }
|
|
|
- ],
|
|
|
- taxPaidAreaCode: [
|
|
|
- { required: true, message: "请选择完税地区", trigger: "blur" }
|
|
|
- ],
|
|
|
- taxRelief: [
|
|
|
- { required: true, message: "请输入减税比例", trigger: "blur" }
|
|
|
- ],
|
|
|
- taxpayerName: [
|
|
|
- { required: true, message: "请输入纳税人名称", trigger: "blur" }
|
|
|
- ],
|
|
|
- taxpayerIdentifier: [
|
|
|
- { required: true, message: "请选择证件类型", trigger: "blur" }
|
|
|
- ],
|
|
|
- taxRelifFlag: [
|
|
|
- { required: true, message: "请选择纳税类型", trigger: "blur" }
|
|
|
- ],
|
|
|
- energyType: [
|
|
|
- { required: true, message: "请选择能源种类", trigger: "blur" }
|
|
|
- ],
|
|
|
- cimodelclass: [
|
|
|
- { required: true, message: "请选择车辆种类", trigger: "blur" }
|
|
|
- ],
|
|
|
- carnature: [
|
|
|
- { required: true, message: "请选择使用性质", trigger: "blur" }
|
|
|
- ],
|
|
|
- cartype: [
|
|
|
- { required: true, message: "请选择车辆类型", trigger: "blur" }
|
|
|
- ],
|
|
|
- vehicleUse: [
|
|
|
- { required: true, message: "请选择车辆用途", trigger: "blur" }
|
|
|
- ],
|
|
|
- brandName: [
|
|
|
- { required: true, message: "请填写品牌型号", trigger: "blur" }
|
|
|
- ],
|
|
|
- licenseNo: [{ max: 8, message: "最多八个字符", trigger: "blur" },
|
|
|
- { required: true, validator: carPhoneValid, 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" }
|
|
|
- ],
|
|
|
- seatCount: [
|
|
|
- { required: true, message: "请输入座位数", trigger: "blur" }
|
|
|
- ],
|
|
|
- completeKerbMass: [
|
|
|
- { 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"
|
|
|
- },
|
|
|
- {
|
|
|
- amount: "0",
|
|
|
- amountDesc: "不投保",
|
|
|
- coveragePremium: 0,
|
|
|
- amtList: [
|
|
|
- {
|
|
|
- label: "不投保",
|
|
|
- value: "0"
|
|
|
- },
|
|
|
- {
|
|
|
- label: "2次",
|
|
|
- value: "2"
|
|
|
- },
|
|
|
- {
|
|
|
- label: "7次",
|
|
|
- value: "7"
|
|
|
- },
|
|
|
- {
|
|
|
- label: "12次",
|
|
|
- value: "12"
|
|
|
- },
|
|
|
- {
|
|
|
- label: "17次",
|
|
|
- value: "17"
|
|
|
- }, {
|
|
|
- label: "22次",
|
|
|
- value: "22"
|
|
|
- },
|
|
|
- ],
|
|
|
- desc:
|
|
|
- "道路救援服务特约条款",
|
|
|
- isMainRisk: false,
|
|
|
- kindCode: "TY1",
|
|
|
- kindName: "道路救援服务特约条款",
|
|
|
- },
|
|
|
- {
|
|
|
- amount: "0",
|
|
|
- amountDesc: "不投保",
|
|
|
- coveragePremium: 0,
|
|
|
- desc:
|
|
|
- "车辆安全检测特约条款",
|
|
|
- isMainRisk: false,
|
|
|
- kindCode: "TY2",
|
|
|
- kindName: "车辆安全检测特约条款",
|
|
|
- },
|
|
|
- {
|
|
|
- amount: "0",
|
|
|
- amountDesc: "不投保",
|
|
|
- coveragePremium: 0,
|
|
|
- desc:
|
|
|
- "代为驾驶服务特约条款",
|
|
|
- isMainRisk: false,
|
|
|
- kindCode: "TY3",
|
|
|
- kindName: "代为驾驶服务特约条款",
|
|
|
- },
|
|
|
- {
|
|
|
- amount: "0",
|
|
|
- amountDesc: "不投保",
|
|
|
- coveragePremium: 0,
|
|
|
- desc:
|
|
|
- "代为送检服务特约条款",
|
|
|
- isMainRisk: false,
|
|
|
- kindCode: "TY4",
|
|
|
- kindName: "代为送检服务特约条款",
|
|
|
- }
|
|
|
- ],
|
|
|
- totalCompanyList: [], //报价保险公司
|
|
|
- continuousCompanyList: [], //续保保险公司
|
|
|
- quoteno: "", //报价号
|
|
|
- orderno: "", //订单号
|
|
|
- queryOrders: {
|
|
|
- extendInfo: {},
|
|
|
- carinfo: {},
|
|
|
- ownerinfo: {},
|
|
|
- applyinfo: {},
|
|
|
- insureinfo: {},
|
|
|
- }, //核保详情
|
|
|
- inscompany: "", //保险公司名称
|
|
|
- licenseNo: "", //车牌号
|
|
|
- applyName: "", //车主名字
|
|
|
- orderstatus: "", //订单状态
|
|
|
- sumpremium: "", //保费合计
|
|
|
- jqpremium: "", //交强
|
|
|
- sypremium: "", //商业
|
|
|
- jypremium: '',//驾意险
|
|
|
- taxamount: "", //车船税
|
|
|
- jqstartdate: "", //交强时间
|
|
|
- systartdate: "", //商业时间
|
|
|
- mobile: "", //投保人手机号
|
|
|
- //影像回显列表
|
|
|
- imgList1: [],
|
|
|
- imgList2: [],
|
|
|
- imgList3: [],
|
|
|
- imgList4: [],
|
|
|
- imgList5: [],
|
|
|
- imgList6: [],
|
|
|
- imgList7: [],
|
|
|
- imgList8: [],
|
|
|
- imgList9: [],
|
|
|
- imgList10: [],
|
|
|
- imgList11: [],
|
|
|
- //影像上传列表
|
|
|
- imageList1: [],
|
|
|
- imageList2: [],
|
|
|
- imageList3: [],
|
|
|
- imageList4: [],
|
|
|
- imageList5: [],
|
|
|
- // 是否禁用上传
|
|
|
- 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: "",
|
|
|
- historyRadio: '888',
|
|
|
- sumseatCount: "", // 投保险种座位数
|
|
|
- deptName: "",
|
|
|
- isBottom: true,
|
|
|
- logoImg: "",//报价单保险公司logo图
|
|
|
- vehicleTypeoptions: [],//车辆种类
|
|
|
- trafficManagementVehicleTypeoptions: [],//车辆类型
|
|
|
- energyTypeoptions: [],//能源种类
|
|
|
- taxRelifFlagoptions: [],//车船税类型
|
|
|
- taxpayerIdentifieroptions: [],//纳税人证件类型
|
|
|
- relifReasonoptions: [],//减免税原因代码
|
|
|
- relifReasonoptions: [],//减免税原因代码
|
|
|
- provinceSelect: [],
|
|
|
- natureOfVehicleUseoptions: [],
|
|
|
- businessVehicleUseoptions: [],
|
|
|
- outOfBusinessVehicleUseoptions: [],
|
|
|
- insOrderStatusoptions: [],
|
|
|
- lastCompanyId: ''
|
|
|
- };
|
|
|
- },
|
|
|
- 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.enginedesc": {
|
|
|
- handler(val) {
|
|
|
- if (val) {
|
|
|
- this.carInfo.enginedesc = val.replace(/[A-Za-z]/g, '');
|
|
|
- }
|
|
|
- },
|
|
|
- deep: true
|
|
|
- },
|
|
|
- "ownerInfo.mobile": {
|
|
|
- handler(val) {
|
|
|
- if (val) {
|
|
|
- this.ownerInfo.mobile = val.replace(/\s/g, "");
|
|
|
- }
|
|
|
- },
|
|
|
- deep: true
|
|
|
- },
|
|
|
- "policyHolderInfo.mobile": {
|
|
|
- handler(val) {
|
|
|
- if (val) {
|
|
|
- this.policyHolderInfo.mobile = val.replace(/\s/g, "");
|
|
|
- }
|
|
|
- },
|
|
|
- deep: true
|
|
|
- },
|
|
|
- "insuredPersonInfo.mobile": {
|
|
|
- handler(val) {
|
|
|
- if (val) {
|
|
|
- this.insuredPersonInfo.mobile = val.replace(/\s/g, "");
|
|
|
- }
|
|
|
- },
|
|
|
- deep: true
|
|
|
- },
|
|
|
- "carInfo.engineNo": {
|
|
|
- handler(val) {
|
|
|
- if (val) {
|
|
|
- this.carInfo.engineNo = val.replace(/[^\w-]/ig, '').toUpperCase();
|
|
|
- }
|
|
|
- },
|
|
|
- deep: true
|
|
|
- },
|
|
|
- "carInfo.seatCount": {
|
|
|
- handler(val) {
|
|
|
- if (val) {
|
|
|
- this.sumseatCount = val - 1;
|
|
|
- }
|
|
|
- },
|
|
|
- deep: true
|
|
|
- },
|
|
|
- "policyHolderInfo.identifyNumber": {
|
|
|
- handler(val) {
|
|
|
- if (val) {
|
|
|
- this.vehicleAndVesselTaxForm.identifyNumber = val;
|
|
|
- }
|
|
|
- },
|
|
|
- deep: true
|
|
|
- },
|
|
|
- "policyHolderInfo.name": {
|
|
|
- handler(val) {
|
|
|
- if (val) {
|
|
|
- this.vehicleAndVesselTaxForm.taxpayerName = val;
|
|
|
- }
|
|
|
- },
|
|
|
- deep: true
|
|
|
- },
|
|
|
- },
|
|
|
- components: {
|
|
|
- detailsDialog,
|
|
|
- quotationDialog,
|
|
|
- quotationDialogPro,
|
|
|
- "el-image-viewer": () =>
|
|
|
- import("element-ui/packages/image/src/image-viewer")
|
|
|
- },
|
|
|
- created() {
|
|
|
- // this.commpanyList(); //获取保险公司
|
|
|
- this.obtainProtocol()
|
|
|
- this.getDicType("taxRelifFlag");//车船税类型
|
|
|
- this.getDicType("taxpayerIdentifier");//纳税人证件类型
|
|
|
- this.getDicType("relifReason");//减免税原因代码
|
|
|
- this.getDicType("vehicleType");//车辆种类
|
|
|
- this.getDicType("trafficManagementVehicleType");//车辆类型
|
|
|
- this.getDicType("energyType");//能源种类
|
|
|
- this.getDicType("natureOfVehicleUse");//车辆使用性质
|
|
|
- this.getDicType("businessVehicleUse");//(车辆用途)营业
|
|
|
- this.getDicType("outOfBusinessVehicleUse");//(车辆用途)非营业
|
|
|
- this.getDicType("insOrderStatus");//状态
|
|
|
-
|
|
|
- this.$api.letter.queryCompany().then(res => {
|
|
|
- this.continuousCompanyList = res.data;
|
|
|
- });
|
|
|
- this.$api.letter.packageQuery().then(res => {
|
|
|
- this.packageOptions = res.data;
|
|
|
- });
|
|
|
-
|
|
|
- localStorage.setItem('carInfo', JSON.stringify(this.carInfo))
|
|
|
- localStorage.setItem('insureList', 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.jqchecked = false;
|
|
|
- this.tbczcarShow = false;
|
|
|
- this.bbtbcarShow = false;
|
|
|
- this.bbczcarShow = false;
|
|
|
- const { carinfo, ownerinfo, applyinfo, insureinfo, quoteno, orderno } = _this.paramsEdit;
|
|
|
-
|
|
|
- _this.carInfo = carinfo;
|
|
|
- if (_this.carInfo.carnature == "8A") {
|
|
|
- _this.carInfo.carnature = '02'
|
|
|
- _this.carInfo.vehicleUse = '05'
|
|
|
- }
|
|
|
- else {
|
|
|
- _this.carInfo.carnature
|
|
|
- _this.carInfo.vehicleUse
|
|
|
- }
|
|
|
- _this.ownerInfo = ownerinfo;
|
|
|
- _this.policyHolderInfo = applyinfo;
|
|
|
- _this.insuredPersonInfo = insureinfo;
|
|
|
- _this.quoteno = quoteno;
|
|
|
- _this.orderno = orderno;
|
|
|
- _this.tbczcarShow = applyinfo.owner
|
|
|
- _this.bbczcarShow = insureinfo.owner
|
|
|
- _this.bbtbcarShow = insureinfo.insuranceHolder
|
|
|
- _this.ownerInfo.age = getAgeByIdCard(_this.ownerInfo.identifyNumber)
|
|
|
- _this.policyHolderInfo.age = getAgeByIdCard(_this.policyHolderInfo.identifyNumber)
|
|
|
- _this.insuredPersonInfo.age = getAgeByIdCard(_this.insuredPersonInfo.identifyNumber)
|
|
|
- // const ownerInfoObject = {
|
|
|
- // province: _this.ownerInfo.province,
|
|
|
- // city: _this.ownerInfo.city,
|
|
|
- // county: _this.ownerInfo.county,
|
|
|
- // }
|
|
|
- // const policyHolderInfoObject = {
|
|
|
- // province: _this.policyHolderInfo.province,
|
|
|
- // city: _this.policyHolderInfo.city,
|
|
|
- // county: _this.policyHolderInfo.county,
|
|
|
- // }
|
|
|
- // const insuredPersonInfoObject = {
|
|
|
- // province: _this.insuredPersonInfo.province,
|
|
|
- // city: _this.insuredPersonInfo.city,
|
|
|
- // county: _this.insuredPersonInfo.county,
|
|
|
- // }
|
|
|
- // this.selectedOptions1 = searchkey(Object.values(ownerInfoObject))
|
|
|
- // this.selectedOptions2 = searchkey(Object.values(policyHolderInfoObject))
|
|
|
- // this.selectedOptions3 = searchkey(Object.values(insuredPersonInfoObject))
|
|
|
- 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;
|
|
|
- _this.jqstartDate = this.transformTime1();
|
|
|
- _this.jqendDate = this.oneYearPast1(this.jqstartDate);
|
|
|
- } else if (ele.riskCode == "0510") {
|
|
|
- _this.sychecked = true;
|
|
|
- // _this.systartDate = ele.startDate;
|
|
|
- // _this.syendDate = ele.endDate;
|
|
|
- _this.systartDate = this.transformTime1();
|
|
|
- _this.syendDate = this.oneYearPast1(this.systartDate);
|
|
|
- _this.insureList.map(eleA => {
|
|
|
- _this.paramsEdit.king.map(eleB => {
|
|
|
- if (eleA.kindCode == eleB.kindCode) {
|
|
|
- switch (eleB.kindCode) {
|
|
|
- case "D4":
|
|
|
- case "SY_FJ_YBW2":
|
|
|
- eleA.amount = JSON.stringify(eleB.unitAmount);
|
|
|
- break;
|
|
|
- case "MJ1":
|
|
|
- case "MJ2":
|
|
|
- case "MJ3":
|
|
|
- case "MJ4":
|
|
|
- eleA.amount = eleB.deductibleRate;
|
|
|
- break;
|
|
|
- default:
|
|
|
- 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 => {
|
|
|
- res.data.forEach(item => {
|
|
|
- if (item.accidentInfo) {
|
|
|
- item.accidentInfo.constructor === Object ? [item.accidentInfo] : item.accidentInfo
|
|
|
- }
|
|
|
- })
|
|
|
- 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)
|
|
|
- },
|
|
|
- beforeCreate() {
|
|
|
- _self = this;
|
|
|
- },
|
|
|
- computed: {
|
|
|
- issueDateOptions() {
|
|
|
- return {
|
|
|
- disabledDate: this.disabledDate,
|
|
|
- }
|
|
|
- },
|
|
|
- },
|
|
|
- filters: {
|
|
|
- cap(ele) {
|
|
|
- return _self.insOrderStatusoptions.find((item) => {
|
|
|
- return item.dictValue === ele;
|
|
|
- }).dictTag;
|
|
|
- }
|
|
|
- },
|
|
|
- methods: {
|
|
|
- //手机号复制粘贴处理
|
|
|
- handlePaste(e, mobileKey) {
|
|
|
- e.preventDefault();//阻止默认行为
|
|
|
- const clipboardData = e.clipboardData || window.clipboardData;//获取剪切板内容
|
|
|
- let pastedText = clipboardData.getData('text').replace(/\s+/g, '');//获取纯文本并处理空格
|
|
|
- // 截取前11个字符,以确保不会超过手机号长度限制
|
|
|
- pastedText = pastedText.substring(0, 11);
|
|
|
- // 使用Vue.nextTick确保更新发生在DOM更新之后
|
|
|
- this.$nextTick(() => {
|
|
|
- this[mobileKey].mobile = pastedText;
|
|
|
- });
|
|
|
- },
|
|
|
- // licenseNoFun(data){
|
|
|
- // if(data && this.carInfo.enginedesc){
|
|
|
- // this.obtainProtocol()
|
|
|
- // }
|
|
|
- // },
|
|
|
- // enginedescFun(data){
|
|
|
- // if(data && this.carInfo.licenseNo){
|
|
|
- // this.obtainProtocol()
|
|
|
- // }
|
|
|
- // },
|
|
|
- packageChange(val) {
|
|
|
- let arr = this.packageOptions.find(ele => ele.id == val).kind
|
|
|
- if (arr.length > 0) {
|
|
|
- this.insureList.map(eleA => {
|
|
|
- arr.map(eleB => {
|
|
|
- if (eleA.kindCode == eleB.kindCode) {
|
|
|
- switch (eleB.kindCode) {
|
|
|
- case "D4":
|
|
|
- case "SY_FJ_YBW2":
|
|
|
- eleA.amount = JSON.stringify(eleB.unitAmount);
|
|
|
- break;
|
|
|
- case "MJ1":
|
|
|
- case "MJ2":
|
|
|
- case "MJ3":
|
|
|
- case "MJ4":
|
|
|
- eleA.amount = eleB.deductibleRate;
|
|
|
- break;
|
|
|
- case "TY2":
|
|
|
- case "TY3":
|
|
|
- case "TY4":
|
|
|
- eleA.amount = eleB.serviceTimes;
|
|
|
- break;
|
|
|
- default:
|
|
|
- eleA.amount = JSON.stringify(eleB.amount);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- }
|
|
|
- else {
|
|
|
- this.insureList.map(eleA => {
|
|
|
- eleA.amount = '0'
|
|
|
- })
|
|
|
- }
|
|
|
- },
|
|
|
- capType(val) {
|
|
|
- if (val == '0') {
|
|
|
- return 'success'
|
|
|
- }
|
|
|
- if (val == '1') {
|
|
|
- return 'warning'
|
|
|
- }
|
|
|
- if (val == '2' || val == '3' || val == '4') {
|
|
|
- return 'danger'
|
|
|
- }
|
|
|
- },
|
|
|
- handleCheckAllChange(ele) {
|
|
|
- this.totalCompanyList.forEach((val, index) => {
|
|
|
- ele ? val.checked = true : val.checked = false
|
|
|
- this.initchange(ele, val.id, val.cnName, index)
|
|
|
- })
|
|
|
- },
|
|
|
- retractFun() {
|
|
|
- this.isRetract = this.isRetract == false ? true : false
|
|
|
- },
|
|
|
- //中煤意外险调整份数事件
|
|
|
- ZMhandleChange(val) {
|
|
|
- if (!val) {
|
|
|
- this.$refs.ZmMultipleTable[0].clearSelection(); //清除
|
|
|
- }
|
|
|
- },
|
|
|
- //中煤意外险选中对应意外险方案
|
|
|
- ZMHandleSelectionChange(val) {
|
|
|
- // if(val.length > 0&& val[0].quantity==undefined){
|
|
|
- // this.$message({ message: "请先填写投保份数再勾选!", type: "error", });
|
|
|
- // this.$refs.ZmMultipleTable[0].clearSelection(); //清除
|
|
|
- // return false;
|
|
|
- // }
|
|
|
-
|
|
|
- if (val.length > 1) {
|
|
|
- this.$refs.ZmMultipleTable[0].clearSelection(); //清除
|
|
|
- this.$refs.ZmMultipleTable[0].toggleRowSelection(val.pop()); //pop:最后一个
|
|
|
- } else {
|
|
|
- this.zhongmeiaccidentalDrivingVo = val[0]; //multipleSelection:当前选择的数组
|
|
|
- }
|
|
|
- },
|
|
|
- //中煤意外险选中对应产品带出方案明细
|
|
|
- zhongmeiInsuranceChange(index) {
|
|
|
- //每次选中产品,清空之前选中的数据
|
|
|
- this.zhongmeiaccidentalDrivingVo = {};
|
|
|
- this.zhongmeiInsuranceDataDetail = [];
|
|
|
- let data = this.zhongmeiInsuranceData.find(val => val.rideRiskCode == index)
|
|
|
- //把返回的方案明细放入展示数据对象中
|
|
|
- this.accidentFormZM = Object.assign(
|
|
|
- this.accidentFormZM,
|
|
|
- data
|
|
|
- );
|
|
|
- this.accidentFormZM.quantity = '1'
|
|
|
- this.accidentFormZM.maxQuantity = Number(data.maxQuantity)
|
|
|
- if (data && data.accAmountView) {
|
|
|
- this.accidentPremiumZM = data.unitPremium
|
|
|
- this.zhongmeiInsuranceDataDetail = data.accAmountView;
|
|
|
- }
|
|
|
-
|
|
|
- },
|
|
|
- // 截图粘贴
|
|
|
- copybjd() {
|
|
|
- let that = this
|
|
|
- html2Canvas(document.getElementById('pdfContentsDiv'), {
|
|
|
- allowTaint: true,
|
|
|
- taintTest: false,
|
|
|
- }).then(function (canvas) {
|
|
|
- let base64Data = ''
|
|
|
- // let blob = null
|
|
|
- base64Data = canvas.toDataURL('image/png', 1)
|
|
|
- const date = new Date()
|
|
|
- const saveInfo = {
|
|
|
- download: date.getTime() + `.png`,
|
|
|
- href: base64Data,
|
|
|
-
|
|
|
- }
|
|
|
- const element = document.createElement('a')
|
|
|
- element.style.display = 'none'
|
|
|
- for (const key in saveInfo) {
|
|
|
- element.setAttribute(key, saveInfo[key])
|
|
|
- }
|
|
|
- document.body.appendChild(element)
|
|
|
- element.click()
|
|
|
- setTimeout(() => {
|
|
|
- document.body.removeChild(element)
|
|
|
- }, 300)
|
|
|
- // var format = 'image/png'
|
|
|
- // //将Base64图片编码转换成blob
|
|
|
- // var base64 = base64Data
|
|
|
- // var code = window.atob(base64.split(',')[1])
|
|
|
- // var aBuffer = new window.ArrayBuffer(code.length)
|
|
|
- // var uBuffer = new window.Uint8Array(aBuffer)
|
|
|
- // for (var i = 0; i < code.length; i++) {
|
|
|
- // uBuffer[i] = code.charCodeAt(i) & 0xff
|
|
|
- // }
|
|
|
- // try {
|
|
|
- // blob = new Blob([uBuffer], { type: format })
|
|
|
- // } catch (e) {
|
|
|
- // window.BlobBuilder =
|
|
|
- // window.BlobBuilder ||
|
|
|
- // window.WebKitBlobBuilder ||
|
|
|
- // window.MozBlobBuilder ||
|
|
|
- // window.MSBlobBuilder
|
|
|
- // if (e.name == 'TypeError' && window.BlobBuilder) {
|
|
|
- // var bb = new window.BlobBuilder()
|
|
|
- // bb.append(uBuffer.buffer)
|
|
|
- // blob = bb.getBlob('image/png')
|
|
|
- // } else if (e.name == 'InvalidStateError') {
|
|
|
- // blob = new Blob([aBuffer], { type: format })
|
|
|
- // }
|
|
|
- // }
|
|
|
- // const clipboardItemInput = new ClipboardItem({
|
|
|
- // 'image/png': blob,
|
|
|
- // })
|
|
|
- // that.$copyText({
|
|
|
- // 'image/png': blob,
|
|
|
- // }).then(
|
|
|
- // function(e) {
|
|
|
- // console.log("copy arguments e:", e);
|
|
|
- // alert("复制成功!");
|
|
|
- // },
|
|
|
- // function(e) {
|
|
|
- // console.log("copy arguments e:", e);
|
|
|
- // alert("复制失败!");
|
|
|
- // }
|
|
|
- // ),
|
|
|
- // navigator.clipboard.write([clipboardItemInput])
|
|
|
- // that.$message({
|
|
|
- // message: '已截图并复制到粘贴板!',
|
|
|
- // type: 'success'
|
|
|
- // });
|
|
|
- })
|
|
|
- },
|
|
|
- // 即时起保
|
|
|
- immediatelyChange(e) {
|
|
|
- if (e) {
|
|
|
- this.immediatelyValue = true
|
|
|
- const date = new Date();
|
|
|
- date.setHours(date.getHours() + 2);
|
|
|
- date.setMinutes(0)
|
|
|
- date.setSeconds(0)
|
|
|
- this.jqstartDate = date
|
|
|
- this.jqendDate = this.oneYearPast1(date);
|
|
|
- }
|
|
|
- else {
|
|
|
- this.immediatelyValue = false
|
|
|
- this.jqstartDate = this.transformTime1();
|
|
|
- this.jqendDate = this.oneYearPast1(this.jqstartDate);
|
|
|
- }
|
|
|
-
|
|
|
- },
|
|
|
- // 使用性质方法
|
|
|
- natureFun() {
|
|
|
- if (this.carInfo.carnature == '01') {
|
|
|
- this.carInfo.vehicleUse = ''
|
|
|
- }
|
|
|
- },
|
|
|
- // 点击同步报价后的时间
|
|
|
- syncData(item) {
|
|
|
- this.jqstartDate = item.startDateJq ? item.startDateJq : this.jqstartDate
|
|
|
- this.jqendDate = item.endDateJq ? item.endDateJq : this.endDateJq
|
|
|
- this.systartDate = item.startDateSy ? item.startDateSy : this.systartDate
|
|
|
- this.syendDate = item.endDateSy ? item.endDateSy : this.syendDate
|
|
|
- },
|
|
|
-
|
|
|
- //纳税类型事件
|
|
|
- taxRelifFlagChange(val) {
|
|
|
- if (val == 4) {
|
|
|
- citydata.rawCitiesData.map(val => {
|
|
|
- this.provinceSelect.push({
|
|
|
- name: val.name,
|
|
|
- code: val.code
|
|
|
- })
|
|
|
- return val;
|
|
|
- })
|
|
|
- }
|
|
|
- },
|
|
|
- //身份证前六位识别地区
|
|
|
- // getAreaByCode(code) {
|
|
|
- // let list = regionData;
|
|
|
- // let provinceCode = code.substring(0, 2);
|
|
|
- // let cityCode = code.substring(0, 4);
|
|
|
- // let areaCode = code.substring(0, 6);
|
|
|
- // // 获取省份信息
|
|
|
- // let province = list.filter(function (item) {
|
|
|
- // return item.value === provinceCode;
|
|
|
- // });
|
|
|
- // // 获取城市信息
|
|
|
- // let city = province[0].children.filter(function (item) {
|
|
|
- // return item.value === cityCode;
|
|
|
- // });
|
|
|
- // if (city.length > 0) {
|
|
|
- // // 获取区/县信息
|
|
|
- // let area = city[0].children.filter(function (item) {
|
|
|
- // return item.value === areaCode;
|
|
|
- // });
|
|
|
- // return province[0].label + city[0].label + area[0].label;
|
|
|
- // }
|
|
|
- // },
|
|
|
- //--数据字典 begin --
|
|
|
- getDicType(type) {
|
|
|
- this.$api.insCompany.dicType(type).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- if (type == 'insOrderStatus') {
|
|
|
- let data = JSON.parse(JSON.stringify(res.data.ddList))
|
|
|
- data.unshift({
|
|
|
- dictTag: "全部",
|
|
|
- dictValue: "888"
|
|
|
- });
|
|
|
- this[type + 'options'] = data;
|
|
|
- }
|
|
|
- else {
|
|
|
- this[type + 'options'] = res.data.ddList;
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
- },
|
|
|
- //身份证失去焦点
|
|
|
- identifyblur(info) {
|
|
|
- this[info].age = getAgeByIdCard(this[info].identifyNumber)
|
|
|
- this[info].gender = getGenderByIdCard(this[info].identifyNumber)
|
|
|
- },
|
|
|
- //车主信息选择性别
|
|
|
- genderChange(e) {
|
|
|
- if (this.tbczcarShow) {
|
|
|
- this.policyHolderInfo.gender = e
|
|
|
- } else if (this.bbczcarShow) {
|
|
|
- this.insuredPersonInfo.gender = e
|
|
|
- }
|
|
|
- },
|
|
|
- //省市区
|
|
|
- // areahandleChange(event, info) {
|
|
|
- // console.log(event)
|
|
|
- // 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
|
|
|
- }
|
|
|
- },
|
|
|
- anshengInsuranceChange(index) {
|
|
|
- let data = this.anshengInsuranceData.find(val => val.planCode == index)
|
|
|
- this.anshengaccidentalDrivingVo.personFlag = data.personFlag;
|
|
|
- this.anshengaccidentalDrivingVo.planChineseName = data.planChineseName;
|
|
|
- this.anshengaccidentalDrivingVo.planCode = data.planCode;
|
|
|
- this.anshengaccidentalDrivingVo.planSeries = data.planSeries;
|
|
|
- this.anshengInsuranceData1 = [];
|
|
|
- this.anshengInsuranceData1 = data.departmentProductList;
|
|
|
- },
|
|
|
- hengbangInsuranceChange(index) {
|
|
|
- this.HBInsuranceData = [(this.hengbangInsuranceData).find(val => val.programcode == index)]
|
|
|
- if (this.HBInsuranceData.length) {
|
|
|
- this.HBDrivingChange(this.HBInsuranceData[0])
|
|
|
- }
|
|
|
- },
|
|
|
- huanongInsuranceChange(index) {
|
|
|
- this.HNInsuranceData = (this.huanongInsuranceData).find(val => val.planCode == index).planSubInfo[0].riskInfo
|
|
|
- this.huanongaccidentalDrivingVo = Object.assign(
|
|
|
- this.accidentFormHN,
|
|
|
- this.huanongInsuranceData.find(val => val.planCode == index)
|
|
|
- );
|
|
|
- },
|
|
|
- taipingInsuranceChange(index) {
|
|
|
- this.TPInsuranceData = [(this.taipingInsuranceData).find(val => val.rationType == index)]
|
|
|
- if (this.TPInsuranceData && this.TPInsuranceData.length) {
|
|
|
- this.taipingaccidentalDrivingVo = this.TPInsuranceData[0];
|
|
|
- }
|
|
|
- },
|
|
|
- zijinInsuranceChange(index) {
|
|
|
- this.ZJInsuranceData = []
|
|
|
- this.$refs.expandTable[0].clearSelection()
|
|
|
- index.forEach(item => {
|
|
|
- this.ZJInsuranceData.push((this.ziJinInsuranceData).find(val => val.projectCode == item))
|
|
|
- })
|
|
|
- this.ZJInsuranceData.forEach(item => {
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.expandTable[0].toggleRowSelection(item);
|
|
|
- })
|
|
|
- })
|
|
|
- this.CheckboxChange(this.ZJInsuranceData)
|
|
|
- },
|
|
|
- renshouInsuranceChange(index) {
|
|
|
- this.RSInsuranceData = [(this.renshouInsuranceData).find(val => val.id == index)]
|
|
|
- if (index) {
|
|
|
- this.RSDrivingChange(this.RSInsuranceData[0])
|
|
|
- }
|
|
|
- },
|
|
|
- async dajiaInsuranceChange(index) {
|
|
|
- this.dajiaaccidentalDrivingVo = {}
|
|
|
- let data = await this.$api.letter.accidentalDrivingInfo(index);
|
|
|
- if (data.code == 200) {
|
|
|
- this.dajiaaccidentalDrivingVo = {
|
|
|
- rideRiskCode: index,
|
|
|
- rideRiskName: this.dajiaInsuranceData.find(val => val.id == index).productName,
|
|
|
- quantity: '1',
|
|
|
- }
|
|
|
- this.DJInsuranceData = data.data
|
|
|
- }
|
|
|
- },
|
|
|
- zhonganInsuranceChange(index) {
|
|
|
- this.ZRInsuranceData = [(this.zhonganInsuranceData).find(val => val.combination == index)]
|
|
|
- if (index) {
|
|
|
- this.ZADrivingChange(this.ZRInsuranceData[0])
|
|
|
- }
|
|
|
- },
|
|
|
- // 渤海选择意外险类型
|
|
|
- async bhcxchange(index) {
|
|
|
- if (index) {
|
|
|
- this.accidentLoadingbh = true
|
|
|
- this.boHaiaccidentForm.copies = "1";
|
|
|
- this.boHaiaccidentForm.premium = Number(this.boHaiaccidentDataList.find(e => e.packageCode == index).premium)
|
|
|
- let data = await this.$api.letter.productDetailsQueryboHai({
|
|
|
- packageCode: index,
|
|
|
- productCode: this.boHaiaccidentDataList.find(e => e.packageCode == index).productCode,
|
|
|
- agreementId: this.boHaiaccidentForm.agreementId
|
|
|
- });
|
|
|
- if (data.code == 200 && data.data) {
|
|
|
- this.accidentLoadingbh = false
|
|
|
- this.boHaiaccidenttableData = data.data;
|
|
|
- }
|
|
|
- else {
|
|
|
- this.$message.error(data.msg)
|
|
|
- this.boHaiaccidenttableData = []
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- // 国任选择意外险类型
|
|
|
- async grcxchange(index) {
|
|
|
- if (index) {
|
|
|
- this.accidentLoading = true
|
|
|
- this.guoRenaccidentForm.quantity = "1";
|
|
|
- this.guoRenaccidentForm.prodCode = ""
|
|
|
- let data = await this.$api.letter.syncNonAutoInsGuoren({
|
|
|
- goodsCode: index,
|
|
|
- agreementId: this.guoRenaccidentForm.agreementId
|
|
|
- });
|
|
|
- if (data.code == 200) {
|
|
|
- let num = 0;
|
|
|
- data.data.forEach(item => {
|
|
|
- num += Number(item.premium);
|
|
|
- });
|
|
|
-
|
|
|
- // this.accidentPremiumGr = num
|
|
|
- this.accidentLoading = false
|
|
|
- this.guoRenaccidentDataListChild = data.data;
|
|
|
- }
|
|
|
- else {
|
|
|
- this.accidentLoading = false
|
|
|
- this.$message.error(data.msg)
|
|
|
- this.guoRenaccidentDataListChild = []
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- // 国任选择意外险子级类型
|
|
|
- async grcxchangeChild(index) {
|
|
|
- let list = this.guoRenaccidentDataListChild.find(val => val.prodCode == index)
|
|
|
- this.guoRenaccidentForm = {
|
|
|
- ... this.guoRenaccidentForm,
|
|
|
- policyNum: Number(list.premium),
|
|
|
- riskCode: list.riskCode,
|
|
|
- amount: list.amount,
|
|
|
- premium: Number(list.premium)
|
|
|
- // appnum:Number(list.appnum)
|
|
|
- }
|
|
|
- this.guoRenaccidenttableData = list.prodCvgLiabList
|
|
|
- },
|
|
|
- // 选择意外险类型
|
|
|
- async ywxxxchange(index) {
|
|
|
- if (!index) {
|
|
|
- return
|
|
|
- }
|
|
|
- this.accidentForm = Object.assign(
|
|
|
- this.accidentForm,
|
|
|
- this.accidentDataList.find(val => val.code == index)
|
|
|
- );
|
|
|
- this.accidentForm.fen = "1";
|
|
|
- this.accidentLoading = true;
|
|
|
- let data = await this.$api.letter.ycgainAccidentSchemeList({
|
|
|
- companyCode: this.accidentForm.companyId,
|
|
|
- code: index,
|
|
|
- agreementId: this.accidentForm.agreementId,
|
|
|
- seatNum: Number(this.carInfo.seatCount)
|
|
|
- });
|
|
|
- if (data.code == 200) {
|
|
|
- let num = 0;
|
|
|
- data.data.forEach(item => {
|
|
|
- num += Number(item.premium);
|
|
|
- });
|
|
|
- this.accidentPremium = num
|
|
|
- this.accidentForm.premium = num
|
|
|
- this.accidentLoading = false;
|
|
|
- this.accidenttableData = data.data;
|
|
|
- }
|
|
|
- },
|
|
|
- numberCopieschange(index) {
|
|
|
- this.accidentForm.premium = Number(this.accidentPremium) * index;
|
|
|
- },
|
|
|
- numberCopieschangeZM(index) {
|
|
|
- this.accidentFormZM.unitPremium = Number(this.accidentPremiumZM) * index;
|
|
|
- },
|
|
|
- numberCopieschangeGR(index) {
|
|
|
- this.guoRenaccidentForm.premium = Number(this.guoRenaccidentForm.policyNum) * 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;
|
|
|
- } county
|
|
|
- });
|
|
|
- }
|
|
|
- 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 == 888 ? '' : e
|
|
|
- };
|
|
|
- this.$api.letter.queryQuoteHistory(params).then(res => {
|
|
|
- res.data.forEach(item => {
|
|
|
- if (item.accidentInfo) {
|
|
|
- item.accidentInfo.constructor === Object ? [item.accidentInfo] : item.accidentInfo
|
|
|
- }
|
|
|
- })
|
|
|
- this.HistoryList = res.data;
|
|
|
- });
|
|
|
- },
|
|
|
- obtainProtocol() {
|
|
|
- this.$api.letter.getAllAgreement().then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- res.data.map(ele => {
|
|
|
- ele["result"] = {};
|
|
|
- ele["quoteCode"] = 0;
|
|
|
- ele["checked"] = false;
|
|
|
- ele["msg"] = "";
|
|
|
- ele["lastYearMsg"] = "";
|
|
|
- ele["agreementId"] = "";
|
|
|
- ele["apiType"] = "";
|
|
|
- ele["orderstatus"] = 0;
|
|
|
- ele.coefficient = ''
|
|
|
- // ele.agreementId = ele.agreement[0].id;
|
|
|
- // ele.apiType = ele.agreement[0].apiType;
|
|
|
- ele.underwritingDescription = ele.agreement[0].underwritingDescription
|
|
|
- if (ele.isTaxSource && ele.isTaxSource == '1') {
|
|
|
- ele.agreement.forEach(val => {
|
|
|
- if (val.isTaxSource && val.isTaxSource == '1') {
|
|
|
- ele.agreementId = val.id;
|
|
|
- ele.apiType = val.apiType;
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- })
|
|
|
- if (this.$route.query.data) {
|
|
|
- res.data.forEach((val, index) => {
|
|
|
- this.$route.query.data.insAreaCompanyEditingDtos.forEach(ele => {
|
|
|
- if (val.namesimple == ele.inscompany) {
|
|
|
- if (ele.inscompany == '中国人寿' && ele.companyId) {
|
|
|
- this.lastCompanyId = ele.companyId
|
|
|
- }
|
|
|
- res.data[index].quoteCode = 200
|
|
|
- res.data[index].result = ele
|
|
|
- }
|
|
|
- })
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- this.totalCompanyList = 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;
|
|
|
- ele.coefficient = ''
|
|
|
- // ele.agreementId = ele.agreement[0].id;
|
|
|
- ele.apiType = ele.agreement[0].apiType;
|
|
|
- ele.underwritingDescription = ele.agreement[0].underwritingDescription
|
|
|
- });
|
|
|
- if (this.$route.query.data) {
|
|
|
- res.data.forEach((val, index) => {
|
|
|
- this.$route.query.data.insAreaCompanyEditingDtos.forEach(ele => {
|
|
|
- if (val.namesimple == ele.inscompany) {
|
|
|
- res.data[index].quoteCode = 200
|
|
|
- res.data[index].result = ele
|
|
|
- }
|
|
|
- })
|
|
|
- })
|
|
|
- }
|
|
|
- this.totalCompanyList = res.data;
|
|
|
- });
|
|
|
- },
|
|
|
- Payment(id, item) {
|
|
|
- this.carcode(id, item);
|
|
|
- },
|
|
|
- //选择协议 val:协议id row:协议列表 index:下标 item:保险公司数据集合
|
|
|
- agreementChange(val, row, index, item) {
|
|
|
- let obj = {};
|
|
|
- obj = row.find(item => {
|
|
|
- return item;
|
|
|
- })
|
|
|
- let selectRow = row.find(item => {
|
|
|
- return item.id == val;
|
|
|
- })
|
|
|
- this.totalCompanyList[index].apiType = obj.apiType;
|
|
|
- this.totalCompanyList[index].underwritingDescription = val ? selectRow.underwritingDescription : ''; //重新赋值修改选中协议承保描述
|
|
|
- switch (item.namesimple) {
|
|
|
- case '永诚财险':
|
|
|
- this.accidentForm.agreementId = item.agreementId
|
|
|
- this.$api.letter.ycgainAccidentList({ companyCode: item.id, agreementId: item.agreementId, seatNum: Number(this.carInfo.seatCount) }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.accidentDataList = res.data;
|
|
|
- }
|
|
|
- });
|
|
|
- break;
|
|
|
- case '国任财险':
|
|
|
- this.guoRenaccidentForm.agreementId = item.agreementId
|
|
|
- this.$api.letter.syncNonAutoInsGuoren({ agreementId: item.agreementId }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.guoRenaccidentDataList = res.data;
|
|
|
- }
|
|
|
- else {
|
|
|
- this.guoRenaccidentDataList = [];
|
|
|
- }
|
|
|
- });
|
|
|
- break;
|
|
|
- case '渤海财险':
|
|
|
- this.boHaiaccidentForm.agreementId = item.agreementId
|
|
|
- let policyHolderInfo = this.tbczcarShow ? this.ownerInfo : this.policyHolderInfo
|
|
|
- let productQueryVo = {
|
|
|
- agreementId: item.agreementId,
|
|
|
- carnature: this.carInfo.carnature,
|
|
|
- cimodelclass: this.carInfo.cimodelclass,
|
|
|
- exhaustScale: this.carInfo.enginedesc,
|
|
|
- limitLoad: this.carInfo.limitLoad,
|
|
|
- powerScale: this.carInfo.powerScale,
|
|
|
- seatCount: this.carInfo.seatCount,
|
|
|
- vehicleUse: this.carInfo.vehicleUse,
|
|
|
- policyHolderInfo,
|
|
|
- insuredPersonInfo: this.bbczcarShow ? this.ownerInfo : this.bbtbcarShow ? policyHolderInfo : this.insuredPersonInfo,
|
|
|
- }
|
|
|
- console.log(productQueryVo.insuredPersonInfo, this.bbczcarShow, this.bbtbcarShow, 1111111111)
|
|
|
- this.$api.letter.productQueryboHai(productQueryVo).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.boHaiaccidentDataList = res.data;
|
|
|
- }
|
|
|
- else {
|
|
|
- this.boHaiaccidentDataList = [];
|
|
|
- }
|
|
|
- });
|
|
|
- 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;
|
|
|
- }
|
|
|
- else {
|
|
|
- this.$message.error(res.msg)
|
|
|
- }
|
|
|
- });
|
|
|
- break;
|
|
|
- case '中国人寿':
|
|
|
- case '恒邦财险':
|
|
|
- case '太平财险':
|
|
|
- case '安盛天平':
|
|
|
- case '华农财险':
|
|
|
- case '众安财险':
|
|
|
- this.$api.letter.pythongetDriving({ agreementId: val }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- let data = res.data;
|
|
|
- data.map(ele => {
|
|
|
- ele.quantity = 1;
|
|
|
- return ele;
|
|
|
- })
|
|
|
- this[item.cnName + 'InsuranceData'] = data;
|
|
|
- }
|
|
|
- });
|
|
|
- break;
|
|
|
- case '大家财险':
|
|
|
- this.$api.letter.dajiagetDriving({ agreementId: item.agreementId }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.dajiaInsuranceData = res.data;
|
|
|
- }
|
|
|
- });
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- },
|
|
|
- CheckboxChange(select, row) {
|
|
|
- this.accidentalDrivingVo = [];
|
|
|
- select.map(val => {
|
|
|
- this.accidentalDrivingVo.push(val)
|
|
|
- return val;
|
|
|
- })
|
|
|
- },
|
|
|
-
|
|
|
-
|
|
|
- //恒邦驾意险选择
|
|
|
- HBDrivingChange(row) {
|
|
|
- this.hengbangaccidentalDrivingVo = row;
|
|
|
- },
|
|
|
-
|
|
|
- //人寿驾意险选择
|
|
|
- RSDrivingChange(row) {
|
|
|
- this.renshouaccidentalDrivingVo = row;
|
|
|
- },
|
|
|
- //众安驾意险选择
|
|
|
- ZADrivingChange(row) {
|
|
|
- this.zhonganaccidentalDrivingVo = row;
|
|
|
- },
|
|
|
- RSDrivingRadio(row) {
|
|
|
- this.RSDrivingChange(row)
|
|
|
- },
|
|
|
- HBDrivingRadio(row) {
|
|
|
- this.HBDrivingChange(row)
|
|
|
- },
|
|
|
- //安盛驾意险选择
|
|
|
- ASDrivingRadio(row) {
|
|
|
- this.AStemplateSelection = row.productCode;
|
|
|
- this.anshengaccidentalDrivingVo.productCode = row.productCode;
|
|
|
- this.anshengaccidentalDrivingVo.productName = row.productName;
|
|
|
- },
|
|
|
- ZADrivingRadio(row) {
|
|
|
- this.ZADrivingChange(row)
|
|
|
- },
|
|
|
- // 国任特约选择
|
|
|
- contributingGuoRen(id) {
|
|
|
- this.zijinengageListData = [];
|
|
|
- this.contributingLoading = true
|
|
|
- this.contributingState = true
|
|
|
- this.hbsubmitdialogVisible = true
|
|
|
- this.$api.letter.guorenqueryClauseData
|
|
|
- ({ agreementId: id }).then(res => {
|
|
|
- this.contributingLoading = false
|
|
|
- res.data.forEach(val => {
|
|
|
- val.clauseName = val.clauses
|
|
|
- val.clauseContent = val.clausesContext
|
|
|
- })
|
|
|
- this.zijinengageListData = res.data;
|
|
|
- });
|
|
|
- },
|
|
|
- //紫金特约选择
|
|
|
- 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;
|
|
|
- })
|
|
|
- },
|
|
|
- zijinengageChangeAll(row) {
|
|
|
- if (row) {
|
|
|
- this.zijinengageChange(row)
|
|
|
- }
|
|
|
- else {
|
|
|
- this.$refs.expandTablePro.clearSelection();
|
|
|
- this.zijinengageList = [];
|
|
|
- }
|
|
|
- },
|
|
|
- //紫金特约内容编辑
|
|
|
- zijincellDblclick(row, column) {
|
|
|
- this.currentCell = row.index + ',' + column.index;
|
|
|
- if (!['clauseContent'].includes(column.property) && row.modifyFlag == '1') {
|
|
|
- setTimeout(() => {
|
|
|
- this.$refs[row.index + ',' + column.index].focus();
|
|
|
- })
|
|
|
- }
|
|
|
- },
|
|
|
- tableCellClassName({ row, column, rowIndex, columnIndex }) {
|
|
|
- row.index = rowIndex;
|
|
|
- column.index = columnIndex;
|
|
|
- },
|
|
|
- hideInput() {
|
|
|
- this.currentCell = null;
|
|
|
- },
|
|
|
-
|
|
|
- //勾选保险公司
|
|
|
- initchange(e, code, name, index) {
|
|
|
- if (e) {
|
|
|
- let ins = this.totalCompanyList[index].namesimple;
|
|
|
- // this.totalCompanyList[index].agreementId = "";
|
|
|
- this.totalCompanyList[index].checked = e;
|
|
|
- // this.totalCompanyList[index].agreementId = this.totalCompanyList[index].agreement[0].id;
|
|
|
- this.totalCompanyList[index].underwritingDescription = this.totalCompanyList[index].agreement[0].underwritingDescription;
|
|
|
- // if (this.carInfo.licenseNo.slice(0, 2) != '晋A' && ins == '中煤财险') {
|
|
|
- // this.totalCompanyList[0].agreementId = this.totalCompanyList[0].agreement[1].id;
|
|
|
- // }
|
|
|
- switch (ins) {
|
|
|
- case '永诚财险':
|
|
|
- this.accidentForm.agreementId = this.totalCompanyList[index].agreement[0].id;
|
|
|
- this.$api.letter.ycgainAccidentList({ companyCode: this.totalCompanyList[index].id, agreementId: this.totalCompanyList[index].agreement[0].id, seatNum: Number(this.carInfo.seatCount) }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.accidentDataList = res.data;
|
|
|
- }
|
|
|
- else {
|
|
|
- this.accidentDataList = []
|
|
|
- }
|
|
|
- });
|
|
|
- break;
|
|
|
- case '国任财险':
|
|
|
- this.guoRenaccidentForm.agreementId = this.totalCompanyList[index].agreement[0].id;
|
|
|
- this.$api.letter.syncNonAutoInsGuoren({ goodsCode: "", agreementId: this.totalCompanyList[index].agreement[0].id }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.guoRenaccidentDataList = res.data;
|
|
|
- }
|
|
|
- else {
|
|
|
- this.guoRenaccidentDataList = []
|
|
|
- }
|
|
|
- });
|
|
|
- break;
|
|
|
- case '紫金财险':
|
|
|
- this.$api.letter.zijinqueryVehicleProducts({ agreementId: this.totalCompanyList[index].agreement[0].id, 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;
|
|
|
- }
|
|
|
- else {
|
|
|
- this.$message.error(res.msg)
|
|
|
- }
|
|
|
- });
|
|
|
- break;
|
|
|
- case '安盛天平':
|
|
|
- this.$api.letter.pythongetDriving({ agreementId: this.totalCompanyList[index].agreement[0].id }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- let data = res.data;
|
|
|
- data.map(ele => {
|
|
|
- ele.departmentProductList.map(val => {
|
|
|
- val.quantity = 1;
|
|
|
- })
|
|
|
- return ele;
|
|
|
- })
|
|
|
- this[name + "InsuranceData"] = data;
|
|
|
- }
|
|
|
- else {
|
|
|
- this.$message.error(res.msg)
|
|
|
- }
|
|
|
- });
|
|
|
- break;
|
|
|
- case '中国人寿':
|
|
|
- case '恒邦财险':
|
|
|
- case '太平财险':
|
|
|
- case '华农财险':
|
|
|
- case '众安财险':
|
|
|
- this.$api.letter.pythongetDriving({ agreementId: this.totalCompanyList[index].agreement[0].id }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- let data = res.data;
|
|
|
- data.map(ele => {
|
|
|
- ele.quantity = 1;
|
|
|
- return ele;
|
|
|
- })
|
|
|
- this[name + "InsuranceData"] = data;
|
|
|
- }
|
|
|
- else {
|
|
|
- this.$message.error(res.msg)
|
|
|
- }
|
|
|
- });
|
|
|
- break;
|
|
|
- case '中煤财险':
|
|
|
- this.accidentFormZM.agreementId = this.totalCompanyList[index].agreement[0].id;
|
|
|
- this.$api.letter.zmGetDrivingPro({ agreementId: this.totalCompanyList[index].agreement[0].id, seatNum: this.carInfo.seatCount }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- let data = res.data;
|
|
|
- this[name + "InsuranceData"] = data;
|
|
|
- }
|
|
|
- else {
|
|
|
- this.$message.error(res.msg)
|
|
|
- }
|
|
|
- });
|
|
|
- break;
|
|
|
- case '大家财险':
|
|
|
- this.$api.letter.dajiagetDriving({ agreementId: this.totalCompanyList[index].agreement[0].id }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.dajiaInsuranceData = res.data;
|
|
|
- }
|
|
|
- else {
|
|
|
- this.$message.error(res.msg)
|
|
|
- }
|
|
|
- });
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- } else {
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- },
|
|
|
- clearAccidentForm() {
|
|
|
- this.accidentForm = {}
|
|
|
- this.accidentForm.fen = 1
|
|
|
- this.accidentForm.premium = 0
|
|
|
- },
|
|
|
- clearAccidentFormGr() {
|
|
|
- this.guoRenaccidenttableData = [],
|
|
|
- this.guoRenaccidentDataListChild = []
|
|
|
- this.guoRenaccidentForm = {
|
|
|
- quantity: "1",
|
|
|
- premium: 0
|
|
|
- };
|
|
|
-
|
|
|
- },
|
|
|
- clearAccidentFormBh() {
|
|
|
- this.boHaiaccidenttableData = []
|
|
|
- this.boHaiaccidentForm = {
|
|
|
- copies: "1",
|
|
|
- premium: 0
|
|
|
- };
|
|
|
- // this.bohaiaccidentalDrivingVo={};
|
|
|
- },
|
|
|
- clearAccidentFormHN() {
|
|
|
- this.huanongaccidentalDrivingVo = {};
|
|
|
- },
|
|
|
- clearAccidentFormHB() {
|
|
|
- this.hengbangaccidentalDrivingVo = {};
|
|
|
- },
|
|
|
- clearAccidentFormTP() {
|
|
|
- this.taipingaccidentalDrivingVo = {};
|
|
|
- },
|
|
|
- clearAccidentFormDJ() {
|
|
|
- this.dajiaaccidentalDrivingVo = {};
|
|
|
- },
|
|
|
- clearAccidentFormZM() {
|
|
|
- this.zhongmeiaccidentalDrivingVo = {};
|
|
|
- },
|
|
|
- clearAccidentFormZJ() {
|
|
|
- this.accidentalDrivingVo = []
|
|
|
- },
|
|
|
- clearAccidentFormZA() {
|
|
|
- this.zhonganaccidentalDrivingVo = {};
|
|
|
- },
|
|
|
- clearAccidentFormRS() {
|
|
|
- this.renshouaccidentalDrivingVo = {};
|
|
|
- },
|
|
|
- clearAccidentFormAS() {
|
|
|
- this.anshengaccidentalDrivingVo = {};
|
|
|
- },
|
|
|
- //身份证有效期长期
|
|
|
- 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;
|
|
|
- this.systartDate = this.transformTime1();
|
|
|
- this.syendDate = this.oneYearPast1(this.systartDate);
|
|
|
- }
|
|
|
- },
|
|
|
- all() {
|
|
|
- this.$refs.detailsDialog.setBackupVisible(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: this.qrcodeWidth,
|
|
|
- height: this.qrcodeHeight,
|
|
|
- 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 {
|
|
|
- this.calculateLoading = true
|
|
|
- setInterval(() => {
|
|
|
- this.calculateLoading = false
|
|
|
- }, 3000);
|
|
|
- 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" &&
|
|
|
- (ele.kindCode == "TY1" ||
|
|
|
- ele.kindCode == "TY2" ||
|
|
|
- ele.kindCode == "TY3" ||
|
|
|
- ele.kindCode == "TY4")
|
|
|
- ) {
|
|
|
- _this.kindList.push({
|
|
|
- serviceTimes: _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 => {
|
|
|
- res.data.forEach(item => {
|
|
|
- if (item.accidentInfo) {
|
|
|
- item.accidentInfo.constructor === Object ? [item.accidentInfo] : item.accidentInfo
|
|
|
- }
|
|
|
- })
|
|
|
- this.HistoryList = res.data;
|
|
|
- });
|
|
|
- },
|
|
|
- open2(Name, Msg) {
|
|
|
- this.$notify.info({
|
|
|
- title: Name,
|
|
|
- dangerouslyUseHTMLString: true,
|
|
|
- type: 'warning',
|
|
|
- message: Msg,
|
|
|
- customClass: "customNotifyClass",
|
|
|
- duration: 7000,
|
|
|
- });
|
|
|
- },
|
|
|
- openPredictInfo(Name, Msg) {
|
|
|
- this.redictInfoMsg = Msg
|
|
|
- this.redictInfodialogVisible = true
|
|
|
- },
|
|
|
- //订单生成前数据处理事件
|
|
|
- OrderStageProcessing() {
|
|
|
- if (this.tbczcarShow && this.imageList2.length > 0) { //投保人同车主
|
|
|
- this.imageList3 = JSON.parse(JSON.stringify(this.imageList2));
|
|
|
- if (this.imageList3.length == 1) {
|
|
|
- this.imageList3[0].imageType = "C03";
|
|
|
- } else {
|
|
|
- this.imageList3[0].imageType = "C03";
|
|
|
- this.imageList3[1].imageType = "D03";
|
|
|
- }
|
|
|
- }
|
|
|
- if (this.bbczcarShow && this.imageList2.length > 0) { //被保人同车主
|
|
|
- this.imageList4 = JSON.parse(JSON.stringify(this.imageList2));
|
|
|
- if (this.imageList4.length == 1) {
|
|
|
- this.imageList4[0].imageType = "C04";
|
|
|
- } else {
|
|
|
- this.imageList4[0].imageType = "C04";
|
|
|
- this.imageList4[1].imageType = "D04";
|
|
|
- }
|
|
|
- }
|
|
|
- if (this.bbtbcarShow && this.imageList3.length > 0) { //被保人同投保人
|
|
|
- this.imageList4 = JSON.parse(JSON.stringify(this.imageList3));
|
|
|
- if (this.imageList4.length == 1) {
|
|
|
- this.imageList4[0].imageType = "C04";
|
|
|
- } else {
|
|
|
- this.imageList4[0].imageType = "C04";
|
|
|
- this.imageList4[1].imageType = "D04";
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //日期长度<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 && this.carInfo.transferDate.length < 10 && this.carInfo.transferDate !== "") {
|
|
|
- this.carInfo.transferDate = formatDate(this.carInfo.transferDate);
|
|
|
- }
|
|
|
-
|
|
|
- //日期长度<10处理
|
|
|
- //提交身份证/驾驶证 ——————————————————
|
|
|
- this.policyHolderInfo.owner = this.tbczcarShow
|
|
|
- this.insuredPersonInfo.owner = this.bbczcarShow
|
|
|
- this.insuredPersonInfo.insuranceHolder = this.bbtbcarShow
|
|
|
- if (typeof (this.ownerInfo.provinceData) == 'string') {
|
|
|
- this.ownerInfo.provinceData = []
|
|
|
- }
|
|
|
- if (typeof (this.insuredPersonInfo.provinceData) == 'string') {
|
|
|
- this.insuredPersonInfo.provinceData = []
|
|
|
- }
|
|
|
- if (typeof (this.policyHolderInfo.provinceData) == 'string') {
|
|
|
- this.policyHolderInfo.provinceData = []
|
|
|
- }
|
|
|
- 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,
|
|
|
- vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
|
|
|
- };
|
|
|
- this.$api.letter.generateOrder(param).then(res => {
|
|
|
- if (res.code == "200") {
|
|
|
- //上传图片
|
|
|
- const mergedArray = [...this.imageList1, ...this.imageList2, ...this.imageList3, ...this.imageList4, ...this.imageList5];
|
|
|
- if (mergedArray.length > 0) {
|
|
|
- let imageparam = {
|
|
|
- imageList: mergedArray,
|
|
|
- quoteNo: res.data.quoteno
|
|
|
- }
|
|
|
- this.$api.letter.uploadImages(imageparam).then(responses => {
|
|
|
- this.imageEcho(res.data.quoteno); // 获取图片
|
|
|
- });
|
|
|
- }
|
|
|
- this.quoteno = res.data.quoteno
|
|
|
- this.orderno = res.data.orderno;
|
|
|
- this.totalCompanyList.map((ele, index) => {
|
|
|
- if (ele.checked) {
|
|
|
- //动态调用报价接口
|
|
|
- ele.quoteCode = 1;
|
|
|
- ele.orderstatus = 0;
|
|
|
- this.ToolClickFun(ele.cnName, index, ele.id, ele.namesimple);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- else if (res.code == 1001) {
|
|
|
- this.$confirm('是否生成新订单?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- this.orderno = ''
|
|
|
- this.quoteno = ''
|
|
|
- this.quote()
|
|
|
- }).catch(() => {
|
|
|
- });
|
|
|
- }
|
|
|
- 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,
|
|
|
- vehicleAndVesselTax: this.vehicleAndVesselTaxForm
|
|
|
- };
|
|
|
- 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,
|
|
|
- vehicleAndVesselTax: this.vehicleAndVesselTaxForm
|
|
|
-
|
|
|
- };
|
|
|
- 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,
|
|
|
- vehicleAndVesselTax: this.vehicleAndVesselTaxForm
|
|
|
-
|
|
|
- };
|
|
|
- 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 {
|
|
|
- if (res.data.warnMessageList && 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();
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- 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 accidentalDrivingVo = {};
|
|
|
- // if(this.zhongmeiaccidentalDrivingVo){
|
|
|
- // accidentalDrivingVo.rideRiskCode=this.zhongmeiaccidentalDrivingVo.schemeNo;
|
|
|
- // accidentalDrivingVo.rideRiskName=this.zhongmeiaccidentalDrivingVo.schemeName;
|
|
|
- // accidentalDrivingVo.quantity=this.zhongmeiaccidentalDrivingVo.quantity;
|
|
|
- // }
|
|
|
- if (this.accidentFormZM.rideRiskCode) {
|
|
|
- accidentalDrivingVo = {
|
|
|
- rideRiskCode: this.accidentFormZM.rideRiskCode,
|
|
|
- rideRiskName: this.accidentFormZM.rideRiskName,
|
|
|
- quantity: this.accidentFormZM.quantity ? this.accidentFormZM.quantity : "1",
|
|
|
- };
|
|
|
- }
|
|
|
- let params = {
|
|
|
- accidentalDrivingVo,
|
|
|
- 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,
|
|
|
- vehicleAndVesselTax: this.vehicleAndVesselTaxForm
|
|
|
-
|
|
|
- };
|
|
|
- return this.$api.letter.generateOrder(param).then(res => {
|
|
|
- this.zhongmei(num, id);
|
|
|
- });
|
|
|
- } else if (!!res.data) {
|
|
|
- if (res.data.warnMessageList && 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 {
|
|
|
- this.totalCompanyList[num].quoteCode = "3";
|
|
|
- this.totalCompanyList[num].msg = res.msg;
|
|
|
- return;
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- // 大家报价
|
|
|
- dajia(num, id) {
|
|
|
- // let accidentalDrivingVo=[]
|
|
|
- // if(this.dajiaaccidentalDrivingVo){
|
|
|
- // accidentalDrivingVo.rideRiskCode=this.dajiaaccidentalDrivingVo.schemeNo;
|
|
|
- // accidentalDrivingVo.rideRiskName=this.dajiaaccidentalDrivingVo.cvrgName;
|
|
|
- // accidentalDrivingVo.quantity=this.dajiaaccidentalDrivingVo.quantity;
|
|
|
- // }
|
|
|
-
|
|
|
- let params = {
|
|
|
- accidentalDrivingVo: this.dajiaaccidentalDrivingVo,
|
|
|
- orderNo: this.orderno,
|
|
|
- companyId: id,
|
|
|
- agreementId: this.totalCompanyList[num].agreementId,
|
|
|
- };
|
|
|
- this.$api.letter.dajiaquote(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,
|
|
|
- vehicleAndVesselTax: this.vehicleAndVesselTaxForm
|
|
|
-
|
|
|
- };
|
|
|
- return this.$api.letter.generateOrder(param).then(res => {
|
|
|
- this.dajia(num, id);
|
|
|
- });
|
|
|
- } else if (!!res.data) {
|
|
|
- if (res.data.warnMessageList && 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 {
|
|
|
- this.totalCompanyList[num].quoteCode = "3";
|
|
|
- this.totalCompanyList[num].msg = res.msg;
|
|
|
- return;
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- //华泰报价
|
|
|
- huatai(num, id) {
|
|
|
- let params = {
|
|
|
- orderNo: this.orderno,
|
|
|
- companyId: id,
|
|
|
- agreementId: this.totalCompanyList[num].agreementId,
|
|
|
- };
|
|
|
- this.$api.letter.huataiquote(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,
|
|
|
- vehicleAndVesselTax: this.vehicleAndVesselTaxForm
|
|
|
-
|
|
|
- };
|
|
|
- return this.$api.letter.generateOrder(param).then(res => {
|
|
|
- this.huatai(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,
|
|
|
- coefficient: this.totalCompanyList[num].coefficient
|
|
|
- };
|
|
|
- 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,
|
|
|
- vehicleAndVesselTax: this.vehicleAndVesselTaxForm
|
|
|
-
|
|
|
- };
|
|
|
- return this.$api.letter.generateOrder(param).then(res => {
|
|
|
- this.zijin(num, id);
|
|
|
-
|
|
|
- });
|
|
|
- } else if (!!res.data) {
|
|
|
- if (res.data.warnMessageList && 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 {
|
|
|
- this.totalCompanyList[num].quoteCode = "3";
|
|
|
- this.totalCompanyList[num].msg = res.msg;
|
|
|
- return;
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- //永诚报价
|
|
|
- yongcheng(num, id) {
|
|
|
- this.iscCrownerShow = false
|
|
|
- this.isInsuredShow = false
|
|
|
- this.isApplicantShow = false
|
|
|
- let accidentalDrivingVo = {};
|
|
|
- if (this.accidentForm.code) {
|
|
|
- let data = this.accidentDataList.find(
|
|
|
- val => val.code == 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,
|
|
|
- vehicleAndVesselTax: this.vehicleAndVesselTaxForm
|
|
|
-
|
|
|
- };
|
|
|
-
|
|
|
- return this.$api.letter.generateOrder(param).then(res => {
|
|
|
- this.yongcheng(num, id);
|
|
|
- });
|
|
|
- } else if (res.code == "200") {
|
|
|
- if (res.data.warnMessageList && 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 if (res.code == "500") {
|
|
|
- // this.iscCrownerShow=res.msg.indexOf("车主地区自动解析失败")!=-1?true:false
|
|
|
- // this.isInsuredShow=res.msg.indexOf("被保人地区自动解析失败")!=-1?true:false
|
|
|
- // this.isApplicantShow=res.msg.indexOf("投保人地区自动解析失败")!=-1?true:false
|
|
|
- // this.ownerInfo.provinceData= this.iscCrownerShow?[]: this.ownerInfo.provinceData
|
|
|
- // this.insuredPersonInfo.provinceData= this.isInsuredShow?[]: this.insuredPersonInfo.provinceData
|
|
|
- // this.policyHolderInfo.provinceData= this.isApplicantShow?[]: this.policyHolderInfo.provinceData
|
|
|
- this.totalCompanyList[num].quoteCode = "3";
|
|
|
- this.totalCompanyList[num].msg = res.msg;
|
|
|
- }
|
|
|
- else {
|
|
|
- this.totalCompanyList[num].quoteCode = "3";
|
|
|
- this.totalCompanyList[num].msg = res.msg;
|
|
|
- return;
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- //国任报价
|
|
|
- guoRen(num, id) {
|
|
|
- let guoRenSpecialAgreementVo = []
|
|
|
- this.zijinengageList.forEach(val => {
|
|
|
- guoRenSpecialAgreementVo.push({
|
|
|
- clauses: val.clauseName,
|
|
|
- clausesContext: val.clauses,
|
|
|
- clauseCode: val.clauseCode,
|
|
|
- riskCode: val.riskCode,
|
|
|
- riskName: val.riskName,
|
|
|
- })
|
|
|
- })
|
|
|
- let accidentalDrivingVo = {};
|
|
|
- if (this.guoRenaccidentForm.goodsCode) {
|
|
|
- accidentalDrivingVo = {
|
|
|
- ...this.guoRenaccidentForm,
|
|
|
- };
|
|
|
- }
|
|
|
- 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,
|
|
|
- guoRenSpecialAgreementVo
|
|
|
- };
|
|
|
- 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,
|
|
|
- vehicleAndVesselTax: this.vehicleAndVesselTaxForm
|
|
|
- };
|
|
|
- return this.$api.letter.generateOrder(param).then(res => {
|
|
|
- this.guoRen(num, id);
|
|
|
- });
|
|
|
- } else if (res.code == "200") {
|
|
|
- if (res.data.warnMessageList && 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;
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- //渤海报价
|
|
|
- bohai(num, id) {
|
|
|
- let accidentalDrivingVo = [];
|
|
|
- if (this.boHaiaccidentForm.packageCode) {
|
|
|
- accidentalDrivingVo = [{
|
|
|
- packageCode: this.boHaiaccidentForm.packageCode,
|
|
|
- productCode: this.boHaiaccidentDataList.find(e => e.packageCode == this.boHaiaccidentForm.packageCode).productCode,
|
|
|
- copies: this.boHaiaccidentForm.copies,
|
|
|
- }]
|
|
|
- }
|
|
|
- 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.bohaiquote(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,
|
|
|
- vehicleAndVesselTax: this.vehicleAndVesselTaxForm
|
|
|
- };
|
|
|
- return this.$api.letter.generateOrder(param).then(res => {
|
|
|
- this.bohai(num, id);
|
|
|
- });
|
|
|
- } else if (res.code == "200") {
|
|
|
- if (res.data.warnMessageList && 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;
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
-
|
|
|
- // 爬虫对接
|
|
|
- quoteInsurance(num, id, namesimple, apiType) {
|
|
|
- let api = apiType == 2 ? "pythonquote" : "anshengquote";
|
|
|
- let ccidenttype = this.totalCompanyList[num].cnName;
|
|
|
- let params = {
|
|
|
- accidentalDrivingVo: this[ccidenttype + 'accidentalDrivingVo'],
|
|
|
- orderNo: this.orderno,
|
|
|
- companyId: id,
|
|
|
- agreementId: this.totalCompanyList[num].agreementId,
|
|
|
-
|
|
|
- };
|
|
|
- if (namesimple == '中国人寿' && this.lastCompanyId) {
|
|
|
- params.discount = this.totalCompanyList[num].discount
|
|
|
- params.lastCompanyId = this.lastCompanyId
|
|
|
- }
|
|
|
- this.$api.letter[api](params).then(res => {
|
|
|
- this.totalCompanyList[num].msg = res.msg;
|
|
|
- switch (namesimple) {
|
|
|
- case '安盛天平':
|
|
|
- case '中国人寿':
|
|
|
- case '恒邦财险':
|
|
|
- case '华农财险':
|
|
|
- case '太平财险':
|
|
|
- if (!!res.data) {
|
|
|
- if (res.data.warnMessageList && res.data.warnMessageList.length > 0) {
|
|
|
- this.totalCompanyList[num].lastYearMsg = "";
|
|
|
- let dat = res.data.warnMessageList;
|
|
|
- dat.map(ele => {
|
|
|
- this.totalCompanyList[num].lastYearMsg += ele + '<br>';
|
|
|
- })
|
|
|
- }
|
|
|
- if (res.data.predictInfo && res.data.predictInfo.length > 0) {
|
|
|
- this.totalCompanyList[num].predictInfo = res.data.predictInfo
|
|
|
- }
|
|
|
- this.totalCompanyList[num].quoteCode = 200;
|
|
|
- this.totalCompanyList[num].result = res.data;
|
|
|
- if (namesimple == '中国人寿' && res.data.companyId) {
|
|
|
- this.lastCompanyId = res.data.companyId;
|
|
|
- }
|
|
|
- this.QuotationHistory();
|
|
|
- } else {
|
|
|
- this.totalCompanyList[num].quoteCode = "3";
|
|
|
- this.totalCompanyList[num].msg = res.msg;
|
|
|
- return;
|
|
|
- }
|
|
|
- break;
|
|
|
- case '众安财险':
|
|
|
- if (!!res.data) {
|
|
|
- if (res.data.tips == '需要验车') {
|
|
|
- this.$notify.error({
|
|
|
- title: '通融单',
|
|
|
- duration: 0,
|
|
|
- dangerouslyUseHTMLString: true,
|
|
|
- message: `<div> ${res.data.warnMessageList.map(item => {
|
|
|
- return `<p>${item}</p>`
|
|
|
- }).join('')}
|
|
|
- </div>`
|
|
|
- });
|
|
|
- }
|
|
|
- if (res.data.warnMessageList && 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 {
|
|
|
- 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);
|
|
|
- },
|
|
|
- //太平
|
|
|
- taiping(num, id, namesimple) {
|
|
|
- this.quoteInsurance(num, id, namesimple, this.totalCompanyList[num].apiType);
|
|
|
- },
|
|
|
- //华农
|
|
|
- huanong(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.feeDetailInfo=data.orderFeeResult;
|
|
|
- }
|
|
|
- });
|
|
|
- this.$refs.detailsDialog.setBackupVisible(true)
|
|
|
-
|
|
|
- },
|
|
|
- imageUpload() {
|
|
|
- this.imageUploaddialogVisible = true;
|
|
|
- },
|
|
|
- cancelorder(item) {
|
|
|
- this.$api.letter.zijincancelorder({ companyId: item.id }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.$message({
|
|
|
- message: res.msg,
|
|
|
- type: 'success'
|
|
|
- });
|
|
|
- this.QuotationHistory()
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- imageEcho(quotenos) {
|
|
|
- //影像查询
|
|
|
- this.$api.letter.findByQuoteNo(quotenos)
|
|
|
- .then(res => {
|
|
|
- if (res.code == "200") {
|
|
|
- this.imageList1 = [];
|
|
|
- this.imageList2 = [];
|
|
|
- this.imageList3 = [];
|
|
|
- this.imageList4 = [];
|
|
|
- this.imageList5 = [];
|
|
|
- this.imgList1 = [];
|
|
|
- this.imgList2 = [];
|
|
|
- this.imgList3 = [];
|
|
|
- this.imgList4 = [];
|
|
|
- this.imgList5 = [];
|
|
|
- this.imgList6 = [];
|
|
|
- this.imgList7 = [];
|
|
|
- this.imgList8 = [];
|
|
|
- this.imgList9 = [];
|
|
|
- this.imgList10 = [];
|
|
|
- this.imgList11 = [];
|
|
|
- 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;
|
|
|
- case 'XC00':
|
|
|
- this.imageList5.push({
|
|
|
- imageId: res.data[keys].imageId,
|
|
|
- imageType: res.data[keys].imageType,
|
|
|
- })
|
|
|
- this.imgList9.push(res.data[keys]);
|
|
|
- break;
|
|
|
- case 'GC00':
|
|
|
- this.imageList5.push({
|
|
|
- imageId: res.data[keys].imageId,
|
|
|
- imageType: res.data[keys].imageType,
|
|
|
- })
|
|
|
- this.imgList10.push(res.data[keys]);
|
|
|
- break;
|
|
|
- case 'GX00':
|
|
|
- this.imageList5.push({
|
|
|
- imageId: res.data[keys].imageId,
|
|
|
- imageType: res.data[keys].imageType,
|
|
|
- })
|
|
|
- this.imgList11.push(res.data[keys]);
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- } else {
|
|
|
- this.$message({ message: res.msg, type: "info" });
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- },
|
|
|
- hbsubmitdialog(data) {
|
|
|
- if (this.imageList1.length == 0 && this.imageList2.length == 0) {
|
|
|
- this.$message({ message: "影像不全,先上传影像", type: "error", });
|
|
|
- return;
|
|
|
- }
|
|
|
- this.companyId = data.result.companyId;
|
|
|
- this.apiType = data.apiType;
|
|
|
- this.hbsubmitdialogVisible = true;
|
|
|
- this.contributingState = false
|
|
|
- if (data.namesimple == '紫金财险') {
|
|
|
- this.$api.letter.zijinqueryClauseData
|
|
|
- ({ companyId: this.companyId }).then(res => {
|
|
|
- this.zijinengageListData = res.data;
|
|
|
- });
|
|
|
- }
|
|
|
- if (data.namesimple == '华泰财险') {
|
|
|
- this.zijinengageList = []
|
|
|
- this.$api.letter.huataiqueryClauseData({ companyId: this.companyId }).then(res => {
|
|
|
- res.data.forEach(val => {
|
|
|
- val.clauseCode = val.engageCode
|
|
|
- val.clauseName = val.engageTitle
|
|
|
- val.clauseContent = val.engageDetail
|
|
|
- val.clauses = val.engageDetail
|
|
|
- });
|
|
|
- this.zijinengageListData = res.data;
|
|
|
- this.zijinengageListData.forEach(val => {
|
|
|
- this.$nextTick(() => {
|
|
|
- if (val.optType == '2') {
|
|
|
- this.zijinengageList.push(val)
|
|
|
- this.$refs.expandTablePro.toggleRowSelection(val, true);
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
- })
|
|
|
- });
|
|
|
- }
|
|
|
- else {
|
|
|
- this.zijinengageListData = []
|
|
|
- }
|
|
|
- // 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.contributingState = 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;
|
|
|
- let indexid = this.totalCompanyList.findIndex(item => item.namesimple == this.queryOrders.inscompany);
|
|
|
- this.totalCompanyList[indexid].orderstatus = res.data.orderstatus;
|
|
|
- });
|
|
|
- } 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;
|
|
|
- let indexid = this.totalCompanyList.findIndex(item => item.namesimple == this.queryOrders.inscompany);
|
|
|
- this.totalCompanyList[indexid].orderstatus = res.data.orderstatus;
|
|
|
- });
|
|
|
- } 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
|
|
|
- .insHuataisubmitImage({
|
|
|
- companyId: this.companyId
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
- if (res.code == "200") {
|
|
|
- var _this = this;
|
|
|
- let engageList = []
|
|
|
- this.zijinengageList.forEach(val => {
|
|
|
- engageList.push({
|
|
|
- engageCode: val.clauseCode,
|
|
|
- engageDetail: val.clauses,
|
|
|
- engageTitle: val.clauseName,
|
|
|
- riskCode: val.riskCode
|
|
|
- })
|
|
|
- })
|
|
|
- _this.$api.letter
|
|
|
- .huataiaudit({
|
|
|
- companyId: this.companyId,
|
|
|
- engageList
|
|
|
- })
|
|
|
- .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;
|
|
|
- let indexid = this.totalCompanyList.findIndex(item => item.namesimple == this.queryOrders.inscompany);
|
|
|
- this.totalCompanyList[indexid].orderstatus = res.data.orderstatus;
|
|
|
- });
|
|
|
- } 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;
|
|
|
- let indexid = this.totalCompanyList.findIndex(item => item.namesimple == this.queryOrders.inscompany);
|
|
|
- this.totalCompanyList[indexid].orderstatus = res.data.orderstatus;
|
|
|
- });
|
|
|
- } else {
|
|
|
- loading.close();
|
|
|
- _this.$message({
|
|
|
- showClose: true,
|
|
|
- dangerouslyUseHTMLString: 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;
|
|
|
- let indexid = this.totalCompanyList.findIndex(item => item.namesimple == this.queryOrders.inscompany);
|
|
|
- this.totalCompanyList[indexid].orderstatus = res.data.orderstatus;
|
|
|
- });
|
|
|
- } 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 "渤海财险":
|
|
|
- await this.$api.letter
|
|
|
- .insbohaisubmitImage({
|
|
|
- companyId: this.companyId
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
- if (res.code == "200") {
|
|
|
- var _this = this;
|
|
|
- _this.$api.letter
|
|
|
- .bohaiaudit({
|
|
|
- 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;
|
|
|
- let indexid = this.totalCompanyList.findIndex(item => item.namesimple == this.queryOrders.inscompany);
|
|
|
- this.totalCompanyList[indexid].orderstatus = res.data.orderstatus;
|
|
|
- });
|
|
|
- } 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 "安盛天平":
|
|
|
- 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;
|
|
|
- let indexid = this.totalCompanyList.findIndex(item => item.namesimple == this.queryOrders.inscompany);
|
|
|
- this.totalCompanyList[indexid].orderstatus = res.data.orderstatus;
|
|
|
- });
|
|
|
- } else {
|
|
|
- loading.close();
|
|
|
- this.$message({
|
|
|
- showClose: true,
|
|
|
- dangerouslyUseHTMLString: true,
|
|
|
- message: this.queryOrders.inscompany + "提核--:" + (res.msg).replace(/\n/g, "<br><br>"),
|
|
|
- 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;
|
|
|
- let indexid = this.totalCompanyList.findIndex(item => item.namesimple == this.queryOrders.inscompany);
|
|
|
- this.totalCompanyList[indexid].orderstatus = res.data.orderstatus;
|
|
|
- });
|
|
|
- } else {
|
|
|
- loading.close();
|
|
|
- this.$message({
|
|
|
- showClose: true,
|
|
|
- message: this.queryOrders.inscompany + "提核--:" + res.msg,
|
|
|
- customClass: "customNotifyClass",
|
|
|
- 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
|
|
|
- .dajiasubmitImage({
|
|
|
- companyId: this.companyId
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
- if (res.code == "200") {
|
|
|
- var _this = this;
|
|
|
- _this.$api.letter
|
|
|
- .dajiaaudit({
|
|
|
- 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;
|
|
|
- let indexid = this.totalCompanyList.findIndex(item => item.namesimple == this.queryOrders.inscompany);
|
|
|
- this.totalCompanyList[indexid].orderstatus = res.data.orderstatus;
|
|
|
- });
|
|
|
- } else {
|
|
|
- loading.close();
|
|
|
- this.$message({
|
|
|
- showClose: true,
|
|
|
- message: this.queryOrders.inscompany + "提核--:" + res.msg,
|
|
|
- customClass: "customNotifyClass",
|
|
|
- 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.policyHolderInfo.provinceData = [];
|
|
|
- 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.insuredPersonInfo.provinceData = [];
|
|
|
- // 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] = "";
|
|
|
- this.insuredPersonInfo.provinceData = [];
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- //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.sbdmdialogVisible = true;
|
|
|
- } else {
|
|
|
- loading.close();
|
|
|
- this.$message.error(res.msg);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
- // 撤销二维码
|
|
|
- revokeCode(id) {
|
|
|
- this.$api.letter.getRevokeQrCode(id).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.$message({
|
|
|
- message: res.msg,
|
|
|
- type: 'success'
|
|
|
- });
|
|
|
- this.QuotationHistory()
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
- },
|
|
|
- //品牌型号查询
|
|
|
- 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.replace(/[^u4e00-u9fa5|,]+/ig, '')
|
|
|
- };
|
|
|
- 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;
|
|
|
- this.sbdmdialogVisible = false
|
|
|
- },
|
|
|
- //是否过户事件
|
|
|
- transferFlagChange(e) {
|
|
|
- if (e) {
|
|
|
- this.transferDateShow = true;
|
|
|
- this.carInfo.transferDate = this.carInfo.issueDate
|
|
|
- } else {
|
|
|
- this.transferDateShow = false;
|
|
|
- this.carInfo.transferDate = ""
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- //影像上传
|
|
|
- drivingupload(file, imageIdList, imgurl, type) {
|
|
|
- let that = this
|
|
|
- let size = file.size / 1024 / 1024 < 5;
|
|
|
- const isJPG = file.raw.type === 'image/jpeg' || file.raw.type === 'image/png';
|
|
|
- if (!size) {
|
|
|
- this.$message.error('上传图片大小不能超过 5MB!')
|
|
|
- this[imgurl] = []
|
|
|
- return false
|
|
|
- }
|
|
|
- if (!isJPG) {
|
|
|
- this.$message.error('上传图片只能是 JPG、PNG 格式!')
|
|
|
- this[imgurl] = []
|
|
|
- return false
|
|
|
- }
|
|
|
- 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;
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
- compress(img, width, height, ratio) {
|
|
|
- var canvas, ctx, img64;
|
|
|
- canvas = document.createElement('canvas');
|
|
|
- canvas.width = width;
|
|
|
- canvas.height = height;
|
|
|
- ctx = canvas.getContext("2d");
|
|
|
- ctx.drawImage(img, 0, 0, width, height);
|
|
|
- img64 = canvas.toDataURL("image/jpeg", ratio);
|
|
|
- return img64;
|
|
|
- },
|
|
|
- base64ToFile(base64, fileName) {
|
|
|
- let data = base64.split(',');
|
|
|
- let type = data[0].match(/:(.*?);/)[1];
|
|
|
- // let suffix = type.split('/')[1];
|
|
|
- const bstr = window.atob(data[1]);
|
|
|
- let n = bstr.length
|
|
|
- const u8arr = new Uint8Array(n)
|
|
|
- while (n--) {
|
|
|
- u8arr[n] = bstr.charCodeAt(n)
|
|
|
- }
|
|
|
- // const file = new File([u8arr], `${fileName}.${suffix}`, {
|
|
|
- const file = new File([u8arr], `${fileName}`, {
|
|
|
- type: type
|
|
|
- })
|
|
|
- return file;
|
|
|
- },
|
|
|
- carfrontChange(file) {
|
|
|
- //选择行驶证正面
|
|
|
- let that = this
|
|
|
- let size = file.size / 1024 / 1024 < 5;
|
|
|
- const isJPG = file.raw.type === 'image/jpeg' || file.raw.type === 'image/png';
|
|
|
- if (!size) {
|
|
|
- this.$message.error('上传图片大小不能超过 5MB!')
|
|
|
- return false
|
|
|
- }
|
|
|
- if (!isJPG) {
|
|
|
- this.$message.error('上传图片只能是 JPG、PNG 格式!')
|
|
|
- return false
|
|
|
- }
|
|
|
- // let name=file.raw.name
|
|
|
- // var image = new Image();
|
|
|
- // image.src = window.URL.createObjectURL(file.raw);
|
|
|
- // that.carfrontImg = image.src
|
|
|
- // image.onload = function(){
|
|
|
- // let aaa= that.base64ToFile(that.compress(image, 500, 400, 0.7),name)
|
|
|
-
|
|
|
- // that.carfrontImg = image.src;
|
|
|
- // const params = new FormData(); // 声明formData数据类型
|
|
|
- // params.append("multipartFile", aaa);
|
|
|
- // params.append("type", "image");
|
|
|
- // that.$api.letter.uploadFile(params).then(res => {
|
|
|
- // if (res.code == "200") {
|
|
|
- // that.CarFrontFile = aaa;//文件流
|
|
|
- // if (that.imageList1.some(v => v.imageType == 'C01')) {
|
|
|
- // that.imageList1.map(val => {
|
|
|
- // if (val.imageType == 'C01') {
|
|
|
- // val.imageId = res.data.id;
|
|
|
- // }
|
|
|
- // })
|
|
|
- // } else {
|
|
|
- // that.imageList1.push({
|
|
|
- // imageId: res.data.id,
|
|
|
- // imageType: "C01",
|
|
|
- // })
|
|
|
- // }
|
|
|
- // } else {
|
|
|
- // that.$message({ message: res.msg, type: "warning" });
|
|
|
- // }
|
|
|
- // });
|
|
|
- // }
|
|
|
- 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) {
|
|
|
- let that = this
|
|
|
- let size = file.size / 1024 / 1024 < 2;
|
|
|
- const isJPG = file.raw.type === 'image/jpeg' || file.raw.type === 'image/png';
|
|
|
- if (!size) {
|
|
|
- this.$message.error('上传图片大小不能超过 5MB!')
|
|
|
- return false
|
|
|
- }
|
|
|
- if (!isJPG) {
|
|
|
- this.$message.error('上传图片只能是 JPG、PNG 格式!')
|
|
|
- return false
|
|
|
- }
|
|
|
- // let name=file.raw.name
|
|
|
- // var image = new Image();
|
|
|
- // image.src = window.URL.createObjectURL(file.raw);
|
|
|
- // image.onload = function(){
|
|
|
- // let aaa= that.base64ToFile(that.compress(image, 500, 400, 0.7),name)
|
|
|
- // that.carbackImg = image.src;
|
|
|
- // const params = new FormData(); // 声明formData数据类型
|
|
|
- // params.append("multipartFile", aaa);
|
|
|
- // params.append("type", "image");
|
|
|
- // that.$api.letter.uploadFile(params).then(res => {
|
|
|
- // if (res.code == "200") {
|
|
|
- // that.CarBackFile = aaa;//文件流
|
|
|
- // if (that.imageList1.some(v => v.imageType == 'D01')) {
|
|
|
- // that.imageList1.map(val => {
|
|
|
- // if (val.imageType == 'D01') {
|
|
|
- // val.imageId = res.data.id;
|
|
|
- // }
|
|
|
- // })
|
|
|
- // } else {
|
|
|
- // that.imageList1.push({
|
|
|
- // imageId: res.data.id,
|
|
|
- // imageType: "D01",
|
|
|
- // })
|
|
|
- // }
|
|
|
- // } else {
|
|
|
- // that.$message({ message: res.msg, type: "warning" });
|
|
|
- // }
|
|
|
- // });
|
|
|
- // }
|
|
|
- //选择行驶证反面
|
|
|
- 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) {
|
|
|
- let that = this
|
|
|
- let size = file.size / 1024 / 1024 < 5;
|
|
|
- const isJPG = file.raw.type === 'image/jpeg' || file.raw.type === 'image/png';
|
|
|
- if (!size) {
|
|
|
- this.$message.error('上传图片大小不能超过 5MB!')
|
|
|
- return false
|
|
|
- }
|
|
|
- if (!isJPG) {
|
|
|
- this.$message.error('上传图片只能是 JPG、PNG 格式!')
|
|
|
- return false
|
|
|
- }
|
|
|
- // let name=file.raw.name
|
|
|
- // var image = new Image();
|
|
|
- // image.src = window.URL.createObjectURL(file.raw);
|
|
|
- // image.onload = function(){
|
|
|
- // let aaa= that.base64ToFile(that.compress(image, 500, 400, 0.7),name)
|
|
|
- // that.userfrontImg = image.src;
|
|
|
- // const params = new FormData(); // 声明formData数据类型
|
|
|
- // params.append("multipartFile", aaa);
|
|
|
- // params.append("type", "image");
|
|
|
- // that.$api.letter.uploadFile(params).then(res => {
|
|
|
- // if (res.code == "200") {
|
|
|
- // let type = 'C0' + that.userIndex;
|
|
|
- // if (that['imageList' + that.userIndex].some(v => v.imageType == type)) {
|
|
|
- // that['imageList' + that.userIndex].map(val => {
|
|
|
- // if (val.imageType == type) {
|
|
|
- // val.imageId = res.data.id;
|
|
|
- // }
|
|
|
- // })
|
|
|
- // } else {
|
|
|
- // that['imageList' + that.userIndex].push({
|
|
|
- // imageId: res.data.id,
|
|
|
- // imageType: type,
|
|
|
- // })
|
|
|
- // }
|
|
|
- // that[type + 'File'] = aaa;
|
|
|
- // } else {
|
|
|
- // that.$message({ message: res.msg, type: "warning" });
|
|
|
- // }
|
|
|
- // });
|
|
|
- // }
|
|
|
- //选择身份证正面
|
|
|
- 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) {
|
|
|
- let that = this
|
|
|
- let size = file.size / 1024 / 1024 < 5;
|
|
|
- const isJPG = file.raw.type === 'image/jpeg' || file.raw.type === 'image/png';
|
|
|
- if (!size) {
|
|
|
- this.$message.error('上传图片大小不能超过 5MB!')
|
|
|
- return false
|
|
|
- }
|
|
|
- if (!isJPG) {
|
|
|
- this.$message.error('上传图片只能是 JPG、PNG 格式!')
|
|
|
- return false
|
|
|
- }
|
|
|
- // let name=file.raw.name
|
|
|
- // var image = new Image();
|
|
|
- // image.src = window.URL.createObjectURL(file.raw);
|
|
|
- // image.onload = function(){
|
|
|
- // let aaa= that.base64ToFile(that.compress(image, 500, 400, 0.7),name)
|
|
|
- // that.userbackImg = image.src;
|
|
|
- // const params = new FormData(); // 声明formData数据类型
|
|
|
- // params.append("multipartFile", aaa);
|
|
|
- // params.append("type", "image");
|
|
|
- // that.$api.letter.uploadFile(params).then(res => {
|
|
|
- // if (res.code == "200") {
|
|
|
- // let type = 'D0' + that.userIndex;
|
|
|
- // if (that['imageList' + that.userIndex].some(v => v.imageType == type)) {
|
|
|
- // that['imageList' + that.userIndex].map(val => {
|
|
|
- // if (val.imageType == type) {
|
|
|
- // val.imageId = res.data.id;
|
|
|
- // }
|
|
|
- // })
|
|
|
- // } else {
|
|
|
- // that['imageList' + that.userIndex].push({
|
|
|
- // imageId: res.data.id,
|
|
|
- // imageType: type,
|
|
|
- // })
|
|
|
- // }
|
|
|
- // that[type + 'File'] = aaa;
|
|
|
- // } else {
|
|
|
- // that.$message({ message: res.msg, type: "warning" });
|
|
|
- // }
|
|
|
- // });
|
|
|
- // }
|
|
|
- //选择身份证背面
|
|
|
- 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;
|
|
|
- console.log(carInfo);
|
|
|
- if (carInfo.issueDate) {
|
|
|
- carInfo.issueDate =
|
|
|
- carInfo.issueDate.substring(0, 4) +
|
|
|
- "-" +
|
|
|
- carInfo.issueDate.substring(4, 6) +
|
|
|
- "-" +
|
|
|
- carInfo.issueDate.substring(6, 8);
|
|
|
- }
|
|
|
- if (carInfo.registerDate) {
|
|
|
- carInfo.registerDate =
|
|
|
- carInfo.registerDate.substring(0, 4) +
|
|
|
- "-" +
|
|
|
- carInfo.registerDate.substring(4, 6) +
|
|
|
- "-" +
|
|
|
- carInfo.registerDate.substring(6, 8);
|
|
|
- }
|
|
|
- this.carform.carOwner = carInfo.carOwner; //车主
|
|
|
- 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.limitLoad = carInfo.limitLoad; //核定载质量
|
|
|
- this.carform.category = carInfo.category; //车辆类型
|
|
|
- this.carform.carnature = carInfo.useNature; //使用性质
|
|
|
- this.carform.vehicleUse = carInfo.vehicleUse; //车辆用途
|
|
|
- this.carform.plateType = carInfo.plateType; //车辆种类
|
|
|
- this.carform.approvedPassengersCapacity =
|
|
|
- carInfo.approvedPassengersCapacity; //核定载客数
|
|
|
-
|
|
|
- });
|
|
|
- },
|
|
|
- CarOCRconfirm() {
|
|
|
- //传参 carnature
|
|
|
- this.ownerInfo.name = this.carform.carOwner; //车主
|
|
|
- this.carInfo.cartype = 'K33'
|
|
|
- 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.seatCount = this.carform.approvedPassengersCapacity; //核定载客数
|
|
|
- this.carInfo.vehicleweight = this.carform.grossMass; //总质量
|
|
|
- this.carInfo.completeKerbMass = this.carform.unladenMass; //整备质量
|
|
|
- this.carInfo.limitLoad = this.carform.limitLoad; //核定载质量
|
|
|
- this.carInfo.cartype = this.carform.category; //车辆类型
|
|
|
- this.carInfo.carnature = this.carform.carnature ? this.carform.carnature : '02'; //使用性质
|
|
|
- this.carInfo.vehicleUse = this.carform.vehicleUse ? this.carform.vehicleUse : '05'; //车辆用途
|
|
|
- this.carInfo.cimodelclass = this.carform.plateType; //车辆种类
|
|
|
- if (this.timeformat(this.carform.registerDate) != 'NaN-NaN-NaN') {
|
|
|
- this.carInfo.registerDate = this.carform.registerDate; //车牌号
|
|
|
- }
|
|
|
- if (this.timeformat(this.carform.issueDate) != 'NaN-NaN-NaN') {
|
|
|
- this.carInfo.issueDate = this.carform.issueDate; //车牌号
|
|
|
- }
|
|
|
- this.uploadcardialogVisible = false;
|
|
|
- },
|
|
|
- handleRemove(e) {
|
|
|
- //删除图片
|
|
|
- this[e] = "";
|
|
|
- switch (this.userIndex) {
|
|
|
- case 0:
|
|
|
- this.carfrontImg = '';
|
|
|
- this.carbackImg = '';
|
|
|
- this.CarFrontFile = ''; // 行驶证正面base64
|
|
|
- this.CarBackFile = ''; // 行驶证背面base64
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- this.userfrontImg = '';
|
|
|
- this.userbackImg = '';
|
|
|
- this.C02File = ''; // 车主正面base64
|
|
|
- this.D02File = ''; // 车主背面base64
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- this.userfrontImg = '';
|
|
|
- this.userbackImg = '';
|
|
|
- this.C03File = ''; // 投保人正面base64
|
|
|
- this.D03File = ''; // 投保人背面base64
|
|
|
- break;
|
|
|
- case 4:
|
|
|
- this.userfrontImg = '';
|
|
|
- this.userbackImg = '';
|
|
|
- this.C04File = ''; // 被保人正面base64
|
|
|
- this.D04File = ''; // 被保人背面base64
|
|
|
- break;
|
|
|
- default:
|
|
|
- }
|
|
|
- },
|
|
|
- //预览图片
|
|
|
- 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.gender = customerInfo.identifyIssuedCom;
|
|
|
- this.ownerInfoform.addr = customerInfo.addr;
|
|
|
- if (customerInfo.identifyNumber) {
|
|
|
- this.ownerInfoform.age = getAgeByIdCard(customerInfo.identifyNumber)
|
|
|
- }
|
|
|
- if (customerInfo.identifyValidDate || customerInfo.identifyValidEndDate) {
|
|
|
- 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);
|
|
|
- if (customerInfo.identifyValidEndDate == '长期') {
|
|
|
- this.ownerInfoform.identifyValidEndDate = '9999-12-31';
|
|
|
- }
|
|
|
- }
|
|
|
- // let values = addressCode(this.ownerInfoform.addr);
|
|
|
- // this.ownerInfoform.province = codeToText[values[0]]
|
|
|
- // this.ownerInfoform.city = codeToText[values[1]]
|
|
|
- // this.ownerInfoform.county = codeToText[values[2]]
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- userOCRconfirm() {
|
|
|
- //传参
|
|
|
- switch (this.userIndex) {
|
|
|
- case 2:
|
|
|
- // this.selectedOptions1 = addressCode(this.ownerInfoform.addr);
|
|
|
- this.ownerInfo = JSON.parse(JSON.stringify(this.ownerInfoform));
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- // this.selectedOptions2 = addressCode(this.ownerInfoform.addr);
|
|
|
- this.policyHolderInfo = JSON.parse(
|
|
|
- JSON.stringify(this.ownerInfoform)
|
|
|
- );
|
|
|
- break;
|
|
|
- case 4:
|
|
|
- // this.selectedOptions3 = addressCode(this.ownerInfoform.addr);
|
|
|
- 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;
|
|
|
- case 5:
|
|
|
- this.businessImg = '';
|
|
|
- // 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":
|
|
|
- if (ele.amount == 1) {
|
|
|
- ele.amount = "投保"
|
|
|
- } else {
|
|
|
- ele.amount = 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;
|
|
|
- });
|
|
|
- }
|
|
|
- data.logoImg = this.iconfftter(res.data.inscompany);
|
|
|
- this.queryOrders = data;
|
|
|
- if (this.$store.state.user.roles.managementSource && this.$store.state.user.roles.managementSource == '3') {
|
|
|
- this.$refs.quotationDialogPro.setBackupVisible(true)
|
|
|
- }
|
|
|
- else {
|
|
|
- this.$refs.quotationDialog.setBackupVisible(true)
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- //返回上一步
|
|
|
- Back() { },
|
|
|
- carcode(id, item) {
|
|
|
- this.$api.letter.getQrCode(id).then(res => {
|
|
|
- if (res.code == '200') {
|
|
|
- this.inscompany = res.data.inscompany;//保险公司
|
|
|
- this.sumpremium = res.data.sumpremium;//总价
|
|
|
- this.licenseNo = res.data.cPlateNo;//车牌号
|
|
|
- this.applyName = res.data.cInsuredNme;//车主
|
|
|
- this.jqpremium = res.data.jqpremium;//交强
|
|
|
- this.sypremium = res.data.sypremium;//商业
|
|
|
- this.taxamount = res.data.taxamount;//车船税
|
|
|
- this.jypremium = res.data.jypremium;//驾意险
|
|
|
- this.jqstartdate = res.data.jqStartDate;//交强起保日期
|
|
|
- this.systartdate = res.data.syStartDate;//商业起保日期
|
|
|
- // this.mobile = res.data.applyinfo.mobile;//投保人手机号
|
|
|
- this.$nextTick(() => {
|
|
|
- if (item.inscompany == '太平财险') {
|
|
|
- let anresult = res.data.qrCodeUrl.replace(/[\r\n]/g, "");
|
|
|
- let animgBase64 = `data:image/png;base64,${anresult}`;
|
|
|
- base64ToPath(animgBase64)
|
|
|
- .then(path => {
|
|
|
- this.paycodeimg = path;
|
|
|
- })
|
|
|
- }
|
|
|
- else {
|
|
|
- this.creatQrCode(res.data.qrCodeUrl);
|
|
|
- }
|
|
|
- });
|
|
|
- if (this.$store.state.user.roles.managementSource && this.$store.state.user.roles.managementSource == '3') {
|
|
|
- this.codedialogVisiblePro = true;
|
|
|
- this.qrcodeWidth = '154'
|
|
|
- this.qrcodeHeight = '154'
|
|
|
- }
|
|
|
- else {
|
|
|
- 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, ...this.imageList5];
|
|
|
- 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" });
|
|
|
- }
|
|
|
- });
|
|
|
- this.imageUploaddialogVisible = false;
|
|
|
- },
|
|
|
- add() {
|
|
|
- this.obtainProtocol()
|
|
|
- this.$router.push({ path: '/letter/letter' })
|
|
|
- for (let key in this.ownerInfo) {
|
|
|
- this.ownerInfo[key] = "";
|
|
|
- }
|
|
|
- for (let key in this.policyHolderInfo) {
|
|
|
- this.policyHolderInfo[key] = "";
|
|
|
- }
|
|
|
- for (let key in this.insuredPersonInfo) {
|
|
|
- this.insuredPersonInfo[key] = "";
|
|
|
- }
|
|
|
- this.vehicleAndVesselTaxForm = {
|
|
|
- taxRelifFlag: "1",
|
|
|
- taxpayerIdentifier: "01",
|
|
|
- }
|
|
|
- this.ownerInfo.provinceData = []
|
|
|
- this.insuredPersonInfo.provinceData = []
|
|
|
- this.policyHolderInfo.provinceData = []
|
|
|
- this.carInfo = JSON.parse(localStorage.getItem('carInfo'));
|
|
|
- this.insureList = JSON.parse(localStorage.getItem('insureList'));
|
|
|
- this.sychecked = false;
|
|
|
- this.yonganchecked = false;
|
|
|
- this.zhongmeichecked = false;
|
|
|
- this.transferDateShow = false;
|
|
|
- this.tbczcarShow = true, //投保人同车主
|
|
|
- // this.bbczcarShow = false, //被保人同车主
|
|
|
- this.bbtbcarShow = true, //被保人同投保人
|
|
|
- this.imageList1 = []
|
|
|
- this.imageList2 = []
|
|
|
- this.imageList3 = []
|
|
|
- this.imageList4 = []
|
|
|
- this.imgList1 = [];
|
|
|
- this.imgList2 = [];
|
|
|
- this.imgList3 = [];
|
|
|
- this.imgList4 = [];
|
|
|
- this.imgList5 = [];
|
|
|
- this.imgList6 = [];
|
|
|
- this.imgList7 = [];
|
|
|
- this.imgList8 = [];
|
|
|
-
|
|
|
- // 清空保险公司选中的意外险
|
|
|
- this.insuranceZJ = ''
|
|
|
- this.insuranceZA = ''
|
|
|
- this.insuranceHB = ''
|
|
|
- this.insuranceHN = ''
|
|
|
- this.insuranceRS = ''
|
|
|
- this.insuranceDJ = ''
|
|
|
- this.accidentForm = {
|
|
|
- fen: "1",
|
|
|
- premium: 0
|
|
|
- };
|
|
|
- this.hengbangaccidentalDrivingVo = {};
|
|
|
- this.huanongaccidentalDrivingVo = {};
|
|
|
- this.taipingaccidentalDrivingVo = {};
|
|
|
- this.zhongmeiaccidentalDrivingVo = {};
|
|
|
- this.accidentalDrivingVo = []
|
|
|
- this.zhonganaccidentalDrivingVo = {};
|
|
|
- this.renshouaccidentalDrivingVo = {};
|
|
|
- this.anshengaccidentalDrivingVo = {};
|
|
|
- this.dajiaaccidentalDrivingVo = {};
|
|
|
- // this.selectedOptions1 = [];
|
|
|
- // this.selectedOptions2 = [];
|
|
|
- // this.selectedOptions3 = [];
|
|
|
- this.orderno = "";
|
|
|
- this.quoteno = "";
|
|
|
- this.lastCompanyId = '';
|
|
|
- this.HistoryList = [];
|
|
|
- this.jqstartDate = this.transformTime1();
|
|
|
- this.jqendDate = this.oneYearPast1(this.jqstartDate);
|
|
|
- this.systartDate = this.transformTime1();
|
|
|
- this.syendDate = this.oneYearPast1(this.jqstartDate);
|
|
|
-
|
|
|
- },
|
|
|
- toChinesNum(num) {
|
|
|
- if (num.toString().length == 4) {
|
|
|
- let overQian = Math.floor(num / 1000);
|
|
|
- let result = overQian + "千";
|
|
|
- return result;
|
|
|
- }
|
|
|
- else {
|
|
|
- let overWan = Math.floor(num / 10000);
|
|
|
- let result = overWan + "万";
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
- },
|
|
|
- reportDrop(event) {
|
|
|
- event.preventDefault();
|
|
|
- event.stopPropagation();
|
|
|
- },
|
|
|
- tabLiScroll(id, idx) {
|
|
|
- this.tabLiIndex = idx
|
|
|
- document.getElementById(id).scrollIntoView({ behavior: "smooth" });
|
|
|
- },
|
|
|
- handleScroll(id) {
|
|
|
- document.getElementById(id).scrollIntoView({ behavior: "smooth" });
|
|
|
- }
|
|
|
- }
|
|
|
-};
|
|
|
-</script>
|
|
|
-<style>
|
|
|
-/* .customNotifyClass {
|
|
|
- word-break: break-all;
|
|
|
- width: 600px;
|
|
|
-} */
|
|
|
-</style>
|
|
|
-<style lang="scss" scoped>
|
|
|
-.marginL {
|
|
|
- margin-left: 10px;
|
|
|
+ name:'letter',
|
|
|
+ components: { Ktletter },
|
|
|
}
|
|
|
-
|
|
|
-.el-notification {
|
|
|
- width: 600px;
|
|
|
-}
|
|
|
-
|
|
|
-.styleB .el-upload--picture-card {
|
|
|
- // display: none;
|
|
|
- opacity: 0;
|
|
|
-}
|
|
|
-
|
|
|
-.ORcodebody {
|
|
|
- height: auto;
|
|
|
- background: url(../../assets/image/group.png) #fff;
|
|
|
- padding: 16px;
|
|
|
-}
|
|
|
-
|
|
|
-.csstool {
|
|
|
- font-weight: 600;
|
|
|
- color: #606266;
|
|
|
- font-size: 14px;
|
|
|
- margin: 0 20px;
|
|
|
-
|
|
|
- span {
|
|
|
- margin-right: 5px;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-.ORcode {
|
|
|
- width: 100%;
|
|
|
- height: auto;
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- align-items: center;
|
|
|
- padding: 30px;
|
|
|
- box-sizing: border-box;
|
|
|
-
|
|
|
- &>div {
|
|
|
- width: 176px;
|
|
|
- height: 176px;
|
|
|
- border: 1px solid var(--themeColor);
|
|
|
- border-radius: 5px;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-.ORtitle {
|
|
|
- width: 100%;
|
|
|
- padding-bottom: 20px;
|
|
|
- box-sizing: border-box;
|
|
|
-
|
|
|
- &>div {
|
|
|
- width: 100%;
|
|
|
- margin: 10px 0;
|
|
|
- font-size: 14px;
|
|
|
-
|
|
|
- &>span {
|
|
|
- &:nth-child(1) {
|
|
|
- color: #868B98;
|
|
|
- text-align: end;
|
|
|
- width: 150px;
|
|
|
- }
|
|
|
-
|
|
|
- &:nth-child(2) {
|
|
|
- color: #333333;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-.Risk {
|
|
|
- width: 100%;
|
|
|
- height: auto;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- align-items: center;
|
|
|
- font-size: 12px;
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-.dis {
|
|
|
- display: flex;
|
|
|
-}
|
|
|
-
|
|
|
-.align {
|
|
|
- align-items: center;
|
|
|
-}
|
|
|
-
|
|
|
-.jus {
|
|
|
- justify-content: space-between;
|
|
|
-}
|
|
|
-
|
|
|
-.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: #333333;
|
|
|
- // font-weight: 700;
|
|
|
-}
|
|
|
-
|
|
|
-.home {
|
|
|
- // padding-left: 10px;
|
|
|
- box-sizing: border-box;
|
|
|
- padding-bottom: 10px;
|
|
|
- border-bottom: 1px solid #EEF1F6;
|
|
|
-
|
|
|
- &>span {
|
|
|
- margin-right: 10px;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-.hovers {
|
|
|
- margin: 10px 0;
|
|
|
- cursor: pointer;
|
|
|
- padding: 10px 0;
|
|
|
- box-sizing: border-box;
|
|
|
- border-bottom: 1px solid #f2f2f2;
|
|
|
-
|
|
|
- .offer-time {
|
|
|
- margin: 20px 0 0px 100px;
|
|
|
- padding: 10px;
|
|
|
- background: rgba(45, 77, 137, 0.06);
|
|
|
- ;
|
|
|
-
|
|
|
- &>span {
|
|
|
- margin: 0 10px;
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-/* 内容待定 */
|
|
|
-.coll {
|
|
|
- font-size: 14px;
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-.display {
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- align-items: center;
|
|
|
- box-sizing: border-box;
|
|
|
-}
|
|
|
-
|
|
|
-.black {
|
|
|
- color: #000;
|
|
|
-}
|
|
|
-
|
|
|
-.gray {
|
|
|
- color: #999;
|
|
|
-}
|
|
|
-
|
|
|
-.OCR {
|
|
|
- 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: 100%;
|
|
|
- margin: 0 auto;
|
|
|
- padding: 15px 10px;
|
|
|
- color: #333;
|
|
|
- font-weight: bold;
|
|
|
- font-size: 14px;
|
|
|
- background-color: #F7F7F9;
|
|
|
-}
|
|
|
-
|
|
|
-.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: 15px 10px;
|
|
|
- background-color: #F7F7F9;
|
|
|
- // border-bottom: 1px solid #e3e3e3;
|
|
|
- font-size: 14px;
|
|
|
-}
|
|
|
-
|
|
|
-.more-data {
|
|
|
- padding: 10px;
|
|
|
- border-bottom: 1px solid #f2f2f2;
|
|
|
- color: #D42426;
|
|
|
- font-size: 14px;
|
|
|
-}
|
|
|
-
|
|
|
-.Driving-risk {
|
|
|
- padding-left: 100px;
|
|
|
- // padding-top:20px
|
|
|
-}
|
|
|
-
|
|
|
-.checkbox {
|
|
|
- transform: scale(1.2);
|
|
|
- margin-right: 20px;
|
|
|
- line-height: 32px;
|
|
|
-}
|
|
|
-
|
|
|
-.insure-long-term {
|
|
|
- display: inline-flex;
|
|
|
- padding-left: 8px;
|
|
|
- padding-right: 8px;
|
|
|
- background: var(--themeColor);
|
|
|
- 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+ */
|
|
|
-}
|
|
|
-
|
|
|
-.aaa /deep/ {
|
|
|
- margin-bottom: 20px;
|
|
|
- margin-right: 50px;
|
|
|
-
|
|
|
- span {
|
|
|
- display: inline-block;
|
|
|
- margin-bottom: 10px;
|
|
|
- }
|
|
|
-
|
|
|
- .el-upload .el-upload-dragger {
|
|
|
- width: 180px;
|
|
|
- height: 120px;
|
|
|
- border: 1px dashed #c0ccda;
|
|
|
- padding: 0;
|
|
|
- }
|
|
|
-
|
|
|
- .el-upload-list--picture-card .el-upload-list__item {
|
|
|
- width: 180px;
|
|
|
- height: 120px;
|
|
|
- }
|
|
|
-
|
|
|
- .el-upload-list__item:first-child {
|
|
|
- margin-top: 0;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-.jyxStyle>span {
|
|
|
- display: inline-block;
|
|
|
- text-align: center;
|
|
|
-}
|
|
|
-
|
|
|
-.tab-style {
|
|
|
- width: 110px;
|
|
|
-
|
|
|
- li {
|
|
|
- text-align: right;
|
|
|
- padding-right: 20px;
|
|
|
- line-height: 40px;
|
|
|
- cursor: pointer;
|
|
|
- box-sizing: border-box;
|
|
|
- border-right: 1px solid #E2E5EB;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- li:focus {
|
|
|
- background: rgba(212, 36, 38, 0.1);
|
|
|
- border-right: 2px solid var(--themeColor);
|
|
|
- color: var(--themeColor);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-.tabLi-style {
|
|
|
- background: rgba(212, 36, 38, 0.1);
|
|
|
- border-right: 2px solid var(--themeColor);
|
|
|
- color: var(--themeColor);
|
|
|
-}
|
|
|
-
|
|
|
-.scan-code {
|
|
|
- div {
|
|
|
- margin-top: 10px;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-/* 清除图片上传动画bug */
|
|
|
-/deep/ {
|
|
|
- .proSaomazhifucodeClass .el-dialog__header {
|
|
|
- background: rgba(45, 77, 137, 0.1);
|
|
|
- font-weight: bold;
|
|
|
- }
|
|
|
-
|
|
|
- .proSaomazhifucodeClass .el-dialog__footer {
|
|
|
- border-top: 1px solid #EEF1F6;
|
|
|
- }
|
|
|
-
|
|
|
- .el-upload-list__item {
|
|
|
- transition: none !important;
|
|
|
- }
|
|
|
-
|
|
|
- .el-checkbox__input {
|
|
|
- &.is-checked {
|
|
|
- .el-checkbox__inner {
|
|
|
- background-color: #D42426;
|
|
|
- border-color: #D42426;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .el-checkbox__inner {
|
|
|
- border: 1px solid var(--themeColor);
|
|
|
-
|
|
|
- &:hover {
|
|
|
- border-color: var(--themeColorHover);
|
|
|
- }
|
|
|
-
|
|
|
- &:focus {
|
|
|
- border-color: var(--themeColor);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .el-upload .el-upload-dragger {
|
|
|
- height: 250px;
|
|
|
- width: 400px;
|
|
|
- border: 1px dashed #CED4DA;
|
|
|
- }
|
|
|
-
|
|
|
- .el-upload--picture-card {
|
|
|
- width: 180px;
|
|
|
- height: 120px;
|
|
|
- }
|
|
|
-
|
|
|
- .el-upload-list__item {
|
|
|
- width: 180px;
|
|
|
- height: 120px;
|
|
|
- margin: 0 !important;
|
|
|
- display: block !important;
|
|
|
- }
|
|
|
-
|
|
|
- .el-upload-list--picture-card .el-upload-list__item-thumbnail {
|
|
|
- width: 180px;
|
|
|
- height: 120px;
|
|
|
- }
|
|
|
-
|
|
|
- // .el-button--warning {
|
|
|
- // color: #fff;
|
|
|
- // background-color: #D42426;
|
|
|
- // border-color: #D42426;
|
|
|
-
|
|
|
- // &:hover {
|
|
|
- // color: #fff;
|
|
|
- // background-color: #ee6f00ce;
|
|
|
- // border-color: #ee6f00ce;
|
|
|
- // }
|
|
|
- // }
|
|
|
-
|
|
|
- .el-descriptions-item__label {
|
|
|
- &:not(.is-bordered-label) {
|
|
|
- color: #333;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // .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 {
|
|
|
- height: 128px;
|
|
|
- }
|
|
|
-
|
|
|
- .styleB .el-upload--picture-card {
|
|
|
- display: none;
|
|
|
- }
|
|
|
-
|
|
|
- .saomazhifucodeClass .el-dialog__body,
|
|
|
- .saomazhifucodeClass .el-dialog__header,
|
|
|
- .saomazhifucodeClass .el-dialog__footer {
|
|
|
- padding: 0;
|
|
|
- background: #F4E9E9;
|
|
|
- }
|
|
|
-
|
|
|
- .saomazhifucodeClass .el-dialog__body {
|
|
|
- padding: 15px;
|
|
|
- }
|
|
|
-
|
|
|
- .saomazhifucodeClass .el-dialog__footer {
|
|
|
- background: #F4E9E9;
|
|
|
- padding-bottom: 15px;
|
|
|
- }
|
|
|
-
|
|
|
- .saomazhifucodeClass .el-dialog__headerbtn {
|
|
|
- margin-top: 10px
|
|
|
- }
|
|
|
-
|
|
|
- .zmDriving {
|
|
|
- thead .el-table-column--selection .cell {
|
|
|
- display: none !important;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .synchronous {
|
|
|
- width: 75px;
|
|
|
- height: 45px;
|
|
|
- line-height: 45px;
|
|
|
- color: #fff;
|
|
|
-
|
|
|
- cursor: pointer;
|
|
|
- background: url(../../../src/icon/Union2.png) no-repeat 100%;
|
|
|
- }
|
|
|
-
|
|
|
- .synchronous:hover {
|
|
|
- background: url(../../../src/icon/Union1.png) no-repeat 100%;
|
|
|
- }
|
|
|
-
|
|
|
- .line_style {
|
|
|
- margin-top: 20px;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- .el-input-group__append {
|
|
|
- vertical-align: baseline;
|
|
|
- }
|
|
|
-}
|
|
|
-</style>
|
|
|
+</script>
|