Răsfoiți Sursa

车险结算-审核

yaoyao 2 ani în urmă
părinte
comite
1daa8d96a2
1 a modificat fișierele cu 147 adăugiri și 82 ștergeri
  1. 147 82
      src/views/Core/components/detailsDialogPro.vue

+ 147 - 82
src/views/Core/components/detailsDialogPro.vue

@@ -28,14 +28,14 @@
             :class="{ 'li-selected': selectedItem === 'fymx' }" @click="selectItem('fymx')">费用明细</li>
           <li v-if="orderInfo.feeOrderNewVo && orderInfo.feeOrderNewVo.deptManagerFee.length > 0"
             :class="{ 'li-selected': selectedItem === 'jgglf' }" @click="selectItem('jgglf')">机构管理费</li>
-          <li v-if="orderInfo.distributionLevelVoList && orderInfo.distributionLevelVoList.length > 0"
+          <li v-if="orderInfo.feeOrderNewVo && orderInfo.feeOrderNewVo.retailFee && orderInfo.feeOrderNewVo.retailFee.length > 0"
             :class="{ 'li-selected': selectedItem === 'fxmx1' }" @click="selectItem('fxmx1')">分销明细</li>
           <li v-if="orderInfo && orderInfo.orderstatus == 4 && orderInfo.auditopinion"
             :class="{ 'li-selected': selectedItem === 'shyj' }" @click="selectItem('shyj')">审核意见</li>
 
         </ul>
       </div>
-      <div style="margin:20px;height: 60vh;width: 100%;">
+      <div style="margin:20px;height: 60vh;overflow-y: auto;width: 100%;">
         <ul class="fixedTop">
             <li>
               <div class="title">
@@ -59,8 +59,8 @@
               <p>{{ orderInfo.source }}</p>
             </li>
         </ul>
-        <div style="height: 46vh;overflow-y: auto;width: 100%;  position: relative;">
-          <OpenCloseBox id="gsxx">
+
+        <OpenCloseBox id="gsxx">
           <span slot="title">归属信息</span>
           <div slot="boby">
             <el-row class="premium-style " :gutter="20" >
@@ -229,30 +229,35 @@
           </div>
         </OpenCloseBox>
         <OpenCloseBox id="bfys">
-          <span slot="title">保费因素</span>
-          <div slot="boby">
-            <el-row class="premium-style " :gutter="20">
-              <el-col :span="6"><span>评分:</span>{{ orderInfo.extendInfo.score }}</el-col>
-              <el-col :span="6"><span>总赔付率:</span>{{ orderInfo.extendInfo.lossRation }}</el-col>
-              <el-col :span="6"><span>总折扣率:</span>{{ orderInfo.extendInfo.totalAdjustRate }}</el-col>
-              <el-col :span="6"><span>出险信息:</span>{{ orderInfo.extendInfo.accidentInfoStr }}</el-col>
-            </el-row>
-            <el-row class="premium-style " :gutter="20">
-              <el-col :span="6"><span>交强类型评分:</span>{{ orderInfo.extendInfo.jqScore }}</el-col>
-              <el-col :span="6"><span>交强赔付率:</span>{{ orderInfo.extendInfo.jqLossRation }}</el-col>
-              <el-col :span="6"><span>交强险折扣:</span>{{ orderInfo.extendInfo.jqAdjustRate }}</el-col>
-            </el-row>
-            <el-row class="premium-style " :gutter="20">
-              <el-col :span="6"><span>商业类型评分:</span>{{ orderInfo.extendInfo.syScore }}</el-col>
-              <el-col :span="6"><span>商业赔付率:</span>{{ orderInfo.extendInfo.syLossRation }}</el-col>
-              <el-col :span="6"><span>商业险折扣:</span>{{ orderInfo.extendInfo.syAdjustRate }}</el-col>
-            </el-row>
-            <el-row class="premium-style " :gutter="20" v-if="orderInfo.ubiPredictedInfoScore">
-              <el-col :span="6"><span>紫金能源车(鼎然-车辆风险评分):</span>{{ orderInfo.ubiPredictedInfoScore }}</el-col>
-            </el-row>
-          </div>
-        </OpenCloseBox>
-
+            <span slot="title">保费因素</span>
+            <div slot="boby">
+              <el-row class="premium-style " :gutter="20">
+                <el-col :span="6"><span>评分:</span>{{ orderInfo.extendInfo.score ? orderInfo.extendInfo.score : ''
+                }}</el-col>
+                <el-col :span="6"><span>总赔付率:</span>{{ orderInfo.extendInfo.lossRation }}</el-col>
+                <el-col :span="6"><span>总折扣率:</span>{{ orderInfo.extendInfo.totalAdjustRate }}</el-col>
+              </el-row>
+              <el-row class="premium-style " :gutter="20">
+                <el-col :span="6"><span>交强类型评分:</span>{{ orderInfo.extendInfo.jqScore }}</el-col>
+                <el-col :span="6"><span>交强赔付率:</span>{{ orderInfo.extendInfo.jqLossRation }}</el-col>
+                <el-col :span="6"><span>交强险折扣:</span>{{ orderInfo.extendInfo.jqAdjustRate }}</el-col>
+              </el-row>
+              <el-row class="premium-style " :gutter="20">
+                <el-col :span="6"><span>商业类型评分:</span>{{ orderInfo.extendInfo.syScore }}</el-col>
+                <el-col :span="6"><span>商业赔付率:</span>{{ orderInfo.extendInfo.syLossRation }}</el-col>
+                <el-col :span="6"><span>商业险折扣:</span>{{ orderInfo.extendInfo.syAdjustRate }}</el-col>
+              </el-row>
+              <el-row class="premium-style " :gutter="20">
+                <el-col :span="6"><span>交强续保:</span>{{ orderInfo.extendInfo.jqRenewal }}</el-col>
+                <el-col :span="6"><span>商业续保:</span>{{ orderInfo.extendInfo.syRenewal }}</el-col>
+                <el-col :span="6"><span>交强出险次数:</span>{{ orderInfo.extendInfo.jqClaims }}</el-col>
+                <el-col :span="6"><span>商业出险次数:</span>{{ orderInfo.extendInfo.syClaims }}</el-col>
+              </el-row>
+              <el-row class="premium-style " :gutter="20" v-if="orderInfo.ubiPredictedInfoScore">
+                <el-col :span="6"><span>紫金能源车(鼎然-车辆风险评分):</span>{{ orderInfo.ubiPredictedInfoScore }}</el-col>
+              </el-row>
+            </div>
+          </OpenCloseBox>
         <OpenCloseBox id="xzxx" v-if="orderInfo.kindinfo && orderInfo.kindinfo.length > 0">
           <span slot="title">险种信息</span>
           <div slot="boby">
@@ -378,9 +383,9 @@
           <span slot="title">保单信息</span>
           <div slot="boby">
             <el-row class="premium-style " :gutter="20">
-              <el-col :span="12"><span>交强险投保单号:</span>{{ orderInfo.jqapplyno }}</el-col>
-              <el-col :span="12"><span>交强险保单号:</span>{{ orderInfo.jqpolicyno }}</el-col>
-              <el-col v-if="orderInfo.syapplyno" :span="12"><span>商业险投保单号:</span>{{ orderInfo.syapplyno }}</el-col>
+              <!-- <el-col :span="12"><span>交强险投保单号:</span>{{ orderInfo.jqapplyno }}</el-col> -->
+              <el-col :span="12" v-if="orderInfo.jqpolicyno"><span>交强险保单号:</span>{{ orderInfo.jqpolicyno }}</el-col>
+              <!-- <el-col v-if="orderInfo.syapplyno" :span="12"><span>商业险投保单号:</span>{{ orderInfo.syapplyno }}</el-col> -->
               <el-col v-if="orderInfo.sypolicyno" :span="12"><span>商业险保单号:</span>{{ orderInfo.sypolicyno }}</el-col>
               <el-col :span="12" v-for="(oldfileItem, oldfileIndex) in warrantObj.oldfileList" :key="oldfileIndex">
                 <div>
@@ -528,6 +533,18 @@
                   <span >¥{{ scope.row.deptPremiumsLevelFive }}</span>
                 </template>
               </el-table-column>
+              <el-table-column prop="externalProportion" label="代客录单扣减比例">
+                <template slot-scope="scope" >
+                  <span v-if="scope.row.externalProportion">{{ scope.row.externalProportion }}%</span>
+                  <span v-else>-</span>
+                </template>
+              </el-table-column>
+              <el-table-column prop="externalPremiums" label="代客录单扣减金额">
+                <template slot-scope="scope" >
+                  <span v-if="scope.row.externalPremiums">¥{{ scope.row.externalPremiums }}</span>
+                  <span v-else>-</span>
+                </template>
+              </el-table-column>
               <el-table-column prop="profitMarginPremiums" label="利润差值">
                 <template slot-scope="scope" >
                   <span >¥{{ scope.row.profitMarginPremiums }}</span>
@@ -536,25 +553,50 @@
             </el-table>
           </div>
         </OpenCloseBox>
-        <OpenCloseBox id="fxmx1" v-if="orderInfo.distributionLevelVoList">
-          <span slot="title">分销明细</span>
+        <OpenCloseBox id="fxmx1" v-if="feeOrderNewVoList.retailFee">
+              <span slot="title">分销明细</span>
           <div slot="boby" style="font-size:12px;width: 100%" class="FeeEnclosure">
-            <el-table :data="orderInfo.distributionLevelVoList" :border="true" width="100%" :stripe="true" size="mini"
+            <el-table :data="feeOrderNewVoList.retailFee" :border="true" width="100%" :stripe="true" size="mini"
               :header-cell-style="{
                 background: '#F7F7F9',
                 fontWeight: '700',
                 color: '#606266',
               }">
-              <el-table-column prop="distributionLevel" label="等级"></el-table-column>
+              <el-table-column prop="insuranceType" label="等级"></el-table-column>
               <el-table-column prop="userName" label="接收人"></el-table-column>
-              <el-table-column prop="distributionRatio" label="比例">
+              <el-table-column prop="jqRetailProportion" label="交强分销比例">
+                <template slot-scope="scope" >
+                  <span>{{ scope.row.jqRetailProportion }}%</span>
+                </template>
+              </el-table-column>
+              <el-table-column prop="jqRetailPremiums" label="交强分销费">
+                <template slot-scope="scope" >
+                  <span>¥{{ scope.row.jqRetailPremiums }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column prop="syRetailProportion" label="商业分销比例">
+                <template slot-scope="scope" >
+                  <span>{{ scope.row.syRetailProportion }}%</span>
+                </template>  
+              </el-table-column>
+              <el-table-column prop="syRetailPremiums" label="商业险分销费">
                 <template slot-scope="scope" >
-                  <span>{{ scope.row.distributionRatio }}%</span>
+                  <span>¥{{ scope.row.syRetailPremiums }}</span>
                 </template>
               </el-table-column>
+              <el-table-column prop="noRetailProportion" label="非车分销比例">
+                <template slot-scope="scope" >
+                  <span>{{ scope.row.noRetailProportion }}%</span>
+                </template>    
+              </el-table-column>
+              <el-table-column prop="noRetailPremiums" label="非车险分销费">
+                <template slot-scope="scope" >
+                  <span>¥{{ scope.row.noRetailPremiums }}</span>
+                </template>  
+              </el-table-column>
               <el-table-column prop="amount" label="金额">
                 <template slot-scope="scope" >
-                  <span>¥{{ scope.row.amount }}</span>
+                  <span>¥{{ scope.row.totalRetailPremiums }}</span>
                 </template>
               </el-table-column>
             </el-table>
@@ -568,7 +610,6 @@
             </p>
           </div>
         </OpenCloseBox>
-        </div>
       </div>
     </div>
     <span slot="footer" class="dialog-footer">
@@ -577,15 +618,18 @@
       <el-button size="small" type="primary" style="background-color: #0EC216; border: 1px solid #0EC216"
         @click="adjustFee"><span v-if="isAuditing">取消调整</span><span v-if="!isAuditing">调整费用</span></el-button>
       <el-button size="small" type="primary"
-        style="background-color: #0EC216;border: 1px solid #0EC216;margin-right: 30px;"
+        style="background-color: #0EC216;border: 1px solid #0EC216"
         @click="adusitFUn">审核通过</el-button>
+        <el-button size="small" type="primary" v-if="isrejection"
+        style="background-color: #0EC216;border: 1px solid #0EC216;"
+        @click="rejectionFUn">审核驳回</el-button>
       </template>
       <el-button size="small" type="primary" plain @click="dialogVisible = false">关闭</el-button>
     </span>
   </el-dialog>
 </template>
 <script>
-import OpenCloseBox from "./openclose.vue";
+import OpenCloseBox from './openclose.vue'
 
 export default {
   name: "detailsDialog",
@@ -595,7 +639,7 @@ export default {
       obj: {},
       warrantObj: {},
       selectedItem: null,
-      isAuditing: false
+      isAuditing: false,
     };
   },
   props: {
@@ -603,8 +647,12 @@ export default {
       type: Object,
       default: {}
     },
-    auditStatus: String,
-    feeOrderNewVoList: Object
+    auditStatus:String,
+    isrejection:{
+      type: Boolean,
+      default: false
+    },
+    feeOrderNewVoList: Object,
   },
   components: { OpenCloseBox },
   methods: {
@@ -612,29 +660,25 @@ export default {
       this.isAuditing = !this.isAuditing;
     },
     adusitFUn() {
-      this.$emit("adusitFUn");
+      this.$emit('adusitFUn')
+    },
+    rejectionFUn() {
+      this.$emit('rejectionFUn')
     },
     updatedCost() {
       let newCost = {
-        deptManagerFee: this.feeOrderNewVoList.deptManagerFee,
-        feeOrder: this.feeOrderNewVoList.list
-      };
-      this.$emit("updatedCost", newCost);
-      this.isAuditing = false;
+        deptManagerFee : this.feeOrderNewVoList.deptManagerFee,
+        feeOrder : this.feeOrderNewVoList.list,
+        retailFee: this.feeOrderNewVoList.retailFee
+      }
+      this.$emit('updatedCost',newCost)
+      this.isAuditing=false;
     },
     feeOrderNewVomergeRows({ row, column, rowIndex, columnIndex }) {
       if (columnIndex === 0) {
-        if (
-          rowIndex === 0 ||
-          this.feeOrderNewVoList.list[rowIndex].type !==
-            this.feeOrderNewVoList.list[rowIndex - 1].type
-        ) {
+        if (rowIndex === 0 || this.feeOrderNewVoList.list[rowIndex].type !== this.feeOrderNewVoList.list[rowIndex - 1].type) {
           let rowSpan = 1;
-          for (
-            let i = rowIndex + 1;
-            i < this.feeOrderNewVoList.list.length;
-            i++
-          ) {
+          for (let i = rowIndex + 1; i < this.feeOrderNewVoList.list.length; i++) {
             if (this.feeOrderNewVoList.list[i].type === row.type) {
               rowSpan++;
             } else {
@@ -652,15 +696,16 @@ export default {
       this.selectedItem = item;
       document.getElementById(item).scrollIntoView({ behavior: "smooth" });
     },
-    setBackupVisible: function(backupVisible) {
-      this.selectedItem = "gsxx";
-      this.dialogVisible = backupVisible;
+    setBackupVisible: function (backupVisible) {
+      this.selectedItem = 'gsxx'
+      this.dialogVisible = backupVisible
     },
     imageFun(param) {
-      this.obj = param;
+      this.obj = param
     },
     warrantyFun(param) {
-      this.warrantObj = param;
+      this.warrantObj = param
+
     },
     saveAs(blob, filename) {
       var link = document.createElement("a");
@@ -671,17 +716,33 @@ export default {
     },
     //预览文件
     viewfile(index) {
-      let name = index.fileurl.lastIndexOf("/");
-      fetch(index.fileurl)
-        .then(response => response.blob())
-        .then(blob => {
-          this.saveAs(
-            blob,
-            index.fileurl.substring(name + 1, index.fileurl.length)
-          );
-        })
-        .catch(error => {});
-    }
+      if(this.orderInfo.isExternal==1){
+        let url = process.env.BASE_URL +index.fileurl; // 3.创建一个临时的url指向blob对象
+      fetch(url)
+          .then((response) => response.blob())
+          .then((blob) => {
+            this.saveAs(
+              blob,
+              index.fileurl.substring(name + 1, index.fileurl.length)
+            );
+          })
+          .catch((error) => { });
+
+      }
+      else{
+        let name = index.fileurl.lastIndexOf("/");
+        fetch(index.fileurl)
+          .then((response) => response.blob())
+          .then((blob) => {
+            this.saveAs(
+              blob,
+              index.fileurl.substring(name + 1, index.fileurl.length)
+            );
+          })
+          .catch((error) => { });
+        }
+
+    },
   }
 };
 </script>
@@ -710,6 +771,8 @@ export default {
     color: var(--themeColor);
     background-color: rgba(212, 36, 38, 0.06);
   }
+
+
   .fixedTop {
     width: 100%;
     height: auto;
@@ -777,7 +840,7 @@ export default {
   font-size: 0;
 
   b {
-    background: #f7f7f9;
+    background: #F7F7F9;
     font-size: 14px;
   }
 
@@ -788,7 +851,7 @@ export default {
     width: 25%;
     text-align: center;
     line-height: 40px;
-    border: 1px solid #eef1f6;
+    border: 1px solid #EEF1F6;
     font-size: 14px;
   }
 }
@@ -799,7 +862,7 @@ export default {
   }
 
   span {
-    color: #868b98;
+    color: #868B98;
   }
 }
 
@@ -819,6 +882,7 @@ export default {
 }
 
 .tax-arrears {
+
   b,
   span {
     width: 25%;
@@ -826,6 +890,7 @@ export default {
 }
 
 .kind-arrears {
+
   b,
   span {
     width: 33.33%;
@@ -838,8 +903,8 @@ export default {
   height: 120px;
   // box-shadow: #ddd 0px 0px 5px;
   margin-right: 86px;
-  border: 1px dashed #ced4da;
-  background: #f7f7f9;
+  border: 1px dashed #CED4DA;
+  background: #F7F7F9;
 }
 
 .FeeEnclosure {
@@ -858,7 +923,7 @@ export default {
 
 /deep/ .el-dialog__body {
   padding-top: 0;
-  border-bottom: 1px solid #eef1f6;
+  border-bottom: 1px solid #EEF1F6;
   background-color: rgb(242, 242, 242);
   padding: 0;
 }