Browse Source

页面布局优化 业务数据补充渲染 清除控制台报错

@dongkboy 5 tháng trước cách đây
mục cha
commit
f4de425b50

+ 0 - 1
src/assets/images/home/huiyuan.svg

@@ -1 +0,0 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#0098FD" d="M688.3 199.5c7.5 0 16.5 4.5 21.3 10.6l0.2 0.3 0.2 0.3 174.7 217.6c8.5 11.1 7.2 27.8-3.1 39.2L535 841.2l-0.1 0.1-0.1 0.1c-4.2 4.6-10.7 7.4-19.3 8.2h-0.6c-6.3 0-13.5-2.7-18.7-7l-2.6-2.6L140 465.8c-9.4-10.6-10.5-26.5-2.4-36.3l0.3-0.4 0.3-0.4 175-218v-0.2c5.9-7.3 13.2-11.1 21.7-11.1h353.4m0-67.9H335c-28.6 0-55.7 12.7-74.8 36.6l-175 218C55 422.7 58.1 476.8 90 511.9l354.9 375.6 4.8 4.8c17.5 15.9 41.4 25.5 65.2 25.5h3.2c25.5-1.6 49.3-11.1 66.8-30.2l346.9-374c33.4-36.6 35-90.7 6.4-127.3l-175-218c-17.6-22.5-46.3-36.8-74.9-36.8z"  /><path fill="#0098FD" d="M320.6 437.8c-7.7 0-15.4 2.8-22.1 8.8-12.7 11.1-12.7 31.8-1.6 44.6l171.9 181.4 3.2 3.2c12.1 11.4 27.5 16.9 43 16.9 17.1 0 34.4-6.8 47.7-20.1l165.5-179.8c11.1-12.7 11.1-33.4-1.6-44.6-6.4-5-13.9-7.4-21.2-7.4-9 0-17.9 3.6-24.9 10.6L523.6 618.7c-2.4 2.5-5.6 3.8-8.8 3.8-3.2 0-6.3-1.2-8.7-3.7L344.6 448.2c-6.8-6.8-15.3-10.4-24-10.4z"  /></svg>

BIN
src/assets/images/home/quanyi.png


+ 283 - 250
src/views/insurancePolicy/index.vue

@@ -42,7 +42,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="6">
-              <el-form-item :disabled="insurancePolicyForm.isRegistered==2" label="车牌" prop="licenseNo">
+              <el-form-item :disabled="insurancePolicyForm.isRegistered=='2'" label="车牌" prop="licenseNo">
                 <el-input v-model="insurancePolicyForm.licenseNo" minlength="7" maxlength="8" placeholder="输入车牌号" @change="getQuoteNumber"></el-input>
               </el-form-item>
             </el-col>
@@ -204,12 +204,18 @@
 
           </el-row>
           <template #icon="{ isActive }">
-            <span class="icon">
+            <div class="icon">
               <el-button link type="primary" @click.stop="handleRecognition('clxx')"><img src="@/assets/images/insurancePolicy/sao.png" class="myIcon" />证件识别</el-button>
-              <span class="icon-ele">
+              <span class="icon-ele flex a-c ">
                 {{ isActive ? '收起' : '展开' }}
               </span>
-            </span>
+              <el-icon v-if="isActive" color="#333">
+                    <ArrowDownBold />
+                </el-icon>
+                <el-icon v-else color="#333">
+                    <ArrowUpBold />
+                </el-icon>
+            </div>
           </template>
         </el-collapse-item>
         <el-collapse-item name="owner">
@@ -349,22 +355,30 @@
             </el-col>-->
           </el-row>
           <template #icon="{ isActive }">
-            <span class="icon">
+            <div class="icon">
               <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>
-            </span>
+              <el-icon v-if="isActive" color="#333">
+                    <ArrowDownBold />
+                </el-icon>
+                <el-icon v-else color="#333">
+                    <ArrowUpBold />
+                </el-icon>
+            </div>
           </template>
         </el-collapse-item>
         <el-collapse-item name="owner1">
           <template #title>
-            <span class="title">
+            <div class="title">
               投保人信息
-              <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.owner1" :key="item" @click.stop="handleChange(item, 'owner1')">
+              <div class="ml-5 flex a-c">
+                <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.owner1" :key="item" @click.stop="handleChange(item, 'owner1')">
                 {{ item.text }}
               </span>
-            </span>
+              </div>
+            </div>
           </template>
           <el-row :gutter="20" class="formItem formBlock" v-if="btns.owner1Text === '其他人'">
             <el-col :span="6">
@@ -496,22 +510,31 @@
             </el-col>-->
           </el-row>
           <template #icon="{ isActive }">
-            <span class="icon">
+            <div class="icon">
               <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>
-            </span>
+              <el-icon v-if="isActive" color="#333">
+                    <ArrowDownBold />
+                </el-icon>
+                <el-icon v-else color="#333">
+                    <ArrowUpBold />
+                </el-icon>
+            </div>
           </template>
         </el-collapse-item>
         <el-collapse-item name="owner2">
           <template #title>
-            <span class="title">
+            <div class="title">
               被保人信息
-              <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.owner2" :key="item" @click.stop="handleChange(item, 'owner2')">
+              <div class="ml-5 flex a-c">
+                 <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.owner2" :key="item" @click.stop="handleChange(item, 'owner2')">
                 {{ item.text }}
               </span>
-            </span>
+              </div>
+
+            </div>
           </template>
           <el-row :gutter="20" class="formItem formBlock" v-if="btns.owner2Text === '其他人'">
             <el-col :span="6">
@@ -643,22 +666,31 @@
             </el-col>-->
           </el-row>
           <template #icon="{ isActive }">
-            <span class="icon">
+            <div class="icon">
               <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>
-            </span>
+              <el-icon v-if="isActive" color="#333">
+                    <ArrowDownBold />
+                </el-icon>
+                <el-icon v-else color="#333">
+                    <ArrowUpBold />
+                </el-icon>
+            </div>
           </template>
         </el-collapse-item>
         <el-collapse-item name="tax">
           <template #title>
-            <span class="title">
+            <div class="title">
               车船税
-              <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.owner3" :key="item" @click.stop="handleChange(item, 'owner3')">
+              <div class="ml-5 flex a-c">
+                 <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.owner3" :key="item" @click.stop="handleChange(item, 'owner3')">
                 {{ item.text }}
               </span>
-            </span>
+              </div>
+
+            </div>
           </template>
             <div v-if="btns.owner3show === '正常交税'" style="width: 100%">
                 <el-row :gutter="20" class="formItem formBlock">
@@ -785,32 +817,40 @@
             </el-row>
           </div>
           <template #icon="{ isActive }">
-            <span class="icon">
+            <div class="icon">
               <span class="icon-ele">
                 {{ isActive ? '收起' : '展开' }}
               </span>
-            </span>
+              <el-icon v-if="isActive" color="#333">
+                    <ArrowDownBold />
+                </el-icon>
+                <el-icon v-else color="#333">
+                    <ArrowUpBold />
+                </el-icon>
+            </div>
           </template>
         </el-collapse-item>
         <el-collapse-item name="insurance">
           <template #title>
-            <span class="title">
+            <div class="title">
               投保信息
-              <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in optionObj.insuranceType" :key="item.value" @click.stop="handleChange(item, 'insurance')">
+              <div class="ml-5 flex a-c">
+                <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in optionObj.insuranceType" :key="item.value" @click.stop="handleChange(item, 'insurance')">
                 {{ item.label }}
               </span>
-            </span>
+              </div>
+            </div>
           </template>
           <el-form-item class="white-m-p24" label="车辆其他信息">
             <el-checkbox v-model="insurancePolicyForm.transfer" value="1">是否过户</el-checkbox>
             <el-checkbox v-model="insurancePolicyForm.biTransfer" value="2">商业险是否过户</el-checkbox>
             <el-checkbox v-model="insurancePolicyForm.secondHandCar" value="3">二手车</el-checkbox>
           </el-form-item>
-          <div class="insurance-jq" v-if="insurancePolicyForm.productId === '0330' || insurancePolicyForm.productId === '0330034002' || insurancePolicyForm.productId === '0330034001'">
+          <div class="insurance-jq flex a-c  " v-if="insurancePolicyForm.productId === '0330' || insurancePolicyForm.productId === '0330034002' || insurancePolicyForm.productId === '0330034001'">
             <span>交强险</span>
             <span class="checkbox" :class="{'cehcked': item.checked}" v-for="item in jqWork" :key="item" @click="JQChange(item)">{{ item.text }}</span>
             <div class="time">
-              <el-form-item prop="startDate" label="">
+              <el-form-item prop="startDate" label="" >
                 <el-date-picker
                   v-model="insurancePolicyForm.JQStartDate"
                   type="datetime"
@@ -821,7 +861,7 @@
                   :disabled-date="disabledDate"
                 />
               </el-form-item>
-              &nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;
+              <span class="ml-5 mr-5">至</span>
               <el-form-item prop="endDate" label="">
                 <el-date-picker
                   v-model="insurancePolicyForm.JQEndDate"
@@ -833,11 +873,11 @@
               </el-form-item>
             </div>
           </div>
-          <div class="insurance-jq" v-if="insurancePolicyForm.productId === '034001' || insurancePolicyForm.productId === '034002' || insurancePolicyForm.productId === '0330034002' || insurancePolicyForm.productId === '0330034001'">
+          <div class="insurance-jq flex a-c " v-if="insurancePolicyForm.productId === '034001' || insurancePolicyForm.productId === '034002' || insurancePolicyForm.productId === '0330034002' || insurancePolicyForm.productId === '0330034001'">
             <span>商业险</span>
             <span class="checkbox" :class="{'cehcked': item.checked}" v-for="item in syWork" :key="item" @click="SYChange(item)">{{ item.text }}</span>
             <div class="time">
-              <el-form-item prop="startDate" label="">
+              <el-form-item prop="startDate" label="" >
                 <el-date-picker
                   v-model="insurancePolicyForm.SYStartDate"
                   type="datetime"
@@ -849,7 +889,7 @@
 
                 />
               </el-form-item>
-              &nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;
+              <span class="ml-5 mr-5">至</span>
               <el-form-item prop="endDate" label="">
                 <el-date-picker
                   v-model="insurancePolicyForm.SYEndDate"
@@ -862,11 +902,17 @@
             </div>
           </div>
           <template #icon="{ isActive }">
-            <span class="icon">
+            <div class="icon">
               <span class="icon-ele">
                 {{ isActive ? '收起' : '展开' }}
               </span>
-            </span>
+              <el-icon v-if="isActive" color="#333">
+                    <ArrowDownBold />
+                </el-icon>
+                <el-icon v-else color="#333">
+                    <ArrowUpBold />
+                </el-icon>
+            </div>
           </template>
         </el-collapse-item>
         <el-collapse-item name="company">
@@ -888,23 +934,23 @@
             <el-table-column type="expand">
               <template #default="scope">
                   <div class="equities">
-                      <div style="color: #333333; font-size: 16px;">客户权益</div>&nbsp;&nbsp;
+                      <div class="mr-3 equitiesTitle">客户权益</div>
                       <div class="equitiesBox">
                           <div class="equitiesLabel">
-                              <img src="@/assets/images/home/huiyuan.svg" />&nbsp;&nbsp;
+                              <img src="@/assets/images/home/quanyi.png" />
                               <div>掌柜权益</div>
                           </div>
                           <div class="circle"></div>
                           <div>为车主提供 "省心、省时、又省钱" 的全场景服务</div>
                           <el-button style="margin: 0 20px" size="small" type="primary" @click="handleOpenEquities">选择权益</el-button>
-                      </div>&nbsp;&nbsp;&nbsp;&nbsp;
+                      </div>
                       <div class="equitiesChoice">
                           已选<span style="color: #0083FF">12</span>项去权益,共计<span style="color: #FF8C21">135.35</span>元
                       </div>
                   </div>
                 <div class="expandFlex">
-                  <p class="expandTitle">车险方案</p>
-                  <div style="width: calc(100% - 50px); overflow-x: hidden">
+                  <div class="expandTitle flex a-c j-c">车险方案</div>
+                  <div style="width: calc(100% - 50px); ">
                     <div class="product">
                       <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>
@@ -997,88 +1043,60 @@
                         </el-table>
                       </el-col>
                       <el-col :span="12" style="border-left: 1px dashed #eeeeee">
-                        <p style="text-align: center">保费因素</p>
-                        <el-table
-                          class="factorTable"
-                          :data="scope.row.factorData"
-                        >
-                          <el-table-column label="评分" prop="" width="50">--</el-table-column>
-                          <el-table-column label="交强险折扣系数" prop="">--</el-table-column>
-                          <el-table-column label="鼎然车辆风险评分" prop="">--</el-table-column>
-                          <el-table-column label="交强评分" prop="" width="70">--</el-table-column>
-                          <el-table-column label="商业评分" prop="" width="70">--</el-table-column>
-                          <el-table-column label="出险信息" prop="" width="70">--</el-table-column>
-                          <el-table-column label="总赔付率" prop="" width="70">--</el-table-column>
-                          <el-table-column label="交强赔付率" prop="" width="80">--</el-table-column>
-                          <el-table-column label="商业赔付率" prop="" width="80">--</el-table-column>
-                        </el-table>
-                        <el-table
-                          class="factorTable"
-                          :data="scope.row.factorData"
-                        >
-                          <el-table-column label="类型" prop="" width="50">--</el-table-column>
-                          <el-table-column prop="">
-                            <template #header>
-                              <div style="display: flex; align-items: center; justify-content: center">
-                                <span>商业险折扣系数</span>
-                                <el-popover placement="bottom" width="200">
-                                  <div style="display: flex; align-items: center; justify-content: space-between;">
-                                    <span>NCD折扣系数</span>
-                                    <span>0.8</span>
-                                  </div>
-                                  <div style="display: flex; align-items: center; justify-content: space-between;">
-                                    <span>NCD折扣系数11</span>
-                                    <span>0.811</span>
-                                  </div>
-                                  <template #reference>
-                                    <div class="more">
-                                      <el-icon><MoreFilled /></el-icon>
-                                    </div>
-                                  </template>
-                                </el-popover>
-                              </div>
-                            </template>
-                            <template #default="props">
-                              <div style="display: flex; align-items: center; justify-content: center">
-                                <span>--</span>
-                                <el-popover placement="bottom" width="240" trigger="click">
-                                  <div class="number">
-                                    <p>商业险折扣系数和自主定价系数只能修改一个,修改后系统会重新报价,计算修改后的保费</p>
-                                    <el-radio-group>
-                                      <el-radio value="1" size="small" style="margin-bottom: 10px">
-                                        <template #default>
-                                          <div style="display: flex; justify-content: space-between; align-items: center; width: 180px">
-                                            <span>商业险折扣系数</span>
-                                            <el-input style="width: 80px" size="small"></el-input>
-                                          </div>
-                                        </template>
-                                      </el-radio>
-                                      <el-radio value="2" size="small">
-                                        <template #default>
-                                          <div style="display: flex; justify-content: space-between; align-items: center; width: 180px">
-                                            <span>自主定价系数</span>
-                                            <el-input style="width: 80px" size="small"></el-input>
-                                          </div>
-                                        </template>
-                                      </el-radio>
-                                    </el-radio-group>
-                                  </div>`
-
-                                  <template #reference>
-                                    <el-icon style="font-size: 14px; color:#0083FF "><Edit /></el-icon>
-                                  </template>
-                                </el-popover>
-                              </div>
-                            </template>
-                          </el-table-column>
-                          <el-table-column label="交强出险次数" prop="" width="100">--</el-table-column>
-                          <el-table-column label="商业出险次数" prop="" width="100">--</el-table-column>
-                          <el-table-column label="交强续保" prop="" width="70">--</el-table-column>
-                          <el-table-column label="商业续保" prop="" width="70">--</el-table-column>
-                          <el-table-column label="总折扣率" prop="" width="70">--</el-table-column>
-                          <el-table-column label="商业折扣" prop="" width="70">--</el-table-column>
-                          <el-table-column label="交强折扣" prop="" width="70">--</el-table-column>
-                        </el-table>
+                        <div class="premiumFactor">
+                          <div class="header ">保费因素</div>
+                          <div class="flex a-start f-wrap">
+                            <div class="Factor-item flex a-c f-c ">
+                              <span class="item-header flex a-c ">总赔付率</span>
+                              <span>{{ scope.row.quoteResult?.scoreVo?.lossRation || '--' }}</span>
+                            </div>
+                            <div class="Factor-item flex a-c f-c ">
+                              <span class="item-header flex a-c ">交强赔付率</span>
+                              <span>{{ scope.row.quoteResult?.scoreVo?.jqLossRation || '--' }}</span>
+                            </div>
+                            <div class="Factor-item flex a-c f-c ">
+                              <span class="item-header flex a-c ">商业赔付率</span>
+                              <span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--' }}</span>
+                            </div>
+                            <div class="Factor-item flex a-c f-c ">
+                              <span class="item-header flex a-c ">类型</span>
+                              <span>{{ scope.row.quoteResult?.scoreVo?.type || '续保' }}</span>
+                            </div>
+                            <div class="Factor-item flex a-c f-c ">
+                              <span class="item-header flex a-c ">交强出险次数</span>
+                              <span>{{ scope.row.quoteResult?.scoreVo?.ciClaims || '--' }}</span>
+                            </div>
+                            <div class="Factor-item flex a-c f-c ">
+                              <span class="item-header flex a-c ">商业出险次数</span>
+                              <span>{{ scope.row.quoteResult?.scoreVo?.biClaims || '--' }}</span>
+                            </div>
+                            <div class="Factor-item flex a-c f-c ">
+                              <span class="item-header flex a-c ">交强续保</span>
+                              <span>{{ scope.row.quoteResult?.scoreVo?.jqRenewal || '--' }}</span>
+                            </div>
+                            <div class="Factor-item flex a-c f-c ">
+                              <span class="item-header flex a-c ">商业续保</span>
+                              <span>{{ scope.row.quoteResult?.scoreVo?.syRenewal || '--' }}</span>
+                            </div>
+                            <div class="Factor-item flex a-c f-c ">
+                              <span class="item-header flex a-c ">总折扣率</span>
+                              <span>{{ scope.row.quoteResult?.scoreVo?.totalAdjustRate || '--' }}</span>
+                            </div>
+                            <div class="Factor-item flex a-c f-c ">
+                              <span class="item-header flex a-c ">商业折扣</span>
+                              <span>{{ scope.row.quoteResult?.scoreVo?.syAdjustRate || '--' }}</span>
+                            </div>
+                            <div class="Factor-item flex a-c f-c ">
+                              <span class="item-header flex a-c ">交强折扣</span>
+                              <span>{{ scope.row.quoteResult?.scoreVo?.jqAdjustRate || '--' }}</span>
+                            </div>
+                            <!-- 各保司定制评分 -->
+                            <div class="Factor-item flex a-c f-c " v-for="(item, index) in scope.row.quoteResult?.scoreVo?.scoreJson" :key="index">
+                              <span class="item-header flex a-c ">{{ item.scoreName }}</span>
+                              <span>{{ item.score || '--' }}</span>
+                            </div>
+                          </div>
+                        </div>
                       </el-col>
                       <el-col :span="12" style="border-left: 1px dashed #eeeeee">
                           <p style="text-align: center">优惠信息</p>
@@ -1103,15 +1121,18 @@
               <template #default="scope">
                 <div class="company">
                   <img :src="scope.row.logo"/>
-                  <span>{{ scope.row.name }}</span>
+                  <span>{{ scope.row.nameSimple }}</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>
+                  <div class="company  " style="margin-top: 10px;" v-if="scope.row.underwritingMsg">
+                      <span style="display: flex; align-items: center; color: #FF4545;"><el-icon  class="mr-2"><WarningFilled size="14" color="#FF4545" /></el-icon>核保失败</span>
                       <el-popover
                               title="提示"
-                              :content="scope.row.underwritingMsg"
+                              raw-content
                               placement="bottom-end"
                       >
+                      <template #default>
+                        <span v-html="scope.row.underwritingMsg.replace(/\n/g, '<br>')"></span>
+                      </template>
                           <template #reference>
                               <el-button link type="primary">查看详情</el-button>
                           </template>
@@ -1119,28 +1140,30 @@
                   </div>
               </template>
             </el-table-column>
-            <el-table-column label="报价协议" prop="" align="center" width="260">
+            <el-table-column label="报价协议" prop="" align="center" width="300">
               <template #default="scope">
-                <el-select v-model="scope.row.agreement" :disabled="scope.row.isDispatch || scope.row.agreements.length == 1" v-if="currentRow.some(a => a.id === scope.row.id)" :placeholder="scope.row.isDispatch?'默认':'请选择'">
+                <el-select v-model="scope.row.agreement" :disabled="!!scope.row.isDispatch || scope.row.agreements?.length == 1" v-if="currentRow.some(a => a.id === scope.row.id)" :placeholder="scope.row.isDispatch?'默认':'请选择'">
                   <el-option v-for="item in scope.row.agreements" :value="item.id" :label="item.agreementName"></el-option>
                 </el-select>
               </template>
             </el-table-column>
             <el-table-column prop="" align="center">
               <template #header>
-                <div style="display: flex; align-items: center; justify-content: center">
+                <div style="display: flex; align-items: center; ">
                   <span style="margin-right: 10px">报价结果</span>
                   <el-checkbox @change="handleViewSuccess">仅查看报价成功</el-checkbox>
                 </div>
               </template>
               <template #default="scope">
                 <div class="result" v-if="currentRow.some(a => a.id === scope.row.id) && !scope.row.loading">
-                  <span class="resultItem">
+                  <div 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" @click="handleOpen(scope)">
-                      <el-icon style="color: #FF4545; font-size: 14px"><Warning /></el-icon>&nbsp;&nbsp;未匹配费用
-                    </span>
-                  </span>
+
+                    <div class="resultTips"  v-if="scope.row.quoteResult?.feeNoDescription"  @click="handleOpen(scope)">
+                      <el-icon size="14" color="#FAA21E"><WarningFilled /></el-icon>
+                      <span class="ml-1">未匹配到销管费用,不建议投保</span>
+                    </div>
+                  </div>
                   <div class="resultItem">
                     <span v-if="scope.row.quoteResult?.costs?.ciPremium" style="text-align: left; margin-right: 10px">交强:{{ `¥${scope.row.quoteResult?.costs?.ciPremium}` }}</span>
                     <span v-if="scope.row.quoteResult?.costs?.vvTax" style="text-align: left; margin-right: 10px">车船税:{{ `¥${scope.row.quoteResult?.costs?.vvTax}` }}</span>
@@ -1180,76 +1203,6 @@
                 </div>
               </template>
             </el-table-column>
-            <el-table-column label="费用因子" align="center">
-                  <template #default="scope">
-                      <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="costFactor" v-if="scope.row.quoteResult?.scoreVo">
-                                  <span>交强险系数:</span><span>{{ item.jqLossRation || '--' }}</span>
-                              </div>
-                              <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
-                                  <span>商业险系数:</span><span>{{ item.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>
-                                      <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>
-                          </template>
-                      </div>
-                  </template>
-              </el-table-column>
             <el-table-column label="操作" align="center" width="360">
               <template #default="scope">
                 <div v-if="currentRow.some(a => a.id === scope.row.id)">
@@ -1263,11 +1216,17 @@
             </el-table-column>
           </el-table>
           <template #icon="{ isActive }">
-            <span class="icon">
+            <div class="icon">
               <span class="icon-ele">
                 {{ isActive ? '收起' : '展开' }}
               </span>
-            </span>
+              <el-icon v-if="isActive" color="#333">
+                    <ArrowDownBold />
+                </el-icon>
+                <el-icon v-else color="#333">
+                    <ArrowUpBold />
+                </el-icon>
+            </div>
           </template>
         </el-collapse-item>
         <el-collapse-item name="history">
@@ -1332,11 +1291,17 @@
             </el-table-column>
           </el-table>
           <template #icon="{ isActive }">
-            <span class="icon">
+            <div class="icon">
               <span class="icon-ele">
                 {{ isActive ? '收起' : '展开' }}
               </span>
-            </span>
+              <el-icon v-if="isActive" color="#333">
+                    <ArrowDownBold />
+                </el-icon>
+                <el-icon v-else color="#333">
+                    <ArrowUpBold />
+                </el-icon>
+            </div>
           </template>
         </el-collapse-item>
       </el-collapse>
@@ -1719,6 +1684,10 @@ let insurancePolicyForm = ref({
   systemType: '2',
   propertyCode: '1',
   isRegistered: '1',
+   // 业务员信息
+  salesman: '',
+  mobile: '',
+  deptId: '',
   // 车辆
   licenseNo: '',
   vinNo: '',
@@ -2862,6 +2831,7 @@ let underwritingMsgShow = ref(false)
 const handleUnderwritingClose = (bool, msg) => {
     underwritingShow.value = false
     if(msg) {
+      console.log(msg)
         quoteData.value[underwritingIndex.value].underwritingMsg = msg
     }
     if(bool === 'success') {
@@ -3279,6 +3249,7 @@ const handleSubmit = async (InsurancePolicyRefs: FormInstance | undefined, scope
                             },
                         ]
                         quoteData.value[scope.$index].quoteResult = res.data
+                        console.log(res.data)
                         loading.value = false
                         quoteData.value[scope.$index].loading = false
                         console.log('报价后的数据', quoteData.value)
@@ -3525,16 +3496,17 @@ onMounted(() => {
     border-left: 4px solid #00a0f4;
     display: flex;
     align-items: center;
-    justify-content: flex-start;
-    padding-left: 12px;
+    padding-left: 8px;
     margin-left: 24px;
     color: #333333;
-    font-size: 15px;
+    font-size: 18px;
+    font-weight: bold;
   }
   .icon{
     padding-right: 24px;
     display: flex;
     align-items: center;
+
   }
   .myIcon{
     display: inline-block;
@@ -3543,18 +3515,23 @@ onMounted(() => {
     margin-right: 10px;
   }
   .icon-ele{
+    font-size: 14px;
     margin-left: 10px;
+    color: #333;
+    margin-right: 6px;
   }
   .ordinary{
-    height: 22px;
-    line-height: 22px;
-    padding: 0 10px;
+    height: 28px;
+    line-height: 28px;
+    padding: 0 12px;
     border: 1px solid #EEEEEE;
     border-radius: 2px;
     color: #666666;
     display: flex;
-    font-size: 12px;
+    font-size: 14px;
     margin: 0 5px;
+    font-weight: 400;
+    border-radius: 2px;
   }
   .active{
     border: 1px solid #0083FF;
@@ -3563,20 +3540,17 @@ onMounted(() => {
     background-size: 12px 12px;
   }
   .insurance-jq{
-    display: flex;
-    align-items: center;
-    justify-content: flex-start;
     margin: 10px 0 24px 24px;
     .checkbox{
       margin: 0 24px;
-      height: 22px;
-      line-height: 22px;
-      padding: 0 10px;
+      height: 28px;
+      line-height: 28px;
+      padding: 0 12px;
       border: 1px solid #EEEEEE;
       border-radius: 2px;
       color: #666666;
       display: flex;
-      font-size: 12px;
+      font-size: 14px;
       cursor: pointer;
     }
     .cehcked{
@@ -3588,7 +3562,9 @@ onMounted(() => {
     .time{
       display: flex;
       align-items: center;
-      justify-content: flex-start;
+      .el-form-item{
+        margin-bottom: 0;
+      }
     }
   }
   .success{
@@ -3622,7 +3598,8 @@ onMounted(() => {
     display: flex;
     align-items: center;
     justify-content: flex-start;
-    font-size: 12px;
+    font-size: 14px;
+    color: #666;
     .resultTips{
       display: flex;
       align-items: center;
@@ -3630,11 +3607,17 @@ onMounted(() => {
       background: #FFFAEF;
       border: 1px solid #FAA21E;
       border-radius: 2px;
-      padding: 0 4px;
-      font-size: 10px;
+      padding: 0 10px 0 5px;
+      font-size: 12px;
       margin-left: 10px;
+      color: #333;
     }
   }
+  .resultItem:first-child >span{
+    font-size: 14px;
+    color: #333;
+    font-weight: bold;
+  }
   .costFactor{
     width: 100%;
     display: flex;
@@ -3658,14 +3641,16 @@ onMounted(() => {
     font-size: 12px;
   }
   .product{
+    margin-top: 12px;
     .productItem{
+      padding: 5px 12px;
+      box-sizing: border-box;
+      font-size: 14px;
+      color: #666;
       border: 1px solid #E5E5E5;
-      font-size: 12px;
-      padding: 0 4px;
       border-radius: 2px;
-      color: #666666;
       cursor: pointer;
-      margin: 0 10px 0 0;
+      margin-right:10px;
     }
     .productActive{
       border: 1px solid #0083FF;
@@ -3673,15 +3658,15 @@ onMounted(() => {
     }
   }
   .quoteTitle{
-    height: 14px;
-    border-left: 2px solid #00a0f4;
+    height: 16px;
+    border-left: 4px solid #00a0f4;
     display: flex;
     align-items: center;
-    justify-content: flex-start;
     padding-left: 6px;
-    margin: 14px 0;
     color: #333333;
-    font-size: 14px;
+    font-size: 16px;
+    font-weight: bold;
+    margin: 16px 0 ;
   }
   .quoteFlex{
     display: flex;
@@ -3701,14 +3686,16 @@ onMounted(() => {
   .expandFlex{
     display: flex;
     .expandTitle{
-      text-align: center;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      width: 40px;
-      padding: 0 8px;
-      margin: 0 10px 0 0;
-      background: #F6FBFF;
+      width: 50px;
+      margin-right:10px;
+      background: #F0F8FF;
+      font-size: 18px;
+      color: #333;
+      font-weight: bold;
+      writing-mode: vertical-rl;
+      letter-spacing: 4px;
+
+
     }
   }
   .equities{
@@ -3716,6 +3703,11 @@ onMounted(() => {
     align-items: center;
     justify-content: flex-start;
     margin-bottom: 10px;
+  .equitiesTitle{
+      color: #333333;
+      font-size: 16px;
+      font-weight: bold;
+    }
     .equitiesBox{
       display: flex;
       align-items: center;
@@ -3727,27 +3719,33 @@ onMounted(() => {
         align-items: center;
         justify-content: flex-start;
         background: #DFF1FF;
-        padding: 6px 10px;
+        padding: 9px 10px;
+        color: #00AAFF;
+        font-size: 14px;
         img{
-          width: 14px;
-          height: 14px;
+          width: 16px;
+          height: 16px;
+          margin-right: 5px;
         }
       }
       .circle{
         width: 0;
         height: 0;
-        border-bottom: 37px solid #DFF1FF;
+        border-bottom: 42px solid #DFF1FF;
         border-right: 20px solid transparent;
       }
     }
+    .equitiesChoice{
+      margin-left: 10px;
+    }
   }
   :deep(.el-collapse-item__header) {
     display: flex;
     align-items: center;
     justify-content: space-between;
   }
-  :deep(.el-form-item) {
-    margin-bottom: 0;
+  :deep(.el-form .el-form-item) {
+    margin-bottom: 10px;
   }
   .formBlock{
     :deep(.el-form-item) {
@@ -3768,7 +3766,7 @@ onMounted(() => {
       margin-left: 2px;
     }
     :deep(.cell) {
-      font-size: 10px;
+      font-size: 14px;
     }
   }
   :deep(thead .el-table__cell) {
@@ -3865,8 +3863,43 @@ onMounted(() => {
       animation-delay: -0.1s;
     }
   }
-  :deep(.el-form-item) {
-    margin-bottom: 10px;
-  }
 }
+// 保费因子
+.premiumFactor{
+    width: 100%;
+    margin: 10px 0;
+    border: 1px solid #eee;
+    border-radius: 5px;
+    .header{
+      font-size: 14px;
+      font-weight: bold;
+      color: #333333;
+      padding: 6px 8px;
+      box-sizing: border-box;
+      text-align: center;
+    }
+    .flex.a-start.f-wrap{
+      gap: 0;
+    }
+    .Factor-item{
+      min-width: 50px;
+      flex:  auto;
+      .item-header{
+        width: 100%;
+        font-size: 14px;
+        color: #666666;
+        font-weight: bold;
+        background: #F7F7F9;
+        justify-content: center;
+        padding: 6px 8px;
+        box-sizing: border-box;
+      }
+      span:last-child{
+        font-size: 14px;
+        color: #333333;
+        padding: 6px 8px;
+        box-sizing: border-box;
+      }
+    }
+  }
 </style>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 543 - 515
src/views/insurancePolicy/modules/recognition.vue


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác