|
|
@@ -888,15 +888,15 @@
|
|
|
<p class="expandTitle">车险方案</p>
|
|
|
<div style="width: calc(100% - 50px); overflow-x: hidden">
|
|
|
<div class="product">
|
|
|
- <span class="productItem" :class="{'productActive': productIndex === index}" v-for="(item, index) in scope.row.projectList" @click.stop="handleProduct(item, index)">{{ item.schemeName }}</span>
|
|
|
+ <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>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
<div class="quoteTitle">方案明细</div>
|
|
|
<el-table
|
|
|
- :data="scope.row.projectList?.[productIndex]?.kinds"
|
|
|
+ :data="scope.row.projectList?.[scope.row.productIndex]?.kinds"
|
|
|
>
|
|
|
- <el-table-column width="50" align="center" v-if="scope.row.projectList?.[productIndex]?.schemeType !='1'">
|
|
|
+ <el-table-column width="50" align="center" v-if="scope.row.projectList?.[scope.row.productIndex]?.schemeType !='1'">
|
|
|
<template #header>
|
|
|
<el-icon style="cursor: pointer;" @click="handlePopover(scope)"><CirclePlus /></el-icon>
|
|
|
</template>
|
|
|
@@ -907,39 +907,39 @@
|
|
|
<el-table-column label="险种" prop="kindName" align="center"></el-table-column>
|
|
|
<el-table-column label="保额" align="center">
|
|
|
<template #default="props">
|
|
|
- <el-select v-model="props.row.amount" :disabled="scope.row.projectList?.[productIndex]?.schemeType == '1'">
|
|
|
+ <el-select v-model="props.row.amount" :disabled="scope.row.projectList?.[scope.row.productIndex]?.schemeType == '1'">
|
|
|
<el-option v-for="item in props.row.options" :label="item.label" :value="item.value"></el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="保费" prop="unitAmount" align="center"></el-table-column>
|
|
|
</el-table>
|
|
|
- <div class="quoteTitle" v-if="scope.row.projectList?.[productIndex]?.rescue && scope.row.projectList?.[productIndex]?.detection && scope.row.projectList?.[productIndex]?.driver && scope.row.projectList?.[productIndex]?.inspect ">增值服务</div>
|
|
|
- <el-row :gutter="20" v-if="scope.row.projectList?.[productIndex]?.rescue && scope.row.projectList?.[productIndex]?.detection && scope.row.projectList?.[productIndex]?.driver && scope.row.projectList?.[productIndex]?.inspect ">
|
|
|
+ <div class="quoteTitle" v-if="scope.row.projectList?.[scope.row.productIndex]?.rescue && scope.row.projectList?.[scope.row.productIndex]?.detection && scope.row.projectList?.[scope.row.productIndex]?.driver && scope.row.projectList?.[scope.row.productIndex]?.inspect ">增值服务</div>
|
|
|
+ <el-row :gutter="20" v-if="scope.row.projectList?.[scope.row.productIndex]?.rescue && scope.row.projectList?.[scope.row.productIndex]?.detection && scope.row.projectList?.[scope.row.productIndex]?.driver && scope.row.projectList?.[scope.row.productIndex]?.inspect ">
|
|
|
<el-col :span="6" class="quoteFlex">
|
|
|
救援
|
|
|
- <el-select v-model="scope.row.projectList[productIndex].rescue" :disabled="scope.row.projectList?.[productIndex]?.schemeType =='1'" size="small" style="width: 80px; margin: 0 10px">
|
|
|
+ <el-select v-model="scope.row.projectList[scope.row.productIndex].rescue" :disabled="scope.row.projectList?.[scope.row.productIndex]?.schemeType =='1'" size="small" style="width: 80px; margin: 0 10px">
|
|
|
<el-option label="1" value="1"></el-option>
|
|
|
</el-select>
|
|
|
次
|
|
|
</el-col>
|
|
|
<el-col :span="6" class="quoteFlex">
|
|
|
检测
|
|
|
- <el-select v-model="scope.row.projectList[productIndex].detection" :disabled="scope.row.projectList?.[productIndex]?.schemeType =='1'" size="small" style="width: 80px; margin: 0 10px">
|
|
|
+ <el-select v-model="scope.row.projectList[scope.row.productIndex].detection" :disabled="scope.row.projectList?.[scope.row.productIndex]?.schemeType =='1'" size="small" style="width: 80px; margin: 0 10px">
|
|
|
<el-option label="1" value="1"></el-option>
|
|
|
</el-select>
|
|
|
次
|
|
|
</el-col>
|
|
|
<el-col :span="6" class="quoteFlex">
|
|
|
代驾
|
|
|
- <el-select v-model="scope.row.projectList[productIndex].driver" :disabled="scope.row.projectList?.[productIndex]?.schemeType =='1'" size="small" style="width: 80px; margin: 0 10px">
|
|
|
+ <el-select v-model="scope.row.projectList[scope.row.productIndex].driver" :disabled="scope.row.projectList?.[scope.row.productIndex]?.schemeType =='1'" size="small" style="width: 80px; margin: 0 10px">
|
|
|
<el-option label="1" value="1"></el-option>
|
|
|
</el-select>
|
|
|
次
|
|
|
</el-col>
|
|
|
<el-col :span="6" class="quoteFlex">
|
|
|
送检
|
|
|
- <el-select v-model="scope.row.projectList[productIndex].inspect" :disabled="scope.row.projectList?.[productIndex]?.schemeType =='1'" size="small" style="width: 80px; margin: 0 10px">
|
|
|
+ <el-select v-model="scope.row.projectList[scope.row.productIndex].inspect" :disabled="scope.row.projectList?.[scope.row.productIndex]?.schemeType =='1'" size="small" style="width: 80px; margin: 0 10px">
|
|
|
<el-option label="1" value="1"></el-option>
|
|
|
</el-select>
|
|
|
次
|
|
|
@@ -947,9 +947,9 @@
|
|
|
</el-row>
|
|
|
<div class="quoteTitle">驾意险</div>
|
|
|
<el-table
|
|
|
- :data="scope.row.projectList?.[productIndex]?.drivings"
|
|
|
+ :data="scope.row.projectList?.[scope.row.productIndex]?.drivings"
|
|
|
>
|
|
|
- <el-table-column width="50" align="center" v-if="scope.row.projectList?.[productIndex]?.schemeType !='1'">
|
|
|
+ <el-table-column width="50" align="center" v-if="scope.row.projectList?.[scope.row.productIndex]?.schemeType !='1'">
|
|
|
<template #header>
|
|
|
<el-icon @click="handleDriving(scope)"><CirclePlus /></el-icon>
|
|
|
</template>
|
|
|
@@ -964,7 +964,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="数量" align="center">
|
|
|
<template #default="props">
|
|
|
- <el-input :disabled="scope.row.projectList?.[productIndex]?.schemeType === '1'" v-model="props.row.quantity" style="width: 140px">
|
|
|
+ <el-input :disabled="scope.row.projectList?.[scope.row.productIndex]?.schemeType === '1'" v-model="props.row.quantity" style="width: 140px">
|
|
|
<template #append>
|
|
|
<span>份</span>
|
|
|
</template>
|
|
|
@@ -1044,7 +1044,8 @@
|
|
|
</template>
|
|
|
</el-radio>
|
|
|
</el-radio-group>
|
|
|
- </div>
|
|
|
+ </div>`
|
|
|
+
|
|
|
<template #reference>
|
|
|
<el-icon style="font-size: 14px; color:#0083FF "><Edit /></el-icon>
|
|
|
</template>
|
|
|
@@ -1510,9 +1511,9 @@ const initDetail = () => {
|
|
|
insurancePolicyForm.value.address1 = obj?.ownersInfo?.address
|
|
|
insurancePolicyForm.value.registeredCapital1 = obj?.ownersInfo?.registeredCapital
|
|
|
insurancePolicyForm.value.email1 = obj?.ownersInfo?.email
|
|
|
- insurancePolicyForm.value.taxpayerName = obj?.ownersInfo?.name
|
|
|
- insurancePolicyForm.value.taxpayerIdentifier = obj?.ownersInfo?.identifyType
|
|
|
- insurancePolicyForm.value.identifyNumber = obj?.ownersInfo?.identifyNumber
|
|
|
+ insurancePolicyForm.value.taxpayerName = obj?.vehicleAndVesselTaxVo?.taxpayerName || obj?.ownersInfo?.name
|
|
|
+ insurancePolicyForm.value.taxpayerIdentifier = obj?.vehicleAndVesselTaxVo?.taxpayerIdentifier || obj?.ownersInfo?.identifyType
|
|
|
+ insurancePolicyForm.value.identifyNumber = obj?.vehicleAndVesselTaxVo?.identifyNumber || obj?.ownersInfo?.identifyNumber
|
|
|
// 投保人信息
|
|
|
insurancePolicyForm.value.name2 = obj?.policyHolderInfo?.name
|
|
|
insurancePolicyForm.value.mobile2 = obj?.policyHolderInfo?.mobile
|
|
|
@@ -2428,6 +2429,7 @@ const handelSelectRow = (a, b) => {
|
|
|
})
|
|
|
}
|
|
|
quoteData.value.forEach(item => {
|
|
|
+ item.productIndex = 0
|
|
|
if(item.id === b.id) {
|
|
|
item.projectList = list.map(item => {
|
|
|
return {
|
|
|
@@ -2464,6 +2466,7 @@ const handelExpend = (e) => {
|
|
|
})
|
|
|
}
|
|
|
quoteData.value.forEach(item => {
|
|
|
+ item.productIndex = 0
|
|
|
if(item.id === e .id) {
|
|
|
item.projectList = list.map(item => {
|
|
|
return {
|
|
|
@@ -2490,15 +2493,15 @@ let insuranceShow = ref(false)
|
|
|
const handlePopover = (scope) => {
|
|
|
insuranceShow.value = true
|
|
|
nextTick(() => {
|
|
|
- InsuranceTypeRef.value.initEditData(scope.row.projectList[productIndex.value].kinds)
|
|
|
+ InsuranceTypeRef.value.initEditData(scope.row.projectList[scope.row.productIndex].kinds)
|
|
|
})
|
|
|
}
|
|
|
// 删除险种
|
|
|
const handleInsuranceDel = (scope, props) => {
|
|
|
- let obj = scope.row.projectList[productIndex.value].kinds.filter(a => a.id != props.row.id)
|
|
|
+ let obj = scope.row.projectList[scope.row.productIndex].kinds.filter(a => a.id != props.row.id)
|
|
|
quoteData.value.forEach(a => {
|
|
|
if(a.id === scope.row.id) {
|
|
|
- a.projectList[productIndex.value].kinds = obj
|
|
|
+ a.projectList[scope.row.productIndex].kinds = obj
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
@@ -2513,7 +2516,7 @@ const handleClose = (data) => {
|
|
|
}
|
|
|
quoteData.value.forEach(a => {
|
|
|
if(insurancePolicyForm.value.order.insuranceCompanyCode === a.id) {
|
|
|
- a.projectList[productIndex.value].kinds = data.list
|
|
|
+ a.projectList[a.productIndex].kinds = data.list
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
@@ -2526,15 +2529,15 @@ const handleDriving = (scope) => {
|
|
|
drivingRow.value = scope.$index
|
|
|
drivingShow.value = true
|
|
|
nextTick(() => {
|
|
|
- DrivingTypeRef.value.initEditData(scope.row.projectList[productIndex.value].drivings, 0, insurancePolicyForm.value.order.insuranceCompanyCode)
|
|
|
+ DrivingTypeRef.value.initEditData(scope.row.projectList[scope.row.productIndex].drivings, 0, insurancePolicyForm.value.order.insuranceCompanyCode)
|
|
|
})
|
|
|
}
|
|
|
// 删除驾意险
|
|
|
const handleDrivingDel = (scope, props) => {
|
|
|
- let obj = scope.row.projectList[productIndex.value].drivings.filter(a => a.id != props.row.id)
|
|
|
+ let obj = scope.row.projectList[scope.row.productIndex].drivings.filter(a => a.id != props.row.id)
|
|
|
quoteData.value.forEach(a => {
|
|
|
if(a.id === scope.row.id) {
|
|
|
- a.projectList[productIndex.value].drivings = obj
|
|
|
+ a.projectList[scope.row.productIndex].drivings = obj
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
@@ -2550,7 +2553,7 @@ const handleDrivingClose = (data) => {
|
|
|
data.list.forEach(a => {
|
|
|
a.quantity = 1
|
|
|
})
|
|
|
- quoteData.value[drivingRow.value].projectList[productIndex.value].drivings = [...data.list]
|
|
|
+ quoteData.value[drivingRow.value].projectList[quoteData.value[drivingRow.value].productIndex].drivings = [...data.list]
|
|
|
}
|
|
|
drivingShow.value = false
|
|
|
}
|
|
|
@@ -2600,8 +2603,8 @@ const handleSpecialTableDataSubmit = () => {
|
|
|
let discounts = ref([])
|
|
|
|
|
|
let productIndex = ref(0)
|
|
|
-const handleProduct = (e, index) => {
|
|
|
- productIndex.value = index
|
|
|
+const handleProduct = (scope, e, index) => {
|
|
|
+ scope.row.productIndex = index
|
|
|
}
|
|
|
|
|
|
// 报价历史
|
|
|
@@ -2938,10 +2941,10 @@ const handleSubmit = async (InsurancePolicyRefs: FormInstance | undefined, scope
|
|
|
let arr = [], brr = [], crr = []
|
|
|
if(quoteData.value.length>0) {
|
|
|
let obj = quoteData.value.find(a => a.id === insurancePolicyForm.value.order.insuranceCompanyCode)
|
|
|
- obj.projectList[productIndex.value].kinds?.forEach(a => {
|
|
|
+ obj.projectList[obj.productIndex].kinds?.forEach(a => {
|
|
|
arr.push(a)
|
|
|
})
|
|
|
- obj.projectList[productIndex.value].drivings?.forEach(a => {
|
|
|
+ obj.projectList[obj.productIndex].drivings?.forEach(a => {
|
|
|
brr.push(a)
|
|
|
})
|
|
|
if(obj.specialSelectedList?.length > 0) {
|