wuguojie 7 hónapja
szülő
commit
bdce9596fb

+ 7 - 3
src/components/ruleCondition/index.vue

@@ -251,7 +251,7 @@ interface dataStore {
 }
 
 onMounted(() => {
-  ruleAttr();
+  // ruleAttr();
   regionLicenseRegion('0');//车牌地区
   regionLicenseNumber('14');//车牌号
 
@@ -259,13 +259,13 @@ onMounted(() => {
 
 
 let searchShow = ref(true)
-const ruleAttr = () => {
+const ruleAttr = (id) => {
     if(attrName.value) {
         searchShow.value = false
     } else {
         searchShow.value = true
     }
-  api.agreementApi.ruleAttrGroup({ attrName: attrName.value }).then((res: any) => {
+  api.agreementApi.ruleAttrGroup({ attrName: attrName.value, companyId: id }).then((res: any) => {
     if (res.code == '200') {
       dataStore.VehicleInformation = res.data.VehicleInformation ? processArray(res.data.VehicleInformation) : [];
       dataStore.VehicleOwnerInformation = res.data.VehicleOwnerInformation ? processArray(res.data.VehicleOwnerInformation) : [];
@@ -366,6 +366,10 @@ const regionLicenseNumber = (value: string) => {
     }
   });
 }
+
+defineExpose({
+    ruleAttr
+})
 </script>
 <!-- 样式区域 -->
 <style lang='scss' scoped>

+ 104 - 63
src/views/externalAgreement/agreement/components/contactPersonFeeDialog.vue

@@ -84,6 +84,11 @@
                       </el-radio-group>
                     </el-form-item>
                   </ElCol>
+                    <ElCol :md="24" :lg="12">
+                        <el-form-item label="优先级" prop="priorityLevel">
+                            <el-input-number style="width: 100%" v-model="item.priorityLevel" placeholder="请填写优先级" />
+                        </el-form-item>
+                    </ElCol>
                   <ElCol :md="24" :lg="24">
                     <el-form-item label="费用描述" prop="costDescribe">
                       <el-input v-model="item.costDescribe" maxlength="500" placeholder="请输入费用描述" show-word-limit
@@ -102,54 +107,46 @@
                   </div>
                 </template>
                 <el-table-column prop="costType" label="类型"></el-table-column>
-                <el-table-column prop="inlet" label="入口比例" width="180" align="center">
-                  <template #default="scope">
-                    <el-input-number v-model="scope.row.inlet" :precision="2" controls-position="right"
-                      style="width: 100%;" :min="0" :max="100">
-                      <template #suffix>%</template>
-                    </el-input-number>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="export" label="出口比例" width="180" align="center">
-                  <template #default="scope">
-                    <el-input-number v-model="scope.row.export" :precision="2" controls-position="right"
-                      style="width: 100%;" :min="0" :max="100">
-                      <template #suffix>%</template>
-                    </el-input-number>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="totalCost" label="总费用比例" width="180" align="center">
-                  <template #default="scope">
-                    <el-input-number v-model="scope.row.totalCost" :precision="2" controls-position="right"
-                      style="width: 100%;" :min="0" :max="100">
-                      <template #suffix>%</template>
-                    </el-input-number>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="other" label="其他费用比例" width="180" align="center">
-                  <template #default="scope">
-                    <el-input-number v-model="scope.row.other" :precision="2" controls-position="right"
-                      style="width: 100%;" :min="0" :max="100">
-                      <template #suffix>%</template>
-                    </el-input-number>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="level1" label="1级比例" width="180" align="center">
-                  <template #default="scope">
-                    <el-input-number v-model="scope.row.level1" :precision="2" controls-position="right"
-                      style="width: 100%;" :min="0" :max="100">
-                      <template #suffix>%</template>
-                    </el-input-number>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="level5" label="5级比例" width="180" align="center">
-                  <template #default="scope">
-                    <el-input-number v-model="scope.row.level5" :precision="2" controls-position="right"
-                      style="width: 100%;" :min="0" :max="100">
-                      <template #suffix>%</template>
-                    </el-input-number>
-                  </template>
-                </el-table-column>
+                  <el-table-column prop="inlet" label="入口比例" width="180" align="center">
+                      <template #default="scope">
+                          <el-input-number v-model="scope.row.inlet" :precision="2" controls-position="right"
+                                           style="width: 100%;" :min="0" :max="100" @change="handelRK(scope)">
+                              <template #suffix>%</template>
+                          </el-input-number>
+                      </template>
+                  </el-table-column>
+                  <el-table-column prop="export" label="出口比例" width="180" align="center">
+                      <template #default="scope">
+                          <el-input-number v-model="scope.row.export" :precision="2" controls-position="right"
+                                           style="width: 100%;" :min="0" :max="100" @change="handelCK(scope)">
+                              <template #suffix>%</template>
+                          </el-input-number>
+                      </template>
+                  </el-table-column>
+                  <!--                      <el-table-column prop="commission" label="手续费比例" width="180" align="center">
+                                          <template #default="scope">
+                                            <el-input-number v-model="scope.row.commission" :precision="2" controls-position="right"
+                                              style="width: 100%;" :min="0" :max="100">
+                                              <template #suffix>%</template>
+                                            </el-input-number>
+                                          </template>
+                                        </el-table-column>-->
+                  <el-table-column prop="addThrow" label="加投比例" width="180" align="center">
+                      <template #default="scope">
+                          <el-input-number v-model="scope.row.addThrow" :precision="2" controls-position="right"
+                                           style="width: 100%;" :min="0" :max="100" @change="handelJT(scope)">
+                              <template #suffix>%</template>
+                          </el-input-number>
+                      </template>
+                  </el-table-column>
+                  <el-table-column prop="keepPointRatio" label="留点比例" width="180" align="center">
+                      <template #default="scope">
+                          <el-input-number v-model="scope.row.keepPointRatio" :precision="2" controls-position="right"
+                                           style="width: 100%;" :min="0" :max="100" @change="handelLD(scope)">
+                              <template #suffix>%</template>
+                          </el-input-number>
+                      </template>
+                  </el-table-column>
               </el-table>
             </el-tab-pane>
           </el-tabs>
@@ -225,6 +222,9 @@ const feerules = ref<FormRules>({
   isInquiry: [
     { required: true, trigger: 'change', message: '请选择是否线询' },
   ],
+    priorityLevel: [
+        { required: true, trigger: 'blur', message: '请填写优先级' },
+    ]
 })
 watch(props, () => {
   if (props.contactPersonEditInfo && props.contactPersonEditInfo.contactPerson) {
@@ -336,21 +336,22 @@ const validateContactPerson = () => {
 const save = async (formEl: FormInstance | undefined | any) => {
   validateContactPerson();
   if (!formEl) return
+
   const validationPromises = ruleFeeinfo.ptlAgreementCostExternalAddList.map((formRef: any, index: any) => {
     // 轮询验证所有表单校验
       console.log('index', index, typeof index, typeof activeName.value)
     return new Promise((resolve, reject) => {
       if (formRef) {
-        formEl[index].validate((valid: boolean) => {
+        formEl[insuranceTypeIndex.value].validate((valid: boolean) => {
           if (valid) {
 
             resolve(true);
           } else {
-            reject(index);
+            reject(insuranceTypeIndex.value);
           }
         });
       } else {
-        reject(index);
+        reject(insuranceTypeIndex.value);
       }
     });
   });
@@ -379,28 +380,22 @@ const ptlAgreementCostTypeList = [
     costType: "交强险",
     inlet: 0,
     export: 0,
-    totalCost: 0,
-    other: 0,
-    level1: 0,
-    level5: 0,
+    addThrow: 0,
+    keepPointRatio: 0
   },
   {
     costType: "商业险",
     inlet: 0,
     export: 0,
-    totalCost: 0,
-    other: 0,
-    level1: 0,
-    level5: 0,
+    addThrow: 0,
+    keepPointRatio: 0
   },
   {
     costType: "驾意险",
     inlet: 0,
     export: 0,
-    totalCost: 0,
-    other: 0,
-    level1: 0,
-    level5: 0,
+    addThrow: 0,
+    keepPointRatio: 0
   }
 ];
 
@@ -449,6 +444,52 @@ const draweropen = () => {
   }
 
 }
+
+
+const handelRK = (scope) => {
+    if(scope.row.export&&scope.row.addThrow || scope.row.export&&scope.row.addThrow === 0) {
+        scope.row.keepPointRatio = scope.row.inlet + scope.row.addThrow - scope.row.export
+    }
+    if(scope.row.export&&scope.row.keepPointRatio) {
+        scope.row.addThrow = scope.row.export + scope.row.keepPointRatio - scope.row.inlet
+    }
+    if(scope.row.keepPointRatio&&scope.row.addThrow || scope.row.keepPointRatio&&scope.row.addThrow === 0) {
+        scope.row.export = scope.row.inlet + scope.row.addThrow - scope.row.keepPointRatio
+    }
+}
+const handelCK = (scope) => {
+    if(scope.row.inlet&&scope.row.addThrow || scope.row.inlet&&scope.row.addThrow === 0) {
+        scope.row.keepPointRatio = scope.row.inlet + scope.row.addThrow - scope.row.export
+    }
+    if(scope.row.inlet&&scope.row.keepPointRatio) {
+        scope.row.addThrow = scope.row.export + scope.row.keepPointRatio - scope.row.inlet
+    }
+    if(scope.row.keepPointRatio&&scope.row.addThrow || scope.row.keepPointRatio&&scope.row.addThrow === 0) {
+        scope.row.inlet = scope.row.export + scope.row.keepPointRatio - scope.row.addThrow
+    }
+}
+const handelJT = (scope) => {
+    if(scope.row.inlet&&scope.row.export) {
+        scope.row.keepPointRatio = scope.row.inlet + scope.row.addThrow - scope.row.export
+    }
+    if(scope.row.inlet&&scope.row.keepPointRatio) {
+        scope.row.export = scope.row.addThrow + scope.row.inlet - scope.row.keepPointRatio
+    }
+    if(scope.row.keepPointRatio&&scope.row.export) {
+        scope.row.inlet = scope.row.export + scope.row.keepPointRatio - scope.row.addThrow
+    }
+}
+const handelLD = (scope) => {
+    if(scope.row.inlet&&scope.row.export) {
+        scope.row.addThrow = scope.row.export + scope.row.keepPointRatio - scope.row.inlet
+    }
+    if(scope.row.inlet&&scope.row.addThrow || scope.row.inlet&&scope.row.addThrow === 0) {
+        scope.row.export = scope.row.addThrow + scope.row.inlet - scope.row.keepPointRatio
+    }
+    if(scope.row.addThrow&&scope.row.export || scope.row.addThrow === 0&&scope.row.export) {
+        scope.row.inlet = scope.row.export + scope.row.keepPointRatio - scope.row.addThrow
+    }
+}
 </script>
 <!-- 样式区域 -->
 <style lang='scss' scoped>

+ 95 - 48
src/views/externalAgreement/agreement/components/contactPersonFeeDialogEdit.vue

@@ -61,6 +61,11 @@
                 </el-radio-group>
               </el-form-item>
             </ElCol>
+              <ElCol :md="24" :lg="12">
+                  <el-form-item label="优先级" prop="priorityLevel">
+                      <el-input-number style="width: 100%" v-model="contactPersonEditInfo.priorityLevel" placeholder="请填写优先级" />
+                  </el-form-item>
+              </ElCol>
             <ElCol :md="24" :lg="24">
               <el-form-item label="费用描述" prop="costDescribe">
                 <el-input v-model="contactPersonEditInfo.costDescribe" maxlength="500" placeholder="请输入费用描述"
@@ -78,54 +83,46 @@
             </div>
           </template>
           <el-table-column prop="costType" label="类型"></el-table-column>
-          <el-table-column prop="inlet" label="入口比例" width="180" align="center">
-            <template #default="scope">
-              <el-input-number v-model="scope.row.inlet" :disabled="disabledShow" :precision="2" controls-position="right" style="width: 100%;"
-                :min="0" :max="100">
-                <template #suffix>%</template>
-              </el-input-number>
-            </template>
-          </el-table-column>
-          <el-table-column prop="export" label="出口比例" width="180" align="center">
-            <template #default="scope">
-              <el-input-number v-model="scope.row.export" :disabled="disabledShow" :precision="2" controls-position="right" style="width: 100%;"
-                :min="0" :max="100">
-                <template #suffix>%</template>
-              </el-input-number>
-            </template>
-          </el-table-column>
-          <el-table-column prop="totalCost" label="总费用比例" width="180" align="center">
-            <template #default="scope">
-              <el-input-number v-model="scope.row.totalCost" :disabled="disabledShow" :precision="2" controls-position="right"
-                style="width: 100%;" :min="0" :max="100">
-                <template #suffix>%</template>
-              </el-input-number>
-            </template>
-          </el-table-column>
-          <el-table-column prop="other" label="其他费用比例" width="180" align="center">
-            <template #default="scope">
-              <el-input-number v-model="scope.row.other" :disabled="disabledShow" :precision="2" controls-position="right" style="width: 100%;"
-                :min="0" :max="100">
-                <template #suffix>%</template>
-              </el-input-number>
-            </template>
-          </el-table-column>
-          <el-table-column prop="level1" label="1级比例" width="180" align="center">
-            <template #default="scope">
-              <el-input-number v-model="scope.row.level1" :disabled="disabledShow" :precision="2" controls-position="right" style="width: 100%;"
-                :min="0" :max="100">
-                <template #suffix>%</template>
-              </el-input-number>
-            </template>
-          </el-table-column>
-          <el-table-column prop="level5" label="5级比例" width="180" align="center">
-            <template #default="scope">
-              <el-input-number v-model="scope.row.level5" :disabled="disabledShow" :precision="2" controls-position="right" style="width: 100%;"
-                :min="0" :max="100">
-                <template #suffix>%</template>
-              </el-input-number>
-            </template>
-          </el-table-column>
+            <el-table-column prop="inlet" label="入口比例" width="180" align="center">
+                <template #default="scope">
+                    <el-input-number v-model="scope.row.inlet" :precision="2" controls-position="right"
+                                     style="width: 100%;" :min="0" :max="100" @change="handelRK(scope)">
+                        <template #suffix>%</template>
+                    </el-input-number>
+                </template>
+            </el-table-column>
+            <el-table-column prop="export" label="出口比例" width="180" align="center">
+                <template #default="scope">
+                    <el-input-number v-model="scope.row.export" :precision="2" controls-position="right"
+                                     style="width: 100%;" :min="0" :max="100" @change="handelCK(scope)">
+                        <template #suffix>%</template>
+                    </el-input-number>
+                </template>
+            </el-table-column>
+            <!--                      <el-table-column prop="commission" label="手续费比例" width="180" align="center">
+                                    <template #default="scope">
+                                      <el-input-number v-model="scope.row.commission" :precision="2" controls-position="right"
+                                        style="width: 100%;" :min="0" :max="100">
+                                        <template #suffix>%</template>
+                                      </el-input-number>
+                                    </template>
+                                  </el-table-column>-->
+            <el-table-column prop="addThrow" label="加投比例" width="180" align="center">
+                <template #default="scope">
+                    <el-input-number v-model="scope.row.addThrow" :precision="2" controls-position="right"
+                                     style="width: 100%;" :min="0" :max="100" @change="handelJT(scope)">
+                        <template #suffix>%</template>
+                    </el-input-number>
+                </template>
+            </el-table-column>
+            <el-table-column prop="keepPointRatio" label="留点比例" width="180" align="center">
+                <template #default="scope">
+                    <el-input-number v-model="scope.row.keepPointRatio" :precision="2" controls-position="right"
+                                     style="width: 100%;" :min="0" :max="100" @change="handelLD(scope)">
+                        <template #suffix>%</template>
+                    </el-input-number>
+                </template>
+            </el-table-column>
         </el-table>
       </template>
       <template #footer>
@@ -193,6 +190,9 @@ const feerules = ref<FormRules>({
   isInquiry: [
     { required: true, trigger: 'change', message: '请选择是否线询' },
   ],
+    priorityLevel: [
+        { required: true, trigger: 'blur', message: '请填写优先级' },
+    ]
 })
 // 禁用失效时间选择
 const disabledEndDate = (date: any) => {
@@ -253,6 +253,53 @@ const rejectOperation = () => {
 const auditOperation = () => {
   emits("auditOperation", automatic.value,contactPersonEditInfo.value.id)
 }
+
+
+const handelRK = (scope) => {
+    if(scope.row.export&&scope.row.addThrow || scope.row.export&&scope.row.addThrow === 0) {
+        scope.row.keepPointRatio = scope.row.inlet + scope.row.addThrow - scope.row.export
+    }
+    if(scope.row.export&&scope.row.keepPointRatio) {
+        scope.row.addThrow = scope.row.export + scope.row.keepPointRatio - scope.row.inlet
+    }
+    if(scope.row.keepPointRatio&&scope.row.addThrow || scope.row.keepPointRatio&&scope.row.addThrow === 0) {
+        scope.row.export = scope.row.inlet + scope.row.addThrow - scope.row.keepPointRatio
+    }
+}
+const handelCK = (scope) => {
+    if(scope.row.inlet&&scope.row.addThrow || scope.row.inlet&&scope.row.addThrow === 0) {
+        scope.row.keepPointRatio = scope.row.inlet + scope.row.addThrow - scope.row.export
+    }
+    if(scope.row.inlet&&scope.row.keepPointRatio) {
+        scope.row.addThrow = scope.row.export + scope.row.keepPointRatio - scope.row.inlet
+    }
+    if(scope.row.keepPointRatio&&scope.row.addThrow || scope.row.keepPointRatio&&scope.row.addThrow === 0) {
+        scope.row.inlet = scope.row.export + scope.row.keepPointRatio - scope.row.addThrow
+    }
+}
+const handelJT = (scope) => {
+    if(scope.row.inlet&&scope.row.export) {
+        scope.row.keepPointRatio = scope.row.inlet + scope.row.addThrow - scope.row.export
+    }
+    if(scope.row.inlet&&scope.row.keepPointRatio) {
+        scope.row.export = scope.row.addThrow + scope.row.inlet - scope.row.keepPointRatio
+    }
+    if(scope.row.keepPointRatio&&scope.row.export) {
+        scope.row.inlet = scope.row.export + scope.row.keepPointRatio - scope.row.addThrow
+    }
+}
+const handelLD = (scope) => {
+    if(scope.row.inlet&&scope.row.export) {
+        scope.row.addThrow = scope.row.export + scope.row.keepPointRatio - scope.row.inlet
+    }
+    if(scope.row.inlet&&scope.row.addThrow || scope.row.inlet&&scope.row.addThrow === 0) {
+        scope.row.export = scope.row.addThrow + scope.row.inlet - scope.row.keepPointRatio
+    }
+    if(scope.row.addThrow&&scope.row.export || scope.row.addThrow === 0&&scope.row.export) {
+        scope.row.inlet = scope.row.export + scope.row.keepPointRatio - scope.row.addThrow
+    }
+}
+
 </script>
 <!-- 样式区域 -->
 <style lang='scss' scoped>

+ 3 - 3
src/views/externalAgreement/costManagement.vue

@@ -244,7 +244,7 @@ const columns = [
     prop: "costExternalTypeAdds", label: "交强险费用", width: '300', formatter: (row: any) => {
       let info = row.costExternalTypeAdds.find((val: any) => val.costType == '交强险');
       if (info) {
-        return `入口:${info.inlet.toFixed(2)}% 出口:${info.export.toFixed(2)}%\n一级:${info.level1?.toFixed(2)}% 五级:${info.level5?.toFixed(2)}%`
+        return `入口:${info.inlet.toFixed(2)}% 出口:${info.export.toFixed(2)}%\n加投:${info.addThrow?.toFixed(2)}%`
       } else {
         return '-'
       }
@@ -254,7 +254,7 @@ const columns = [
     prop: "costExternalTypeAdds", label: "商业险费用", width: '300', formatter: (row: any) => {
       let info = row.costExternalTypeAdds.find((val: any) => val.costType == '商业险');
       if (info) {
-        return `入口:${info.inlet.toFixed(2)}% 出口:${info.export.toFixed(2)}%\n一级:${info.level1?.toFixed(2)}% 五级:${info.level5?.toFixed(2)}%`
+        return `入口:${info.inlet.toFixed(2)}% 出口:${info.export.toFixed(2)}%\n加投:${info.addThrow?.toFixed(2)}%`
       } else {
         return '-'
       }
@@ -264,7 +264,7 @@ const columns = [
     prop: "costExternalTypeAdds", label: "驾意险费用", width: '300', formatter: (row: any) => {
       let info = row.costExternalTypeAdds.find((val: any) => val.costType == '驾意险');
       if (info) {
-        return `入口:${info.inlet.toFixed(2)}% 出口:${info.export.toFixed(2)}%\n一级:${info.level1?.toFixed(2)}% 五级:${info.level5?.toFixed(2)}%`
+        return `入口:${info.inlet.toFixed(2)}% 出口:${info.export.toFixed(2)}%\n加投:${info.addThrow?.toFixed(2)}%`
       } else {
         return '-'
       }

+ 12 - 12
src/views/finance/audit.vue

@@ -56,12 +56,12 @@
                                 ></el-cascader>
                             </el-form-item>
                         </el-col>
-                        <el-col v-show="isTrue" :span="8">
+                        <el-col :span="8">
                             <el-form-item label="被保人">
                                 <el-input v-model="firstForm.insurName" placeholder="请输入" clearable></el-input>
                             </el-form-item>
                         </el-col>
-                        <el-col v-show="isTrue" :span="8">
+                        <el-col :span="8">
                             <el-form-item label="报价时间">
                                 <el-date-picker
                                     v-model="firstForm.quotationTime"
@@ -74,7 +74,7 @@
                                 />
                             </el-form-item>
                         </el-col>
-                        <el-col v-show="isTrue" :span="8">
+                        <el-col :span="8">
                             <el-form-item label="签单时间">
                                 <el-date-picker
                                     v-model="firstForm.signingTime"
@@ -200,12 +200,12 @@
                                 ></el-cascader>
                             </el-form-item>
                         </el-col>
-                        <el-col v-show="isTrue" :span="8">
+                        <el-col :span="8">
                             <el-form-item label="被保人">
                                 <el-input v-model="firstForm.insurName" placeholder="请输入" clearable></el-input>
                             </el-form-item>
                         </el-col>
-                        <el-col v-show="isTrue" :span="8">
+                        <el-col :span="8">
                             <el-form-item label="报价时间">
                                 <el-date-picker
                                     v-model="firstForm.quotationTime"
@@ -218,7 +218,7 @@
                                 />
                             </el-form-item>
                         </el-col>
-                        <el-col v-show="isTrue" :span="8">
+                        <el-col :span="8">
                             <el-form-item label="签单时间">
                                 <el-date-picker
                                     v-model="firstForm.signingTime"
@@ -345,12 +345,12 @@
                                 ></el-cascader>
                             </el-form-item>
                         </el-col>
-                        <el-col v-show="isTrue" :span="8">
+                        <el-col :span="8">
                             <el-form-item label="被保人">
                                 <el-input v-model="firstForm.insurName" placeholder="请输入" clearable></el-input>
                             </el-form-item>
                         </el-col>
-                        <el-col v-show="isTrue" :span="8">
+                        <el-col :span="8">
                             <el-form-item label="报价时间">
                                 <el-date-picker
                                     v-model="firstForm.quotationTime"
@@ -363,7 +363,7 @@
                                 />
                             </el-form-item>
                         </el-col>
-                        <el-col v-show="isTrue" :span="8">
+                        <el-col :span="8">
                             <el-form-item label="签单时间">
                                 <el-date-picker
                                     v-model="firstForm.signingTime"
@@ -491,12 +491,12 @@
                                 ></el-cascader>
                             </el-form-item>
                         </el-col>
-                        <el-col v-show="isTrue" :span="8">
+                        <el-col :span="8">
                             <el-form-item label="被保人">
                                 <el-input v-model="firstForm.insurName" placeholder="请输入" clearable></el-input>
                             </el-form-item>
                         </el-col>
-                        <el-col v-show="isTrue" :span="8">
+                        <el-col :span="8">
                             <el-form-item label="报价时间">
                                 <el-date-picker
                                     v-model="firstForm.quotationTime"
@@ -509,7 +509,7 @@
                                 />
                             </el-form-item>
                         </el-col>
-                        <el-col v-show="isTrue" :span="8">
+                        <el-col :span="8">
                             <el-form-item label="签单时间">
                                 <el-date-picker
                                     v-model="firstForm.signingTime"

+ 95 - 62
src/views/insurancePolicy/index.vue

@@ -254,6 +254,7 @@
                   placeholder="请选择"
                   value-format="YYYY-MM-DD"
                   style="width: 100%"
+                  @blur="(e) => insurancePolicyForm.identifyValidDate1 = changeDate(e)"
                 />
               </el-form-item>
             </el-col>
@@ -266,6 +267,7 @@
                             placeholder="请选择"
                             value-format="YYYY-MM-DD"
                             style="width: calc(100% - 64px)"
+                            @blur="(e) => insurancePolicyForm.identifyValidEndDate1 = changeDate(e)"
                     />
                     <el-button type="primary" @click="longTime">长期</el-button>
                 </div>
@@ -402,6 +404,7 @@
                   placeholder="请选择"
                   value-format="YYYY-MM-DD"
                   style="width: 100%"
+                  @blur="(e) => insurancePolicyForm.identifyValidDate2 = changeDate(e)"
                 />
               </el-form-item>
             </el-col>
@@ -413,6 +416,7 @@
                   placeholder="请选择"
                   value-format="YYYY-MM-DD"
                   style="width: 100%"
+                  @blur="(e) => insurancePolicyForm.identifyValidEndDate2 = changeDate(e)"
                 />
               </el-form-item>
             </el-col>
@@ -547,6 +551,7 @@
                   placeholder="请选择"
                   value-format="YYYY-MM-DD"
                   style="width: 100%"
+                  @blur="(e) => insurancePolicyForm.identifyValidDate3 = changeDate(e)"
                 />
               </el-form-item>
             </el-col>
@@ -558,6 +563,7 @@
                   placeholder="请选择"
                   value-format="YYYY-MM-DD"
                   style="width: 100%"
+                  @blur="(e) => insurancePolicyForm.identifyValidEndDate3 = changeDate(e)"
                 />
               </el-form-item>
             </el-col>
@@ -811,6 +817,7 @@
                   placeholder="请选择"
                   value-format="YYYY-MM-DD HH:mm:ss"
                   style="width: 100%"
+                  @change="jqChange"
                 />
               </el-form-item>
               &nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;
@@ -836,6 +843,7 @@
                   placeholder="请选择"
                   value-format="YYYY-MM-DD HH:mm:ss"
                   style="width: 100%"
+                  @change="syChange"
                 />
               </el-form-item>
               &nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;
@@ -1098,8 +1106,8 @@
                 <div class="result" v-if="currentRow.some(a => a.id === scope.row.id)">
                   <span 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">
-                      <el-icon style="color: #FF4545; font-size: 14px"><Warning /></el-icon>&nbsp;&nbsp;{{ scope.row.quoteResult?.feeNoDescription }}
+                    <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="resultItem">
@@ -1118,9 +1126,9 @@
                   </span>
                   <div>
                     <div class="quoteFail" v-if="scope.row.quoteResult?.failMsg">
-                      <el-icon style="color: #FF4545; font-size: 14px"><Warning /></el-icon>&nbsp;&nbsp;报价失败
+                      <el-icon style="color: #FF4545; font-size: 14px" @click="handleOpen"><Warning /></el-icon>&nbsp;&nbsp;报价失败
                     </div>
-                    <div class="quoteReason">{{ scope.row.quoteResult?.failMsg }}</div>
+<!--                    <div class="quoteReason">{{ scope.row.quoteResult?.failMsg }}</div>-->
                   </div>
                 </div>
                 <div class="loader" v-show="scope.row.loading">
@@ -1143,67 +1151,71 @@
             </el-table-column>
               <el-table-column label="费用因子" align="center">
                   <template #default="scope">
-                      <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
-                          <span>评分:</span><span>{{ scope.row.quoteResult?.scoreVo?.score || '--' }}</span>
-                      </div>
-                      <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
-                          <span>交强险系数:</span><span>{{ scope.row.quoteResult?.scoreVo?.jqLossRation || '--' }}</span>
-                      </div>
-                      <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
-                          <span>商业险系数:</span><span>{{ scope.row.quoteResult?.scoreVo?.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 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="moreFactor">
-                                  <span>总赔付率:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--'  }}</span>
+                              <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
+                                  <span>交强险系数:</span><span>{{ item.jqLossRation || '--' }}</span>
                               </div>
-                              <div class="moreFactor">
-                                  <span>商业赔付率:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--'  }}</span>
+                              <div class="costFactor" v-if="scope.row.quoteResult?.scoreVo">
+                                  <span>商业险系数:</span><span>{{ item.syLossRation || '--' }}</span>
                               </div>
-                              <div class="moreFactor">
-                                  <span>总折扣率:</span><span>{{ scope.row.quoteResult?.scoreVo?.syLossRation || '--'  }}</span>
+                              <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>
-                              <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>
+                          </template>
                       </div>
                   </template>
               </el-table-column>
@@ -1416,7 +1428,7 @@
 <script setup lang="ts">
 import type { FormInstance, FormRules } from 'element-plus'
 import api from "@/api";
-import { ElMessage } from "element-plus";
+import { ElMessage, ElNotification } from "element-plus";
 import { useRoute, useRouter } from 'vue-router'
 import underwriting from './modules/underwriting.vue'
 import recognition from './modules/recognition.vue'
@@ -1426,6 +1438,7 @@ import insurance from "../additionalOrder/additional/modules/insuranceSelect.vue
 import driving from '../../layouts/components/DrivingType/index.vue'
 import detail from '../../layouts/components/JYXDetail/index.vue'
 import QRCode from 'qrcode'
+import dayjs from "dayjs";
 
 const RecognitionRefs = ref()
 const SalesmanSelectRef = ref()
@@ -1438,6 +1451,10 @@ const JYXDetail = ref()
 const myRoute = useRoute()
 const router = useRouter()
 
+const changeDate = (e) => {
+    return dayjs(e.target.value).format('YYYY-MM-DD')
+}
+
 const initDetail = () => {
     api.insurancePolicyApi.getOrderDetail(myRoute.query.orderNo).then((res: any) => {
         if(res.code == 200) {
@@ -1801,6 +1818,9 @@ let insurancePolicyRules = ref<FormRules>({
   powerScale: [
     { required: true, trigger: 'blur', message: '请输入功率' }
   ],
+  transferDate: [
+      { required: true, trigger: 'change', message: '请选择转移登记日期' },
+  ],
   name1: [
     { required: true, trigger: 'blur', message: '请输入姓名' }
   ],
@@ -2340,6 +2360,9 @@ const JQChange = (item) => {
     insurancePolicyForm.value.JQInstantFlag = false
   }
 }
+const jqChange = (e) => {
+    insurancePolicyForm.value.JQEndDate = oneYearPast1(e)
+}
 // 商业即时生效
 let syWork = ref([
   { text: '即时生效', checked: false }
@@ -2360,6 +2383,9 @@ const SYChange = (item) => {
     insurancePolicyForm.value.SYInstantFlag = false
   }
 }
+const syChange = (e) => {
+    insurancePolicyForm.value.SYEndDate = oneYearPast1(e)
+}
 
 // 报价公司
 let currentRow = ref([])
@@ -3221,6 +3247,13 @@ const handleSubmit = async (InsurancePolicyRefs: FormInstance | undefined, scope
   })
 }
 
+const handleOpen = (scope) => {
+    ElNotification({
+        title: '费用匹配错误信息',
+        message: h('p', { style: 'white-space: pre-line' }, `${scope.row.quoteResult?.feeNoDescription}`),
+    })
+}
+
 // 获取保司
 const ruleFilterCompany = (item) => {
   let data = {

+ 11 - 3
src/views/quoteConfig/agreement/agreementDetails.vue

@@ -144,7 +144,7 @@
                 <el-tabs :tab-position="ruleFeePosition" class="ruleFee" v-if="item.costVoList">
                   <el-tab-pane v-for="(costitem, costindex) in item.costVoList" :key="costindex"
                     :label="costitem.productName" :name="costitem.productName">
-                    <span class="strong">单交费用({{ costitem.ptlAgreementCostVoList.length }}条)</span>
+                    <span class="strong">{{ costitem.productName }}费用({{ costitem.ptlAgreementCostVoList.length }}条)</span>
                     <ComplexTable :tableData="costitem.ptlAgreementCostVoList" :columns="columns" :maxHeight="250"
                       :showIndex="false" :columnwidth="200" :showSelect="false">
                       <template v-slot:operation="scope">
@@ -171,7 +171,7 @@
       <template #default>
         <div class="flex a-c j-s ">
           <span class="strong title" style="margin-right: 20px;">规则条件</span>
-          <el-button type="primary" link @click="ruleConditionVisible = true">
+          <el-button type="primary" link @click="addRules">
             添加条件
             <template #icon>
               <el-icon>
@@ -195,7 +195,7 @@
     <auth-Drawer :Drawer="agreementAuthDrawer" @cancel="agreementAuthDrawer = false" @save="DrawerSave"
       @query="Drawerquery" @echoValue="echoValue" :deptlist="deptauthList" :checkedKeys="checkedKeys" :checkedIds="checkedIds"></auth-Drawer>
     <!-- 规则条件弹窗 -->
-    <RuleCondition :ruleConditionVisible="ruleConditionVisible" @cancel="ruleConditionVisible = false"
+    <RuleCondition ref="RuleConditionRefs" :ruleConditionVisible="ruleConditionVisible" @cancel="ruleConditionVisible = false"
       @save="ruleConditionSave" :attrIdList="rulesAttrListInfo.rulesAttrList" />
     <!-- 规则费用抽屉组件 -->
     <ruleFeeDialog v-if="ruleFeeVisible" :ruleFeeVisible="ruleFeeVisible" :agreementInfo="agreementInfo"
@@ -228,6 +228,13 @@ const router = useRouter();
 const id = ref(route.query.id as string);//id参数
 const activeName = ref('agreementInfo')//默认标签页
 const authDeptlength = ref<number>(0);
+
+let RuleConditionRefs = ref()
+const addRules = () => {
+    ruleConditionVisible.value = true
+    RuleConditionRefs.value.ruleAttr(agreementInfo.value.companyId)
+}
+
 onBeforeMount(async () => {
   await loadDicts(['agreement_type', 'valid_status', 'is_enable', 'with_tax', 'audit_status']);//获取多个字典
 
@@ -451,6 +458,7 @@ const ruleFeePosition = ref<TabsInstance['tabPosition']>('left')
 const direction = ref<DrawerProps['direction']>('rtl')
 const addUnderwritingRule = () => {
   addUnderwritingRuleShow.value = true;
+    rulesAttrListInfo.rulesAttrList = []
 }
 //承保规则保存事件
 const UnderwritingRuleSave = () => {

+ 20 - 10
src/views/quoteConfig/agreement/components/ruleFeeDialog.vue

@@ -72,14 +72,19 @@
                               :disabled-date="(date: any) => disabledEndDate(date, index, Costindex)" />
                           </el-form-item>
                         </ElCol>
-                        <ElCol :md="24" :lg="12">
-                          <el-form-item label="审核方式" prop="auditMethod">
-                            <el-select v-model="Costitem.auditMethod" placeholder="选择审核方式">
-                              <el-option label="自动审核" value="0" />
-                              <el-option label="手动审核" value="1" />
-                            </el-select>
-                          </el-form-item>
-                        </ElCol>
+                          <ElCol :md="24" :lg="12">
+                              <el-form-item label="审核方式" prop="auditMethod">
+                                  <el-select v-model="Costitem.auditMethod" placeholder="选择审核方式">
+                                      <el-option label="自动审核" value="0" />
+                                      <el-option label="手动审核" value="1" />
+                                  </el-select>
+                              </el-form-item>
+                          </ElCol>
+                          <ElCol :md="24" :lg="12">
+                              <el-form-item label="优先级" prop="priorityLevel">
+                                  <el-input-number style="width: 100%" v-model="Costitem.priorityLevel" placeholder="请填写优先级" />
+                              </el-form-item>
+                          </ElCol>
                         <ElCol :md="24" :lg="24">
                           <el-form-item label="费用描述" prop="costDescribe">
                             <el-input v-model="Costitem.costDescribe" maxlength="500" placeholder="请输入费用描述"
@@ -172,7 +177,7 @@
       </template>
     </el-drawer>
     <!-- 规则条件弹窗 -->
-    <RuleCondition :ruleConditionVisible="ruleConditionVisible" @cancel="ruleConditionVisible = false"
+    <RuleCondition ref="RuleConditionRefs" :ruleConditionVisible="ruleConditionVisible" @cancel="ruleConditionVisible = false"
       @save="ruleConditionSave" :attrIdList="echoResponse" />
   </div>
 </template>
@@ -186,6 +191,8 @@ import { defineProps, defineEmits } from "vue";
 const direction = ref<DrawerProps['direction']>('rtl')
 const fromSize = ref<ComponentSize>('default')
 
+let RuleConditionRefs = ref()
+
 const activeName = ref('单交')
 const props = defineProps<{
   ruleFeeVisible: boolean,
@@ -209,7 +216,9 @@ const feerules = ref<FormRules>({
   auditMethod: [
     { required: true, trigger: 'change', message: '请选择审核方式' },
   ],
-
+    priorityLevel: [
+        { required: true, trigger: 'blur', message: '请填写优先级' },
+    ]
 })
 interface RuleCondition {
   min: number | string;
@@ -389,6 +398,7 @@ const addRuleCondition = (index: number, Costindex: number) => {
   insuranceTypeIndex.value = index;
   feeIndex.value = Costindex;
   ruleConditionVisible.value = true;
+    RuleConditionRefs.value.ruleAttr(props.agreementInfo.companyId)
 }
 
 const handelRK = (scope) => {

+ 43 - 10
src/views/quoteConfig/agreement/components/ruleFeeDialogEdit.vue

@@ -28,8 +28,8 @@
             </ElCol>
           </ElRow>
           <ElRow :gutter="20" class="m-top-20">
-            <el-form :model="costitemEditInfo" label-width="80px" ref="productFormRef" style="width: 100%;"
-              :disabled="disabledShow" class="flex a-c f-wrap" :size="fromSize">
+            <el-form :model="costitemEditInfo" ref="editFormRefs" label-width="80px" style="width: 100%;"
+              :disabled="disabledShow" class="flex a-c f-wrap" :size="fromSize" :rules="editRules">
               <ElCol :md="24" :lg="12">
                 <el-form-item label="生效时间" prop="effectiveTime">
                   <el-date-picker v-model="costitemEditInfo.effectiveTime" style="width: 100%;" type="datetime"
@@ -52,6 +52,11 @@
                   </el-select>
                 </el-form-item>
               </ElCol>
+                <ElCol :md="24" :lg="12">
+                    <el-form-item label="优先级" prop="priorityLevel">
+                        <el-input-number style="width: 100%" v-model="costitemEditInfo.priorityLevel" placeholder="请填写优先级" />
+                    </el-form-item>
+                </ElCol>
               <ElCol :md="24" :lg="24">
                 <el-form-item label="费用描述" prop="costDescribe">
                   <el-input v-model="costitemEditInfo.costDescribe" maxlength="500" placeholder="请输入费用描述"
@@ -66,7 +71,7 @@
               <span class="strong m-right-20">规则条件</span>
             </ElCol>
             <ElCol :md="24" :lg="22">
-              <el-button type="primary" :disabled="disabledShow" plain @click="ruleConditionVisible = true">
+              <el-button type="primary" :disabled="disabledShow" plain @click="addRules">
                 添加条件
                 <template #icon>
                   <el-icon>
@@ -134,7 +139,7 @@
       <template #footer>
         <div class="flex a-c j-c" v-if="!disabledShow">
           <el-button @click="cancel">取消</el-button>
-          <el-button type="primary" @click="save">提交审核</el-button>
+          <el-button type="primary" @click="save(editFormRefs)">提交审核</el-button>
         </div>
         <div class="flex f-c " v-if="!costitemEditInfo?.reviewDescription && props.operationType == 'audit'">
           <el-checkbox v-model="automatic" label="审核后,自动跳支审核下一条费用" size="large" />
@@ -146,7 +151,7 @@
       </template>
     </el-drawer>
     <!-- 规则条件弹窗 -->
-    <RuleCondition :ruleConditionVisible="ruleConditionVisible" @cancel="ruleConditionVisible = false"
+    <RuleCondition ref="RuleConditionRefs" :ruleConditionVisible="ruleConditionVisible" @cancel="ruleConditionVisible = false"
       @save="ruleConditionSave" :attrIdList="ruleConditions" />
 
   </div>
@@ -161,6 +166,10 @@ import { defineProps, defineEmits } from "vue";
 const direction = ref<DrawerProps['direction']>('rtl')
 const fromSize = ref<ComponentSize>('default')
 
+let editFormRefs = ref()
+
+let RuleConditionRefs = ref()
+
 const props = defineProps<{
   ruleFeeVisible: boolean,
   agreementInfo: any,//协议信息
@@ -192,8 +201,27 @@ watch(props, () => {
   }
 })
 
+let editRules = ref({
+    effectiveTime: [
+        { required: true, trigger: 'change', message: '请选择生效时间' },
+    ],
+    failureTime: [
+        { required: true, trigger: 'change', message: '请选择失效时间' },
+    ],
+    auditMethod: [
+        { required: true, trigger: 'change', message: '请选择审核方式' },
+    ],
+    priorityLevel: [
+        { required: true, trigger: 'blur', message: '请填写优先级' },
+    ]
+})
+
+const addRules = () => {
+    ruleConditionVisible.value = true
+    RuleConditionRefs.value.ruleAttr(props.agreementInfo.companyId)
+}
+
 const handelRK = (scope) => {
-    console.log(123123123, scope.row.addThrow, typeof scope.row.addThrow)
     if(scope.row.export&&scope.row.addThrow || scope.row.export&&scope.row.addThrow === 0) {
         scope.row.keepPointRatio = scope.row.inlet + scope.row.addThrow - scope.row.export
     }
@@ -283,10 +311,15 @@ const cancel = () => {
 const close=()=>{
   emits("cancel")
 }
-const save = () => {
-  console.log(costitemEditInfo.value)
-  // return;
-  emits("save", costitemEditInfo.value)
+const save = (formRef) => {
+    if (!formRef) return
+    if (formRef) {
+        formRef.validate((valid) => {
+            if(valid) {
+                emits("save", costitemEditInfo.value)
+            }
+        })
+    }
 }
 
 

+ 15 - 13
src/views/receivable/documentary/index.vue

@@ -188,7 +188,7 @@
                     <el-table-column prop="dockingPerson" label="对接人" width="100"></el-table-column>
                     <el-table-column label="操作" width="120" fixed="right">
                         <template #default="scope">
-                            <el-button link type="primary">编辑</el-button>
+                            <el-button link type="primary" @click="toEdit(scope)">编辑</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -374,19 +374,21 @@
                     <el-table-column prop="jqStartDate" label="交强险起保日期" width="150"></el-table-column>
                     <el-table-column prop="syStartDate" label="商业险起保日期" width="150"></el-table-column>
                     <el-table-column prop="createTime" label="创建时间" width="150"></el-table-column>
-                    <el-table-column label="操作" width="120" fixed="right">
+                    <el-table-column label="操作" width="180" fixed="right">
                         <template #default="scope">
-                            <el-button link type="primary">编辑</el-button>
-                            <el-dropdown class="width-100" trigger="click" placement="bottom" @command="dropdownCommand">
-                                <el-button class="radius-2px width-100">
-                                    更多&nbsp;&nbsp;<el-icon><ArrowDown /></el-icon>
-                                </el-button>
-                                <template #dropdown>
-                                    <el-dropdown-menu>
-                                        <el-dropdown-item command="数据导入">数据导入</el-dropdown-item>
-                                    </el-dropdown-menu>
-                                </template>
-                            </el-dropdown>
+                            <div style="display: flex; align-items: center; justify-content: center">
+                                <el-button link type="primary">编辑</el-button>
+                                <el-dropdown trigger="click" placement="bottom" @command="dropdownCommand">
+                                    <el-button link type="primary">
+                                        更多
+                                    </el-button>
+                                    <template #dropdown>
+                                        <el-dropdown-menu>
+                                            <el-dropdown-item command="数据导入">数据导入</el-dropdown-item>
+                                        </el-dropdown-menu>
+                                    </template>
+                                </el-dropdown>
+                            </div>
                         </template>
                     </el-table-column>
                 </el-table>

+ 1 - 1
src/views/receivable/handingFee/index.vue

@@ -913,7 +913,7 @@ const handleCurrentChange = (page) => {
 // 编辑
 const toEdit = (row: any) => {
     myRouter.push({
-        path: '/insurancePolicy/index',
+        path: '/insurancePolicy/order/insurancePolicyOrderDetail',
         query: {
             orderNo: row.orderNo
         }