소스 검색

1、增加司机、乘客保额 2、增加税前税后计费标志 3、三者、司乘保额单位改成万

li.pengfei 2 년 전
부모
커밋
092420cacb
1개의 변경된 파일과 128개의 추가작업 그리고 28개의 파일을 삭제
  1. 128 28
      src/views/AgreementManage/CarInsurance/AgreementEntry.vue

+ 128 - 28
src/views/AgreementManage/CarInsurance/AgreementEntry.vue

@@ -1278,7 +1278,7 @@
           @click="submitForm">提交</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="费用因子" :visible.sync="VehicleFactorVisible" :close-on-click-modal="false" width="50%">
+    <el-dialog title="费用因子" :visible.sync="VehicleFactorVisible" :close-on-click-modal="false" width="70%">
       <el-form ref="CostfactorForm" :model="CostfactorForm" label-width="100px" :size="overSize">
         <el-row>
           <el-col :span="6">
@@ -1313,7 +1313,8 @@
               </el-radio-group>
             </el-form-item>
           </el-col>
-
+        </el-row>
+        <el-row>
           <el-col :span="24">
             <el-form-item label="车辆大类">
               <el-checkbox-group v-model="vehicleCategoryList" @change="vehicleCategoryChange">
@@ -1326,6 +1327,8 @@
               </el-checkbox-group>
             </el-form-item>
           </el-col>
+        </el-row>
+        <el-row>
           <el-col :span="24">
             <el-form-item label="使用性质">
               <el-checkbox :indeterminate="isIndeterminateFyy" v-model="checkAllFyy" @change="handleCheckAllChangeFyy">非营业全选</el-checkbox>
@@ -1347,79 +1350,136 @@
               </el-checkbox-group>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+        </el-row>
+        <el-row>
+          <el-col :span="9" :offset="1">
             <el-form-item label="客车座位数">
               <el-input-number v-model="CostfactorForm.minSeats"></el-input-number>
               <i class="el-icon-minus"></i>
               <el-input-number v-model="CostfactorForm.maxSeats"></el-input-number>
             </el-form-item>
-            <el-form-item label="新车购置价">
-              <el-input-number v-model="CostfactorForm.minPurchasePrice"></el-input-number>
-              <i class="el-icon-minus"></i>
-              <el-input-number v-model="CostfactorForm.maxPurchasePrice"></el-input-number>
-            </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="4">&nbsp;</el-col>
+          <el-col :span="10">
             <el-form-item label="货车吨位数">
               <el-input-number v-model="CostfactorForm.minTruckTonnage"></el-input-number>
               <i class="el-icon-minus"></i>
               <el-input-number v-model="CostfactorForm.maxTruckTonnage"></el-input-number>
             </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="9" :offset="1">
+            <el-form-item label="新车购置价">
+              <el-input-number v-model="CostfactorForm.minPurchasePrice"></el-input-number>
+              <i class="el-icon-minus"></i>
+              <el-input-number v-model="CostfactorForm.maxPurchasePrice"></el-input-number>
+            </el-form-item>
+          </el-col>
+          <el-col :span="4">&nbsp;</el-col>
+          <el-col :span="10">
             <el-form-item label="核定载质量">
               <el-input-number v-model="CostfactorForm.minApprovedLoadCapacity"></el-input-number>
               <i class="el-icon-minus"></i>
               <el-input-number v-model="CostfactorForm.maxApprovedLoadCapacity"></el-input-number>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+        </el-row>
+        <el-row>
+          <el-col :span="9" :offset="1">
             <el-form-item label="交强险保费">
               <el-input-number v-model="CostfactorForm.minCompulsoryInsurancePremium"></el-input-number>
               <i class="el-icon-minus"></i>
               <el-input-number v-model="CostfactorForm.maxCompulsoryInsurancePremium"></el-input-number>
             </el-form-item>
-            <el-form-item label="三者险保额">
-              <el-input-number v-model="CostfactorForm.minTheThreePremium"></el-input-number>
-              <i class="el-icon-minus"></i>
-              <el-input-number v-model="CostfactorForm.maxTheThreePremium"></el-input-number>
-            </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="4">&nbsp;</el-col>
+          <el-col :span="10">
             <el-form-item label="车船税金额">
               <el-input-number v-model="CostfactorForm.minTaxAmount"></el-input-number>
               <i class="el-icon-minus"></i>
               <el-input-number v-model="CostfactorForm.maxTaxAmount"></el-input-number>
             </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row type="flex" justify="center">
+          <el-col :span="9" :offset="1">
+            <el-form-item label="车上人司机保额(万元)">
+              <el-input-number v-model="CostfactorForm.minDriverAmount"></el-input-number>
+              <i class="el-icon-minus"></i>
+              <el-input-number v-model="CostfactorForm.maxDriverAmount"></el-input-number>
+            </el-form-item>
+          </el-col>
+          <el-col :span="3" :offset="1">
+            <el-form-item label-width="0px">
+              <el-select v-model="CostfactorForm.driverPassengerRelation" :selected="0" style="width: 80%" >
+                <el-option label="无关系" value="0"></el-option>
+                <el-option label="或的关系" value="1"></el-option>
+                <el-option label="且的关系" value="2"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="10" >
+            <el-form-item label="车上人乘客保额(万元)">
+              <el-input-number v-model="CostfactorForm.minPassengerAmount"></el-input-number>
+              <i class="el-icon-minus"></i>
+              <el-input-number v-model="CostfactorForm.maxPassengerAmount"></el-input-number>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="9" :offset="1">
+            <el-form-item label="三者险保额(万元)">
+              <el-input-number v-model="CostfactorForm.minTheThreePremium"></el-input-number>
+              <i class="el-icon-minus"></i>
+              <el-input-number v-model="CostfactorForm.maxTheThreePremium"></el-input-number>
+            </el-form-item>
+          </el-col>
+          <el-col :span="4">&nbsp;</el-col>
+          <el-col :span="10">
             <el-form-item label="随车产品保费">
               <el-input-number v-model="CostfactorForm.minOnboardProductsPremium"></el-input-number>
               <i class="el-icon-minus"></i>
               <el-input-number v-model="CostfactorForm.maxOnboardProductsPremium"></el-input-number>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+        </el-row>
+        <el-row>
+          <el-col :span="9" :offset="1">
             <el-form-item label="商业险折扣">
               <el-input-number v-model="CostfactorForm.minCommercialInsuranceDiscount"></el-input-number>
               <i class="el-icon-minus"></i>
               <el-input-number v-model="CostfactorForm.maxCommercialInsuranceDiscount"></el-input-number>
             </el-form-item>
-            <el-form-item label="保司评分">
-              <el-input-number v-model="CostfactorForm.minScore"></el-input-number>
-              <i class="el-icon-minus"></i>
-              <el-input-number v-model="CostfactorForm.maxScore"></el-input-number>
-            </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="4">&nbsp;</el-col>
+          <el-col :span="10">
             <el-form-item label="交强险折扣">
               <el-input-number v-model="CostfactorForm.minCompulsoryInsuranceDiscount"></el-input-number>
               <i class="el-icon-minus"></i>
               <el-input-number v-model="CostfactorForm.maxCompulsoryInsuranceDiscount"></el-input-number>
             </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="9" :offset="1">
+            <el-form-item label="保司评分">
+              <el-input-number v-model="CostfactorForm.minScore"></el-input-number>
+              <i class="el-icon-minus"></i>
+              <el-input-number v-model="CostfactorForm.maxScore"></el-input-number>
+            </el-form-item>
+          </el-col>
+          <el-col :span="4">&nbsp;</el-col>
+          <el-col :span="10">
             <el-form-item label="预期赔付率">
               <el-input-number v-model="CostfactorForm.minLossRation"></el-input-number>
               <i class="el-icon-minus"></i>
               <el-input-number v-model="CostfactorForm.maxLossRation"></el-input-number>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+        </el-row>
+        <el-row>
+          <el-col :span="9" :offset="1">
             <el-form-item label="车牌号">
               <el-select style="width: 80%;" v-model="value1" multiple placeholder="请选择" @change="licenseNumberChange">
                 <el-option v-for="item in areanumberplateList" :key="item.id" :label="item.license" :value="item.license">
@@ -1588,7 +1648,12 @@ export default {
         minLossRation: "",//预期赔付
         maxLossRation: "",
         licenseNumber: "",//车牌号
-        containNoLicense:""//含暂未上牌
+        containNoLicense:"",//含暂未上牌
+        minDriverAmount: "",//司机
+        maxDriverAmount: "",
+        minPassengerAmount: "",//乘客
+        maxPassengerAmount: "",
+        driverPassengerRelation: "",//司机乘客关联关系
       },
       value1: [],
       value2: [],
@@ -2537,6 +2602,7 @@ export default {
       if (this.operType == "ADD") {
         for (let key in this.CostfactorForm) {
           this.CostfactorForm[key] = ""
+          this.CostfactorForm.driverPassengerRelation="0";//关系默认无关系
         }
         this.vehicleCategoryList = [];
         this.checkedUserNatureFyy=[];
@@ -2586,18 +2652,52 @@ export default {
           this.isIndeterminateYy=false;
           this.checkAllYy=false;
         }
-
+        if(!item.driverPassengerRelation){
+          item.driverPassengerRelation="0"
+        }
         this.value1 = item.licenseNumber ? item.licenseNumber.split(",") : [];
         const {
-          transfer, newEnergy, oldAndNew, renewal, minSeats, maxSeats, minTruckTonnage, maxTruckTonnage, minPurchasePrice, maxPurchasePrice, minApprovedLoadCapacity, maxApprovedLoadCapacity, minCompulsoryInsurancePremium, maxCompulsoryInsurancePremium, minTaxAmount, maxTaxAmount, minTheThreePremium, maxTheThreePremium, minOnboardProductsPremium, maxOnboardProductsPremium, minCommercialInsuranceDiscount, maxCommercialInsuranceDiscount, minCompulsoryInsuranceDiscount, maxCompulsoryInsuranceDiscount, minScore, maxScore, minLossRation, maxLossRation,containNoLicense
+          transfer, newEnergy, oldAndNew, renewal, minSeats, maxSeats, minTruckTonnage, maxTruckTonnage, minPurchasePrice, maxPurchasePrice, minApprovedLoadCapacity, maxApprovedLoadCapacity, minCompulsoryInsurancePremium, maxCompulsoryInsurancePremium, minTaxAmount, maxTaxAmount, minTheThreePremium, maxTheThreePremium, minOnboardProductsPremium, maxOnboardProductsPremium, minCommercialInsuranceDiscount, maxCommercialInsuranceDiscount, minCompulsoryInsuranceDiscount, maxCompulsoryInsuranceDiscount, minScore, maxScore, minLossRation, maxLossRation,containNoLicense,minPassengerAmount,maxPassengerAmount,driverPassengerRelation,maxDriverAmount,minDriverAmount
         } = item;
         this.CostfactorForm = {
-          transfer, newEnergy, oldAndNew, renewal, minSeats, maxSeats, minTruckTonnage, maxTruckTonnage, minPurchasePrice, maxPurchasePrice, minApprovedLoadCapacity, maxApprovedLoadCapacity, minCompulsoryInsurancePremium, maxCompulsoryInsurancePremium, minTaxAmount, maxTaxAmount, minTheThreePremium, maxTheThreePremium, minOnboardProductsPremium, maxOnboardProductsPremium, minCommercialInsuranceDiscount, maxCommercialInsuranceDiscount, minCompulsoryInsuranceDiscount, maxCompulsoryInsuranceDiscount, minScore, maxScore, minLossRation, maxLossRation,containNoLicense
+          transfer, newEnergy, oldAndNew, renewal, minSeats, maxSeats, minTruckTonnage, maxTruckTonnage, minPurchasePrice, maxPurchasePrice, minApprovedLoadCapacity, maxApprovedLoadCapacity, minCompulsoryInsurancePremium, maxCompulsoryInsurancePremium, minTaxAmount, maxTaxAmount, minTheThreePremium, maxTheThreePremium, minOnboardProductsPremium, maxOnboardProductsPremium, minCommercialInsuranceDiscount, maxCommercialInsuranceDiscount, minCompulsoryInsuranceDiscount, maxCompulsoryInsuranceDiscount, minScore, maxScore, minLossRation, maxLossRation,containNoLicense,minPassengerAmount,maxPassengerAmount,driverPassengerRelation,maxDriverAmount,minDriverAmount
         }
       }
     },
 
     VehicleFactorsubmit() {//车辆因子暂存
+      //校验司乘保额关联关系值
+       let driverConfigFlag=false;//默认没有配置司机保额
+       let passengerConfigFlag=false;//默认没有配置乘客保额
+       if(this.CostfactorForm.minDriverAmount==0&&this.CostfactorForm.maxDriverAmount==0){
+         driverConfigFlag=false;
+       }else{
+         driverConfigFlag=true;
+       }
+      if(this.CostfactorForm.minPassengerAmount==0&&this.CostfactorForm.maxPassengerAmount==0){
+        passengerConfigFlag=false;
+      }else{
+        passengerConfigFlag=true;
+      }
+
+      if((driverConfigFlag&&!passengerConfigFlag)||(!driverConfigFlag&&passengerConfigFlag)){//如果仅配置了一个因子
+        if(this.CostfactorForm.driverPassengerRelation!=0){
+          this.$message({
+            message: '司机、乘客保额区间因子只配置一项,两者只能为无关系!',
+            type: 'error'
+          });
+          return false;
+        }
+      }else if(driverConfigFlag&&passengerConfigFlag){//如果2个因子都配置了
+        if(this.CostfactorForm.driverPassengerRelation==0){
+          this.$message({
+            message: '司机、乘客保额区间因子全部配置,两者不能为无关系!',
+            type: 'error'
+          });
+          return false;
+        }
+      }
+
       let key1 = this.VehicleFactorlineindex;
       let key2 = this.VehicleFactoroutindex;
       let item = this.costform.scheme[key1].productCosts[key2];