祁鹏飞 hace 1 mes
padre
commit
c260bd1d9d
Se han modificado 1 ficheros con 22 adiciones y 10 borrados
  1. 22 10
      src/views/insurancePolicy/index.vue

+ 22 - 10
src/views/insurancePolicy/index.vue

@@ -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>
@@ -2742,7 +2742,7 @@ const handleEquitiesSave = (data: any) => {
  * 调用接口查询可选方案列表,将可选方案合并至列表中,
  * 并将方案信息及过滤后的项目列表写入当前行的报价数据中。
  */
-const getSchemeResult = () => {
+const getSchemeResult = (bool: false) => {
   if (!insurancePolicyForm.value.order.insuranceCompanyCode) return
   if (!insurancePolicyForm.value.productId) return
   api.insurancePolicyApi.getSchemeResult({
@@ -2765,12 +2765,22 @@ const getSchemeResult = () => {
     // 方案信息
     quoteData.value.forEach((item: any) => {
       if (item.id === insurancePolicyForm.value.order.insuranceCompanyCode) {
-        if (myRoute.query.orderNo) {
+        item.projectList = list.map((item1: any) => {
+          return {
+            ...item1,
+            drivings: item1.drivings.filter(v => ['1', '2'].includes(v.selectedStatus)),
+            drivingsArr: item1.drivings,
+            rescue: [],
+            detection: [],
+            driver: [],
+            inspect: []
+          }
+        })
+        if (myRoute.query.orderNo && bool) {
           item.productIndex = list.findIndex(v => v.id === insurancePolicyForm.value.schemeId)
           list.forEach((item2: any) => {
             if (item2.schemeType === "1") {
               item2.kinds = item2.kinds.map((v: any) => {
-
                 let obj = item.insurancePlanInfo?.kinds?.find((kind: any) => kind.kindCode === v.kindCode && kind.amount === v.amount)
                 if (obj?.premiumSetting === '2') {
                   obj = obj.settingList?.find((setting: any) => setting.seats === insurancePolicyForm.value.seatCount)
@@ -2780,14 +2790,16 @@ const getSchemeResult = () => {
                   premium: obj?.premium
                 }
               })
+              item2.drivings = item2.drivings.filter(v => ['1', '2'].includes(v.selectedStatus))
             } else {
               item2.kinds = item2.kinds.map((v: any) => {
-                let obj = item.insurancePlanInfo?.kinds?.find((kind: any) => kind.kindCode === v.kindCode && kind.amount === v.amount)
+                let obj = item.insurancePlanInfo?.kinds?.find((kind: any) => kind.kindCode === v.kindCode)
                 return {
                   ...v,
                   premium: obj?.premium
                 }
               })
+              item2.drivings = item.insurancePlanInfo.drivings
             }
           })
         } else {
@@ -2799,11 +2811,11 @@ const getSchemeResult = () => {
             driver: [],
             inspect: []
           }
+          list = list.map(v => ({ ...v, drivings: v.drivings.filter(k => ['1', '2'].includes(k.selectedStatus)), }))
         }
         item.projectList = list.map((item1: any) => {
           return {
             ...item1,
-            drivings: item1.drivings.filter(v => ['1', '2'].includes(v.selectedStatus)),
             drivingsArr: item1.drivings,
             rescue: [],
             detection: [],
@@ -3962,7 +3974,7 @@ const ruleFilterCompany = (item: any, obj: any) => {
                 item.failMsg = obj.errorMessage
               }
               insurancePolicyForm.value.order.insuranceCompanyCode = a.id
-              getSchemeResult()
+              getSchemeResult(true)
             }
             return a
           })