|
|
@@ -973,7 +973,7 @@
|
|
|
:value="item.value"></el-option>
|
|
|
</el-select>
|
|
|
<span v-if="props.row.kindName == '乘客责任险'">*{{ insurancePolicyForm.seatCount - 1
|
|
|
- }}/座</span>
|
|
|
+ }}/座</span>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -1045,7 +1045,7 @@
|
|
|
<el-table-column label="产品名称" prop="productName" align="center">
|
|
|
<template #default="props">
|
|
|
<el-button link type="primary" @click="getJYXDetail(props.row)">{{ props.row.productName
|
|
|
- }}</el-button>
|
|
|
+ }}</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="数量" align="center">
|
|
|
@@ -1098,12 +1098,12 @@
|
|
|
<div class="Factor-item flex a-c f-c ">
|
|
|
<span class="item-header flex a-c ">交强续保</span>
|
|
|
<span>{{ ['', '新保', '续保', '转保'][Number(scope.row.quoteResult?.scoreVo?.jqRenewal)] || '--'
|
|
|
- }}</span>
|
|
|
+ }}</span>
|
|
|
</div>
|
|
|
<div class="Factor-item flex a-c f-c ">
|
|
|
<span class="item-header flex a-c ">商业续保</span>
|
|
|
<span>{{ ['', '新保', '续保', '转保'][Number(scope.row.quoteResult?.scoreVo?.syRenewal)] || '--'
|
|
|
- }}</span>
|
|
|
+ }}</span>
|
|
|
</div>
|
|
|
<div class="Factor-item flex a-c f-c ">
|
|
|
<span class="item-header flex a-c ">总折扣率</span>
|
|
|
@@ -2394,7 +2394,7 @@ let btns = ref({
|
|
|
checked: false
|
|
|
}],
|
|
|
})
|
|
|
-const handleChange = (item: any, type: any) => {
|
|
|
+const handleChange = async (item: any, type: any) => {
|
|
|
|
|
|
switch (type) {
|
|
|
case 'owner1':
|
|
|
@@ -2473,6 +2473,8 @@ const handleChange = (item: any, type: any) => {
|
|
|
}
|
|
|
break;
|
|
|
case 'insurance':
|
|
|
+ const valid = await validateForm(InsurancePolicyRefs.value)
|
|
|
+ if (!valid) return
|
|
|
ruleFilterCompany(item, null)
|
|
|
let list4 = optionObj.value.insuranceType.filter(a => a.label != item.label)
|
|
|
list4.forEach(a => a.checked = false)
|
|
|
@@ -3415,16 +3417,15 @@ const validate = async (quoteList) => {
|
|
|
return false
|
|
|
}
|
|
|
const valid = await validateForm(InsurancePolicyRefs.value)
|
|
|
- if (!valid) {
|
|
|
- ElMessage({
|
|
|
- message: '请完整填写相关信息',
|
|
|
- type: 'warning'
|
|
|
- })
|
|
|
- return false
|
|
|
- }
|
|
|
+ if (!valid) return
|
|
|
+
|
|
|
for (let i = 0; i < quoteList.length; i++) {
|
|
|
const element = quoteList[i];
|
|
|
const product = element.projectList?.find((v, index) => element.productIndex === index)
|
|
|
+ if (!product) {
|
|
|
+ ElMessage.warning(`请选择${element.nameSimple}方案`)
|
|
|
+ return
|
|
|
+ }
|
|
|
const noMatchObj = product.drivings.find(v => v.minQuantity && Number(v.quantity ?? 0) < Number(v.minQuantity))
|
|
|
if (noMatchObj) {
|
|
|
ElMessage({
|
|
|
@@ -3539,12 +3540,14 @@ const validateForm = async (InsurancePolicyRefs: FormInstance | undefined): Prom
|
|
|
return false
|
|
|
}
|
|
|
// Element Plus 表单校验
|
|
|
+ let valid = false
|
|
|
try {
|
|
|
- const valid = await InsurancePolicyRefs.validate()
|
|
|
- return valid
|
|
|
+ valid = await InsurancePolicyRefs.validate()
|
|
|
} catch (error) {
|
|
|
- return false
|
|
|
+ valid = false
|
|
|
}
|
|
|
+ if (!valid) ElMessage.warning('请完整填写相关信息')
|
|
|
+ return valid
|
|
|
}
|
|
|
/**
|
|
|
* 报价前参数处理
|