Explorar o código

Merge branch 'dev' of http://www.baoxianzhanggui.com:8090/sxzgd/vue-insagent-pc into dev

lihongxiao %!s(int64=2) %!d(string=hai) anos
pai
achega
e2ae7b7bd9
Modificáronse 1 ficheiros con 121 adicións e 25 borrados
  1. 121 25
      src/views/Task/daikeComponents/KtLetter1.vue

+ 121 - 25
src/views/Task/daikeComponents/KtLetter1.vue

@@ -766,7 +766,7 @@
         </div>
          -->
         <div class="coll">
-          <div v-loading.fullscreen.lock="loading" class="hovers" :class="reslistitem.checked ? 'border-red' : 'border-blue'" v-for="(reslistitem, reslistindex) in totalCompanyList"
+          <div v-loading="showLoading" class="hovers" :class="reslistitem.checked ? 'border-red' : 'border-blue'" v-for="(reslistitem, reslistindex) in totalCompanyList"
             :key="reslistindex">
             <el-row v-show="reslistitem.checked || reslistindex == 0" class="companyhead" style="margin-bottom: 20px;">
               <el-col :span="1">
@@ -1046,7 +1046,7 @@
                           <div class="w-60">份数</div>
                           <div class="w-60">保费</div>
                         </div>
-                        <div class="table-list-content" v-for="(driving, drivingIndex) in reslistitem.programme.drivingList" :key="drivingIndex">
+                        <div class="table-list-content" v-for="(driving, drivingIndex) in reslistitem.programme.drivingList" :key="drivingIndex" @click="showDetailJiaYi(reslistitem, reslistindex, 'jiayi')">
                           <div class="flex-1">
                             <img src="@/icon/icon-chengse.png">
                             <span>
@@ -2397,6 +2397,7 @@
             </template>
           </el-table-column>
           <el-table-column prop="licenseno" label="车牌号" align="center"></el-table-column>
+          <el-table-column prop="product" label="险种" align="center"></el-table-column>
           <el-table-column prop="createtime" label="报价时间" align="center"></el-table-column>
           <el-table-column prop="jqpremium" label="交强险" align="center"></el-table-column>
           <el-table-column prop="sypremium" label="商业险" align="center"></el-table-column>
@@ -3609,12 +3610,23 @@
                   <el-row style="margin-bottom: 20px;">
                     <el-col :span="10">
                       {{ item.typeName }}
-                      <el-select v-if="item.detail" v-model="item.selectList" clearable multiple @change="handleChangeSelect(index)" size="small" placeholder="请选择">
+                      <el-select v-if="item.detail" style="width: 300px;" v-model="item.selectList" clearable multiple @change="handleChangeSelect(index)" size="small" placeholder="请选择">
                         <el-option v-for="(i, ind) in item.detail" :key="ind" :label="i.alias" :value="i.alias">
                         </el-option>
                       </el-select>
                     </el-col>
                   </el-row>
+                  <div v-for="(dataItem, dataIndex) in item.tableData" :key="dataIndex">
+                    <el-col :span="6">
+                      份数
+                      <el-input v-model="dataItem.quantity" style="width: 120px;" size="small">
+                        <template slot="prepend"><i class="el-icon-minus" @click="numberChange(listIndex, index, 'minus',dataItem.minQuantity, dataIndex)"></i></template>
+                        <template slot="append"><i class="el-icon-plus" @click="numberChange(listIndex, index, 'plus',dataItem.minQuantity, dataIndex)"></i></template>
+                      </el-input>
+                      份
+                    </el-col>
+                    <el-col v-if="item.tableData" :span="4" class="flex a-c">保费:{{ Number(dataItem.sumPremium) * dataItem.quantity }}元</el-col>
+                  </div>
                   <el-table v-if="item.tableData && item.tableData.length" :data="item.tableData" border style="width: 100%; margin-top: 20px;" stripe
                     header-cell-class-name="table-header">
                     <el-table-column prop="name" label="保险责任" align="center">
@@ -3868,17 +3880,17 @@
       </span>
     </el-dialog>
 
-    <!-- 驾意险详情 -->
-    <el-dialog title="已选险种" :visible.sync="showDetailJiaYiVisible" width="60%" top="5vh"
+    <!-- 详情 -->
+    <el-dialog :title="detailJiaYiTitle" :visible.sync="showDetailJiaYiVisible" width="60%" top="5vh"
     :before-close="handleCloseShowDetailJiaYi">
-      <div class="typedialog-style addyiwai typedialog-style1" v-if="productId != '034001' && productId != '034002'">
+      <div class="typedialog-style addyiwai typedialog-style1" v-if="productId != '034001' && productId != '034002' && detailJiaYiTitle == '查看详情'">
         <div class="typedialog-title"><i class="el-icon-circle-check" style="color: #D42426; font-size: 20px; margin-right: 10px;"></i>交通事故强制责任险:</div>
         <el-table :data="typeJqTable" border style="width: 100%" stripe header-cell-class-name="table-header">
           <el-table-column prop="date" label="保障范围" align="center"></el-table-column>
           <el-table-column prop="date1" label="保额(元)" align="center"></el-table-column>
         </el-table>
       </div>
-      <div class="typedialog-style typedialog-style2" v-if="productId != '0330'">
+      <div class="typedialog-style typedialog-style2" v-if="productId != '0330' && detailJiaYiTitle == '查看详情'">
         <div class="typedialog-title"><i class="el-icon-circle-check" style="color: #D42426; font-size: 20px; margin-right: 10px;"></i>商业险详情:</div>
         <div class="a-c back">
           <el-row style="background: #F7F7F9;">
@@ -3922,8 +3934,8 @@
           <el-table-column prop="premium" label="保费(元)" align="center"></el-table-column>
         </el-table>
         <div v-if="showDetailtable && !showDetailtable.length">暂无</div>
-        <div class="typedialog-title">已选份数:</div>
-        <div class="jiayi-style">
+        <div class="typedialog-title" v-if="detailJiaYiTitle == '查看详情'">已选份数:</div>
+        <div class="jiayi-style" v-if="detailJiaYiTitle == '查看详情'">
           <el-row v-for="(item, index) in typeDialogData.drivingList" :key="index">
             <el-col :span="10">
               <div class="jiayi-style-title">产品名称</div>
@@ -3955,6 +3967,28 @@
       </span>
     </el-dialog>
 
+    <!-- 驾意险详情 -->
+    <el-dialog :title="detailJiaYiTitle" :visible.sync="showDetailJiaYiVisible1" width="60%" top="5vh" v-dialogDrag
+    :before-close="handleCloseShowDetailJiaYi">
+      <div class="typedialog-style typedialog-style3" v-if="showDetailtable && showDetailtable.length">
+        <div class="typedialog-title" style="display: flex; justify-content: space-between;">
+          <div><i class="el-icon-circle-check" style="color: #D42426; font-size: 20px; margin-right: 10px;"></i>驾意险详情:</div>
+          <div class="typedialog-title">( 驾驶人意外单份保额 )如下</div>
+        </div>
+        <el-table v-for="(item, index) in showDetailtable" :key="index" :data="item" border style="width: 100%" stripe
+          header-cell-class-name="table-header">
+          <el-table-column prop="name" label="保险责任名称" align="center"></el-table-column>
+          <el-table-column prop="amount" label="保额(元)" align="center"></el-table-column>
+          <el-table-column prop="premium" label="保费(元)" align="center"></el-table-column>
+        </el-table>
+        <div v-if="showDetailtable && !showDetailtable.length">暂无</div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <!-- <el-button size="small" @click="handleCloseShowDetailJiaYi">取 消</el-button> -->
+        <el-button size="small" type="primary" @click="handleCloseShowDetailJiaYi">确 定</el-button>
+      </span>
+    </el-dialog>
+
     <!-- 选择特约 showTeYueVisible -->
     <el-dialog title="选择特约" :visible.sync="showTeYueVisible" width="40%" top="5vh"
     :before-close="handleCloseTeYue" class="teYuedialog-style">
@@ -3984,6 +4018,10 @@
         <el-button size="small" type="primary" @click="showTeYueVisible = false">确 定</el-button>
       </span>
     </el-dialog>
+
+    <floatingBar />
+
+
   </div>
 </template>
 <script>
@@ -3991,6 +4029,7 @@ let _self;
 import QRCode from "qrcodejs2";
 import Cookies from "js-cookie";
 import CommonUtil from "@/utils/comutil.js";
+import floatingBar from '@/components/customerService/floatingBar.vue'; 
 import {
   getAgeByIdCard,
   searchkey,
@@ -4062,6 +4101,7 @@ export default {
       // 驾意险详情
       jiayiDialogData: {},
       showDetailJiaYiVisible: false,
+      showDetailJiaYiVisible1: false,
       showDetailtable: [],
       // 添加驾意险
       checkList: [],
@@ -5508,6 +5548,8 @@ export default {
       imageList4: [],
       imageList5: [],
       imageList6: [],
+      showLoading: false,
+      detailJiaYiTitle: '查看详情'
     };
   },
   watch: {
@@ -5608,6 +5650,7 @@ export default {
     quotationDialogPro,
     imageDialog,
     Ktletter1Popover,
+    floatingBar,
     "el-image-viewer": () =>
       import("element-ui/packages/image/src/image-viewer"),
   },
@@ -5659,7 +5702,10 @@ export default {
     // this.paramsEdit = this.$route.query.data; //接收参数
     // this.obtainProtocol(this.$route.query.data);
     this.getProductId()   // 获取险别
-    this.editingWay(this.$route.query.data)
+    // this.editingWay(this.$route.query.data)
+    if (this.$route.query.data) {
+      this.editingWay(this.$route.query.data)
+    }
   },
   mounted() {
     this.getCompanyList(this.$route.query.data)
@@ -5778,6 +5824,7 @@ export default {
               let res = {};
               // res = await this.$api.letter.getAllAgreement();
               // this.$api.letter.getAllAgreement().then((res) => {
+              this.showLoading = true
               this.$api.letter.ruleFilterCompany({
                 productId: this.productId,
                 carInfo: this.carInfo,
@@ -5799,7 +5846,7 @@ export default {
                     ele.coefficient = "";
                     ele.underwritingDescription =
                       ele.agreement[0].underwritingDescription;
-                    if (ele.isTaxSource && ele.isTaxSource == "1") {
+                    if (ele.isTaxSource && ele.isTaxSource == "1" && ele.agreement) {
                       ele.agreement.forEach((val) => {
                         if (val.isTaxSource && val.isTaxSource == "1") {
                           ele.agreementId = val.id;
@@ -5810,8 +5857,11 @@ export default {
                   });
 
                   if (data) {
-                    this.productId =  data.productid
+                    this.productId = this.productId || data.productid
                     res.data.forEach((val, index) => {
+                      if(!data.insAreaCompanyEditingDtos) {
+                        return
+                      }
                       data.insAreaCompanyEditingDtos.forEach((ele) => {
                         if (val.namesimple == ele.inscompany) {
                           if (ele.inscompany == "中国人寿" && ele.companyId) {
@@ -5854,7 +5904,7 @@ export default {
                 });
                 }
                 this.totalCompanyList = res.data;
-
+                this.showLoading = false
               })
             } else {
               document.getElementById("CheZhu").scrollIntoView();
@@ -5969,6 +6019,7 @@ export default {
     // 驾意险详情
     handleCloseShowDetailJiaYi() {
       this.showDetailJiaYiVisible = false
+      this.showDetailJiaYiVisible1 = false
       this.showDetailtable = []
       this.typeDialogData = {}
     },
@@ -5992,14 +6043,26 @@ export default {
       this.handleCloseAddYiwai()
     },
     // 驾意输入框按钮
-    numberChange(listIndex, index, type,minquantity) {
-      if (type == 'plus') {
-        if (this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData.quantity < 10) {
-          this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData.quantity += 1
+    numberChange(listIndex, index, type,minquantity, dataIndex) {
+      if (dataIndex >= 0) {
+        if (type == 'plus') {
+          if (this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData[dataIndex].quantity < 10) {
+            this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData[dataIndex].quantity += 1
+          }
+        } else {
+          if (this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData[dataIndex].quantity > minquantity) {
+            this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData[dataIndex].quantity -= 1
+          }
         }
       } else {
-        if (this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData.quantity > minquantity) {
-          this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData.quantity -= 1
+        if (type == 'plus') {
+          if (this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData.quantity < 10) {
+            this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData.quantity += 1
+          }
+        } else {
+          if (this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData.quantity > minquantity) {
+            this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData.quantity -= 1
+          }
         }
       }
       this.$forceUpdate()
@@ -6062,9 +6125,8 @@ export default {
           })
         })
       }
-
     },
-    showDetailJiaYi(item, index) {
+    showDetailJiaYi(item, index, type) {
       this.showDetailtable = []
       item.programme.drivingList.forEach((val) => {
         this.$api.letter.getDrivingSon({
@@ -6076,7 +6138,13 @@ export default {
           }
         })
       })
-      this.showDetailJiaYiVisible = true
+      if (type) {
+        this.detailJiaYiTitle = '驾意险详情'
+        this.showDetailJiaYiVisible1 = true
+      } else {
+        this.detailJiaYiTitle = '查看详情'
+        this.showDetailJiaYiVisible = true
+      }
       this.typeDialogData = item.programme
       this.typeDialogData.shangyeList = [...item.programme.kinds.main,
         ...item.programme.kinds.additional,
@@ -6174,7 +6242,6 @@ export default {
         _this.bbczcarShow = insureinfo.owner;
         _this.kindList = paramsEdit.king;
         _this.bbtbcarShow = insureinfo.insuranceHolder;
-        _this.obtainProtocol(paramsEdit);
         _this.ownerInfo.age = getAgeByIdCard(_this.ownerInfo.identifyNumber);
         _this.policyHolderInfo.age = getAgeByIdCard(
           _this.policyHolderInfo.identifyNumber
@@ -6257,6 +6324,8 @@ export default {
         // this.commpanyList()
         //--显示影像按钮--
         _this.imageUploadShow = true;
+        this.$forceUpdate()
+        _this.obtainProtocol(paramsEdit);
       } else {
         this.jqstartDate = this.transformTime1();
         this.jqendDate = this.oneYearPast1(this.jqstartDate);
@@ -7094,8 +7163,9 @@ export default {
       // res = await this.$api.letter.getAllAgreement();
       }
       if (this.isLetter == "2") {
-        this.getCompanyList(data)
-
+        setTimeout(() => {
+          this.getCompanyList(data)
+        }, 500);
       }
     },
     //获取保险公司列表
@@ -11751,6 +11821,10 @@ export default {
       });
     },
     CarOCRdiscern() {
+      if (!this.CarFrontFile || !this.CarBackFile) {
+        this.$message.warning('请上传行驶证主页和副页')
+        return
+      }
       //car识别
       const loading = this.$loading({
         lock: true,
@@ -11828,6 +11902,15 @@ export default {
       if (this.timeformat(this.carform.issueDate) != "NaN-NaN-NaN") {
         this.carInfo.issueDate = this.carform.issueDate; //车牌号
       }
+
+      if (this.carform.registerDate.length < 10) {
+        this.$message.warning('检查注册日期')
+        return
+      }
+      if (this.carform.issueDate.length < 10) {
+        this.$message.warning('检查发证日期')
+        return
+      }
       this.uploadcardialogVisible = false;
     },
     handleRemove(e) {
@@ -11878,18 +11961,30 @@ export default {
       //OCR识别
       switch (this.userIndex) {
         case 2:
+          // if (!this.C02File || !this.D02File) {
+          //   this.$message.warning('请上传照片')
+          //   return
+          // }
           const params1 = new FormData(); // 声明formData数据类型
           params1.append("image1", this.C02File);
           params1.append("image2", this.D02File);
           this.userOCRjoggle(params1);
           break;
         case 3:
+          // if (!this.C03File || !this.D03File) {
+          //   this.$message.warning('请上传照片')
+          //   return
+          // }
           const params2 = new FormData(); // 声明formData数据类型
           params2.append("image1", this.C03File);
           params2.append("image2", this.D03File);
           this.userOCRjoggle(params2);
           break;
         case 4:
+          // if (!this.C04File || !this.D04File) {
+          //   this.$message.warning('请上传照片')
+          //   return
+          // }
           const params3 = new FormData(); // 声明formData数据类型
           params3.append("image1", this.C04File);
           params3.append("image2", this.D04File);
@@ -13573,6 +13668,7 @@ export default {
 }
 .loader {
   /* Wave text loader made by: csozi | Website: english.csozi.hu*/
+  height: 30px;
   .text {
     margin: 0;
     line-height: 24px;