Просмотр исходного кода

Merge branch 'dev' of http://39.101.143.165:8090/sxzgd/vue-insagent-pc into dev

lihongxiao 1 год назад
Родитель
Сommit
1a3cd0dfa8
23 измененных файлов с 677 добавлено и 164 удалено
  1. 2 3
      config/dev.env.js
  2. 2 4
      src/components/Form/ProductCostForm.vue
  3. 32 25
      src/views/AgreementManage/CarInsurance/AgreementEntry.vue
  4. 46 3
      src/views/AgreementManage/CarInsurance/AgreementUnderwritingRule.vue
  5. 118 11
      src/views/AgreementManage/CarInsurance/ProductCostExamine.vue
  6. 1 1
      src/views/AgreementManage/InsuranceCompany/CargoTruck/BusinessOperation/Fuel/SolutionConfig.vue
  7. 1 1
      src/views/AgreementManage/InsuranceCompany/CargoTruck/BusinessOperation/NewEnergy/SolutionConfig.vue
  8. 1 1
      src/views/AgreementManage/InsuranceCompany/CargoTruck/NonBusiness/Fuel/SolutionConfig.vue
  9. 1 1
      src/views/AgreementManage/InsuranceCompany/CargoTruck/NonBusiness/NewEnergy/SolutionConfig.vue
  10. 1 1
      src/views/AgreementManage/InsuranceCompany/PassengerBus/BusinessOperation/Fuel/SolutionConfig.vue
  11. 1 1
      src/views/AgreementManage/InsuranceCompany/PassengerBus/BusinessOperation/NewEnergy/SolutionConfig.vue
  12. 1 1
      src/views/AgreementManage/InsuranceCompany/PassengerBus/NonBusiness/Fuel/SolutionConfig.vue
  13. 1 1
      src/views/AgreementManage/InsuranceCompany/PassengerBus/NonBusiness/NewEnergy/SolutionConfig.vue
  14. 16 7
      src/views/Core/KtCommonTable.vue
  15. 6 1
      src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryFeesSettled.vue
  16. 6 6
      src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyintasks.vue
  17. 3 3
      src/views/FinancialManagement/InsuranceData/InsuranceDataExport.vue
  18. 223 0
      src/views/PeopleManage/Agent/QuoteCountManagement.vue
  19. 136 0
      src/views/PeopleManage/Agent/QuoteManagement.vue
  20. 12 1
      src/views/Task/DaikeLetter.vue
  21. 1 1
      src/views/Task/External/ExternalOrders.vue
  22. 14 24
      src/views/Task/daikeComponents/KtLetter.vue
  23. 52 67
      src/views/Task/daikeComponents/KtLetter1.vue

+ 2 - 3
config/dev.env.js

@@ -10,18 +10,17 @@ module.exports = merge(prodEnv, {
   // BASE_URL:'"https://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
   // BASE_URL: '"http://192.168.0.115:8080/"', //凯森
   // BASE_URL: '"http://192.168.0.106:8080/"',//屈晨
-  // BASE_URL: '"http://192.168.0.253:8080/"',//田智
+  BASE_URL: '"http://192.168.0.253:8080/"',//田智
   // BASE_URL: '"http:///192.168.0.42:8080/"',//武鸿鹏
   // BASE_URL: '"http:///192.168.0.253:8080/"',//田智
   // BASE_URL: '"http:///192.168.0.42:8080/"',//武鸿鹏
   // BASE_URL: '"http://192.168.1.101:8080/"',
   // BASE_URL: '"http://192.168.0.250:8080/"',//
   //  BASE_URL: '"http:///192.168.0.103:8080/"',//霍续亮
-  BASE_URL: '"http://192.168.0.52:8080/"',//贺礼霄
+  // BASE_URL: '"http://192.168.0.52:8080/"',//贺礼霄
   // BASE_URL: '"http:///192.168.0.55:8080/"',// 董鑫
   CONSOLE_BASE_URL: '"http://localhost:8080/"', //控制台测试服务器
   CONSOLE_KHGX_URL: '"http://192.168.0.103:8081/login"', //跳转客户服务平台地址
-  CONSOLE_ZGD_URL: '"http://192.168.0.103:8090"', //核心平台地址
   // CONSOLE_BASE_URL: '"https://test.baoxianzhanggui.com/console-api"' //控制台正式服务器
   APP_BASE_URL: '"https://pre.baoxianzhanggui.com/web-api"',    // app打包上传地址
   SOCKET_Url: '"ws://192.168.0.52:8080/"',

+ 2 - 4
src/components/Form/ProductCostForm.vue

@@ -37,7 +37,7 @@
             </div>
           </div>
           <div class="p-2" v-show="CarCollapsed">
-            <el-form ref="form" :model="underwritingRulesForm" label-width="80px" size="small">
+            <el-form ref="form" :model="underwritingRulesForm" label-width="80px" size="small" :disabled="disabled">
               <el-col :span="8">
                 <el-form-item label="是否有效">
                   <el-select v-model="underwritingRulesForm.validInd" placeholder="请选择活动区域">
@@ -754,9 +754,7 @@ export default {
     };
   },
   created() {
-    console.log('form表单数据', this.form)
-    console.log('underwritingRulesForm表单数据', this.form)
-    console.log('operator', this.form)
+    console.log('underwritingRulesForm表单数据', this.underwritingRulesForm)
   },
   computed: {
     CarAttr() {

+ 32 - 25
src/views/AgreementManage/CarInsurance/AgreementEntry.vue

@@ -1419,7 +1419,7 @@
 
     :visible.sync="drawer"
     :direction="'rtl'"
-    size="90%"
+    size="100%"
     :before-close="handleClose"
     :destroy-on-close="true">
 
@@ -2631,18 +2631,39 @@ export default {
         list.push(element.id)
       });
       this.agreementSelectionList = list;
+      this.selectedLength = val.length>0?val.length:0
+      // if(val.length>0) {
+      //   this.$set(this.hasSelectedList, this.pageNum-1, val)
+      //   this.hadSelectedList = [...this.hasSelectedList]
+      //   if(this.hadSelectedList.length> 0) {
+      //     this.selectedLength = 0
+      //     this.hadSelectedList.forEach(item => {
+      //       this.selectedLength += item.length
+      //     })
+      //   }
+      // } else {
+      //   this.$set(this.hasSelectedList, this.pageNum-1, [])
+      //   this.hadSelectedList = [...this.hasSelectedList]
+      //   if(this.hadSelectedList.length> 0) {
+      //     this.selectedLength = 0
+      //     this.hadSelectedList.forEach(item => {
+      //       this.selectedLength += item.length
+      //     })
+      //   }
+      // }
     },
     handleSelectChange(rows) {
-      if(rows.length>0) {
-        this.$set(this.hasSelectedList, this.pageNum-1, rows)
-        this.hadSelectedList = [...this.hasSelectedList]
-        if(this.hadSelectedList.length> 0) {
-          this.selectedLength = 0
-          this.hadSelectedList.forEach(item => {
-            this.selectedLength += item.length
-          })
-        }
-      }
+      this.selectedLength = rows.length>0?rows.length:0
+      // if(rows.length>0) {
+      //   this.$set(this.hasSelectedList, this.pageNum-1, rows)
+      //   this.hadSelectedList = [...this.hasSelectedList]
+      //   if(this.hadSelectedList.length> 0) {
+      //     this.selectedLength = 0
+      //     this.hadSelectedList.forEach(item => {
+      //       this.selectedLength += item.length
+      //     })
+      //   }
+      // }
     },
     agreementCurrentChange(val) {
       this.agreementActiveInfo = val;
@@ -3894,20 +3915,6 @@ export default {
           this.pageNum = res.data.pageNum;
           this.pageSize = res.data.pageSize;
           this.totalSize = res.data.totalSize;
-          this.$nextTick(() => {
-            if(this.hadSelectedList[this.pageNum-1]) {
-              this.hadSelectedList[this.pageNum-1].forEach(item => {
-                let row = this.pageResult.find(sub => item.id === sub.id)
-                this.$refs.multipleTable.toggleRowSelection(row)
-              })
-              if(this.hadSelectedList.length> 0) {
-                this.selectedLength = 0
-                this.hadSelectedList.forEach(item => {
-                  this.selectedLength += item.length
-                })
-              }
-            }
-          })
         } else {
           this.$message.error(res.msg);
         }

+ 46 - 3
src/views/AgreementManage/CarInsurance/AgreementUnderwritingRule.vue

@@ -18,7 +18,7 @@
       :columns="underwritingRulesColumns" @findPage="underwritingRulesFindPage" button2Name="编辑"  button2Type="text"  button3Type="text" :button2style="{ color: '#2D4D89' }" :tableList="underwritingRulesResult.content"
       permsButton2="agreement:input:underwritingRules" permsButton3="agreement:input:underwritingRules"
       button2Background="#E6A23C" @handleButton2="underwritingRulesUpdate" button2Icon="" button3Name="删除"
-      button3Background="#F56C6C" @handleButton3="underwritingRulesDelete" button3Icon="">
+      button3Background="#F56C6C" @handleButton3="underwritingRulesDelete" button3Icon="" isNotFixed :isCopyExpandAll="isCopyExpandAll">
     </kt-common-table>
     <el-dialog :append-to-body="true" :title="underwritingRulesAddDialogTitle" :visible.sync="underwritingRulesAddVehicleFactorVisible"
       :close-on-click-modal="false" width="80%" top="6vh" @close="underwritingRulescloseDialog">
@@ -104,6 +104,15 @@
           <el-table-column prop="ruleDescription" label="规则描述" align="center" />
           <el-table-column prop="desc" label="规则因子描述" align="center" width="450" />
         </el-table>
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="copyTableDataPagination.pageNum"
+          :page-sizes="[10, 20, 30, 40]"
+          :page-size="copyTableDataPagination.pageSize"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="copyTableDataPagination.total">
+        </el-pagination>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button size="small" style="background: #EAEDF1;color: #2D4D89;"
@@ -133,6 +142,7 @@ export default {
   },
   data() {
     return {
+      isCopyExpandAll: false,
       underwritingRulesHistoryOperatorTime: "",
       underwritingRulesHistoryRecordResult: [],
       underwritingRulesHistoryDetailsDialogVisible:false,
@@ -205,6 +215,12 @@ export default {
       copyTableDataList: [],
       selectionList: [],
       carClassList: [],
+      // 协议承保规则复制分页数据
+      copyTableDataPagination: {
+        pageSize: 10,
+        pageNum: 1,
+        total: 0
+      }
     }
   },
   // 生命周期函数
@@ -222,6 +238,17 @@ export default {
 
   // 方法函数
   methods: {
+    // 协议承保规则复制每页条数改变钩子函数
+    handleSizeChange(e) {
+      this.copyTableDataPagination.pageSize = e
+      this.copyTableDataPagination.pageNum = 1
+      this.copyAgreementIdChange()
+    },
+    // 协议承保规则复制页数改变钩子函数
+    handleCurrentChange(e) {
+      this.copyTableDataPagination.pageNum = e
+      this.copyAgreementIdChange()
+    },
     getDicType(type) {
       this.$api.insCompany.dicType(type).then((res) => {
         if (res.code == 200) {
@@ -276,9 +303,19 @@ export default {
     },
     copyAgreementIdChange() {
       this.$api.insCompany.rulesList({
-        agreementId: this.copyAgreementId
+        agreementId: this.copyAgreementId,
+        pageNum: this.copyTableDataPagination.pageNum,
+        pageSize: this.copyTableDataPagination.pageSize
       }).then((res) => {
-        this.copyTableDataList = res.content || []
+        if(res.content) {
+          this.copyTableDataList = res.content || []
+          this.copyTableDataPagination.total = res.totalSize
+        } else {
+          this.copyTableDataList = []
+          this.copyTableDataPagination.pageNum = 1
+          this.copyTableDataPagination.pageSize = 10
+          this.copyTableDataPagination.total = 0
+        }
       })
     },
     // 复制按钮
@@ -289,6 +326,9 @@ export default {
       }).then((res) => {
         this.allAgreementList = res.data
       })
+      this.copyTableDataPagination.pageNum = 1
+      this.copyTableDataPagination.pageSize = 10
+      this.copyTableDataPagination.total = 0
     },
     //承保规则历史记录详情
     underwritingRulesHistoryDetails({ row, column }) {
@@ -450,6 +490,9 @@ export default {
         .getUndwrtRulesQuery(this.pageRequest)
         .then((res) => {
           this.underwritingRulesResult = res;
+          if(this.underwritingRulesResult&&this.underwritingRulesResult.content.length == 1) {
+            this.isCopyExpandAll = true
+          }
         });
     },
     underwritingAddSubmit() {

+ 118 - 11
src/views/AgreementManage/CarInsurance/ProductCostExamine.vue

@@ -264,10 +264,21 @@
     <el-dialog
       title="承保规则"
       :visible.sync="agreementListShow"
-      width="50%">
+      :fullscreen="true"
+    >
       <el-table
         :data="underwritingRulesResult"
+        @expand-change="handleExpandChange"
+        :expand-row-keys="expandRows"
+        row-key="id"
         style="width: 100%">
+        <el-table-column
+          type="expand"
+        >
+          <template slot-scope="scope">
+            <Product-Cost-Form ref="ProductRef" :form="dynamicFormArray" :operator="operatorlist" over-size="small" :underwritingRulesForm="scope.row.underwritingRulesForm" :disabled="true"></Product-Cost-Form>
+          </template>
+        </el-table-column>
         <el-table-column
           prop="validInd"
           label="是否启用"
@@ -278,23 +289,19 @@
         </el-table-column>
         <el-table-column
           prop="rulesStartDate"
-          label="规则起期"
-          width="180">
+          label="规则起期">
         </el-table-column>
         <el-table-column
           prop="rulesEndDate"
-          label="规则止期"
-          width="180">
+          label="规则止期">
         </el-table-column>
         <el-table-column
           prop="ruleDescription"
-          label="规则描述"
-          width="180">
+          label="规则描述">
         </el-table-column>
         <el-table-column
           prop="desc"
-          label="规则因子描述"
-          width="180">
+          label="规则因子描述">
         </el-table-column>
       </el-table>
       <span slot="footer" class="dialog-footer">
@@ -554,8 +561,31 @@ export default {
       allAgreementList: [],
       agreementListShow: false,
       underwritingRulesResult: [],
+
+      underwritingRulesForm: {
+        //承保因子表单项
+        agreementId: "", //协议id
+        ruleDescription: "", //规则描述
+        rulesStartDate: "",//规则起期
+        rulesEndDate: "",//规则止期
+        validInd: "1", //是否有效
+        rulesAttrList: [],//规则属性
+        carClassList: [],
+        areanumberplateList: [],
+        licenseAreaList: [],
+      },
+      expandRows: []
+
     };
   },
+  watch: {
+    underwritingRulesResult(val, old) {
+      if(val.length> 0) {
+        let obj = val[0]
+        this.underwritingRulesHistoryDetails(obj, val)
+      }
+    },
+  },
   // 生命周期函数
   created() {
     this.$api.task.findPtlAgreementList().then((res) => {
@@ -584,6 +614,64 @@ export default {
   },
   // 方法函数
   methods: {
+    // 点击展开行
+    handleExpandChange(row,rows) {
+      if(rows.length>0) {
+        this.underwritingRulesHistoryDetails(row)
+      }
+    },
+    // 承保规则历史记录详情
+    underwritingRulesHistoryDetails(row, value) {
+      let that = this
+      that.$api.dict.findPage(that.operator).then(res => {
+        that.operatorlist = res.data.content;
+      })
+      that.$api.insCompany.getUndwrtRulesFactorQuery(row.id).then((res) => {
+        if (res.code == '200') {
+          if(value&&value.length == 1) {
+            this.expandRows.push(value[0].id)
+          }
+          let obj = {...res.data}
+          obj.costsAttrLinks.map(val => {
+            switch (val.attrType) {
+              case 'inputNumber':
+              case 'datetime':
+                if (!val.operator) {
+                  val.operator = '1';
+                }
+                break;
+            }
+            if (val.attrCode == 'LicenseNo') {
+              val.dictLabal = this.areanumberplateList;
+            }
+            if (val.attrCode == 'LicenseArea') {
+              val.dictLabal = this.licenseAreaList;
+            }
+            if (val.attrCode == 'CarClass') {
+              val.dictLabal = this.carClassList
+            }
+            return val;
+          })
+          that.dynamicFormArray = obj.costsAttrLinks;
+          row.underwritingRulesForm = {
+            id: obj.id,
+            agreementId: obj.agreementId, //协议id
+            ruleDescription: obj.ruleDescription, //规则描述
+            validInd: obj.validInd, //是否有效
+            rulesStartDate: obj.rulesStartDate,
+            rulesEndDate: obj.rulesEndDate,
+            rulesAttrList: [],//规则属性
+          };
+          that.$forceUpdate();
+        } else {
+          that.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    },
+
     costQuery() {
       this.costPage();
     },
@@ -769,8 +857,27 @@ export default {
       this.$api.insCompany
         .getUndwrtRulesQuery(params)
         .then((res) => {
-          this.underwritingRulesResult = res.content.filter(item => item.validInd == 1);
-          this.agreementListShow = true
+          if(res.content) {
+            this.underwritingRulesResult = res.content.filter(item => item.validInd == 1);
+            if(this.underwritingRulesResult.length>0) {
+              this.underwritingRulesResult.forEach(item => {
+                item.underwritingRulesForm = {
+                  agreementId: "", //协议id
+                  ruleDescription: "", //规则描述
+                  rulesStartDate: "",//规则起期
+                  rulesEndDate: "",//规则止期
+                  validInd: "1", //是否有效
+                  rulesAttrList: [],//规则属性
+                  carClassList: [],
+                  areanumberplateList: [],
+                  licenseAreaList: [],
+                }
+              })
+            }
+            this.agreementListShow = true
+          } else {
+            this.$message.warning(res.msg)
+          }
         });
     }
   },

+ 1 - 1
src/views/AgreementManage/InsuranceCompany/CargoTruck/BusinessOperation/Fuel/SolutionConfig.vue

@@ -52,7 +52,6 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
       created () {
         if (this.$route.query.type*1 === 1) {
           this.activeName = 'second'
-          this.newPlanName = 'second'
           this.solutionAdd ()
         }
       },
@@ -61,6 +60,7 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
           this.activeIndex = val.index * 1
         },
         solutionAdd() {
+          this.newPlanName = this.activeName
           this.newPlanflag = true
         },
         optionalsolutionConfigSubmit () {

+ 1 - 1
src/views/AgreementManage/InsuranceCompany/CargoTruck/BusinessOperation/NewEnergy/SolutionConfig.vue

@@ -52,7 +52,6 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
       created () {
         if (this.$route.query.type*1 === 1) {
           this.activeName = 'second'
-          this.newPlanName = 'second'
           this.solutionAdd ()
         }
       },
@@ -61,6 +60,7 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
           this.activeIndex = val.index * 1
         },
         solutionAdd() {
+          this.newPlanName = this.activeName
           this.newPlanflag = true
         },
         optionalsolutionConfigSubmit () {

+ 1 - 1
src/views/AgreementManage/InsuranceCompany/CargoTruck/NonBusiness/Fuel/SolutionConfig.vue

@@ -52,7 +52,6 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
       created () {
         if (this.$route.query.type*1 === 1) {
           this.activeName = 'second'
-          this.newPlanName = 'second'
           this.solutionAdd ()
         }
       },
@@ -61,6 +60,7 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
           this.activeIndex = val.index * 1
         },
         solutionAdd() {
+          this.newPlanName = this.activeName
           this.newPlanflag = true
         },
         optionalsolutionConfigSubmit () {

+ 1 - 1
src/views/AgreementManage/InsuranceCompany/CargoTruck/NonBusiness/NewEnergy/SolutionConfig.vue

@@ -52,7 +52,6 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
       created () {
         if (this.$route.query.type*1 === 1) {
           this.activeName = 'second'
-          this.newPlanName = 'second'
           this.solutionAdd ()
         }
       },
@@ -61,6 +60,7 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
           this.activeIndex = val.index * 1
         },
         solutionAdd() {
+          this.newPlanName = this.activeName
           this.newPlanflag = true
         },
         optionalsolutionConfigSubmit () {

+ 1 - 1
src/views/AgreementManage/InsuranceCompany/PassengerBus/BusinessOperation/Fuel/SolutionConfig.vue

@@ -52,7 +52,6 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
       created () {
         if (this.$route.query.type*1 === 1) {
           this.activeName = 'second'
-          this.newPlanName = 'second'
           this.solutionAdd ()
         }
       },
@@ -61,6 +60,7 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
           this.activeIndex = val.index * 1
         },
         solutionAdd() {
+          this.newPlanName = this.activeName
           this.newPlanflag = true
         },
         optionalsolutionConfigSubmit () {

+ 1 - 1
src/views/AgreementManage/InsuranceCompany/PassengerBus/BusinessOperation/NewEnergy/SolutionConfig.vue

@@ -52,7 +52,6 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
       created () {
         if (this.$route.query.type*1 === 1) {
           this.activeName = 'second'
-          this.newPlanName = 'second'
           this.solutionAdd ()
         }
       },
@@ -61,6 +60,7 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
           this.activeIndex = val.index * 1
         },
         solutionAdd() {
+          this.newPlanName = this.activeName
           this.newPlanflag = true
         },
         optionalsolutionConfigSubmit () {

+ 1 - 1
src/views/AgreementManage/InsuranceCompany/PassengerBus/NonBusiness/Fuel/SolutionConfig.vue

@@ -52,7 +52,6 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
       created () {
         if (this.$route.query.type*1 === 1) {
           this.activeName = 'second'
-          this.newPlanName = 'second'
           this.solutionAdd ()
         }
       },
@@ -61,6 +60,7 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
           this.activeIndex = val.index * 1
         },
         solutionAdd() {
+          this.newPlanName = this.activeName
           this.newPlanflag = true
         },
         optionalsolutionConfigSubmit () {

+ 1 - 1
src/views/AgreementManage/InsuranceCompany/PassengerBus/NonBusiness/NewEnergy/SolutionConfig.vue

@@ -52,7 +52,6 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
       created () {
         if (this.$route.query.type*1 === 1) {
           this.activeName = 'second'
-          this.newPlanName = 'second'
           this.solutionAdd ()
         }
       },
@@ -61,6 +60,7 @@ import AddOrdinaryPlan from './AddOrdinaryPlan';
           this.activeIndex = val.index * 1
         },
         solutionAdd() {
+          this.newPlanName = this.activeName
           this.newPlanflag = true
         },
         optionalsolutionConfigSubmit () {

+ 16 - 7
src/views/Core/KtCommonTable.vue

@@ -25,6 +25,8 @@
       style="width: 100%"
       :row-class-name="tableRowClassName"
       @expand-change="handleExpandChange"
+      :expand-row-keys="expandRows"
+      row-key="id"
     >
 
       <el-table-column
@@ -32,7 +34,7 @@
         v-if="agreementUnderwritingRuleShow"
       >
         <div class="tab-panestyle">
-          <Product-Cost-Form ref="ProductRef" v-if="underwritingRulesAddVehicleFactorVisible" :form="dynamicFormArray" :operator="operatorlist" over-size="small" :underwritingRulesForm="underwritingRulesForm"></Product-Cost-Form>
+          <Product-Cost-Form ref="ProductRef" :form="dynamicFormArray" :operator="operatorlist" over-size="small" :underwritingRulesForm="underwritingRulesForm" :disabled="true"></Product-Cost-Form>
         </div>
       </el-table-column>
 
@@ -292,7 +294,7 @@
       <el-table-column
         :label="$t('action.operation')"
         :width="operationWidth"
-        fixed="right"
+        :fixed="isNotFixed? false: 'right'"
         v-if="showOperation"
         header-align="center"
         align="center"
@@ -524,6 +526,11 @@ export default {
       type: Number,
       default: 200,
     },
+    // 是否需要固定列(指操作那一列)
+    isNotFixed: {
+      type: Boolean,
+      default: false
+    },
     showBatchSettled: {
       //显示批量结算
       type: Boolean,
@@ -806,6 +813,7 @@ export default {
         areanumberplateList: [],
         licenseAreaList: [],
       },
+      expandRows: []
     };
   },
   created() {
@@ -816,10 +824,9 @@ export default {
     tableList(val, old) {
       if(val.length> 0) {
         let obj = val[0]
-        console.log(11111, obj)
-        this.underwritingRulesHistoryDetails(obj)
+        this.underwritingRulesHistoryDetails(obj, val)
       }
-    }
+    },
   },
   methods: {
     // 点击展开行
@@ -872,13 +879,16 @@ export default {
       });
     },
     // 承保规则历史记录详情
-    underwritingRulesHistoryDetails(row) {
+    underwritingRulesHistoryDetails(row, value) {
       let that = this
       that.$api.dict.findPage(that.operator).then(res => {
         that.operatorlist = res.data.content;
       })
       that.$api.insCompany.getUndwrtRulesFactorQuery(row.id).then((res) => {
         if (res.code == '200') {
+          if(value&&value.length == 1) {
+            this.expandRows.push(value[0].id)
+          }
           let obj = Object.assign({}, res.data);
           obj.costsAttrLinks.map(val => {
             switch (val.attrType) {
@@ -910,7 +920,6 @@ export default {
             rulesEndDate: obj.rulesEndDate,
             rulesAttrList: [],//规则属性
           };
-          that.underwritingRulesAddVehicleFactorVisible = true
         } else {
           that.$message({
             type: 'error',

+ 6 - 1
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryFeesSettled.vue

@@ -338,6 +338,7 @@ export default {
         isNotCar: "0",
         isNotDocumentary: "1",
       },
+      partnerCompaniesId:""
     };
   },
   created() {
@@ -366,6 +367,8 @@ export default {
     haldRecordDetail(row) {
       this.dialogVisiblerecordDetail = true;
       this.findPageDetailrecorddatail(row);
+      this.partnerCompaniesId = row.partnerCompaniesId;
+
     },
     getListrecorddetail(data) {
       this.findPageDetailrecorddatail(data);
@@ -374,7 +377,9 @@ export default {
       this.tableConfigDetailrecorddetail.loading = true;
       this.$api.task
         .fncplyFeeQuery({
-          partnerCompaniesId: data.partnerCompaniesId,
+          partnerCompaniesId: data.partnerCompaniesId
+            ? data.partnerCompaniesId
+            : this.partnerCompaniesId,
           agreementType: "2",
           // handlingFeesStatus: '1',
           isNotDocumentary: "1",

+ 6 - 6
src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyintasks.vue

@@ -77,11 +77,11 @@
           <span>{{ scope.row.isExternal == "1" ? "是" : "否" }}</span>
         </template>
       </el-table-column>
-      <el-table-column prop="problemOrder" label="疑问订单" align="center">
+<!--      <el-table-column prop="problemOrder" label="疑问订单" align="center">
         <template slot-scope="scope">
           <span>{{ scope.row.problemOrder == "1" ? "是" : "否" }}</span>
         </template>
-      </el-table-column>
+      </el-table-column>-->
       <el-table-column
         prop="insCompany"
         label="合作公司"
@@ -1010,7 +1010,7 @@ export default {
           let businessList = [];
           let accidentList = [];
           if (res.data.orderstatus == "3") {
-            /** 
+            /**
             if (res.data.isExternal == 1) {
               this.$api.letter
                 .getPolicyPrintexternalOrder(res.data.id)
@@ -1780,9 +1780,9 @@ export default {
                 this.$refs.detailsDialog.warrantyFun(res.data);
               } else{
                 this.$message.error(res.msg);
-              } 
-            }); 
-            
+              }
+            });
+
           }
           this.feeDetailInfo = res.data.orderFeeResult;
           this.oldFeeInfo = res.data.adjustFeeDescVo;

+ 3 - 3
src/views/FinancialManagement/InsuranceData/InsuranceDataExport.vue

@@ -7,7 +7,7 @@
             <el-form class="queryForm" ref="queryFormRef" :model="queryForm" label-width="80px">
             <el-row style="margin-bottom: 15px;">
               <el-col :span="8">
-                <el-form-item label="录入时间">
+                <el-form-item label="签单时间">
                   <el-date-picker value-format="yyyy-MM-dd" v-model="queryForm.date" style="margin-left: 20px;" size="mini"
                     type="daterange" align="left" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
                   </el-date-picker>
@@ -31,7 +31,7 @@
         <el-form label-width="80px" class="queryForm">
           <el-row style="margin-bottom: 15px;">
             <el-col :span="8">
-              <el-form-item label="筛选时间">
+              <el-form-item label="签单时间">
                 <el-date-picker
                  style="margin-left: 20px;"
                 v-model="date"
@@ -118,7 +118,7 @@
             this.queryForm.startDate=this.queryForm.date[0]
             this.queryForm.endDate=this.queryForm.date[1]
         }else{
-            this.$message.error('请选择录入时间!')
+            this.$message.error('请选择签单时间!')
             return
         }
         let params = {

+ 223 - 0
src/views/PeopleManage/Agent/QuoteCountManagement.vue

@@ -0,0 +1,223 @@
+<template>
+  <div class="QuoteCountManagement">
+    <el-row style="height: 100%">
+      <el-col :span="4" style="height: 100%; overflow-y: auto; background: rgba(244, 246, 248, 1);">
+        <div class="menu-item" :class="{'active': menuIndex === index}" v-for="(item, index) in leftTree" :key="item.id" @click="handleSelect(item, index)">{{ item.label }}</div>
+      </el-col>
+      <el-col :span="20">
+        <el-row :gutter="20" align="middle" style="display: flex; align-items: center; width: 100%; overflow: hidden; margin: 0">
+          <el-col :span="18" style="padding-left: 20px">报价限制</el-col>
+          <el-col :span="6">
+            <el-button type="primary" @click="handleSync">同步配置到其他保司</el-button>
+            <el-button type="primary" @click="handleEdit">编辑</el-button>
+          </el-col>
+        </el-row>
+        <el-divider></el-divider>
+        <el-form :model="quoteForm" ref="QuoteForm" :rules="quoteRules" style="padding-left: 30px;" label-width="100px">
+          <el-form-item prop="count" label="报价次数限制">
+            <el-switch v-model="quoteForm.count"></el-switch>
+            <p class="tips">开启后,代理人的报价次数将收到限制,超出设置的报价次数后将停止代理人的报价功能</p>
+          </el-form-item>
+          <el-form-item prop="agentLimit" label="代理人限制">
+            <div>
+              <el-radio-group v-model="quoteForm.agentLimit">
+                <el-radio :label="3">限制全部代理人</el-radio>
+                <el-radio :label="6">限制部分代理人</el-radio>
+              </el-radio-group>
+              <kt-button v-if="quoteForm.agentLimit === 6" type="text" label="选择代理人" icon="el-icon-plus" style="color: #2D4D89; margin-left: 30px" @click="selectAgent" />
+            </div>
+            <el-table
+              :data="agentData"
+            >
+              <el-table-column prop="code" label="部门编码"></el-table-column>
+              <el-table-column prop="organization" label="机构名称"></el-table-column>
+              <el-table-column prop="department" label="部门名称"></el-table-column>
+              <el-table-column prop="number" label="工号"></el-table-column>
+              <el-table-column prop="name" label="姓名"></el-table-column>
+              <el-table-column prop="phone" label="联系电话"></el-table-column>
+              <el-table-column label="操作">
+                <template slot-scope="scope">
+                  <kt-button type="text" label="删除" style="color: #2D4D89;" />
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-form-item>
+          <el-form-item prop="quoteLimit" label="报价限制">
+            <el-checkbox-group v-model="quoteForm.quoteLimit">
+              <div>
+                <el-checkbox :label="1">
+                  <div style="display: flex; align-items: center">
+                    单日报价,出单比不满<el-input size="small" v-model="quoteForm.limit1" style="width: 100px; margin: 0 20px;">
+                    <template slot="append">%</template>
+                  </el-input>后,锁定代理人报价次数
+                  </div>
+                </el-checkbox>
+              </div>
+              <div>
+                <el-checkbox :label="2">
+                  <div>单日最大报价次数</div>
+                  <div style="display: flex; align-items: center">
+                    单日代理人报价满<el-input size="small" v-model="quoteForm.limit2" style="width: 100px; margin: 0 20px;">
+                    <template slot="append">次</template>
+                  </el-input>后,锁定代理人报价次数
+                  </div>
+                </el-checkbox>
+              </div>
+              <div>
+                <el-checkbox :label="3">
+                  <div>单日单车限制</div>
+                  <div style="display: flex; align-items: center">
+                    单日代理人单车最多报价<el-input size="small" v-model="quoteForm.limit3" style="width: 100px; margin: 0 20px;">
+                    <template slot="append">次</template>
+                  </el-input>后,锁定代理人报价次数
+                  </div>
+                </el-checkbox>
+              </div>
+            </el-checkbox-group>
+          </el-form-item>
+        </el-form>
+      </el-col>
+    </el-row>
+    <el-dialog
+      :visible.sync="syncShow"
+      width="30%"
+    >
+      <template slot="title">
+        <i class="el-icon-warning" style="color: red"></i><span>是否同步配置到其它保险公司</span>
+      </template>
+      <span>同步后,所有保险公司的报价限制配置都将变为该保险公司相同配置,是否确认同步</span>
+      <template slot="footer">
+        <el-button @click="syncShow = false">取消</el-button>
+        <el-button type="primary" @click="handleSubmit">确定</el-button>
+      </template>
+    </el-dialog>
+    <el-dialog
+      :visible.sync="agentTableShow"
+      width="80%"
+    >
+      <el-table
+        :data="agentDataList"
+        row-key="id"
+        style="width: 100%">
+        <el-table-column prop="code" label="部门编码"></el-table-column>
+        <el-table-column prop="organization" label="机构名称"></el-table-column>
+        <el-table-column prop="department" label="部门名称"></el-table-column>
+        <el-table-column prop="number" label="工号"></el-table-column>
+        <el-table-column prop="name" label="姓名"></el-table-column>
+        <el-table-column prop="phone" label="联系电话"></el-table-column>
+      </el-table>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import KtButton from "../../Core/KtButton.vue";
+
+export default {
+  components: {
+    KtButton
+  },
+  data() {
+    return {
+      leftTree: [
+        {
+          id: 0,
+          label: '保险1'
+        },{
+          id: 1,
+          label: '保险2'
+        },{
+          id: 2,
+          label: '保险3'
+        },{
+          id: 3,
+          label: '保险4'
+        },
+      ],
+      menuIndex: 0,
+      syncShow: false,
+      quoteForm: {
+        count: false,
+        agentLimit: '',
+        quoteLimit: []
+      },
+      quoteRules: {
+        agentLimit: [
+          {
+            required: true, message: '请选择代理人限制', trigger: 'change'
+          }
+        ],
+        quoteLimit: [
+          {
+            type: 'array',required: true, message: '请选择报价限制', triangle: 'change'
+          }
+        ]
+      },
+      agentData: [{
+        code: '',
+        organization: '',
+        department: '',
+        number: '',
+        name: '',
+        phone: ''
+      }],
+      agentTableShow: false,
+      agentDataList: [{
+        id: '1',
+        code: '',
+        organization: '',
+        department: '',
+        number: '',
+        name: '',
+        phone: ''
+      }]
+    }
+  },
+  methods: {
+    handleSelect(item, index) {
+      this.menuIndex = index
+    },
+    handleSync() {
+      this.syncShow = true
+    },
+    handleEdit() {
+
+    },
+    handleSubmit() {
+
+    },
+    selectAgent() {
+      this.agentTableShow = true
+    }
+  }
+}
+</script>
+
+<style lang="scss">
+.QuoteCountManagement{
+  width: 100%;
+  height: 100%;
+  overflow-y: auto;
+  .tips{
+    font-size: 12px;
+    color: #999;
+  }
+}
+.menu-item{
+  line-height: 38px;
+  padding: 8px 0 8px 10px;
+  color: #333333;
+  cursor: pointer;
+}
+.active{
+  background: rgba(24, 144, 255, 0.2);
+  color: #1890FF;
+  font-weight: 700;
+}
+/deep/.el-divider--horizontal{
+  margin: 12px 0;
+}
+/deep/.el-input__inner{
+  padding-left: 34px !important;
+}
+</style>

+ 136 - 0
src/views/PeopleManage/Agent/QuoteManagement.vue

@@ -0,0 +1,136 @@
+<template>
+  <div class="quoteManagement">
+    <el-row :gutter="20">
+      <el-form ref="QuoteForm" :model="quoteForm" :inline="true" label-width="130px">
+        <el-col :span="6">
+          <el-form-item label="代理人信息">
+            <el-input v-model="quoteForm.people" size="small" placeholder="请输入姓名和手机号查找"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="工号">
+            <el-input v-model="quoteForm.number" size="small" placeholder="请输入工号查找"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="保险公司">
+            <el-select v-model="quoteForm.company" size="small"></el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-button size="small">重置</el-button>
+          <el-button type="primary" size="small">查询</el-button>
+        </el-col>
+      </el-form>
+    </el-row>
+    <el-table
+      :data="quoteData"
+    >
+      <el-table-column prop="" label="部门编码"></el-table-column>
+      <el-table-column prop="" label="机构名称"></el-table-column>
+      <el-table-column prop="" label="部门名称"></el-table-column>
+      <el-table-column prop="" label="工号"></el-table-column>
+      <el-table-column prop="" label="姓名"></el-table-column>
+      <el-table-column prop="" label="联系电话"></el-table-column>
+      <el-table-column prop="" label="保险公司"></el-table-column>
+      <el-table-column prop="" label="今日报价(次)"></el-table-column>
+      <el-table-column prop="" label="今日报价后承保(单)"></el-table-column>
+      <el-table-column prop="" label="累计报价(次)"></el-table-column>
+      <el-table-column prop="" label="累计承保(单)"></el-table-column>
+      <el-table-column label="操作">
+        <template slot-scope="scope">
+          <kt-button label="增加次数" size="small" type="text" perms="agreement:input:delete"
+                     @click="addCount(scope.$index, scope.row)" style="color: #D42426 !important " />
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="flex-box">
+      <el-pagination
+        @size-change="handleSizeChange"
+        :current-page="pageNum"
+        :page-sizes="[10, 20, 30, 40]"
+        :page-size="pageSize"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="total">
+      </el-pagination>
+    </div>
+    <el-dialog
+      title="增加次数"
+      :visible.sync="dialogVisible"
+      width="30%">
+      <el-form style="width: 100%" ref="AddForm" :model="addForm" :inline="true" label-width="130px">
+        <el-form-item label="代理人" style="width: 100%">
+          <el-input style="width: 100%" v-model="addForm.agent" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="保险公司">
+          <el-input v-model="addForm.company" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="今日已报价">
+          <el-input v-model="addForm.hadQuote" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="今日已承保">
+          <el-input v-model="addForm.had" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="报价出单比">
+          <el-input v-model="addForm.assign" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="增加次数">
+          <el-input v-model="addForm.count"></el-input>
+        </el-form-item>
+        <el-form-item label="备注">
+          <el-input type="textarea" v-model="addForm.tips"></el-input>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import KtButton from "@/views/Core/KtButton";
+export default {
+  name: "index.vue",
+  components: {
+    KtButton
+  },
+  data() {
+    return {
+      quoteForm: {
+        people: '',
+        number: '',
+        company: ''
+      },
+      quoteData: [{}],
+      pageNum: 1,
+      pageSize: 10,
+      total: 0,
+      dialogVisible: false,
+      addForm: {
+
+      }
+    }
+  },
+  methods: {
+    addCount(index, row) {
+      this.dialogVisible = true
+    },
+    handleSizeChange() {
+
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+.flex-box{
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
+}
+.el-form-item__content{
+  width: 100%;
+}
+</style>

+ 12 - 1
src/views/Task/DaikeLetter.vue

@@ -17,6 +17,11 @@
                 maxlength="17"
                 type="text"
                 show-word-limit
+                @change="() => {
+                  salespersonForm.name = ''
+                  salespersonForm.mobile = ''
+                  salespersonForm.identity = ''
+                }"
               >
                 <el-button
                   slot="append"
@@ -35,6 +40,11 @@
                 v-model="salespersonForm.name"
                 type="text"
                 show-word-limit
+                @change="() => {
+                  salespersonForm.userId = ''
+                  salespersonForm.mobile = ''
+                  salespersonForm.identity = ''
+                }"
               >
                 <el-button
                   slot="append"
@@ -120,8 +130,9 @@
               <el-input v-model="salespersonForm.identity" placeholder="身份证号" clearable></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="2">
+          <el-col :span="4">
             <el-form-item>
+              <el-button size="small" @click="handelReset()">重置</el-button>
               <el-button type="primary" size="small" @click="toChooseName()">查询</el-button>
             </el-form-item>
           </el-col>

+ 1 - 1
src/views/Task/External/ExternalOrders.vue

@@ -242,4 +242,4 @@ export default {
   overflow-y: auto;
   height: 80vh;
 }
-</style>
+</style>

+ 14 - 24
src/views/Task/daikeComponents/KtLetter.vue

@@ -5351,8 +5351,10 @@ export default {
     },
     //身份证失去焦点
     identifyblur(info) {
-      this[info].age = getAgeByIdCard(this[info].identifyNumber);
+      this[info].age =typeof getAgeByIdCard(this[info].identifyNumber)=='number' ?getAgeByIdCard(this[info].identifyNumber):'';
+     
       this[info].gender = getGenderByIdCard(this[info].identifyNumber);
+   
     },
     //车主信息选择性别
     genderChange(e) {
@@ -5983,7 +5985,7 @@ export default {
           this.$message.error(res.msg)
         }
       })
-      
+
     },
     // 现询
     getInquiryNowList(agreementId, riskList, kindList) {
@@ -6124,7 +6126,7 @@ export default {
       //       this.$message.error(res.msg);
       //     }
       //   });
-      
+
       // switch (item.namesimple) {
       //   case "永诚财险":
       //     this.accidentForm.agreementId = item.agreementId;
@@ -7038,20 +7040,14 @@ export default {
               _this.$refs["policyNumberForm"].validate((valid2) => {
                 if (valid2) {
                   if (_this.tbczcarShow == true) {
-                    _this.policyHolderInfo = JSON.parse(
-                      JSON.stringify(_this.ownerInfo)
-                    );
+                    _this.policyHolderInfo = {..._this.ownerInfo}
                   }
 
                   if (_this.bbczcarShow == true) {
-                    _this.insuredPersonInfo = JSON.parse(
-                      JSON.stringify(_this.ownerInfo)
-                    );
+                    _this.insuredPersonInfo = {..._this.ownerInfo}
                   }
                   if (_this.bbtbcarShow == true) {
-                    _this.insuredPersonInfo = JSON.parse(
-                      JSON.stringify(_this.policyHolderInfo)
-                    );
+                    _this.insuredPersonInfo = {..._this.policyHolderInfo}
                   }
                   _this.carInfo.vinNo = _this.carInfo.frameNo;
                   _this.riskList = []; //险种大类
@@ -10099,7 +10095,7 @@ export default {
       //投保人同车主
       switch (this.tbczcarShow) {
         case true:
-          this.policyHolderInfo = JSON.parse(JSON.stringify(this.ownerInfo));
+          this.policyHolderInfo = {...this.ownerInfo}
           break;
         default:
           for (let key in this.policyHolderInfo) {
@@ -10114,7 +10110,7 @@ export default {
       switch (this.bbczcarShow) {
         case true:
           this.bbtbcarShow = false;
-          this.insuredPersonInfo = JSON.parse(JSON.stringify(this.ownerInfo));
+          this.insuredPersonInfo = {...this.ownerInfo}
           break;
         default:
           for (let key in this.insuredPersonInfo) {
@@ -10129,9 +10125,7 @@ export default {
       switch (this.bbtbcarShow) {
         case true:
           this.bbczcarShow = false;
-          this.insuredPersonInfo = JSON.parse(
-            JSON.stringify(this.policyHolderInfo)
-          );
+          this.insuredPersonInfo = {...this.policyHolderInfo}
           break;
         default:
           for (let key in this.insuredPersonInfo) {
@@ -10842,19 +10836,15 @@ export default {
       switch (this.userIndex) {
         case 2:
           // this.selectedOptions1 = addressCode(this.ownerInfoform.addr);
-          this.ownerInfo = JSON.parse(JSON.stringify(this.ownerInfoform));
+          this.ownerInfo = {...this.ownerInfoform}
           break;
         case 3:
           // this.selectedOptions2 = addressCode(this.ownerInfoform.addr);
-          this.policyHolderInfo = JSON.parse(
-            JSON.stringify(this.ownerInfoform)
-          );
+          this.policyHolderInfo = {...this.ownerInfoform}
           break;
         case 4:
           // this.selectedOptions3 = addressCode(this.ownerInfoform.addr);
-          this.insuredPersonInfo = JSON.parse(
-            JSON.stringify(this.ownerInfoform)
-          );
+          this.insuredPersonInfo = {...this.ownerInfoform}
           break;
       }
       this.uploaduserdialogVisible = false;

+ 52 - 67
src/views/Task/daikeComponents/KtLetter1.vue

@@ -208,19 +208,19 @@
           </el-col>
           <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
             <el-form-item label="注册日期" prop="registerDate" class="red-btn">
-              <el-date-picker v-dateFormat v-model="carInfo.registerDate" :picker-options="pickerOptions" @blur="getCompanyList"
+              <el-date-picker v-model="carInfo.registerDate" :picker-options="pickerOptions" @blur="getCompanyList"
                 value-format="yyyy-MM-dd" type="date" placeholder="选择注册日期" placement="bottom-start"></el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
             <el-form-item label="发证日期" prop="issueDate" class="red-btn" @blur="getCompanyList">
-              <el-date-picker v-dateFormat v-model="carInfo.issueDate" :picker-options="issueDateOptions" type="date"
+              <el-date-picker v-model="carInfo.issueDate" :picker-options="issueDateOptions" type="date"
                 placeholder="选择发证日期" value-format="yyyy-MM-dd" placement="bottom-start"></el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl" v-if="transferDateShow">
             <el-form-item label="转移登记日期" prop="transferDate">
-              <el-date-picker v-dateFormat v-model="carInfo.transferDate" :picker-options="pickerOptions" type="date" @blur="getCompanyList"
+              <el-date-picker v-model="carInfo.transferDate" :picker-options="pickerOptions" type="date" @blur="getCompanyList"
                 placeholder="选择日期" value-format="yyyy-MM-dd" placement="bottom-start"></el-date-picker>
             </el-form-item>
           </el-col>
@@ -284,14 +284,14 @@
           </el-col>
           <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
             <el-form-item label="有效期起期" prop="identifyValidDate">
-              <el-date-picker v-dateFormat v-model="ownerInfo.identifyValidDate" value-format="yyyy-MM-dd" @blur="getCompanyList"
+              <el-date-picker v-model="ownerInfo.identifyValidDate" value-format="yyyy-MM-dd" @blur="getCompanyList"
                 :picker-options="pickerOptions" type="date" placeholder="选择注册日期"
                 placement="bottom-start"></el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
             <el-form-item label="有效期止期" prop="identifyValidEndDate" class="red-btn">
-              <el-date-picker v-dateFormat v-model="ownerInfo.identifyValidEndDate" type="date" value-format="yyyy-MM-dd" @blur="getCompanyList"
+              <el-date-picker v-model="ownerInfo.identifyValidEndDate" type="date" value-format="yyyy-MM-dd" @blur="getCompanyList"
                 placeholder="选择有效期" placement="bottom-start" style="width: calc(100% - 40px)"></el-date-picker>
               <div class="insure-long-term" @click="insureLongterm('ownerInfo')">
                 长期
@@ -381,13 +381,13 @@
           </el-col>
           <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
             <el-form-item label="有效期起期" prop="identifyValidDate">
-              <el-date-picker v-dateFormat v-model="policyHolderInfo.identifyValidDate" value-format="yyyy-MM-dd" @blur="getCompanyList"
+              <el-date-picker v-model="policyHolderInfo.identifyValidDate" value-format="yyyy-MM-dd" @blur="getCompanyList"
                 :picker-options="pickerOptions" type="date" placeholder="选择有效期" placement="bottom-start"></el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
             <el-form-item label="有效期止期" prop="identifyValidEndDate">
-              <el-date-picker v-dateFormat v-model="policyHolderInfo.identifyValidEndDate" type="date" @blur="getCompanyList"
+              <el-date-picker v-model="policyHolderInfo.identifyValidEndDate" type="date" @blur="getCompanyList"
                 value-format="yyyy-MM-dd" placeholder="选择有效期" placement="bottom-start"
                 style="width: calc(100% - 40px)"></el-date-picker>
               <div class="insure-long-term" @click="insureLongterm('policyHolderInfo')">
@@ -487,13 +487,13 @@
           </el-col>
           <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
             <el-form-item label="有效期起期" prop="identifyValidDate">
-              <el-date-picker v-dateFormat v-model="insuredPersonInfo.identifyValidDate" value-format="yyyy-MM-dd" @blur="getCompanyList"
+              <el-date-picker v-model="insuredPersonInfo.identifyValidDate" value-format="yyyy-MM-dd" @blur="getCompanyList"
                 :picker-options="pickerOptions" type="date" placeholder="选择有效期" placement="bottom-start"></el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
             <el-form-item label="有效期止期" prop="identifyValidEndDate">
-              <el-date-picker v-dateFormat v-model="insuredPersonInfo.identifyValidEndDate" type="date" @blur="getCompanyList"
+              <el-date-picker v-model="insuredPersonInfo.identifyValidEndDate" type="date" @blur="getCompanyList"
                 value-format="yyyy-MM-dd" placeholder="选择有效期" placement="bottom-start"
                 style="width: calc(100% - 40px)"></el-date-picker>
               <div class="insure-long-term" @click="insureLongterm('insuredPersonInfo')">
@@ -586,7 +586,7 @@
           </el-col>
           <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 4" :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
             <el-form-item label="完税凭证填发日期:" prop="taxDocumentDate">
-              <el-date-picker v-dateFormat v-model="vehicleAndVesselTaxForm.taxDocumentDate" value-format="yyyy-MM-dd"
+              <el-date-picker v-model="vehicleAndVesselTaxForm.taxDocumentDate" value-format="yyyy-MM-dd"
                 type="date" placeholder="完税凭证填发日期" placement="bottom-start"></el-date-picker>
             </el-form-item>
           </el-col>
@@ -675,11 +675,11 @@
               ></el-checkbox>
             <div class="flex f-c a-c">
               <el-form-item label="交强险起保日期" prop="identifyNumber" class="red-btn">
-                <el-date-picker v-dateFormat value-format="yyyy-MM-dd HH:mm:ss" v-model="jqstartDate" @change="jqChange"
+                <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="jqstartDate" @change="jqChange"
                   type="datetime" placeholder="选择日期时间" placement="bottom-start"></el-date-picker>
               </el-form-item>
               <el-form-item label="交强险终保日期" prop="identifyNumber" class="red-btn">
-                <el-date-picker v-dateFormat value-format="yyyy-MM-dd HH:mm:ss" v-model="jqendDate" type="datetime"
+                <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="jqendDate" type="datetime"
                   placeholder="选择日期时间" placement="bottom-start"></el-date-picker>
               </el-form-item>
             </div>
@@ -693,11 +693,11 @@
               @change="sycheckedChange"></el-checkbox>
             <div class="flex f-c a-c">
               <el-form-item label="商业险起保日期" prop="name" class="red-btn">
-                <el-date-picker v-dateFormat value-format="yyyy-MM-dd HH:mm:ss" v-model="systartDate" @change="syChange"
+                <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="systartDate" @change="syChange"
                   type="datetime" placeholder="选择日期时间" placement="bottom-start"></el-date-picker>
               </el-form-item>
               <el-form-item label="商业险终保日期" prop="name" class="red-btn">
-                <el-date-picker v-dateFormat value-format="yyyy-MM-dd HH:mm:ss" v-model="syendDate" type="datetime"
+                <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="syendDate" type="datetime"
                   placeholder="选择日期时间" placement="bottom-start"></el-date-picker>
               </el-form-item>
             </div>
@@ -5691,6 +5691,25 @@ export default {
       },
       deep: true,
     },
+    ownerInfo: {
+      handler(val) {
+        if(this.tbczcarShow) {
+          this.policyHolderInfo = {...val}
+        }
+        if(this.bbczcarShow) {
+          this.insuredPersonInfo = {...val}
+        }
+      },
+      deep: true
+    },
+    policyHolderInfo: {
+      handler(val) {
+        if(this.bbtbcarShow) {
+          this.insuredPersonInfo = {...val}
+        }
+      },
+      deep: true
+    }
   },
   props: {
     isdisabled: {
@@ -5847,7 +5866,6 @@ export default {
         return;
       }
       this.policyHolderInfovalidate()
-      console.log(this.policyHolderInfo, 'policyHolderInfo')
       this.$refs["carInfo"].validate((valid) => {
         if (valid) {
           _this.$refs["ownerInfo"].validate(async (valid1) => {
@@ -5879,7 +5897,6 @@ export default {
               } else {
                 this.oldData = JSON.stringify(param)
               }
-              console.log('校验成功,获取列表')
               this.showLoading = true
               // this.$api.letter.getAllAgreement().then((res) => {
               this.$api.letter.ruleFilterCompany(param).then((res) => {
@@ -6001,9 +6018,7 @@ export default {
     },
     // 选择方案
     checkedPopover(reslistindex, index, item) {
-      console.log(reslistindex, index, item, 'reslistindex, index, item')
       if (index == 99) {
-        console.log(this.totalCompanyList[reslistindex].programme99,this.totalCompanyList[reslistindex].programme99.schemeId, 'this.totalCompanyList[reslistindex].programme99')
         if (this.totalCompanyList[reslistindex].programme99 && !this.totalCompanyList[reslistindex].programme99.schemeId) {
           return
         }
@@ -6032,7 +6047,6 @@ export default {
             this.totalCompanyList[reslistindex].programme.description = val.desc
           }
         })
-      console.log('当前选中方案', this.totalCompanyList[reslistindex].programme)
       this.$forceUpdate()
     },
     // 获取方案信息
@@ -6082,7 +6096,6 @@ export default {
     // 确认驾意
     handleAddYiWai() {
       let arr = []
-      console.log(this.checkList,"驾意险")
       this.checkList.forEach((val) => {
         if (this.totalCompanyList[this.typeDialogIndex].cnName == 'zijin') {
           if(val.tableData ) arr.push(...val.tableData)
@@ -6095,7 +6108,6 @@ export default {
       })
       this.totalCompanyList[this.typeDialogIndex].zxProgramme.drivingList = arr;
       this.totalCompanyList[this.typeDialogIndex].programme.drivingList = arr
-      console.log(arr, 'arr')
       this.handleCloseAddYiwai()
     },
     // 驾意输入框按钮
@@ -6169,7 +6181,6 @@ export default {
       }
     },
     handleChangeJiayi(listItem, listIndex) {
-      console.log(listItem, listIndex, this.jiayiDialogData, 'listItem, listIndex')
       if (this.checkList.length) {
         this.checkList.forEach((val) => {
           this.$api.letter.getDriving({
@@ -6742,7 +6753,8 @@ export default {
     },
     //身份证失去焦点
     identifyblur(info) {
-      this[info].age = getAgeByIdCard(this[info].identifyNumber);
+      // console.log(getAgeByIdCard(this[info].identifyNumber))
+      this[info].age =typeof getAgeByIdCard(this[info].identifyNumber)=='number' ?getAgeByIdCard(this[info].identifyNumber):'';
       this[info].gender = getGenderByIdCard(this[info].identifyNumber);
     },
     //车主信息选择性别
@@ -7714,8 +7726,6 @@ export default {
         companyId: this.totalCompanyList[index].id,
         quoteInfoVo: data
       }).then((res) => {
-        console.log('11111111.');
-      console.log(res);
         this.contributingLoading = false;
         if (res.data) {
           // res.data.forEach((val) => {
@@ -7829,12 +7839,10 @@ export default {
     //勾选保险公司
     initchange(e, code, name, index) {
       if (e) {
-        console.log(this.totalCompanyList[index], 'this.totalCompanyList[index]')
         this.totalCompanyList[index].checked = e;
         this.getCompanyProgramme(e, code, name, index)
         this.kindListFun();
         let ins = this.totalCompanyList[index].namesimple;
-        console.log(ins)
         this.totalCompanyList[index].underwritingDescription =
           this.totalCompanyList[index].agreement[0].underwritingDescription;
         if (this.$route.path != "/task/external/externalOrders")
@@ -8443,7 +8451,6 @@ export default {
           vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
         };
         this.$api.letter.generateOrder(param).then((res) => {
-          debugger
           if (res.code == "200") {
             //上传图片
             const mergedArray = [
@@ -8502,7 +8509,7 @@ export default {
       // tbczcarShow 同车主
       if (_this.tbczcarShow == true) {
         // 投保人信息 policyHolderInfo
-        _this.policyHolderInfo = JSON.parse(JSON.stringify(_this.ownerInfo));
+        _this.policyHolderInfo = {..._this.ownerInfo}
       } else {
         _this.$refs["policyHolderInfo"].validate((valid2) => {
           if (valid2) {
@@ -8521,7 +8528,6 @@ export default {
         this.myQrCode.clear()
       }
       this.$nextTick(() => {
-        console.log('二维码', this.myQrCode)
         this.myQrCode = new QrCode(this.$refs.myQrcode, {
           // text 需要转二维码的内容 可以是文本也可以是一个链接 是链接会直接跳走
           text: this.vehicleInspectionUrl,
@@ -8548,21 +8554,15 @@ export default {
           var _this = this;
           // this.policyHolderInfovalidate()
           if (_this.tbczcarShow == true) {
-            _this.policyHolderInfo = JSON.parse(
-              JSON.stringify(_this.ownerInfo)
-            );
+            _this.policyHolderInfo = {..._this.ownerInfo}
           }
           _this.$refs["ownerInfo"].validate((valid1) => {
             if (valid1) {
               if (_this.bbczcarShow == true) {
-                _this.insuredPersonInfo = JSON.parse(
-                  JSON.stringify(_this.ownerInfo)
-                );
+                _this.insuredPersonInfo = {..._this.ownerInfo}
               }
               if (_this.bbtbcarShow == true) {
-                _this.insuredPersonInfo = JSON.parse(
-                  JSON.stringify(_this.policyHolderInfo)
-                );
+                _this.insuredPersonInfo = {..._this.policyHolderInfo}
               }
               _this.carInfo.vinNo = _this.carInfo.frameNo;
               _this.riskList = []; //险种大类
@@ -8594,9 +8594,7 @@ export default {
                       kindName: value.kindName
                     })
                   })
-                console.log(_this.totalCompanyList[index].kindList, '_this.totalCompanyList[index].kindList')
                 if (_this.jqchecked) {
-                  console.log('这里是什么啊?')
                   //交强
                   _this.jqstartDate = this.transformTime(_this.jqstartDate);
                   _this.jqendDate = this.transformTime(_this.jqendDate);
@@ -8610,7 +8608,6 @@ export default {
                   });
                 }
                 if (_this.sychecked) {
-                  console.log('这里又是什么呀?')
                   _this.systartDate = this.transformTime(_this.systartDate);
                   _this.syendDate = this.transformTime(_this.syendDate);
                   //商业
@@ -8706,6 +8703,7 @@ export default {
       });
     },
     quote1() {
+      console.log('最后的信息')
       let starttime = new Date(this.carInfo.registerDate);
       let endtime = new Date(this.carInfo.issueDate);
       if (endtime < starttime) {
@@ -8719,21 +8717,15 @@ export default {
         if (valid) {
           // this.policyHolderInfovalidate()
           if (_this.tbczcarShow == true) {
-            _this.policyHolderInfo = JSON.parse(
-              JSON.stringify(_this.ownerInfo)
-            );
+            _this.policyHolderInfo = {..._this.ownerInfo}
           }
           _this.$refs["ownerInfo"].validate((valid1) => {
             if (valid1) {
               if (_this.bbczcarShow == true) {
-                _this.insuredPersonInfo = JSON.parse(
-                  JSON.stringify(_this.ownerInfo)
-                );
+                _this.insuredPersonInfo = {..._this.ownerInfo}
               }
               if (_this.bbtbcarShow == true) {
-                _this.insuredPersonInfo = JSON.parse(
-                  JSON.stringify(_this.policyHolderInfo)
-                );
+                _this.insuredPersonInfo = {..._this.policyHolderInfo}
               }
               _this.carInfo.vinNo = _this.carInfo.frameNo;
               _this.riskList = []; //险种大类
@@ -8959,7 +8951,6 @@ export default {
     },
     //订单生成前数据处理事件
     OrderStageProcessing(index) {
-      console.log('订单生成前数据处理')
       if (this.tbczcarShow && this.imageList2.length > 0) {
         //投保人同车主
         this.imageList3 = JSON.parse(JSON.stringify(this.imageList2));
@@ -9069,7 +9060,9 @@ export default {
         vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
         productId: this.productId
       };
-      console.log('this.apiInterfaceName', this.apiInterfaceName)
+      console.log('车主信息', this.ownerInfo)
+      console.log('投保人信息', this.policyHolderInfo)
+      console.log('被投保人信息', this.insuredPersonInfo)
       this.$api.letter[this.apiInterfaceName](param).then((res) => {
         if (res.code == "200") {
           //上传图片
@@ -9096,7 +9089,6 @@ export default {
           this.orderno = res.data.orderno;
           if (index >= 0) {
             this.totalCompanyList[index].quoteCode = 1
-            console.log('方法是干啥的', this.totalCompanyList[index].cnName)
             this.ToolClickFun(this.totalCompanyList[index].cnName, index, this.totalCompanyList[index].id, this.totalCompanyList[index].namesimple);
           } else {
             this.totalCompanyList.map((ele, index) => {
@@ -10148,7 +10140,6 @@ export default {
 
     // 爬虫对接
     quoteInsurance(num, id, namesimple, apiType) {
-      console.log(apiType, 'apiType')
       let api = apiType == 2 ? "pythonquote" : "";
       if (namesimple ==  '诚泰财险') {
         api = "pythonquote"
@@ -11347,7 +11338,6 @@ export default {
                   this.apiType == 2
                     ? "pythonsubmitImage"
                     : "anshengsubmitImage";
-                console.log(hengbangapi, "hengbangapi");
                 await this.$api.letter[hengbangapi]({
                   subOrderNo: this.companyId,
                 }).then((res) => {
@@ -11356,7 +11346,6 @@ export default {
                     let hengbangapi1 = "";
                     hengbangapi1 =
                       this.apiType == 2 ? "pythonaudit" : "anshengaudit";
-                    console.log(hengbangapi1, "hengbangapi1");
                     _this.$api.letter[hengbangapi1]({
                       subOrderNo: this.companyId,
                     }).then((res) => {
@@ -11751,7 +11740,7 @@ export default {
       //投保人同车主
       switch (this.tbczcarShow) {
         case true:
-          this.policyHolderInfo = JSON.parse(JSON.stringify(this.ownerInfo));
+          this.policyHolderInfo = {...this.ownerInfo}
           break;
         default:
           for (let key in this.policyHolderInfo) {
@@ -11769,7 +11758,7 @@ export default {
       }
       //被保人同车主
       if (this.bbczcarShow && !this.bbtbcarShow) {
-        this.insuredPersonInfo = JSON.parse(JSON.stringify(this.ownerInfo));
+        this.insuredPersonInfo = {...this.ownerInfo}
         this.bbtbcarShow = false
       }
       // if (!this.bbczcarShow && !this.bbtbcarShow) {
@@ -11803,7 +11792,7 @@ export default {
         this.bbczcarShow = false
       }
       if (this.bbtbcarShow && !this.bbczcarShow) {
-          this.insuredPersonInfo = JSON.parse(JSON.stringify(this.policyHolderInfo));
+          this.insuredPersonInfo = {...this.policyHolderInfo}
           this.bbczcarShow = false
       }
       this.$forceUpdate()
@@ -12570,19 +12559,15 @@ export default {
       switch (this.userIndex) {
         case 2:
           // this.selectedOptions1 = addressCode(this.ownerInfoform.addr);
-          this.ownerInfo = JSON.parse(JSON.stringify(this.ownerInfoform));
+          this.ownerInfo = {...this.ownerInfoform}
           break;
         case 3:
           // this.selectedOptions2 = addressCode(this.ownerInfoform.addr);
-          this.policyHolderInfo = JSON.parse(
-            JSON.stringify(this.ownerInfoform)
-          );
+          this.policyHolderInfo = {...this.ownerInfoform}
           break;
         case 4:
           // this.selectedOptions3 = addressCode(this.ownerInfoform.addr);
-          this.insuredPersonInfo = JSON.parse(
-            JSON.stringify(this.ownerInfoform)
-          );
+          this.insuredPersonInfo = {...this.ownerInfoform}
           break;
       }
       this.uploaduserdialogVisible = false;