祁鹏飞 2 luni în urmă
părinte
comite
4a7383a70d
1 a modificat fișierele cu 46 adăugiri și 16 ștergeri
  1. 46 16
      src/views/additionalOrder/additional/index.vue

+ 46 - 16
src/views/additionalOrder/additional/index.vue

@@ -1470,7 +1470,7 @@
               </el-col>
               <el-col :span="6">
                 <el-form-item label="车船税" prop="taxPremium">
-                  <el-input v-model="additionalForm.taxPremium" @input="autoSumPremium()" placeholder="请输入车船税">
+                  <el-input v-model="additionalForm.taxPremium" @input="autoSumPremium()" @blur="cvalculateFees" placeholder="请输入车船税">
                     <template #append>
                       <span>元</span>
                     </template>
@@ -1493,7 +1493,7 @@
               </el-col>
               <el-col :span="6">
                 <el-form-item class="p-l-24px" label="交强险保费" prop="jqPremium">
-                  <el-input v-model="additionalForm.jqPremium" @input="autoSumPremium()" placeholder="请输入交强险保费">
+                  <el-input v-model="additionalForm.jqPremium" @input="autoSumPremium()" @blur="cvalculateFees" placeholder="请输入交强险保费">
                     <template #append>
                       <span>元</span>
                     </template>
@@ -1503,7 +1503,7 @@
 
               <el-col :span="6">
                 <el-form-item label="驾意险保费" prop="jyPremium">
-                  <el-input v-model="additionalForm.jyPremium" @input="autoSumPremium()" placeholder="请输入驾意险保费">
+                  <el-input v-model="additionalForm.jyPremium" @input="autoSumPremium()" @blur="cvalculateFees" placeholder="请输入驾意险保费">
                     <template #append>
                       <span>元</span>
                     </template>
@@ -1527,7 +1527,7 @@
               </el-col>
               <el-col :span="6">
                 <el-form-item class="p-l-24px" label="商业险保费" prop="syPremium">
-                  <el-input v-model="additionalForm.syPremium" @input="autoSumPremium()" placeholder="请输入商业险保费">
+                  <el-input v-model="additionalForm.syPremium" @input="autoSumPremium()" @blur="cvalculateFees" placeholder="请输入商业险保费">
                     <template #append>
                       <span>元</span>
                     </template>
@@ -1536,7 +1536,7 @@
               </el-col>
               <el-col :span="6">
                 <el-form-item label="总保费" prop="sumPremium">
-                  <el-input v-model="additionalForm.sumPremium" placeholder="请输入总保费">
+                  <el-input v-model="additionalForm.sumPremium" placeholder="请输入总保费" @blur="cvalculateFees">
                     <template #append>
                       <span>元</span>
                     </template>
@@ -1551,7 +1551,7 @@
               </el-col>
               <el-col :span="6">
                 <el-form-item label="是否现询" prop="">
-                  <el-select v-model="additionalForm.isxx" placeholder="请选择" filterable>
+                  <el-select v-model="additionalForm.isxx" placeholder="请选择" filterable @change="handleSelectIsxx">
                     <el-option :value="1" label="是"></el-option>
                     <el-option :value="0" label="否"></el-option>
                   </el-select>
@@ -1561,7 +1561,7 @@
                 <el-form-item class="p-l-24px" label="非现询费用" prop="">
                   <el-select v-model="additionalForm.cost" :disabled="additionalForm.isxx !== 0" placeholder="请选择"
                     filterable @change="cvalculateFees">
-                    <el-option v-for="item in costList" :key="item.id" :value="item.id"
+                    <el-option v-for="item in showCostList" :key="item.id" :value="item.id"
                       :label="item.productName"></el-option>
                   </el-select>
                 </el-form-item>
@@ -2878,9 +2878,10 @@ const handleSelectAgreement = (ptlAgreementId) => {
   })
 }
 
-const showCostList=computed(()=>{
-  if(additionalForm.value.productId) return costList.value.filter(v=>v.productId===additionalForm.value.productId)
-  return costList.value
+const showCostList = computed(() => {
+  const arr = costList.value.filter(v => v.isInquiry === '1')
+  if (additionalForm.value.productId) return arr.filter(v => v.productId === additionalForm.value.productId)
+  return arr
 })
 // 根据对接人获取非现询费用
 let costList = ref([])
@@ -2889,6 +2890,29 @@ const handleSelectPerson = (e) => {
   costList.value = obj?.costExternalListVo || []
 }
 
+const handleSelectIsxx = (e) => {
+  if (!additionalForm.value.productId) {
+    ElMessage({
+      message: '请先选择险种',
+      type: 'warning'
+    })
+    additionalForm.value.isxx = ''
+    return
+  }
+  if (e === 1) {
+    const obj = costList.value.find(v => v.productId === additionalForm.value.productId && v.isInquiry === '0')
+    if (!obj) {
+      ElMessage({
+        message: '没有符合的现询费用',
+        type: 'warning'
+      })
+      return
+    }
+    additionalForm.value.cost1=obj.id
+    cvalculateFees()
+  }
+}
+
 // 根据协议获取现循
 let selectList = ref([])
 
@@ -2912,8 +2936,10 @@ const handleAgreementSelect = () => {
 
 
 // 根据协议获取费用
-const cvalculateFees = (e) => {
-  const { costExternalTypeAdds, productId } = costList.value.find(v => v.id === e)
+const cvalculateFees = () => {
+  const str=additionalForm.value.cost || additionalForm.value.cost1
+  if(!str) return
+  const { costExternalTypeAdds, productId } = costList.value.find(v => v.id === str)
   additionalForm.value.productId = productId
   const objInsurance = {
     '交强险': 'jq',
@@ -2923,10 +2949,10 @@ const cvalculateFees = (e) => {
   for (const key in objInsurance) {
     const obj = costExternalTypeAdds.find(v => v.costType === key)
     const element = objInsurance[key];
-    additionalForm.value[element + 'Inlet'] = obj?.inlet
-    additionalForm.value[element + 'AddThrow'] = obj?.addThrow
-    additionalForm.value[element + 'Export'] = obj?.export
-    additionalForm.value[element + 'KeepPointRatio'] = obj?.keepPointRatio
+    additionalForm.value[element + 'Inlet'] = obj?.inlet ?? null
+    additionalForm.value[element + 'AddThrow'] = obj?.addThrow ?? null
+    additionalForm.value[element + 'Export'] = obj?.export ?? null
+    additionalForm.value[element + 'KeepPointRatio'] = obj?.keepPointRatio ?? null
   }
   api.additionalApi.cvalculateFees({
     agreementId: additionalForm.value.agreementId,
@@ -4371,6 +4397,10 @@ const initEditData = () => {
         additionalForm.value.taxRelifFlag = obj.insOrdersTax?.taxRelifFlag + ''
         additionalForm.value.taxpayerIdentifier = obj.insOrdersTax?.taxpayerIdentifier
 
+        additionalForm.value.jqInlet = obj.costRatio?.jqInletRatio
+        additionalForm.value.syInlet = obj.costRatio?.syInletRatio
+        additionalForm.value.jyInlet = obj.costRatio?.jyInletRatio
+
         fileList.value = obj.imagesAdds?.images
         // 有对应图片说明是通过识别拿到的信息
         if (fileList.value && fileList.value.length > 0) {