|
|
@@ -42,7 +42,7 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
- <el-form-item :disabled="insurancePolicyForm.isRegistered==2" label="车牌" prop="licenseNo">
|
|
|
+ <el-form-item :disabled="insurancePolicyForm.isRegistered=='2'" label="车牌" prop="licenseNo">
|
|
|
<el-input v-model="insurancePolicyForm.licenseNo" minlength="7" maxlength="8" placeholder="输入车牌号" @change="getQuoteNumber"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -204,12 +204,18 @@
|
|
|
|
|
|
</el-row>
|
|
|
<template #icon="{ isActive }">
|
|
|
- <span class="icon">
|
|
|
+ <div class="icon">
|
|
|
<el-button link type="primary" @click.stop="handleRecognition('clxx')"><img src="@/assets/images/insurancePolicy/sao.png" class="myIcon" />证件识别</el-button>
|
|
|
- <span class="icon-ele">
|
|
|
+ <span class="icon-ele flex a-c ">
|
|
|
{{ isActive ? '收起' : '展开' }}
|
|
|
</span>
|
|
|
- </span>
|
|
|
+ <el-icon v-if="isActive" color="#333">
|
|
|
+ <ArrowDownBold />
|
|
|
+ </el-icon>
|
|
|
+ <el-icon v-else color="#333">
|
|
|
+ <ArrowUpBold />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-collapse-item>
|
|
|
<el-collapse-item name="owner">
|
|
|
@@ -349,22 +355,30 @@
|
|
|
</el-col>-->
|
|
|
</el-row>
|
|
|
<template #icon="{ isActive }">
|
|
|
- <span class="icon">
|
|
|
+ <div class="icon">
|
|
|
<el-button link type="primary" @click.stop="handleRecognition('czxx')"><img src="@/assets/images/insurancePolicy/sao.png" class="myIcon" />证件识别</el-button>
|
|
|
<span class="icon-ele">
|
|
|
{{ isActive ? '收起' : '展开' }}
|
|
|
</span>
|
|
|
- </span>
|
|
|
+ <el-icon v-if="isActive" color="#333">
|
|
|
+ <ArrowDownBold />
|
|
|
+ </el-icon>
|
|
|
+ <el-icon v-else color="#333">
|
|
|
+ <ArrowUpBold />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-collapse-item>
|
|
|
<el-collapse-item name="owner1">
|
|
|
<template #title>
|
|
|
- <span class="title">
|
|
|
+ <div class="title">
|
|
|
投保人信息
|
|
|
- <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.owner1" :key="item" @click.stop="handleChange(item, 'owner1')">
|
|
|
+ <div class="ml-5 flex a-c">
|
|
|
+ <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.owner1" :key="item" @click.stop="handleChange(item, 'owner1')">
|
|
|
{{ item.text }}
|
|
|
</span>
|
|
|
- </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
<el-row :gutter="20" class="formItem formBlock" v-if="btns.owner1Text === '其他人'">
|
|
|
<el-col :span="6">
|
|
|
@@ -496,22 +510,31 @@
|
|
|
</el-col>-->
|
|
|
</el-row>
|
|
|
<template #icon="{ isActive }">
|
|
|
- <span class="icon">
|
|
|
+ <div class="icon">
|
|
|
<el-button link type="primary" @click.stop="handleRecognition('tbrxx')"><img src="@/assets/images/insurancePolicy/sao.png" class="myIcon" />证件识别</el-button>
|
|
|
<span class="icon-ele">
|
|
|
{{ isActive ? '收起' : '展开' }}
|
|
|
</span>
|
|
|
- </span>
|
|
|
+ <el-icon v-if="isActive" color="#333">
|
|
|
+ <ArrowDownBold />
|
|
|
+ </el-icon>
|
|
|
+ <el-icon v-else color="#333">
|
|
|
+ <ArrowUpBold />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-collapse-item>
|
|
|
<el-collapse-item name="owner2">
|
|
|
<template #title>
|
|
|
- <span class="title">
|
|
|
+ <div class="title">
|
|
|
被保人信息
|
|
|
- <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.owner2" :key="item" @click.stop="handleChange(item, 'owner2')">
|
|
|
+ <div class="ml-5 flex a-c">
|
|
|
+ <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.owner2" :key="item" @click.stop="handleChange(item, 'owner2')">
|
|
|
{{ item.text }}
|
|
|
</span>
|
|
|
- </span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
</template>
|
|
|
<el-row :gutter="20" class="formItem formBlock" v-if="btns.owner2Text === '其他人'">
|
|
|
<el-col :span="6">
|
|
|
@@ -643,22 +666,31 @@
|
|
|
</el-col>-->
|
|
|
</el-row>
|
|
|
<template #icon="{ isActive }">
|
|
|
- <span class="icon">
|
|
|
+ <div class="icon">
|
|
|
<el-button link type="primary" @click.stop="handleRecognition('bbrxx')"><img src="@/assets/images/insurancePolicy/sao.png" class="myIcon" />证件识别</el-button>
|
|
|
<span class="icon-ele">
|
|
|
{{ isActive ? '收起' : '展开' }}
|
|
|
</span>
|
|
|
- </span>
|
|
|
+ <el-icon v-if="isActive" color="#333">
|
|
|
+ <ArrowDownBold />
|
|
|
+ </el-icon>
|
|
|
+ <el-icon v-else color="#333">
|
|
|
+ <ArrowUpBold />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-collapse-item>
|
|
|
<el-collapse-item name="tax">
|
|
|
<template #title>
|
|
|
- <span class="title">
|
|
|
+ <div class="title">
|
|
|
车船税
|
|
|
- <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.owner3" :key="item" @click.stop="handleChange(item, 'owner3')">
|
|
|
+ <div class="ml-5 flex a-c">
|
|
|
+ <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.owner3" :key="item" @click.stop="handleChange(item, 'owner3')">
|
|
|
{{ item.text }}
|
|
|
</span>
|
|
|
- </span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
</template>
|
|
|
<div v-if="btns.owner3show === '正常交税'" style="width: 100%">
|
|
|
<el-row :gutter="20" class="formItem formBlock">
|
|
|
@@ -785,32 +817,40 @@
|
|
|
</el-row>
|
|
|
</div>
|
|
|
<template #icon="{ isActive }">
|
|
|
- <span class="icon">
|
|
|
+ <div class="icon">
|
|
|
<span class="icon-ele">
|
|
|
{{ isActive ? '收起' : '展开' }}
|
|
|
</span>
|
|
|
- </span>
|
|
|
+ <el-icon v-if="isActive" color="#333">
|
|
|
+ <ArrowDownBold />
|
|
|
+ </el-icon>
|
|
|
+ <el-icon v-else color="#333">
|
|
|
+ <ArrowUpBold />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-collapse-item>
|
|
|
<el-collapse-item name="insurance">
|
|
|
<template #title>
|
|
|
- <span class="title">
|
|
|
+ <div class="title">
|
|
|
投保信息
|
|
|
- <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in optionObj.insuranceType" :key="item.value" @click.stop="handleChange(item, 'insurance')">
|
|
|
+ <div class="ml-5 flex a-c">
|
|
|
+ <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in optionObj.insuranceType" :key="item.value" @click.stop="handleChange(item, 'insurance')">
|
|
|
{{ item.label }}
|
|
|
</span>
|
|
|
- </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
<el-form-item class="white-m-p24" label="车辆其他信息">
|
|
|
<el-checkbox v-model="insurancePolicyForm.transfer" value="1">是否过户</el-checkbox>
|
|
|
<el-checkbox v-model="insurancePolicyForm.biTransfer" value="2">商业险是否过户</el-checkbox>
|
|
|
<el-checkbox v-model="insurancePolicyForm.secondHandCar" value="3">二手车</el-checkbox>
|
|
|
</el-form-item>
|
|
|
- <div class="insurance-jq" v-if="insurancePolicyForm.productId === '0330' || insurancePolicyForm.productId === '0330034002' || insurancePolicyForm.productId === '0330034001'">
|
|
|
+ <div class="insurance-jq flex a-c " v-if="insurancePolicyForm.productId === '0330' || insurancePolicyForm.productId === '0330034002' || insurancePolicyForm.productId === '0330034001'">
|
|
|
<span>交强险</span>
|
|
|
<span class="checkbox" :class="{'cehcked': item.checked}" v-for="item in jqWork" :key="item" @click="JQChange(item)">{{ item.text }}</span>
|
|
|
<div class="time">
|
|
|
- <el-form-item prop="startDate" label="">
|
|
|
+ <el-form-item prop="startDate" label="" >
|
|
|
<el-date-picker
|
|
|
v-model="insurancePolicyForm.JQStartDate"
|
|
|
type="datetime"
|
|
|
@@ -821,7 +861,7 @@
|
|
|
:disabled-date="disabledDate"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- 至
|
|
|
+ <span class="ml-5 mr-5">至</span>
|
|
|
<el-form-item prop="endDate" label="">
|
|
|
<el-date-picker
|
|
|
v-model="insurancePolicyForm.JQEndDate"
|
|
|
@@ -833,11 +873,11 @@
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="insurance-jq" v-if="insurancePolicyForm.productId === '034001' || insurancePolicyForm.productId === '034002' || insurancePolicyForm.productId === '0330034002' || insurancePolicyForm.productId === '0330034001'">
|
|
|
+ <div class="insurance-jq flex a-c " v-if="insurancePolicyForm.productId === '034001' || insurancePolicyForm.productId === '034002' || insurancePolicyForm.productId === '0330034002' || insurancePolicyForm.productId === '0330034001'">
|
|
|
<span>商业险</span>
|
|
|
<span class="checkbox" :class="{'cehcked': item.checked}" v-for="item in syWork" :key="item" @click="SYChange(item)">{{ item.text }}</span>
|
|
|
<div class="time">
|
|
|
- <el-form-item prop="startDate" label="">
|
|
|
+ <el-form-item prop="startDate" label="" >
|
|
|
<el-date-picker
|
|
|
v-model="insurancePolicyForm.SYStartDate"
|
|
|
type="datetime"
|
|
|
@@ -849,7 +889,7 @@
|
|
|
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- 至
|
|
|
+ <span class="ml-5 mr-5">至</span>
|
|
|
<el-form-item prop="endDate" label="">
|
|
|
<el-date-picker
|
|
|
v-model="insurancePolicyForm.SYEndDate"
|
|
|
@@ -862,11 +902,17 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<template #icon="{ isActive }">
|
|
|
- <span class="icon">
|
|
|
+ <div class="icon">
|
|
|
<span class="icon-ele">
|
|
|
{{ isActive ? '收起' : '展开' }}
|
|
|
</span>
|
|
|
- </span>
|
|
|
+ <el-icon v-if="isActive" color="#333">
|
|
|
+ <ArrowDownBold />
|
|
|
+ </el-icon>
|
|
|
+ <el-icon v-else color="#333">
|
|
|
+ <ArrowUpBold />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-collapse-item>
|
|
|
<el-collapse-item name="company">
|
|
|
@@ -888,23 +934,23 @@
|
|
|
<el-table-column type="expand">
|
|
|
<template #default="scope">
|
|
|
<div class="equities">
|
|
|
- <div style="color: #333333; font-size: 16px;">客户权益</div>
|
|
|
+ <div class="mr-3 equitiesTitle">客户权益</div>
|
|
|
<div class="equitiesBox">
|
|
|
<div class="equitiesLabel">
|
|
|
- <img src="@/assets/images/home/huiyuan.svg" />
|
|
|
+ <img src="@/assets/images/home/quanyi.png" />
|
|
|
<div>掌柜权益</div>
|
|
|
</div>
|
|
|
<div class="circle"></div>
|
|
|
<div>为车主提供 "省心、省时、又省钱" 的全场景服务</div>
|
|
|
<el-button style="margin: 0 20px" size="small" type="primary" @click="handleOpenEquities">选择权益</el-button>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
<div class="equitiesChoice">
|
|
|
已选<span style="color: #0083FF">12</span>项去权益,共计<span style="color: #FF8C21">135.35</span>元
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="expandFlex">
|
|
|
- <p class="expandTitle">车险方案</p>
|
|
|
- <div style="width: calc(100% - 50px); overflow-x: hidden">
|
|
|
+ <div class="expandTitle flex a-c j-c">车险方案</div>
|
|
|
+ <div style="width: calc(100% - 50px); ">
|
|
|
<div class="product">
|
|
|
<span class="productItem" :class="{'productActive': scope.row.productIndex === index}" v-for="(item, index) in scope.row.projectList" @click.stop="handleProduct(scope, item, index)">{{ item.schemeName }}</span>
|
|
|
</div>
|
|
|
@@ -997,88 +1043,60 @@
|
|
|
</el-table>
|
|
|
</el-col>
|
|
|
<el-col :span="12" style="border-left: 1px dashed #eeeeee">
|
|
|
- <p style="text-align: center">保费因素</p>
|
|
|
- <el-table
|
|
|
- class="factorTable"
|
|
|
- :data="scope.row.factorData"
|
|
|
- >
|
|
|
- <el-table-column label="评分" prop="" width="50">--</el-table-column>
|
|
|
- <el-table-column label="交强险折扣系数" prop="">--</el-table-column>
|
|
|
- <el-table-column label="鼎然车辆风险评分" prop="">--</el-table-column>
|
|
|
- <el-table-column label="交强评分" prop="" width="70">--</el-table-column>
|
|
|
- <el-table-column label="商业评分" prop="" width="70">--</el-table-column>
|
|
|
- <el-table-column label="出险信息" prop="" width="70">--</el-table-column>
|
|
|
- <el-table-column label="总赔付率" prop="" width="70">--</el-table-column>
|
|
|
- <el-table-column label="交强赔付率" prop="" width="80">--</el-table-column>
|
|
|
- <el-table-column label="商业赔付率" prop="" width="80">--</el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-table
|
|
|
- class="factorTable"
|
|
|
- :data="scope.row.factorData"
|
|
|
- >
|
|
|
- <el-table-column label="类型" prop="" width="50">--</el-table-column>
|
|
|
- <el-table-column prop="">
|
|
|
- <template #header>
|
|
|
- <div style="display: flex; align-items: center; justify-content: center">
|
|
|
- <span>商业险折扣系数</span>
|
|
|
- <el-popover placement="bottom" width="200">
|
|
|
- <div style="display: flex; align-items: center; justify-content: space-between;">
|
|
|
- <span>NCD折扣系数</span>
|
|
|
- <span>0.8</span>
|
|
|
- </div>
|
|
|
- <div style="display: flex; align-items: center; justify-content: space-between;">
|
|
|
- <span>NCD折扣系数11</span>
|
|
|
- <span>0.811</span>
|
|
|
- </div>
|
|
|
- <template #reference>
|
|
|
- <div class="more">
|
|
|
- <el-icon><MoreFilled /></el-icon>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-popover>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template #default="props">
|
|
|
- <div style="display: flex; align-items: center; justify-content: center">
|
|
|
- <span>--</span>
|
|
|
- <el-popover placement="bottom" width="240" trigger="click">
|
|
|
- <div class="number">
|
|
|
- <p>商业险折扣系数和自主定价系数只能修改一个,修改后系统会重新报价,计算修改后的保费</p>
|
|
|
- <el-radio-group>
|
|
|
- <el-radio value="1" size="small" style="margin-bottom: 10px">
|
|
|
- <template #default>
|
|
|
- <div style="display: flex; justify-content: space-between; align-items: center; width: 180px">
|
|
|
- <span>商业险折扣系数</span>
|
|
|
- <el-input style="width: 80px" size="small"></el-input>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-radio>
|
|
|
- <el-radio value="2" size="small">
|
|
|
- <template #default>
|
|
|
- <div style="display: flex; justify-content: space-between; align-items: center; width: 180px">
|
|
|
- <span>自主定价系数</span>
|
|
|
- <el-input style="width: 80px" size="small"></el-input>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-radio>
|
|
|
- </el-radio-group>
|
|
|
- </div>`
|
|
|
-
|
|
|
- <template #reference>
|
|
|
- <el-icon style="font-size: 14px; color:#0083FF "><Edit /></el-icon>
|
|
|
- </template>
|
|
|
- </el-popover>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="交强出险次数" prop="" width="100">--</el-table-column>
|
|
|
- <el-table-column label="商业出险次数" prop="" width="100">--</el-table-column>
|
|
|
- <el-table-column label="交强续保" prop="" width="70">--</el-table-column>
|
|
|
- <el-table-column label="商业续保" prop="" width="70">--</el-table-column>
|
|
|
- <el-table-column label="总折扣率" prop="" width="70">--</el-table-column>
|
|
|
- <el-table-column label="商业折扣" prop="" width="70">--</el-table-column>
|
|
|
- <el-table-column label="交强折扣" prop="" width="70">--</el-table-column>
|
|
|
- </el-table>
|
|
|
+ <div class="premiumFactor">
|
|
|
+ <div class="header ">保费因素</div>
|
|
|
+ <div class="flex a-start f-wrap">
|
|
|
+ <div class="Factor-item flex a-c f-c ">
|
|
|
+ <span class="item-header flex a-c ">总赔付率</span>
|
|
|
+ <span>{{ scope.row.quoteResult?.scoreVo?.lossRation || '--' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="Factor-item flex a-c f-c ">
|
|
|
+ <span class="item-header flex a-c ">交强赔付率</span>
|
|
|
+ <span>{{ scope.row.quoteResult?.scoreVo?.jqLossRation || '--' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="Factor-item flex a-c f-c ">
|
|
|
+ <span class="item-header flex a-c ">商业赔付率</span>
|
|
|
+ <span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="Factor-item flex a-c f-c ">
|
|
|
+ <span class="item-header flex a-c ">类型</span>
|
|
|
+ <span>{{ scope.row.quoteResult?.scoreVo?.type || '续保' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="Factor-item flex a-c f-c ">
|
|
|
+ <span class="item-header flex a-c ">交强出险次数</span>
|
|
|
+ <span>{{ scope.row.quoteResult?.scoreVo?.ciClaims || '--' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="Factor-item flex a-c f-c ">
|
|
|
+ <span class="item-header flex a-c ">商业出险次数</span>
|
|
|
+ <span>{{ scope.row.quoteResult?.scoreVo?.biClaims || '--' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="Factor-item flex a-c f-c ">
|
|
|
+ <span class="item-header flex a-c ">交强续保</span>
|
|
|
+ <span>{{ scope.row.quoteResult?.scoreVo?.jqRenewal || '--' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="Factor-item flex a-c f-c ">
|
|
|
+ <span class="item-header flex a-c ">商业续保</span>
|
|
|
+ <span>{{ scope.row.quoteResult?.scoreVo?.syRenewal || '--' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="Factor-item flex a-c f-c ">
|
|
|
+ <span class="item-header flex a-c ">总折扣率</span>
|
|
|
+ <span>{{ scope.row.quoteResult?.scoreVo?.totalAdjustRate || '--' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="Factor-item flex a-c f-c ">
|
|
|
+ <span class="item-header flex a-c ">商业折扣</span>
|
|
|
+ <span>{{ scope.row.quoteResult?.scoreVo?.syAdjustRate || '--' }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="Factor-item flex a-c f-c ">
|
|
|
+ <span class="item-header flex a-c ">交强折扣</span>
|
|
|
+ <span>{{ scope.row.quoteResult?.scoreVo?.jqAdjustRate || '--' }}</span>
|
|
|
+ </div>
|
|
|
+ <!-- 各保司定制评分 -->
|
|
|
+ <div class="Factor-item flex a-c f-c " v-for="(item, index) in scope.row.quoteResult?.scoreVo?.scoreJson" :key="index">
|
|
|
+ <span class="item-header flex a-c ">{{ item.scoreName }}</span>
|
|
|
+ <span>{{ item.score || '--' }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</el-col>
|
|
|
<el-col :span="12" style="border-left: 1px dashed #eeeeee">
|
|
|
<p style="text-align: center">优惠信息</p>
|
|
|
@@ -1103,15 +1121,18 @@
|
|
|
<template #default="scope">
|
|
|
<div class="company">
|
|
|
<img :src="scope.row.logo"/>
|
|
|
- <span>{{ scope.row.name }}</span>
|
|
|
+ <span>{{ scope.row.nameSimple }}</span>
|
|
|
</div>
|
|
|
- <div class="company" style="margin-top: 10px;" v-if="scope.row.underwritingMsg">
|
|
|
- <span style="display: flex; align-items: center; color: #FF4545;"><el-icon style=" font-size: 14px"><Warning /></el-icon>核保失败</span>
|
|
|
+ <div class="company " style="margin-top: 10px;" v-if="scope.row.underwritingMsg">
|
|
|
+ <span style="display: flex; align-items: center; color: #FF4545;"><el-icon class="mr-2"><WarningFilled size="14" color="#FF4545" /></el-icon>核保失败</span>
|
|
|
<el-popover
|
|
|
title="提示"
|
|
|
- :content="scope.row.underwritingMsg"
|
|
|
+ raw-content
|
|
|
placement="bottom-end"
|
|
|
>
|
|
|
+ <template #default>
|
|
|
+ <span v-html="scope.row.underwritingMsg.replace(/\n/g, '<br>')"></span>
|
|
|
+ </template>
|
|
|
<template #reference>
|
|
|
<el-button link type="primary">查看详情</el-button>
|
|
|
</template>
|
|
|
@@ -1119,28 +1140,30 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="报价协议" prop="" align="center" width="260">
|
|
|
+ <el-table-column label="报价协议" prop="" align="center" width="300">
|
|
|
<template #default="scope">
|
|
|
- <el-select v-model="scope.row.agreement" :disabled="scope.row.isDispatch || scope.row.agreements.length == 1" v-if="currentRow.some(a => a.id === scope.row.id)" :placeholder="scope.row.isDispatch?'默认':'请选择'">
|
|
|
+ <el-select v-model="scope.row.agreement" :disabled="!!scope.row.isDispatch || scope.row.agreements?.length == 1" v-if="currentRow.some(a => a.id === scope.row.id)" :placeholder="scope.row.isDispatch?'默认':'请选择'">
|
|
|
<el-option v-for="item in scope.row.agreements" :value="item.id" :label="item.agreementName"></el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="" align="center">
|
|
|
<template #header>
|
|
|
- <div style="display: flex; align-items: center; justify-content: center">
|
|
|
+ <div style="display: flex; align-items: center; ">
|
|
|
<span style="margin-right: 10px">报价结果</span>
|
|
|
<el-checkbox @change="handleViewSuccess">仅查看报价成功</el-checkbox>
|
|
|
</div>
|
|
|
</template>
|
|
|
<template #default="scope">
|
|
|
<div class="result" v-if="currentRow.some(a => a.id === scope.row.id) && !scope.row.loading">
|
|
|
- <span class="resultItem">
|
|
|
+ <div class="resultItem">
|
|
|
<span v-if="scope.row.quoteResult?.costs?.sumPremium">总保费:{{ scope.row.quoteResult?.costs?.sumPremium }}</span>
|
|
|
- <span class="resultTips" v-if="scope.row.quoteResult?.feeNoDescription" @click="handleOpen(scope)">
|
|
|
- <el-icon style="color: #FF4545; font-size: 14px"><Warning /></el-icon> 未匹配费用
|
|
|
- </span>
|
|
|
- </span>
|
|
|
+
|
|
|
+ <div class="resultTips" v-if="scope.row.quoteResult?.feeNoDescription" @click="handleOpen(scope)">
|
|
|
+ <el-icon size="14" color="#FAA21E"><WarningFilled /></el-icon>
|
|
|
+ <span class="ml-1">未匹配到销管费用,不建议投保</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<div class="resultItem">
|
|
|
<span v-if="scope.row.quoteResult?.costs?.ciPremium" style="text-align: left; margin-right: 10px">交强:{{ `¥${scope.row.quoteResult?.costs?.ciPremium}` }}</span>
|
|
|
<span v-if="scope.row.quoteResult?.costs?.vvTax" style="text-align: left; margin-right: 10px">车船税:{{ `¥${scope.row.quoteResult?.costs?.vvTax}` }}</span>
|
|
|
@@ -1180,76 +1203,6 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="费用因子" align="center">
|
|
|
- <template #default="scope">
|
|
|
- <div style="width: 100%;" v-if="scope.row.quoteResult?.scoreVo?.scoreJson">
|
|
|
- <template v-for="(item, index) in scope.row.quoteResult?.scoreVo?.scoreJson" :key="index">
|
|
|
- <div class="costFactor">
|
|
|
- <span>{{ item.scoreName }}:</span><span>{{ item.score || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
|
|
|
- <span>交强险系数:</span><span>{{ item.jqLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
|
|
|
- <span>商业险系数:</span><span>{{ item.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
|
|
|
- <el-popover
|
|
|
- :width="200"
|
|
|
- placement="bottom"
|
|
|
- trigger="hover"
|
|
|
- >
|
|
|
- <template #reference>
|
|
|
- <span style="display: flex; align-items: center">更多信息:<el-icon color="#409eff"><InfoFilled /></el-icon></span>
|
|
|
- </template>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>NCD折扣系数:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>交通违法系数:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>自主定价系数:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>自助渠道系数:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>鼎然车险风险评分:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>交强评分:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>商业评分:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>出险信息:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>总赔付率:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>商业赔付率:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>总折扣率:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>交强折扣:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>商业折扣:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>类型:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- </el-popover>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
<el-table-column label="操作" align="center" width="360">
|
|
|
<template #default="scope">
|
|
|
<div v-if="currentRow.some(a => a.id === scope.row.id)">
|
|
|
@@ -1263,11 +1216,17 @@
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<template #icon="{ isActive }">
|
|
|
- <span class="icon">
|
|
|
+ <div class="icon">
|
|
|
<span class="icon-ele">
|
|
|
{{ isActive ? '收起' : '展开' }}
|
|
|
</span>
|
|
|
- </span>
|
|
|
+ <el-icon v-if="isActive" color="#333">
|
|
|
+ <ArrowDownBold />
|
|
|
+ </el-icon>
|
|
|
+ <el-icon v-else color="#333">
|
|
|
+ <ArrowUpBold />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-collapse-item>
|
|
|
<el-collapse-item name="history">
|
|
|
@@ -1332,11 +1291,17 @@
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<template #icon="{ isActive }">
|
|
|
- <span class="icon">
|
|
|
+ <div class="icon">
|
|
|
<span class="icon-ele">
|
|
|
{{ isActive ? '收起' : '展开' }}
|
|
|
</span>
|
|
|
- </span>
|
|
|
+ <el-icon v-if="isActive" color="#333">
|
|
|
+ <ArrowDownBold />
|
|
|
+ </el-icon>
|
|
|
+ <el-icon v-else color="#333">
|
|
|
+ <ArrowUpBold />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-collapse-item>
|
|
|
</el-collapse>
|
|
|
@@ -1719,6 +1684,10 @@ let insurancePolicyForm = ref({
|
|
|
systemType: '2',
|
|
|
propertyCode: '1',
|
|
|
isRegistered: '1',
|
|
|
+ // 业务员信息
|
|
|
+ salesman: '',
|
|
|
+ mobile: '',
|
|
|
+ deptId: '',
|
|
|
// 车辆
|
|
|
licenseNo: '',
|
|
|
vinNo: '',
|
|
|
@@ -2862,6 +2831,7 @@ let underwritingMsgShow = ref(false)
|
|
|
const handleUnderwritingClose = (bool, msg) => {
|
|
|
underwritingShow.value = false
|
|
|
if(msg) {
|
|
|
+ console.log(msg)
|
|
|
quoteData.value[underwritingIndex.value].underwritingMsg = msg
|
|
|
}
|
|
|
if(bool === 'success') {
|
|
|
@@ -3279,6 +3249,7 @@ const handleSubmit = async (InsurancePolicyRefs: FormInstance | undefined, scope
|
|
|
},
|
|
|
]
|
|
|
quoteData.value[scope.$index].quoteResult = res.data
|
|
|
+ console.log(res.data)
|
|
|
loading.value = false
|
|
|
quoteData.value[scope.$index].loading = false
|
|
|
console.log('报价后的数据', quoteData.value)
|
|
|
@@ -3525,16 +3496,17 @@ onMounted(() => {
|
|
|
border-left: 4px solid #00a0f4;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- justify-content: flex-start;
|
|
|
- padding-left: 12px;
|
|
|
+ padding-left: 8px;
|
|
|
margin-left: 24px;
|
|
|
color: #333333;
|
|
|
- font-size: 15px;
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: bold;
|
|
|
}
|
|
|
.icon{
|
|
|
padding-right: 24px;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
+
|
|
|
}
|
|
|
.myIcon{
|
|
|
display: inline-block;
|
|
|
@@ -3543,18 +3515,23 @@ onMounted(() => {
|
|
|
margin-right: 10px;
|
|
|
}
|
|
|
.icon-ele{
|
|
|
+ font-size: 14px;
|
|
|
margin-left: 10px;
|
|
|
+ color: #333;
|
|
|
+ margin-right: 6px;
|
|
|
}
|
|
|
.ordinary{
|
|
|
- height: 22px;
|
|
|
- line-height: 22px;
|
|
|
- padding: 0 10px;
|
|
|
+ height: 28px;
|
|
|
+ line-height: 28px;
|
|
|
+ padding: 0 12px;
|
|
|
border: 1px solid #EEEEEE;
|
|
|
border-radius: 2px;
|
|
|
color: #666666;
|
|
|
display: flex;
|
|
|
- font-size: 12px;
|
|
|
+ font-size: 14px;
|
|
|
margin: 0 5px;
|
|
|
+ font-weight: 400;
|
|
|
+ border-radius: 2px;
|
|
|
}
|
|
|
.active{
|
|
|
border: 1px solid #0083FF;
|
|
|
@@ -3563,20 +3540,17 @@ onMounted(() => {
|
|
|
background-size: 12px 12px;
|
|
|
}
|
|
|
.insurance-jq{
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: flex-start;
|
|
|
margin: 10px 0 24px 24px;
|
|
|
.checkbox{
|
|
|
margin: 0 24px;
|
|
|
- height: 22px;
|
|
|
- line-height: 22px;
|
|
|
- padding: 0 10px;
|
|
|
+ height: 28px;
|
|
|
+ line-height: 28px;
|
|
|
+ padding: 0 12px;
|
|
|
border: 1px solid #EEEEEE;
|
|
|
border-radius: 2px;
|
|
|
color: #666666;
|
|
|
display: flex;
|
|
|
- font-size: 12px;
|
|
|
+ font-size: 14px;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
.cehcked{
|
|
|
@@ -3588,7 +3562,9 @@ onMounted(() => {
|
|
|
.time{
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- justify-content: flex-start;
|
|
|
+ .el-form-item{
|
|
|
+ margin-bottom: 0;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
.success{
|
|
|
@@ -3622,7 +3598,8 @@ onMounted(() => {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: flex-start;
|
|
|
- font-size: 12px;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #666;
|
|
|
.resultTips{
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
@@ -3630,11 +3607,17 @@ onMounted(() => {
|
|
|
background: #FFFAEF;
|
|
|
border: 1px solid #FAA21E;
|
|
|
border-radius: 2px;
|
|
|
- padding: 0 4px;
|
|
|
- font-size: 10px;
|
|
|
+ padding: 0 10px 0 5px;
|
|
|
+ font-size: 12px;
|
|
|
margin-left: 10px;
|
|
|
+ color: #333;
|
|
|
}
|
|
|
}
|
|
|
+ .resultItem:first-child >span{
|
|
|
+ font-size: 14px;
|
|
|
+ color: #333;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
.costFactor{
|
|
|
width: 100%;
|
|
|
display: flex;
|
|
|
@@ -3658,14 +3641,16 @@ onMounted(() => {
|
|
|
font-size: 12px;
|
|
|
}
|
|
|
.product{
|
|
|
+ margin-top: 12px;
|
|
|
.productItem{
|
|
|
+ padding: 5px 12px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #666;
|
|
|
border: 1px solid #E5E5E5;
|
|
|
- font-size: 12px;
|
|
|
- padding: 0 4px;
|
|
|
border-radius: 2px;
|
|
|
- color: #666666;
|
|
|
cursor: pointer;
|
|
|
- margin: 0 10px 0 0;
|
|
|
+ margin-right:10px;
|
|
|
}
|
|
|
.productActive{
|
|
|
border: 1px solid #0083FF;
|
|
|
@@ -3673,15 +3658,15 @@ onMounted(() => {
|
|
|
}
|
|
|
}
|
|
|
.quoteTitle{
|
|
|
- height: 14px;
|
|
|
- border-left: 2px solid #00a0f4;
|
|
|
+ height: 16px;
|
|
|
+ border-left: 4px solid #00a0f4;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- justify-content: flex-start;
|
|
|
padding-left: 6px;
|
|
|
- margin: 14px 0;
|
|
|
color: #333333;
|
|
|
- font-size: 14px;
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: bold;
|
|
|
+ margin: 16px 0 ;
|
|
|
}
|
|
|
.quoteFlex{
|
|
|
display: flex;
|
|
|
@@ -3701,14 +3686,16 @@ onMounted(() => {
|
|
|
.expandFlex{
|
|
|
display: flex;
|
|
|
.expandTitle{
|
|
|
- text-align: center;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- width: 40px;
|
|
|
- padding: 0 8px;
|
|
|
- margin: 0 10px 0 0;
|
|
|
- background: #F6FBFF;
|
|
|
+ width: 50px;
|
|
|
+ margin-right:10px;
|
|
|
+ background: #F0F8FF;
|
|
|
+ font-size: 18px;
|
|
|
+ color: #333;
|
|
|
+ font-weight: bold;
|
|
|
+ writing-mode: vertical-rl;
|
|
|
+ letter-spacing: 4px;
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
.equities{
|
|
|
@@ -3716,6 +3703,11 @@ onMounted(() => {
|
|
|
align-items: center;
|
|
|
justify-content: flex-start;
|
|
|
margin-bottom: 10px;
|
|
|
+ .equitiesTitle{
|
|
|
+ color: #333333;
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
.equitiesBox{
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
@@ -3727,27 +3719,33 @@ onMounted(() => {
|
|
|
align-items: center;
|
|
|
justify-content: flex-start;
|
|
|
background: #DFF1FF;
|
|
|
- padding: 6px 10px;
|
|
|
+ padding: 9px 10px;
|
|
|
+ color: #00AAFF;
|
|
|
+ font-size: 14px;
|
|
|
img{
|
|
|
- width: 14px;
|
|
|
- height: 14px;
|
|
|
+ width: 16px;
|
|
|
+ height: 16px;
|
|
|
+ margin-right: 5px;
|
|
|
}
|
|
|
}
|
|
|
.circle{
|
|
|
width: 0;
|
|
|
height: 0;
|
|
|
- border-bottom: 37px solid #DFF1FF;
|
|
|
+ border-bottom: 42px solid #DFF1FF;
|
|
|
border-right: 20px solid transparent;
|
|
|
}
|
|
|
}
|
|
|
+ .equitiesChoice{
|
|
|
+ margin-left: 10px;
|
|
|
+ }
|
|
|
}
|
|
|
:deep(.el-collapse-item__header) {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
}
|
|
|
- :deep(.el-form-item) {
|
|
|
- margin-bottom: 0;
|
|
|
+ :deep(.el-form .el-form-item) {
|
|
|
+ margin-bottom: 10px;
|
|
|
}
|
|
|
.formBlock{
|
|
|
:deep(.el-form-item) {
|
|
|
@@ -3768,7 +3766,7 @@ onMounted(() => {
|
|
|
margin-left: 2px;
|
|
|
}
|
|
|
:deep(.cell) {
|
|
|
- font-size: 10px;
|
|
|
+ font-size: 14px;
|
|
|
}
|
|
|
}
|
|
|
:deep(thead .el-table__cell) {
|
|
|
@@ -3865,8 +3863,43 @@ onMounted(() => {
|
|
|
animation-delay: -0.1s;
|
|
|
}
|
|
|
}
|
|
|
- :deep(.el-form-item) {
|
|
|
- margin-bottom: 10px;
|
|
|
- }
|
|
|
}
|
|
|
+// 保费因子
|
|
|
+.premiumFactor{
|
|
|
+ width: 100%;
|
|
|
+ margin: 10px 0;
|
|
|
+ border: 1px solid #eee;
|
|
|
+ border-radius: 5px;
|
|
|
+ .header{
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #333333;
|
|
|
+ padding: 6px 8px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ .flex.a-start.f-wrap{
|
|
|
+ gap: 0;
|
|
|
+ }
|
|
|
+ .Factor-item{
|
|
|
+ min-width: 50px;
|
|
|
+ flex: auto;
|
|
|
+ .item-header{
|
|
|
+ width: 100%;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #666666;
|
|
|
+ font-weight: bold;
|
|
|
+ background: #F7F7F9;
|
|
|
+ justify-content: center;
|
|
|
+ padding: 6px 8px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+ span:last-child{
|
|
|
+ font-size: 14px;
|
|
|
+ color: #333333;
|
|
|
+ padding: 6px 8px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
</style>
|