wuguojie 1 год назад
Родитель
Сommit
06fe1219d2

+ 1 - 0
src/layouts/components/DrivingType/index.vue

@@ -151,6 +151,7 @@ const handleDel = (item, index) => {
 // 编辑
 let editIndex = ref(0)
 const initEditData = (data, index, id) => {
+  console.log('驾意险回显', data)
   editIndex.value = index
   // JYXList.value.forEach(item => {
   //   item.checked = false

+ 21 - 7
src/views/additionalOrder/additional/modules/insuranceSelect.vue

@@ -76,6 +76,7 @@ const handleConfirm = () => {
 
 // 修改数据
 const initEditData = (data, type) => {
+  console.log('险种已选的数据', data)
   insuranceType.value = type
   api.projectApi.getBusinessInsurance().then((res: any) => {
     if(res.code == 200) {
@@ -90,19 +91,32 @@ const initEditData = (data, type) => {
         typeList.value = JSON.parse(JSON.stringify(res.data))
         if(data && data.length > 0) {
           data.forEach(item => {
-            item.checked = true
-            item.options.forEach(sub => {
-              if(item.optionId === sub.id) {
+            res.data.forEach(sub => {
+              if(item.id === sub.id) {
                 sub.checked = true
+                if(item.unitAmount) {
+                  sub.options.forEach(min => {
+                    if(min.value === item.unitAmount) {
+                      min.checked = true
+                    }
+                  })
+                } else {
+                  sub.options.forEach(min => {
+                    item.options.forEach(max => {
+                      if(min.id === max.id) {
+                        min.checked = true
+                      }
+                    })
+                  })
+                }
               }
             })
           })
-          insuranceTypeList.value = res.data.map(a => {
-            let obj = data.find(b => b.insuranceId === a.insuranceId)
-            return obj || a
-          })
+          insuranceTypeList.value = typeList.value
+          console.log('回显的数据111', insuranceTypeList.value)
         } else {
           insuranceTypeList.value = res.data
+          console.log('回显的数据222', insuranceType.value)
         }
       }
     } else {

+ 56 - 16
src/views/insurancePolicy/index.vue

@@ -643,7 +643,7 @@
             <el-row :gutter="20" class="formItem formBlock">
               <el-col :span="6">
                 <el-form-item label="减免税凭证号" prop="extendChar2">
-                  <el-input v-model="insurancePolicyForm.extendChar2" placeholder="请输入减免税凭证号"></el-input>
+                  <el-input v-model="insurancePolicyForm.extendChar2" placeholder="请输入减免税凭证号" maxlength="50"></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
@@ -655,12 +655,12 @@
               </el-col>
               <el-col :span="6">
                 <el-form-item label="税务机关代码" prop="taxComCode">
-                  <el-input v-model="insurancePolicyForm.taxComCode" placeholder="请输入税务机关代码"></el-input>
+                  <el-input v-model="insurancePolicyForm.taxComCode" placeholder="请输入税务机关代码" maxlength="50"></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label="税务机关名称" prop="taxComName">
-                  <el-input v-model="insurancePolicyForm.taxComName" placeholder="请输入税务机关名称"></el-input>
+                  <el-input v-model="insurancePolicyForm.taxComName" placeholder="请输入税务机关名称" maxlength="50"></el-input>
                 </el-form-item>
               </el-col>
             </el-row>
@@ -669,7 +669,7 @@
             <el-row :gutter="20" class="formItem formBlock">
               <el-col :span="6">
                 <el-form-item label="减免税凭证号" prop="extendChar2">
-                  <el-input v-model="insurancePolicyForm.extendChar2" placeholder="请输入减免税凭证号"></el-input>
+                  <el-input v-model="insurancePolicyForm.extendChar2" placeholder="请输入减免税凭证号" maxlength="50"></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
@@ -681,12 +681,12 @@
               </el-col>
               <el-col :span="6">
                 <el-form-item label="税务机关代码" prop="taxComCode">
-                  <el-input v-model="insurancePolicyForm.taxComCode" placeholder="请输入税务机关代码"></el-input>
+                  <el-input v-model="insurancePolicyForm.taxComCode" placeholder="请输入税务机关代码" maxlength="50"></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label="税务机关名称" prop="taxComName">
-                  <el-input v-model="insurancePolicyForm.taxComName" placeholder="请输入税务机关名称"></el-input>
+                  <el-input v-model="insurancePolicyForm.taxComName" placeholder="请输入税务机关名称" maxlength="50"></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
@@ -704,17 +704,17 @@
             <el-row :gutter="20" class="formItem formBlock">
               <el-col :span="6">
                 <el-form-item label="完税凭证号" prop="extendChar2">
-                  <el-input v-model="insurancePolicyForm.extendChar2" placeholder="请输入完税凭证号"></el-input>
+                  <el-input v-model="insurancePolicyForm.extendChar2" placeholder="请输入完税凭证号" maxlength="50"></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label="税务机关代码" prop="taxComCode">
-                  <el-input v-model="insurancePolicyForm.taxComCode" placeholder="请输入税务机关代码"></el-input>
+                  <el-input v-model="insurancePolicyForm.taxComCode" placeholder="请输入税务机关代码" maxlength="50"></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
-                <el-form-item label=" 税务机关名称" prop="taxComName">
-                  <el-input v-model="insurancePolicyForm.taxComName" placeholder="请输入 税务机关名称"></el-input>
+                <el-form-item label="税务机关名称" prop="taxComName">
+                  <el-input v-model="insurancePolicyForm.taxComName" placeholder="请输入税务机关名称" maxlength="50"></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
@@ -855,7 +855,7 @@
                               <el-icon style="cursor: pointer;" @click="handlePopover(scope)"><CirclePlus /></el-icon>
                             </template>
                             <template #default="props">
-                              <el-icon><Delete /></el-icon>
+                              <el-icon @click="handleInsuranceDel(scope, props)"><Delete /></el-icon>
                             </template>
                           </el-table-column>
                           <el-table-column label="险种" prop="kindName" align="center"></el-table-column>
@@ -908,10 +908,14 @@
                               <el-icon @click="handleDriving(scope)"><CirclePlus /></el-icon>
                             </template>
                             <template #default="props">
-                              <el-icon><Delete /></el-icon>
+                              <el-icon @click="handleDrivingDel(scope, props)"><Delete /></el-icon>
+                            </template>
+                          </el-table-column>
+                          <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>
                             </template>
                           </el-table-column>
-                          <el-table-column label="产品名称" prop="productName" align="center"></el-table-column>
                           <el-table-column label="数量" align="center">
                             <template #default="props">
                               <el-input v-model="props.row.quantity" style="width: 140px">
@@ -1238,6 +1242,13 @@
         <el-button type="primary" @click="licenseNoDataSubmit">确定</el-button>
       </div>
     </el-dialog>
+    <el-dialog
+      v-model="JYXDetailShow"
+      title="驾意险详情"
+      width="600"
+    >
+      <detail ref="JYXDetail"></detail>
+    </el-dialog>
   </div>
 </template>
 
@@ -1251,12 +1262,14 @@ import calculating from './modules/calculating.vue'
 import salesmanSelect from '../additionalOrder/additional/modules/salesmanSelect.vue'
 import insurance from "../additionalOrder/additional/modules/insuranceSelect.vue";
 import driving from '../../layouts/components/DrivingType/index.vue'
+import detail from '../../layouts/components/JYXDetail/index.vue'
 
 const SalesmanSelectRef = ref()
 const InsuranceTypeRef = ref()
 const DrivingTypeRef = ref()
 const UnderwritingRefs = ref()
 const LicenseNoTable = ref()
+const JYXDetail = ref()
 
 // 选择业务员
 let salesmanShow = ref(false)
@@ -1522,7 +1535,7 @@ let insurancePolicyRules = ref<FormRules>({
     { required: true, trigger: 'blur', message: '请输入地址' }
   ],
   extendChar2: [
-    { required: true, trigger: 'blur', message: '请输入' }
+    { required: true, trigger: 'blur', message: '请输入' },
   ],
   relifReason: [
     { required: true, trigger: 'blur', message: '请输入' }
@@ -2013,7 +2026,16 @@ let insuranceShow = ref(false)
 const handlePopover = (scope) => {
   insuranceShow.value = true
   nextTick(() => {
-    InsuranceTypeRef.value.initEditData()
+    InsuranceTypeRef.value.initEditData(scope.row.projectList[productIndex.value].kinds)
+  })
+}
+// 删除险种
+const handleInsuranceDel = (scope, props) => {
+  let obj = scope.row.projectList[productIndex.value].kinds.filter(a => a.id != props.row.id)
+  quoteData.value.forEach(a => {
+    if(a.id === scope.row.id) {
+      a.projectList[productIndex.value].kinds = obj
+    }
   })
 }
 const handleClose = (data) => {
@@ -2035,11 +2057,28 @@ const handleClose = (data) => {
 // 选择驾意险
 let drivingShow = ref(false)
 let drivingRow = ref(0)
+let JYXDetailShow = ref(false)
 const handleDriving = (scope) => {
   drivingRow.value = scope.$index
   drivingShow.value = true
   nextTick(() => {
-    DrivingTypeRef.value.initEditData(scope.row.projectList[productIndex.value].drivingList, 0, insurancePolicyForm.value.order.insuranceCompanyCode)
+    DrivingTypeRef.value.initEditData(scope.row.projectList[productIndex.value].drivings, 0, insurancePolicyForm.value.order.insuranceCompanyCode)
+  })
+}
+// 删除驾意险
+const handleDrivingDel = (scope, props) => {
+  let obj = scope.row.projectList[productIndex.value].drivings.filter(a => a.id != props.row.id)
+  quoteData.value.forEach(a => {
+    if(a.id === scope.row.id) {
+      a.projectList[productIndex.value].drivings = obj
+    }
+  })
+}
+// 驾意险详情
+const getJYXDetail = (row) => {
+  JYXDetailShow.value = true
+  nextTick(() => {
+    JYXDetail.value.initData(row.drivingIntentionId)
   })
 }
 const handleDrivingClose = (data) => {
@@ -2249,6 +2288,7 @@ const handleSubmit = async (InsurancePolicyRefs: FormInstance | undefined) => {
           purchasePrice: insurancePolicyForm.value.purchasePrice,
           displacement: insurancePolicyForm.value.displacement,
           powerScale: insurancePolicyForm.value.powerScale,
+          carKindCode: insurancePolicyForm.value.plateType
         },
         ownersInfo: {
           property: 1,

+ 1 - 1
src/views/quoteConfig/project/modules/projectAdd.vue

@@ -431,7 +431,7 @@ let drivingShow = ref(false)
 const handleDriving = (item, index) => {
   drivingShow.value = true
   nextTick(() => {
-    DrivingTypeRef.value.initEditData(item.drivingList, index)
+    DrivingTypeRef.value.initEditData(item.drivingList, index, projectAddFrom.value.companyId)
   })
 }
 const handleDrivingClose = ( obj ) => {