|
@@ -254,6 +254,7 @@
|
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD"
|
|
value-format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
|
|
|
+ @blur="(e) => insurancePolicyForm.identifyValidDate1 = changeDate(e)"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -266,6 +267,7 @@
|
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD"
|
|
value-format="YYYY-MM-DD"
|
|
|
style="width: calc(100% - 64px)"
|
|
style="width: calc(100% - 64px)"
|
|
|
|
|
+ @blur="(e) => insurancePolicyForm.identifyValidEndDate1 = changeDate(e)"
|
|
|
/>
|
|
/>
|
|
|
<el-button type="primary" @click="longTime">长期</el-button>
|
|
<el-button type="primary" @click="longTime">长期</el-button>
|
|
|
</div>
|
|
</div>
|
|
@@ -402,6 +404,7 @@
|
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD"
|
|
value-format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
|
|
|
+ @blur="(e) => insurancePolicyForm.identifyValidDate2 = changeDate(e)"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -413,6 +416,7 @@
|
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD"
|
|
value-format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
|
|
|
+ @blur="(e) => insurancePolicyForm.identifyValidEndDate2 = changeDate(e)"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -547,6 +551,7 @@
|
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD"
|
|
value-format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
|
|
|
+ @blur="(e) => insurancePolicyForm.identifyValidDate3 = changeDate(e)"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -558,6 +563,7 @@
|
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD"
|
|
value-format="YYYY-MM-DD"
|
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
|
|
|
+ @blur="(e) => insurancePolicyForm.identifyValidEndDate3 = changeDate(e)"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -811,6 +817,7 @@
|
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
|
|
|
+ @change="jqChange"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
至
|
|
至
|
|
@@ -836,6 +843,7 @@
|
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
|
|
|
+ @change="syChange"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
至
|
|
至
|
|
@@ -1098,8 +1106,8 @@
|
|
|
<div class="result" v-if="currentRow.some(a => a.id === scope.row.id)">
|
|
<div class="result" v-if="currentRow.some(a => a.id === scope.row.id)">
|
|
|
<span class="resultItem">
|
|
<span class="resultItem">
|
|
|
<span v-if="scope.row.quoteResult?.costs?.sumPremium">总保费:{{ scope.row.quoteResult?.costs?.sumPremium }}</span>
|
|
<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>
|
|
|
</span>
|
|
</span>
|
|
|
<div class="resultItem">
|
|
<div class="resultItem">
|
|
@@ -1118,9 +1126,9 @@
|
|
|
</span>
|
|
</span>
|
|
|
<div>
|
|
<div>
|
|
|
<div class="quoteFail" v-if="scope.row.quoteResult?.failMsg">
|
|
<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>
|
|
|
- <div class="quoteReason">{{ scope.row.quoteResult?.failMsg }}</div>
|
|
|
|
|
|
|
+<!-- <div class="quoteReason">{{ scope.row.quoteResult?.failMsg }}</div>-->
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="loader" v-show="scope.row.loading">
|
|
<div class="loader" v-show="scope.row.loading">
|
|
@@ -1143,67 +1151,71 @@
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column label="费用因子" align="center">
|
|
<el-table-column label="费用因子" align="center">
|
|
|
<template #default="scope">
|
|
<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 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>
|
|
|
- <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>
|
|
|
- <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>
|
|
|
- <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>
|
|
</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>
|
|
|
|
|
|
|
+ </template>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -1416,7 +1428,7 @@
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
import type { FormInstance, FormRules } from 'element-plus'
|
|
import type { FormInstance, FormRules } from 'element-plus'
|
|
|
import api from "@/api";
|
|
import api from "@/api";
|
|
|
-import { ElMessage } from "element-plus";
|
|
|
|
|
|
|
+import { ElMessage, ElNotification } from "element-plus";
|
|
|
import { useRoute, useRouter } from 'vue-router'
|
|
import { useRoute, useRouter } from 'vue-router'
|
|
|
import underwriting from './modules/underwriting.vue'
|
|
import underwriting from './modules/underwriting.vue'
|
|
|
import recognition from './modules/recognition.vue'
|
|
import recognition from './modules/recognition.vue'
|
|
@@ -1426,6 +1438,7 @@ import insurance from "../additionalOrder/additional/modules/insuranceSelect.vue
|
|
|
import driving from '../../layouts/components/DrivingType/index.vue'
|
|
import driving from '../../layouts/components/DrivingType/index.vue'
|
|
|
import detail from '../../layouts/components/JYXDetail/index.vue'
|
|
import detail from '../../layouts/components/JYXDetail/index.vue'
|
|
|
import QRCode from 'qrcode'
|
|
import QRCode from 'qrcode'
|
|
|
|
|
+import dayjs from "dayjs";
|
|
|
|
|
|
|
|
const RecognitionRefs = ref()
|
|
const RecognitionRefs = ref()
|
|
|
const SalesmanSelectRef = ref()
|
|
const SalesmanSelectRef = ref()
|
|
@@ -1438,6 +1451,10 @@ const JYXDetail = ref()
|
|
|
const myRoute = useRoute()
|
|
const myRoute = useRoute()
|
|
|
const router = useRouter()
|
|
const router = useRouter()
|
|
|
|
|
|
|
|
|
|
+const changeDate = (e) => {
|
|
|
|
|
+ return dayjs(e.target.value).format('YYYY-MM-DD')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
const initDetail = () => {
|
|
const initDetail = () => {
|
|
|
api.insurancePolicyApi.getOrderDetail(myRoute.query.orderNo).then((res: any) => {
|
|
api.insurancePolicyApi.getOrderDetail(myRoute.query.orderNo).then((res: any) => {
|
|
|
if(res.code == 200) {
|
|
if(res.code == 200) {
|
|
@@ -1801,6 +1818,9 @@ let insurancePolicyRules = ref<FormRules>({
|
|
|
powerScale: [
|
|
powerScale: [
|
|
|
{ required: true, trigger: 'blur', message: '请输入功率' }
|
|
{ required: true, trigger: 'blur', message: '请输入功率' }
|
|
|
],
|
|
],
|
|
|
|
|
+ transferDate: [
|
|
|
|
|
+ { required: true, trigger: 'change', message: '请选择转移登记日期' },
|
|
|
|
|
+ ],
|
|
|
name1: [
|
|
name1: [
|
|
|
{ required: true, trigger: 'blur', message: '请输入姓名' }
|
|
{ required: true, trigger: 'blur', message: '请输入姓名' }
|
|
|
],
|
|
],
|
|
@@ -2340,6 +2360,9 @@ const JQChange = (item) => {
|
|
|
insurancePolicyForm.value.JQInstantFlag = false
|
|
insurancePolicyForm.value.JQInstantFlag = false
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+const jqChange = (e) => {
|
|
|
|
|
+ insurancePolicyForm.value.JQEndDate = oneYearPast1(e)
|
|
|
|
|
+}
|
|
|
// 商业即时生效
|
|
// 商业即时生效
|
|
|
let syWork = ref([
|
|
let syWork = ref([
|
|
|
{ text: '即时生效', checked: false }
|
|
{ text: '即时生效', checked: false }
|
|
@@ -2360,6 +2383,9 @@ const SYChange = (item) => {
|
|
|
insurancePolicyForm.value.SYInstantFlag = false
|
|
insurancePolicyForm.value.SYInstantFlag = false
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+const syChange = (e) => {
|
|
|
|
|
+ insurancePolicyForm.value.SYEndDate = oneYearPast1(e)
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
// 报价公司
|
|
// 报价公司
|
|
|
let currentRow = ref([])
|
|
let currentRow = ref([])
|
|
@@ -3221,6 +3247,13 @@ const handleSubmit = async (InsurancePolicyRefs: FormInstance | undefined, scope
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+const handleOpen = (scope) => {
|
|
|
|
|
+ ElNotification({
|
|
|
|
|
+ title: '费用匹配错误信息',
|
|
|
|
|
+ message: h('p', { style: 'white-space: pre-line' }, `${scope.row.quoteResult?.feeNoDescription}`),
|
|
|
|
|
+ })
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// 获取保司
|
|
// 获取保司
|
|
|
const ruleFilterCompany = (item) => {
|
|
const ruleFilterCompany = (item) => {
|
|
|
let data = {
|
|
let data = {
|