|
|
@@ -205,7 +205,7 @@
|
|
|
</el-row>
|
|
|
<template #icon="{ isActive }">
|
|
|
<span class="icon">
|
|
|
- <el-button link type="primary" @click.stop="handleRecognition"><img src="@/assets/images/insurancePolicy/sao.png" class="myIcon" />证件识别</el-button>
|
|
|
+ <el-button link type="primary" @click.stop="handleRecognition('clxx')"><img src="@/assets/images/insurancePolicy/sao.png" class="myIcon" />证件识别</el-button>
|
|
|
<span class="icon-ele">
|
|
|
{{ isActive ? '收起' : '展开' }}
|
|
|
</span>
|
|
|
@@ -224,7 +224,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="车主手机号" prop="mobile1">
|
|
|
- <el-input v-model="insurancePolicyForm.mobile1" placeholder="请输入车主手机号"></el-input>
|
|
|
+ <el-input v-model="insurancePolicyForm.mobile1" placeholder="请输入车主手机号" maxlength="11" show-word-limit></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
@@ -254,6 +254,7 @@
|
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
|
+ @blur="(e) => insurancePolicyForm.identifyValidDate1 = changeDate(e)"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -266,6 +267,7 @@
|
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD"
|
|
|
style="width: calc(100% - 64px)"
|
|
|
+ @blur="(e) => insurancePolicyForm.identifyValidEndDate1 = changeDate(e)"
|
|
|
/>
|
|
|
<el-button type="primary" @click="longTime">长期</el-button>
|
|
|
</div>
|
|
|
@@ -348,7 +350,7 @@
|
|
|
</el-row>
|
|
|
<template #icon="{ isActive }">
|
|
|
<span class="icon">
|
|
|
- <el-button link type="primary" @click.stop="handleRecognition"><img src="@/assets/images/insurancePolicy/sao.png" class="myIcon" />证件识别</el-button>
|
|
|
+ <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>
|
|
|
@@ -402,6 +404,7 @@
|
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
|
+ @blur="(e) => insurancePolicyForm.identifyValidDate2 = changeDate(e)"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -413,6 +416,7 @@
|
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
|
+ @blur="(e) => insurancePolicyForm.identifyValidEndDate2 = changeDate(e)"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -493,7 +497,7 @@
|
|
|
</el-row>
|
|
|
<template #icon="{ isActive }">
|
|
|
<span class="icon">
|
|
|
- <el-button link type="primary" @click.stop="handleRecognition"><img src="@/assets/images/insurancePolicy/sao.png" class="myIcon" />证件识别</el-button>
|
|
|
+ <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>
|
|
|
@@ -547,6 +551,7 @@
|
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
|
+ @blur="(e) => insurancePolicyForm.identifyValidDate3 = changeDate(e)"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -558,6 +563,7 @@
|
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
|
+ @blur="(e) => insurancePolicyForm.identifyValidEndDate3 = changeDate(e)"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -638,7 +644,7 @@
|
|
|
</el-row>
|
|
|
<template #icon="{ isActive }">
|
|
|
<span class="icon">
|
|
|
- <el-button link type="primary" @click.stop="handleRecognition"><img src="@/assets/images/insurancePolicy/sao.png" class="myIcon" />证件识别</el-button>
|
|
|
+ <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>
|
|
|
@@ -811,6 +817,7 @@
|
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
style="width: 100%"
|
|
|
+ @change="jqChange"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
至
|
|
|
@@ -836,6 +843,7 @@
|
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
style="width: 100%"
|
|
|
+ @change="syChange"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
至
|
|
|
@@ -1078,6 +1086,18 @@
|
|
|
<img :src="scope.row.logo"/>
|
|
|
<span>{{ scope.row.name }}</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>
|
|
|
+ <el-popover
|
|
|
+ title="提示"
|
|
|
+ :content="scope.row.underwritingMsg"
|
|
|
+ placement="bottom-end"
|
|
|
+ >
|
|
|
+ <template #reference>
|
|
|
+ <el-button link type="primary">查看详情</el-button>
|
|
|
+ </template>
|
|
|
+ </el-popover>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="报价协议" prop="" align="center" width="260">
|
|
|
@@ -1098,8 +1118,8 @@
|
|
|
<div class="result" v-if="currentRow.some(a => a.id === scope.row.id)">
|
|
|
<span 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">
|
|
|
- <el-icon style="color: #FF4545; font-size: 14px"><Warning /></el-icon> {{ scope.row.quoteResult?.feeNoDescription }}
|
|
|
+ <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="resultItem">
|
|
|
@@ -1118,9 +1138,9 @@
|
|
|
</span>
|
|
|
<div>
|
|
|
<div class="quoteFail" v-if="scope.row.quoteResult?.failMsg">
|
|
|
- <el-icon style="color: #FF4545; font-size: 14px"><Warning /></el-icon> 报价失败
|
|
|
+ <el-icon style="color: #FF4545; font-size: 14px" @click="handleOpen"><Warning /></el-icon> 报价失败
|
|
|
</div>
|
|
|
- <div class="quoteReason">{{ scope.row.quoteResult?.failMsg }}</div>
|
|
|
+<!-- <div class="quoteReason">{{ scope.row.quoteResult?.failMsg }}</div>-->
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="loader" v-show="scope.row.loading">
|
|
|
@@ -1141,69 +1161,73 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="费用因子" align="center">
|
|
|
+ <el-table-column label="费用因子" align="center">
|
|
|
<template #default="scope">
|
|
|
- <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
|
|
|
- <span>评分:</span><span>{{ scope.row.quoteResult?.scoreVo?.score || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
|
|
|
- <span>交强险系数:</span><span>{{ scope.row.quoteResult?.scoreVo?.jqLossRation || '--' }}</span>
|
|
|
- </div>
|
|
|
- <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
|
|
|
- <span>商业险系数:</span><span>{{ scope.row.quoteResult?.scoreVo?.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 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="moreFactor">
|
|
|
- <span>交强折扣:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
+ <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
|
|
|
+ <span>交强险系数:</span><span>{{ item.jqLossRation || '--' }}</span>
|
|
|
</div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>商业折扣:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
+ <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
|
|
|
+ <span>商业险系数:</span><span>{{ item.syLossRation || '--' }}</span>
|
|
|
</div>
|
|
|
- <div class="moreFactor">
|
|
|
- <span>类型:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
|
|
|
+ <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>
|
|
|
- </el-popover>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -1300,7 +1324,8 @@
|
|
|
</el-form>
|
|
|
<div class="footer">
|
|
|
<span>已选保司:{{ currentRow.length }}家</span>
|
|
|
- <el-button type="primary" :loading="loading" @click="handleSubmit(InsurancePolicyRefs)">确定</el-button>
|
|
|
+ <el-button type="primary" :loading="loading" @click="handleSubmit(InsurancePolicyRefs)">确定</el-button>
|
|
|
+ <el-button type="primary" @click="handleNext">录下一单</el-button>
|
|
|
</div>
|
|
|
<el-dialog
|
|
|
title="选择业务员"
|
|
|
@@ -1331,7 +1356,7 @@
|
|
|
</el-dialog>
|
|
|
<el-dialog
|
|
|
title="提交核保"
|
|
|
- width="930"
|
|
|
+ width="1100"
|
|
|
v-model="underwritingShow"
|
|
|
>
|
|
|
<underwriting ref="UnderwritingRefs" @close="handleUnderwritingClose"></underwriting>
|
|
|
@@ -1365,9 +1390,9 @@
|
|
|
<el-table
|
|
|
ref="LicenseNoTable"
|
|
|
:data="licenseNoData"
|
|
|
- @row-click="handleSelectedRow"
|
|
|
row-key="id"
|
|
|
@select="handleSelectedChange"
|
|
|
+ @row-dblclick="handleSelectedRow"
|
|
|
>
|
|
|
<el-table-column type="selection"></el-table-column>
|
|
|
<el-table-column prop="modelCode" label="厂牌型号代码"></el-table-column>
|
|
|
@@ -1416,7 +1441,7 @@
|
|
|
<script setup lang="ts">
|
|
|
import type { FormInstance, FormRules } from 'element-plus'
|
|
|
import api from "@/api";
|
|
|
-import { ElMessage } from "element-plus";
|
|
|
+import { ElMessage, ElNotification } from "element-plus";
|
|
|
import { useRoute, useRouter } from 'vue-router'
|
|
|
import underwriting from './modules/underwriting.vue'
|
|
|
import recognition from './modules/recognition.vue'
|
|
|
@@ -1426,8 +1451,9 @@ import insurance from "../additionalOrder/additional/modules/insuranceSelect.vue
|
|
|
import driving from '../../layouts/components/DrivingType/index.vue'
|
|
|
import detail from '../../layouts/components/JYXDetail/index.vue'
|
|
|
import QRCode from 'qrcode'
|
|
|
+import dayjs from "dayjs";
|
|
|
|
|
|
-
|
|
|
+const RecognitionRefs = ref()
|
|
|
const SalesmanSelectRef = ref()
|
|
|
const InsuranceTypeRef = ref()
|
|
|
const DrivingTypeRef = ref()
|
|
|
@@ -1438,6 +1464,10 @@ const JYXDetail = ref()
|
|
|
const myRoute = useRoute()
|
|
|
const router = useRouter()
|
|
|
|
|
|
+const changeDate = (e) => {
|
|
|
+ return dayjs(e.target.value).format('YYYY-MM-DD')
|
|
|
+}
|
|
|
+
|
|
|
const initDetail = () => {
|
|
|
api.insurancePolicyApi.getOrderDetail(myRoute.query.orderNo).then((res: any) => {
|
|
|
if(res.code == 200) {
|
|
|
@@ -1526,13 +1556,13 @@ const initDetail = () => {
|
|
|
}
|
|
|
if(obj?.ownersInfo?.identifyNumber == obj?.insuredPersonInfo?.identifyNumber) {
|
|
|
btns.value.owner2[1].checked = true
|
|
|
- btns.value.owner1Text = '同车主'
|
|
|
+ btns.value.owner2Text = '同车主'
|
|
|
} else if(obj?.policyHolderInfo?.identifyNumber == obj?.insuredPersonInfo?.identifyNumber) {
|
|
|
btns.value.owner2[0].checked = true
|
|
|
- btns.value.owner1Text = '同投保人'
|
|
|
+ btns.value.owner2Text = '同投保人'
|
|
|
} else {
|
|
|
btns.value.owner2[2].checked = true
|
|
|
- btns.value.owner1Text = '其他人'
|
|
|
+ btns.value.owner2Text = '其他人'
|
|
|
}
|
|
|
// 车船税
|
|
|
insurancePolicyForm.value.extendChar2 = obj?.vehicleAndVesselTaxVo?.extendChar2
|
|
|
@@ -1783,15 +1813,15 @@ let insurancePolicyRules = ref<FormRules>({
|
|
|
completeKerbMass: [
|
|
|
{ required: true, trigger: 'blur', message: '请输入整备质量' }
|
|
|
],
|
|
|
- limitLoad: [
|
|
|
- { required: true, trigger: 'blur', message: '请输入核定载质量' }
|
|
|
- ],
|
|
|
+ // limitLoad: [
|
|
|
+ // { required: true, trigger: 'blur', message: '请输入核定载质量' }
|
|
|
+ // ],
|
|
|
seatCount: [
|
|
|
{ required: true, trigger: 'blur', message: '请输入座位数' }
|
|
|
],
|
|
|
- carYear: [
|
|
|
- { required: true, trigger: 'blur', message: '请输入年款' }
|
|
|
- ],
|
|
|
+ // carYear: [
|
|
|
+ // { required: true, trigger: 'blur', message: '请输入年款' }
|
|
|
+ // ],
|
|
|
purchasePrice: [
|
|
|
{ required: true, trigger: 'blur', message: '请输入新车购置价' }
|
|
|
],
|
|
|
@@ -1801,6 +1831,9 @@ let insurancePolicyRules = ref<FormRules>({
|
|
|
powerScale: [
|
|
|
{ required: true, trigger: 'blur', message: '请输入功率' }
|
|
|
],
|
|
|
+ transferDate: [
|
|
|
+ { required: true, trigger: 'change', message: '请选择转移登记日期' },
|
|
|
+ ],
|
|
|
name1: [
|
|
|
{ required: true, trigger: 'blur', message: '请输入姓名' }
|
|
|
],
|
|
|
@@ -1950,6 +1983,7 @@ const handleSelectedRow = (row: any, column: any) => {
|
|
|
})
|
|
|
LicenseNoTable.value.toggleRowSelection(row, true)
|
|
|
selectRowData.value = row
|
|
|
+ licenseNoDataSubmit()
|
|
|
}
|
|
|
const handleSelectedChange = (rows: any, row: any) => {
|
|
|
licenseNoData.value.forEach((item) => {
|
|
|
@@ -1963,7 +1997,6 @@ const licenseNoDataCancel = () => {
|
|
|
licenseNoShow.value = false
|
|
|
}
|
|
|
const licenseNoDataSubmit = () => {
|
|
|
- console.log(123123123, selectRowData.value)
|
|
|
insurancePolicyForm.value.seatCount = selectRowData.value.ratedPassengerCapacity
|
|
|
insurancePolicyForm.value.brandName = selectRowData.value.modelName
|
|
|
insurancePolicyForm.value.carYear = selectRowData.value.marketYear
|
|
|
@@ -2340,6 +2373,9 @@ const JQChange = (item) => {
|
|
|
insurancePolicyForm.value.JQInstantFlag = false
|
|
|
}
|
|
|
}
|
|
|
+const jqChange = (e) => {
|
|
|
+ insurancePolicyForm.value.JQEndDate = oneYearPast1(e)
|
|
|
+}
|
|
|
// 商业即时生效
|
|
|
let syWork = ref([
|
|
|
{ text: '即时生效', checked: false }
|
|
|
@@ -2360,6 +2396,9 @@ const SYChange = (item) => {
|
|
|
insurancePolicyForm.value.SYInstantFlag = false
|
|
|
}
|
|
|
}
|
|
|
+const syChange = (e) => {
|
|
|
+ insurancePolicyForm.value.SYEndDate = oneYearPast1(e)
|
|
|
+}
|
|
|
|
|
|
// 报价公司
|
|
|
let currentRow = ref([])
|
|
|
@@ -2710,47 +2749,59 @@ const handlePopoverConfirm = async () => {
|
|
|
|
|
|
// 提交核保
|
|
|
let underwritingShow = ref(false)
|
|
|
+let underwritingIndex = ref(-1)
|
|
|
const handleUnderwriting = (scope) => {
|
|
|
console.log('要去核保的数据', scope.row)
|
|
|
underwritingShow.value = true
|
|
|
+ underwritingIndex.value = scope.$index
|
|
|
// insurancePolicyForm.value.imageVoList
|
|
|
let data = {
|
|
|
|
|
|
// ordersNo: '1915570359429222400'
|
|
|
ordersNo: scope.row.quoteResult.ordersNo,
|
|
|
quoteNo: insurancePolicyForm.value.order.quoteNo,
|
|
|
- list: insurancePolicyForm.value.imageVoList
|
|
|
+ list: images.value
|
|
|
}
|
|
|
- nextTick(() => {
|
|
|
- UnderwritingRefs.value.initEdit({
|
|
|
- ...data
|
|
|
- })
|
|
|
- })
|
|
|
- // api.insurancePolicyApi.imagesUpload({
|
|
|
- // order: {
|
|
|
- // ...data
|
|
|
- // }
|
|
|
- // }).then((res: any) => {
|
|
|
- // if(res.code === 200) {
|
|
|
- // nextTick(() => {
|
|
|
- // UnderwritingRefs.value.initEdit(data)
|
|
|
- // })
|
|
|
- // } else {
|
|
|
- // ElMessage({
|
|
|
- // message: res.msg,
|
|
|
- // type: 'warning'
|
|
|
+ // nextTick(() => {
|
|
|
+ // UnderwritingRefs.value.initEdit({
|
|
|
+ // ...data
|
|
|
// })
|
|
|
- // }
|
|
|
// })
|
|
|
+ api.insurancePolicyApi.imagesUpload({
|
|
|
+ order: {
|
|
|
+ ...data
|
|
|
+ }
|
|
|
+ }).then((res: any) => {
|
|
|
+ if(res.code === 200) {
|
|
|
+ nextTick(() => {
|
|
|
+ UnderwritingRefs.value.initEdit(data)
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ ElMessage({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
-const handleUnderwritingClose = () => {
|
|
|
- underwritingShow.value = false
|
|
|
+
|
|
|
+const handleUnderwritingClose = (bool, msg) => {
|
|
|
+ underwritingShow.value = false
|
|
|
+ if(msg) {
|
|
|
+ quoteData.value[underwritingIndex.value].underwritingMsg = msg
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 证件识别
|
|
|
let imageShow = ref(false)
|
|
|
let images = ref([])
|
|
|
const handleImageClose = (data) => {
|
|
|
+ btns.value.owner1.forEach(a => {
|
|
|
+ a.checked = false
|
|
|
+ })
|
|
|
+ btns.value.owner2.forEach(a => {
|
|
|
+ a.checked = false
|
|
|
+ })
|
|
|
imageShow.value = false
|
|
|
images.value = []
|
|
|
if(data) {
|
|
|
@@ -2765,7 +2816,7 @@ const handleImageClose = (data) => {
|
|
|
insurancePolicyForm.value.vehicleUseCode = carForm.vehicleUseCode || hadWritedData.value.vehicleUseCode
|
|
|
insurancePolicyForm.value.carTypeCode = carForm.carTypeCode || hadWritedData.value.carTypeCode
|
|
|
insurancePolicyForm.value.plateType = carForm.plateType || hadWritedData.value.plateType
|
|
|
- insurancePolicyForm.value.energyTypeCode = carForm.energyTypeCode || hadWritedData.value.energyTypeCode
|
|
|
+ insurancePolicyForm.value.energyTypeCode = carForm.energyTypeCode || hadWritedData.value.energyTypeCode || insurancePolicyForm.value.licenseNo.length == 7?'0' : insurancePolicyForm.value.licenseNo.length == 8?'1' : ''
|
|
|
insurancePolicyForm.value.registerDate = carForm.registerDate || hadWritedData.value.registerDate
|
|
|
insurancePolicyForm.value.issueDate = carForm.issueDate || hadWritedData.value.issueDate
|
|
|
insurancePolicyForm.value.completeKerbMass = carForm.completeKerbMass || hadWritedData.value.completeKerbMass
|
|
|
@@ -2812,6 +2863,13 @@ const handleImageClose = (data) => {
|
|
|
insurancePolicyForm.value.address2 = ower1Form.address || hadWritedData.value.address2
|
|
|
insurancePolicyForm.value.registeredCapital2 = ower1Form.registeredCapital || hadWritedData.value.registeredCapital2
|
|
|
insurancePolicyForm.value.email2 = ower1Form.email || hadWritedData.value.email2
|
|
|
+ if(!insurancePolicyForm.value.identifyNumber2 || insurancePolicyForm.value.identifyNumber2 && insurancePolicyForm.value.identifyNumber1 == insurancePolicyForm.value.identifyNumber2) {
|
|
|
+ btns.value.owner1[0].checked = true
|
|
|
+ btns.value.owner1Text = '同车主'
|
|
|
+ } else if(insurancePolicyForm.value.identifyNumber2 && insurancePolicyForm.value.identifyNumber1 != insurancePolicyForm.value.identifyNumber2) {
|
|
|
+ btns.value.owner1[1].checked = true
|
|
|
+ btns.value.owner1Text = '其他人'
|
|
|
+ }
|
|
|
}
|
|
|
if(ower2Form) {
|
|
|
insurancePolicyForm.value.name3 = ower2Form.name || hadWritedData.value.name3
|
|
|
@@ -2827,6 +2885,16 @@ const handleImageClose = (data) => {
|
|
|
insurancePolicyForm.value.address3 = ower2Form.address || hadWritedData.value.address3
|
|
|
insurancePolicyForm.value.registeredCapital3 = ower2Form.registeredCapital || hadWritedData.value.registeredCapital3
|
|
|
insurancePolicyForm.value.email3 = ower2Form.email || hadWritedData.value.email3
|
|
|
+ if(insurancePolicyForm.value.identifyNumber3 && insurancePolicyForm.value.identifyNumber1 == insurancePolicyForm.value.identifyNumber3) {
|
|
|
+ btns.value.owner2[1].checked = true
|
|
|
+ btns.value.owner2Text = '同车主'
|
|
|
+ } else if(!insurancePolicyForm.value.identifyNumber3 || insurancePolicyForm.value.identifyNumber3 && insurancePolicyForm.value.identifyNumber2 == insurancePolicyForm.value.identifyNumber3) {
|
|
|
+ btns.value.owner2[0].checked = true
|
|
|
+ btns.value.owner2Text = '同投保人'
|
|
|
+ } else if(insurancePolicyForm.value.identifyNumber3 && insurancePolicyForm.value.identifyNumber2 != insurancePolicyForm.value.identifyNumber3) {
|
|
|
+ btns.value.owner2[2].checked = true
|
|
|
+ btns.value.owner2Text = '其他人'
|
|
|
+ }
|
|
|
}
|
|
|
if(imageVoList&&imageVoList.length>0) {
|
|
|
insurancePolicyForm.value.imageVoList = imageVoList.filter(a => a.imageBase64List[0].imageId)
|
|
|
@@ -2839,14 +2907,26 @@ const handleImageClose = (data) => {
|
|
|
|
|
|
// 记录已填好的信息,防止再次进行证件识别
|
|
|
let hadWritedData = ref({})
|
|
|
-const handleRecognition = () => {
|
|
|
+const handleRecognition = (achor) => {
|
|
|
imageShow.value = true
|
|
|
hadWritedData.value = JSON.parse(JSON.stringify(insurancePolicyForm.value))
|
|
|
+ nextTick(() => {
|
|
|
+ RecognitionRefs.value.setAnchor(achor)
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
// 提交
|
|
|
let loading = ref(false)
|
|
|
const handleSubmit = async (InsurancePolicyRefs: FormInstance | undefined, scope) => {
|
|
|
+ if(insurancePolicyForm.value.plateType == 'A1') {
|
|
|
+ if(!insurancePolicyForm.value.limitLoad) {
|
|
|
+ ElMessage({
|
|
|
+ message: '车辆种类为货车时,核定载质量必传!',
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
if(!InsurancePolicyRefs) {
|
|
|
InsurancePolicyRefs?.resetFields()
|
|
|
return
|
|
|
@@ -2932,9 +3012,9 @@ const handleSubmit = async (InsurancePolicyRefs: FormInstance | undefined, scope
|
|
|
order: {
|
|
|
insuranceCompanyCode: quoteData.value[scope.$index].id,
|
|
|
quoteNo: insurancePolicyForm.value.order.quoteNo,
|
|
|
- agreementId: quoteData.value[scope.$index].isDispatch?quoteData.value[scope.$index].dispatchAgreementId:quoteData.value[scope.$index].agreement
|
|
|
+ agreementId: quoteData.value[scope.$index].isDispatch?quoteData.value[scope.$index].dispatchAgreementId:quoteData.value[scope.$index].agreement,
|
|
|
+ productId: insurancePolicyForm.value.productId,
|
|
|
},
|
|
|
- productId: insurancePolicyForm.value.productId,
|
|
|
carInfoVo: {
|
|
|
licenseKindCode: '02',
|
|
|
propertyCode: insurancePolicyForm.value.propertyCode,
|
|
|
@@ -3186,6 +3266,20 @@ const handleSubmit = async (InsurancePolicyRefs: FormInstance | undefined, scope
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+const handleNext = () => {
|
|
|
+ const urlLink = router.resolve({
|
|
|
+ path: '/insurancePolicy/index',
|
|
|
+ })
|
|
|
+ window.open(urlLink.href, '_blank')
|
|
|
+}
|
|
|
+
|
|
|
+const handleOpen = (scope) => {
|
|
|
+ ElNotification({
|
|
|
+ title: '费用匹配错误信息',
|
|
|
+ message: h('p', { style: 'white-space: pre-line' }, `${scope.row.quoteResult?.feeNoDescription}`),
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
// 获取保司
|
|
|
const ruleFilterCompany = (item) => {
|
|
|
let data = {
|